mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-04-02 01:52:10 +09:00
Merge branch 'develop'
This commit is contained in:
commit
3b3f3bed4f
852 changed files with 66236 additions and 5617 deletions
5
.gitignore
vendored
5
.gitignore
vendored
|
|
@ -8,12 +8,13 @@ config.user.inc.php
|
|||
codeception.yml
|
||||
/tests/_output/
|
||||
/tests/*.suite.yml
|
||||
/tests/_support/InstallTester.php
|
||||
/tests/_support/UnitTester.php
|
||||
/tests/_support/_generated/
|
||||
|
||||
/node_modules/
|
||||
/bower_components/
|
||||
/vendor/
|
||||
composer.phar
|
||||
composer.lock
|
||||
|
||||
.idea
|
||||
*.sublime-workspace
|
||||
|
|
|
|||
24
.travis.yml
24
.travis.yml
|
|
@ -4,28 +4,26 @@ php:
|
|||
- 5.4
|
||||
- 5.5
|
||||
- 5.6
|
||||
- 7
|
||||
- 7.0
|
||||
- hhvm
|
||||
matrix:
|
||||
allow_failures:
|
||||
- php: 7
|
||||
- php: hhvm
|
||||
fast_finish: true
|
||||
sudo: false
|
||||
before_script:
|
||||
- travis_retry composer self-update
|
||||
- npm install -g grunt-cli
|
||||
- npm install
|
||||
- if [ $(phpenv version-name) != "5.3" ]; then composer install; fi
|
||||
- if [ $(phpenv version-name) != "5.3" ]; then mysql -e 'create database xe_test;'; fi
|
||||
- if [ $(phpenv version-name) != "5.3" ]; then echo "USE mysql;\nUPDATE user SET password=PASSWORD('travis')
|
||||
WHERE user='travis';\nFLUSH PRIVILEGES;\n" | mysql -u root; fi
|
||||
- if [ $(phpenv version-name) != "5.3" ]; then php -S localhost:8000 & fi
|
||||
- mysql -e "CREATE DATABASE xe_test;"
|
||||
- echo "USE mysql;\nUPDATE user SET password=PASSWORD('travis') WHERE user='travis';\nFLUSH PRIVILEGES;\n" | mysql -u root
|
||||
- php -S localhost:8000 &
|
||||
- if [ $(phpenv version-name) == "5.3" ]; then touch codecept.phar; fi
|
||||
- if [ $(phpenv version-name) == "5.4" ]; then wget http://codeception.com/releases/2.0.16/codecept.phar; fi
|
||||
- if [ ! -f codecept.phar ]; then wget http://codeception.com/codecept.phar; fi
|
||||
script:
|
||||
- grunt lint
|
||||
- grunt minify
|
||||
- if [ $(phpenv version-name) != "5.3" ]; then ./vendor/bin/codecept build; fi
|
||||
- if [ $(phpenv version-name) != "5.3" ]; then ./vendor/bin/codecept run -d --fail-fast --env travis; fi
|
||||
- if [ -f codecept.phar ]; then php codecept.phar build; fi
|
||||
- if [ -f codecept.phar ]; then php codecept.phar run -d --fail-fast --env travis; fi
|
||||
notifications:
|
||||
slack:
|
||||
secure: jpoMjtkveVuPZM4JXJETAPv8QUCtTbI/ZTixdS9HUgxSb9tD2DkoekMaRzXYnXA82Les/gGxTC0fQFcFrls6Ypkbvp1udBPggmAdLiBHubBIz+yd1BGIf/l4I6MY1QmGe1Lx4xlnVlEgLnKXHn+W+ENep4/MzpCEaR9Vw8wfGqY=
|
||||
secure: "gPv4qFmGcXimNlI/OeVk5n4VtRCWbAe7VUtw7Inb3A/ZZaVDo11gtMNkwo/JVKSnXqFkaCQYebcNpj2D9Rb2ZCwgjMSX6wxvpA4/8OLOZpbWqFW6Hz2RKNggubXlnalXkIwFcsvj70rKctbcJFk2C1G9rVvYWdVGD9X4/ozQtAc="
|
||||
email: false
|
||||
|
|
|
|||
30
README.md
30
README.md
|
|
@ -1,9 +1,27 @@
|
|||
XpressEngine With XETOWN
|
||||
============
|
||||
develop 브랜치에서 쓸만한 PR Merge!
|
||||
RhymiX : RX (라이믹스)
|
||||
=========================
|
||||
|
||||
xe core 새버전이 나오면 master 브랜치에서 Merge후 develop 브랜치와 최종 Merge!
|
||||
라이믹스(RhymiX)는 XETOWN Fork 프로젝트의 XE Core 이름입니다.
|
||||
|
||||
develop 브랜치에서 커밋 가능. (소스수정)
|
||||
원작 : XpressEngine (NAVER Corp) https://www.xpressengine.com
|
||||
|
||||
참여하실 분들은 conory(conorycom@gmail.com) 에게 알려주시면 Collaborators 으로 등록해드리겠습니다.
|
||||
### 개발방향
|
||||
원작을 개선시켜 사용자 편리성이 가장 뛰어난 CMS로 만들고자 합니다.
|
||||
|
||||
- 초보자도 쉽게 클릭 몇 번으로 웹사이트를 완성할 수 있을 만큼의 뛰어난 편리성
|
||||
- 기존 XE 서드파티(애드온, 모듈, 위젯등...)와의 호환성 100% 목표!
|
||||
- 보안이 우수한 CMS
|
||||
|
||||
## Server Requirements
|
||||
* PHP version 5.3.0 or greater (But recommend PHP >= 5.5.0)
|
||||
* MYSQL version 4.1 or greater (But recommend MYSQL >= 5.x) , MS-SQL, CUBRID
|
||||
* XML Library
|
||||
* GD Library
|
||||
* ICONV
|
||||
* session.auto_start = Off (php.ini)
|
||||
|
||||
## Official site
|
||||
https://www.rhymix.org
|
||||
|
||||
## License
|
||||
미정
|
||||
|
|
|
|||
|
|
@ -285,7 +285,7 @@ class Context
|
|||
$this->db_info->lang_type = $site_module_info->default_language;
|
||||
if(!$this->db_info->lang_type)
|
||||
{
|
||||
$this->db_info->lang_type = 'en';
|
||||
$this->db_info->lang_type = 'ko';
|
||||
}
|
||||
if(!$this->db_info->use_db_session)
|
||||
{
|
||||
|
|
@ -315,14 +315,14 @@ class Context
|
|||
$this->lang_type = $this->db_info->lang_type;
|
||||
}
|
||||
|
||||
// if still lang_type has not been set or has not-supported type , set as English.
|
||||
// if still lang_type has not been set or has not-supported type , set as Korean.
|
||||
if(!$this->lang_type)
|
||||
{
|
||||
$this->lang_type = 'en';
|
||||
$this->lang_type = 'ko';
|
||||
}
|
||||
if(is_array($lang_supported) && !isset($lang_supported[$this->lang_type]))
|
||||
{
|
||||
$this->lang_type = 'en';
|
||||
$this->lang_type = 'ko';
|
||||
}
|
||||
|
||||
$this->set('lang_supported', $lang_supported);
|
||||
|
|
|
|||
|
|
@ -382,7 +382,7 @@ class DB
|
|||
{
|
||||
$this->setError(0, 'success');
|
||||
$this->query = $query;
|
||||
$this->act_start = getMicroTime();
|
||||
$this->act_start = microtime(true);
|
||||
$this->elapsed_time = 0;
|
||||
}
|
||||
|
||||
|
|
@ -396,7 +396,7 @@ class DB
|
|||
{
|
||||
return;
|
||||
}
|
||||
$this->act_finish = getMicroTime();
|
||||
$this->act_finish = microtime(true);
|
||||
$elapsed_time = $this->act_finish - $this->act_start;
|
||||
$this->elapsed_time = $elapsed_time;
|
||||
$GLOBALS['__db_elapsed_time__'] += $elapsed_time;
|
||||
|
|
@ -1316,7 +1316,7 @@ class DB
|
|||
function actDBClassStart()
|
||||
{
|
||||
$this->setError(0, 'success');
|
||||
$this->act_dbclass_start = getMicroTime();
|
||||
$this->act_dbclass_start = microtime(true);
|
||||
$this->elapsed_dbclass_time = 0;
|
||||
}
|
||||
|
||||
|
|
@ -1330,7 +1330,7 @@ class DB
|
|||
{
|
||||
return;
|
||||
}
|
||||
$this->act_dbclass_finish = getMicroTime();
|
||||
$this->act_dbclass_finish = microtime(true);
|
||||
$elapsed_dbclass_time = $this->act_dbclass_finish - $this->act_dbclass_start;
|
||||
$this->elapsed_dbclass_time = $elapsed_dbclass_time;
|
||||
$GLOBALS['__dbclass_elapsed_time__'] += $elapsed_dbclass_time;
|
||||
|
|
|
|||
|
|
@ -142,7 +142,7 @@ class DisplayHandler extends Handler
|
|||
return;
|
||||
}
|
||||
|
||||
$end = getMicroTime();
|
||||
$end = microtime(true);
|
||||
|
||||
// Firebug console output
|
||||
if(__DEBUG_OUTPUT__ == 2 && version_compare(PHP_VERSION, '6.0.0') === -1)
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@ class HTMLDisplayHandler
|
|||
{
|
||||
if(__DEBUG__ == 3)
|
||||
{
|
||||
$start = getMicroTime();
|
||||
$start = microtime(true);
|
||||
}
|
||||
|
||||
Context::set('content', $output, false);
|
||||
|
|
@ -132,7 +132,7 @@ class HTMLDisplayHandler
|
|||
|
||||
if(__DEBUG__ == 3)
|
||||
{
|
||||
$GLOBALS['__layout_compile_elapsed__'] = getMicroTime() - $start;
|
||||
$GLOBALS['__layout_compile_elapsed__'] = microtime(true) - $start;
|
||||
}
|
||||
|
||||
if(stripos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE && (Context::get('_use_ssl') == 'optional' || Context::get('_use_ssl') == 'always'))
|
||||
|
|
@ -158,7 +158,7 @@ class HTMLDisplayHandler
|
|||
|
||||
if(__DEBUG__ == 3)
|
||||
{
|
||||
$start = getMicroTime();
|
||||
$start = microtime(true);
|
||||
}
|
||||
|
||||
// move <style ..></style> in body to the header
|
||||
|
|
@ -208,7 +208,7 @@ class HTMLDisplayHandler
|
|||
|
||||
if(__DEBUG__ == 3)
|
||||
{
|
||||
$GLOBALS['__trans_content_elapsed__'] = getMicroTime() - $start;
|
||||
$GLOBALS['__trans_content_elapsed__'] = microtime(true) - $start;
|
||||
}
|
||||
|
||||
// Remove unnecessary information
|
||||
|
|
|
|||
|
|
@ -1052,7 +1052,7 @@ class ModuleHandler extends Handler
|
|||
|
||||
if(__DEBUG__ == 3)
|
||||
{
|
||||
$start_time = getMicroTime();
|
||||
$start_time = microtime(true);
|
||||
}
|
||||
|
||||
$parent_module = $module;
|
||||
|
|
@ -1127,7 +1127,7 @@ class ModuleHandler extends Handler
|
|||
|
||||
if(__DEBUG__ == 3)
|
||||
{
|
||||
$GLOBALS['__elapsed_class_load__'] += getMicroTime() - $start_time;
|
||||
$GLOBALS['__elapsed_class_load__'] += microtime(true) - $start_time;
|
||||
}
|
||||
|
||||
// return the instance
|
||||
|
|
|
|||
|
|
@ -17,244 +17,12 @@ class EmbedFilter
|
|||
* @var int
|
||||
*/
|
||||
var $allowscriptaccessKey = 0;
|
||||
var $whiteUrlXmlFile = './classes/security/conf/embedWhiteUrl.xml';
|
||||
var $whiteUrlCacheFile = './files/cache/embedfilter/embedWhiteUrl.php';
|
||||
var $whiteUrlDefaultFile = './classes/security/conf/whitelist.php';
|
||||
var $whiteUrlList = array();
|
||||
var $whiteIframeUrlList = array();
|
||||
var $mimeTypeList = array();
|
||||
var $extList = array();
|
||||
var $parser = NULL;
|
||||
var $mimeTypeList = array('application/andrew-inset' => 1, 'application/applixware' => 1, 'application/atom+xml' => 1, 'application/atomcat+xml' => 1, 'application/atomsvc+xml' => 1,
|
||||
'application/ccxml+xml' => 1, 'application/cdmi-capability' => 1, 'application/cdmi-container' => 1, 'application/cdmi-domain' => 1, 'application/cdmi-object' => 1,
|
||||
'application/cdmi-queue' => 1, 'application/cu-seeme' => 1, 'application/davmount+xml' => 1, 'application/docbook+xml' => 1, 'application/dssc+der' => 1, 'application/dssc+xml' => 1,
|
||||
'application/ecmascript' => 1, 'application/emma+xml' => 1, 'application/epub+zip' => 1, 'application/exi' => 1, 'application/font-tdpfr' => 1, 'application/gml+xml' => 1,
|
||||
'application/gpx+xml' => 1, 'application/gxf' => 1, 'application/hyperstudio' => 1, 'application/inkml+xml' => 1, 'application/inkml+xml' => 1, 'application/ipfix' => 1,
|
||||
'application/java-archive' => 1, 'application/java-serialized-object' => 1, 'application/java-vm' => 1, 'application/javascript' => 1, 'application/json' => 1,
|
||||
'application/jsonml+json' => 1, 'application/lost+xml' => 1, 'application/mac-binhex40' => 1, 'application/mac-compactpro' => 1, 'application/mads+xml' => 1,
|
||||
'application/marc' => 1, 'application/marcxml+xml' => 1, 'application/mathematica' => 1, 'application/mathematica' => 1, 'application/mathematica' => 1, 'application/mathml+xml' => 1,
|
||||
'application/mbox' => 1, 'application/mediaservercontrol+xml' => 1, 'application/metalink+xml' => 1, 'application/metalink4+xml' => 1, 'application/mets+xml' => 1,
|
||||
'application/mods+xml' => 1, 'application/mp21' => 1, 'application/mp4' => 1, 'application/msword' => 1, 'application/mxf' => 1, 'application/octet-stream' => 1,
|
||||
'application/octet-stream' => 1, 'application/octet-stream' => 1, 'application/octet-stream' => 1, 'application/octet-stream' => 1, 'application/octet-stream' => 1,
|
||||
'application/octet-stream' => 1, 'application/octet-stream' => 1, 'application/octet-stream' => 1, 'application/octet-stream' => 1, 'application/octet-stream' => 1,
|
||||
'application/octet-stream' => 1, 'application/oda' => 1, 'application/oebps-package+xml' => 1, 'application/ogg' => 1, 'application/omdoc+xml' => 1, 'application/onenote' => 1,
|
||||
'application/onenote' => 1, 'application/onenote' => 1, 'application/onenote' => 1, 'application/oxps' => 1, 'application/patch-ops-error+xml' => 1, 'application/pdf' => 1,
|
||||
'application/pgp-encrypted' => 1, 'application/pgp-signature' => 1, 'application/pgp-signature' => 1, 'application/pics-rules' => 1, 'application/pkcs10' => 1,
|
||||
'application/pkcs7-mime' => 1, 'application/pkcs7-mime' => 1, 'application/pkcs7-signature' => 1, 'application/pkcs8' => 1, 'application/pkix-attr-cert' => 1,
|
||||
'application/pkix-cert' => 1, 'application/pkix-crl' => 1, 'application/pkix-pkipath' => 1, 'application/pkixcmp' => 1, 'application/pls+xml' => 1,
|
||||
'application/postscript' => 1, 'application/postscript' => 1, 'application/postscript' => 1, 'application/prs.cww' => 1, 'application/pskc+xml' => 1,
|
||||
'application/rdf+xml' => 1, 'application/reginfo+xml' => 1, 'application/relax-ng-compact-syntax' => 1, 'application/resource-lists+xml' => 1,
|
||||
'application/resource-lists-diff+xml' => 1, 'application/rls-services+xml' => 1, 'application/rpki-ghostbusters' => 1, 'application/rpki-manifest' => 1,
|
||||
'application/rpki-roa' => 1, 'application/rsd+xml' => 1, 'application/rss+xml' => 1, 'application/rtf' => 1, 'application/sbml+xml' => 1, 'application/scvp-cv-request' => 1,
|
||||
'application/scvp-cv-response' => 1, 'application/scvp-vp-request' => 1, 'application/scvp-vp-response' => 1, 'application/sdp' => 1, 'application/set-payment-initiation' => 1,
|
||||
'application/set-registration-initiation' => 1, 'application/shf+xml' => 1, 'application/smil+xml' => 1, 'application/smil+xml' => 1, 'application/sparql-query' => 1,
|
||||
'application/sparql-results+xml' => 1, 'application/srgs' => 1, 'application/srgs+xml' => 1, 'application/sru+xml' => 1, 'application/ssdl+xml' => 1,
|
||||
'application/ssml+xml' => 1, 'application/tei+xml' => 1, 'application/tei+xml' => 1, 'application/thraud+xml' => 1, 'application/timestamped-data' => 1,
|
||||
'application/vnd.3gpp.pic-bw-large' => 1, 'application/vnd.3gpp.pic-bw-small' => 1, 'application/vnd.3gpp.pic-bw-var' => 1, 'application/vnd.3gpp2.tcap' => 1,
|
||||
'application/vnd.3m.post-it-notes' => 1, 'application/vnd.accpac.simply.aso' => 1, 'application/vnd.accpac.simply.imp' => 1, 'application/vnd.acucobol' => 1,
|
||||
'application/vnd.acucorp' => 1, 'application/vnd.acucorp' => 1, 'application/vnd.adobe.air-application-installer-package+zip' => 1, 'application/vnd.adobe.formscentral.fcdt' => 1,
|
||||
'application/vnd.adobe.fxp' => 1, 'application/vnd.adobe.fxp' => 1, 'application/vnd.adobe.xdp+xml' => 1, 'application/vnd.adobe.xfdf' => 1, 'application/vnd.ahead.space' => 1,
|
||||
'application/vnd.airzip.filesecure.azf' => 1, 'application/vnd.airzip.filesecure.azs' => 1, 'application/vnd.amazon.ebook' => 1, 'application/vnd.americandynamics.acc' => 1,
|
||||
'application/vnd.amiga.ami' => 1, 'application/vnd.android.package-archive' => 1, 'application/vnd.anser-web-certificate-issue-initiation' => 1,
|
||||
'application/vnd.anser-web-funds-transfer-initiation' => 1, 'application/vnd.antix.game-component' => 1, 'application/vnd.apple.installer+xml' => 1,
|
||||
'application/vnd.apple.mpegurl' => 1, 'application/vnd.aristanetworks.swi' => 1, 'application/vnd.astraea-software.iota' => 1, 'application/vnd.audiograph' => 1,
|
||||
'application/vnd.blueice.multipass' => 1, 'application/vnd.bmi' => 1, 'application/vnd.businessobjects' => 1, 'application/vnd.chemdraw+xml' => 1,
|
||||
'application/vnd.chipnuts.karaoke-mmd' => 1, 'application/vnd.cinderella' => 1, 'application/vnd.claymore' => 1, 'application/vnd.cloanto.rp9' => 1,
|
||||
'application/vnd.clonk.c4group' => 1, 'application/vnd.clonk.c4group' => 1, 'application/vnd.clonk.c4group' => 1, 'application/vnd.clonk.c4group' => 1,
|
||||
'application/vnd.clonk.c4group' => 1, 'application/vnd.cluetrust.cartomobile-config' => 1, 'application/vnd.cluetrust.cartomobile-config-pkg' => 1,
|
||||
'application/vnd.commonspace' => 1, 'application/vnd.contact.cmsg' => 1, 'application/vnd.cosmocaller' => 1, 'application/vnd.crick.clicker' => 1,
|
||||
'application/vnd.crick.clicker.keyboard' => 1, 'application/vnd.crick.clicker.palette' => 1, 'application/vnd.crick.clicker.template' => 1,
|
||||
'application/vnd.crick.clicker.wordbank' => 1, 'application/vnd.criticaltools.wbs+xml' => 1, 'application/vnd.ctc-posml' => 1, 'application/vnd.cups-ppd' => 1,
|
||||
'application/vnd.curl.car' => 1, 'application/vnd.curl.pcurl' => 1, 'application/vnd.dart' => 1, 'application/vnd.data-vision.rdz' => 1, 'application/vnd.dece.data' => 1,
|
||||
'application/vnd.dece.data' => 1, 'application/vnd.dece.data' => 1, 'application/vnd.dece.data' => 1, 'application/vnd.dece.ttml+xml' => 1, 'application/vnd.dece.ttml+xml' => 1,
|
||||
'application/vnd.dece.unspecified' => 1, 'application/vnd.dece.unspecified' => 1, 'application/vnd.dece.zip' => 1, 'application/vnd.dece.zip' => 1,
|
||||
'application/vnd.denovo.fcselayout-link' => 1, 'application/vnd.dna' => 1, 'application/vnd.dolby.mlp' => 1, 'application/vnd.dpgraph' => 1, 'application/vnd.dreamfactory' => 1,
|
||||
'application/vnd.ds-keypoint' => 1, 'application/vnd.dvb.ait' => 1, 'application/vnd.dvb.service' => 1, 'application/vnd.dynageo' => 1, 'application/vnd.ecowin.chart' => 1,
|
||||
'application/vnd.enliven' => 1, 'application/vnd.epson.esf' => 1, 'application/vnd.epson.msf' => 1, 'application/vnd.epson.quickanime' => 1, 'application/vnd.epson.salt' => 1,
|
||||
'application/vnd.epson.ssf' => 1, 'application/vnd.eszigno3+xml' => 1, 'application/vnd.eszigno3+xml' => 1, 'application/vnd.ezpix-album' => 1, 'application/vnd.ezpix-package' => 1,
|
||||
'application/vnd.fdf' => 1, 'application/vnd.fdsn.mseed' => 1, 'application/vnd.fdsn.seed' => 1, 'application/vnd.fdsn.seed' => 1, 'application/vnd.flographit' => 1,
|
||||
'application/vnd.fluxtime.clip' => 1, 'application/vnd.framemaker' => 1, 'application/vnd.framemaker' => 1, 'application/vnd.framemaker' => 1, 'application/vnd.framemaker' => 1,
|
||||
'application/vnd.frogans.fnc' => 1, 'application/vnd.frogans.ltf' => 1, 'application/vnd.fsc.weblaunch' => 1, 'application/vnd.fujitsu.oasys' => 1,
|
||||
'application/vnd.fujitsu.oasys2' => 1, 'application/vnd.fujitsu.oasys3' => 1, 'application/vnd.fujitsu.oasysgp' => 1, 'application/vnd.fujitsu.oasysprs' => 1,
|
||||
'application/vnd.fujixerox.ddd' => 1, 'application/vnd.fujixerox.docuworks' => 1, 'application/vnd.fujixerox.docuworks.binder' => 1, 'application/vnd.fuzzysheet' => 1,
|
||||
'application/vnd.genomatix.tuxedo' => 1, 'application/vnd.geogebra.file' => 1, 'application/vnd.geogebra.tool' => 1, 'application/vnd.geometry-explorer' => 1,
|
||||
'application/vnd.geometry-explorer' => 1, 'application/vnd.geonext' => 1, 'application/vnd.geoplan' => 1, 'application/vnd.geospace' => 1, 'application/vnd.gmx' => 1,
|
||||
'application/vnd.google-earth.kml+xml' => 1, 'application/vnd.google-earth.kmz' => 1, 'application/vnd.grafeq' => 1, 'application/vnd.grafeq' => 1,
|
||||
'application/vnd.groove-account' => 1, 'application/vnd.groove-help' => 1, 'application/vnd.groove-identity-message' => 1, 'application/vnd.groove-injector' => 1,
|
||||
'application/vnd.groove-tool-message' => 1, 'application/vnd.groove-tool-template' => 1, 'application/vnd.groove-vcard' => 1, 'application/vnd.hal+xml' => 1,
|
||||
'application/vnd.handheld-entertainment+xml' => 1, 'application/vnd.hbci' => 1, 'application/vnd.hhe.lesson-player' => 1, 'application/vnd.hp-hpgl' => 1,
|
||||
'application/vnd.hp-hpid' => 1, 'application/vnd.hp-hps' => 1, 'application/vnd.hp-jlyt' => 1, 'application/vnd.hp-pcl' => 1, 'application/vnd.hp-pclxl' => 1,
|
||||
'application/vnd.hydrostatix.sof-data' => 1, 'application/vnd.ibm.minipay' => 1, 'application/vnd.ibm.modcap' => 1, 'application/vnd.ibm.modcap' => 1, 'application/vnd.ibm.modcap' => 1,
|
||||
'application/vnd.ibm.rights-management' => 1, 'application/vnd.ibm.secure-container' => 1, 'application/vnd.iccprofile' => 1, 'application/vnd.iccprofile' => 1,
|
||||
'application/vnd.igloader' => 1, 'application/vnd.immervision-ivp' => 1, 'application/vnd.immervision-ivu' => 1, 'application/vnd.insors.igm' => 1, 'application/vnd.intercon.formnet' => 1,
|
||||
'application/vnd.intercon.formnet' => 1, 'application/vnd.intergeo' => 1, 'application/vnd.intu.qbo' => 1, 'application/vnd.intu.qfx' => 1, 'application/vnd.ipunplugged.rcprofile' => 1,
|
||||
'application/vnd.irepository.package+xml' => 1, 'application/vnd.is-xpr' => 1, 'application/vnd.isac.fcs' => 1, 'application/vnd.jam' => 1, 'application/vnd.jcp.javame.midlet-rms' => 1,
|
||||
'application/vnd.jisp' => 1, 'application/vnd.joost.joda-archive' => 1, 'application/vnd.kahootz' => 1, 'application/vnd.kahootz' => 1, 'application/vnd.kde.karbon' => 1,
|
||||
'application/vnd.kde.kchart' => 1, 'application/vnd.kde.kformula' => 1, 'application/vnd.kde.kivio' => 1, 'application/vnd.kde.kontour' => 1, 'application/vnd.kde.kpresenter' => 1,
|
||||
'application/vnd.kde.kpresenter' => 1, 'application/vnd.kde.kspread' => 1, 'application/vnd.kde.kword' => 1, 'application/vnd.kde.kword' => 1, 'application/vnd.kenameaapp' => 1,
|
||||
'application/vnd.kidspiration' => 1, 'application/vnd.kinar' => 1, 'application/vnd.kinar' => 1, 'application/vnd.koan' => 1, 'application/vnd.koan' => 1, 'application/vnd.koan' => 1,
|
||||
'application/vnd.koan' => 1, 'application/vnd.kodak-descriptor' => 1, 'application/vnd.las.las+xml' => 1, 'application/vnd.llamagraphics.life-balance.desktop' => 1,
|
||||
'application/vnd.llamagraphics.life-balance.exchange+xml' => 1, 'application/vnd.lotus-1-2-3' => 1, 'application/vnd.lotus-approach' => 1, 'application/vnd.lotus-freelance' => 1,
|
||||
'application/vnd.lotus-notes' => 1, 'application/vnd.lotus-organizer' => 1, 'application/vnd.lotus-screencam' => 1, 'application/vnd.lotus-wordpro' => 1,
|
||||
'application/vnd.macports.portpkg' => 1, 'application/vnd.mcd' => 1, 'application/vnd.medcalcdata' => 1, 'application/vnd.mediastation.cdkey' => 1, 'application/vnd.mfer' => 1,
|
||||
'application/vnd.mfmp' => 1, 'application/vnd.micrografx.flo' => 1, 'application/vnd.micrografx.igx' => 1, 'application/vnd.mif' => 1, 'application/vnd.mobius.daf' => 1,
|
||||
'application/vnd.mobius.dis' => 1, 'application/vnd.mobius.mbk' => 1, 'application/vnd.mobius.mqy' => 1, 'application/vnd.mobius.msl' => 1, 'application/vnd.mobius.plc' => 1,
|
||||
'application/vnd.mobius.txf' => 1, 'application/vnd.mophun.application' => 1, 'application/vnd.mophun.certificate' => 1, 'application/vnd.mozilla.xul+xml' => 1,
|
||||
'application/vnd.ms-artgalry' => 1, 'application/vnd.ms-cab-compressed' => 1, 'application/vnd.ms-excel' => 1, 'application/vnd.ms-excel' => 1, 'application/vnd.ms-excel' => 1,
|
||||
'application/vnd.ms-excel' => 1, 'application/vnd.ms-excel' => 1, 'application/vnd.ms-excel' => 1, 'application/vnd.ms-excel.addin.macroenabled.12' => 1,
|
||||
'application/vnd.ms-excel.sheet.binary.macroenabled.12' => 1, 'application/vnd.ms-excel.sheet.macroenabled.12' => 1, 'application/vnd.ms-excel.template.macroenabled.12' => 1,
|
||||
'application/vnd.ms-fontobject' => 1, 'application/vnd.ms-htmlhelp' => 1, 'application/vnd.ms-ims' => 1, 'application/vnd.ms-lrm' => 1, 'application/vnd.ms-officetheme' => 1,
|
||||
'application/vnd.ms-pki.seccat' => 1, 'application/vnd.ms-pki.stl' => 1, 'application/vnd.ms-powerpoint' => 1, 'application/vnd.ms-powerpoint' => 1,
|
||||
'application/vnd.ms-powerpoint' => 1, 'application/vnd.ms-powerpoint.addin.macroenabled.12' => 1, 'application/vnd.ms-powerpoint.presentation.macroenabled.12' => 1,
|
||||
'application/vnd.ms-powerpoint.slide.macroenabled.12' => 1, 'application/vnd.ms-powerpoint.slideshow.macroenabled.12' => 1,
|
||||
'application/vnd.ms-powerpoint.template.macroenabled.12' => 1, 'application/vnd.ms-project' => 1, 'application/vnd.ms-project' => 1,
|
||||
'application/vnd.ms-word.document.macroenabled.12' => 1, 'application/vnd.ms-word.template.macroenabled.12' => 1, 'application/vnd.ms-works' => 1,
|
||||
'application/vnd.ms-works' => 1, 'application/vnd.ms-works' => 1, 'application/vnd.ms-works' => 1, 'application/vnd.ms-wpl' => 1, 'application/vnd.ms-xpsdocument' => 1,
|
||||
'application/vnd.mseq' => 1, 'application/vnd.musician' => 1, 'application/vnd.muvee.style' => 1, 'application/vnd.mynfc' => 1, 'application/vnd.neurolanguage.nlu' => 1,
|
||||
'application/vnd.nitf' => 1, 'application/vnd.nitf' => 1, 'application/vnd.noblenet-directory' => 1, 'application/vnd.noblenet-sealer' => 1, 'application/vnd.noblenet-web' => 1,
|
||||
'application/vnd.nokia.n-gage.data' => 1, 'application/vnd.nokia.n-gage.symbian.install' => 1, 'application/vnd.nokia.radio-preset' => 1, 'application/vnd.nokia.radio-presets' => 1,
|
||||
'application/vnd.novadigm.edm' => 1, 'application/vnd.novadigm.edx' => 1, 'application/vnd.novadigm.ext' => 1, 'application/vnd.oasis.opendocument.chart' => 1,
|
||||
'application/vnd.oasis.opendocument.chart-template' => 1, 'application/vnd.oasis.opendocument.database' => 1, 'application/vnd.oasis.opendocument.formula' => 1,
|
||||
'application/vnd.oasis.opendocument.formula-template' => 1, 'application/vnd.oasis.opendocument.graphics' => 1, 'application/vnd.oasis.opendocument.graphics-template' => 1,
|
||||
'application/vnd.oasis.opendocument.image' => 1, 'application/vnd.oasis.opendocument.image-template' => 1, 'application/vnd.oasis.opendocument.presentation' => 1,
|
||||
'application/vnd.oasis.opendocument.presentation-template' => 1, 'application/vnd.oasis.opendocument.spreadsheet' => 1, 'application/vnd.oasis.opendocument.spreadsheet-template' => 1,
|
||||
'application/vnd.oasis.opendocument.text' => 1, 'application/vnd.oasis.opendocument.text-master' => 1, 'application/vnd.oasis.opendocument.text-template' => 1,
|
||||
'application/vnd.oasis.opendocument.text-web' => 1, 'application/vnd.olpc-sugar' => 1, 'application/vnd.oma.dd2+xml' => 1, 'application/vnd.openofficeorg.extension' => 1,
|
||||
'application/vnd.openxmlformats-officedocument.presentationml.presentation' => 1, 'application/vnd.openxmlformats-officedocument.presentationml.slide' => 1,
|
||||
'application/vnd.openxmlformats-officedocument.presentationml.slideshow' => 1, 'application/vnd.openxmlformats-officedocument.presentationml.template' => 1,
|
||||
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' => 1, 'application/vnd.openxmlformats-officedocument.spreadsheetml.template' => 1,
|
||||
'application/vnd.openxmlformats-officedocument.wordprocessingml.document' => 1, 'application/vnd.openxmlformats-officedocument.wordprocessingml.template' => 1,
|
||||
'application/vnd.osgeo.mapguide.package' => 1, 'application/vnd.osgi.dp' => 1, 'application/vnd.osgi.subsystem' => 1, 'application/vnd.palm' => 1, 'application/vnd.palm' => 1,
|
||||
'application/vnd.palm' => 1, 'application/vnd.pawaafile' => 1, 'application/vnd.pg.format' => 1, 'application/vnd.pg.osasli' => 1, 'application/vnd.picsel' => 1, 'application/vnd.pmi.widget' => 1,
|
||||
'application/vnd.pocketlearn' => 1, 'application/vnd.powerbuilder6' => 1, 'application/vnd.previewsystems.box' => 1, 'application/vnd.proteus.magazine' => 1,
|
||||
'application/vnd.publishare-delta-tree' => 1, 'application/vnd.pvi.ptid1' => 1, 'application/vnd.quark.quarkxpress' => 1, 'application/vnd.quark.quarkxpress' => 1,
|
||||
'application/vnd.quark.quarkxpress' => 1, 'application/vnd.quark.quarkxpress' => 1, 'application/vnd.quark.quarkxpress' => 1, 'application/vnd.quark.quarkxpress' => 1,
|
||||
'application/vnd.realvnc.bed' => 1, 'application/vnd.recordare.musicxml' => 1, 'application/vnd.recordare.musicxml+xml' => 1, 'application/vnd.rig.cryptonote' => 1,
|
||||
'application/vnd.rim.cod' => 1, 'application/vnd.rn-realmedia' => 1, 'application/vnd.rn-realmedia-vbr' => 1, 'application/vnd.route66.link66+xml' => 1, 'application/vnd.sailingtracker.track' => 1,
|
||||
'application/vnd.seemail' => 1, 'application/vnd.sema' => 1, 'application/vnd.semd' => 1, 'application/vnd.semf' => 1, 'application/vnd.shana.informed.formdata' => 1,
|
||||
'application/vnd.shana.informed.formtemplate' => 1, 'application/vnd.shana.informed.interchange' => 1, 'application/vnd.shana.informed.package' => 1, 'application/vnd.simtech-mindmapper' => 1,
|
||||
'application/vnd.simtech-mindmapper' => 1, 'application/vnd.smaf' => 1, 'application/vnd.smart.teacher' => 1, 'application/vnd.solent.sdkm+xml' => 1, 'application/vnd.solent.sdkm+xml' => 1,
|
||||
'application/vnd.spotfire.dxp' => 1, 'application/vnd.spotfire.sfs' => 1, 'application/vnd.stardivision.calc' => 1, 'application/vnd.stardivision.draw' => 1,
|
||||
'application/vnd.stardivision.impress' => 1, 'application/vnd.stardivision.math' => 1, 'application/vnd.stardivision.writer' => 1, 'application/vnd.stardivision.writer' => 1,
|
||||
'application/vnd.stardivision.writer-global' => 1, 'application/vnd.stepmania.package' => 1, 'application/vnd.stepmania.stepchart' => 1, 'application/vnd.sun.xml.calc' => 1,
|
||||
'application/vnd.sun.xml.calc.template' => 1, 'application/vnd.sun.xml.draw' => 1, 'application/vnd.sun.xml.draw.template' => 1, 'application/vnd.sun.xml.impress' => 1,
|
||||
'application/vnd.sun.xml.impress.template' => 1, 'application/vnd.sun.xml.math' => 1, 'application/vnd.sun.xml.writer' => 1, 'application/vnd.sun.xml.writer.global' => 1,
|
||||
'application/vnd.sun.xml.writer.template' => 1, 'application/vnd.sus-calendar' => 1, 'application/vnd.sus-calendar' => 1, 'application/vnd.svd' => 1, 'application/vnd.symbian.install' => 1,
|
||||
'application/vnd.symbian.install' => 1, 'application/vnd.syncml+xml' => 1, 'application/vnd.syncml.dm+wbxml' => 1, 'application/vnd.syncml.dm+xml' => 1,
|
||||
'application/vnd.tao.intent-module-archive' => 1, 'application/vnd.tcpdump.pcap' => 1, 'application/vnd.tcpdump.pcap' => 1, 'application/vnd.tcpdump.pcap' => 1,
|
||||
'application/vnd.tmobile-livetv' => 1, 'application/vnd.trid.tpt' => 1, 'application/vnd.triscape.mxs' => 1, 'application/vnd.trueapp' => 1, 'application/vnd.ufdl' => 1, 'application/vnd.ufdl' => 1,
|
||||
'application/vnd.uiq.theme' => 1, 'application/vnd.umajin' => 1, 'application/vnd.unity' => 1, 'application/vnd.uoml+xml' => 1, 'application/vnd.vcx' => 1, 'application/vnd.visio' => 1,
|
||||
'application/vnd.visio' => 1, 'application/vnd.visio' => 1, 'application/vnd.visio' => 1, 'application/vnd.visionary' => 1, 'application/vnd.vsf' => 1, 'application/vnd.wap.wbxml' => 1,
|
||||
'application/vnd.wap.wmlc' => 1, 'application/vnd.wap.wmlscriptc' => 1, 'application/vnd.webturbo' => 1, 'application/vnd.wolfram.player' => 1, 'application/vnd.wordperfect' => 1,
|
||||
'application/vnd.wqd' => 1, 'application/vnd.wt.stf' => 1, 'application/vnd.xara' => 1, 'application/vnd.xfdl' => 1, 'application/vnd.yamaha.hv-dic' => 1, 'application/vnd.yamaha.hv-script' => 1,
|
||||
'application/vnd.yamaha.hv-voice' => 1, 'application/vnd.yamaha.openscoreformat' => 1, 'application/vnd.yamaha.openscoreformat.osfpvg+xml' => 1, 'application/vnd.yamaha.smaf-audio' => 1,
|
||||
'application/vnd.yamaha.smaf-phrase' => 1, 'application/vnd.yellowriver-custom-menu' => 1, 'application/vnd.zul' => 1, 'application/vnd.zul' => 1, 'application/vnd.zzazz.deck+xml' => 1,
|
||||
'application/voicexml+xml' => 1, 'application/widget' => 1, 'application/winhlp' => 1, 'application/wsdl+xml' => 1, 'application/wspolicy+xml' => 1, 'application/x-7z-compressed' => 1,
|
||||
'application/x-abiword' => 1, 'application/x-ace-compressed' => 1, 'application/x-apple-diskimage' => 1, 'application/x-authorware-bin' => 1, 'application/x-authorware-bin' => 1,
|
||||
'application/x-authorware-bin' => 1, 'application/x-authorware-bin' => 1, 'application/x-authorware-map' => 1, 'application/x-authorware-seg' => 1, 'application/x-bcpio' => 1,
|
||||
'application/x-bittorrent' => 1, 'application/x-blorb' => 1, 'application/x-blorb' => 1, 'application/x-bzip' => 1, 'application/x-bzip2' => 1, 'application/x-bzip2' => 1, 'application/x-cbr' => 1,
|
||||
'application/x-cbr' => 1, 'application/x-cbr' => 1, 'application/x-cbr' => 1, 'application/x-cbr' => 1, 'application/x-cdlink' => 1, 'application/x-cfs-compressed' => 1, 'application/x-chat' => 1,
|
||||
'application/x-chess-pgn' => 1, 'application/x-conference' => 1, 'application/x-cpio' => 1, 'application/x-csh' => 1, 'application/x-debian-package' => 1, 'application/x-debian-package' => 1,
|
||||
'application/x-dgc-compressed' => 1, 'application/x-director' => 1, 'application/x-director' => 1, 'application/x-director' => 1, 'application/x-director' => 1, 'application/x-director' => 1,
|
||||
'application/x-director' => 1, 'application/x-director' => 1, 'application/x-director' => 1, 'application/x-director' => 1, 'application/x-doom' => 1, 'application/x-dtbncx+xml' => 1,
|
||||
'application/x-dtbook+xml' => 1, 'application/x-dtbresource+xml' => 1, 'application/x-dvi' => 1, 'application/x-envoy' => 1, 'application/x-eva' => 1, 'application/x-font-bdf' => 1,
|
||||
'application/x-font-ghostscript' => 1, 'application/x-font-linux-psf' => 1, 'application/x-font-otf' => 1, 'application/x-font-pcf' => 1, 'application/x-font-snf' => 1,
|
||||
'application/x-font-ttf' => 1, 'application/x-font-ttf' => 1, 'application/x-font-type1' => 1, 'application/x-font-type1' => 1, 'application/x-font-type1' => 1, 'application/x-font-type1' => 1,
|
||||
'application/x-font-woff' => 1, 'application/x-freearc' => 1, 'application/x-futuresplash' => 1, 'application/x-gca-compressed' => 1, 'application/x-glulx' => 1, 'application/x-gnumeric' => 1,
|
||||
'application/x-gramps-xml' => 1, 'application/x-gtar' => 1, 'application/x-hdf' => 1, 'application/x-install-instructions' => 1, 'application/x-iso9660-image' => 1,
|
||||
'application/x-java-jnlp-file' => 1, 'application/x-latex' => 1, 'application/x-lzh-compressed' => 1, 'application/x-lzh-compressed' => 1, 'application/x-mie' => 1,
|
||||
'application/x-mobipocket-ebook' => 1, 'application/x-mobipocket-ebook' => 1, 'application/x-ms-application' => 1, 'application/x-ms-shortcut' => 1, 'application/x-ms-wmd' => 1,
|
||||
'application/x-ms-wmz' => 1, 'application/x-ms-xbap' => 1, 'application/x-msaccess' => 1, 'application/x-msbinder' => 1, 'application/x-mscardfile' => 1, 'application/x-msclip' => 1,
|
||||
'application/x-msdownload' => 1, 'application/x-msdownload' => 1, 'application/x-msdownload' => 1, 'application/x-msdownload' => 1, 'application/x-msdownload' => 1, 'application/x-msmediaview' => 1,
|
||||
'application/x-msmediaview' => 1, 'application/x-msmediaview' => 1, 'application/x-msmetafile' => 1, 'application/x-msmetafile' => 1, 'application/x-msmetafile' => 1, 'application/x-msmetafile' => 1,
|
||||
'application/x-msmoney' => 1, 'application/x-mspublisher' => 1, 'application/x-msschedule' => 1, 'application/x-msterminal' => 1, 'application/x-mswrite' => 1, 'application/x-netcdf' => 1,
|
||||
'application/x-netcdf' => 1, 'application/x-nzb' => 1, 'application/x-pkcs12' => 1, 'application/x-pkcs12' => 1, 'application/x-pkcs7-certificates' => 1, 'application/x-pkcs7-certificates' => 1,
|
||||
'application/x-pkcs7-certreqresp' => 1, 'application/x-rar-compressed' => 1, 'application/x-research-info-systems' => 1, 'application/x-sh' => 1, 'application/x-shar' => 1,
|
||||
'application/x-shockwave-flash' => 1, 'application/x-silverlight-app' => 1, 'application/x-silverlight-2' => 1, 'application/x-sql' => 1, 'application/x-stuffit' => 1, 'application/x-stuffitx' => 1,
|
||||
'application/x-subrip' => 1, 'application/x-sv4cpio' => 1, 'application/x-sv4crc' => 1, 'application/x-t3vm-image' => 1, 'application/x-tads' => 1, 'application/x-tar' => 1, 'application/x-tcl' => 1,
|
||||
'application/x-tex' => 1, 'application/x-tex-tfm' => 1, 'application/x-texinfo' => 1, 'application/x-texinfo' => 1, 'application/x-tgif' => 1, 'application/x-ustar' => 1, 'application/x-wais-source' => 1,
|
||||
'application/x-x509-ca-cert' => 1, 'application/x-x509-ca-cert' => 1, 'application/x-xfig' => 1, 'application/x-xliff+xml' => 1, 'application/x-xpinstall' => 1, 'application/x-xz' => 1,
|
||||
'application/x-zmachine' => 1, 'application/x-zmachine' => 1, 'application/x-zmachine' => 1, 'application/x-zmachine' => 1, 'application/x-zmachine' => 1, 'application/x-zmachine' => 1,
|
||||
'application/x-zmachine' => 1, 'application/x-zmachine' => 1, 'application/xaml+xml' => 1, 'application/xcap-diff+xml' => 1, 'application/xenc+xml' => 1, 'application/xhtml+xml' => 1,
|
||||
'application/xhtml+xml' => 1, 'application/xml' => 1, 'application/xml' => 1, 'application/xml-dtd' => 1, 'application/xop+xml' => 1, 'application/xproc+xml' => 1, 'application/xslt+xml' => 1,
|
||||
'application/xspf+xml' => 1, 'application/xv+xml' => 1, 'application/xv+xml' => 1, 'application/xv+xml' => 1, 'application/xv+xml' => 1, 'application/yang' => 1, 'application/yin+xml' => 1,
|
||||
'application/zip' => 1, 'audio/adpcm' => 1, 'audio/basic' => 1, 'audio/basic' => 1, 'audio/midi' => 1, 'audio/midi' => 1, 'audio/midi' => 1, 'audio/midi' => 1, 'audio/mp4' => 1, 'audio/mpeg' => 1,
|
||||
'audio/mpeg' => 1, 'audio/mpeg' => 1, 'audio/mpeg' => 1, 'audio/mpeg' => 1, 'audio/mpeg' => 1, 'audio/ogg' => 1, 'audio/ogg' => 1, 'audio/ogg' => 1, 'audio/s3m' => 1, 'audio/silk' => 1,
|
||||
'audio/vnd.dece.audio' => 1, 'audio/vnd.dece.audio' => 1, 'audio/vnd.digital-winds' => 1, 'audio/vnd.dra' => 1, 'audio/vnd.dts' => 1, 'audio/vnd.dts.hd' => 1, 'audio/vnd.lucent.voice' => 1,
|
||||
'audio/vnd.ms-playready.media.pya' => 1, 'audio/vnd.nuera.ecelp4800' => 1, 'audio/vnd.nuera.ecelp7470' => 1, 'audio/vnd.nuera.ecelp9600' => 1, 'audio/vnd.rip' => 1, 'audio/webm' => 1,
|
||||
'audio/x-aac' => 1, 'audio/x-aiff' => 1, 'audio/x-aiff' => 1, 'audio/x-aiff' => 1, 'audio/x-caf' => 1, 'audio/x-flac' => 1, 'audio/x-matroska' => 1, 'audio/x-mpegurl' => 1, 'audio/x-ms-wax' => 1,
|
||||
'audio/x-ms-wma' => 1, 'audio/x-pn-realaudio' => 1, 'audio/x-pn-realaudio' => 1, 'audio/x-pn-realaudio-plugin' => 1, 'audio/x-wav' => 1, 'audio/xm' => 1, 'chemical/x-cdx' => 1, 'chemical/x-cif' => 1,
|
||||
'chemical/x-cmdf' => 1, 'chemical/x-cml' => 1, 'chemical/x-csml' => 1, 'chemical/x-xyz' => 1, 'image/bmp' => 1, 'image/cgm' => 1, 'image/g3fax' => 1, 'image/gif' => 1, 'image/ief' => 1, 'image/jpeg' => 1,
|
||||
'image/jpeg' => 1, 'image/jpeg' => 1, 'image/ktx' => 1, 'image/png' => 1, 'image/prs.btif' => 1, 'image/sgi' => 1, 'image/svg+xml' => 1, 'image/svg+xml' => 1, 'image/tiff' => 1, 'image/tiff' => 1,
|
||||
'image/vnd.adobe.photoshop' => 1, 'image/vnd.dece.graphic' => 1, 'image/vnd.dece.graphic' => 1, 'image/vnd.dece.graphic' => 1, 'image/vnd.dece.graphic' => 1, 'image/vnd.dvb.subtitle' => 1,
|
||||
'image/vnd.djvu' => 1, 'image/vnd.djvu' => 1, 'image/vnd.dwg' => 1, 'image/vnd.dxf' => 1, 'image/vnd.fastbidsheet' => 1, 'image/vnd.fpx' => 1, 'image/vnd.fst' => 1, 'image/vnd.fujixerox.edmics-mmr' => 1,
|
||||
'image/vnd.fujixerox.edmics-rlc' => 1, 'image/vnd.ms-modi' => 1, 'image/vnd.ms-photo' => 1, 'image/vnd.net-fpx' => 1, 'image/vnd.wap.wbmp' => 1, 'image/vnd.xiff' => 1, 'image/webp' => 1,
|
||||
'image/x-3ds' => 1, 'image/x-cmu-raster' => 1, 'image/x-cmx' => 1, 'image/x-freehand' => 1, 'image/x-freehand' => 1, 'image/x-freehand' => 1, 'image/x-freehand' => 1, 'image/x-freehand' => 1,
|
||||
'image/x-icon' => 1, 'image/x-mrsid-image' => 1, 'image/x-pcx' => 1, 'image/x-pict' => 1, 'image/x-pict' => 1, 'image/x-portable-anymap' => 1, 'image/x-portable-bitmap' => 1,
|
||||
'image/x-portable-graymap' => 1, 'image/x-portable-pixmap' => 1, 'image/x-rgb' => 1, 'image/x-tga' => 1, 'image/x-xbitmap' => 1, 'image/x-xpixmap' => 1, 'image/x-xwindowdump' => 1,
|
||||
'message/rfc822' => 1, 'message/rfc822' => 1, 'model/iges' => 1, 'model/iges' => 1, 'model/mesh' => 1, 'model/mesh' => 1, 'model/mesh' => 1, 'model/vnd.collada+xml' => 1, 'model/vnd.dwf' => 1,
|
||||
'model/vnd.gdl' => 1, 'model/vnd.gtw' => 1, 'model/vnd.mts' => 1, 'model/vnd.vtu' => 1, 'model/vrml' => 1, 'model/vrml' => 1, 'model/x3d+binary' => 1, 'model/x3d+binary' => 1, 'model/x3d+vrml' => 1,
|
||||
'model/x3d+vrml' => 1, 'model/x3d+xml' => 1, 'model/x3d+xml' => 1, 'video/3gpp' => 1, 'video/3gpp2' => 1, 'video/h261' => 1, 'video/h263' => 1, 'video/h264' => 1, 'video/jpeg' => 1, 'video/jpm' => 1,
|
||||
'video/jpm' => 1, 'video/mj2' => 1, 'video/mj2' => 1, 'video/mp4' => 1, 'video/mp4' => 1, 'video/mp4' => 1, 'video/mpeg' => 1, 'video/mpeg' => 1, 'video/mpeg' => 1, 'video/mpeg' => 1, 'video/mpeg' => 1,
|
||||
'video/ogg' => 1, 'video/quicktime' => 1, 'video/quicktime' => 1, 'video/vnd.dece.hd' => 1, 'video/vnd.dece.hd' => 1, 'video/vnd.dece.mobile' => 1, 'video/vnd.dece.mobile' => 1, 'video/vnd.dece.pd' => 1,
|
||||
'video/vnd.dece.pd' => 1, 'video/vnd.dece.sd' => 1, 'video/vnd.dece.sd' => 1, 'video/vnd.dece.video' => 1, 'video/vnd.dece.video' => 1, 'video/vnd.dvb.file' => 1, 'video/vnd.fvt' => 1,
|
||||
'video/vnd.mpegurl' => 1, 'video/vnd.mpegurl' => 1, 'video/vnd.ms-playready.media.pyv' => 1, 'video/vnd.uvvu.mp4' => 1, 'video/vnd.uvvu.mp4' => 1, 'video/vnd.vivo' => 1, 'video/webm' => 1,
|
||||
'video/x-f4v' => 1, 'video/x-fli' => 1, 'video/x-flv' => 1, 'video/x-m4v' => 1, 'video/x-matroska' => 1, 'video/x-matroska' => 1, 'video/x-matroska' => 1, 'video/x-mng' => 1, 'video/x-ms-asf' => 1,
|
||||
'video/x-ms-asf' => 1, 'video/x-ms-vob' => 1, 'video/x-ms-wm' => 1, 'video/x-ms-wmv' => 1, 'video/x-ms-wmx' => 1, 'video/x-ms-wvx' => 1, 'video/x-msvideo' => 1, 'video/x-sgi-movie' => 1,
|
||||
'video/x-smv' => 1, 'x-conference/x-cooltalk' => 1
|
||||
);
|
||||
var $extList = array('ez' => 1, 'aw' => 1, 'atom' => 1, 'atomcat' => 1, 'atomsvc' => 1, 'ccxml' => 1, 'cdmia' => 1, 'cdmic' => 1, 'cdmid' => 1, 'cdmio' => 1, 'cdmiq' => 1, 'cu' => 1, 'davmount' => 1,
|
||||
'dbk' => 1, 'dssc' => 1, 'xdssc' => 1, 'ecma' => 1, 'emma' => 1, 'epub' => 1, 'exi' => 1, 'pfr' => 1, 'gml' => 1, 'gpx' => 1, 'gxf' => 1, 'stk' => 1, 'ink' => 1, 'inkml' => 1, 'ipfix' => 1, 'jar' => 1,
|
||||
'ser' => 1, 'class' => 1, 'js' => 1, 'json' => 1, 'jsonml' => 1, 'lostxml' => 1, 'hqx' => 1, 'cpt' => 1, 'mads' => 1, 'mrc' => 1, 'mrcx' => 1, 'ma' => 1, 'nb' => 1, 'mb' => 1, 'mathml' => 1, 'mbox' => 1,
|
||||
'mscml' => 1, 'metalink' => 1, 'meta4' => 1, 'mets' => 1, 'mods' => 1, 'm21 mp21' => 1, 'mp4s' => 1, 'doc dot' => 1, 'mxf' => 1, 'bin' => 1, 'dms' => 1, 'lrf' => 1, 'mar' => 1, 'so' => 1, 'dist' => 1,
|
||||
'distz' => 1, 'pkg' => 1, 'bpk' => 1, 'dump' => 1, 'elc' => 1, 'deploy' => 1, 'oda' => 1, 'opf' => 1, 'ogx' => 1, 'omdoc' => 1, 'onetoc' => 1, 'onetoc2' => 1, 'onetmp' => 1, 'onepkg' => 1, 'oxps' => 1,
|
||||
'xer' => 1, 'pdf' => 1, 'pgp' => 1, 'asc' => 1, 'sig' => 1, 'prf' => 1, 'p10' => 1, 'p7m' => 1, 'p7c' => 1, 'p7s' => 1, 'p8' => 1, 'ac' => 1, 'cer' => 1, 'crl' => 1, 'pkipath' => 1, 'pki' => 1, 'pls' => 1,
|
||||
'ai' => 1, 'eps' => 1, 'ps' => 1, 'cww' => 1, 'pskcxml' => 1, 'rdf' => 1, 'rif' => 1, 'rnc' => 1, 'rl' => 1, 'rld' => 1, 'rs' => 1, 'gbr' => 1, 'mft' => 1, 'roa' => 1, 'rsd' => 1, 'rss' => 1, 'rtf' => 1,
|
||||
'sbml' => 1, 'scq' => 1, 'scs' => 1, 'spq' => 1, 'spp' => 1, 'sdp' => 1, 'setpay' => 1, 'setreg' => 1, 'shf' => 1, 'smi' => 1, 'smil' => 1, 'rq' => 1, 'srx' => 1, 'gram' => 1, 'grxml' => 1, 'sru' => 1,
|
||||
'ssdl' => 1, 'ssml' => 1, 'tei' => 1, 'teicorpus' => 1, 'tfi' => 1, 'tsd' => 1, 'plb' => 1, 'psb' => 1, 'pvb' => 1, 'tcap' => 1, 'pwn' => 1, 'aso' => 1, 'imp' => 1, 'acu' => 1, 'atc' => 1, 'acutc' => 1,
|
||||
'air' => 1, 'fcdt' => 1, 'fxp' => 1, 'fxpl' => 1, 'xdp' => 1, 'xfdf' => 1, 'ahead' => 1, 'azf' => 1, 'azs' => 1, 'azw' => 1, 'acc' => 1, 'ami' => 1, 'apk' => 1, 'cii' => 1, 'fti' => 1, 'atx' => 1, 'mpkg' => 1,
|
||||
'm3u8' => 1, 'swi' => 1, 'iota' => 1, 'aep' => 1, 'mpm' => 1, 'bmi' => 1, 'rep' => 1, 'cdxml' => 1, 'mmd' => 1, 'cdy' => 1, 'cla' => 1, 'rp9' => 1, 'c4g' => 1, 'c4d' => 1, 'c4f' => 1, 'c4p' => 1, 'c4u' => 1,
|
||||
'c11amc' => 1, 'c11amz' => 1, 'csp' => 1, 'cdbcmsg' => 1, 'cmc' => 1, 'clkx' => 1, 'clkk' => 1, 'clkp' => 1, 'clkt' => 1, 'clkw' => 1, 'wbs' => 1, 'pml' => 1, 'ppd' => 1, 'car' => 1, 'pcurl' => 1, 'dart' => 1,
|
||||
'rdz' => 1, 'uvf' => 1, 'uvvf' => 1, 'uvd' => 1, 'uvvd' => 1, 'uvt' => 1, 'uvvt' => 1, 'uvx' => 1, 'uvvx' => 1, 'uvz' => 1, 'uvvz' => 1, 'fe_launch' => 1, 'dna' => 1, 'mlp' => 1, 'dpg' => 1, 'dfac' => 1,
|
||||
'kpxx' => 1, 'ait' => 1, 'svc' => 1, 'geo' => 1, 'mag' => 1, 'nml' => 1, 'esf' => 1, 'msf' => 1, 'qam' => 1, 'slt' => 1, 'ssf' => 1, 'es3' => 1, 'et3' => 1, 'ez2' => 1, 'ez3' => 1, 'fdf' => 1, 'mseed' => 1,
|
||||
'seed' => 1, 'dataless' => 1, 'gph' => 1, 'ftc' => 1, 'fm' => 1, 'frame' => 1, 'maker' => 1, 'book' => 1, 'fnc' => 1, 'ltf' => 1, 'fsc' => 1, 'oas' => 1, 'oa2' => 1, 'oa3' => 1, 'fg5' => 1, 'bh2' => 1, 'ddd' => 1,
|
||||
'xdw' => 1, 'xbd' => 1, 'fzs' => 1, 'txd' => 1, 'ggb' => 1, 'ggt' => 1, 'gex' => 1, 'gre' => 1, 'gxt' => 1, 'g2w' => 1, 'g3w' => 1, 'gmx' => 1, 'kml' => 1, 'kmz' => 1, 'gqf' => 1, 'gqs' => 1, 'gac' => 1, 'ghf' => 1,
|
||||
'gim' => 1, 'grv' => 1, 'gtm' => 1, 'tpl' => 1, 'vcg' => 1, 'hal' => 1, 'zmm' => 1, 'hbci' => 1, 'les' => 1, 'hpgl' => 1, 'hpid' => 1, 'hps' => 1, 'jlt' => 1, 'pcl' => 1, 'pclxl' => 1, 'sfd-hdstx' => 1, 'mpy' => 1,
|
||||
'afp' => 1, 'listafp' => 1, 'list3820' => 1, 'irm' => 1, 'sc' => 1, 'icc' => 1, 'icm' => 1, 'igl' => 1, 'ivp' => 1, 'ivu' => 1, 'igm' => 1, 'xpw' => 1, 'xpx' => 1, 'i2g' => 1, 'qbo' => 1, 'qfx' => 1,
|
||||
'rcprofile' => 1, 'irp' => 1, 'xpr' => 1, 'fcs' => 1, 'jam' => 1, 'rms' => 1, 'jisp' => 1, 'joda' => 1, 'ktz' => 1, 'ktr' => 1, 'karbon' => 1, 'chrt' => 1, 'kfo' => 1, 'flw' => 1, 'kon' => 1, 'kpr' => 1, 'kpt' => 1,
|
||||
'ksp' => 1, 'kwd' => 1, 'kwt' => 1, 'htke' => 1, 'kia' => 1, 'kne' => 1, 'knp' => 1, 'skp' => 1, 'skd' => 1, 'skt' => 1, 'skm' => 1, 'sse' => 1, 'lasxml' => 1, 'lbd' => 1, 'lbe' => 1, '123' => 1, 'apr' => 1,
|
||||
'pre' => 1, 'nsf' => 1, 'org' => 1, 'scm' => 1, 'lwp' => 1, 'portpkg' => 1, 'mcd' => 1, 'mc1' => 1, 'cdkey' => 1, 'mwf' => 1, 'mfm' => 1, 'flo' => 1, 'igx' => 1, 'mif' => 1, 'daf' => 1, 'dis' => 1, 'mbk' => 1,
|
||||
'mqy' => 1, 'msl' => 1, 'plc' => 1, 'txf' => 1, 'mpn' => 1, 'mpc' => 1, 'xul' => 1, 'cil' => 1, 'cab' => 1, 'xls' => 1, 'xlm' => 1, 'xla' => 1, 'xlc' => 1, 'xlt' => 1, 'xlw' => 1, 'xlam' => 1, 'xlsb' => 1, 'xlsm' => 1,
|
||||
'xltm' => 1, 'eot' => 1, 'chm' => 1, 'ims' => 1, 'lrm' => 1, 'thmx' => 1, 'cat' => 1, 'stl' => 1, 'ppt' => 1, 'pps' => 1, 'pot' => 1, 'ppam' => 1, 'pptm' => 1, 'sldm' => 1, 'ppsm' => 1, 'potm' => 1, 'mpp' => 1,
|
||||
'mpt' => 1, 'docm' => 1, 'dotm' => 1, 'wps' => 1, 'wks' => 1, 'wcm' => 1, 'wdb' => 1, 'wpl' => 1, 'xps' => 1, 'mseq' => 1, 'mus' => 1, 'msty' => 1, 'taglet' => 1, 'nlu' => 1, 'nitf' => 1, 'nitf' => 1, 'nnd' => 1,
|
||||
'nns' => 1, 'nnw' => 1, 'ngdat' => 1, 'n-gage' => 1, 'rpst' => 1, 'rpss' => 1, 'edm' => 1, 'edx' => 1, 'ext' => 1, 'odc' => 1, 'otc' => 1, 'odb' => 1, 'odf' => 1, 'odft' => 1, 'odg' => 1, 'otg' => 1, 'odi' => 1,
|
||||
'oti' => 1, 'odp' => 1, 'otp' => 1, 'ods' => 1, 'ots' => 1, 'odt' => 1, 'odm' => 1, 'ott' => 1, 'oth' => 1, 'xo' => 1, 'dd2' => 1, 'oxt' => 1, 'pptx' => 1, 'sldx' => 1, 'ppsx' => 1, 'potx' => 1, 'xlsx' => 1, 'xltx' => 1,
|
||||
'docx' => 1, 'dotx' => 1, 'mgp' => 1, 'dp' => 1, 'esa' => 1, 'pdb' => 1, 'pqa' => 1, 'oprc' => 1, 'paw' => 1, 'str' => 1, 'ei6' => 1, 'efif' => 1, 'wg' => 1, 'plf' => 1, 'pbd' => 1, 'box' => 1, 'mgz' => 1, 'qps' => 1,
|
||||
'ptid' => 1, 'qxd' => 1, 'qxt' => 1, 'qwd' => 1, 'qwt' => 1, 'qxl' => 1, 'qxb' => 1, 'bed' => 1, 'mxl' => 1, 'musicxml' => 1, 'cryptonote' => 1, 'cod' => 1, 'rm' => 1, 'rmvb' => 1, 'link66' => 1, 'st' => 1, 'see' => 1,
|
||||
'sema' => 1, 'semd' => 1, 'semf' => 1, 'ifm' => 1, 'itp' => 1, 'iif' => 1, 'ipk' => 1, 'twd' => 1, 'twds' => 1, 'mmf' => 1, 'teacher' => 1, 'sdkm' => 1, 'sdkd' => 1, 'dxp' => 1, 'sfs' => 1, 'sdc' => 1, 'sda' => 1,
|
||||
'sdd' => 1, 'smf' => 1, 'sdw' => 1, 'vor' => 1, 'sgl' => 1, 'smzip' => 1, 'sm' => 1, 'sxc' => 1, 'stc' => 1, 'sxd' => 1, 'std' => 1, 'sxi' => 1, 'sti' => 1, 'sxm' => 1, 'sxw' => 1, 'sxg' => 1, 'stw' => 1, 'sus' => 1,
|
||||
'susp' => 1, 'svd' => 1, 'sis' => 1, 'sisx' => 1, 'xsm' => 1, 'bdm' => 1, 'xdm' => 1, 'tao' => 1, 'pcap' => 1, 'cap' => 1, 'dmp' => 1, 'tmo' => 1, 'tpt' => 1, 'mxs' => 1, 'tra' => 1, 'ufd' => 1, 'ufdl' => 1, 'utz' => 1,
|
||||
'umj' => 1, 'unityweb' => 1, 'uoml' => 1, 'vcx' => 1, 'vsd' => 1, 'vst' => 1, 'vss' => 1, 'vsw' => 1, 'vis' => 1, 'vsf' => 1, 'wbxml' => 1, 'wmlc' => 1, 'wmlsc' => 1, 'wtb' => 1, 'nbp' => 1, 'wpd' => 1, 'wqd' => 1,
|
||||
'stf' => 1, 'xar' => 1, 'xfdl' => 1, 'hvd' => 1, 'hvs' => 1, 'hvp' => 1, 'osf' => 1, 'osfpvg' => 1, 'saf' => 1, 'spf' => 1, 'cmp' => 1, 'zir' => 1, 'zirz' => 1, 'zaz' => 1, 'vxml' => 1, 'wgt' => 1, 'hlp' => 1, 'wsdl' => 1,
|
||||
'wspolicy' => 1, '7z' => 1, 'abw' => 1, 'ace' => 1, 'dmg' => 1, 'aab' => 1, 'x32' => 1, 'u32' => 1, 'vox' => 1, 'aam' => 1, 'aas' => 1, 'bcpio' => 1, 'torrent' => 1, 'blb' => 1, 'blorb' => 1, 'bz' => 1, 'bz2' => 1,
|
||||
'boz' => 1, 'cbr' => 1, 'cba' => 1, 'cbt' => 1, 'cbz' => 1, 'cb7' => 1, 'vcd' => 1, 'cfs' => 1, 'chat' => 1, 'pgn' => 1, 'nsc' => 1, 'cpio' => 1, 'csh' => 1, 'deb' => 1, 'udeb' => 1, 'dgc' => 1, 'dir' => 1, 'dcr' => 1,
|
||||
'dxr' => 1, 'cst' => 1, 'cct' => 1, 'cxt' => 1, 'w3d' => 1, 'fgd' => 1, 'swa' => 1, 'wad' => 1, 'ncx' => 1, 'dtb' => 1, 'res' => 1, 'dvi' => 1, 'evy' => 1, 'eva' => 1, 'bdf' => 1, 'gsf' => 1, 'psf' => 1, 'otf' => 1,
|
||||
'pcf' => 1, 'snf' => 1, 'ttf' => 1, 'ttc' => 1, 'pfa' => 1, 'pfb' => 1, 'pfm' => 1, 'afm' => 1, 'woff' => 1, 'arc' => 1, 'spl' => 1, 'gca' => 1, 'ulx' => 1, 'gnumeric' => 1, 'gramps' => 1, 'gtar' => 1, 'hdf' => 1,
|
||||
'install' => 1, 'iso' => 1, 'jnlp' => 1, 'latex' => 1, 'lzh' => 1, 'lha' => 1, 'mie' => 1, 'prc' => 1, 'mobi' => 1, 'application' => 1, 'lnk' => 1, 'wmd' => 1, 'wmz' => 1, 'xbap' => 1, 'mdb' => 1, 'obd' => 1,
|
||||
'crd' => 1, 'clp' => 1, 'exe' => 1, 'dll' => 1, 'com' => 1, 'bat' => 1, 'msi' => 1, 'mvb' => 1, 'm13' => 1, 'm14' => 1, 'wmf' => 1, 'wmz' => 1, 'emf' => 1, 'emz' => 1, 'mny' => 1, 'pub' => 1, 'scd' => 1, 'trm' => 1,
|
||||
'wri' => 1, 'nc' => 1, 'cdf' => 1, 'nzb' => 1, 'p12' => 1, 'pfx' => 1, 'p7b' => 1, 'spc' => 1, 'p7r' => 1, 'rar' => 1, 'ris' => 1, 'sh' => 1, 'shar' => 1, 'swf' => 1, 'xap' => 1, 'sql' => 1, 'sit' => 1, 'sitx' => 1,
|
||||
'srt' => 1, 'sv4cpio' => 1, 'sv4crc' => 1, 't3' => 1, 'gam' => 1, 'tar' => 1, 'tcl' => 1, 'tex' => 1, 'tfm' => 1, 'texinfo' => 1, 'texi' => 1, 'obj' => 1, 'ustar' => 1, 'src' => 1, 'der' => 1, 'crt' => 1, 'fig' => 1,
|
||||
'xlf' => 1, 'xpi' => 1, 'xz' => 1, 'z1' => 1, 'z2' => 1, 'z3' => 1, 'z4' => 1, 'z5' => 1, 'z6' => 1, 'z7' => 1, 'z8' => 1, 'xaml' => 1, 'xdf' => 1, 'xenc' => 1, 'xhtml' => 1, 'xht' => 1, 'xml' => 1, 'xsl' => 1, 'dtd' => 1,
|
||||
'xop' => 1, 'xpl' => 1, 'xslt' => 1, 'xspf' => 1, 'mxml' => 1, 'xhvml' => 1, 'xvml' => 1, 'xvm' => 1, 'yang' => 1, 'yin' => 1, 'zip' => 1, 'adp' => 1, 'au' => 1, 'snd' => 1, 'mid' => 1, 'midi' => 1, 'kar' => 1, 'rmi' => 1,
|
||||
'mp4a' => 1, 'mpga' => 1, 'mp2' => 1, 'mp2a' => 1, 'mp3' => 1, 'm2a' => 1, 'm3a' => 1, 'oga' => 1, 'ogg' => 1, 'spx' => 1, 's3m' => 1, 'sil' => 1, 'uva' => 1, 'uvva' => 1, 'eol' => 1, 'dra' => 1, 'dts' => 1, 'dtshd' => 1,
|
||||
'lvp' => 1, 'pya' => 1, 'ecelp4800' => 1, 'ecelp7470' => 1, 'ecelp9600' => 1, 'rip' => 1, 'weba' => 1, 'aac' => 1, 'aif' => 1, 'aiff' => 1, 'aifc' => 1, 'caf' => 1, 'flac' => 1, 'mka' => 1, 'm3u' => 1, 'wax' => 1,
|
||||
'wma' => 1, 'ram' => 1, 'ra' => 1, 'rmp' => 1, 'wav' => 1, 'xm' => 1, 'cdx' => 1, 'cif' => 1, 'cmdf' => 1, 'cml' => 1, 'csml' => 1, 'xyz' => 1, 'bmp' => 1, 'cgm' => 1, 'g3' => 1, 'gif' => 1, 'ief' => 1, 'jpeg' => 1,
|
||||
'jpg' => 1, 'jpe' => 1, 'ktx' => 1, 'png' => 1, 'btif' => 1, 'sgi' => 1, 'svg' => 1, 'svgz' => 1, 'tiff' => 1, 'tif' => 1, 'psd' => 1, 'uvi' => 1, 'uvvi' => 1, 'uvg' => 1, 'uvvg' => 1, 'sub' => 1, 'djvu' => 1, 'djv' => 1,
|
||||
'dwg' => 1, 'dxf' => 1, 'fbs' => 1, 'fpx' => 1, 'fst' => 1, 'mmr' => 1, 'rlc' => 1, 'mdi' => 1, 'wdp' => 1, 'npx' => 1, 'wbmp' => 1, 'xif' => 1, 'webp' => 1, '3ds' => 1, 'ras' => 1, 'cmx' => 1, 'fh' => 1, 'fhc' => 1,
|
||||
'fh4' => 1, 'fh5' => 1, 'fh7' => 1, 'ico' => 1, 'sid' => 1, 'pcx' => 1, 'pic' => 1, 'pct' => 1, 'pnm' => 1, 'pbm' => 1, 'pgm' => 1, 'ppm' => 1, 'rgb' => 1, 'tga' => 1, 'xbm' => 1, 'xpm' => 1, 'xwd' => 1, 'eml' => 1,
|
||||
'mime' => 1, 'igs' => 1, 'iges' => 1, 'msh' => 1, 'mesh' => 1, 'silo' => 1, 'dae' => 1, 'dwf' => 1, 'gdl' => 1, 'gtw' => 1, 'mts' => 1, 'vtu' => 1, 'wrl' => 1, 'vrml' => 1, 'x3db' => 1, 'x3dbz' => 1, 'x3dv' => 1,
|
||||
'x3dvz' => 1, 'x3d' => 1, 'x3dz' => 1, '3gp' => 1, '3g2' => 1, 'h261' => 1, 'h263' => 1, 'h264' => 1, 'jpgv' => 1, 'jpm' => 1, 'jpgm' => 1, 'mj2' => 1, 'mjp2' => 1, 'mp4' => 1, 'mp4v' => 1, 'mpg4' => 1, 'mpeg' => 1,
|
||||
'mpg' => 1, 'mpe' => 1, 'm1v' => 1, 'm2v' => 1, 'ogv' => 1, 'qt' => 1, 'mov' => 1, 'uvh' => 1, 'uvvh' => 1, 'uvm' => 1, 'uvvm' => 1, 'uvp' => 1, 'uvvp' => 1, 'uvs' => 1, 'uvvs' => 1, 'uvv' => 1, 'uvvv' => 1, 'dvb' => 1,
|
||||
'fvt' => 1, 'mxu' => 1, 'm4u' => 1, 'pyv' => 1, 'uvu' => 1, 'uvvu' => 1, 'viv' => 1, 'webm' => 1, 'f4v' => 1, 'fli' => 1, 'flv' => 1, 'm4v' => 1, 'mkv' => 1, 'mk3d' => 1, 'mks' => 1, 'mng' => 1, 'asf' => 1, 'asx' => 1,
|
||||
'vob' => 1, 'wm' => 1, 'wmv' => 1, 'wmx' => 1, 'wvx' => 1, 'avi' => 1, 'movie' => 1, 'smv' => 1, 'ice' => 1,
|
||||
);
|
||||
|
||||
/**
|
||||
* @constructor
|
||||
|
|
@ -263,10 +31,6 @@ class EmbedFilter
|
|||
function __construct()
|
||||
{
|
||||
$this->_makeWhiteDomainList();
|
||||
|
||||
include FileHandler::getRealPath($this->whiteUrlCacheFile);
|
||||
$this->whiteUrlList = $whiteUrlList;
|
||||
$this->whiteIframeUrlList = $whiteIframeUrlList;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -495,7 +259,7 @@ class EmbedFilter
|
|||
{
|
||||
foreach($this->whiteUrlList AS $key => $value)
|
||||
{
|
||||
if(preg_match('@^' . preg_quote($value) . '@i', $urlAttribute))
|
||||
if(preg_match('@^https?://' . preg_quote($value, '@') . '@i', $urlAttribute))
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
|
@ -514,7 +278,7 @@ class EmbedFilter
|
|||
{
|
||||
foreach($this->whiteIframeUrlList AS $key => $value)
|
||||
{
|
||||
if(preg_match('@^' . preg_quote($value) . '@i', $urlAttribute))
|
||||
if(preg_match('@^https?://' . preg_quote($value, '@') . '@i', $urlAttribute))
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
|
@ -595,109 +359,64 @@ class EmbedFilter
|
|||
*/
|
||||
function _makeWhiteDomainList($whitelist = NULL)
|
||||
{
|
||||
$whiteUrlXmlFile = FileHandler::getRealPath($this->whiteUrlXmlFile);
|
||||
$whiteUrlCacheFile = FileHandler::getRealPath($this->whiteUrlCacheFile);
|
||||
$whiteUrlDefaultFile = FileHandler::getRealPath($this->whiteUrlDefaultFile);
|
||||
$whiteUrlDefaultList = (include $whiteUrlDefaultFile);
|
||||
$this->extList = $whiteUrlDefaultList['extensions'];
|
||||
$this->mimeTypeList = $whiteUrlDefaultList['mime'];
|
||||
$this->whiteUrlList = array();
|
||||
$this->whiteIframeUrlList = array();
|
||||
|
||||
$isMake = FALSE;
|
||||
if(!file_exists($whiteUrlCacheFile))
|
||||
if($whitelist !== NULL)
|
||||
{
|
||||
$isMake = TRUE;
|
||||
}
|
||||
if(file_exists($whiteUrlCacheFile) && filemtime($whiteUrlCacheFile) < filemtime($whiteUrlXmlFile))
|
||||
{
|
||||
$isMake = TRUE;
|
||||
}
|
||||
|
||||
if(gettype($whitelist) == 'array' && gettype($whitelist['object']) == 'array' && gettype($whitelist['iframe']) == 'array')
|
||||
{
|
||||
$isMake = FALSE;
|
||||
}
|
||||
|
||||
if(isset($whitelist) && gettype($whitelist) == 'object')
|
||||
{
|
||||
$isMake = TRUE;
|
||||
}
|
||||
|
||||
if($isMake)
|
||||
{
|
||||
$whiteUrlList = array();
|
||||
$whiteIframeUrlList = array();
|
||||
|
||||
if(gettype($whitelist->object) == 'array' && gettype($whitelist->iframe) == 'array')
|
||||
if(!is_array($whitelist) || !isset($whitelist['object']) || !isset($whitelist['iframe']))
|
||||
{
|
||||
$whiteUrlList = $whitelist->object;
|
||||
$whiteIframeUrlList = $whitelist->iframe;
|
||||
$whitelist = array(
|
||||
'object' => isset($whitelist->object) ? $whitelist->object : array(),
|
||||
'iframe' => isset($whitelist->iframe) ? $whitelist->iframe : array(),
|
||||
);
|
||||
}
|
||||
else
|
||||
foreach ($whitelist['object'] as $prefix)
|
||||
{
|
||||
$xmlBuff = FileHandler::readFile($this->whiteUrlXmlFile);
|
||||
|
||||
$xmlParser = new XmlParser();
|
||||
$domainListObj = $xmlParser->parse($xmlBuff);
|
||||
$embedDomainList = $domainListObj->whiteurl->embed->domain;
|
||||
$iframeDomainList = $domainListObj->whiteurl->iframe->domain;
|
||||
if(!is_array($embedDomainList)) $embedDomainList = array();
|
||||
if(!is_array($iframeDomainList)) $iframeDomainList = array();
|
||||
|
||||
foreach($embedDomainList AS $key => $value)
|
||||
{
|
||||
$patternList = $value->pattern;
|
||||
if(is_array($patternList))
|
||||
{
|
||||
foreach($patternList AS $key => $value)
|
||||
{
|
||||
$whiteUrlList[] = $value->body;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$whiteUrlList[] = $patternList->body;
|
||||
}
|
||||
}
|
||||
|
||||
foreach($iframeDomainList AS $key => $value)
|
||||
{
|
||||
$patternList = $value->pattern;
|
||||
if(is_array($patternList))
|
||||
{
|
||||
foreach($patternList AS $key => $value)
|
||||
{
|
||||
$whiteIframeUrlList[] = $value->body;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$whiteIframeUrlList[] = $patternList->body;
|
||||
}
|
||||
}
|
||||
$this->whiteUrlList[] = preg_match('@^https?://(.*)$@i', $prefix, $matches) ? $matches[1] : $prefix;
|
||||
}
|
||||
|
||||
foreach ($whitelist['iframe'] as $prefix)
|
||||
{
|
||||
$this->whiteIframeUrlList[] = preg_match('@^https?://(.*)$@i', $prefix, $matches) ? $matches[1] : $prefix;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach ($whiteUrlDefaultList['object'] as $prefix)
|
||||
{
|
||||
$this->whiteUrlList[] = $prefix;
|
||||
}
|
||||
foreach ($whiteUrlDefaultList['iframe'] as $prefix)
|
||||
{
|
||||
$this->whiteIframeUrlList[] = $prefix;
|
||||
}
|
||||
|
||||
$db_info = Context::getDBInfo();
|
||||
|
||||
if($db_info->embed_white_object)
|
||||
if(isset($db_info->embed_white_object) && count($db_info->embed_white_object))
|
||||
{
|
||||
$whiteUrlList = array_merge($whiteUrlList, $db_info->embed_white_object);
|
||||
foreach ($db_info->embed_white_object as $prefix)
|
||||
{
|
||||
$this->whiteUrlList[] = preg_match('@^https?://(.*)$@i', $prefix, $matches) ? $matches[1] : $prefix;
|
||||
}
|
||||
}
|
||||
|
||||
if($db_info->embed_white_iframe)
|
||||
if(isset($db_info->embed_white_iframe) && count($db_info->embed_white_iframe))
|
||||
{
|
||||
$whiteIframeUrlList = array_merge($whiteIframeUrlList, $db_info->embed_white_iframe);
|
||||
foreach ($db_info->embed_white_iframe as $prefix)
|
||||
{
|
||||
$this->whiteIframeUrlList[] = preg_match('@^https?://(.*)$@i', $prefix, $matches) ? $matches[1] : $prefix;
|
||||
}
|
||||
}
|
||||
|
||||
$whiteUrlList = array_unique($whiteUrlList);
|
||||
$whiteIframeUrlList = array_unique($whiteIframeUrlList);
|
||||
asort($whiteUrlList);
|
||||
asort($whiteIframeUrlList);
|
||||
|
||||
$buff = array();
|
||||
$buff[] = '<?php if(!defined("__XE__")) exit();';
|
||||
$buff[] = '$whiteUrlList = ' . var_export($whiteUrlList, TRUE) . ';';
|
||||
$buff[] = '$whiteIframeUrlList = ' . var_export($whiteIframeUrlList, TRUE) . ';';
|
||||
|
||||
FileHandler::writeFile($this->whiteUrlCacheFile, implode(PHP_EOL, $buff));
|
||||
}
|
||||
}
|
||||
|
||||
$this->whiteUrlList = array_unique($this->whiteUrlList);
|
||||
$this->whiteIframeUrlList = array_unique($this->whiteIframeUrlList);
|
||||
natcasesort($this->whiteUrlList);
|
||||
natcasesort($this->whiteIframeUrlList);
|
||||
}
|
||||
}
|
||||
/* End of file : EmbedFilter.class.php */
|
||||
/* Location: ./classes/security/EmbedFilter.class.php */
|
||||
|
|
|
|||
|
|
@ -12,11 +12,6 @@ class Purifier
|
|||
public function __construct()
|
||||
{
|
||||
$this->_checkCacheDir();
|
||||
|
||||
// purifier setting
|
||||
require_once _XE_PATH_ . 'classes/security/htmlpurifier/library/HTMLPurifier.auto.php';
|
||||
require_once 'HTMLPurifier.func.php';
|
||||
|
||||
$this->_setConfig();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,90 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<whiteurl>
|
||||
<embed>
|
||||
<domain name="http://www.naver.com" isNAVER="true" desc="네이버">
|
||||
<pattern>http://serviceapi.nmv.naver.com/</pattern>
|
||||
<pattern>http://scrap.ad.naver.com/</pattern>
|
||||
<pattern>http://event.dn.naver.com/sbsplayer/vmplayer.xap</pattern>
|
||||
</domain>
|
||||
<domain name="" isNAVER="true" desc="네이버 뮤직 서비스">
|
||||
<pattern>http://musicplayer.naver.com/naverPlayer/posting/</pattern>
|
||||
<pattern>http://player.music.naver.com/naverPlayer/posting/</pattern>
|
||||
</domain>
|
||||
<domain name="http://www.daum.net" desc="다음">
|
||||
<pattern>http://flvs.daum.net/flvPlayer.swf</pattern>
|
||||
<pattern>http://api.v.daum.net/</pattern>
|
||||
<pattern>http://tvpot.daum.net/playlist/playlist.swf</pattern>
|
||||
<pattern>http://videofarm.daum.net/</pattern>
|
||||
</domain>
|
||||
<domain name="http://www.youtube.com" desc="Youtube">
|
||||
<pattern>http://www.youtube.com/</pattern>
|
||||
<pattern>https://www.youtube.com/</pattern>
|
||||
<pattern>http://www.youtube-nocookie.com/</pattern>
|
||||
<pattern>https://www.youtube-nocookie.com/</pattern>
|
||||
</domain>
|
||||
<domain name="http://www.mgoon.com" desc="엠군">
|
||||
<pattern>http://play.mgoon.com/</pattern>
|
||||
<pattern>http://doc.mgoon.com/player/</pattern>
|
||||
</domain>
|
||||
<domain name="http://www.pandora.tv" desc="판도라TV">
|
||||
<pattern>http://flvr.pandora.tv/flv2pan/</pattern>
|
||||
<pattern>http://imgcdn.pandora.tv/gplayer/pandora_EGplayer.swf</pattern>
|
||||
<pattern>http://imgcdn.pandora.tv/gplayer/flJal.swf</pattern>
|
||||
</domain>
|
||||
<domain name="http://www.tagstory.com" desc="태그스토리">
|
||||
<pattern>http://play.tagstory.com/player/</pattern>
|
||||
<pattern>http://www.tagstory.com/player/basic/</pattern>
|
||||
</domain>
|
||||
<domain name="" desc="싸이월드">
|
||||
<pattern>http://dbi.video.cyworld.com/v.sk/</pattern>
|
||||
</domain>
|
||||
<domain name="" desc="이글루스 동영상">
|
||||
<pattern>http://v.egloos.com/v.sk/</pattern>
|
||||
</domain>
|
||||
<domain name="http://www.nate.com" desc="네이트">
|
||||
<pattern>http://v.nate.com/v.sk/</pattern>
|
||||
<pattern>http://w.blogdoc.nate.com/</pattern>
|
||||
<pattern>http://blogdoc.nate.com/flash/blogdoc_widget_reco.swf</pattern>
|
||||
</domain>
|
||||
<domain name="http://www.kbs.co.kr" desc="KBS">
|
||||
<pattern>http://www.kbs.co.kr/zzim/vmplayer/vmplayer.xap</pattern>
|
||||
<pattern>http://vmark.kbs.co.kr/zzim/vmplayer/vmplayer.xap</pattern>
|
||||
</domain>
|
||||
<domain name="http://www.sbs.co.kr" desc="SBS">
|
||||
<pattern>http://netv.sbs.co.kr/sbox/</pattern>
|
||||
<pattern>http://news.sbs.co.kr/</pattern>
|
||||
<pattern>http://wizard2.sbs.co.kr/</pattern>
|
||||
<pattern>http://sbsplayer.sbs.co.kr/</pattern>
|
||||
</domain>
|
||||
<domain name="http://www.imbc.com" desc="MBC">
|
||||
<pattern>http://onemore.imbc.com/ClientBin/oneplus.xap</pattern>
|
||||
</domain>
|
||||
<domain name="" isNAVER="true" desc="socialsearch">
|
||||
<pattern>http://static.campaign.naver.com/</pattern>
|
||||
</domain>
|
||||
</embed>
|
||||
<iframe>
|
||||
<domain name="http://www.youtube.com" desc="유튜브 동영상" mobile="true">
|
||||
<pattern>http://www.youtube.com/</pattern>
|
||||
<pattern>https://www.youtube.com/</pattern>
|
||||
<pattern>http://www.youtube-nocookie.com/</pattern>
|
||||
<pattern>https://www.youtube-nocookie.com/</pattern>
|
||||
</domain>
|
||||
<domain name="http://maps.google.com" desc="구글맵스" mobile="true">
|
||||
<pattern>http://maps.google.com/</pattern>
|
||||
<pattern>http://maps.google.co.kr/</pattern>
|
||||
</domain>
|
||||
<domain name="http://flvs.daum.net" desc="다음 TV 팟 동영상" mobile="false">
|
||||
<pattern>http://flvs.daum.net/</pattern>
|
||||
</domain>
|
||||
<domain name="http://www.sbs.co.kr" desc="SBS">
|
||||
<pattern>http://sbsplayer.sbs.co.kr/</pattern>
|
||||
</domain>
|
||||
<domain name="http://www.vimeo.com" desc="vimeo.com">
|
||||
<pattern>http://player.vimeo.com/</pattern>
|
||||
</domain>
|
||||
<domain name="http://tvcast.naver.com" isNAVER="true" desc="NAVER TVCAST">
|
||||
<pattern>http://serviceapi.rmcnmv.naver.com/</pattern>
|
||||
</domain>
|
||||
</iframe>
|
||||
</whiteurl>
|
||||
1715
classes/security/conf/whitelist.php
Normal file
1715
classes/security/conf/whitelist.php
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -123,7 +123,7 @@ class TemplateHandler
|
|||
// store the starting time for debug information
|
||||
if(__DEBUG__ == 3)
|
||||
{
|
||||
$start = getMicroTime();
|
||||
$start = microtime(true);
|
||||
}
|
||||
|
||||
// initiation
|
||||
|
|
@ -184,7 +184,7 @@ class TemplateHandler
|
|||
// store the ending time for debug information
|
||||
if(__DEBUG__ == 3)
|
||||
{
|
||||
$GLOBALS['__template_elapsed__'] += getMicroTime() - $start;
|
||||
$GLOBALS['__template_elapsed__'] += microtime(true) - $start;
|
||||
}
|
||||
|
||||
return $output;
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ class XmlParser
|
|||
// Save the compile starting time for debugging
|
||||
if(__DEBUG__ == 3)
|
||||
{
|
||||
$start = getMicroTime();
|
||||
$start = microtime(true);
|
||||
}
|
||||
|
||||
$this->lang = Context::getLangType();
|
||||
|
|
@ -143,7 +143,7 @@ class XmlParser
|
|||
// Save compile starting time for debugging
|
||||
if(__DEBUG__ == 3)
|
||||
{
|
||||
$GLOBALS['__xmlparse_elapsed__'] += getMicroTime() - $start;
|
||||
$GLOBALS['__xmlparse_elapsed__'] += microtime(true) - $start;
|
||||
}
|
||||
|
||||
return $output;
|
||||
|
|
|
|||
|
|
@ -8,4 +8,4 @@ settings:
|
|||
bootstrap: _bootstrap.php
|
||||
colors: true
|
||||
memory_limit: 1024M
|
||||
error_level: "E_ALL & ~E_WARNING & ~E_STRICT & ~E_DEPRECATED & ~E_NOTICE"
|
||||
error_level: "E_ALL & ~E_STRICT & ~E_DEPRECATED & ~E_NOTICE"
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1,5 +1,5 @@
|
|||
en,English
|
||||
ko,한국어
|
||||
en,English
|
||||
jp,日本語
|
||||
zh-CN,中文(中国)
|
||||
zh-TW,中文(臺灣)
|
||||
|
|
|
|||
|
|
@ -2033,6 +2033,15 @@
|
|||
<value xml:lang="vi"><![CDATA[Ngày gửi]]></value>
|
||||
<value xml:lang="mn"><![CDATA[Оруулсан өдөр]]></value>
|
||||
</item>
|
||||
<item name="anonymous">
|
||||
<value xml:lang="ko"><![CDATA[익명]]></value>
|
||||
<value xml:lang="en"><![CDATA[Anonymous]]></value>
|
||||
<value xml:lang="jp"><![CDATA[匿名]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[匿名]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[匿名]]></value>
|
||||
<value xml:lang="tr"><![CDATA[Anonim]]></value>
|
||||
<value xml:lang="vi"><![CDATA[Anonymous]]></value>
|
||||
</item>
|
||||
<item name="last_update">
|
||||
<value xml:lang="ko"><![CDATA[최근 수정일]]></value>
|
||||
<value xml:lang="en"><![CDATA[Last Update]]></value>
|
||||
|
|
@ -3963,18 +3972,18 @@
|
|||
</item>
|
||||
<item name="license_agreement">
|
||||
<value xml:lang="ko"><![CDATA[사용권 동의]]></value>
|
||||
<value xml:lang="en"><![CDATA[License agree]]></value>
|
||||
<value xml:lang="en"><![CDATA[License Agreement]]></value>
|
||||
</item>
|
||||
<item name="license">
|
||||
<value xml:lang="ko"><![CDATA[<p>Copyright (C) NAVER <http://www.navercorp.com></p> <p>"XpressEngine (XE)"은 자유 소프트웨어이며, 오픈 소스 프로젝트로 개발되고 있습니다. 자세한 내용은 아래 링크를 참조하시기 바랍니다.</p> <ul> <li>공식 사이트: <a href="http://www.xpressengine.com">http://www.xpressengine.com</a></li> <li>공식 저장소: <a href="http://github.com/xpressengine">http://github.com/xpressengine</a></li> </ul> <p>"XpressEngine (XE)"은 자유 소프트웨어입니다. 소프트웨어의 피양도자는 자유 소프트웨어 재단이 공표한 GNU 약소 일반 공중 사용 허가서 2.1판 또는 그 이후 판을 임의로 선택해서, 그 규정에 따라 소프트웨어를 개작하거나 재배포할 수 있습니다.</p> <p>이 소프트웨어는 유용하게 사용될 수 있으리라는 희망에서 배포되고 있지만, 특정한 목적에 맞는 적합성 여부나 판매용으로 사용할 수 있으리라는 묵시적인 보증을 포함한 어떠한 형태의 보증도 제공하지 않습니다. 보다 자세한 사항에 대해서는 GNU 약소 일반 공중 사용 허가서를 참고하시기 바랍니다.</p> <p>GNU 약소 일반 공중 사용 허가서는 이 라이브러리와 함께 제공됩니다. 만약, 이 문서가 누락되어 있다면 자유 소프트웨어 재단으로 문의하시기 바랍니다. (자유 소프트웨어 재단: Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA)</p> <ul> <li>한국어 번역문 (비공식) : <a href="http://korea.gnu.org/people/chsong/copyleft/lgpl.ko.html" target="_blank">GNU Lesser General Public License, version 2.1</a></li> <li>영문 (공식 원본) : <a href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html" target="_blank">GNU Lesser General Public License, version 2.1</a></li> </ul>]]></value>
|
||||
<value xml:lang="en"><![CDATA[<p>Copyright (C) NAVER <http://www.navercorp.com></p> <p>"XpressEngine (XE)" is an opensource and being developed in the opensource project. For more information, please see the link below.</p> <ul> <li>Official website: <a href="http://www.xpressengine.com">http://www.xpressengine.com</a></li> <li>Official Repository: <a href="http://github.com/xpressengine">http://github.com/xpressengine</a></li> </ul> <p>"XpressEngine (XE)" is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.</p> <p>This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.</p> <p>You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA</p> <ul> <li>License : <a href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html" target="_blank">GNU Lesser General Public License, version 2.1</a></li> </ul>]]></value>
|
||||
<value xml:lang="ko"><![CDATA[LGPL v2.1]]></value>
|
||||
<value xml:lang="en"><![CDATA[LGPL v2.1]]></value>
|
||||
</item>
|
||||
<item name="cmd_license_agree">
|
||||
<value xml:lang="ko"><![CDATA[사용권에 대해 이해했으며, 이에 동의합니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[I understand the license. I agree.]]></value>
|
||||
<value xml:lang="en"><![CDATA[I understand the license, and I accept it.]]></value>
|
||||
</item>
|
||||
<item name="msg_must_accept_license_agreement">
|
||||
<value xml:lang="ko"><![CDATA[사용권에 동의해야 설치할 수 있습니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[You must accept the license agreement]]></value>
|
||||
<value xml:lang="ko"><![CDATA[사용권에 동의해야 설치를 진행할 수 있습니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[You must accept the license agreement in order to continue.]]></value>
|
||||
</item>
|
||||
</lang>
|
||||
|
|
|
|||
|
|
@ -1,18 +1,35 @@
|
|||
{
|
||||
"name": "xpressengine/xe-core",
|
||||
"license": "GNU LGPL",
|
||||
"name": "xetown/xe-core",
|
||||
"description": "XpressEngine XETOWN Remix",
|
||||
"homepage": "https://www.xetown.com/",
|
||||
"license": "LGPL-2.1",
|
||||
"type": "project",
|
||||
"authors": [
|
||||
{
|
||||
"name": "NAVER",
|
||||
"email": "developers@xpressengine.com"
|
||||
}
|
||||
{ "name": "NAVER", "email": "developers@xpressengine.com" },
|
||||
{ "name": "XETOWN Contributors" }
|
||||
],
|
||||
"require": {
|
||||
"php": ">=5.4.0"
|
||||
"php": ">=5.3.0",
|
||||
"ext-curl": "*",
|
||||
"ext-gd": "*",
|
||||
"ext-iconv": "*",
|
||||
"ext-json": "*",
|
||||
"ext-mbstring": "*",
|
||||
"ext-mcrypt": "*",
|
||||
"ext-openssl": "*",
|
||||
"ext-pcre": "*",
|
||||
"ext-xml": "*",
|
||||
"defuse/php-encryption": "1.2.1",
|
||||
"ezyang/htmlpurifier": "4.7.*",
|
||||
"matthiasmullie/minify": "1.3.*",
|
||||
"michelf/php-markdown": "1.5.*",
|
||||
"rmccue/requests": "1.6.*",
|
||||
"sunra/php-simple-html-dom-parser": "1.5.*"
|
||||
},
|
||||
"require-dev": {
|
||||
"codeception/codeception": "~2.0",
|
||||
"codeception/verify": "0.2.*",
|
||||
"php": ">=5.4.0",
|
||||
"codeception/codeception": "2.1.*",
|
||||
"codeception/verify": "0.3.*",
|
||||
"codeception/specify": "0.4.*"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
369
composer.lock
generated
Normal file
369
composer.lock
generated
Normal file
|
|
@ -0,0 +1,369 @@
|
|||
{
|
||||
"_readme": [
|
||||
"This file locks the dependencies of your project to a known state",
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"hash": "8649ea9e0951fe7dd685f9bb14e4a17d",
|
||||
"content-hash": "0276b439721108d097fff978f7ee1c93",
|
||||
"packages": [
|
||||
{
|
||||
"name": "defuse/php-encryption",
|
||||
"version": "v1.2.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/defuse/php-encryption.git",
|
||||
"reference": "b87737b2eec06b13f025cabea847338fa203d1b4"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/defuse/php-encryption/zipball/b87737b2eec06b13f025cabea847338fa203d1b4",
|
||||
"reference": "b87737b2eec06b13f025cabea847338fa203d1b4",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-mcrypt": "*",
|
||||
"ext-openssl": "*",
|
||||
"php": ">=5.4.0"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"files": [
|
||||
"Crypto.php"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Taylor Hornby",
|
||||
"email": "havoc@defuse.ca"
|
||||
}
|
||||
],
|
||||
"description": "Secure PHP Encryption Library",
|
||||
"keywords": [
|
||||
"aes",
|
||||
"cipher",
|
||||
"encryption",
|
||||
"mcrypt",
|
||||
"security"
|
||||
],
|
||||
"time": "2015-03-14 20:27:45"
|
||||
},
|
||||
{
|
||||
"name": "ezyang/htmlpurifier",
|
||||
"version": "v4.7.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/ezyang/htmlpurifier.git",
|
||||
"reference": "ae1828d955112356f7677c465f94f7deb7d27a40"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/ae1828d955112356f7677c465f94f7deb7d27a40",
|
||||
"reference": "ae1828d955112356f7677c465f94f7deb7d27a40",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.2"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-0": {
|
||||
"HTMLPurifier": "library/"
|
||||
},
|
||||
"files": [
|
||||
"library/HTMLPurifier.composer.php"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"LGPL"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Edward Z. Yang",
|
||||
"email": "admin@htmlpurifier.org",
|
||||
"homepage": "http://ezyang.com"
|
||||
}
|
||||
],
|
||||
"description": "Standards compliant HTML filter written in PHP",
|
||||
"homepage": "http://htmlpurifier.org/",
|
||||
"keywords": [
|
||||
"html"
|
||||
],
|
||||
"time": "2015-08-05 01:03:42"
|
||||
},
|
||||
{
|
||||
"name": "matthiasmullie/minify",
|
||||
"version": "1.3.30",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/matthiasmullie/minify.git",
|
||||
"reference": "0cd5108683e7376e795555ced56229c4c16597aa"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/matthiasmullie/minify/zipball/0cd5108683e7376e795555ced56229c4c16597aa",
|
||||
"reference": "0cd5108683e7376e795555ced56229c4c16597aa",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-pcre": "*",
|
||||
"matthiasmullie/path-converter": "~1.0",
|
||||
"php": ">=5.3.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"matthiasmullie/scrapbook": "~1.0",
|
||||
"phpunit/phpunit": "~4.8",
|
||||
"satooshi/php-coveralls": "~1.0"
|
||||
},
|
||||
"bin": [
|
||||
"bin/minifycss",
|
||||
"bin/minifyjs"
|
||||
],
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"MatthiasMullie\\Minify\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Matthias Mullie",
|
||||
"email": "minify@mullie.eu",
|
||||
"homepage": "http://www.mullie.eu",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"description": "CSS & JS minifier",
|
||||
"homepage": "http://www.minifier.org",
|
||||
"keywords": [
|
||||
"JS",
|
||||
"css",
|
||||
"javascript",
|
||||
"minifier",
|
||||
"minify"
|
||||
],
|
||||
"time": "2016-01-05 07:43:18"
|
||||
},
|
||||
{
|
||||
"name": "matthiasmullie/path-converter",
|
||||
"version": "1.0.6",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/matthiasmullie/path-converter.git",
|
||||
"reference": "9f83d0c398dbe70f45f5840d95ffad73d5efd35f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/matthiasmullie/path-converter/zipball/9f83d0c398dbe70f45f5840d95ffad73d5efd35f",
|
||||
"reference": "9f83d0c398dbe70f45f5840d95ffad73d5efd35f",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-pcre": "*",
|
||||
"php": ">=5.3.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "~4.8",
|
||||
"satooshi/php-coveralls": "~1.0"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"MatthiasMullie\\PathConverter\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Matthias Mullie",
|
||||
"email": "pathconverter@mullie.eu",
|
||||
"homepage": "http://www.mullie.eu",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"description": "Relative path converter",
|
||||
"homepage": "http://github.com/matthiasmullie/path-converter",
|
||||
"keywords": [
|
||||
"converter",
|
||||
"path",
|
||||
"paths",
|
||||
"relative"
|
||||
],
|
||||
"time": "2016-01-05 07:45:30"
|
||||
},
|
||||
{
|
||||
"name": "michelf/php-markdown",
|
||||
"version": "1.5.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/michelf/php-markdown.git",
|
||||
"reference": "e1aabe18173231ebcefc90e615565742fc1c7fd9"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/michelf/php-markdown/zipball/e1aabe18173231ebcefc90e615565742fc1c7fd9",
|
||||
"reference": "e1aabe18173231ebcefc90e615565742fc1c7fd9",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-lib": "1.4.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-0": {
|
||||
"Michelf": ""
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"BSD-3-Clause"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "John Gruber",
|
||||
"homepage": "http://daringfireball.net/"
|
||||
},
|
||||
{
|
||||
"name": "Michel Fortin",
|
||||
"email": "michel.fortin@michelf.ca",
|
||||
"homepage": "https://michelf.ca/",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"description": "PHP Markdown",
|
||||
"homepage": "https://michelf.ca/projects/php-markdown/",
|
||||
"keywords": [
|
||||
"markdown"
|
||||
],
|
||||
"time": "2015-03-01 12:03:08"
|
||||
},
|
||||
{
|
||||
"name": "rmccue/requests",
|
||||
"version": "v1.6.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/rmccue/Requests.git",
|
||||
"reference": "6aac485666c2955077d77b796bbdd25f0013a4ea"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/rmccue/Requests/zipball/6aac485666c2955077d77b796bbdd25f0013a4ea",
|
||||
"reference": "6aac485666c2955077d77b796bbdd25f0013a4ea",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.2"
|
||||
},
|
||||
"require-dev": {
|
||||
"satooshi/php-coveralls": "dev-master"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-0": {
|
||||
"Requests": "library/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"ISC"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Ryan McCue",
|
||||
"homepage": "http://ryanmccue.info"
|
||||
}
|
||||
],
|
||||
"description": "A HTTP library written in PHP, for human beings.",
|
||||
"homepage": "http://github.com/rmccue/Requests",
|
||||
"keywords": [
|
||||
"curl",
|
||||
"fsockopen",
|
||||
"http",
|
||||
"idna",
|
||||
"ipv6",
|
||||
"iri",
|
||||
"sockets"
|
||||
],
|
||||
"time": "2014-05-18 04:59:02"
|
||||
},
|
||||
{
|
||||
"name": "sunra/php-simple-html-dom-parser",
|
||||
"version": "v1.5.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sunra/php-simple-html-dom-parser.git",
|
||||
"reference": "a0b80ace086c7e09085669205e1b3c2c9c7a453c"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sunra/php-simple-html-dom-parser/zipball/a0b80ace086c7e09085669205e1b3c2c9c7a453c",
|
||||
"reference": "a0b80ace086c7e09085669205e1b3c2c9c7a453c",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.2"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-0": {
|
||||
"Sunra\\PhpSimple\\HtmlDomParser": "Src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "sunra",
|
||||
"email": "sunra@yandex.ru",
|
||||
"homepage": "http://github.com/sunra"
|
||||
}
|
||||
],
|
||||
"description": "Composer adaptation of: A HTML DOM parser written in PHP5+ let you manipulate HTML in a very easy way! Require PHP 5+. Supports invalid HTML. Find tags on an HTML page with selectors just like jQuery. Extract contents from HTML in a single line.",
|
||||
"homepage": "https://github.com/sunra/php-simple-html-dom-parser",
|
||||
"keywords": [
|
||||
"dom",
|
||||
"html",
|
||||
"parser"
|
||||
],
|
||||
"time": "2013-05-04 14:32:03"
|
||||
}
|
||||
],
|
||||
"packages-dev": null,
|
||||
"aliases": [],
|
||||
"minimum-stability": "stable",
|
||||
"stability-flags": [],
|
||||
"prefer-stable": false,
|
||||
"prefer-lowest": false,
|
||||
"platform": {
|
||||
"php": ">=5.3.0",
|
||||
"ext-curl": "*",
|
||||
"ext-gd": "*",
|
||||
"ext-iconv": "*",
|
||||
"ext-json": "*",
|
||||
"ext-mbstring": "*",
|
||||
"ext-mcrypt": "*",
|
||||
"ext-openssl": "*",
|
||||
"ext-pcre": "*",
|
||||
"ext-xml": "*"
|
||||
},
|
||||
"platform-dev": []
|
||||
}
|
||||
|
|
@ -9,11 +9,11 @@
|
|||
*/
|
||||
if(version_compare(PHP_VERSION, '5.4.0', '<'))
|
||||
{
|
||||
@error_reporting(E_ALL ^ E_NOTICE ^ E_DEPRECATED ^ E_WARNING);
|
||||
@error_reporting(E_ALL ^ E_NOTICE ^ E_DEPRECATED);
|
||||
}
|
||||
else
|
||||
{
|
||||
@error_reporting(E_ALL ^ E_NOTICE ^ E_DEPRECATED ^ E_WARNING ^ E_STRICT);
|
||||
@error_reporting(E_ALL ^ E_NOTICE ^ E_DEPRECATED ^ E_STRICT);
|
||||
}
|
||||
|
||||
if(!defined('__XE__'))
|
||||
|
|
@ -305,7 +305,7 @@ if(version_compare(PHP_VERSION, '5.3.0') >= 0)
|
|||
require(_XE_PATH_ . 'config/func.inc.php');
|
||||
|
||||
if(__DEBUG__) {
|
||||
define('__StartTime__', getMicroTime());
|
||||
define('__StartTime__', microtime(true));
|
||||
}
|
||||
|
||||
if(__DEBUG__) {
|
||||
|
|
@ -412,7 +412,7 @@ $GLOBALS['__xe_autoload_file_map'] = array_change_key_case(array(
|
|||
function __xe_autoload($class_name)
|
||||
{
|
||||
if(__DEBUG__) {
|
||||
$time_at = getMicroTime();
|
||||
$time_at = microtime(true);
|
||||
}
|
||||
|
||||
if(isset($GLOBALS['__xe_autoload_file_map'][strtolower($class_name)]))
|
||||
|
|
@ -436,7 +436,7 @@ function __xe_autoload($class_name)
|
|||
}
|
||||
|
||||
if(__DEBUG__) {
|
||||
$GLOBALS['__elapsed_class_load__'] += getMicroTime() - $time_at;
|
||||
$GLOBALS['__elapsed_class_load__'] += microtime(true) - $time_at;
|
||||
}
|
||||
}
|
||||
spl_autoload_register('__xe_autoload');
|
||||
|
|
|
|||
|
|
@ -14,12 +14,18 @@ if(!defined('__XE__'))
|
|||
// define an empty function to avoid errors when iconv function doesn't exist
|
||||
if(!function_exists('iconv'))
|
||||
{
|
||||
eval('
|
||||
function iconv($in_charset, $out_charset, $str)
|
||||
function iconv($in_charset, $out_charset, $str)
|
||||
{
|
||||
if(function_exists('mb_convert_encoding'))
|
||||
{
|
||||
$out_charset = preg_replace('#//.+$#', '', $out_charset);
|
||||
return mb_convert_encoding($str, $out_charset, $in_charset);
|
||||
}
|
||||
else
|
||||
{
|
||||
return $str;
|
||||
}
|
||||
');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -27,45 +33,47 @@ if(!function_exists('iconv'))
|
|||
* @var array
|
||||
*/
|
||||
$time_zone = array(
|
||||
'-1200' => '[GMT -12:00] Baker Island Time',
|
||||
'-1100' => '[GMT -11:00] Niue Time, Samoa Standard Time',
|
||||
'-1000' => '[GMT -10:00] Hawaii-Aleutian Standard Time, Cook Island Time',
|
||||
'-0930' => '[GMT -09:30] Marquesas Islands Time',
|
||||
'-0900' => '[GMT -09:00] Alaska Standard Time, Gambier Island Time',
|
||||
'-0800' => '[GMT -08:00] Pacific Standard Time',
|
||||
'-0700' => '[GMT -07:00] Mountain Standard Time',
|
||||
'-0600' => '[GMT -06:00] Central Standard Time',
|
||||
'-0500' => '[GMT -05:00] Eastern Standard Time',
|
||||
'-0400' => '[GMT -04:00] Atlantic Standard Time',
|
||||
'-0330' => '[GMT -03:30] Newfoundland Standard Time',
|
||||
'-0300' => '[GMT -03:00] Amazon Standard Time, Central Greenland Time',
|
||||
'-0200' => '[GMT -02:00] Fernando de Noronha Time, South Georgia & the South Sandwich Islands Time',
|
||||
'-0100' => '[GMT -01:00] Azores Standard Time, Cape Verde Time, Eastern Greenland Time',
|
||||
'0000' => '[GMT 00:00] Western European Time, Greenwich Mean Time',
|
||||
'+0100' => '[GMT +01:00] Central European Time, West African Time',
|
||||
'+0200' => '[GMT +02:00] Eastern European Time, Central African Time',
|
||||
'+0300' => '[GMT +03:00] Moscow Standard Time, Eastern African Time',
|
||||
'+0330' => '[GMT +03:30] Iran Standard Time',
|
||||
'+0400' => '[GMT +04:00] Gulf Standard Time, Samara Standard Time',
|
||||
'+0430' => '[GMT +04:30] Afghanistan Time',
|
||||
'+0500' => '[GMT +05:00] Pakistan Standard Time, Yekaterinburg Standard Time',
|
||||
'+0530' => '[GMT +05:30] Indian Standard Time, Sri Lanka Time',
|
||||
'+0545' => '[GMT +05:45] Nepal Time',
|
||||
'+0600' => '[GMT +06:00] Bangladesh Time, Bhutan Time, Novosibirsk Standard Time',
|
||||
'+0630' => '[GMT +06:30] Cocos Islands Time, Myanmar Time',
|
||||
'+0700' => '[GMT +07:00] Indochina Time, Krasnoyarsk Standard Time',
|
||||
'+0800' => '[GMT +08:00] China Standard Time, Australian Western Standard Time, Irkutsk Standard Time',
|
||||
'+0845' => '[GMT +08:45] Southeastern Western Australia Standard Time',
|
||||
'+0900' => '[GMT +09:00] Korea Standard Time, Japan Standard Time',
|
||||
'+0930' => '[GMT +09:30] Australian Central Standard Time',
|
||||
'+1000' => '[GMT +10:00] Australian Eastern Standard Time, Vladivostok Standard Time',
|
||||
'+1030' => '[GMT +10:30] Lord Howe Standard Time',
|
||||
'+1100' => '[GMT +11:00] Solomon Island Time, Magadan Standard Time',
|
||||
'+1130' => '[GMT +11:30] Norfolk Island Time',
|
||||
'+1200' => '[GMT +12:00] New Zealand Time, Fiji Time, Kamchatka Standard Time',
|
||||
'+1245' => '[GMT +12:45] Chatham Islands Time',
|
||||
'+1300' => '[GMT +13:00] Tonga Time, Phoenix Islands Time',
|
||||
'+1400' => '[GMT +14:00] Line Island Time'
|
||||
'-1200' => '[UTC -12:00] Baker Island',
|
||||
'-1100' => '[UTC -11:00] Niue, American Samoa',
|
||||
'-1000' => '[UTC -10:00] Hawaii, Aleutian Islands, Cook Islands',
|
||||
'-0930' => '[UTC -09:30] Marquesas Islands',
|
||||
'-0900' => '[UTC -09:00] Alaska, Gambier Islands',
|
||||
'-0800' => '[UTC -08:00] U.S. and Canada (Pacific)',
|
||||
'-0700' => '[UTC -07:00] U.S. and Canada (Mountain)',
|
||||
'-0600' => '[UTC -06:00] U.S. and Canada (Central), Mexico',
|
||||
'-0500' => '[UTC -05:00] U.S. and Canada (Eastern), Chile',
|
||||
'-0430' => '[UTC -04:30] Venezuela',
|
||||
'-0400' => '[UTC -04:00] Canada (Atlantic), Brazil (Western)',
|
||||
'-0330' => '[UTC -03:30] Canada (Newfoundland)',
|
||||
'-0300' => '[UTC -03:00] Argentina, Brazil (Eastern), Greenland',
|
||||
'-0200' => '[UTC -02:00] Fernando de Noronha, South Georgia & South Sandwich Islands',
|
||||
'-0100' => '[UTC -01:00] Azores, Cape Verde',
|
||||
'0000' => '[UTC ±00:00] GMT, Ireland, Portugal, West Africa',
|
||||
'+0100' => '[UTC +01:00] Central Europe, West Africa',
|
||||
'+0200' => '[UTC +02:00] Eastern Europe, Central Africa, Russia (Kaliningrad)',
|
||||
'+0300' => '[UTC +03:00] Russia (Moscow), East Africa',
|
||||
'+0330' => '[UTC +03:30] Iran',
|
||||
'+0400' => '[UTC +04:00] Armenia, Azerbaijan, Georgia, Oman, Russia (Samara), UAE',
|
||||
'+0430' => '[UTC +04:30] Afghanistan',
|
||||
'+0500' => '[UTC +05:00] Pakistan, Russia (Yekaterinburg), Central Asia',
|
||||
'+0530' => '[UTC +05:30] India, Sri Lanka',
|
||||
'+0545' => '[UTC +05:45] Nepal',
|
||||
'+0600' => '[UTC +06:00] Bangladesh, Bhutan, Kyrgyzstan, Russia (Omsk)',
|
||||
'+0630' => '[UTC +06:30] Cocos Islands, Myanmar',
|
||||
'+0700' => '[UTC +07:00] Cambodia, Indonesia, Laos, Russia (Krasnoyarsk), Thailand, Vietnam',
|
||||
'+0800' => '[UTC +08:00] China, Malaysia, Philippines, Russia (Irkutsk), Singapore, Taiwan',
|
||||
'+0830' => '[UTC +08:30] North Korea',
|
||||
'+0845' => '[UTC +08:45] Australia (Eucla)',
|
||||
'+0900' => '[UTC +09:00] Korea, Japan, Palua, East Timor, Russia (Yakutsk)',
|
||||
'+0930' => '[UTC +09:30] Australia (Central)',
|
||||
'+1000' => '[UTC +10:00] Australia (Eastern), Guam, Russia (Vladivostok)',
|
||||
'+1030' => '[UTC +10:30] Lord Howe Island',
|
||||
'+1100' => '[UTC +11:00] New Caledonia, Solomon Islands, Vanuatu, Russia (Srednekolymsk)',
|
||||
'+1130' => '[UTC +11:30] Norfolk Island (before 2015)',
|
||||
'+1200' => '[UTC +12:00] Fiji, New Zealand, Russia (Kamchatka)',
|
||||
'+1245' => '[UTC +12:45] Chatham Islands',
|
||||
'+1300' => '[UTC +13:00] Samoa, Tokelau, Tonga, Phoenix Islands',
|
||||
'+1400' => '[UTC +14:00] Line Islands'
|
||||
);
|
||||
|
||||
/**
|
||||
|
|
@ -965,8 +973,7 @@ function flushSlowlog()
|
|||
*/
|
||||
function getMicroTime()
|
||||
{
|
||||
list($time1, $time2) = explode(' ', microtime());
|
||||
return (float) $time1 + (float) $time2;
|
||||
return microtime(true);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -549,17 +549,24 @@ class adminAdminController extends admin
|
|||
$white_object = preg_replace("/[\r\n|\r|\n]+/", '|@|', $white_object);
|
||||
$white_object = preg_replace("/[\s\'\"]+/", '', $white_object);
|
||||
$white_object = explode('|@|', $white_object);
|
||||
$white_object = array_unique($white_object);
|
||||
$white_object = array_unique(array_map(function($item) {
|
||||
return preg_match('@^https?://(.*)$@i', $item, $matches) ? $matches[1] : $item;
|
||||
}, $white_object));
|
||||
natcasesort($white_object);
|
||||
|
||||
$white_iframe = $vars->embed_white_iframe;
|
||||
$white_iframe = preg_replace("/[\r\n|\r|\n]+/", '|@|', $white_iframe);
|
||||
$white_iframe = preg_replace("/[\s\'\"]+/", '', $white_iframe);
|
||||
$white_iframe = explode('|@|', $white_iframe);
|
||||
$white_iframe = array_unique($white_iframe);
|
||||
$white_iframe = array_unique(array_map(function($item) {
|
||||
return preg_match('@^https?://(.*)$@i', $item, $matches) ? $matches[1] : $item;
|
||||
}, $white_iframe));
|
||||
natcasesort($white_iframe);
|
||||
|
||||
$whitelist = new stdClass;
|
||||
$whitelist->object = $white_object;
|
||||
$whitelist->iframe = $white_iframe;
|
||||
$whitelist = array(
|
||||
'object' => $white_object,
|
||||
'iframe' => $white_iframe,
|
||||
);
|
||||
|
||||
$db_info->embed_white_object = $white_object;
|
||||
$db_info->embed_white_iframe = $white_iframe;
|
||||
|
|
@ -570,10 +577,6 @@ class adminAdminController extends admin
|
|||
return new Object(-1, 'msg_invalid_request');
|
||||
}
|
||||
|
||||
require_once(_XE_PATH_ . 'classes/security/EmbedFilter.class.php');
|
||||
$oEmbedFilter = EmbedFilter::getInstance();
|
||||
$oEmbedFilter->_makeWhiteDomainList($whitelist);
|
||||
|
||||
if(!in_array(Context::getRequestMethod(), array('XMLRPC','JSON')))
|
||||
{
|
||||
$returnUrl = Context::get('success_return_url');
|
||||
|
|
|
|||
|
|
@ -84,7 +84,6 @@ class adminAdminView extends admin
|
|||
Context::set('https_port', $db_info->https_port);
|
||||
}
|
||||
|
||||
$this->showSendEnv();
|
||||
$this->checkEasyinstall();
|
||||
}
|
||||
|
||||
|
|
@ -390,16 +389,6 @@ class adminAdminView extends admin
|
|||
$oSecurity = new Security();
|
||||
$oSecurity->encodeHTML('module_list..', 'module_list..author..', 'newVersionList..');
|
||||
|
||||
// gathering enviroment check
|
||||
$mainVersion = join('.', array_slice(explode('.', __XE_VERSION__), 0, 2));
|
||||
$path = FileHandler::getRealPath('./files/env/' . $mainVersion);
|
||||
$isEnviromentGatheringAgreement = FALSE;
|
||||
if(file_exists($path))
|
||||
{
|
||||
$isEnviromentGatheringAgreement = TRUE;
|
||||
}
|
||||
Context::set('isEnviromentGatheringAgreement', $isEnviromentGatheringAgreement);
|
||||
|
||||
// license agreement check
|
||||
$isLicenseAgreement = FALSE;
|
||||
$path = FileHandler::getRealPath('./files/env/license_agreement');
|
||||
|
|
@ -471,7 +460,6 @@ class adminAdminView extends admin
|
|||
Context::set('htmlFooter', htmlspecialchars($config->htmlFooter));
|
||||
|
||||
// embed filter
|
||||
require_once(_XE_PATH_ . 'classes/security/EmbedFilter.class.php');
|
||||
$oEmbedFilter = EmbedFilter::getInstance();
|
||||
context::set('embed_white_object', implode(PHP_EOL, $oEmbedFilter->whiteUrlList));
|
||||
context::set('embed_white_iframe', implode(PHP_EOL, $oEmbedFilter->whiteIframeUrlList));
|
||||
|
|
@ -524,46 +512,6 @@ class adminAdminView extends admin
|
|||
$this->setTemplateFile('admin_setup');
|
||||
}
|
||||
|
||||
/**
|
||||
* Enviroment information send to XE collect server
|
||||
* @return void
|
||||
*/
|
||||
function showSendEnv()
|
||||
{
|
||||
if(Context::getResponseMethod() != 'HTML')
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
$server = 'http://collect.xpressengine.com/env/img.php?';
|
||||
$path = './files/env/';
|
||||
$install_env = $path . 'install';
|
||||
$mainVersion = join('.', array_slice(explode('.', __XE_VERSION__), 0, 2));
|
||||
|
||||
if(file_exists(FileHandler::getRealPath($install_env)))
|
||||
{
|
||||
$oAdminAdminModel = getAdminModel('admin');
|
||||
$params = $oAdminAdminModel->getEnv('INSTALL');
|
||||
$img = sprintf('<img src="%s" alt="" style="height:0px;width:0px" />', $server . $params);
|
||||
Context::addHtmlFooter($img);
|
||||
|
||||
FileHandler::writeFile($path . $mainVersion, '1');
|
||||
}
|
||||
else if(isset($_SESSION['enviroment_gather']) && !file_exists(FileHandler::getRealPath($path . $mainVersion)))
|
||||
{
|
||||
if($_SESSION['enviroment_gather'] == 'Y')
|
||||
{
|
||||
$oAdminAdminModel = getAdminModel('admin');
|
||||
$params = $oAdminAdminModel->getEnv();
|
||||
$img = sprintf('<img src="%s" alt="" style="height:0px;width:0px" />', $server . $params);
|
||||
Context::addHtmlFooter($img);
|
||||
}
|
||||
|
||||
FileHandler::writeFile($path . $mainVersion, '1');
|
||||
unset($_SESSION['enviroment_gather']);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrun server environment to XML string
|
||||
* @return object
|
||||
|
|
|
|||
|
|
@ -910,11 +910,17 @@
|
|||
<value xml:lang="tr"><![CDATA[Kısa bir adres kullanmak istiyor musunuz?]]></value>
|
||||
</item>
|
||||
<item name="timezone">
|
||||
<value xml:lang="ko"><![CDATA[현지 표준시]]></value>
|
||||
<value xml:lang="en"><![CDATA[The local standard time.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[現地の標準時間]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[设置本地时间.]]></value>
|
||||
<value xml:lang="tr"><![CDATA[Yerel Zamanı ayarlayın.]]></value>
|
||||
<value xml:lang="ko"><![CDATA[표준 시간대]]></value>
|
||||
<value xml:lang="en"><![CDATA[Time Zone]]></value>
|
||||
<value xml:lang="jp"><![CDATA[標準時間帯]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[时区]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[時區]]></value>
|
||||
<value xml:lang="fr"><![CDATA[Fuseau horaire]]></value>
|
||||
<value xml:lang="es"><![CDATA[Huso horario]]></value>
|
||||
<value xml:lang="de"><![CDATA[Zeitzone]]></value>
|
||||
<value xml:lang="ru"><![CDATA[Часовой пояс]]></value>
|
||||
<value xml:lang="tr"><![CDATA[Saat Dilimi]]></value>
|
||||
<value xml:lang="vi"><![CDATA[Múi giờ]]></value>
|
||||
</item>
|
||||
<item name="use_mobile_view">
|
||||
<value xml:lang="ko"><![CDATA[모바일 뷰 사용]]></value>
|
||||
|
|
|
|||
|
|
@ -38,18 +38,6 @@
|
|||
</div>
|
||||
</form>
|
||||
|
||||
<form action="./" method="post" class="message info x_clearfix" cond="!$isEnviromentGatheringAgreement">
|
||||
<input type="hidden" name="module" value="admin" />
|
||||
<input type="hidden" name="act" value="procAdminEnviromentGatheringAgreement" />
|
||||
<input type="hidden" name="xe_validator_id" value="modules/admin/tpl/index/1" />
|
||||
<h2>{$lang->install_env_agreement}</h2>
|
||||
<p>{$lang->install_env_agreement_desc}</p>
|
||||
<div class="x_btn-group x_pull-right" style="margin-bottom:10px">
|
||||
<button type="submit" name="is_agree" value="false" class="x_btn x_btn-small">{$lang->disagree}</button>
|
||||
<button type="submit" name="is_agree" value="true" class="x_btn x_btn-small x_btn-primary">{$lang->agree}</button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<div class="message update" cond="$addTables || $needUpdate">
|
||||
<h2 cond="$needUpdate && $addTables">{$lang->need_update_and_table}</h2>
|
||||
<h2 cond="$needUpdate && !$addTables">{$lang->need_update}</h2>
|
||||
|
|
|
|||
|
|
@ -18,8 +18,8 @@
|
|||
<description xml:lang="ru">Вы можете присоединить опрос при написании статей. Компонент опросов зависит от настроек модуля отпросов.</description>
|
||||
<description xml:lang="zh-TW">發表主題時可以附加投票調查。投票調查組件受投票調查模組設置的影響。</description>
|
||||
<description xml:lang="tr">Oylamaları yazı makalelerine ekleyebilirsiniz. Oylama bileşeni, oylama modülü ayarlarından ayarlanır.</description>
|
||||
<version>1.7</version>
|
||||
<date>2013-11-27</date>
|
||||
<version>2.0</version>
|
||||
<date>2015-06-09</date>
|
||||
|
||||
<author email_address="developers@xpressengine.com" link="http://xpressengine.com/">
|
||||
<name xml:lang="vi">NAVER</name>
|
||||
|
|
|
|||
|
|
@ -82,6 +82,30 @@
|
|||
<value xml:lang="en"><![CDATA[Delete last item]]></value>
|
||||
<value xml:lang="jp"><![CDATA[最後の項目削除]]></value>
|
||||
</item>
|
||||
<item name="poll_display_memberinfo">
|
||||
<value xml:lang="ko"><![CDATA[공개 투표]]></value>
|
||||
<value xml:lang="en"><![CDATA[Open ballot]]></value>
|
||||
</item>
|
||||
<item name="poll_display_memberinfo_yes">
|
||||
<value xml:lang="ko"><![CDATA[투표한 사용자 공개]]></value>
|
||||
<value xml:lang="en"><![CDATA[Display who votes]]></value>
|
||||
</item>
|
||||
<item name="poll_display_memberinfo_no">
|
||||
<value xml:lang="ko"><![CDATA[투표한 사용자 비공개]]></value>
|
||||
<value xml:lang="en"><![CDATA[Do not display who votes]]></value>
|
||||
</item>
|
||||
<item name="poll_ableto_additems">
|
||||
<value xml:lang="ko"><![CDATA[항목 추가]]></value>
|
||||
<value xml:lang="en"><![CDATA[Able to add items]]></value>
|
||||
</item>
|
||||
<item name="poll_ableto_additems_yes">
|
||||
<value xml:lang="ko"><![CDATA[항목 추가 가능]]></value>
|
||||
<value xml:lang="en"><![CDATA[Voters can add items]]></value>
|
||||
</item>
|
||||
<item name="poll_ableto_additems_no">
|
||||
<value xml:lang="ko"><![CDATA[항목 추가 금지]]></value>
|
||||
<value xml:lang="en"><![CDATA[Voters cannot add items]]></value>
|
||||
</item>
|
||||
<item name="msg_poll_cannot_modify">
|
||||
<value xml:lang="ko"><![CDATA[설문조사는 수정할 수 없습니다. 삭제 후 다시 생성해야 합니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[You cannot modify the poll. You need to delete it and create a new one.]]></value>
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ class poll_maker extends EditorHandler
|
|||
{
|
||||
// Wanted Skins survey
|
||||
$oModuleModel = getModel('module');
|
||||
$skin_list = $oModuleModel->getSkins(_XE_PATH_ . 'modules/poll/');
|
||||
$skin_list = $oModuleModel->getSkins(_XE_PATH_ . 'widgets/pollWidget/');
|
||||
Context::set('skin_list', $skin_list);
|
||||
// Pre-compiled source code to compile template return to
|
||||
$tpl_path = $this->component_path.'tpl';
|
||||
|
|
@ -45,17 +45,29 @@ class poll_maker extends EditorHandler
|
|||
*/
|
||||
function transHTML($xml_obj)
|
||||
{
|
||||
$poll_srl = $xml_obj->attrs->poll_srl;
|
||||
$args = new stdClass();
|
||||
|
||||
$args->poll_srl = $xml_obj->attrs->poll_srl;
|
||||
$skin = $xml_obj->attrs->skin;
|
||||
if(!$skin) $skin = 'default';
|
||||
$args->skin = $skin;
|
||||
|
||||
preg_match('/width([^[:digit:]]+)([0-9]+)/i',$xml_obj->attrs->style,$matches);
|
||||
$width = $matches[2];
|
||||
if(!$width) $width = 400;
|
||||
$style = sprintf('width:%dpx', $width);
|
||||
// poll model object creation to come get it return html
|
||||
$oPollModel = getModel('poll');
|
||||
return $oPollModel->getPollHtml($poll_srl, $style, $skin);
|
||||
$args->style = sprintf('width:%dpx', $width);
|
||||
|
||||
// Set a path of the template skin (values of skin, colorset settings)
|
||||
$tpl_path = sprintf('%sskins/%s', _XE_PATH_ . 'widgets/pollWidget/', $args->skin);
|
||||
$tpl_file = 'pollview';
|
||||
|
||||
Context::set('colorset', $args->colorset);
|
||||
Context::set('poll_srl', $args->poll_srl);
|
||||
Context::set('style', $args->style);
|
||||
|
||||
// Compile a template
|
||||
$oTemplate = &TemplateHandler::getInstance();
|
||||
return $oTemplate->compile($tpl_path, $tpl_file);
|
||||
}
|
||||
}
|
||||
/* End of file poll_maker.class.php */
|
||||
|
|
|
|||
BIN
modules/editor/components/poll_maker/poll_maker_component.png
Normal file
BIN
modules/editor/components/poll_maker/poll_maker_component.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.5 KiB |
|
|
@ -18,8 +18,8 @@
|
|||
<div class="x_control-group">
|
||||
<label for="" class="x_control-label">{$lang->poll_stop_date}</label>
|
||||
<div class="x_controls">
|
||||
<input type="hidden" name="stop_date" id="stop_date" value="{date('Ymd',time()+60*60*24*7)}" />
|
||||
<input type="date" class="inputDate" value="{date('Y-m-d',time()+60*60*24*7)}" />
|
||||
<input type="hidden" name="stop_date" id="stop_date" value="{date('Ymd',time()+60*60*24*30)}" />
|
||||
<input type="date" class="inputDate" value="{date('Y-m-d',time()+60*60*24*30)}" />
|
||||
<script>
|
||||
(function($){
|
||||
$(function(){
|
||||
|
|
@ -31,7 +31,7 @@ $(function(){
|
|||
, onSelect:function(){
|
||||
$(this).prev('input[type="hidden"]').val(this.value.replace(/-/g,""));
|
||||
}
|
||||
,minDate: new Date("{date('Y-m-d',time())}")
|
||||
,minDate: new Date("{date('Y-m-d',time()+60*60*24*30)}")
|
||||
};
|
||||
$.extend(option,$.datepicker.regional['{$lang_type}']);
|
||||
$(".inputDate").datepicker(option);
|
||||
|
|
@ -42,15 +42,30 @@ $(function(){
|
|||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="" class="x_control-label">{$lang->skin}</label>
|
||||
<label for="skin" class="x_control-label">{$lang->skin}</label>
|
||||
<div class="x_controls">
|
||||
<select name="skin">
|
||||
<select id="skin" name="skin">
|
||||
<!--@foreach($skin_list as $skin=>$skin_info)-->
|
||||
<option value="{$skin}">{$skin_info->title} (skin by {$skin_info->maker->name})</option>
|
||||
<option value="{$skin}">{$skin_info->title} (skin by <!--@foreach($skin_info->author as $author=>$author_info)-->{@ $authorname = array(); $authorname[] = $author_info->name; }<!--@end-->{implode(",",$authorname)})</option>
|
||||
<!--@end-->
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">{$lang->poll_display_memberinfo}</label>
|
||||
<div class="x_controls">
|
||||
<input type="radio" name="show_vote" value="1" id="poll_display_memberinfo_yes" /> <label class="x_inline" for="poll_display_memberinfo_yes">{$lang->poll_display_memberinfo_yes}</label>
|
||||
<input type="radio" name="show_vote" value="0" checked="checked" id="poll_display_memberinfo_no" /> <label class="x_inline" for="poll_display_memberinfo_no">{$lang->poll_display_memberinfo_no}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">{$lang->poll_ableto_additems}</label>
|
||||
<div class="x_controls">
|
||||
<input type="radio" name="add_item" value="2" id="poll_ableto_additems_yes" /> <label class="x_inline" for="poll_ableto_additems_yes">{$lang->poll_ableto_additems_yes}</label>
|
||||
<input type="radio" name="add_item" value="0" checked="checked" id="poll_ableto_additems_no" /> <label class="x_inline" for="poll_ableto_additems_no">{$lang->poll_ableto_additems_no}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div id="poll_source" style="display:none">
|
||||
<div class="table">
|
||||
<table class="x_table x_table-striped x_table-hover">
|
||||
|
|
|
|||
|
|
@ -16,7 +16,6 @@ function completeInsertPoll(ret_obj) {
|
|||
if(!poll_srl) return null;
|
||||
|
||||
var text = "<img src=\"../../../../common/img/blank.gif\" poll_srl=\""+poll_srl+"\" editor_component=\"poll_maker\" skin=\""+skin+"\" style=\"display:block;width:400px;height:300px;border:2px dotted #4371B9;background:url(./modules/editor/components/poll_maker/tpl/poll_maker_component.gif) no-repeat center;\" />";
|
||||
|
||||
alert(ret_obj['message']);
|
||||
|
||||
opener.editorFocus(opener.editorPrevSrl);
|
||||
|
|
|
|||
1
modules/editor/components/poll_maker/tpl/popup.min.js
vendored
Normal file
1
modules/editor/components/poll_maker/tpl/popup.min.js
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
function completeInsertPoll(e){if("undefined"==typeof opener)return null;var t=get_by_id("fo_component"),o=t.skin.options[t.skin.selectedIndex].value,n=e.poll_srl;if(!n)return null;var l='<img src="../../../../common/img/blank.gif" poll_srl="'+n+'" editor_component="poll_maker" skin="'+o+'" style="display:block;width:400px;height:300px;border:2px dotted #4371B9;background:url(./modules/editor/components/poll_maker/tpl/poll_maker_component.gif) no-repeat center;" />';alert(e.message),opener.editorFocus(opener.editorPrevSrl);var i=opener.editorGetIFrame(opener.editorPrevSrl);return opener.editorReplaceHTML(i,l),opener.editorFocus(opener.editorPrevSrl),window.close(),null}jQuery(function(e){function t(){var t=e(".poll_box");$inputs=t.find("input"),poll_idx=0,$inputs.attr("name",function(e,t){return/^checkcount_/.test(t)&&poll_idx++,t.replace(/^([a-z]+_)(?:tidx|\d+)/,"$1"+poll_idx)}),t.length>1?t.find("button._del_poll").show():t.find("button._del_poll").hide()}function o(){var o=e("#poll_source");o.before(o.clone(!0).removeAttr("id").addClass("poll_box").css("display","block")),t()}var n;return n=e(opener.editorPrevNode),n.length&&"poll_maker"==n.attr("editor_component")?(alert(msg_poll_cannot_modify),window.close()):(e("#add_poll").click(function(){o(),setFixedPopupSize()}),e("button._add_item").click(function(){var t,o,n;t=e(this).prev().children("table").find(">tbody>tr:last"),o=t.clone(),match=t.find("td>input").attr("name").match(/item_(\d+)_(\d+)$/),match&&(match[2]++,(n=o.find("th")).html(n.html().replace(/ \d+/," "+match[2])),o.find("td>input").attr("name","item_"+match[1]+"_"+match[2]),t.after(o),setFixedPopupSize())}),e("button._del_item").click(function(){var t,o;t=e(this).prevAll("div").children("table").find(">tbody>tr:last"),o=t.find("td>input").attr("name").match(/item_(\d+)_(\d+)/),o&&2!=o[2]&&(t.remove(),setFixedPopupSize())}),e("button._del_poll").click(function(){e(this).parent(".poll_box").remove(),t()}),void o())}),jQuery(window).load(setFixedPopupSize);
|
||||
|
|
@ -302,7 +302,9 @@ class fileModel extends file
|
|||
function getFileGrant($file_info, $member_info)
|
||||
{
|
||||
if(!$file_info) return null;
|
||||
|
||||
|
||||
$file_grant = new stdClass;
|
||||
|
||||
if($_SESSION['__XE_UPLOADING_FILES_INFO__'][$file_info->file_srl])
|
||||
{
|
||||
$file_grant->is_deletable = true;
|
||||
|
|
|
|||
|
|
@ -8,15 +8,8 @@
|
|||
<action name="dispInstallCheckEnv" type="view" />
|
||||
<action name="dispInstallSelectDB" type="view" />
|
||||
<action name="dispInstallDBForm" type="view" />
|
||||
<action name="dispInstallConfigForm" type="view" />
|
||||
<action name="dispInstallManagerForm" type="view" />
|
||||
<action name="procCubridDBSetting" type="controller" ruleset="cubrid" />
|
||||
<action name="procFirebirdDBSetting" type="controller" ruleset="firebird" />
|
||||
<action name="procMssqlDBSetting" type="controller" ruleset="mssql" />
|
||||
<action name="procMysqlDBSetting" type="controller" ruleset="mysql" />
|
||||
<action name="procPostgresqlDBSetting" type="controller" ruleset="postgresql" />
|
||||
<action name="procSqliteDBSetting" type="controller" ruleset="sqlite" />
|
||||
<action name="procConfigSetting" type="controller" ruleset="config" />
|
||||
<action name="procDBSetting" type="controller" />
|
||||
<action name="procInstall" type="controller" ruleset="install" />
|
||||
<action name="procInstallLicenseAggrement" type="controller" />
|
||||
<action name="procInstallFTP" type="controller" />
|
||||
|
|
|
|||
|
|
@ -26,64 +26,10 @@ class installController extends install
|
|||
$this->etc_tmp_config_file = _XE_PATH_.'files/config/tmpEtc.config.php';
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief cubrid db setting wrapper, becase Server Side Validator...
|
||||
* Server Side Validatro can use only one proc, one ruleset
|
||||
*/
|
||||
function procCubridDBSetting()
|
||||
{
|
||||
return $this->_procDBSetting();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief firebird db setting wrapper, becase Server Side Validator...
|
||||
* Server Side Validatro can use only one proc, one ruleset
|
||||
*/
|
||||
function procFirebirdDBSetting()
|
||||
{
|
||||
return $this->_procDBSetting();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief mssql db setting wrapper, becase Server Side Validator...
|
||||
* Server Side Validatro can use only one proc, one ruleset
|
||||
*/
|
||||
function procMssqlDBSetting()
|
||||
{
|
||||
return $this->_procDBSetting();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief mysql db setting wrapper, becase Server Side Validator...
|
||||
* Server Side Validatro can use only one proc, one ruleset
|
||||
*/
|
||||
function procMysqlDBSetting()
|
||||
{
|
||||
return $this->_procDBSetting();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief postgresql db setting wrapper, becase Server Side Validator...
|
||||
* Server Side Validatro can use only one proc, one ruleset
|
||||
*/
|
||||
function procPostgresqlDBSetting()
|
||||
{
|
||||
return $this->_procDBSetting();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief sqlite db setting wrapper, becase Server Side Validator...
|
||||
* Server Side Validatro can use only one proc, one ruleset
|
||||
*/
|
||||
function procSqliteDBSetting()
|
||||
{
|
||||
return $this->_procDBSetting();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief division install step... DB Config temp file create
|
||||
*/
|
||||
function _procDBSetting()
|
||||
function procDBSetting()
|
||||
{
|
||||
// Get DB-related variables
|
||||
$con_string = Context::gets('db_type','db_port','db_hostname','db_userid','db_password','db_database','db_table_prefix');
|
||||
|
|
@ -104,29 +50,33 @@ class installController extends install
|
|||
if(!$output->toBool()) return $output;
|
||||
if(!$oDB->isConnected()) return $oDB->getError();
|
||||
|
||||
// Check if MySQL server supports InnoDB
|
||||
if(stripos($con_string->db_type, 'innodb') !== false)
|
||||
{
|
||||
$innodb_supported = false;
|
||||
$show_engines = $oDB->_fetch($oDB->_query('SHOW ENGINES'));
|
||||
foreach($show_engines as $engine_info)
|
||||
{
|
||||
if(strcasecmp($engine_info->Engine, 'InnoDB') === 0)
|
||||
{
|
||||
$innodb_supported = true;
|
||||
}
|
||||
}
|
||||
|
||||
// If server does not support InnoDB, fall back to default storage engine (usually MyISAM)
|
||||
if(!$innodb_supported)
|
||||
{
|
||||
$con_string->db_type = str_ireplace('_innodb', '', $con_string->db_type);
|
||||
$db_info->master_db['db_type'] = $con_string->db_type;
|
||||
$db_info->slave_db[0]['db_type'] = $con_string->db_type;
|
||||
Context::set('db_type', $con_string->db_type);
|
||||
Context::setDBInfo($db_info);
|
||||
}
|
||||
}
|
||||
|
||||
// Create a db temp config file
|
||||
if(!$this->makeDBConfigFile()) return new Object(-1, 'msg_install_failed');
|
||||
|
||||
if(!in_array(Context::getRequestMethod(),array('XMLRPC','JSON')))
|
||||
{
|
||||
$returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'act', 'dispInstallConfigForm');
|
||||
header('location:'.$returnUrl);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief division install step... rewrite, time_zone Config temp file create
|
||||
*/
|
||||
function procConfigSetting()
|
||||
{
|
||||
// Get variables
|
||||
$config_info = Context::gets('use_rewrite','time_zone');
|
||||
if($config_info->use_rewrite!='Y') $config_info->use_rewrite = 'N';
|
||||
|
||||
// Create a db temp config file
|
||||
if(!$this->makeEtcConfigFile($config_info)) return new Object(-1, 'msg_install_failed');
|
||||
|
||||
if(!in_array(Context::getRequestMethod(),array('XMLRPC','JSON')))
|
||||
{
|
||||
$returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'act', 'dispInstallManagerForm');
|
||||
|
|
@ -141,7 +91,21 @@ class installController extends install
|
|||
function procInstall()
|
||||
{
|
||||
// Check if it is already installed
|
||||
if(Context::isInstalled()) return new Object(-1, 'msg_already_installed');
|
||||
if(Context::isInstalled())
|
||||
{
|
||||
return new Object(-1, 'msg_already_installed');
|
||||
}
|
||||
|
||||
// Save rewrite and time zone settings
|
||||
if(!Context::get('install_config'))
|
||||
{
|
||||
$config_info = Context::gets('use_rewrite','time_zone');
|
||||
if($config_info->use_rewrite!='Y') $config_info->use_rewrite = 'N';
|
||||
if(!$this->makeEtcConfigFile($config_info))
|
||||
{
|
||||
return new Object(-1, 'msg_install_failed');
|
||||
}
|
||||
}
|
||||
|
||||
// Assign a temporary administrator when installing
|
||||
$logged_info = new stdClass();
|
||||
|
|
@ -339,39 +303,118 @@ class installController extends install
|
|||
{
|
||||
// Check each item
|
||||
$checklist = array();
|
||||
// 0. check your version of php (5.2.4 or higher)
|
||||
|
||||
// Check PHP version
|
||||
$checklist['php_version'] = true;
|
||||
if(version_compare(PHP_VERSION, __XE_MIN_PHP_VERSION__, '<'))
|
||||
{
|
||||
$checklist['php_version'] = false;
|
||||
}
|
||||
|
||||
if(version_compare(PHP_VERSION, __XE_RECOMMEND_PHP_VERSION__, '<'))
|
||||
{
|
||||
Context::set('phpversion_warning', true);
|
||||
}
|
||||
|
||||
// 1. Check permission
|
||||
if(is_writable('./')||is_writable('./files')) $checklist['permission'] = true;
|
||||
else $checklist['permission'] = false;
|
||||
// 2. Check if xml_parser_create exists
|
||||
if(function_exists('xml_parser_create')) $checklist['xml'] = true;
|
||||
else $checklist['xml'] = false;
|
||||
// 3. Check if ini_get (session.auto_start) == 1
|
||||
if(ini_get('session.auto_start')!=1) $checklist['session'] = true;
|
||||
else $checklist['session'] = false;
|
||||
// 4. Check if iconv exists
|
||||
if(function_exists('iconv')) $checklist['iconv'] = true;
|
||||
else $checklist['iconv'] = false;
|
||||
// 5. Check gd(imagecreatefromgif function)
|
||||
if(function_exists('imagecreatefromgif')) $checklist['gd'] = true;
|
||||
else $checklist['gd'] = false;
|
||||
// 6. Check DB
|
||||
if(DB::getEnableList()) $checklist['db'] = true;
|
||||
else $checklist['db'] = false;
|
||||
// Check DB
|
||||
if(DB::getEnableList())
|
||||
{
|
||||
$checklist['db_support'] = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$checklist['db_support'] = false;
|
||||
}
|
||||
|
||||
if(!$checklist['php_version'] || !$checklist['permission'] || !$checklist['xml'] || !$checklist['session'] || !$checklist['db']) $install_enable = false;
|
||||
else $install_enable = true;
|
||||
// Check permission
|
||||
if(is_writable('./')||is_writable('./files'))
|
||||
{
|
||||
$checklist['permission'] = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$checklist['permission'] = false;
|
||||
}
|
||||
|
||||
// Check session.auto_start
|
||||
if(ini_get('session.auto_start') != 1)
|
||||
{
|
||||
$checklist['session'] = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$checklist['session'] = false;
|
||||
}
|
||||
|
||||
// Check curl
|
||||
if(function_exists('curl_init'))
|
||||
{
|
||||
$checklist['curl'] = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$checklist['curl'] = false;
|
||||
}
|
||||
|
||||
// Check GD
|
||||
if(function_exists('imagecreatefromgif'))
|
||||
{
|
||||
$checklist['gd'] = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$checklist['gd'] = false;
|
||||
}
|
||||
|
||||
// Check iconv or mbstring
|
||||
if(function_exists('iconv') || function_exists('mb_convert_encoding'))
|
||||
{
|
||||
$checklist['iconv'] = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$checklist['iconv'] = false;
|
||||
}
|
||||
|
||||
// Check json
|
||||
if(function_exists('json_encode'))
|
||||
{
|
||||
$checklist['json'] = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$checklist['json'] = false;
|
||||
}
|
||||
|
||||
// Check openssl
|
||||
if(function_exists('openssl_encrypt'))
|
||||
{
|
||||
$checklist['openssl'] = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$checklist['openssl'] = false;
|
||||
}
|
||||
|
||||
// Check XML
|
||||
if(function_exists('xml_parser_create'))
|
||||
{
|
||||
$checklist['xml'] = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$checklist['xml'] = false;
|
||||
}
|
||||
|
||||
// Enable install if all conditions are met
|
||||
$install_enable = true;
|
||||
foreach($checklist as $k => $v)
|
||||
{
|
||||
if (!$v)
|
||||
{
|
||||
$install_enable = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Save the checked result to the Context
|
||||
Context::set('checklist', $checklist);
|
||||
|
|
|
|||
|
|
@ -76,7 +76,8 @@ class installView extends install
|
|||
}
|
||||
|
||||
Context::set('l', Context::getLangType());
|
||||
$this->setTemplateFile('introduce');
|
||||
return $this->dispInstallLicenseAgreement();
|
||||
//$this->setTemplateFile('introduce');
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -117,11 +118,13 @@ class installView extends install
|
|||
if(ini_get('safe_mode') && !Context::isFTPRegisted())
|
||||
{
|
||||
Context::set('progressMenu', '3');
|
||||
Context::set('server_ip_address', $_SERVER['SERVER_ADDR']);
|
||||
Context::set('server_ftp_user', get_current_user());
|
||||
$this->setTemplateFile('ftp');
|
||||
}
|
||||
else
|
||||
{
|
||||
$defaultDatabase = 'mysqli';
|
||||
$defaultDatabase = 'mysqli_innodb';
|
||||
$disableList = DB::getDisableList();
|
||||
if(is_array($disableList))
|
||||
{
|
||||
|
|
@ -135,8 +138,20 @@ class installView extends install
|
|||
}
|
||||
}
|
||||
Context::set('defaultDatabase', $defaultDatabase);
|
||||
|
||||
Context::set('progressMenu', '4');
|
||||
|
||||
$error_return_url = getNotEncodedUrl('', 'act', Context::get('act'), 'db_type', Context::get('db_type'));
|
||||
if($_SERVER['HTTPS'] == 'on')
|
||||
{
|
||||
// Error occured when using https protocol at "ModuleHandler::init() '
|
||||
$parsedUrl = parse_url($error_return_url);
|
||||
$error_return_url = '';
|
||||
if(isset($parsedUrl['path'])) $error_return_url .= $parsedUrl['path'];
|
||||
if(isset($parsedUrl['query'])) $error_return_url .= '?' . $parsedUrl['query'];
|
||||
if(isset($parsedUrl['fragment'])) $error_return_url .= '?' . $parsedUrl['fragment'];
|
||||
}
|
||||
Context::set('error_return_url', $error_return_url);
|
||||
|
||||
$this->setTemplateFile('select_db');
|
||||
}
|
||||
}
|
||||
|
|
@ -144,50 +159,25 @@ class installView extends install
|
|||
/**
|
||||
* @brief Display a screen to enter DB and administrator's information
|
||||
*/
|
||||
function dispInstallDBForm()
|
||||
function dispInstallManagerForm()
|
||||
{
|
||||
// Display check_env if not installable
|
||||
if(!$this->install_enable) return $this->dispInstallCheckEnv();
|
||||
// Return to the start-up screen if db_type is not specified
|
||||
if(!Context::get('db_type')) return $this->dispInstallSelectDB();
|
||||
|
||||
// Output the file, disp_db_info_form.html
|
||||
$tpl_filename = sprintf('form.%s', Context::get('db_type'));
|
||||
|
||||
$title = sprintf(Context::getLang('input_dbinfo_by_dbtype'), Context::get('db_type'));
|
||||
Context::set('title', $title);
|
||||
|
||||
$error_return_url = getNotEncodedUrl('', 'act', Context::get('act'), 'db_type', Context::get('db_type'));
|
||||
if($_SERVER['HTTPS'] == 'on')
|
||||
if(!$this->install_enable)
|
||||
{
|
||||
// Error occured when using https protocol at "ModuleHandler::init() '
|
||||
$parsedUrl = parse_url($error_return_url);
|
||||
$error_return_url = '';
|
||||
if(isset($parsedUrl['path'])) $error_return_url .= $parsedUrl['path'];
|
||||
if(isset($parsedUrl['query'])) $error_return_url .= '?' . $parsedUrl['query'];
|
||||
if(isset($parsedUrl['fragment'])) $error_return_url .= '?' . $parsedUrl['fragment'];
|
||||
return $this->dispInstallCheckEnv();
|
||||
}
|
||||
Context::set('error_return_url', $error_return_url);
|
||||
|
||||
$this->setTemplateFile($tpl_filename);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Display a screen to enter DB and administrator's information
|
||||
*/
|
||||
function dispInstallConfigForm()
|
||||
{
|
||||
// Display check_env if not installable
|
||||
if(!$this->install_enable) return $this->dispInstallCheckEnv();
|
||||
|
||||
include _XE_PATH_.'files/config/tmpDB.config.php';
|
||||
|
||||
Context::set('use_rewrite', $_SESSION['use_rewrite']);
|
||||
Context::set('time_zone', $GLOBALS['time_zone']);
|
||||
Context::set('db_type', $db_info->db_type);
|
||||
$this->setTemplateFile('config_form');
|
||||
$this->setTemplateFile('admin_form');
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Check whether this server supports mod_rewrite
|
||||
*/
|
||||
function useRewriteModule()
|
||||
{
|
||||
if(function_exists('apache_get_modules') && in_array('mod_rewrite',apache_get_modules()))
|
||||
|
|
@ -202,20 +192,6 @@ class installView extends install
|
|||
|
||||
return (strpos($output->body, '<?xml') !== 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Display a screen to enter DB and administrator's information
|
||||
*/
|
||||
function dispInstallManagerForm()
|
||||
{
|
||||
// Display check_env if not installable
|
||||
if(!$this->install_enable)
|
||||
{
|
||||
return $this->dispInstallCheckEnv();
|
||||
}
|
||||
|
||||
$this->setTemplateFile('admin_form');
|
||||
}
|
||||
}
|
||||
/* End of file install.view.php */
|
||||
/* Location: ./modules/install/install.view.php */
|
||||
|
|
|
|||
|
|
@ -33,21 +33,21 @@
|
|||
</item>
|
||||
<item name="license_agreement">
|
||||
<value xml:lang="ko"><![CDATA[사용권 동의]]></value>
|
||||
<value xml:lang="en"><![CDATA[License agreement]]></value>
|
||||
<value xml:lang="en"><![CDATA[License Agreement]]></value>
|
||||
<value xml:lang="jp"><![CDATA[ライセンス契約]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[许可协议]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[許可協議]]></value>
|
||||
</item>
|
||||
<item name="condition">
|
||||
<value xml:lang="ko"><![CDATA[설치 조건 확인]]></value>
|
||||
<value xml:lang="en"><![CDATA[Check the installation conditions]]></value>
|
||||
<value xml:lang="ko"><![CDATA[설치 환경 확인]]></value>
|
||||
<value xml:lang="en"><![CDATA[Environment Check]]></value>
|
||||
<value xml:lang="jp"><![CDATA[インストール条件確認]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[检查安装条件]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[檢查安裝條件]]></value>
|
||||
</item>
|
||||
<item name="ftp">
|
||||
<value xml:lang="ko"><![CDATA[FTP 정보 입력]]></value>
|
||||
<value xml:lang="en"><![CDATA[Input FTP information]]></value>
|
||||
<value xml:lang="en"><![CDATA[FTP Setup]]></value>
|
||||
<value xml:lang="jp"><![CDATA[FTP情報入力]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[输入FTP信息]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[輸入FTP信息]]></value>
|
||||
|
|
@ -61,31 +61,36 @@
|
|||
</item>
|
||||
<item name="dbInfo">
|
||||
<value xml:lang="ko"><![CDATA[DB 정보 입력]]></value>
|
||||
<value xml:lang="en"><![CDATA[Input Database information]]></value>
|
||||
<value xml:lang="en"><![CDATA[DB Setup]]></value>
|
||||
<value xml:lang="jp"><![CDATA[DB情報入力]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[输入DB信息]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[輸入DB信息]]></value>
|
||||
</item>
|
||||
<item name="configInfo">
|
||||
<value xml:lang="ko"><![CDATA[환경 설정]]></value>
|
||||
<value xml:lang="en"><![CDATA[Settings]]></value>
|
||||
<value xml:lang="en"><![CDATA[Configuration]]></value>
|
||||
<value xml:lang="jp"><![CDATA[環境設定]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[环境设置]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[環境設置]]></value>
|
||||
</item>
|
||||
<item name="adminInfo">
|
||||
<value xml:lang="ko"><![CDATA[관리자 정보 입력]]></value>
|
||||
<value xml:lang="en"><![CDATA[Enter Administrator information]]></value>
|
||||
<value xml:lang="ko"><![CDATA[관리자 계정 생성]]></value>
|
||||
<value xml:lang="en"><![CDATA[Create Administrator Account]]></value>
|
||||
<value xml:lang="jp"><![CDATA[管理者情報入力]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[输入管理员信息]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[輸入管理員信息]]></value>
|
||||
</item>
|
||||
</item>
|
||||
<item name="install_condition_enable">
|
||||
<value xml:lang="ko"><![CDATA[설치가 가능합니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[You can Install.]]></value>
|
||||
<value xml:lang="ko"><![CDATA[설치할 수 있습니다]]></value>
|
||||
<value xml:lang="en"><![CDATA[Your server is compatible with XE.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[インストールできます。]]></value>
|
||||
</item>
|
||||
<item name="install_condition_disable">
|
||||
<value xml:lang="ko"><![CDATA[설치할 수 없습니다]]></value>
|
||||
<value xml:lang="en"><![CDATA[Your server does not support XE.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[インストールできません。]]></value>
|
||||
</item>
|
||||
<item name="install_details">
|
||||
<value xml:lang="ko"><![CDATA[자세히]]></value>
|
||||
<value xml:lang="en"><![CDATA[Details]]></value>
|
||||
|
|
@ -108,7 +113,7 @@
|
|||
</item>
|
||||
<item name="install_checklist_title" type="array">
|
||||
<item name="php_version">
|
||||
<value xml:lang="ko"><![CDATA[PHP Version]]></value>
|
||||
<value xml:lang="ko"><![CDATA[PHP 버전]]></value>
|
||||
<value xml:lang="en"><![CDATA[PHP Version]]></value>
|
||||
<value xml:lang="jp"><![CDATA[PHPバージョン]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[PHP版本]]></value>
|
||||
|
|
@ -120,87 +125,117 @@
|
|||
<value xml:lang="vi"><![CDATA[Phiên bản PHP]]></value>
|
||||
</item>
|
||||
<item name="permission">
|
||||
<value xml:lang="ko"><![CDATA[퍼미션]]></value>
|
||||
<value xml:lang="en"><![CDATA[Permission]]></value>
|
||||
<value xml:lang="jp"><![CDATA[パーミッション]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[权限]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[權限]]></value>
|
||||
<value xml:lang="fr"><![CDATA[Autorisation]]></value>
|
||||
<value xml:lang="ru"><![CDATA[Права доступа]]></value>
|
||||
<value xml:lang="es"><![CDATA[Atribución]]></value>
|
||||
<value xml:lang="tr"><![CDATA[Yetki]]></value>
|
||||
<value xml:lang="vi"><![CDATA[Sự cho phép]]></value>
|
||||
<value xml:lang="ko"><![CDATA[files 폴더 퍼미션]]></value>
|
||||
<value xml:lang="en"><![CDATA[files folder permissions]]></value>
|
||||
<value xml:lang="jp"><![CDATA[filesフォルダのパーミッション]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[files文件夹权限]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[files文件夾權限]]></value>
|
||||
<value xml:lang="fr"><![CDATA[Autorisations de dossier files]]></value>
|
||||
<value xml:lang="ru"><![CDATA[права доступа к папке files]]></value>
|
||||
<value xml:lang="es"><![CDATA[Permisos de carpeta files]]></value>
|
||||
<value xml:lang="tr"><![CDATA[files klasör izinleri]]></value>
|
||||
<value xml:lang="vi"><![CDATA[Điều khoản thư mục files]]></value>
|
||||
</item>
|
||||
<item name="xml">
|
||||
<value xml:lang="ko"><![CDATA[XML 라이브러리]]></value>
|
||||
<value xml:lang="en"><![CDATA[XML Library]]></value>
|
||||
<value xml:lang="jp"><![CDATA[XMLライブラリ]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[XML库]]></value>
|
||||
<value xml:lang="fr"><![CDATA[Bibliothèque de XML]]></value>
|
||||
<value xml:lang="ru"><![CDATA[XML библиотека]]></value>
|
||||
<value xml:lang="es"><![CDATA[Librería XML]]></value>
|
||||
<value xml:lang="tr"><![CDATA[XML Kitaplığı]]></value>
|
||||
<value xml:lang="ko"><![CDATA[xml]]></value>
|
||||
<value xml:lang="en"><![CDATA[xml]]></value>
|
||||
<value xml:lang="jp"><![CDATA[xml]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[xml]]></value>
|
||||
<value xml:lang="fr"><![CDATA[xml]]></value>
|
||||
<value xml:lang="ru"><![CDATA[xml]]></value>
|
||||
<value xml:lang="es"><![CDATA[xml]]></value>
|
||||
<value xml:lang="tr"><![CDATA[xml]]></value>
|
||||
</item>
|
||||
<item name="curl">
|
||||
<value xml:lang="ko"><![CDATA[curl]]></value>
|
||||
<value xml:lang="en"><![CDATA[curl]]></value>
|
||||
<value xml:lang="jp"><![CDATA[curl]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[curl]]></value>
|
||||
<value xml:lang="fr"><![CDATA[curl]]></value>
|
||||
<value xml:lang="ru"><![CDATA[curl]]></value>
|
||||
<value xml:lang="es"><![CDATA[curl]]></value>
|
||||
<value xml:lang="tr"><![CDATA[curl]]></value>
|
||||
</item>
|
||||
<item name="iconv">
|
||||
<value xml:lang="ko"><![CDATA[ICONV 라이브러리]]></value>
|
||||
<value xml:lang="en"><![CDATA[ICONV Library]]></value>
|
||||
<value xml:lang="jp"><![CDATA[ICONVライブラリ]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[ICONV库]]></value>
|
||||
<value xml:lang="fr"><![CDATA[Bibliothèque de ICONV]]></value>
|
||||
<value xml:lang="ru"><![CDATA[ICONV библиотека]]></value>
|
||||
<value xml:lang="es"><![CDATA[Librería ICONV]]></value>
|
||||
<value xml:lang="tr"><![CDATA[ICONV Kitaplığı]]></value>
|
||||
<value xml:lang="ko"><![CDATA[iconv / mbstring]]></value>
|
||||
<value xml:lang="en"><![CDATA[iconv / mbstring]]></value>
|
||||
<value xml:lang="jp"><![CDATA[iconv / mbstring]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[iconv / mbstring]]></value>
|
||||
<value xml:lang="fr"><![CDATA[iconv / mbstring]]></value>
|
||||
<value xml:lang="ru"><![CDATA[iconv / mbstring]]></value>
|
||||
<value xml:lang="es"><![CDATA[iconv / mbstring]]></value>
|
||||
<value xml:lang="tr"><![CDATA[iconv / mbstring]]></value>
|
||||
</item>
|
||||
<item name="json">
|
||||
<value xml:lang="ko"><![CDATA[json]]></value>
|
||||
<value xml:lang="en"><![CDATA[json]]></value>
|
||||
<value xml:lang="jp"><![CDATA[json]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[json]]></value>
|
||||
<value xml:lang="fr"><![CDATA[json]]></value>
|
||||
<value xml:lang="ru"><![CDATA[json]]></value>
|
||||
<value xml:lang="es"><![CDATA[json]]></value>
|
||||
<value xml:lang="tr"><![CDATA[json]]></value>
|
||||
</item>
|
||||
<item name="gd">
|
||||
<value xml:lang="ko"><![CDATA[GD 라이브러리]]></value>
|
||||
<value xml:lang="en"><![CDATA[GD Library]]></value>
|
||||
<value xml:lang="jp"><![CDATA[GDライブラリ]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[GD库]]></value>
|
||||
<value xml:lang="fr"><![CDATA[Bibliothèque de GD]]></value>
|
||||
<value xml:lang="ru"><![CDATA[GD библиотека]]></value>
|
||||
<value xml:lang="es"><![CDATA[Librería GD]]></value>
|
||||
<value xml:lang="tr"><![CDATA[GD Kitaplığı]]></value>
|
||||
<value xml:lang="ko"><![CDATA[gd]]></value>
|
||||
<value xml:lang="en"><![CDATA[gd]]></value>
|
||||
<value xml:lang="jp"><![CDATA[gd]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[gd]]></value>
|
||||
<value xml:lang="fr"><![CDATA[gd]]></value>
|
||||
<value xml:lang="ru"><![CDATA[gd]]></value>
|
||||
<value xml:lang="es"><![CDATA[gd]]></value>
|
||||
<value xml:lang="tr"><![CDATA[gd]]></value>
|
||||
</item>
|
||||
<item name="openssl">
|
||||
<value xml:lang="ko"><![CDATA[openssl]]></value>
|
||||
<value xml:lang="en"><![CDATA[openssl]]></value>
|
||||
<value xml:lang="jp"><![CDATA[openssl]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[openssl]]></value>
|
||||
<value xml:lang="fr"><![CDATA[openssl]]></value>
|
||||
<value xml:lang="ru"><![CDATA[openssl]]></value>
|
||||
<value xml:lang="es"><![CDATA[openssl]]></value>
|
||||
<value xml:lang="tr"><![CDATA[openssl]]></value>
|
||||
</item>
|
||||
<item name="session">
|
||||
<value xml:lang="ko"><![CDATA[Session.auto_start 설정]]></value>
|
||||
<value xml:lang="en"><![CDATA[Session.auto_start setting]]></value>
|
||||
<value xml:lang="jp"><![CDATA[Session.auto_startの設定]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[Session.auto_start 设置]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[Session.auto_start設置]]></value>
|
||||
<value xml:lang="fr"><![CDATA[Configuration de Session.auto_start]]></value>
|
||||
<value xml:lang="ru"><![CDATA[Session.auto_start настройка]]></value>
|
||||
<value xml:lang="es"><![CDATA[Configuración Session.auto_start]]></value>
|
||||
<value xml:lang="tr"><![CDATA[Session.auto_start(otomatik.oturum_acma) ayarı]]></value>
|
||||
<value xml:lang="vi"><![CDATA[Thiết lập Session.auto_start]]></value>
|
||||
<value xml:lang="ko"><![CDATA[session.auto_start 설정]]></value>
|
||||
<value xml:lang="en"><![CDATA[session.auto_start setting]]></value>
|
||||
<value xml:lang="jp"><![CDATA[session.auto_startの設定]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[session.auto_start 设置]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[session.auto_start設置]]></value>
|
||||
<value xml:lang="fr"><![CDATA[Configuration de session.auto_start]]></value>
|
||||
<value xml:lang="ru"><![CDATA[session.auto_start настройка]]></value>
|
||||
<value xml:lang="es"><![CDATA[Configuración session.auto_start]]></value>
|
||||
<value xml:lang="tr"><![CDATA[session.auto_start(otomatik.oturum_acma) ayarı]]></value>
|
||||
<value xml:lang="vi"><![CDATA[Thiết lập session.auto_start]]></value>
|
||||
</item>
|
||||
<item name="db">
|
||||
<value xml:lang="ko"><![CDATA[DB]]></value>
|
||||
<value xml:lang="en"><![CDATA[DB]]></value>
|
||||
<value xml:lang="jp"><![CDATA[DB]]></value>
|
||||
<item name="db_support">
|
||||
<value xml:lang="ko"><![CDATA[DB 지원]]></value>
|
||||
<value xml:lang="en"><![CDATA[DB support]]></value>
|
||||
<value xml:lang="jp"><![CDATA[DBサポート]]></value>
|
||||
</item>
|
||||
</item>
|
||||
<item name="install_checklist_desc" type="array">
|
||||
<item name="php_version">
|
||||
<value xml:lang="ko"><![CDATA[[필수] PHP버전이 %s 이상에서 설치가 가능합니다.]]></value>
|
||||
<value xml:lang="ko"><![CDATA[[필수] XE를 설치하려면 PHP 버전이 %s 이상이어야 합니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[[Required] XE supports only PHP Version %s or higher]]></value>
|
||||
<value xml:lang="jp"><![CDATA[[必修] %s以上のPHPバージョンでインストールが可能です。]]></value>
|
||||
</item>
|
||||
<item name="php_version_warning">
|
||||
<value xml:lang="ko"><![CDATA[[권장] XE는 PHP %s 버전 이상을 권장합니다.]]></value>
|
||||
<value xml:lang="ko"><![CDATA[[권장] XE는 PHP %s 이상을 권장합니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[[Recommend] XE recommends only PHP Version %s or higher]]></value>
|
||||
<value xml:lang="jp"><![CDATA[[推奨] XEはPHP %sバージョン以上をおすすめします。]]></value>
|
||||
</item>
|
||||
<item name="permission">
|
||||
<value xml:lang="ko"><![CDATA[[필수] XE의 설치 경로 또는 ./files 디렉토리의 퍼미션이 707이어야 합니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[[Required] XE installation path or ./files directory's permission must be 707]]></value>
|
||||
<value xml:lang="jp"><![CDATA[【必須】XEのインストール先、または「./files」ディレクトリのパーミッションを「707」に設定してください。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[[必须] 的安装路径或 ./files目录属性必须是707]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[[必須] XE的資料夾或『./files』資料夾權限必須是『707』。]]></value>
|
||||
<value xml:lang="fr"><![CDATA[[Obligatoire] Chemin de l'installation de XE ou la permission de répertoire de ./files doit être 707]]></value>
|
||||
<value xml:lang="ru"><![CDATA[[Требуется] Путь установки XE или директория ./files должна иметь права доступа 707]]></value>
|
||||
<value xml:lang="es"><![CDATA[[Requerido] La ruta de la instalación de XE o el directorio de ./archivos deberia tener la atribución 707]]></value>
|
||||
<value xml:lang="tr"><![CDATA[[Gerekli] XE kurulum yolu ya da ./files directory yolunun yetkisi 707 olmalıdır]]></value>
|
||||
<value xml:lang="vi"><![CDATA[[Bắt buộc] Thư mục cài đặt của XE hay ./files directory phải CHMOD thành 707]]></value>
|
||||
<value xml:lang="ko"><![CDATA[[필수] XE의 설치 경로 또는 ./files 디렉토리의 퍼미션이 777이어야 합니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[[Required] XE installation path or ./files directory's permission must be 777]]></value>
|
||||
<value xml:lang="jp"><![CDATA[【必須】XEのインストール先、または「./files」ディレクトリのパーミッションを「777」に設定してください。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[[必须] 的安装路径或 ./files目录属性必须是777]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[[必須] XE的資料夾或『./files』資料夾權限必須是『777』。]]></value>
|
||||
<value xml:lang="fr"><![CDATA[[Obligatoire] Chemin de l'installation de XE ou la permission de répertoire de ./files doit être 777]]></value>
|
||||
<value xml:lang="ru"><![CDATA[[Требуется] Путь установки XE или директория ./files должна иметь права доступа 777]]></value>
|
||||
<value xml:lang="es"><![CDATA[[Requerido] La ruta de la instalación de XE o el directorio de ./archivos deberia tener la atribución 777]]></value>
|
||||
<value xml:lang="tr"><![CDATA[[Gerekli] XE kurulum yolu ya da ./files directory yolunun yetkisi 777 olmalıdır]]></value>
|
||||
<value xml:lang="vi"><![CDATA[[Bắt buộc] Thư mục cài đặt của XE hay ./files directory phải CHMOD thành 777]]></value>
|
||||
</item>
|
||||
<item name="xml">
|
||||
<value xml:lang="ko"><![CDATA[[필수] XML통신을 위하여 XML 라이브러리가 필요합니다.]]></value>
|
||||
|
|
@ -252,7 +287,7 @@
|
|||
</item>
|
||||
</item>
|
||||
<item name="install_checklist_xml">
|
||||
<value xml:lang="ko"><![CDATA[XML라이브러리 설치]]></value>
|
||||
<value xml:lang="ko"><![CDATA[XML 라이브러리 설치]]></value>
|
||||
<value xml:lang="en"><![CDATA[Install XML Library]]></value>
|
||||
<value xml:lang="jp"><![CDATA[XMLライブラリのインストール]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[安装XML库]]></value>
|
||||
|
|
@ -264,7 +299,7 @@
|
|||
<value xml:lang="vi"><![CDATA[Cài đặt XML Library]]></value>
|
||||
</item>
|
||||
<item name="install_without_xml">
|
||||
<value xml:lang="ko"><![CDATA[xml 라이브러리가 설치되어 있지 않습니다.]]></value>
|
||||
<value xml:lang="ko"><![CDATA[XML 라이브러리가 설치되어 있지 않습니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[XML Library is not installed]]></value>
|
||||
<value xml:lang="jp"><![CDATA[XMLライブラリがインストールされていません。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[还没有安装xml库!]]></value>
|
||||
|
|
@ -276,7 +311,7 @@
|
|||
<value xml:lang="vi"><![CDATA[XML Library đã không được cài đặt.]]></value>
|
||||
</item>
|
||||
<item name="install_checklist_gd">
|
||||
<value xml:lang="ko"><![CDATA[GD라이브러리 설치]]></value>
|
||||
<value xml:lang="ko"><![CDATA[GD 라이브러리 설치]]></value>
|
||||
<value xml:lang="en"><![CDATA[Install GD Library]]></value>
|
||||
<value xml:lang="jp"><![CDATA[GDライブラリのインストール]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[安装GD库]]></value>
|
||||
|
|
@ -324,31 +359,31 @@
|
|||
<value xml:lang="vi"><![CDATA[Đã có lỗi xảy ra, có lẽ do sự thiết đặt PHP. session.auto_start không phải là 1]]></value>
|
||||
</item>
|
||||
<item name="install_permission_denied">
|
||||
<value xml:lang="ko"><![CDATA[설치대상 디렉토리의 퍼미션이 707이 아닙니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[Installation path's permission doesn't equal to 707]]></value>
|
||||
<value xml:lang="jp"><![CDATA[インストールする対象ディレクトリのパーミッションが「707」になっていません。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[安装目录属性不是707!]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[安裝目錄權限不是『707』!]]></value>
|
||||
<value xml:lang="fr"><![CDATA[La permission du chemin d'installation n'est pas égale à 707]]></value>
|
||||
<value xml:lang="ru"><![CDATA[Права доступа пути не установлены в 707]]></value>
|
||||
<value xml:lang="es"><![CDATA[La atribución de la ruta de instalacion no es igual a 707]]></value>
|
||||
<value xml:lang="tr"><![CDATA[Kurulum yolu yetkisi 707'ye eşit değil]]></value>
|
||||
<value xml:lang="vi"><![CDATA[Sự cho phép của thư mục cài đặt không phải là 707]]></value>
|
||||
<value xml:lang="ko"><![CDATA[설치대상 디렉토리의 퍼미션이 777이 아닙니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[Installation path's permission doesn't equal to 777]]></value>
|
||||
<value xml:lang="jp"><![CDATA[インストールする対象ディレクトリのパーミッションが「777」になっていません。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[安装目录属性不是777!]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[安裝目錄權限不是『777』!]]></value>
|
||||
<value xml:lang="fr"><![CDATA[La permission du chemin d'installation n'est pas égale à 777]]></value>
|
||||
<value xml:lang="ru"><![CDATA[Права доступа пути не установлены в 777]]></value>
|
||||
<value xml:lang="es"><![CDATA[La atribución de la ruta de instalacion no es igual a 777]]></value>
|
||||
<value xml:lang="tr"><![CDATA[Kurulum yolu yetkisi 777'ye eşit değil]]></value>
|
||||
<value xml:lang="vi"><![CDATA[Sự cho phép của thư mục cài đặt không phải là 777]]></value>
|
||||
</item>
|
||||
<item name="install_notandum">
|
||||
<value xml:lang="ko"><![CDATA[모든 항목을 반드시 작성해야 합니다. 모든 항목을 관리자 환경에서 수정할 수 있습니다. <strong>최초 로그인시 로그인 계정은 이메일 주소 입니다.</strong>]]></value>
|
||||
<value xml:lang="en"><![CDATA[All form must be filled, but you can modify all of settings after finish the installation.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[すべての項目を必ず作成してください。すべての項目を管理者環境にて修正できます。]]></value>
|
||||
<value xml:lang="ko"><![CDATA[작성하신 모든 항목은 설치 후 관리 모듈에서 수정할 수 있습니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[You can edit this information in the admin module after installation.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[すべての項目を管理者環境にて修正できます。]]></value>
|
||||
</item>
|
||||
<item name="cmd_install_fix_checklist">
|
||||
<value xml:lang="ko"><![CDATA[필수 설치조건을 설정하였습니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[I have fixed the required conditions.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[インストール必須条件を設定しました。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[已设置了必要的安装条件。]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[重新檢查]]></value>
|
||||
<value xml:lang="fr"><![CDATA[J'ai corrigé les conditions obligatoires.]]></value>
|
||||
<value xml:lang="ru"><![CDATA[Я удоволетворил требуемые условия]]></value>
|
||||
<value xml:lang="es"><![CDATA[Yo he configurado las condiciones necesarias para la instalación.]]></value>
|
||||
<item name="cmd_install_refresh_page">
|
||||
<value xml:lang="ko"><![CDATA[새로고침]]></value>
|
||||
<value xml:lang="en"><![CDATA[Refresh]]></value>
|
||||
<value xml:lang="jp"><![CDATA[リフレッシュ]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[刷新屏幕]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[刷新屏幕]]></value>
|
||||
<value xml:lang="fr"><![CDATA[Rafraîchir]]></value>
|
||||
<value xml:lang="ru"><![CDATA[обновление]]></value>
|
||||
<value xml:lang="es"><![CDATA[Refrescar]]></value>
|
||||
<value xml:lang="tr"><![CDATA[Gerekli koşulları tamamladım.]]></value>
|
||||
<value xml:lang="vi"><![CDATA[Tôi đã thay đổi để phù hợp với yêu cầu cài đặt.]]></value>
|
||||
</item>
|
||||
|
|
@ -373,36 +408,23 @@
|
|||
<value xml:lang="tr"><![CDATA[Önemseme]]></value>
|
||||
<value xml:lang="vi"><![CDATA[Bỏ qua]]></value>
|
||||
</item>
|
||||
<item name="cmd_recommended">
|
||||
<value xml:lang="ko"><![CDATA[권장]]></value>
|
||||
<value xml:lang="en"><![CDATA[Recommended]]></value>
|
||||
<value xml:lang="jp"><![CDATA[推奨]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[推荐]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[推薦]]></value>
|
||||
<value xml:lang="fr"><![CDATA[Recommandé]]></value>
|
||||
<value xml:lang="ru"><![CDATA[рекомендуемые]]></value>
|
||||
<value xml:lang="es"><![CDATA[Recomendado]]></value>
|
||||
<value xml:lang="tr"><![CDATA[Tavsiye edilen]]></value>
|
||||
<value xml:lang="vi"><![CDATA[Đê]]></value>
|
||||
</item>
|
||||
<item name="db_desc" type="array">
|
||||
<item name="mysql">
|
||||
<value xml:lang="ko"><![CDATA[MySQL DB를 php의 mysql*()함수를 이용하여 사용합니다.<br />DB 파일은 myisam으로 생성되기에 트랜잭션이 이루어지지 않습니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[Use MySQL as a database with mysql*() functions in php.<br />Transactions will not be processed since DB file is created in myisam.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[MySQL DBでPHPの「mysql*()」関数を利用してデータの入出力を行います。<br />DBは「myisam」タイプで作成されるため、トランザクション処理はできません。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[利用php的 mysql*()函数使用mysql DB。<br />DB数据是以myisam生成,因此不能实现transaction。]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[利用 PHP 的『mysql*()』函數使用 MySQL 資料庫。<br />利用『myisam』建立資料庫檔案,因此不能實現transaction。]]></value>
|
||||
<value xml:lang="fr"><![CDATA[Utilisera fonction mysql*() pour utiliser la base de données de mysql.<br />La transaction sera invalidé parce que le fichier de Base de Données est créé par myisam.]]></value>
|
||||
<value xml:lang="ru"><![CDATA[Используем mysql*() функцию, чтобы использовать базу данных mysql.<br />Транзакция отключена из-за того, что файл базы данных создан посредством myisam.]]></value>
|
||||
<value xml:lang="es"><![CDATA[Utilizando las funciones mysql*() de PHP usar DB mysql.<br />La transacción es desabilitado ya que DB(Bases de Datos) está creado por myisam.]]></value>
|
||||
<value xml:lang="tr"><![CDATA[PHP'de mysql*() özellikleri için MySQL'ü veritabanı olarak kullanınız.<br />İşlemler, veritabanı dosyası myisam 'da oluşturulduğu zaman işlenmeyecektir.]]></value>
|
||||
<value xml:lang="vi"><![CDATA[Dùng chức năng <b>mysql*()</b> để sử dụng MySql Database.<br />Giao dịch được vô hiệu hóa bởi File Database được tạo ra bởi myisam.]]></value>
|
||||
</item>
|
||||
<item name="mysqli_innodb">
|
||||
<value xml:lang="ko"><![CDATA[MySQL DB를 innodb를 이용하여 사용합니다.<br />innodb는 트랜잭션을 사용할 수 있습니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[Use MySQL as a database with innodb.<br />Transactions will be processed with innodb]]></value>
|
||||
<value xml:lang="jp"><![CDATA[MySQL DBで「innodb」タイプでデータの入出力を行います。<br />「innodb」ではトランザクションの処理が行えます。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[利用innodb使用mysql DB。<br />innodb可以使用transaction。]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[利用『innodb』使用 Mysql 資料庫。<br />innodb可以使用 transaction。]]></value>
|
||||
<value xml:lang="fr"><![CDATA[Utilisera innodb pour utiliser Base de Données de mysql.<br />La transaction sera validé pour innodb]]></value>
|
||||
<value xml:lang="ru"><![CDATA[Используем innodb чтобы использовать базу данных mysql.<br />Транзакция включена для innodb]]></value>
|
||||
<value xml:lang="es"><![CDATA[Utilizando innodb usar BD mysql.<br />La transacción es hablilitado para innodb]]></value>
|
||||
<value xml:lang="tr"><![CDATA[innodb ile MySQL'ü veritabanı olrak kullanınız.<br />İşlemler, innodb ile işlenecektir]]></value>
|
||||
<value xml:lang="vi"><![CDATA[Dùng chức năng <b>innodb</b> để sử dụng MySql Database.<br />Giao dịch được kích hoạt cho innodb]]></value>
|
||||
</item>
|
||||
|
||||
<item name="mysqli">
|
||||
<value xml:lang="ko"><![CDATA[MySQL DB를 php의 mysqli*()함수를 이용하여 사용합니다.<br />DB 파일은 myisam으로 생성되기에 트랜잭션이 이루어지지 않습니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[Use MySQL as a database with mysqli*() functions in php.<br />Transactions will not be processed since DB file is created in myisam]]></value>
|
||||
<value xml:lang="jp"><![CDATA[MySQL DBでPHPの「mysqli*()」関数を利用してデータの入出力を行います。<br />DBは「myisam」タイプで作成されるため、トランザクション処理はできせん。]]></value>
|
||||
<value xml:lang="ko"><![CDATA[mysqli 모듈을 사용하여 MySQL DB에 접속합니다.<br />MyISAM 저장엔진을 사용하므로 트랜잭션이 이루어지지 않으며 데이터 손상의 위험이 있습니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[Use MySQL as a database via the mysqli extension.<br />Use the MyISAM storage engine, which does not support transactions.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[mysqliモジュールを使用してMySQL DBに接続します。<br />MyISAMのエンジンを使用するので、トランザクションが行われず、データの損傷の危険があります。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[利用php的 mysqli*()函数使用mysql DB。<br />DB数据是以myisam生成,因此不能实现transaction。]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[利用 PHP 的『mysqli*()』函數使用 MySQL 資料庫。<br />利用『myisam』建立資料庫檔案,因此不能實現transaction。]]></value>
|
||||
<value xml:lang="fr"><![CDATA[Utilisera fonction mysqli*() pour utiliser la base de données de mysql.<br />La transaction sera invalidé parce que le fichier de Base de Données est créé par myisam.]]></value>
|
||||
|
|
@ -411,10 +433,34 @@
|
|||
<value xml:lang="tr"><![CDATA[PHP'de mysqli*() özellikleri için MySQL'ü veritabanı olarak kullanınız.<br />İşlemler, veritabanı dosyası myisam 'da oluşturulduğu zaman işlenmeyecektir.]]></value>
|
||||
<value xml:lang="vi"><![CDATA[Dùng chức năng <b>mysqli*()</b> để sử dụng MySql Database.<br />Giao dịch được vô hiệu hóa bởi File Database được tạo ra bởi myisam.]]></value>
|
||||
</item>
|
||||
<item name="mysqli_innodb">
|
||||
<value xml:lang="ko"><![CDATA[mysqli 모듈을 사용하여 MySQL DB에 접속합니다.<br />InnoDB 저장엔진은 트랜잭션을 지원하여 데이터 손상의 위험이 낮으며, 동시 처리 능력이 뛰어납니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[Use MySQL as a database via the mysqli extension.<br />Use the InnoDB storage engine, which supports transactions and higher concurrency.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[mysqliモジュールを使用してMySQL DBに接続します。<br />InnoDBのエンジンは、トランザクションを支援してデータの損傷の危険が低く、同時処理能力が優れています。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[利用innodb使用mysql DB。<br />innodb可以使用transaction。]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[利用『innodb』使用 Mysql 資料庫。<br />innodb可以使用 transaction。]]></value>
|
||||
<value xml:lang="fr"><![CDATA[Utilisera innodb pour utiliser Base de Données de mysql.<br />La transaction sera validé pour innodb]]></value>
|
||||
<value xml:lang="ru"><![CDATA[Используем innodb чтобы использовать базу данных mysql.<br />Транзакция включена для innodb]]></value>
|
||||
<value xml:lang="es"><![CDATA[Utilizando innodb usar BD mysql.<br />La transacción es hablilitado para innodb]]></value>
|
||||
<value xml:lang="tr"><![CDATA[innodb ile MySQL'ü veritabanı olrak kullanınız.<br />İşlemler, innodb ile işlenecektir]]></value>
|
||||
<value xml:lang="vi"><![CDATA[Dùng chức năng <b>innodb</b> để sử dụng MySql Database.<br />Giao dịch được kích hoạt cho innodb]]></value>
|
||||
</item>
|
||||
<item name="mysql">
|
||||
<value xml:lang="ko"><![CDATA[PHP의 mysql_*() 함수를 사용하여 MySQL DB에 접속합니다.<br />MyISAM 저장엔진을 사용하므로 트랜잭션이 이루어지지 않으며 데이터 손상의 위험이 있습니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[Use MySQL as a database via PHP's mysql_* functions.<br />Use the MyISAM storage engine, which does not support transactions.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[PHPのmysql_*()関数を使用してMySQL DBに接続します。<br />MyISAMのエンジンを使用するので、トランザクションが行われず、データの損傷の危険があります。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[利用php的 mysql_*()函数使用mysql DB。<br />DB数据是以myisam生成,因此不能实现transaction。]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[利用 PHP 的『mysql_*()』函數使用 MySQL 資料庫。<br />利用『myisam』建立資料庫檔案,因此不能實現transaction。]]></value>
|
||||
<value xml:lang="fr"><![CDATA[Utilisera fonction mysql_*() pour utiliser la base de données de mysql.<br />La transaction sera invalidé parce que le fichier de Base de Données est créé par myisam.]]></value>
|
||||
<value xml:lang="ru"><![CDATA[Используем mysql_*() функцию, чтобы использовать базу данных mysql.<br />Транзакция отключена из-за того, что файл базы данных создан посредством myisam.]]></value>
|
||||
<value xml:lang="es"><![CDATA[Utilizando las funciones mysql_*() de PHP usar DB mysql.<br />La transacción es desabilitado ya que DB(Bases de Datos) está creado por myisam.]]></value>
|
||||
<value xml:lang="tr"><![CDATA[PHP'de mysql_*() özellikleri için MySQL'ü veritabanı olarak kullanınız.<br />İşlemler, veritabanı dosyası myisam 'da oluşturulduğu zaman işlenmeyecektir.]]></value>
|
||||
<value xml:lang="vi"><![CDATA[Dùng chức năng <b>mysql_*()</b> để sử dụng MySql Database.<br />Giao dịch được vô hiệu hóa bởi File Database được tạo ra bởi myisam.]]></value>
|
||||
</item>
|
||||
<item name="mysql_innodb">
|
||||
<value xml:lang="ko"><![CDATA[MySQL DB를 innodb를 이용하여 사용합니다.<br />innodb는 트랜잭션을 사용할 수 있습니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[Use MySQL as a database with innodb.<br />Transactions will be processed with innodb]]></value>
|
||||
<value xml:lang="jp"><![CDATA[MySQL DBで「innodb」タイプでデータの入出力を行います。<br />「innodb」ではトランザクションの処理が行えます。]]></value>
|
||||
<value xml:lang="ko"><![CDATA[PHP의 mysql_*() 함수를 사용하여 MySQL DB에 접속합니다.<br />InnoDB 저장엔진은 트랜잭션을 지원하여 데이터 손상의 위험이 낮으며, 동시 처리 능력이 뛰어납니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[Use MySQL as a database via PHP's mysql_* functions.<br />Use the InnoDB storage engine, which supports transactions and higher concurrency.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[PHPのmysql_*()関数を使用してMySQL DBに接続します。<br />InnoDBのエンジンは、トランザクションを支援してデータの損傷の危険が低く、同時処理能力が優れています。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[利用innodb使用mysql DB。<br />innodb可以使用transaction。]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[利用『innodb』使用 Mysql 資料庫。<br />innodb可以使用 transaction。]]></value>
|
||||
<value xml:lang="fr"><![CDATA[Utilisera innodb pour utiliser Base de Données de mysql.<br />La transaction sera validé pour innodb]]></value>
|
||||
|
|
@ -436,21 +482,24 @@
|
|||
<value xml:lang="vi"><![CDATA[Sử dụng <b>CUBRID</b> Database. <a href="http://www.cubrid.org/wiki_tutorials/entry/cubrid-installation-instructions" target="_blank">Hướng dẫn</a>]]></value>
|
||||
</item>
|
||||
<item name="mssql">
|
||||
<value xml:lang="ko"><![CDATA[MSSQL DB를 이용합니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[Use MSSQL as a database]]></value>
|
||||
<value xml:lang="jp"><![CDATA[MSSQL DBを利用します。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[使用MSSQL DB。]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[使用 MSSQL DB。]]></value>
|
||||
<value xml:lang="fr"><![CDATA[Utiliser la Base de Données de MSSQL.]]></value>
|
||||
<value xml:lang="ru"><![CDATA[Используем MSSQL DB.]]></value>
|
||||
<value xml:lang="es"><![CDATA[Usar BD MSSQL.]]></value>
|
||||
<value xml:lang="tr"><![CDATA[MSSQL'ü veritabanı olarak kullanın]]></value>
|
||||
<value xml:lang="ko"><![CDATA[Microsoft SQL Server를 이용합니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[Use Microsoft SQL Server as a database.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[Microsoft SQL Serverを利用します。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[使用 Microsoft SQL Server。]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[使用 Microsoft SQL Server。]]></value>
|
||||
<value xml:lang="fr"><![CDATA[Utiliser la Base de Données de Microsoft SQL Server.]]></value>
|
||||
<value xml:lang="ru"><![CDATA[Используем Microsoft SQL Server DB.]]></value>
|
||||
<value xml:lang="es"><![CDATA[Usar Microsoft SQL Server.]]></value>
|
||||
<value xml:lang="tr"><![CDATA[Microsoft SQL Server'ü veritabanı olarak kullanın]]></value>
|
||||
</item>
|
||||
</item>
|
||||
<item name="can_use_when_installed">
|
||||
<value xml:lang="ko"><![CDATA[설치하면 사용할 수 있음.]]></value>
|
||||
<value xml:lang="en"><![CDATA[You can use when it has installed.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[設置すれば使用できます。]]></value>
|
||||
<value xml:lang="ko"><![CDATA[설치되어 있지 않음]]></value>
|
||||
<value xml:lang="en"><![CDATA[Not installed on this server]]></value>
|
||||
<value xml:lang="jp"><![CDATA[このサーバーにインストールされていません]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[不是这个服务器上安装]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[不是這個服務器上安裝]]></value>
|
||||
<value xml:lang="fr"><![CDATA[Pas installé sur ce serveur]]></value>
|
||||
</item>
|
||||
<item name="form_title">
|
||||
<value xml:lang="ko"><![CDATA[DB & 관리자 정보 입력]]></value>
|
||||
|
|
@ -501,7 +550,7 @@
|
|||
<value xml:lang="vi"><![CDATA[Xin hãy chọn Database bạn muốn sử dụng.]]></value>
|
||||
</item>
|
||||
<item name="db_hostname">
|
||||
<value xml:lang="ko"><![CDATA[DB 호스트네임]]></value>
|
||||
<value xml:lang="ko"><![CDATA[DB 서버 주소]]></value>
|
||||
<value xml:lang="en"><![CDATA[DB Hostname]]></value>
|
||||
<value xml:lang="jp"><![CDATA[ホスト名]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[服务器名]]></value>
|
||||
|
|
@ -513,7 +562,7 @@
|
|||
<value xml:lang="vi"><![CDATA[Hostname]]></value>
|
||||
</item>
|
||||
<item name="db_port">
|
||||
<value xml:lang="ko"><![CDATA[DB Port]]></value>
|
||||
<value xml:lang="ko"><![CDATA[DB 서버 포트]]></value>
|
||||
<value xml:lang="en"><![CDATA[DB Port]]></value>
|
||||
<value xml:lang="jp"><![CDATA[ポート番号]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[数据库端口]]></value>
|
||||
|
|
@ -583,14 +632,12 @@
|
|||
<value xml:lang="vi"><![CDATA[Tên Table]]></value>
|
||||
</item>
|
||||
<item name="db_info_desc">
|
||||
<value xml:lang="ko"><![CDATA[<p><strong>DB 아이디</strong>, <strong>DB 비밀번호</strong>, <strong>DB 이름</strong> 정보는 서버 호스팅 관리자로부터 정보를 확인 하세요.</p>]]></value>
|
||||
<value xml:lang="en"><![CDATA[<p>Please check <strong>database information</strong> to server master.</p>]]></value>
|
||||
<value xml:lang="jp"><![CDATA[<p><strong>DB ID</strong>, <strong>DB パスワード</strong>, <strong>DB 名稱</strong> 情報は、サーバーホスティング管理者に情報を確認してください。</p>]]></value>
|
||||
<value xml:lang="ko"><![CDATA[DB 아이디, 비밀번호, 서버 주소, 포트 등의 정보는 호스팅 관리자에게 문의하세요.]]></value>
|
||||
<value xml:lang="en"><![CDATA[Please check database server information with your server administrator.]]></value>
|
||||
</item>
|
||||
<item name="db_prefix_desc">
|
||||
<value xml:lang="ko"><![CDATA[<p><strong>DB 호스트 네임</strong>, <strong>DB Port</strong> 정보는 서버 호스팅 관리자로부터 정보를 확인 하세요.</p><p><strong>DB 테이블 머리말</strong> 정보는 사용자 정의 할 수 있습니다. 영문 소문자를 권장 합니다. 숫자를 포함할 수 있습니다. 특수 문자를 사용할 수 없습니다.</p>]]></value>
|
||||
<value xml:lang="en"><![CDATA[<p>Please check <strong>database information</strong> to server master.</p><p>You can modify database <strong>table prefix</strong>, and can use small letters(small letter is recommended), and numbers, but you can not use special letters.</p>]]></value>
|
||||
<value xml:lang="jp"><![CDATA[<p><strong>DBホスト名</strong>, <strong>DB Port</strong> 情報は、サーバーホスティング管理者に情報を確認してください。</p><p><strong>DBテーブルプレフィックス</strong> 情報は、ユーザーが定義できます。英文小文字の使用を推奨します。数字を含めることができます。特殊文字は、使用できません。</p>]]></value>
|
||||
<value xml:lang="ko"><![CDATA[DB 테이블 접두사는 사용자가 선택할 수 있습니다. 영문 소문자를 권장하며, 특수 문자를 사용할 수 없습니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[You can customize the table prefix. We recommend that you use lowercase alphabets only.]]></value>
|
||||
</item>
|
||||
<item name="admin_title">
|
||||
<value xml:lang="ko"><![CDATA[관리자 정보]]></value>
|
||||
|
|
@ -641,13 +688,13 @@
|
|||
</item>
|
||||
<item name="use_rewrite">
|
||||
<value xml:lang="ko"><![CDATA[짧은 주소 사용]]></value>
|
||||
<value xml:lang="en"><![CDATA[Rewrite Mod]]></value>
|
||||
<value xml:lang="en"><![CDATA[mod_rewrite]]></value>
|
||||
<value xml:lang="jp"><![CDATA[リライト・モジュールを使用]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[使用rewrite模块]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[Rewrite]]></value>
|
||||
<value xml:lang="fr"><![CDATA[Utiliser mode de récrire(rewrite mod)]]></value>
|
||||
<value xml:lang="ru"><![CDATA[Использовать<br /> модуль перезаписи<br />(rewrite mod)]]></value>
|
||||
<value xml:lang="es"><![CDATA[Usar rewrite mod]]></value>
|
||||
<value xml:lang="fr"><![CDATA[Utiliser mode de récrire(mod_rewrite)]]></value>
|
||||
<value xml:lang="ru"><![CDATA[Использовать<br /> модуль перезаписи<br />(mod_rewrite)]]></value>
|
||||
<value xml:lang="es"><![CDATA[Usar mod_rewrite]]></value>
|
||||
<value xml:lang="tr"><![CDATA[YenidenYazma Modu (mod_rewrite)]]></value>
|
||||
<value xml:lang="vi"><![CDATA[Mod Rewrite]]></value>
|
||||
</item>
|
||||
|
|
@ -664,26 +711,31 @@
|
|||
<value xml:lang="vi"><![CDATA[<abbr title="Single Sign On">SSO</abbr>]]></value>
|
||||
</item>
|
||||
<item name="about_rewrite">
|
||||
<value xml:lang="ko"><![CDATA[이 기능을 사용하면 <em>http://yourdomain/</em><strong>?document_srl=123</strong> 과 같이 복잡한 주소를 <em>http://yourdomain/</em><strong>123</strong> 과 같이 간단하게 줄일 수 있습니다. 웹 서버에서 <strong>rewrite_mod</strong>를 지원해야 합니다. 지원 여부는 서버 관리자에게 문의하세요.]]></value>
|
||||
<value xml:lang="en"><![CDATA[If web server provides rewrite mod, long URL such as <em>http://blah/</em><strong>?document_srl=123</strong> can be shortened like <em>http://blah/</em><strong>123</strong>]]></value>
|
||||
<value xml:lang="ko"><![CDATA[이 기능을 사용하면 <em>http://yourdomain/</em><strong>?document_srl=123</strong> 과 같이 복잡한 주소를 <em>http://yourdomain/</em><strong>123</strong> 과 같이 간단하게 줄일 수 있습니다. 웹 서버에서 mod_rewrite를 지원해야 합니다. 지원 여부는 서버 관리자에게 문의하세요.]]></value>
|
||||
<value xml:lang="en"><![CDATA[If web server provides mod_rewrite, long URL such as <em>http://blah/</em><strong>?document_srl=123</strong> can be shortened like <em>http://blah/</em><strong>123</strong>]]></value>
|
||||
<value xml:lang="jp"><![CDATA[Webサーバで「リライト・モジュール(mod_rewrite)」をサポートしている場合は、「http://アドレス/?document_srl=123」のようなアドレスを、動的だけど「http://アドレス/123」のように静的なページに見せることができます。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[如服务器支持rewrite模块且选择此项,可以简化复杂的网址。<br />例如,http://域名/?document_srl=123简化为http://域名/123。]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[如果支援 rewrite 功能,可縮短冗長的網址。<br />例>『http://域名/?document_srl=123』縮短成『http://域名/123』。]]></value>
|
||||
<value xml:lang="fr"><![CDATA[Si le serveur de web est capable d'utiliser le mode de récrire, URL longue comme http://murmure/?document_srl=123 peut être abrégé comme http://murmure/123]]></value>
|
||||
<value xml:lang="ru"><![CDATA[Если сервер предлагает rewrite mod, длинные URL такие как http://blah/?document_srl=123 могут быть сокращены до http://blah/123]]></value>
|
||||
<value xml:lang="es"><![CDATA[Si el servidor de la web soporte rewrite mod, URL largas como http://bla/?documento_srl=123 puede abreviarse como http://bla/123]]></value>
|
||||
<value xml:lang="ru"><![CDATA[Если сервер предлагает mod_rewrite, длинные URL такие как http://blah/?document_srl=123 могут быть сокращены до http://blah/123]]></value>
|
||||
<value xml:lang="es"><![CDATA[Si el servidor de la web soporte mod_rewrite, URL largas como http://bla/?documento_srl=123 puede abreviarse como http://bla/123]]></value>
|
||||
<value xml:lang="tr"><![CDATA[Eğer websunucusu yenidenyazma(rewritemod) destekliyorsa, http://ornek/?dosya_no=123 gibi URLler http://ornek/123 olarak kısaltılabilir]]></value>
|
||||
<value xml:lang="vi"><![CDATA[Nếu Host của bạn hỗ trợ Mod Rewrite, khi địa chỉ có dạng <b>http://blah/?document_srl=123</b> sẽ được rút ngắn thành <b>http://blah/123</b>]]></value>
|
||||
</item>
|
||||
<item name="disable_rewrite">
|
||||
<value xml:lang="ko"><![CDATA[짧은 주소를 사용할 수 없습니다. 웹 서버 담당자에게 <strong>rewrite_mod</strong>지원 여부를 확인 바랍니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[Required module for "Friendly URL" feature is not found. Please check with the web master about <strong>rewrite_mod</strong> module support.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[短縮アドレスを使用できません。ウェブサーバー担当者に <strong>rewrite_mod</strong>サポート可否を確認してください。]]></value>
|
||||
<value xml:lang="ko"><![CDATA[짧은 주소를 사용할 수 없습니다. 웹 서버 담당자에게 mod_rewrite 지원 여부를 확인 바랍니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA["Friendly URL" feature is not available. Please check with the server administrator about mod_rewrite module support.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[短縮アドレスを使用できません。ウェブサーバー担当者に mod_rewriteサポート可否を確認してください。]]></value>
|
||||
</item>
|
||||
<item name="disable_rewrite_can_proceed">
|
||||
<value xml:lang="ko"><![CDATA[짧은 주소를 사용할 수 없더라도 XE 설치와 사용에는 지장이 없습니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[It is OK to continue to install and use XE without the "Friendly URL" feature.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[この機能は、XEをインストールと使用するために必要ではありません。]]></value>
|
||||
</item>
|
||||
<item name="about_nginx_rewrite">
|
||||
<value xml:lang="ko"><![CDATA[Nginx를 사용할 경우, 짧은 주소를 사용하기 위하여 rewrite 설정이 필요합니다. 설정방법은 <a href="https://github.com/xpressengine/xe-core/wiki/Nginx-rewite-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0" target="_blank"><strong>여기</strong></a>를 참고하세요.]]></value>
|
||||
<value xml:lang="en"><![CDATA[For using "Friendly URL" feature at Nginx, need to configure rewrites at Nginx. show <a href="https://github.com/xpressengine/xe-core/wiki/Nginx-rewite-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0" target="_blank"><strong>here</strong></a>.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[Nginxを使用する場合、短縮アクセスを使用するためにrewrite設定が必要です。設定方法は<a href="https://github.com/xpressengine/xe-core/wiki/Nginx-rewite-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0" target="_blank"><strong>여기</strong></a>を参考ください。]]></value>
|
||||
<value xml:lang="ko"><![CDATA[nginx에서 짧은 주소를 사용하려면 rewrite 설정이 필요합니다. <a href="https://github.com/xpressengine/xe-core/wiki/Nginx-rewite-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0" target="_blank">여기</a>를 참고하세요.]]></value>
|
||||
<value xml:lang="en"><![CDATA[To use this feature at nginx, you need to configure rewrite. See <a href="https://github.com/xpressengine/xe-core/wiki/Nginx-rewite-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0" target="_blank">here</a>.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[nginxを使用する場合、短縮アクセスを使用するためにrewrite設定が必要です。設定方法は<a href="https://github.com/xpressengine/xe-core/wiki/Nginx-rewite-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0" target="_blank">このページ</a>を参考ください。]]></value>
|
||||
</item>
|
||||
<item name="time_zone">
|
||||
<value xml:lang="ko"><![CDATA[표준 시간대]]></value>
|
||||
|
|
@ -698,8 +750,8 @@
|
|||
<value xml:lang="vi"><![CDATA[Múi giờ]]></value>
|
||||
</item>
|
||||
<item name="about_time_zone">
|
||||
<value xml:lang="ko"><![CDATA[서버의 설정시간과 사용하려는 장소의 시간이 차이가 날 경우 표준 시간대를 지정하면 표시되는 시간을 지정된 곳의 시간으로 사용할 수 있습니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[If the server time and the time on your location don't accord each other, you can set the time to be same as your location by using the time zone]]></value>
|
||||
<value xml:lang="ko"><![CDATA[서버의 시간과 주 사용자의 시간이 다를 경우 (예: 해외 서버인 경우) 원하는 표준 시간대를 선택할 수 있습니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[If the server time is different from your time zone, you can use this option to display times in your time zone.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[サーバの設定時間とサービスしているローカル時間との差がある場合、タイムゾーンを指定して表示時間を合わせることができます。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[服务器时间和您所处的时间有差异时,可以设置时区来满足你所需要的时间显示。]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[主機時間和您所處的時間有差異時,可以設置時區來滿足你所需要的時間顯示。]]></value>
|
||||
|
|
@ -732,16 +784,16 @@
|
|||
<value xml:lang="vi"><![CDATA[Nó sẽ cho phép gửi thư từ MTA mà không phân biệt CRLF.]]></value>
|
||||
</item>
|
||||
<item name="about_database_file">
|
||||
<value xml:lang="ko"><![CDATA[Sqlite는 파일에 데이터를 저장합니다. 데이터베이스 파일의 위치를 웹에서 접근할 수 없는 곳으로 해야 합니다.<br/><span style="color:red">데이터 파일은 707퍼미션 설정된 곳으로 지정해주세요.</span>]]></value>
|
||||
<value xml:lang="en"><![CDATA[Sqlite saves data in a file. Location of the database file should be unreachable by web<br/><span style="color:red">Data file should be inside the permission of 707.</span>]]></value>
|
||||
<value xml:lang="jp"><![CDATA[Sqliteはファイルにデータを保存します。そのため、データベースファイルにはウェブからアクセスできない場所にしなければなりません。<br/><span style="color:red">データファイルのパーミッションは「707」に設定してください。</span>]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[Sqlite是文件里保存数据。数据库的文件位置应该放在web不能访问的地方。<br/><span style="color:red">数据文件应放在具有707属性的位置。</span>]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[Sqlite是保存資料於檔案中。資料庫的檔案位置應該放在 web 不能訪問的地方。<br/><span style="color:red">資料檔案應放在具有 707 權限的位置。</span>]]></value>
|
||||
<value xml:lang="fr"><![CDATA[Sqlite conserve des données dans le fichier. Vous devez placer le fichier de la base de données où l'on ne peut pas accéder par web.<br/><span style="color:red">Le fichier des Donées doit être en dedans la permission 707.</span>]]></value>
|
||||
<value xml:lang="ru"><![CDATA[Sqlite сохраняет данные в файл. Размещение базы данных должно быть недоступно с веб<br/><span style="color:red">Файл базы данных должен иметь права доступа 707.</span>]]></value>
|
||||
<value xml:lang="es"><![CDATA[Sqlite guarda el dato en el archivo. Es necesario crear archivo de BD en un lugar inaccesible de la web.<br/><span style="color:red">El archivo de dato debe estar ubicado en un lugar con la atribución 707.</span>]]></value>
|
||||
<value xml:lang="tr"><![CDATA[Sqlite veriyi dosyaya kaydeder. Veritabanı dosyası tarayıcıyla erişilebilir olmamalıdır.<br/><span style="color:red">Veri dosyası 707 yetki kapsamı içinde olmalıdır.</span>]]></value>
|
||||
<value xml:lang="vi"><![CDATA[Sqlite lưu trữ dữ liệu trong một File, vì vậy cần tới sự truy cập đến nó trong Database. <br/><span style="color:red">Hãy CHMOD thành 707.</span>]]></value>
|
||||
<value xml:lang="ko"><![CDATA[Sqlite는 파일에 데이터를 저장합니다. 데이터베이스 파일의 위치를 웹에서 접근할 수 없는 곳으로 해야 합니다.<br/><span style="color:red">데이터 파일은 777퍼미션 설정된 곳으로 지정해주세요.</span>]]></value>
|
||||
<value xml:lang="en"><![CDATA[Sqlite saves data in a file. Location of the database file should be unreachable by web<br/><span style="color:red">Data file should be inside the permission of 777.</span>]]></value>
|
||||
<value xml:lang="jp"><![CDATA[Sqliteはファイルにデータを保存します。そのため、データベースファイルにはウェブからアクセスできない場所にしなければなりません。<br/><span style="color:red">データファイルのパーミッションは「777」に設定してください。</span>]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[Sqlite是文件里保存数据。数据库的文件位置应该放在web不能访问的地方。<br/><span style="color:red">数据文件应放在具有777属性的位置。</span>]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[Sqlite是保存資料於檔案中。資料庫的檔案位置應該放在 web 不能訪問的地方。<br/><span style="color:red">資料檔案應放在具有 777 權限的位置。</span>]]></value>
|
||||
<value xml:lang="fr"><![CDATA[Sqlite conserve des données dans le fichier. Vous devez placer le fichier de la base de données où l'on ne peut pas accéder par web.<br/><span style="color:red">Le fichier des Donées doit être en dedans la permission 777.</span>]]></value>
|
||||
<value xml:lang="ru"><![CDATA[Sqlite сохраняет данные в файл. Размещение базы данных должно быть недоступно с веб<br/><span style="color:red">Файл базы данных должен иметь права доступа 777.</span>]]></value>
|
||||
<value xml:lang="es"><![CDATA[Sqlite guarda el dato en el archivo. Es necesario crear archivo de BD en un lugar inaccesible de la web.<br/><span style="color:red">El archivo de dato debe estar ubicado en un lugar con la atribución 777.</span>]]></value>
|
||||
<value xml:lang="tr"><![CDATA[Sqlite veriyi dosyaya kaydeder. Veritabanı dosyası tarayıcıyla erişilebilir olmamalıdır.<br/><span style="color:red">Veri dosyası 777 yetki kapsamı içinde olmalıdır.</span>]]></value>
|
||||
<value xml:lang="vi"><![CDATA[Sqlite lưu trữ dữ liệu trong một File, vì vậy cần tới sự truy cập đến nó trong Database. <br/><span style="color:red">Hãy CHMOD thành 777.</span>]]></value>
|
||||
</item>
|
||||
<item name="success_installed">
|
||||
<value xml:lang="ko"><![CDATA[설치가 되었습니다.]]></value>
|
||||
|
|
@ -889,9 +941,9 @@
|
|||
<value xml:lang="vi"><![CDATA[Tên Host FTP]]></value>
|
||||
</item>
|
||||
<item name="ftp_port">
|
||||
<value xml:lang="ko"><![CDATA[FTP port]]></value>
|
||||
<value xml:lang="en"><![CDATA[FTP port]]></value>
|
||||
<value xml:lang="jp"><![CDATA[FTPポート番号(port)]]></value>
|
||||
<value xml:lang="ko"><![CDATA[FTP 서버 포트]]></value>
|
||||
<value xml:lang="en"><![CDATA[FTP server port]]></value>
|
||||
<value xml:lang="jp"><![CDATA[FTPサーバーポート]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[FTP端口]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[FTP 埠口]]></value>
|
||||
<value xml:lang="de"><![CDATA[FTP Port]]></value>
|
||||
|
|
@ -1033,8 +1085,8 @@
|
|||
<value xml:lang="vi"><![CDATA[Đường dẫn thư mục đã cài đặt XE]]></value>
|
||||
</item>
|
||||
<item name="msg_ftp_installed_ftp_realpath">
|
||||
<value xml:lang="ko"><![CDATA[설치된 XE의 FTP 경로]]></value>
|
||||
<value xml:lang="en"><![CDATA[Absolute FTP Path of XE]]></value>
|
||||
<value xml:lang="ko"><![CDATA[XE 설치 경로]]></value>
|
||||
<value xml:lang="en"><![CDATA[XE installation path]]></value>
|
||||
<value xml:lang="jp"><![CDATA[インストールされたXEのFTP絶対パス設定]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[FTP绝对路径设置]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[XE的 FTP 絕對路經]]></value>
|
||||
|
|
|
|||
|
|
@ -1,8 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ruleset version="1.5.0">
|
||||
<customrules>
|
||||
</customrules>
|
||||
<fields>
|
||||
<field name="time_zone" required="true" />
|
||||
</fields>
|
||||
</ruleset>
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ruleset version="1.5.0">
|
||||
<customrules>
|
||||
</customrules>
|
||||
<fields>
|
||||
<field name="db_type" required="true" default="mysql" />
|
||||
<field name="db_hostname" required="true" length="1:250" default="localhost" />
|
||||
<field name="db_port" required="true" length="1:250" rule="number" default="3306" />
|
||||
<field name="db_userid" required="true" length="1:250" rule="alpha_number" />
|
||||
<field name="db_password" required="true" length="1:250"/>
|
||||
<field name="db_database" required="true" length="1:250" />
|
||||
<field name="db_table_prefix" length="2:20" rule="alpha_number" />
|
||||
</fields>
|
||||
</ruleset>
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ruleset version="1.5.0">
|
||||
<customrules>
|
||||
</customrules>
|
||||
<fields>
|
||||
<field name="db_type" required="true" default="mysql" />
|
||||
<field name="db_hostname" required="true" length="1:250" default="localhost" />
|
||||
<field name="db_port" required="true" length="1:250" rule="number" default="3306" />
|
||||
<field name="db_userid" required="true" length="1:250" rule="alpha_number" />
|
||||
<field name="db_password" required="true" length="1:250"/>
|
||||
<field name="db_database" required="true" length="1:250" />
|
||||
<field name="db_table_prefix" length="2:20" rule="alpha" />
|
||||
</fields>
|
||||
</ruleset>
|
||||
|
|
@ -4,9 +4,10 @@
|
|||
</customrules>
|
||||
<fields>
|
||||
<field name="email_address" required="true" length="1:200" rule="email" />
|
||||
<field name="password" required="true" length="1:20" />
|
||||
<field name="password2" required="true" length="1:20" equalto="password" />
|
||||
<field name="password" required="true" length="1:60" />
|
||||
<field name="password2" required="true" length="1:60" equalto="password" />
|
||||
<field name="nick_name" required="true" length="2:20" />
|
||||
<field name="user_id" required="true" length="2:20" rule="userid" />
|
||||
<field name="time_zone" required="true" />
|
||||
</fields>
|
||||
</ruleset>
|
||||
|
|
|
|||
|
|
@ -1,14 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ruleset version="1.5.0">
|
||||
<customrules>
|
||||
</customrules>
|
||||
<fields>
|
||||
<field name="db_type" required="true" default="mysql" />
|
||||
<field name="db_hostname" required="true" length="1:250" default="localhost" />
|
||||
<field name="db_port" required="true" length="1:250" rule="number" default="3306" />
|
||||
<field name="db_userid" required="true" length="1:250" rule="alpha_number" />
|
||||
<field name="db_password" required="true" length="1:250"/>
|
||||
<field name="db_database" required="true" length="1:250" />
|
||||
<field name="db_table_prefix" length="2:20" rule="alpha_number" />
|
||||
</fields>
|
||||
</ruleset>
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ruleset version="1.5.0">
|
||||
<customrules>
|
||||
</customrules>
|
||||
<fields>
|
||||
<field name="db_type" required="true" default="mysql" />
|
||||
<field name="db_hostname" required="true" length="1:250" default="localhost" />
|
||||
<field name="db_port" required="true" length="1:250" rule="number" default="3306" />
|
||||
<field name="db_userid" required="true" length="1:250" />
|
||||
<field name="db_password" required="true" length="1:250"/>
|
||||
<field name="db_database" required="true" length="1:250" />
|
||||
<field name="db_table_prefix" length="2:20" rule="alpha_number" />
|
||||
</fields>
|
||||
</ruleset>
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ruleset version="1.5.0">
|
||||
<customrules>
|
||||
</customrules>
|
||||
<fields>
|
||||
<field name="db_type" required="true" default="mysql" />
|
||||
<field name="db_hostname" required="true" length="1:250" default="localhost" />
|
||||
<field name="db_port" required="true" length="1:250" rule="number" default="3306" />
|
||||
<field name="db_userid" required="true" length="1:250" rule="alpha_number" />
|
||||
<field name="db_password" required="true" length="1:250"/>
|
||||
<field name="db_database" required="true" length="1:250" />
|
||||
<field name="db_table_prefix" length="2:20" rule="alpha" />
|
||||
</fields>
|
||||
</ruleset>
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ruleset version="1.5.0">
|
||||
<customrules>
|
||||
</customrules>
|
||||
<fields>
|
||||
<field name="db_type" required="true" default="mysql" />
|
||||
<field name="db_database" required="true" length="1:250" />
|
||||
<field name="db_table_prefix" length="2:20" rule="alpha" />
|
||||
</fields>
|
||||
</ruleset>
|
||||
|
|
@ -1,55 +1,61 @@
|
|||
<load target="js/install_admin.js" />
|
||||
<include target="header.html" />
|
||||
<div id="body">
|
||||
<include target="progress_menu.html" />
|
||||
<div id="content">
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
<form id="body" ruleset="install" method="post" action="./">
|
||||
<include target="progress_menu.html" />
|
||||
<div id="content">
|
||||
<h2>{$lang->install_progress_menu['adminInfo']}</h2>
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<input type="hidden" name="act" value="procInstall" />
|
||||
<input type="hidden" name="use_rewrite" value="{$use_rewrite}" />
|
||||
<div class="x_control-group">
|
||||
<label for="aMail" class="x_control-label">{$lang->email_address}</label>
|
||||
<div class="x_controls">
|
||||
<input name="email_address" type="email" id="aMail" class="focus" required />
|
||||
</div>
|
||||
<form ruleset="install" action="./" method="post" class="x_form-horizontal">
|
||||
<input type="hidden" name="act" value="procInstall" />
|
||||
<div class="x_control-group">
|
||||
<label for="aMail" class="x_control-label"><strong>*</strong> {$lang->email_address}</label>
|
||||
<div class="x_controls">
|
||||
<input name="email_address" type="email" id="aMail" required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="aPw1" class="x_control-label"><strong>*</strong> {$lang->password1}</label>
|
||||
<div class="x_controls">
|
||||
<input name="password" type="password" id="aPw1" required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="aPw2" class="x_control-label"><strong>*</strong> {$lang->password2}</label>
|
||||
<div class="x_controls">
|
||||
<input name="password2" type="password" id="aPw2" required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="aNick" class="x_control-label"><strong>*</strong> {$lang->nick_name}</label>
|
||||
<div class="x_controls">
|
||||
<input name="nick_name" type="text" id="aNick" required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="aId" class="x_control-label"><strong>*</strong> {$lang->user_id}</label>
|
||||
<div class="x_controls">
|
||||
<input name="user_id" type="text" id="aId" required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="desc">
|
||||
<p>{$lang->install_notandum}</p>
|
||||
</div>
|
||||
<div class="ibtnArea">
|
||||
<span class="x_pull-left">
|
||||
<a href="{getUrl('', 'act', 'dispInstallConfigForm')}" class="x_btn x_btn-small x_btn-inverse"><i class="x_icon-chevron-left x_icon-white"></i> {$lang->cmd_back}</a>
|
||||
</span>
|
||||
<span class="x_pull-right">
|
||||
<button type="submit" class="x_btn x_btn-small x_btn-inverse x_disabled" id="task-done"><i class="x_icon-ok x_icon-white"></i> {$lang->cmd_complete}</button>
|
||||
</span>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="aPw1" class="x_control-label">{$lang->password1}</label>
|
||||
<div class="x_controls">
|
||||
<input name="password" type="password" id="aPw1" required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="aPw2" class="x_control-label">{$lang->password2}</label>
|
||||
<div class="x_controls">
|
||||
<input name="password2" type="password" id="aPw2" required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="aNick" class="x_control-label">{$lang->nick_name}</label>
|
||||
<div class="x_controls">
|
||||
<input name="nick_name" type="text" id="aNick" required value="" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="aId" class="x_control-label">{$lang->user_id}</label>
|
||||
<div class="x_controls">
|
||||
<input name="user_id" type="text" id="aId" required value="" />
|
||||
</div>
|
||||
</div>
|
||||
<p class="install_help">{$lang->install_notandum}</p>
|
||||
<div class="x_control-group">
|
||||
<label for="time_zone" class="x_control-label">{$lang->time_zone}</label>
|
||||
<div class="x_controls">
|
||||
<select name="time_zone" style="width:100%">
|
||||
<option loop="$time_zone => $key,$val" id="{$key}" value="{$key}" selected="selected"|cond="$key==date('O')">{$val}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<p class="install_help">{$lang->about_time_zone}</p>
|
||||
</div>
|
||||
<div id="buttons">
|
||||
<div class="align-left">
|
||||
<a href="{getUrl('', 'act','dispInstallSelectDB')}" class="button grey">« {$lang->cmd_back}</a>
|
||||
</div>
|
||||
<div class="align-right">
|
||||
<button type="submit" id="task-done" value="">{$lang->cmd_complete} »</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<include target="footer.html" />
|
||||
|
|
|
|||
|
|
@ -2,50 +2,55 @@
|
|||
<div id="body">
|
||||
<include target="progress_menu.html" />
|
||||
<div id="content">
|
||||
<ul>
|
||||
<li loop="$checklist => $key,$val" cond="!$val">
|
||||
{@ $isDisable = TRUE}
|
||||
<strong>{$lang->install_checklist_title[$key]}<block cond="$key == 'php_version'">(Ver. {$phpversion})</block></strong>
|
||||
:
|
||||
<em><i class="x_icon-ban-circle x_icon-white"></i> {$lang->disable}</em>
|
||||
<p>{sprintf($lang->install_checklist_desc[$key], __XE_MIN_PHP_VERSION__)}</p>
|
||||
<p cond="$key == 'php_version' && $phpversion_warning === true">
|
||||
{sprintf($lang->install_checklist_desc['php_version_warning'], __XE_RECOMMEND_PHP_VERSION__)} <a href="https://secure.php.net/supported-versions.php" target="_blank">[{$lang->more}]</a>
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<div cond="!$isDisable">
|
||||
<p>
|
||||
<i class="x_icon-ok-sign x_icon-white"></i>
|
||||
<strong>XE {__XE_VERSION__}</strong> {$lang->install_condition_enable}
|
||||
</p>
|
||||
<ul id="details">
|
||||
<li loop="$checklist => $key,$val">
|
||||
<strong>{$lang->install_checklist_title[$key]}<block cond="$key == 'php_version'">(Ver. {$phpversion})</block></strong>
|
||||
:
|
||||
<em>{$lang->enable}</em>
|
||||
<p cond="$key == 'php_version' && $phpversion_warning === true">
|
||||
<h2 cond="$install_enable">{$lang->install_condition_enable}</h2>
|
||||
<h2 cond="!$install_enable">{$lang->install_condition_disable}</h2>
|
||||
<table id="check_env">
|
||||
<block loop="$checklist => $key,$val">
|
||||
<tr>
|
||||
<td class="check_env_item">
|
||||
{$lang->install_checklist_title[$key]}
|
||||
<block cond="$key == 'php_version'">({$phpversion})</block>
|
||||
</td>
|
||||
<td class="check_env_status">
|
||||
<span cond="$val" class="ok">OK</span>
|
||||
<span cond="!$val" class="error">ERROR</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr cond="$key === 'php_version' && $phpversion_warning === true">
|
||||
<td colspan="2" class="error_description">
|
||||
{sprintf($lang->install_checklist_desc['php_version_warning'], __XE_RECOMMEND_PHP_VERSION__)} <a href="https://secure.php.net/supported-versions.php" target="_blank">[{$lang->more}]</a>
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr cond="$key !== 'php_version' && !$val && isset($lang->install_checklist_desc[$key])">
|
||||
<td colspan="2" class="error_description">
|
||||
{$lang->install_checklist_desc[$key]}
|
||||
</td>
|
||||
</tr>
|
||||
</block>
|
||||
<tr>
|
||||
<td class="check_env_item">mod_rewrite</td>
|
||||
<td class="check_env_status">
|
||||
<span cond="$use_rewrite === 'Y'" class="ok">OK</span>
|
||||
<span cond="$use_rewrite === 'N'">—</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr cond="$use_rewrite === 'N'">
|
||||
<td colspan="2" class="error_description">
|
||||
{$lang->disable_rewrite}
|
||||
<block cond="$use_nginx == 'Y'"><br />{$lang->about_nginx_rewrite}</block>
|
||||
<br /><strong>{$lang->disable_rewrite_can_proceed}</strong>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div id="buttons">
|
||||
<div class="align-left">
|
||||
<a href="{getUrl('', 'act','dispInstallLicenseAgreement')}" class="button grey">« {$lang->cmd_back}</a>
|
||||
</div>
|
||||
<div cond="$use_rewrite == 'N' && $checklist['permission'] == true">
|
||||
<p>
|
||||
<i class="x_icon-ok-sign x_icon-white"></i>
|
||||
{$lang->disable_rewrite}
|
||||
<block cond="$use_nginx == 'Y'"><br> {$lang->about_nginx_rewrite}</block>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="ibtnArea">
|
||||
<span class="x_pull-left">
|
||||
<a href="{getUrl('', 'act','dispInstallLicenseAgreement')}" class="x_btn x_btn-small x_btn-inverse"><i class="x_icon-chevron-left x_icon-white"></i> {$lang->cmd_back}</a>
|
||||
</span>
|
||||
<span class="x_pull-right">
|
||||
<a cond="$install_enable" class="x_btn x_btn-small x_btn-inverse" id="task-checklist-confirm" href="{getUrl('','act','dispInstallSelectDB')}">{$lang->cmd_install_next} <i class="x_icon-chevron-right x_icon-white"></i></a>
|
||||
<a cond="!$install_enable" class="x_btn x_btn-small x_btn-inverse" id="task-checklist-fix" href="{getUrl('','act',$act)}">{$lang->cmd_install_fix_checklist} <i class="x_icon-chevron-right x_icon-white"></i></a>
|
||||
</span>
|
||||
<div class="align-right">
|
||||
<a cond="$install_enable" class="button" id="task-checklist-confirm" href="{getUrl('','act','dispInstallSelectDB')}">{$lang->cmd_next} »</a>
|
||||
<a cond="!$install_enable" class="button" id="task-checklist-fix" href="{getUrl('','act',$act)}">{$lang->cmd_install_refresh_page} »</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<include target="footer.html" />
|
||||
|
|
|
|||
|
|
@ -1,34 +0,0 @@
|
|||
<load target="js/install_admin.js" />
|
||||
<include target="header.html" />
|
||||
<div id="body">
|
||||
<include target="progress_menu.html" />
|
||||
<div id="content">
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<form action="./" method="post">
|
||||
<input type="hidden" name="act" value="procConfigSetting" />
|
||||
<input type="hidden" name="use_rewrite" value="{$use_rewrite}" />
|
||||
<div class="x_control-group">
|
||||
<select name="time_zone" style="width:100%">
|
||||
<option loop="$time_zone => $key,$val" id="{$key}" value="{$key}" selected="selected"|cond="$key==date('O')">{$val}</option>
|
||||
</select>
|
||||
<p>{$lang->about_time_zone}</p>
|
||||
</div>
|
||||
<div class="ibtnArea">
|
||||
<span class="x_pull-left">
|
||||
<button type="button" onclick="document.backForm.submit()" class="x_btn x_btn-small x_btn-inverse"><i class="x_icon-chevron-left x_icon-white"></i> {$lang->cmd_back}</button>
|
||||
</span>
|
||||
<span class="x_pull-right">
|
||||
<button type="submit" class="x_btn x_btn-small x_btn-inverse" id="task-settings">{$lang->cmd_next} <i class="x_icon-chevron-right x_icon-white"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
</form>
|
||||
<form name="backForm" method="post" action="./">
|
||||
<input type="hidden" name="module" value="{$module}" />
|
||||
<input type="hidden" name="act" value="dispInstallDBForm" />
|
||||
<input type="hidden" name="db_type" value="{$db_type}" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<include target="footer.html" />
|
||||
|
|
@ -1,57 +1,229 @@
|
|||
@charset "utf-8";
|
||||
/* NAVER (developers@xpressengine.com) */
|
||||
/* Element Reset */
|
||||
html, body{margin:0;min-height:100%}
|
||||
body, .x input, .x textarea, .x select, .x table, .x button, .x label{font-family:Tahoma, Geneva, sans-serif;font-size:12px}
|
||||
body{background:-webkit-linear-gradient(top,#ccc,#fff);background:-moz-linear-gradient(top,#ccc,#fff);background:-o-linear-gradient(top,#ccc,#fff);background:-ms-linear-gradient(top,#ccc,#fff);background:linear-gradient(top,#ccc,#fff)}
|
||||
img, fieldset{border:0}
|
||||
form, fieldset{margin:0;padding:0}
|
||||
.x em{color:#ffc;font-weight:normal;font-style:normal}
|
||||
.x strong{color:#f60}
|
||||
.x button{margin:0;padding:0;overflow:visible;cursor:pointer}
|
||||
.x a{text-decoration:none}
|
||||
.x a:hover,
|
||||
.x a:active,
|
||||
.x a:focus{text-decoration:underline}
|
||||
/* Bootstrap Override */
|
||||
.x label[for],
|
||||
.x .x_form-horizontal .x_control-label{font-weight:bold}
|
||||
.x ol,
|
||||
.x ul{margin-top:15px;margin-bottom:15px}
|
||||
.x input[type="radio"],
|
||||
.x input[type="checkbox"]{margin:0}
|
||||
.x hr{border-bottom:0}
|
||||
.x .x_btn{text-decoration:none}
|
||||
.x .x_control-group{padding-top:8px;margin-bottom:10px;border-top:1px dotted #888;clear:both}
|
||||
.x .x_control-group:first-child,
|
||||
.x .x_control-group:first-of-type{border-top:0;padding-top:0}
|
||||
|
||||
html, body { margin: 0; min-height: 100%; background-color: #f0f0f0; }
|
||||
img, form, fieldset { border: 0; margin:0; padding: 0; }
|
||||
.x a { color: #1976d2; text-decoration: none; }
|
||||
.x a:hover, .x a:active, .x a:focus { text-decoration: underline; }
|
||||
|
||||
/* Font */
|
||||
.x, .x input, .x textarea, .x select, .x table, .x button, .x label {
|
||||
font: normal 13px/100% NanumGothic, "Malgun Gothic", Gulim, sans-serif;
|
||||
}
|
||||
.enfont, .enfont input, .enfont textarea, .enfont select, .enfont table, .enfont button, .enfont label {
|
||||
font: normal 13px/100% Arial, NanumGothic, "Malgun Gothic", sans-serif;
|
||||
}
|
||||
.x input[type=password] {
|
||||
font-family: Arial, sans-serif;
|
||||
}
|
||||
|
||||
/* Layout */
|
||||
.x{width:800px;margin:120px auto 0 auto;background-color:transparent}
|
||||
.x #header{position:relative;background:#444;margin:0 0 1px 0;padding:10px 20px;color:#fff;border-radius:5px 5px 0 0}
|
||||
.x #header h1{margin:0}
|
||||
.x #header em{position:absolute;bottom:10px;right:20px;font-weight:bold;font-size:14px;color:#eee}
|
||||
.x #header em strong{font-size:20px;color:#F60}
|
||||
.x #body{width:580px;padding:0 0 0 220px;position:relative;*zoom:1}
|
||||
.x #body:after{content:"";display:block;clear:both}
|
||||
.x #progress{position:absolute;left:0;top:0;width:219px}
|
||||
.x #progress ul{list-style:none;margin:0;padding:0}
|
||||
.x #progress li{position:relative;margin:0 0 1px 0;vertical-align:top;line-height:40px;color:#999;text-indent:30px;background-color:#555;background-image:url(../img/icoStatus.gif);background-repeat:no-repeat;background-position:10px 0;*zoom:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
||||
.x #progress li:last-child{border-radius:0 0 0 5px}
|
||||
.x #progress li.done{background-position:10px -40px}
|
||||
.x #progress li.active{background-color:#666;background-position:10px -80px;font-weight:bold;color:#fff;margin-right:-1px}
|
||||
.x #content{position:relative;width:500px;min-height:145px;padding:40px;background:#666;color:#fff}
|
||||
.x #content a{color:#FFC}
|
||||
.x {
|
||||
width: 90%; max-width: 800px;
|
||||
margin: 80px auto 0 auto;
|
||||
background-color: transparent;
|
||||
}
|
||||
@media screen and (max-width: 640px) {
|
||||
.x { margin-top: 48px; }
|
||||
}
|
||||
@media screen and (max-width: 480px) {
|
||||
.x { margin-top: 32px; }
|
||||
}
|
||||
.x #header {
|
||||
clear: both;
|
||||
margin: 0;
|
||||
}
|
||||
.x #header h1 {
|
||||
font: bold 48px/100% Arial, sans-serif;
|
||||
color: #444;
|
||||
text-align: center;
|
||||
text-shadow: 2px 2px 3px rgba(128, 128, 128, 0.4);
|
||||
margin: 0 0 16px 0;
|
||||
}
|
||||
.x #header h1 span.green {
|
||||
color: #55a72f;
|
||||
}
|
||||
.x #header h1 span.brown {
|
||||
color: #905a29;
|
||||
}
|
||||
.x #header h1 span.colon {
|
||||
color: #888888;
|
||||
position: relative;
|
||||
top: -4px;
|
||||
}
|
||||
.x #header h2 {
|
||||
font: normal 16px/110% Arial, sans-serif;
|
||||
color: #666;
|
||||
text-align: center;
|
||||
text-shadow: 1px 1px 1.5px rgba(128, 128, 128, 0.2);
|
||||
margin: 0 0 32px 0;
|
||||
}
|
||||
.x #header h2 strong {
|
||||
font-weight: bold;
|
||||
color: #444;
|
||||
}
|
||||
|
||||
.x #body {
|
||||
clear: both;
|
||||
position: relative;
|
||||
background-color: #fff;
|
||||
border-radius: 2px;
|
||||
margin-bottom: 32px;
|
||||
box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.18), 0px 2px 8px 0px rgba(0, 0, 0, 0.12);
|
||||
}
|
||||
|
||||
.x #progress {
|
||||
clear: both; padding: 16px 16px 4px 16px; border-bottom: 1px solid #ddd;
|
||||
border-top-left-radius: 2px; border-top-right-radius: 2px;
|
||||
background-color: #fbfbfb;
|
||||
}
|
||||
.x #progress ul { clear: both; margin: 0; padding: 0; }
|
||||
.x #progress li { list-style:none; display: inline-block; color: #888; margin: 0 4px 12px 0; padding: 0; }
|
||||
.x #progress li.done { color: #444; }
|
||||
.x #progress li.active { color: #444; font-weight: bold; }
|
||||
.x #progress li:after { content: ">"; color: #aaa; font-weight: normal; margin-left: 8px; }
|
||||
.x #progress li:last-child { margin-right: 0; }
|
||||
.x #progress li:last-child:after { content: ""; margin-left: 0; }
|
||||
|
||||
.x #footer {
|
||||
text-align: center;
|
||||
margin-bottom: 32px;
|
||||
font: 11px/160% Arial, sans-serif;
|
||||
color: #aaa;
|
||||
}
|
||||
|
||||
/* Table */
|
||||
table {
|
||||
clear: both;
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
border-collapse: collapse;
|
||||
margin: 0 0 16px 0;
|
||||
}
|
||||
table tr td {
|
||||
padding: 4px 8px; border: 1px solid #ddd;
|
||||
border-spacing: 0;
|
||||
line-height: 160%;
|
||||
}
|
||||
table tr td.check_env_status { text-align: center; }
|
||||
table tr td.check_env_status span.ok { color: #4caf50; font-weight: bold; }
|
||||
table tr td.check_env_status span.error { color: #f44336; font-weight: bold; }
|
||||
table tr td.check_env_status span.warn { color: #fb8c00; font-weight: bold; }
|
||||
table tr td.error_description { text-align: center; color: #666; }
|
||||
|
||||
/* Button Area */
|
||||
.x .ibtnArea{position:absolute;bottom:-61px;right:0;width:540px;height:30px;margin:1px 0 0 0;padding:15px 20px;text-align:center;*zoom:1;color:#fff;background:#555;border-radius:0 0 5px 5px}
|
||||
.x .ibtnArea:after{content:"";display:block;clear:both}
|
||||
.x .ibtnArea .x_btn-inverse{color:#fff !important}
|
||||
.x .ibtnArea .x_btn>i{opacity:.75;filter:alpha(opacity=75)}
|
||||
.x #buttons {
|
||||
clear: both; padding: 16px;
|
||||
border-top: 1px solid #ddd;
|
||||
height: 34px;
|
||||
border-bottom-left-radius: 2px; border-bottom-right-radius: 2px;
|
||||
background-color: #fbfbfb;
|
||||
}
|
||||
.x #buttons .align-left {
|
||||
float: left;
|
||||
}
|
||||
.x #buttons .align-right {
|
||||
float: right;
|
||||
}
|
||||
button, a.button {
|
||||
display: inline-block;
|
||||
margin: 0px 4px;
|
||||
padding: 9px 18px 9px 18px;
|
||||
font-weight: bold !important;
|
||||
line-height: 15px;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
border: 0;
|
||||
cursor: pointer;
|
||||
color: #fff;
|
||||
background-color: #1976d2;
|
||||
border-radius: 2px;
|
||||
box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.12), 0px 2px 8px 0px rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
button.grey, a.button.grey {
|
||||
background-color: #aaa;
|
||||
}
|
||||
button:hover, a.button:hover {
|
||||
text-decoration: none;
|
||||
background-color: #303f9f;
|
||||
}
|
||||
button.grey:hover, a.button.grey:hover {
|
||||
background-color: #888;
|
||||
}
|
||||
|
||||
/* Content */
|
||||
.x h2{font-size:22px;margin:0 0 15px 0;color:#ff9;line-height:1}
|
||||
.x .desc{padding:10px 20px;margin:15px 0;background:#555;color:#fff;line-height:1.5;border-radius:5px}
|
||||
.x .desc strong{color:#F60}
|
||||
.x .language{list-style:none;margin:0;padding:0 0 0 20px}
|
||||
.x .language li{position:relative;margin:0 0 7px 0}
|
||||
.x .language li>i{position:absolute;top:2px;left:-20px}
|
||||
.x #content { clear: both; padding: 16px 16px 4px 16px; }
|
||||
.x #content a { }
|
||||
.x #content h2 {
|
||||
font-size: 20px;
|
||||
line-height: 140%;
|
||||
margin: 0 0 16px 0;
|
||||
}
|
||||
.x #content p {
|
||||
line-height: 160%;
|
||||
margin: 0 0 12px 0;
|
||||
}
|
||||
.x #content p.install_help {
|
||||
margin: -6px 0 16px 16px;
|
||||
color: #888;
|
||||
}
|
||||
.x #content ul {
|
||||
margin: 0 0 12px 0;
|
||||
}
|
||||
.x #content ul li {
|
||||
line-height: 160%;
|
||||
}
|
||||
.x #content label input[type=checkbox] {
|
||||
position: relative;
|
||||
top: 2px;
|
||||
}
|
||||
.x #language {
|
||||
clear: both;
|
||||
margin: 0 0 24px 0;
|
||||
padding: 0;
|
||||
text-align: center;
|
||||
line-height: 140%;
|
||||
}
|
||||
.x #language li {
|
||||
list-style: none;
|
||||
display: inline-block;
|
||||
margin-right: 12px;
|
||||
font-size: 12px;
|
||||
}
|
||||
.x #language li:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
.x #language li a {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.x .x_control-group { clear: both; margin-bottom: 16px; }
|
||||
.x .x_control-group .x_control-label { display: inline-block; line-height: 17px; width: 130px; }
|
||||
.x .x_control-group .x_controls { display: inline-block; }
|
||||
.x .x_control-group .x_controls input {
|
||||
line-height: 17px; padding: 3px 5px;
|
||||
width: 260px; box-sizing: border-box;
|
||||
}
|
||||
.x .x_control-group .x_controls select {
|
||||
line-height: 17px; padding: 3px 7px 3px 3px;
|
||||
width: 260px; box-sizing: border-box;
|
||||
}
|
||||
@media screen and (max-width: 480px) {
|
||||
.x .x_control-group .x_control-label { display: block; clear: both; margin-bottom: 6px; }
|
||||
.x .x_control-group .x_controls { display: block; clear: both; }
|
||||
}
|
||||
|
||||
/* Waiting for server response */
|
||||
.wfsr{display:none;position:absolute;position:fixed;left:0;top:0;right:0;bottom:0;z-index:100;color:#fff;background:#333 url(../../common/img/msg.loading.gif) no-repeat center 90px;text-align:center;margin:0;padding:120px 0 0 0;opacity:.8;filter:alpha(opacity=80);font:bold 16px "Helvetica Neue", Helvetica, Arial, 돋움, Dotum, sans-serif}
|
||||
.wfsr {
|
||||
display: none;
|
||||
position: absolute;
|
||||
position: fixed;
|
||||
left: 0; top: 0; right: 0; bottom: 0; z-index: 100;
|
||||
color: #fff;
|
||||
background: #333 url(../../common/img/msg.loading.gif) no-repeat center 90px;
|
||||
text-align: center;
|
||||
margin: 0;
|
||||
padding: 120px 0 0 0;
|
||||
opacity: 0.8; filter:alpha(opacity=80);
|
||||
font-size: 16px; font-weight: bold;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,2 +1,14 @@
|
|||
<ul id="language" class="enfont">
|
||||
<li loop="$lang_supported=>$key,$val">
|
||||
<i cond="$lang_type==$key" class="x_icon-ok-sign x_icon-white" title="Selected Language"></i>
|
||||
<a href="{getUrl('l', $key)}" cond="$lang_type!=$key">{$val}</a>
|
||||
<strong cond="$lang_type==$key">{$val}</strong>
|
||||
</li>
|
||||
</ul>
|
||||
<div id="footer">
|
||||
XpressEngine XETown Remix (XE:XTR) is a fork of the <a href="https://www.xpressengine.com" target="_blank">XpressEngine</a> CMS<br />
|
||||
with additional patches by members of the <a href="https://www.xetown.com" target="_blank">XETOWN</a> community.<br />
|
||||
Please see our <a href="https://github.com/xetown/xe-core" target="_blank">GitHub repository</a> for a full timeline of patches and their authors.
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script src="js/install.js"></script>
|
||||
|
|
|
|||
|
|
@ -1,54 +0,0 @@
|
|||
<load target="js/install_admin.js" />
|
||||
<include target="header.html" />
|
||||
<div id="body">
|
||||
<include target="progress_menu.html" />
|
||||
<div id="content">
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<form rule="cubrid" action="./" method="post" class="x_form-horizontal">
|
||||
<input type="hidden" value="{$error_return_url}" name="error_return_url">
|
||||
<input type="hidden" name="act" value="procCubridDBSetting" />
|
||||
<input type="hidden" name="db_type" value="{$db_type}" />
|
||||
<h2>{$title}</h2>
|
||||
<div class="x_control-group">
|
||||
<label for="dbId" class="x_control-label"><strong>*</strong> {$lang->db_userid}</label>
|
||||
<div class="x_controls"><input name="db_userid" type="text" id="dbId" required /></div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="dbPw" class="x_control-label"><strong>*</strong> {$lang->db_password}</label>
|
||||
<div class="x_controls"><input name="db_password" type="password" id="dbPw" required /></div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="dbName" class="x_control-label"><strong>*</strong> {$lang->db_name}</label>
|
||||
<div class="x_controls"><input name="db_database" type="text" id="dbName" required /></div>
|
||||
</div>
|
||||
<div class="desc">{$lang->db_info_desc}</div>
|
||||
<p style="text-align:right"><a href="#advanced" data-toggle style="text-decoration:underline">{$lang->advanced_setup}</a></p>
|
||||
<div id="advanced">
|
||||
<div class="x_control-group">
|
||||
<label for="dbHostName" class="x_control-label"><strong>*</strong> {$lang->db_hostname}</label>
|
||||
<div class="x_controls"><input name="db_hostname" value="127.0.0.1" type="text" id="dbHostName" required /></div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="dbPort" class="x_control-label"><strong>*</strong> {$lang->db_port}</label>
|
||||
<div class="x_controls"><input name="db_port" value="33000" type="text" id="dbPort" required /></div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="dbPrefix" class="x_control-label"><strong>*</strong> {$lang->db_table_prefix}</label>
|
||||
<div class="x_controls"><input name="db_table_prefix" type="text" id="dbPrefix" value="xe" required /></div>
|
||||
</div>
|
||||
<div class="desc">{$lang->db_prefix_desc}</div>
|
||||
</div>
|
||||
<div class="ibtnArea">
|
||||
<span class="x_pull-left">
|
||||
<a href="{getUrl('', 'act', 'dispInstallSelectDB')}" class="x_btn x_btn-small x_btn-inverse"><i class="x_icon-chevron-left x_icon-white"></i> {$lang->cmd_back}</a>
|
||||
</span>
|
||||
<div class="x_pull-right">
|
||||
<button type="submit" class="x_btn x_btn-small x_btn-inverse x_disabled" id="task-db-info">{$lang->cmd_next} <i class="x_icon-chevron-right x_icon-white"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<include target="footer.html" />
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
<load target="js/install_admin.js" />
|
||||
<include target="header.html" />
|
||||
<div id="body">
|
||||
<include target="progress_menu.html" />
|
||||
<div id="content">
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<form rule="mssql" action="./" method="post" class="x_form-horizontal">
|
||||
<input type="hidden" value="{$error_return_url}" name="error_return_url">
|
||||
<input type="hidden" name="act" value="procMssqlDBSetting" />
|
||||
<input type="hidden" name="db_type" value="{$db_type}" />
|
||||
<h2>{$title}</h2>
|
||||
<div class="x_control-group">
|
||||
<label for="dbId" class="x_control-label"><strong>*</strong> {$lang->db_userid}</label>
|
||||
<div class="x_controls"><input name="db_userid" type="text" id="dbId" required /></div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="dbPw" class="x_control-label"><strong>*</strong> {$lang->db_password}</label>
|
||||
<div class="x_controls"><input name="db_password" type="password" id="dbPw" required /></div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="dbName" class="x_control-label"><strong>*</strong> {$lang->db_name}</label>
|
||||
<div class="x_controls"><input name="db_database" type="text" id="dbName" required /></div>
|
||||
</div>
|
||||
<div class="desc">{$lang->db_info_desc}</div>
|
||||
<p style="text-align:right"><a href="#advanced" data-toggle style="text-decoration:underline">{$lang->advanced_setup}</a></p>
|
||||
<div id="advanced">
|
||||
<div class="x_control-group">
|
||||
<label for="dbHostName" class="x_control-label"><strong>*</strong> {$lang->db_hostname}</label>
|
||||
<div class="x_controls"><input name="db_hostname" value="127.0.0.1" type="text" id="dbHostName" required /></div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="dbPort" class="x_control-label"><strong>*</strong> {$lang->db_port}</label>
|
||||
<div class="x_controls"><input name="db_port" value="3306" type="text" id="dbPort" required /></div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="dbPrefix" class="x_control-label"><strong>*</strong> {$lang->db_table_prefix}</label>
|
||||
<div class="x_controls"><input name="db_table_prefix" type="text" id="dbPrefix" value="xe" required /></div>
|
||||
</div>
|
||||
<div class="desc">{$lang->db_prefix_desc}</div>
|
||||
</div>
|
||||
<div class="ibtnArea">
|
||||
<span class="x_pull-left">
|
||||
<a href="{getUrl('', 'act', 'dispInstallSelectDB')}" class="x_btn x_btn-small x_btn-inverse"><i class="x_icon-chevron-left x_icon-white"></i> {$lang->cmd_back}</a>
|
||||
</span>
|
||||
<div class="x_pull-right">
|
||||
<button type="submit" class="x_btn x_btn-small x_btn-inverse x_disabled" id="task-db-info">{$lang->cmd_next} <i class="x_icon-chevron-right x_icon-white"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<include target="footer.html" />
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
<load target="js/install_admin.js" />
|
||||
<include target="header.html" />
|
||||
<div id="body">
|
||||
<include target="progress_menu.html" />
|
||||
<div id="content">
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<form rule="mysql" action="./" method="post" class="x_form-horizontal">
|
||||
<input type="hidden" value="{$error_return_url}" name="error_return_url">
|
||||
<input type="hidden" name="act" value="procMysqlDBSetting" />
|
||||
<input type="hidden" name="db_type" value="{$db_type}" />
|
||||
<h2>{$title}</h2>
|
||||
<div class="x_control-group">
|
||||
<label for="dbId" class="x_control-label"><strong>*</strong> {$lang->db_userid}</label>
|
||||
<div class="x_controls"><input name="db_userid" type="text" id="dbId" required /></div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="dbPw" class="x_control-label"><strong>*</strong> {$lang->db_password}</label>
|
||||
<div class="x_controls"><input name="db_password" type="password" id="dbPw" required /></div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="dbName" class="x_control-label"><strong>*</strong> {$lang->db_name}</label>
|
||||
<div class="x_controls"><input name="db_database" type="text" id="dbName" required /></div>
|
||||
</div>
|
||||
<div class="desc">{$lang->db_info_desc}</div>
|
||||
<p style="text-align:right"><a href="#advanced" data-toggle style="text-decoration:underline">{$lang->advanced_setup}</a></p>
|
||||
<div id="advanced">
|
||||
<div class="x_control-group">
|
||||
<label for="dbHostName" class="x_control-label"><strong>*</strong> {$lang->db_hostname}</label>
|
||||
<div class="x_controls"><input name="db_hostname" value="127.0.0.1" type="text" id="dbHostName" required /></div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="dbPort" class="x_control-label"><strong>*</strong> {$lang->db_port}</label>
|
||||
<div class="x_controls"><input name="db_port" value="3306" type="text" id="dbPort" required /></div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="dbPrefix" class="x_control-label"><strong>*</strong> {$lang->db_table_prefix}</label>
|
||||
<div class="x_controls"><input name="db_table_prefix" type="text" id="dbPrefix" value="xe" required /></div>
|
||||
</div>
|
||||
<div class="desc">{$lang->db_prefix_desc}</div>
|
||||
</div>
|
||||
<div class="ibtnArea">
|
||||
<span class="x_pull-left">
|
||||
<a href="{getUrl('', 'act', 'dispInstallSelectDB')}" class="x_btn x_btn-small x_btn-inverse"><i class="x_icon-chevron-left x_icon-white"></i> {$lang->cmd_back}</a>
|
||||
</span>
|
||||
<div class="x_pull-right">
|
||||
<button type="submit" class="x_btn x_btn-small x_btn-inverse x_disabled" id="task-db-info">{$lang->cmd_next} <i class="x_icon-chevron-right x_icon-white"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<include target="footer.html" />
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
<load target="js/install_admin.js" />
|
||||
<include target="header.html" />
|
||||
<div id="body">
|
||||
<include target="progress_menu.html" />
|
||||
<div id="content">
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<form rule="mysql" action="./" method="post" class="x_form-horizontal">
|
||||
<input type="hidden" value="{$error_return_url}" name="error_return_url">
|
||||
<input type="hidden" name="act" value="procMysqlDBSetting" />
|
||||
<input type="hidden" name="db_type" value="{$db_type}" />
|
||||
<h2>{$title}</h2>
|
||||
<div class="x_control-group">
|
||||
<label for="dbId" class="x_control-label"><strong>*</strong> {$lang->db_userid}</label>
|
||||
<div class="x_controls"><input name="db_userid" type="text" id="dbId" required /></div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="dbPw" class="x_control-label"><strong>*</strong> {$lang->db_password}</label>
|
||||
<div class="x_controls"><input name="db_password" type="password" id="dbPw" required /></div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="dbName" class="x_control-label"><strong>*</strong> {$lang->db_name}</label>
|
||||
<div class="x_controls"><input name="db_database" type="text" id="dbName" required /></div>
|
||||
</div>
|
||||
<div class="desc">{$lang->db_info_desc}</div>
|
||||
<p style="text-align:right"><a href="#advanced" data-toggle style="text-decoration:underline">{$lang->advanced_setup}</a></p>
|
||||
<div id="advanced">
|
||||
<div class="x_control-group">
|
||||
<label for="dbHostName" class="x_control-label"><strong>*</strong> {$lang->db_hostname}</label>
|
||||
<div class="x_controls"><input name="db_hostname" value="127.0.0.1" type="text" id="dbHostName" required /></div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="dbPort" class="x_control-label"><strong>*</strong> {$lang->db_port}</label>
|
||||
<div class="x_controls"><input name="db_port" value="3306" type="text" id="dbPort" required /></div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="dbPrefix" class="x_control-label"><strong>*</strong> {$lang->db_table_prefix}</label>
|
||||
<div class="x_controls"><input name="db_table_prefix" type="text" id="dbPrefix" value="xe" required /></div>
|
||||
</div>
|
||||
<div class="desc">{$lang->db_prefix_desc}</div>
|
||||
</div>
|
||||
<div class="ibtnArea">
|
||||
<span class="x_pull-left">
|
||||
<a href="{getUrl('', 'act', 'dispInstallSelectDB')}" class="x_btn x_btn-small x_btn-inverse"><i class="x_icon-chevron-left x_icon-white"></i> {$lang->cmd_back}</a>
|
||||
</span>
|
||||
<div class="x_pull-right">
|
||||
<button type="submit" class="x_btn x_btn-small x_btn-inverse x_disabled" id="task-db-info">{$lang->cmd_next} <i class="x_icon-chevron-right x_icon-white"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<include target="footer.html" />
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
<load target="js/install_admin.js" />
|
||||
<include target="header.html" />
|
||||
<div id="body">
|
||||
<include target="progress_menu.html" />
|
||||
<div id="content">
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<form rule="mysql" action="./" method="post" class="x_form-horizontal">
|
||||
<input type="hidden" value="{$error_return_url}" name="error_return_url">
|
||||
<input type="hidden" name="act" value="procMysqlDBSetting" />
|
||||
<input type="hidden" name="db_type" value="{$db_type}" />
|
||||
<h2>{$title}</h2>
|
||||
<div class="x_control-group">
|
||||
<label for="dbId" class="x_control-label"><strong>*</strong> {$lang->db_userid}</label>
|
||||
<div class="x_controls"><input name="db_userid" type="text" id="dbId" required /></div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="dbPw" class="x_control-label"><strong>*</strong> {$lang->db_password}</label>
|
||||
<div class="x_controls"><input name="db_password" type="password" id="dbPw" required /></div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="dbName" class="x_control-label"><strong>*</strong> {$lang->db_name}</label>
|
||||
<div class="x_controls"><input name="db_database" type="text" id="dbName" required /></div>
|
||||
</div>
|
||||
<div class="desc">{$lang->db_info_desc}</div>
|
||||
<p style="text-align:right"><a href="#advanced" data-toggle style="text-decoration:underline">{$lang->advanced_setup}</a></p>
|
||||
<div id="advanced">
|
||||
<div class="x_control-group">
|
||||
<label for="dbHostName" class="x_control-label"><strong>*</strong> {$lang->db_hostname}</label>
|
||||
<div class="x_controls"><input name="db_hostname" value="127.0.0.1" type="text" id="dbHostName" required /></div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="dbPort" class="x_control-label"><strong>*</strong> {$lang->db_port}</label>
|
||||
<div class="x_controls"><input name="db_port" value="3306" type="text" id="dbPort" required /></div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="dbPrefix" class="x_control-label"><strong>*</strong> {$lang->db_table_prefix}</label>
|
||||
<div class="x_controls"><input name="db_table_prefix" type="text" id="dbPrefix" value="xe" required /></div>
|
||||
</div>
|
||||
<div class="desc">{$lang->db_prefix_desc}</div>
|
||||
</div>
|
||||
<div class="ibtnArea">
|
||||
<span class="x_pull-left">
|
||||
<a href="{getUrl('', 'act', 'dispInstallSelectDB')}" class="x_btn x_btn-small x_btn-inverse"><i class="x_icon-chevron-left x_icon-white"></i> {$lang->cmd_back}</a>
|
||||
</span>
|
||||
<div class="x_pull-right">
|
||||
<button type="submit" class="x_btn x_btn-small x_btn-inverse" id="task-db-info">{$lang->cmd_next} <i class="x_icon-chevron-right x_icon-white"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<include target="footer.html" />
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
<load target="js/install_admin.js" />
|
||||
<include target="header.html" />
|
||||
<div id="body">
|
||||
<include target="progress_menu.html" />
|
||||
<div id="content">
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<form rule="mysql" action="./" method="post" class="x_form-horizontal">
|
||||
<input type="hidden" value="{$error_return_url}" name="error_return_url">
|
||||
<input type="hidden" name="act" value="procMysqlDBSetting" />
|
||||
<input type="hidden" name="db_type" value="{$db_type}" />
|
||||
<h2>{$title}</h2>
|
||||
<div class="x_control-group">
|
||||
<label for="dbId" class="x_control-label"><strong>*</strong> {$lang->db_userid}</label>
|
||||
<div class="x_controls"><input name="db_userid" type="text" id="dbId" required /></div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="dbPw" class="x_control-label"><strong>*</strong> {$lang->db_password}</label>
|
||||
<div class="x_controls"><input name="db_password" type="password" id="dbPw" required /></div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="dbName" class="x_control-label"><strong>*</strong> {$lang->db_name}</label>
|
||||
<div class="x_controls"><input name="db_database" type="text" id="dbName" required /></div>
|
||||
</div>
|
||||
<div class="desc">{$lang->db_info_desc}</div>
|
||||
<p style="text-align:right"><a href="#advanced" data-toggle style="text-decoration:underline">{$lang->advanced_setup}</a></p>
|
||||
<div id="advanced">
|
||||
<div class="x_control-group">
|
||||
<label for="dbHostName" class="x_control-label"><strong>*</strong> {$lang->db_hostname}</label>
|
||||
<div class="x_controls"><input name="db_hostname" value="127.0.0.1" type="text" id="dbHostName" required /></div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="dbPort" class="x_control-label"><strong>*</strong> {$lang->db_port}</label>
|
||||
<div class="x_controls"><input name="db_port" value="3306" type="text" id="dbPort" required /></div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="dbPrefix" class="x_control-label"><strong>*</strong> {$lang->db_table_prefix}</label>
|
||||
<div class="x_controls"><input name="db_table_prefix" type="text" id="dbPrefix" value="xe" required /></div>
|
||||
</div>
|
||||
<div class="desc">{$lang->db_prefix_desc}</div>
|
||||
</div>
|
||||
<div class="ibtnArea">
|
||||
<span class="x_pull-left">
|
||||
<a href="{getUrl('', 'act', 'dispInstallSelectDB')}" class="x_btn x_btn-small x_btn-inverse"><i class="x_icon-chevron-left x_icon-white"></i> {$lang->cmd_back}</a>
|
||||
</span>
|
||||
<div class="x_pull-right">
|
||||
<button type="submit" class="x_btn x_btn-small x_btn-inverse" id="task-db-info">{$lang->cmd_next} <i class="x_icon-chevron-right x_icon-white"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<include target="footer.html" />
|
||||
|
|
@ -1,62 +1,61 @@
|
|||
<load target="js/install_admin.js" />
|
||||
<include target="header.html" />
|
||||
<div id="body">
|
||||
<include target="progress_menu.html" />
|
||||
<div id="content">
|
||||
<form action="./" method="post" onsubmit="return doInstallFTPInfo(this);" id="ftp_form" class="x_form-horizontal">
|
||||
<div class="x_control-group">
|
||||
<label for="ftphost" class="x_control-label">{$lang->ftp_host}</label>
|
||||
<div class="x_controls">
|
||||
<input name="ftp_host" value="10.25.80.77" type="text" id="ftphost" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="ftpid" class="x_control-label">{$lang->user_id}</label>
|
||||
<div class="x_controls">
|
||||
<input name="ftp_user" type="text" id="ftpid" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="ftppw" class="x_control-label">{$lang->password}</label>
|
||||
<div class="x_controls">
|
||||
<input name="ftp_password" type="password" id="ftppw" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="ftpport" class="x_control-label">{$lang->ftp_port}</label>
|
||||
<div class="x_controls">
|
||||
<input name="ftp_port" type="text" id="ftpport" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="ftppath" class="x_control-label">{$lang->msg_ftp_installed_ftp_realpath}</label>
|
||||
<div class="x_controls">
|
||||
<input name="ftp_root_path" value="{$ftp_info->ftp_root_path}" type="text" id="ftppath" />
|
||||
<p>{$lang->msg_ftp_installed_realpath}:<br/> {_XE_PATH_}</p>
|
||||
<button type="button" class="x_btn x_btn-small" id="task-ftp-list" onclick="getFTPList();return false;"><i class="x_icon-list"></i> {$lang->ftp_get_list}</button>
|
||||
<ul id="ftplist">
|
||||
</ul>
|
||||
<button type="button" class="x_btn x_btn-small x_btn-inverse" id="task-ftp-check" onclick="doCheckFTPInfo();return false"><i class="x_icon-resize-vertical x_icon-white"></i> {$lang->cmd_check_ftp_connect}</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="desc">
|
||||
<p>{$lang->install_ftp_reason}</p>
|
||||
<ul>
|
||||
<li>{$lang->msg_safe_mode_ftp_needed}</li>
|
||||
<li>{$lang->msg_safe_mode_ftp_needed2}</li>
|
||||
</ul>
|
||||
<p>{$lang->msg_safe_mode_ftp_config}</p>
|
||||
</div>
|
||||
<div class="ibtnArea">
|
||||
<span class="x_pull-left">
|
||||
<a href="{getUrl('', 'act', 'dispInstallCheckEnv')}" class="x_btn x_btn-small x_btn-inverse"><i class="x_icon-chevron-left x_icon-white"></i> {$lang->cmd_back}</a>
|
||||
</span>
|
||||
<span class="x_pull-right">
|
||||
<button type="submit" class="x_btn x_btn-small x_btn-inverse" id="task-ftp-skip">{$lang->cmd_pass_step} <i class="x_icon-chevron-right x_icon-white"></i></button>
|
||||
<button type="submit" class="x_btn x_btn-small x_btn-inverse" id="task-ftp-confirm">{$lang->cmd_next} <i class="x_icon-chevron-right x_icon-white"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
</form>
|
||||
<form id="body" action="./" method="post" onsubmit="return doInstallFTPInfo(this);" id="ftp_form">
|
||||
<include target="progress_menu.html" />
|
||||
<div id="content">
|
||||
<h2>{$lang->install_progress_menu['ftp']}</h2>
|
||||
<div class="x_control-group">
|
||||
<label for="ftphost" class="x_control-label">{$lang->ftp_host}</label>
|
||||
<div class="x_controls">
|
||||
<input name="ftp_host" value="{$server_ip_address}" type="text" id="ftphost" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="ftpport" class="x_control-label">{$lang->ftp_port}</label>
|
||||
<div class="x_controls">
|
||||
<input name="ftp_port" type="text" id="ftpport" value="21" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="ftpid" class="x_control-label">{$lang->user_id}</label>
|
||||
<div class="x_controls">
|
||||
<input name="ftp_user" type="text" id="ftpid" class="focus" value="{$server_ftp_user}" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="ftppw" class="x_control-label">{$lang->password}</label>
|
||||
<div class="x_controls">
|
||||
<input name="ftp_password" type="password" id="ftppw" value="" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="ftppath" class="x_control-label">{$lang->msg_ftp_installed_ftp_realpath}</label>
|
||||
<div class="x_controls">
|
||||
<input name="ftp_root_path" value="{$ftp_info->ftp_root_path}" type="text" id="ftppath" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p class="install_help">{$lang->msg_ftp_installed_realpath}: {_XE_PATH_}</p>
|
||||
<p>
|
||||
<button type="button" class="x_btn x_btn-small" id="task-ftp-list" onclick="getFTPList();return false;">{$lang->ftp_get_list}</button>
|
||||
<button type="button" class="x_btn x_btn-small x_btn-inverse" id="task-ftp-check" onclick="doCheckFTPInfo();return false">{$lang->cmd_check_ftp_connect}</button>
|
||||
</p>
|
||||
<ul id="ftplist"></ul>
|
||||
|
||||
<p class="install_help">{$lang->install_ftp_reason}</p>
|
||||
<ul>
|
||||
<li>{$lang->msg_safe_mode_ftp_needed}</li>
|
||||
<li>{$lang->msg_safe_mode_ftp_needed2}</li>
|
||||
</ul>
|
||||
<p class="install_help">{$lang->msg_safe_mode_ftp_config}</p>
|
||||
</div>
|
||||
<div id="buttons">
|
||||
<div class="align-left">
|
||||
<a href="{getUrl('', 'act','dispInstallCheckEnv')}" class="button grey">« {$lang->cmd_back}</a>
|
||||
</div>
|
||||
<div class="align-right">
|
||||
<button type="submit" id="task-ftp-skip" value="">{$lang->cmd_pass_step} »</button>
|
||||
<button type="submit" id="task-ftp-confirm" value="">{$lang->cmd_next} »</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<include target="footer.html" />
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
<load target="../../../modules/admin/tpl/css/admin.bootstrap.min.css" />
|
||||
<load target="./css/install.css" />
|
||||
<div class="x">
|
||||
<load target="css/install.css" />
|
||||
<load target="js/install.js" />
|
||||
|
||||
<div class="x"|cond="$lang_type == 'ko'" class="x enfont"|cond="$lang_type != 'ko'">
|
||||
<div id="header">
|
||||
<h1><img src="img/xe.png" width="161" height="26" alt="XpressEngine" /></h1>
|
||||
<em>Version <strong>{__XE_VERSION__}</strong> {$lang->introduce_title}</em>
|
||||
<h1><span class="green">XE</span><span class="colon">:</span><span class="brown">XTR</span></h1>
|
||||
<h2>XpressEngine XETOWN Remix <strong>{__XE_VERSION__}</strong></h2>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<load target="js/install_admin.js" />
|
||||
<include target="header.html" />
|
||||
<div id="body">
|
||||
<include target="progress_menu.html" />
|
||||
<div id="content">
|
||||
<h2>{$lang->install_progress_menu['language']}</h2>
|
||||
<ul class="language">
|
||||
<li loop="$lang_supported=>$key,$val">
|
||||
<i cond="$l==$key" class="x_icon-ok-sign x_icon-white" title="Selected Language"></i>
|
||||
|
|
@ -10,10 +10,10 @@
|
|||
<strong cond="$l==$key">{$val}</strong>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="ibtnArea">
|
||||
<span class="x_pull-right">
|
||||
<a href="{getUrl('', 'act', 'dispInstallLicenseAgreement')}" class="x_btn x_btn-small x_btn-inverse" id="task-choose-language">{$lang->cmd_next} <i class="x_icon-chevron-right x_icon-white"></i></a>
|
||||
</span>
|
||||
</div>
|
||||
<div id="buttons">
|
||||
<div class="align-right">
|
||||
<a href="{getUrl('', 'act', 'dispInstallLicenseAgreement')}" class="button" id="task-choose-language">{$lang->cmd_next} »</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,31 +1,18 @@
|
|||
jQuery(function($){
|
||||
// TARGET toggle
|
||||
$(document.body).on('click', '.x [data-toggle]', function(){
|
||||
var $this = $(this);
|
||||
if($this.is('a') && $this.attr('href') != $this.attr('data-toggle')){
|
||||
var target = $this.attr('href');
|
||||
$this.attr('data-toggle', target);
|
||||
}
|
||||
var $target = $($this.attr('data-toggle'));
|
||||
var focusable = 'a,input,button,textarea,select';
|
||||
$target.toggle();
|
||||
if($target.is(':visible') && !$target.find(focusable).length){
|
||||
$target.not(':disabled').attr('tabindex','0').focus();
|
||||
} else if($target.is(':visible') && $target.find(focusable).length) {
|
||||
$target.not(':disabled').find(focusable).eq(0).focus();
|
||||
} else {
|
||||
$this.focus();
|
||||
}
|
||||
return false;
|
||||
});
|
||||
// SUBMIT disabled
|
||||
$('input[required]').change(function(){
|
||||
var invalid = $('input[required]').is('[value=""], [value=" "], [value=" "], [value=" "]');
|
||||
var $submit = $('[type="submit"]');
|
||||
if(!invalid){
|
||||
$submit.removeClass('x_disabled');
|
||||
} else {
|
||||
$submit.addClass('x_disabled');
|
||||
}
|
||||
});
|
||||
$('.focus').focus();
|
||||
if($("#db_type").size()) {
|
||||
$("#db_type").click(function() {
|
||||
$("p.db_type").hide();
|
||||
$("p.db_type_" + $(this).val()).show();
|
||||
}).triggerHandler("click");
|
||||
}
|
||||
if($("input[name='user_id']").size() && $("input[name='email_address']").size()) {
|
||||
var user_id_input = $("input[name='user_id']");
|
||||
var email_input = $("input[name='email_address']");
|
||||
email_input.on("blur", function() {
|
||||
if (user_id_input.val() == "") {
|
||||
user_id_input.val(email_input.val().replace(/@.+$/g, "").replace(/[^a-zA-Z0-9_]/g, ""));
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -1,145 +0,0 @@
|
|||
/**
|
||||
* @brief DB정보 Setting후 실행될 함수
|
||||
*/
|
||||
function completeAgreement(ret_obj)
|
||||
{
|
||||
if(ret_obj['error'] != 0) {
|
||||
alert(ret_obj['message']);
|
||||
return;
|
||||
} else {
|
||||
var url = current_url.setQuery('act', 'dispInstallCheckEnv');
|
||||
location.href = url;
|
||||
}
|
||||
}
|
||||
|
||||
function completeDBSetting(ret_obj) {
|
||||
if(ret_obj['error'] != 0) {
|
||||
alert(ret_obj['message']);
|
||||
return;
|
||||
} else {
|
||||
location.href = "./index.php?act=dispInstallConfigForm";
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Rewrite module, Time-zone Setting 후 실행될 함수
|
||||
*/
|
||||
function completeConfigSetting(ret_obj) {
|
||||
if(ret_obj['error'] != 0) {
|
||||
alert(ret_obj['message']);
|
||||
return;
|
||||
} else {
|
||||
location.href = "./index.php?act=dispInstallManagerForm";
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 설치 완료후 실행될 함수
|
||||
*/
|
||||
function completeInstalled(ret_obj) {
|
||||
alert(ret_obj["message"]);
|
||||
location.href = "./index.php";
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief FTP 정보 입력
|
||||
**/
|
||||
function doInstallFTPInfo(form) {
|
||||
var params={}, data=jQuery(form).serializeArray();
|
||||
jQuery.each(data, function(i, field){ params[field.name] = field.value });
|
||||
exec_xml('install', 'procInstallFTP', params, completeInstallFTPInfo, ['error', 'message'], params, form);
|
||||
return false;
|
||||
}
|
||||
|
||||
function completeInstallFTPInfo(ret_obj) {
|
||||
location.href = current_url;
|
||||
}
|
||||
|
||||
function doCheckFTPInfo() {
|
||||
var form = jQuery("#ftp_form").get(0);
|
||||
var params={}, data=jQuery(form).serializeArray();
|
||||
jQuery.each(data, function(i, field){ params[field.name] = field.value });
|
||||
|
||||
exec_xml('install', 'procInstallCheckFTP', params, completeInstallCheckFtpInfo, ['error', 'message'], params, form);
|
||||
return false;
|
||||
}
|
||||
|
||||
function completeInstallCheckFtpInfo(ret_obj) {
|
||||
alert(ret_obj['message']);
|
||||
}
|
||||
|
||||
function completeFtpPath(ret_obj){
|
||||
location.reload();
|
||||
}
|
||||
|
||||
function getFTPList(pwd)
|
||||
{
|
||||
var form = jQuery("#ftp_form").get(0);
|
||||
if(typeof(pwd) != 'undefined')
|
||||
{
|
||||
form.ftp_root_path.value = pwd;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(!form.ftp_root_path.value)
|
||||
{
|
||||
if(typeof(form.sftp) != 'undefined' && form.sftp.checked) {
|
||||
form.ftp_root_path.value = xe_root;
|
||||
}
|
||||
else
|
||||
{
|
||||
form.ftp_root_path.value = "/";
|
||||
}
|
||||
}
|
||||
}
|
||||
var params={}, data=jQuery("#ftp_form").serializeArray();
|
||||
jQuery.each(data, function(i, field){ params[field.name] = field.value });
|
||||
exec_xml('install', 'getInstallFTPList', params, completeGetFtpInfo, ['list', 'error', 'message'], params, form);
|
||||
}
|
||||
|
||||
function completeGetFtpInfo(ret_obj)
|
||||
{
|
||||
if(ret_obj['error'] != 0)
|
||||
{
|
||||
alert(ret_obj['error']);
|
||||
alert(ret_obj['message']);
|
||||
return;
|
||||
}
|
||||
var e = jQuery("#ftplist").empty();
|
||||
var list = "";
|
||||
if(!jQuery.isArray(ret_obj['list']['item']))
|
||||
{
|
||||
ret_obj['list']['item'] = [ret_obj['list']['item']];
|
||||
}
|
||||
|
||||
pwd = jQuery("#ftp_form").get(0).ftp_root_path.value;
|
||||
if(pwd != "/")
|
||||
{
|
||||
arr = pwd.split("/");
|
||||
arr.pop();
|
||||
arr.pop();
|
||||
arr.push("");
|
||||
target = arr.join("/");
|
||||
list = list + "<li><a href='#ftpSetup' onclick=\"getFTPList('"+target+"')\">../</a></li>";
|
||||
}
|
||||
|
||||
for(var i=0;i<ret_obj['list']['item'].length;i++)
|
||||
{
|
||||
var v = ret_obj['list']['item'][i];
|
||||
if(v == "../")
|
||||
{
|
||||
continue;
|
||||
}
|
||||
else if( v == "./")
|
||||
{
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
list = list + "<li><a href='#ftpSetup' onclick=\"getFTPList('"+pwd+v+"')\">"+v+"</a></li>";
|
||||
}
|
||||
}
|
||||
|
||||
//list = "<td><ul>"+list+"</ul></td>";
|
||||
e.append(jQuery(list));
|
||||
}
|
||||
|
|
@ -1,35 +1,30 @@
|
|||
<load target="js/install_admin.js" />
|
||||
<include target="header.html" />
|
||||
|
||||
<div id="body">
|
||||
<form id="body" action="./" method="post">
|
||||
<include target="progress_menu.html" />
|
||||
<div id="content">
|
||||
<h2>{$lang->license_agreement}</h2>
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<h2>{$lang->license_agreement}</h2>
|
||||
<form action="./" method="post" class="x_form-horizontal">
|
||||
<input type="hidden" name="act" value="procInstallLicenseAggrement">
|
||||
<input type="hidden" name="module" value="install">
|
||||
|
||||
<div class="content-license">
|
||||
<div>{$lang->license}</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label><input type="checkbox" name="license_agreement" value="Y" /> <strong>{$lang->cmd_license_agree}</strong></label>
|
||||
</div>
|
||||
|
||||
<div class="ibtnArea">
|
||||
<span class="x_pull-left">
|
||||
<a href="{getUrl('', 'act','')}" class="x_btn x_btn-small x_btn-inverse"><i class="x_icon-chevron-left x_icon-white"></i> {$lang->cmd_back}</a>
|
||||
</span>
|
||||
<span class="x_pull-right">
|
||||
<button type="submit" class="x_btn x_btn-small x_btn-inverse" id="task-license-aggrement" value="">{$lang->cmd_next} <i class="x_icon-chevron-right x_icon-white"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
</form>
|
||||
<input type="hidden" name="act" value="procInstallLicenseAggrement">
|
||||
<input type="hidden" name="module" value="install">
|
||||
<div class="content-license">
|
||||
<include target="license_text.ko.html" cond="$lang_type === 'ko'" />
|
||||
<include target="license_text.en.html" cond="$lang_type !== 'ko'" />
|
||||
</div>
|
||||
<p>
|
||||
<label><input type="checkbox" name="license_agreement" value="Y" /> <strong>{$lang->cmd_license_agree}</strong></label>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="buttons">
|
||||
<div class="align-left">
|
||||
<!--<a href="{getUrl('', 'act','')}" class="button grey">« {$lang->cmd_back}</a>-->
|
||||
</div>
|
||||
<div class="align-right">
|
||||
<button type="submit" id="task-license-aggrement" value="">{$lang->cmd_next} »</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<include target="footer.html" />
|
||||
|
|
|
|||
41
modules/install/tpl/license_text.en.html
Normal file
41
modules/install/tpl/license_text.en.html
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
<p>Copyright © <a href="http://www.navercorp.com" target="_blank">NAVER</a> and Contributors</p>
|
||||
|
||||
<p>
|
||||
XpressEngine (XE) is an opensource and being developed in the open-source project.
|
||||
For more information, please see the links below.
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>Official website: <a href="https://www.xpressengine.com" target="_blank">https://www.xpressengine.com</a></li>
|
||||
<li>Official repository: <a href="https://github.com/xpressengine/xe-core" target="_blank">https://github.com/xpressengine/xe-core</a></li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
XpressEngine XETown Remix is a fork of the XpressEngine CMS
|
||||
with additional patches by members of the XETOWN community.
|
||||
For more information, please see the links below.
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>Official website: <a href="https://www.xetown.com" target="_blank">https://www.xetown.com</a></li>
|
||||
<li>Official repository: <a href="https://github.com/xetown/xe-core" target="_blank">https://github.com/xetown/xe-core</a></li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
XpressEngine XETown Remix is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Lesser General Public License (LGPL) as published by the Free Software Foundation;
|
||||
either version 2.1 of the License, or (at your option) any later version.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU Lesser General Public License for more details.
|
||||
You should have received a copy of the GNU Lesser General Public License along with this library;
|
||||
if not, write to the <a href="https://fsf.org/" target="_blank">Free Software Foundation, Inc.</a>,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>License : <a href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html" target="_blank">GNU Lesser General Public License, version 2.1</a></li>
|
||||
</ul>
|
||||
41
modules/install/tpl/license_text.ko.html
Normal file
41
modules/install/tpl/license_text.ko.html
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
<p>Copyright © <a href="http://www.navercorp.com" target="_blank">NAVER</a> and Contributors</p>
|
||||
|
||||
<p>
|
||||
XpressEngine(XE)은 자유 소프트웨어이며, 오픈 소스 프로젝트로 개발되고 있습니다.
|
||||
자세한 내용은 아래 링크를 참조하시기 바랍니다.
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>공식 사이트: <a href="https://www.xpressengine.com" target="_blank">https://www.xpressengine.com</a></li>
|
||||
<li>공식 저장소: <a href="https://github.com/xpressengine/xe-core" target="_blank">https://github.com/xpressengine/xe-core</a></li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
XpressEngine XETOWN Remix는 XE를 가지치기(fork)하여 XETOWN 커뮤니티 회원들이 개발한 다양한 기능을 추가한 것입니다.
|
||||
자세한 내용은 아래 링크를 참조하시기 바랍니다.
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>공식 사이트: <a href="https://www.xetown.com" target="_blank">https://www.xetown.com</a></li>
|
||||
<li>공식 저장소: <a href="https://github.com/xetown/xe-core" target="_blank">https://github.com/xetown/xe-core</a></li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
XpressEngine XETOWN Remix는 자유 소프트웨어입니다.
|
||||
소프트웨어의 피양도자는 자유 소프트웨어 재단이 공표한 GNU 약소 일반 공중 사용 허가서 (LGPL) 2.1판
|
||||
또는 그 이후 판을 임의로 선택해서, 그 규정에 따라 소프트웨어를 개작하거나 재배포할 수 있습니다.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
이 소프트웨어는 유용하게 사용될 수 있으리라는 희망에서 배포되고 있지만,
|
||||
특정한 목적에 맞는 적합성 여부나 판매용으로 사용할 수 있으리라는 묵시적인 보증을 포함한
|
||||
어떠한 형태의 보증도 제공하지 않습니다.
|
||||
보다 자세한 사항에 대해서는 GNU 약소 일반 공중 사용 허가서를 참고하시기 바랍니다.
|
||||
GNU 약소 일반 공중 사용 허가서는 이 라이브러리와 함께 제공됩니다.
|
||||
만약, 이 문서가 누락되어 있다면 <a href="https://fsf.org/" target="_blank">자유 소프트웨어 재단</a>으로 문의하시기 바랍니다.
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>한글 (비공식 번역본) : <a href="http://korea.gnu.org/people/chsong/copyleft/lgpl.ko.html" target="_blank">GNU Lesser General Public License, version 2.1</a></li>
|
||||
<li>영문 (공식 원본) : <a href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html" target="_blank">GNU Lesser General Public License, version 2.1</a></li>
|
||||
</ul>
|
||||
|
|
@ -1,12 +1,9 @@
|
|||
<div id="progress">
|
||||
<ul>
|
||||
<li class="active"|cond="$act==''">{$lang->install_progress_menu['language']}</li>
|
||||
<li class="active"|cond="$act=='dispInstallLicenseAgreement'">{$lang->install_progress_menu['license_agreement']}</li>
|
||||
<li class="active"|cond="($act==''||$act=='dispInstallLicenseAgreement')">{$lang->install_progress_menu['license_agreement']}</li>
|
||||
<li class="active"|cond="$act=='dispInstallCheckEnv'">{$lang->install_progress_menu['condition']}</li>
|
||||
<li class="active"|cond="$act=='dispInstallSelectDB' && $progressMenu == '3'">{$lang->install_progress_menu['ftp']}</li>
|
||||
<li class="active"|cond="$act=='dispInstallSelectDB' && $progressMenu == '4'">{$lang->install_progress_menu['dbSelect']}</li>
|
||||
<li class="active"|cond="$act=='dispInstallDBForm'">{$lang->install_progress_menu['dbInfo']}</li>
|
||||
<li class="active"|cond="$act=='dispInstallConfigForm'">{$lang->install_progress_menu['configInfo']}</li>
|
||||
<li cond="ini_get('safe_mode')" class="active"|cond="$act=='dispInstallSelectDB' && $progressMenu == '3'">{$lang->install_progress_menu['ftp']}</li>
|
||||
<li class="active"|cond="$act=='dispInstallSelectDB' && $progressMenu == '4'">{$lang->install_progress_menu['dbInfo']}</li>
|
||||
<li class="active"|cond="$act=='dispInstallManagerForm'">{$lang->install_progress_menu['adminInfo']}</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,28 +1,66 @@
|
|||
<load target="js/install_admin.js" />
|
||||
<include target="header.html" />
|
||||
<div id="body">
|
||||
<include target="progress_menu.html" />
|
||||
<div id="content">
|
||||
<form method="post" action="./">
|
||||
<input type="hidden" name="module" value="{$module}" />
|
||||
<input type="hidden" name="act" value="dispInstallDBForm" />
|
||||
<div class="x_control-group" loop="DB::getEnableList() => $key,$val">
|
||||
<label for="db_type_{$val->db_type}"><input name="db_type" type="radio" value="{$val->db_type}" disabled="disabled"|cond="!$val->enable" id="db_type_{$val->db_type}" checked="checked"|cond="$val->db_type==$defaultDatabase" /> {$val->db_type}</label>
|
||||
<p>{$lang->db_desc[$val->db_type]}</p>
|
||||
</div>
|
||||
<div class="x_control-group x_muted" loop="DB::getDisableList() => $key,$val">
|
||||
<label for="db_type_{$val->db_type}"><input name="db_type" type="radio" value="{$val->db_type}" disabled="disabled"|cond="!$val->enable" id="db_type_{$val->db_type}" /> {$val->db_type}<em>({$lang->can_use_when_installed})</em></label>
|
||||
<p>{$lang->db_desc[$val->db_type]}</p>
|
||||
</div>
|
||||
<div class="ibtnArea">
|
||||
<span class="x_pull-left">
|
||||
<a href="{getUrl('', 'act', 'dispInstallCheckEnv')}" class="x_btn x_btn-small x_btn-inverse"><i class="x_icon-chevron-left x_icon-white"></i> {$lang->cmd_back}</a>
|
||||
</span>
|
||||
<span class="x_pull-right">
|
||||
<button type="submit" class="x_btn x_btn-small x_btn-inverse" id="task-db-select">{$lang->cmd_next} <i class="x_icon-chevron-right x_icon-white"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
</form>
|
||||
<form id="body" method="post" action="./">
|
||||
<include target="progress_menu.html" />
|
||||
<div id="content">
|
||||
<h2>{$lang->install_progress_menu['dbInfo']}</h2>
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<input type="hidden" value="{$error_return_url}" name="error_return_url">
|
||||
<input type="hidden" name="module" value="{$module}" />
|
||||
<input type="hidden" name="act" value="procDBSetting" />
|
||||
<div class="x_control-group">
|
||||
<label for="db_type" class="x_control-label">{$lang->db_type}</label>
|
||||
<div class="x_controls">
|
||||
<select id="db_type" name="db_type">
|
||||
<block loop="DB::getEnableList() => $key,$val">
|
||||
<option value="{$val->db_type}" selected="selected"|cond="$val->db_type==$defaultDatabase" />
|
||||
{$val->db_type}
|
||||
<block cond="$val->db_type==$defaultDatabase && stripos($val->db_type, 'innodb') !== false">({$lang->cmd_recommended})</block>
|
||||
</option>
|
||||
</block>
|
||||
<block loop="DB::getDisableList() => $key,$val">
|
||||
<option value="{$val->db_type}" disabled="disabled" />{$val->db_type} ({$lang->can_use_when_installed})</option>
|
||||
</block>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<p loop="DB::getEnableList() => $key,$val" class="install_help db_type db_type_{$val->db_type}">{$lang->db_desc[$val->db_type]}</p>
|
||||
<div class="x_control-group">
|
||||
<label for="dbHostName" class="x_control-label">{$lang->db_hostname}</label>
|
||||
<div class="x_controls"><input name="db_hostname" value="localhost" type="text" id="dbHostName" required /></div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="dbPort" class="x_control-label">{$lang->db_port}</label>
|
||||
<div class="x_controls"><input name="db_port" value="3306" type="text" id="dbPort" required /></div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="dbId" class="x_control-label">{$lang->db_userid}</label>
|
||||
<div class="x_controls"><input name="db_userid" type="text" id="dbId" class="focus" required /></div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="dbPw" class="x_control-label">{$lang->db_password}</label>
|
||||
<div class="x_controls"><input name="db_password" type="password" id="dbPw" required /></div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="dbName" class="x_control-label">{$lang->db_name}</label>
|
||||
<div class="x_controls"><input name="db_database" type="text" id="dbName" required /></div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label for="dbPrefix" class="x_control-label">{$lang->db_table_prefix}</label>
|
||||
<div class="x_controls"><input name="db_table_prefix" type="text" id="dbPrefix" value="xe" required /></div>
|
||||
</div>
|
||||
<p class="install_help">
|
||||
{$lang->db_info_desc}<br />{$lang->db_prefix_desc}
|
||||
</p>
|
||||
</div>
|
||||
<div id="buttons">
|
||||
<div class="align-left">
|
||||
<a href="{getUrl('', 'act','dispInstallCheckEnv')}" class="button grey">« {$lang->cmd_back}</a>
|
||||
</div>
|
||||
<div class="align-right">
|
||||
<button type="submit" id="task-db-select" value="">{$lang->cmd_next} »</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<include target="footer.html" />
|
||||
|
|
|
|||
1
modules/krzip/COPYRIGHT
Normal file
1
modules/krzip/COPYRIGHT
Normal file
|
|
@ -0,0 +1 @@
|
|||
Copyright (C) NAVER <http://www.navercorp.com>
|
||||
481
modules/krzip/LICENSE
Normal file
481
modules/krzip/LICENSE
Normal file
|
|
@ -0,0 +1,481 @@
|
|||
Copyright (C) NAVER <http://www.navercorp.com>
|
||||
|
||||
XE is an opensource and being developed in the opensource project.
|
||||
For more information, please see the link below.
|
||||
- Official website: http://www.xpressengine.com
|
||||
- Official Repository: http://github.com/xpressengine/
|
||||
|
||||
"XpressEngine (XE)" is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
-------
|
||||
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
Version 2.1, February 1999
|
||||
|
||||
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
[This is the first released version of the Lesser GPL. It also counts
|
||||
as the successor of the GNU Library Public License, version 2, hence
|
||||
the version number 2.1.]
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
Licenses are intended to guarantee your freedom to share and change
|
||||
free software--to make sure the software is free for all its users.
|
||||
|
||||
This license, the Lesser General Public License, applies to some
|
||||
specially designated software packages--typically libraries--of the
|
||||
Free Software Foundation and other authors who decide to use it. You
|
||||
can use it too, but we suggest you first think carefully about whether
|
||||
this license or the ordinary General Public License is the better
|
||||
strategy to use in any particular case, based on the explanations below.
|
||||
|
||||
When we speak of free software, we are referring to freedom of use,
|
||||
not price. Our General Public Licenses are designed to make sure that
|
||||
you have the freedom to distribute copies of free software (and charge
|
||||
for this service if you wish); that you receive source code or can get
|
||||
it if you want it; that you can change the software and use pieces of
|
||||
it in new free programs; and that you are informed that you can do
|
||||
these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
distributors to deny you these rights or to ask you to surrender these
|
||||
rights. These restrictions translate to certain responsibilities for
|
||||
you if you distribute copies of the library or if you modify it.
|
||||
|
||||
For example, if you distribute copies of the library, whether gratis
|
||||
or for a fee, you must give the recipients all the rights that we gave
|
||||
you. You must make sure that they, too, receive or can get the source
|
||||
code. If you link other code with the library, you must provide
|
||||
complete object files to the recipients, so that they can relink them
|
||||
with the library after making changes to the library and recompiling
|
||||
it. And you must show them these terms so they know their rights.
|
||||
|
||||
We protect your rights with a two-step method: (1) we copyright the
|
||||
library, and (2) we offer you this license, which gives you legal
|
||||
permission to copy, distribute and/or modify the library.
|
||||
|
||||
To protect each distributor, we want to make it very clear that
|
||||
there is no warranty for the free library. Also, if the library is
|
||||
modified by someone else and passed on, the recipients should know
|
||||
that what they have is not the original version, so that the original
|
||||
author's reputation will not be affected by problems that might be
|
||||
introduced by others.
|
||||
|
||||
Finally, software patents pose a constant threat to the existence of
|
||||
any free program. We wish to make sure that a company cannot
|
||||
effectively restrict the users of a free program by obtaining a
|
||||
restrictive license from a patent holder. Therefore, we insist that
|
||||
any patent license obtained for a version of the library must be
|
||||
consistent with the full freedom of use specified in this license.
|
||||
|
||||
Most GNU software, including some libraries, is covered by the
|
||||
ordinary GNU General Public License. This license, the GNU Lesser
|
||||
General Public License, applies to certain designated libraries, and
|
||||
is quite different from the ordinary General Public License. We use
|
||||
this license for certain libraries in order to permit linking those
|
||||
libraries into non-free programs.
|
||||
|
||||
When a program is linked with a library, whether statically or using
|
||||
a shared library, the combination of the two is legally speaking a
|
||||
combined work, a derivative of the original library. The ordinary
|
||||
General Public License therefore permits such linking only if the
|
||||
entire combination fits its criteria of freedom. The Lesser General
|
||||
Public License permits more lax criteria for linking other code with
|
||||
the library.
|
||||
|
||||
We call this license the "Lesser" General Public License because it
|
||||
does Less to protect the user's freedom than the ordinary General
|
||||
Public License. It also provides other free software developers Less
|
||||
of an advantage over competing non-free programs. These disadvantages
|
||||
are the reason we use the ordinary General Public License for many
|
||||
libraries. However, the Lesser license provides advantages in certain
|
||||
special circumstances.
|
||||
|
||||
For example, on rare occasions, there may be a special need to
|
||||
encourage the widest possible use of a certain library, so that it becomes
|
||||
a de-facto standard. To achieve this, non-free programs must be
|
||||
allowed to use the library. A more frequent case is that a free
|
||||
library does the same job as widely used non-free libraries. In this
|
||||
case, there is little to gain by limiting the free library to free
|
||||
software only, so we use the Lesser General Public License.
|
||||
|
||||
In other cases, permission to use a particular library in non-free
|
||||
programs enables a greater number of people to use a large body of
|
||||
free software. For example, permission to use the GNU C Library in
|
||||
non-free programs enables many more people to use the whole GNU
|
||||
operating system, as well as its variant, the GNU/Linux operating
|
||||
system.
|
||||
|
||||
Although the Lesser General Public License is Less protective of the
|
||||
users' freedom, it does ensure that the user of a program that is
|
||||
linked with the Library has the freedom and the wherewithal to run
|
||||
that program using a modified version of the Library.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow. Pay close attention to the difference between a
|
||||
"work based on the library" and a "work that uses the library". The
|
||||
former contains code derived from the library, whereas the latter must
|
||||
be combined with the library in order to run.
|
||||
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License Agreement applies to any software library or other
|
||||
program which contains a notice placed by the copyright holder or
|
||||
other authorized party saying it may be distributed under the terms of
|
||||
this Lesser General Public License (also called "this License").
|
||||
Each licensee is addressed as "you".
|
||||
|
||||
A "library" means a collection of software functions and/or data
|
||||
prepared so as to be conveniently linked with application programs
|
||||
(which use some of those functions and data) to form executables.
|
||||
|
||||
The "Library", below, refers to any such software library or work
|
||||
which has been distributed under these terms. A "work based on the
|
||||
Library" means either the Library or any derivative work under
|
||||
copyright law: that is to say, a work containing the Library or a
|
||||
portion of it, either verbatim or with modifications and/or translated
|
||||
straightforwardly into another language. (Hereinafter, translation is
|
||||
included without limitation in the term "modification".)
|
||||
|
||||
"Source code" for a work means the preferred form of the work for
|
||||
making modifications to it. For a library, complete source code means
|
||||
all the source code for all modules it contains, plus any associated
|
||||
interface definition files, plus the scripts used to control compilation
|
||||
and installation of the library.
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running a program using the Library is not restricted, and output from
|
||||
such a program is covered only if its contents constitute a work based
|
||||
on the Library (independent of the use of the Library in a tool for
|
||||
writing it). Whether that is true depends on what the Library does
|
||||
and what the program that uses the Library does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Library's
|
||||
complete source code as you receive it, in any medium, provided that
|
||||
you conspicuously and appropriately publish on each copy an
|
||||
appropriate copyright notice and disclaimer of warranty; keep intact
|
||||
all the notices that refer to this License and to the absence of any
|
||||
warranty; and distribute a copy of this License along with the
|
||||
Library.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy,
|
||||
and you may at your option offer warranty protection in exchange for a
|
||||
fee.
|
||||
|
||||
2. You may modify your copy or copies of the Library or any portion
|
||||
of it, thus forming a work based on the Library, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) The modified work must itself be a software library.
|
||||
|
||||
b) You must cause the files modified to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
c) You must cause the whole of the work to be licensed at no
|
||||
charge to all third parties under the terms of this License.
|
||||
|
||||
d) If a facility in the modified Library refers to a function or a
|
||||
table of data to be supplied by an application program that uses
|
||||
the facility, other than as an argument passed when the facility
|
||||
is invoked, then you must make a good faith effort to ensure that,
|
||||
in the event an application does not supply such function or
|
||||
table, the facility still operates, and performs whatever part of
|
||||
its purpose remains meaningful.
|
||||
|
||||
(For example, a function in a library to compute square roots has
|
||||
a purpose that is entirely well-defined independent of the
|
||||
application. Therefore, Subsection 2d requires that any
|
||||
application-supplied function or table used by this function must
|
||||
be optional: if the application does not supply it, the square
|
||||
root function must still compute square roots.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Library,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Library, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote
|
||||
it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Library.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Library
|
||||
with the Library (or with a work based on the Library) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may opt to apply the terms of the ordinary GNU General Public
|
||||
License instead of this License to a given copy of the Library. To do
|
||||
this, you must alter all the notices that refer to this License, so
|
||||
that they refer to the ordinary GNU General Public License, version 2,
|
||||
instead of to this License. (If a newer version than version 2 of the
|
||||
ordinary GNU General Public License has appeared, then you can specify
|
||||
that version instead if you wish.) Do not make any other change in
|
||||
these notices.
|
||||
|
||||
Once this change is made in a given copy, it is irreversible for
|
||||
that copy, so the ordinary GNU General Public License applies to all
|
||||
subsequent copies and derivative works made from that copy.
|
||||
|
||||
This option is useful when you wish to copy part of the code of
|
||||
the Library into a program that is not a library.
|
||||
|
||||
4. You may copy and distribute the Library (or a portion or
|
||||
derivative of it, under Section 2) in object code or executable form
|
||||
under the terms of Sections 1 and 2 above provided that you accompany
|
||||
it with the complete corresponding machine-readable source code, which
|
||||
must be distributed under the terms of Sections 1 and 2 above on a
|
||||
medium customarily used for software interchange.
|
||||
|
||||
If distribution of object code is made by offering access to copy
|
||||
from a designated place, then offering equivalent access to copy the
|
||||
source code from the same place satisfies the requirement to
|
||||
distribute the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
5. A program that contains no derivative of any portion of the
|
||||
Library, but is designed to work with the Library by being compiled or
|
||||
linked with it, is called a "work that uses the Library". Such a
|
||||
work, in isolation, is not a derivative work of the Library, and
|
||||
therefore falls outside the scope of this License.
|
||||
|
||||
However, linking a "work that uses the Library" with the Library
|
||||
creates an executable that is a derivative of the Library (because it
|
||||
contains portions of the Library), rather than a "work that uses the
|
||||
library". The executable is therefore covered by this License.
|
||||
Section 6 states terms for distribution of such executables.
|
||||
|
||||
When a "work that uses the Library" uses material from a header file
|
||||
that is part of the Library, the object code for the work may be a
|
||||
derivative work of the Library even though the source code is not.
|
||||
Whether this is true is especially significant if the work can be
|
||||
linked without the Library, or if the work is itself a library. The
|
||||
threshold for this to be true is not precisely defined by law.
|
||||
|
||||
If such an object file uses only numerical parameters, data
|
||||
structure layouts and accessors, and small macros and small inline
|
||||
functions (ten lines or less in length), then the use of the object
|
||||
file is unrestricted, regardless of whether it is legally a derivative
|
||||
work. (Executables containing this object code plus portions of the
|
||||
Library will still fall under Section 6.)
|
||||
|
||||
Otherwise, if the work is a derivative of the Library, you may
|
||||
distribute the object code for the work under the terms of Section 6.
|
||||
Any executables containing that work also fall under Section 6,
|
||||
whether or not they are linked directly with the Library itself.
|
||||
|
||||
6. As an exception to the Sections above, you may also combine or
|
||||
link a "work that uses the Library" with the Library to produce a
|
||||
work containing portions of the Library, and distribute that work
|
||||
under terms of your choice, provided that the terms permit
|
||||
modification of the work for the customer's own use and reverse
|
||||
engineering for debugging such modifications.
|
||||
|
||||
You must give prominent notice with each copy of the work that the
|
||||
Library is used in it and that the Library and its use are covered by
|
||||
this License. You must supply a copy of this License. If the work
|
||||
during execution displays copyright notices, you must include the
|
||||
copyright notice for the Library among them, as well as a reference
|
||||
directing the user to the copy of this License. Also, you must do one
|
||||
of these things:
|
||||
|
||||
a) Accompany the work with the complete corresponding
|
||||
machine-readable source code for the Library including whatever
|
||||
changes were used in the work (which must be distributed under
|
||||
Sections 1 and 2 above); and, if the work is an executable linked
|
||||
with the Library, with the complete machine-readable "work that
|
||||
uses the Library", as object code and/or source code, so that the
|
||||
user can modify the Library and then relink to produce a modified
|
||||
executable containing the modified Library. (It is understood
|
||||
that the user who changes the contents of definitions files in the
|
||||
Library will not necessarily be able to recompile the application
|
||||
to use the modified definitions.)
|
||||
|
||||
b) Use a suitable shared library mechanism for linking with the
|
||||
Library. A suitable mechanism is one that (1) uses at run time a
|
||||
copy of the library already present on the user's computer system,
|
||||
rather than copying library functions into the executable, and (2)
|
||||
will operate properly with a modified version of the library, if
|
||||
the user installs one, as long as the modified version is
|
||||
interface-compatible with the version that the work was made with.
|
||||
|
||||
c) Accompany the work with a written offer, valid for at
|
||||
least three years, to give the same user the materials
|
||||
specified in Subsection 6a, above, for a charge no more
|
||||
than the cost of performing this distribution.
|
||||
|
||||
d) If distribution of the work is made by offering access to copy
|
||||
from a designated place, offer equivalent access to copy the above
|
||||
specified materials from the same place.
|
||||
|
||||
e) Verify that the user has already received a copy of these
|
||||
materials or that you have already sent this user a copy.
|
||||
|
||||
For an executable, the required form of the "work that uses the
|
||||
Library" must include any data and utility programs needed for
|
||||
reproducing the executable from it. However, as a special exception,
|
||||
the materials to be distributed need not include anything that is
|
||||
normally distributed (in either source or binary form) with the major
|
||||
components (compiler, kernel, and so on) of the operating system on
|
||||
which the executable runs, unless that component itself accompanies
|
||||
the executable.
|
||||
|
||||
It may happen that this requirement contradicts the license
|
||||
restrictions of other proprietary libraries that do not normally
|
||||
accompany the operating system. Such a contradiction means you cannot
|
||||
use both them and the Library together in an executable that you
|
||||
distribute.
|
||||
|
||||
7. You may place library facilities that are a work based on the
|
||||
Library side-by-side in a single library together with other library
|
||||
facilities not covered by this License, and distribute such a combined
|
||||
library, provided that the separate distribution of the work based on
|
||||
the Library and of the other library facilities is otherwise
|
||||
permitted, and provided that you do these two things:
|
||||
|
||||
a) Accompany the combined library with a copy of the same work
|
||||
based on the Library, uncombined with any other library
|
||||
facilities. This must be distributed under the terms of the
|
||||
Sections above.
|
||||
|
||||
b) Give prominent notice with the combined library of the fact
|
||||
that part of it is a work based on the Library, and explaining
|
||||
where to find the accompanying uncombined form of the same work.
|
||||
|
||||
8. You may not copy, modify, sublicense, link with, or distribute
|
||||
the Library except as expressly provided under this License. Any
|
||||
attempt otherwise to copy, modify, sublicense, link with, or
|
||||
distribute the Library is void, and will automatically terminate your
|
||||
rights under this License. However, parties who have received copies,
|
||||
or rights, from you under this License will not have their licenses
|
||||
terminated so long as such parties remain in full compliance.
|
||||
|
||||
9. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Library or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Library (or any work based on the
|
||||
Library), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Library or works based on it.
|
||||
|
||||
10. Each time you redistribute the Library (or any work based on the
|
||||
Library), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute, link with or modify the Library
|
||||
subject to these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties with
|
||||
this License.
|
||||
|
||||
11. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Library at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Library by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Library.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under any
|
||||
particular circumstance, the balance of the section is intended to apply,
|
||||
and the section as a whole is intended to apply in other circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
12. If the distribution and/or use of the Library is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Library under this License may add
|
||||
an explicit geographical distribution limitation excluding those countries,
|
||||
so that distribution is permitted only in or among countries not thus
|
||||
excluded. In such case, this License incorporates the limitation as if
|
||||
written in the body of this License.
|
||||
|
||||
13. The Free Software Foundation may publish revised and/or new
|
||||
versions of the Lesser General Public License from time to time.
|
||||
Such new versions will be similar in spirit to the present version,
|
||||
but may differ in detail to address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Library
|
||||
specifies a version number of this License which applies to it and
|
||||
"any later version", you have the option of following the terms and
|
||||
conditions either of that version or of any later version published by
|
||||
the Free Software Foundation. If the Library does not specify a
|
||||
license version number, you may choose any version ever published by
|
||||
the Free Software Foundation.
|
||||
|
||||
14. If you wish to incorporate parts of the Library into other free
|
||||
programs whose distribution conditions are incompatible with these,
|
||||
write to the author to ask for permission. For software which is
|
||||
copyrighted by the Free Software Foundation, write to the Free
|
||||
Software Foundation; we sometimes make exceptions for this. Our
|
||||
decision will be guided by the two goals of preserving the free status
|
||||
of all derivatives of our free software and of promoting the sharing
|
||||
and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
||||
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
||||
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
|
||||
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
|
||||
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
|
||||
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
|
||||
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
|
||||
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
|
||||
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
|
||||
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
|
||||
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
|
||||
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
|
||||
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
|
||||
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
|
||||
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
||||
DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
15
modules/krzip/README.md
Normal file
15
modules/krzip/README.md
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
# 한국 우편번호 모듈
|
||||
공개 API를 이용해 우편번호 검색 서비스를 이용합니다.
|
||||
|
||||
## 지원하는 API
|
||||
1. 다음 우편번호 API
|
||||
2. 인터넷 우체국 우편번호 API
|
||||
3. Postcodify API
|
||||
|
||||
## 인증키 발급
|
||||
인터넷 우체국 우편번호 API를 사용하기 위해서는 인증키 발급이 필요합니다.
|
||||
다음 안내에 따라 인증키를 발급 받은 후 모듈 설정에 입력하세요.
|
||||
|
||||
1. [인증키 발급 페이지](http://biz.epost.go.kr/openapi/openapi_request.jsp?subGubun=sub_3&subGubun_1=cum_38&gubun=m07)를 방문한 후 양식을 작성합니다.
|
||||
2. 인증키 발급 신청을 완료한 후 보여지는 인증키를 복사하거나 [인증키 확인 페이지](http://biz.epost.go.kr/openapi/openapi_reqresult_chk.jsp?subGubun=sub_3&subGubun_1=cum_39&gubun=m07)를 방문한 후 작성했던 양식을 입력해 확인합니다.
|
||||
3. XE 모듈 목록에서 **한국 우편번호 모듈**을 선택해 모듈 설정 페이지를 띄우고 **우체국 우편번호 API**를 선택한 후 활성화된 인증키 입력 칸에 발급 받은 인증키를 입력하고 설정을 저장합니다.
|
||||
10
modules/krzip/conf/info.xml
Normal file
10
modules/krzip/conf/info.xml
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module version="0.2">
|
||||
<title xml:lang="ko">한국 우편번호</title>
|
||||
<description xml:lang="ko">공개 API를 이용해 우편번호 검색 서비스를 이용합니다.</description>
|
||||
<version>1.8.0</version>
|
||||
<date>2015-03-10</date>
|
||||
<author email_address="developers@xpressengine.com" link="http://www.xpressengine.com/">
|
||||
<name xml:lang="ko">NAVER</name>
|
||||
</author>
|
||||
</module>
|
||||
14
modules/krzip/conf/module.xml
Normal file
14
modules/krzip/conf/module.xml
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module>
|
||||
<actions>
|
||||
<action name="dispKrzipAdminConfig" type="view" menu_name="krzip" menu_index="true" admin_index="true" />
|
||||
<action name="procKrzipAdminInsertConfig" type="controller" ruleset="krzipConfig" />
|
||||
<action name="dispKrzipSearchForm" type="view" />
|
||||
<action name="getKrzipCodeList" type="model" />
|
||||
</actions>
|
||||
<menus>
|
||||
<menu name="krzip" type="all">
|
||||
<title xml:lang="ko">한국 우편번호</title>
|
||||
</menu>
|
||||
</menus>
|
||||
</module>
|
||||
43
modules/krzip/krzip.admin.controller.php
Normal file
43
modules/krzip/krzip.admin.controller.php
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
<?php
|
||||
/* Copyright (C) NAVER <http://www.navercorp.com> */
|
||||
/**
|
||||
* @class krzipAdminController
|
||||
* @author NAVER (developers@xpressengine.com)
|
||||
* @brief Krzip module admin controller class.
|
||||
*/
|
||||
|
||||
class krzipAdminController extends krzip
|
||||
{
|
||||
function procKrzipAdminInsertConfig()
|
||||
{
|
||||
$module_config = Context::getRequestVars();
|
||||
getDestroyXeVars($module_config);
|
||||
unset($module_config->module);
|
||||
unset($module_config->act);
|
||||
unset($module_config->mid);
|
||||
unset($module_config->vid);
|
||||
|
||||
$oKrzipController = getController('krzip');
|
||||
$output = $oKrzipController->updateConfig($module_config);
|
||||
if(!$output->toBool())
|
||||
{
|
||||
return $output;
|
||||
}
|
||||
|
||||
$success_return_url = Context::get('success_return_url');
|
||||
if($success_return_url)
|
||||
{
|
||||
$return_url = $success_return_url;
|
||||
}
|
||||
else
|
||||
{
|
||||
$return_url = getNotEncodedUrl('', 'module', 'krzip', 'act', 'dispKrzipAdminConfig');
|
||||
}
|
||||
|
||||
$this->setMessage('success_registed');
|
||||
$this->setRedirectUrl($return_url);
|
||||
}
|
||||
}
|
||||
|
||||
/* End of file krzip.admin.controller.php */
|
||||
/* Location: ./modules/krzip/krzip.admin.controller.php */
|
||||
26
modules/krzip/krzip.admin.view.php
Normal file
26
modules/krzip/krzip.admin.view.php
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
<?php
|
||||
/* Copyright (C) NAVER <http://www.navercorp.com> */
|
||||
/**
|
||||
* @class krzipAdminView
|
||||
* @author NAVER (developers@xpressengine.com)
|
||||
* @brief Krzip module admin view class.
|
||||
*/
|
||||
|
||||
class krzipAdminView extends krzip
|
||||
{
|
||||
function init()
|
||||
{
|
||||
$this->setTemplatePath($this->module_path . 'tpl');
|
||||
$this->setTemplateFile(lcfirst(str_replace('dispKrzipAdmin', '', $this->act)));
|
||||
}
|
||||
|
||||
function dispKrzipAdminConfig()
|
||||
{
|
||||
$oKrzipModel = getModel('krzip');
|
||||
$module_config = $oKrzipModel->getConfig();
|
||||
Context::set('module_config', $module_config);
|
||||
}
|
||||
}
|
||||
|
||||
/* End of file krzip.admin.view.php */
|
||||
/* Location: ./modules/krzip/krzip.admin.view.php */
|
||||
49
modules/krzip/krzip.class.php
Normal file
49
modules/krzip/krzip.class.php
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
<?php
|
||||
/* Copyright (C) NAVER <http://www.navercorp.com> */
|
||||
/**
|
||||
* @class krzip
|
||||
* @author NAVER (developers@xpressengine.com)
|
||||
* @brief Krzip module high class.
|
||||
*/
|
||||
|
||||
if(!function_exists('lcfirst'))
|
||||
{
|
||||
function lcfirst($text)
|
||||
{
|
||||
return strtolower(substr($text, 0, 1)) . substr($text, 1);
|
||||
}
|
||||
}
|
||||
|
||||
class krzip extends ModuleObject
|
||||
{
|
||||
public static $sequence_id = 0;
|
||||
|
||||
public static $default_config = array('api_handler' => 0);
|
||||
|
||||
public static $api_list = array('daumapi', 'epostapi', 'postcodify');
|
||||
|
||||
public static $epostapi_host = 'http://biz.epost.go.kr/KpostPortal/openapi';
|
||||
|
||||
function moduleInstall()
|
||||
{
|
||||
return new Object();
|
||||
}
|
||||
|
||||
function moduleUninstall()
|
||||
{
|
||||
return new Object();
|
||||
}
|
||||
|
||||
function checkUpdate()
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
function moduleUpdate()
|
||||
{
|
||||
return new Object();
|
||||
}
|
||||
}
|
||||
|
||||
/* End of file krzip.class.php */
|
||||
/* Location: ./modules/krzip/krzip.class.php */
|
||||
30
modules/krzip/krzip.controller.php
Normal file
30
modules/krzip/krzip.controller.php
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
<?php
|
||||
/* Copyright (C) NAVER <http://www.navercorp.com> */
|
||||
/**
|
||||
* @class krzipController
|
||||
* @author NAVER (developers@xpressengine.com)
|
||||
* @brief Krzip module controller class.
|
||||
*/
|
||||
|
||||
class krzipController extends krzip
|
||||
{
|
||||
function updateConfig($args)
|
||||
{
|
||||
if(!$args || !is_object($args))
|
||||
{
|
||||
$args = new stdClass();
|
||||
}
|
||||
|
||||
$oModuleController = getController('module');
|
||||
$output = $oModuleController->updateModuleConfig('krzip', $args);
|
||||
if($output->toBool())
|
||||
{
|
||||
unset($this->module_config);
|
||||
}
|
||||
|
||||
return $output;
|
||||
}
|
||||
}
|
||||
|
||||
/* End of file krzip.controller.php */
|
||||
/* Location: ./modules/krzip/krzip.controller.php */
|
||||
243
modules/krzip/krzip.model.php
Executable file
243
modules/krzip/krzip.model.php
Executable file
|
|
@ -0,0 +1,243 @@
|
|||
<?php
|
||||
/* Copyright (C) NAVER <http://www.navercorp.com> */
|
||||
/**
|
||||
* @class krzipModel
|
||||
* @author NAVER (developers@xpressengine.com)
|
||||
* @brief Krzip module model class.
|
||||
*/
|
||||
|
||||
class krzipModel extends krzip
|
||||
{
|
||||
/**
|
||||
* @brief 한국 우편번호 모듈 설정 반환
|
||||
* @return object
|
||||
*/
|
||||
function getConfig()
|
||||
{
|
||||
if(!isset($this->module_config))
|
||||
{
|
||||
$oModuleModel = getModel('module');
|
||||
$module_config = $oModuleModel->getModuleConfig('krzip');
|
||||
if(!is_object($module_config))
|
||||
{
|
||||
$module_config = new stdClass();
|
||||
}
|
||||
|
||||
/* 기본 설정 추가 */
|
||||
$default_config = self::$default_config;
|
||||
foreach($default_config as $key => $val)
|
||||
{
|
||||
if(!isset($module_config->{$key}))
|
||||
{
|
||||
$module_config->{$key} = $val;
|
||||
}
|
||||
}
|
||||
|
||||
$this->module_config = $module_config;
|
||||
}
|
||||
|
||||
return $this->module_config;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 여러 포맷의 우편번호를 모듈 표준 포맷으로 변환
|
||||
* @param mixed $values
|
||||
* @return array
|
||||
*/
|
||||
function getMigratedPostcode($values)
|
||||
{
|
||||
if(is_array($values))
|
||||
{
|
||||
$values = implode(' ', $values);
|
||||
}
|
||||
|
||||
$output = array('', trim(preg_replace('/\s+/', ' ', $values)), '', '', '');
|
||||
|
||||
/* 우편번호 */
|
||||
if(preg_match('/\(?([0-9]{3}-[0-9]{3})\)?/', $output[1], $matches))
|
||||
{
|
||||
$output[1] = trim(preg_replace('/\s+/', ' ', str_replace($matches[0], '', $output[1])));
|
||||
$output[0] = $matches[1];
|
||||
}
|
||||
|
||||
/* 지번 주소 */
|
||||
if(preg_match('/\(.+\s.+[읍면동리(마을)(0-9+가)]\s[0-9-]+\)/', $output[1], $matches))
|
||||
{
|
||||
$output[1] = trim(str_replace($matches[0], '', $output[1]));
|
||||
$output[2] = $matches[0];
|
||||
}
|
||||
|
||||
/* 부가 정보 */
|
||||
if(preg_match('/\(.+[읍면동리(마을)(0-9+가)](?:,.*)?\)/u', $output[1], $matches))
|
||||
{
|
||||
$output[1] = trim(str_replace($matches[0], '', $output[1]));
|
||||
$output[4] = $matches[0];
|
||||
}
|
||||
|
||||
/* 상세 주소 */
|
||||
if(preg_match('/^(.+ [가-힝]+[0-9]*[동리로길]\s*[0-9-]+(?:번지?)?),?\s+(.+)$/u', $output[1], $matches))
|
||||
{
|
||||
$output[1] = trim($matches[1]);
|
||||
$output[3] = trim($matches[2]);
|
||||
}
|
||||
|
||||
return $output;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 외부 서버로부터 주소 검색 결과 반환
|
||||
* @param string $query
|
||||
* @return mixed
|
||||
*/
|
||||
function getKrzipCodeList($query)
|
||||
{
|
||||
$module_config = $this->getConfig();
|
||||
if($module_config->api_handler != 1)
|
||||
{
|
||||
return new Object(-1, 'msg_invalid_request');
|
||||
}
|
||||
if(!isset($query))
|
||||
{
|
||||
$query = Context::get('query');
|
||||
}
|
||||
|
||||
$query = trim(strval($query));
|
||||
if($query === '')
|
||||
{
|
||||
return $this->stop('msg_krzip_no_query');
|
||||
}
|
||||
|
||||
$output = $this->getEpostapiSearch($query);
|
||||
/* XML Request에서는 Array 치환에 대한 문제로 이 함수를 제대로 사용할 수 없음 */
|
||||
$this->add('address_list', $output->get('address_list'));
|
||||
if(!$output->toBool())
|
||||
{
|
||||
return $output;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 우체국 우편번호 API 검색 결과 반환
|
||||
* @param string $query
|
||||
* @return object
|
||||
*/
|
||||
function getEpostapiSearch($query = '')
|
||||
{
|
||||
/**
|
||||
* @brief 문자열 인코딩 변환
|
||||
* @note 우체국 우편번호 API는 검색어를 EUC-KR로 넘겨주어야 함
|
||||
*/
|
||||
$encoding = strtoupper(mb_detect_encoding($query));
|
||||
if($encoding !== 'EUC-KR')
|
||||
{
|
||||
$query = iconv($encoding, 'EUC-KR', $query);
|
||||
}
|
||||
|
||||
$module_config = $this->getConfig();
|
||||
$regkey = $module_config->epostapi_regkey;
|
||||
|
||||
$fields = array(
|
||||
'target' => 'postRoad', /* 도로명 주소 */
|
||||
'regkey' => $regkey,
|
||||
'query' => $query
|
||||
);
|
||||
$headers = array(
|
||||
'accept-language' => 'ko'
|
||||
);
|
||||
$request_config = array(
|
||||
'ssl_verify_peer' => FALSE
|
||||
);
|
||||
|
||||
$buff = FileHandler::getRemoteResource(
|
||||
self::$epostapi_host,
|
||||
NULL,
|
||||
30,
|
||||
'POST',
|
||||
'application/x-www-form-urlencoded',
|
||||
$headers,
|
||||
array(),
|
||||
$fields,
|
||||
$request_config
|
||||
);
|
||||
|
||||
$oXmlParser = new XmlParser();
|
||||
$result = $oXmlParser->parse($buff);
|
||||
if($result->error)
|
||||
{
|
||||
$err_msg = trim($result->error->message->body);
|
||||
if(!$err_msg)
|
||||
{
|
||||
$err_code = intval(str_replace('ERR-', '', $result->error->error_code->body));
|
||||
switch($err_code)
|
||||
{
|
||||
case 1:
|
||||
$err_msg = 'msg_krzip_is_maintenance';
|
||||
break;
|
||||
case 2:
|
||||
$err_msg = 'msg_krzip_wrong_regkey';
|
||||
break;
|
||||
case 3:
|
||||
$err_msg = 'msg_krzip_no_result';
|
||||
break;
|
||||
default:
|
||||
$err_msg = 'msg_krzip_riddling_wrong';
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return new Object(-1, $err_msg);
|
||||
}
|
||||
if(!$result->post)
|
||||
{
|
||||
return new Object(-1, 'msg_krzip_riddling_wrong');
|
||||
}
|
||||
|
||||
$item_list = $result->post->itemlist->item;
|
||||
if(!is_array($item_list))
|
||||
{
|
||||
$item_list = array($item_list);
|
||||
}
|
||||
if(!$item_list)
|
||||
{
|
||||
return new Object(-1, 'msg_krzip_no_result');
|
||||
}
|
||||
|
||||
$addr_list = array();
|
||||
foreach($item_list as $key => $val)
|
||||
{
|
||||
$postcode = substr($val->postcd->body, 0, 3) . '-' . substr($val->postcd->body, 3, 3);
|
||||
$road_addr = $val->lnmaddress->body;
|
||||
$jibun_addr = $val->rnaddress->body;
|
||||
$addr_list[] = $this->getMigratedPostcode('(' . $postcode . ') (' . $jibun_addr . ') ' . $road_addr);
|
||||
}
|
||||
|
||||
$output = new Object();
|
||||
$output->add('address_list', $addr_list);
|
||||
|
||||
return $output;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief HTML 입력 폼 반환
|
||||
* @param string $column_name
|
||||
* @param mixed $values
|
||||
* @return string
|
||||
*/
|
||||
function getKrzipCodeSearchHtml($column_name, $values)
|
||||
{
|
||||
$template_config = $this->getConfig();
|
||||
$template_config->sequence_id = ++self::$sequence_id;
|
||||
$template_config->column_name = $column_name;
|
||||
$template_config->values = $this->getMigratedPostcode($values);
|
||||
Context::set('template_config', $template_config);
|
||||
|
||||
$api_name = strval(self::$api_list[$template_config->api_handler]);
|
||||
$oTemplate = TemplateHandler::getInstance();
|
||||
$output = $oTemplate->compile($this->module_path . 'tpl', 'template.' . $api_name);
|
||||
|
||||
return $output;
|
||||
}
|
||||
}
|
||||
|
||||
/* End of file krzip.model.php */
|
||||
/* Location: ./modules/krzip/krzip.model.php */
|
||||
39
modules/krzip/krzip.view.php
Normal file
39
modules/krzip/krzip.view.php
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
<?php
|
||||
/* Copyright (C) NAVER <http://www.navercorp.com> */
|
||||
/**
|
||||
* @class krzipView
|
||||
* @author NAVER (developers@xpressengine.com)
|
||||
* @brief Krzip module view class.
|
||||
*/
|
||||
|
||||
class krzipView extends krzip
|
||||
{
|
||||
function init()
|
||||
{
|
||||
$this->setTemplatePath($this->module_path . 'tpl');
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 우편번호 검색
|
||||
* @param integer $api_handler
|
||||
* @return mixed
|
||||
*/
|
||||
function dispKrzipSearchForm($api_handler)
|
||||
{
|
||||
$oKrzipModel = getModel('krzip');
|
||||
$module_config = $oKrzipModel->getConfig();
|
||||
$module_config->sequence_id = ++self::$sequence_id;
|
||||
if(!isset($api_handler) || !isset(self::$api_list[$api_handler]))
|
||||
{
|
||||
$api_handler = $module_config->api_handler;
|
||||
}
|
||||
|
||||
Context::set('template_config', $module_config);
|
||||
$this->setTemplateFile('searchForm.' . self::$api_list[$api_handler]);
|
||||
$this->setLayoutPath('./common/tpl/');
|
||||
$this->setLayoutFile('popup_layout');
|
||||
}
|
||||
}
|
||||
|
||||
/* End of file krzip.view.php */
|
||||
/* Location: ./modules/krzip/krzip.view.php */
|
||||
60
modules/krzip/lang/lang.xml
Normal file
60
modules/krzip/lang/lang.xml
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<lang>
|
||||
<item name="krzip">
|
||||
<value xml:lang="ko"><![CDATA[한국 우편번호]]></value>
|
||||
</item>
|
||||
<item name="cmd_krzip_api_type">
|
||||
<value xml:lang="ko"><![CDATA[API 선택]]></value>
|
||||
</item>
|
||||
<item name="cmd_krzip_daumapi">
|
||||
<value xml:lang="ko"><![CDATA[다음 우편번호]]></value>
|
||||
</item>
|
||||
<item name="cmd_krzip_epostapi">
|
||||
<value xml:lang="ko"><![CDATA[우체국 우편번호]]></value>
|
||||
</item>
|
||||
<item name="cmd_krzip_postcodify">
|
||||
<value xml:lang="ko"><![CDATA[Postcodify]]></value>
|
||||
</item>
|
||||
<item name="cmd_krzip_regkey">
|
||||
<value xml:lang="ko"><![CDATA[등록키]]></value>
|
||||
</item>
|
||||
<item name="cmd_krzip_postcode">
|
||||
<value xml:lang="ko"><![CDATA[우편번호]]></value>
|
||||
</item>
|
||||
<item name="cmd_krzip_address">
|
||||
<value xml:lang="ko"><![CDATA[주소]]></value>
|
||||
</item>
|
||||
<item name="cmd_krzip_detail_address">
|
||||
<value xml:lang="ko"><![CDATA[상세 주소]]></value>
|
||||
</item>
|
||||
<item name="about_krzip">
|
||||
<value xml:lang="ko"><![CDATA[공개 API를 이용해 우편번호 검색 서비스를 이용합니다.]]></value>
|
||||
</item>
|
||||
<item name="about_krzip_api_handler">
|
||||
<value xml:lang="ko"><![CDATA[우편번호 검색을 어떤 API를 통해 할 것인지 결정합니다.]]></value>
|
||||
</item>
|
||||
<item name="about_krzip_epostapi_regkey">
|
||||
<value xml:lang="ko"><![CDATA[우체국 우편번호 API를 이용하기 위해 인터넷 우체국에서 발급 받은 등록키를 입력합니다.]]></value>
|
||||
</item>
|
||||
<item name="msg_krzip_road_address_expectation">
|
||||
<value xml:lang="ko"><![CDATA[예상 도로명 주소: %s]]></value>
|
||||
</item>
|
||||
<item name="msg_krzip_jibun_address_expectation">
|
||||
<value xml:lang="ko"><![CDATA[예상 지번 주소: %s]]></value>
|
||||
</item>
|
||||
<item name="msg_krzip_no_query">
|
||||
<value xml:lang="ko"><![CDATA[검색할 주소가 없습니다.]]></value>
|
||||
</item>
|
||||
<item name="msg_krzip_is_maintenance">
|
||||
<value xml:lang="ko"><![CDATA[점검 중입니다.]]></value>
|
||||
</item>
|
||||
<item name="msg_krzip_wrong_regkey">
|
||||
<value xml:lang="ko"><![CDATA[잘못된 등록키입니다.]]></value>
|
||||
</item>
|
||||
<item name="msg_krzip_no_result">
|
||||
<value xml:lang="ko"><![CDATA[검색된 주소가 없습니다.]]></value>
|
||||
</item>
|
||||
<item name="msg_krzip_riddling_wrong">
|
||||
<value xml:lang="ko"><![CDATA[알 수 없는 오류입니다.]]></value>
|
||||
</item>
|
||||
</lang>
|
||||
6
modules/krzip/ruleset/krzipConfig.xml
Normal file
6
modules/krzip/ruleset/krzipConfig.xml
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ruleset version="1.5.0">
|
||||
<fields>
|
||||
<field name="api_handler" required="true" />
|
||||
</fields>
|
||||
</ruleset>
|
||||
51
modules/krzip/tpl/config.html
Normal file
51
modules/krzip/tpl/config.html
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
<!--// HEADER -->
|
||||
<load target="./js/admin.js" />
|
||||
|
||||
<div class="x_page-header">
|
||||
<h1>
|
||||
{$lang->krzip}
|
||||
<a href="#descModule" class="x_icon-question-sign" data-toggle="#descModule">{$lang->help}</a>
|
||||
</h1>
|
||||
</div>
|
||||
|
||||
<p id="descModule" class="x_alert x_alert-info" hidden="hidden">{$lang->about_krzip}</p>
|
||||
|
||||
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/krzip/tpl/config/1'" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
|
||||
<!--// BODY -->
|
||||
<section class="section">
|
||||
<form ruleset="krzipConfig" class="x_form-horizontal" action="{getUrl('')}" method="post">
|
||||
<input type="hidden" name="module" value="krzip" />
|
||||
<input type="hidden" name="act" value="procKrzipAdminInsertConfig" />
|
||||
<input type="hidden" name="success_return_url" value="{getRequestUriByServerEnviroment()}" />
|
||||
<input type="hidden" name="xe_validator_id" value="modules/krzip/tpl/config/1" />
|
||||
<section class="section">
|
||||
<h1>{$lang->subtitle_primary}</h1>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="api_handler">{$lang->cmd_krzip_api_type}</label>
|
||||
<div class="x_controls">
|
||||
<select name="api_handler" id="api_handler">
|
||||
<option value="0">{$lang->cmd_krzip_daumapi}</option>
|
||||
<option value="1" selected="selected"|cond="$module_config->api_handler == 1">{$lang->cmd_krzip_epostapi}</option>
|
||||
<option value="2" selected="selected"|cond="$module_config->api_handler == 2">{$lang->cmd_krzip_postcodify}</option>
|
||||
</select>
|
||||
<a href="#about_api_handler" class="x_icon-question-sign" data-toggle="#about_api_handler">{$lang->help}</a>
|
||||
<p id="about_api_handler" class="x_help-block" hidden="hidden">{$lang->about_krzip_api_handler}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="epostapi_regkey">{$lang->cmd_krzip_regkey}</label>
|
||||
<div class="x_controls">
|
||||
<input type="text" name="epostapi_regkey" id="epostapi_regkey" value="{htmlspecialchars($module_config->epostapi_regkey, ENT_COMPAT | ENT_HTML401, 'UTF-8', FALSE)}" disabled="disabled"|cond="$module_config->api_handler != 1" />
|
||||
<a href="#about_epostapi_regkey" class="x_icon-question-sign" data-toggle="#about_epostapi_regkey">{$lang->help}</a>
|
||||
<p id="about_epostapi_regkey" class="x_help-block" hidden="hidden">{$lang->about_krzip_epostapi_regkey}</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<div class="btnArea">
|
||||
<button type="submit" class="x_btn x_btn-primary x_pull-right">{$lang->cmd_registration}</button>
|
||||
</div>
|
||||
</form>
|
||||
</section>
|
||||
27
modules/krzip/tpl/css/default.css
Normal file
27
modules/krzip/tpl/css/default.css
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
@charset "UTF-8";
|
||||
/* Copyright (C) NAVER <http://www.navercorp.com> */
|
||||
|
||||
.krZip label {
|
||||
min-width: 70px;
|
||||
}
|
||||
.krZip .krzip-postcode,
|
||||
.krZip .krzip-roadAddress,
|
||||
.krZip .krzip-jibunAddress,
|
||||
.krZip .krzip-extraAddress,
|
||||
.krZip .krzip-detailAddress {
|
||||
min-width: 20%;
|
||||
height: 24px;
|
||||
line-height: 24px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 1px solid #CCC;
|
||||
}
|
||||
.krZip .krzip-guide {
|
||||
display: none;
|
||||
height: 24px;
|
||||
line-height: 24px;
|
||||
color: #888;
|
||||
}
|
||||
|
||||
/* End of file default.css */
|
||||
/* Location: ./modules/krzip/tpl/css/default.css */
|
||||
86
modules/krzip/tpl/css/popup.css
Normal file
86
modules/krzip/tpl/css/popup.css
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
@charset "UTF-8";
|
||||
/* Copyright (C) NAVER <http://www.navercorp.com> */
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
background: #EEE;
|
||||
}
|
||||
.x .krZip .krzip-search-wrap,
|
||||
.krZip .krzip-search-wrap {
|
||||
position: relative;
|
||||
height: 45px;
|
||||
line-height: 45px;
|
||||
border-bottom: 1px solid #DDD;
|
||||
background: #FFF;
|
||||
}
|
||||
.x .krZip .krzip-input-wrap,
|
||||
.krZip .krzip-input-wrap {
|
||||
margin: 0 70px 0 10px;
|
||||
}
|
||||
.x .krZip .krzip-input,
|
||||
.krZip .krzip-input {
|
||||
width: 100%;
|
||||
height: 45px;
|
||||
line-height: 45px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
outline: 0;
|
||||
font-size: 20px;
|
||||
background: none;
|
||||
box-shadow: none;
|
||||
-moz-border-radius: 0;
|
||||
-webkit-border-radius: 0;
|
||||
border-radius: 0;
|
||||
-moz-transition: none;
|
||||
-o-transition: none;
|
||||
-webkit-transition: none;
|
||||
transition: none;
|
||||
}
|
||||
.x .krZip .krzip-input:focus,
|
||||
.krZip .krzip-input:focus {
|
||||
outline: 0;
|
||||
box-shadow: none;
|
||||
}
|
||||
.x .krZip .krzip-search,
|
||||
.krZip .krzip-search {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 10px;
|
||||
width: 50px;
|
||||
height: 45px;
|
||||
line-height: 45px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
outline: 0;
|
||||
background: url(../img/search.png) center center no-repeat;
|
||||
}
|
||||
.x .krZip .krzip-addressList,
|
||||
.krZip .krzip-addressList {
|
||||
overflow: auto;
|
||||
height: 300px;
|
||||
margin: 10px;
|
||||
border: 1px solid #DDD;
|
||||
background: #FFF;
|
||||
list-style: none;
|
||||
-moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
|
||||
-webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
|
||||
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
.x .krZip .krzip-addressList li,
|
||||
.krZip .krzip-addressList li {
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
padding: 0 10px;
|
||||
border-bottom: 1px solid #DDD;
|
||||
}
|
||||
.x .krZip .krzip-addressList li:hover,
|
||||
.krZip .krzip-addressList li:hover {
|
||||
cursor: pointer;
|
||||
text-decoration: underline;
|
||||
background: #F8F8F8;
|
||||
}
|
||||
|
||||
/* End of file popup.css */
|
||||
/* Location: ./modules/krzip/tpl/css/popup.css */
|
||||
BIN
modules/krzip/tpl/img/search.png
Normal file
BIN
modules/krzip/tpl/img/search.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.1 KiB |
11
modules/krzip/tpl/js/admin.js
Normal file
11
modules/krzip/tpl/js/admin.js
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
/* Copyright (C) NAVER <http://www.navercorp.com> */
|
||||
|
||||
jQuery(function ($) {
|
||||
$("#api_handler").on("change", function (e) {
|
||||
var prop = $(this).val() != 1;
|
||||
$("#epostapi_regkey").prop("disabled", prop);
|
||||
});
|
||||
});
|
||||
|
||||
/* End of file admin.js */
|
||||
/* Location: ./modules/krzip/tpl/js/admin.js */
|
||||
107
modules/krzip/tpl/js/daumapi.js
Normal file
107
modules/krzip/tpl/js/daumapi.js
Normal file
|
|
@ -0,0 +1,107 @@
|
|||
/* Copyright (C) NAVER <http://www.navercorp.com> */
|
||||
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.Krzip = function () {
|
||||
var $this = $(this);
|
||||
|
||||
var values = {
|
||||
postcode : $this.find(".krzip-hidden-postcode"),
|
||||
roadAddress : $this.find(".krzip-hidden-roadAddress"),
|
||||
jibunAddress : $this.find(".krzip-hidden-jibunAddress"),
|
||||
detailAddress : $this.find(".krzip-hidden-detailAddress"),
|
||||
extraAddress : $this.find(".krzip-hidden-extraAddress")
|
||||
};
|
||||
|
||||
var ui = {
|
||||
postcode : $this.find(".krzip-postcode"),
|
||||
roadAddress : $this.find(".krzip-roadAddress"),
|
||||
jibunAddress : $this.find(".krzip-jibunAddress"),
|
||||
detailAddress : $this.find(".krzip-detailAddress"),
|
||||
extraAddress : $this.find(".krzip-extraAddress"),
|
||||
search : $this.find(".krzip-search"),
|
||||
guide : $this.find(".krzip-guide")
|
||||
};
|
||||
|
||||
var krzip = new daum.Postcode({
|
||||
oncomplete: function (response) {
|
||||
var fullAddr = "", extraAddr = "";
|
||||
|
||||
/* 도로명 주소를 선택했을 경우 */
|
||||
if(response.userSelectedType === "R") {
|
||||
fullAddr = response.roadAddress;
|
||||
/* 법정동명이 있을 경우 */
|
||||
if(response.bname !== "") {
|
||||
extraAddr += response.bname;
|
||||
}
|
||||
/* 건물명이 있을 경우 */
|
||||
if(response.buildingName !== "") {
|
||||
extraAddr += (extraAddr !== "" ? ", " + response.buildingName : response.buildingName);
|
||||
}
|
||||
if(extraAddr) {
|
||||
extraAddr = "(" + extraAddr + ")";
|
||||
}
|
||||
}
|
||||
/* 지번 주소를 선택했을 경우 */
|
||||
else {
|
||||
fullAddr = response.jibunAddress;
|
||||
}
|
||||
|
||||
/* 우편번호 저장 */
|
||||
ui.postcode.val(response.zonecode).trigger("change");
|
||||
|
||||
/* 도로명 주소 저장 */
|
||||
var roadAddr = (response.userSelectedType === "R" ? fullAddr : response.roadAddress);
|
||||
ui.roadAddress.val(roadAddr).trigger("change");
|
||||
|
||||
/* 지번 주소 저장 */
|
||||
var jibunAddr = (response.userSelectedType === "R" ? response.jibunAddress : fullAddr);
|
||||
ui.jibunAddress.val(jibunAddr ? "(" + jibunAddr + ")" : jibunAddr).trigger("change");
|
||||
|
||||
/* 부가 주소 저장 */
|
||||
ui.extraAddress.val(extraAddr).trigger("change");
|
||||
|
||||
/* 예상 주소 저장 */
|
||||
ui.guide.hide().html("");
|
||||
if(response.autoRoadAddress) {
|
||||
var expRoadAddr = (response.autoRoadAddress + extraRoadAddr);
|
||||
ui.guide
|
||||
.html("(" + xe.lang.msg_krzip_road_address_expectation.replace("%s", expRoadAddr) + ")")
|
||||
.show();
|
||||
}
|
||||
else if(response.autoJibunAddress) {
|
||||
var expJibunAddr = response.autoJibunAddress;
|
||||
ui.guide
|
||||
.html("(" + xe.lang.msg_krzip_jibun_address_expectation.replace("%s", expJibunAddr) + ")")
|
||||
.show();
|
||||
}
|
||||
|
||||
/* 상세 주소로 커서 이동 */
|
||||
ui.detailAddress.trigger("focus");
|
||||
}
|
||||
});
|
||||
|
||||
/* 상세 주소 저장 이벤트 등록 */
|
||||
var i, val, key = ["postcode", "roadAddress", "jibunAddress", "detailAddress", "extraAddress"];
|
||||
for(i = 0; i < key.length; i++) {
|
||||
val = key[i];
|
||||
ui[val].data("linked", val).on("change", function (e) {
|
||||
var $this = $(this);
|
||||
values[$this.data("linked")].val($this.val());
|
||||
});
|
||||
}
|
||||
|
||||
/* 검색 이벤트 등록 */
|
||||
key = ["postcode", "roadAddress", "jibunAddress", "extraAddress", "search"];
|
||||
for(i = 0; i < key.length; i++) {
|
||||
val = key[i];
|
||||
ui[val].on("click", function (e) {
|
||||
krzip.open();
|
||||
});
|
||||
}
|
||||
};
|
||||
})(jQuery);
|
||||
|
||||
/* End of file daumapi.js */
|
||||
/* Location: ./modules/krzip/tpl/js/daumapi.js */
|
||||
73
modules/krzip/tpl/js/epostapi.js
Normal file
73
modules/krzip/tpl/js/epostapi.js
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
/* Copyright (C) NAVER <http://www.navercorp.com> */
|
||||
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.Krzip = function (order, data) {
|
||||
var $this = $(this);
|
||||
|
||||
var values = {
|
||||
postcode : $this.find(".krzip-hidden-postcode"),
|
||||
roadAddress : $this.find(".krzip-hidden-roadAddress"),
|
||||
jibunAddress : $this.find(".krzip-hidden-jibunAddress"),
|
||||
detailAddress : $this.find(".krzip-hidden-detailAddress"),
|
||||
extraAddress : $this.find(".krzip-hidden-extraAddress")
|
||||
};
|
||||
|
||||
var ui = {
|
||||
postcode : $this.find(".krzip-postcode"),
|
||||
roadAddress : $this.find(".krzip-roadAddress"),
|
||||
jibunAddress : $this.find(".krzip-jibunAddress"),
|
||||
detailAddress : $this.find(".krzip-detailAddress"),
|
||||
extraAddress : $this.find(".krzip-extraAddress"),
|
||||
search : $this.find(".krzip-search")
|
||||
};
|
||||
|
||||
var krzip = $this.data("krzip");
|
||||
if(!krzip) {
|
||||
krzip = {
|
||||
open: function (query) {
|
||||
var request_url = "./"
|
||||
.setQuery("module", "krzip")
|
||||
.setQuery("act", "dispKrzipSearchForm")
|
||||
.setQuery("query", query);
|
||||
popopen(request_url, $this.selector);
|
||||
}
|
||||
};
|
||||
|
||||
/* 상세 주소 저장 이벤트 등록 */
|
||||
var i, val, key = ["postcode", "roadAddress", "jibunAddress", "detailAddress", "extraAddress"];
|
||||
for(i = 0; i < key.length; i++) {
|
||||
val = key[i];
|
||||
ui[val].data("linked", val).on("change", function (e) {
|
||||
var $this = $(this);
|
||||
values[$this.data("linked")].val($this.val());
|
||||
});
|
||||
}
|
||||
|
||||
/* 검색 이벤트 등록 */
|
||||
key = ["postcode", "roadAddress", "jibunAddress", "extraAddress", "search"];
|
||||
for(i = 0; i < key.length; i++) {
|
||||
val = key[i];
|
||||
ui[val].on("click", function (e) {
|
||||
var query = krzip.query;
|
||||
krzip.open(query);
|
||||
});
|
||||
}
|
||||
}
|
||||
else if(order === "query" && data) {
|
||||
krzip.query = data.query;
|
||||
ui.postcode.val(data[0]).trigger("change");
|
||||
ui.roadAddress.val(data[1]).trigger("change");
|
||||
ui.jibunAddress.val(data[2]).trigger("change");
|
||||
ui.extraAddress.val(data[4]).trigger("change");
|
||||
ui.detailAddress.trigger("focus");
|
||||
}
|
||||
|
||||
/* 인스턴스 저장 */
|
||||
$this.data("krzip", krzip);
|
||||
};
|
||||
})(jQuery);
|
||||
|
||||
/* End of file epostapi.js */
|
||||
/* Location: ./modules/krzip/tpl/js/epostapi.js */
|
||||
48
modules/krzip/tpl/js/epostapi.search.js
Normal file
48
modules/krzip/tpl/js/epostapi.search.js
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
/* Copyright (C) NAVER <http://www.navercorp.com> */
|
||||
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.Krzip = function () {
|
||||
var $this = $(this);
|
||||
|
||||
var ui = {
|
||||
input : $this.find(".krzip-input"),
|
||||
search : $this.find(".krzip-search"),
|
||||
addressList : $this.find(".krzip-addressList")
|
||||
};
|
||||
|
||||
/* 자식 요소 이벤트 등록 */
|
||||
ui.search.on("click", function (e) {
|
||||
exec_json(
|
||||
"krzip.getKrzipCodeList",
|
||||
{query: ui.input.val()},
|
||||
function (response) {
|
||||
var address_list = response.address_list;
|
||||
$this.data("address_list", address_list);
|
||||
for(var i = 0; i < address_list.length; i++) {
|
||||
var val = address_list[i];
|
||||
var $li = $("<li>").data("index", i).html(val.join(" "));
|
||||
ui.addressList.html("").append($li);
|
||||
}
|
||||
},
|
||||
function (response) {
|
||||
$this.data("address_list", "");
|
||||
ui.addressList.html("");
|
||||
}
|
||||
);
|
||||
});
|
||||
ui.addressList.on("click", "li", function (e) {
|
||||
var address_list = $this.data("address_list"),
|
||||
address = address_list[$(this).data("index")];
|
||||
opener.jQuery(window.name).Krzip("query", address);
|
||||
window.close();
|
||||
});
|
||||
ui.input.on("keydown", function (e) {
|
||||
(e.keyCode == 13 && ui.search.trigger("click"));
|
||||
});
|
||||
};
|
||||
})(jQuery);
|
||||
|
||||
/* End of file epostapi.search.js */
|
||||
/* Location: ./modules/krzip/tpl/js/epostapi.search.js */
|
||||
55
modules/krzip/tpl/js/postcodify.js
Normal file
55
modules/krzip/tpl/js/postcodify.js
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
/* Copyright (C) NAVER <http://www.navercorp.com> */
|
||||
|
||||
(function ($) {
|
||||
"use strict";
|
||||
|
||||
$.fn.Krzip = function () {
|
||||
var $this = $(this);
|
||||
|
||||
var values = {
|
||||
postcode : $this.find(".krzip-hidden-postcode"),
|
||||
roadAddress : $this.find(".krzip-hidden-roadAddress"),
|
||||
jibunAddress : $this.find(".krzip-hidden-jibunAddress"),
|
||||
detailAddress : $this.find(".krzip-hidden-detailAddress"),
|
||||
extraAddress : $this.find(".krzip-hidden-extraAddress")
|
||||
};
|
||||
|
||||
var ui = {
|
||||
postcode : $this.find(".krzip-postcode"),
|
||||
roadAddress : $this.find(".krzip-roadAddress"),
|
||||
jibunAddress : $this.find(".krzip-jibunAddress"),
|
||||
detailAddress : $this.find(".krzip-detailAddress"),
|
||||
extraAddress : $this.find(".krzip-extraAddress"),
|
||||
search : $this.find(".krzip-search"),
|
||||
guide : $this.find(".krzip-guide")
|
||||
};
|
||||
|
||||
values.postcode.addClass("postcodify_postcode5");
|
||||
values.roadAddress.addClass("postcodify_address");
|
||||
values.jibunAddress.addClass("postcodify_jibeon_address");
|
||||
values.detailAddress.addClass("postcodify_details");
|
||||
values.extraAddress.addClass("postcodify_extra_info");
|
||||
|
||||
ui.postcode.addClass("postcodify_postcode5");
|
||||
ui.roadAddress.addClass("postcodify_address");
|
||||
ui.jibunAddress.addClass("postcodify_jibeon_address");
|
||||
ui.detailAddress.addClass("postcodify_details");
|
||||
ui.extraAddress.addClass("postcodify_extra_info");
|
||||
|
||||
ui.search.postcodifyPopUp({
|
||||
inputParent : $this,
|
||||
useFullJibeon : false,
|
||||
requireExactQuery : false,
|
||||
onSelect : function () {
|
||||
var jibun = ui.jibunAddress.val();
|
||||
if(jibun) {
|
||||
values.jibunAddress.val("(" + jibun + ")");
|
||||
ui.jibunAddress.val("(" + jibun + ")");
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
})(jQuery);
|
||||
|
||||
/* End of file postcodify.js */
|
||||
/* Location: ./modules/krzip/tpl/js/postcodify.js */
|
||||
24
modules/krzip/tpl/searchForm.epostapi.html
Normal file
24
modules/krzip/tpl/searchForm.epostapi.html
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
<!--// 우체국 우편번호 API -->
|
||||
<!--// HEADER -->
|
||||
<load target="" />
|
||||
<load target="./css/popup.css" index="100000" />
|
||||
<load target="./js/epostapi.search.js" />
|
||||
|
||||
<!--// BODY -->
|
||||
<div class="krZip" id="krzip-{$template_config->sequence_id}">
|
||||
<div class="krzip-search-wrap">
|
||||
<div class="krzip-input-wrap">
|
||||
<input type="text" class="krzip-input" placeholder="{$lang->cmd_search}" />
|
||||
</div>
|
||||
<input type="button" class="krzip-search" />
|
||||
</div>
|
||||
<ul class="krzip-addressList">
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<!--// FOOTER -->
|
||||
<script>
|
||||
//<![CDATA[
|
||||
jQuery("#krzip-{$template_config->sequence_id}").Krzip();
|
||||
//]]>
|
||||
</script>
|
||||
41
modules/krzip/tpl/template.daumapi.html
Normal file
41
modules/krzip/tpl/template.daumapi.html
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
<!--// 다음 우편번호 API -->
|
||||
<!--// HEADER -->
|
||||
{@$is_https = strtoupper(parse_url($current_url, 0)) == 'HTTPS'}
|
||||
<load target="./css/default.css" />
|
||||
<load target="http://dmaps.daum.net/map_js_init/postcode.v2.js" cond="!$is_https" />
|
||||
<load target="https://spi.maps.daum.net/imap/map_js_init/postcode.v2.js" cond="$is_https" />
|
||||
<load target="./js/daumapi.js" />
|
||||
|
||||
<!--// BODY -->
|
||||
<div class="krZip" id="krzip-{$template_config->sequence_id}">
|
||||
<input type="hidden" name="{$template_config->column_name}[]" class="krzip-hidden-postcode" value="{$template_config->values[0]}" />
|
||||
<input type="hidden" name="{$template_config->column_name}[]" class="krzip-hidden-roadAddress" value="{$template_config->values[1]}" />
|
||||
<input type="hidden" name="{$template_config->column_name}[]" class="krzip-hidden-jibunAddress" value="{$template_config->values[2]}" />
|
||||
<input type="hidden" name="{$template_config->column_name}[]" class="krzip-hidden-detailAddress" value="{$template_config->values[3]}" />
|
||||
<input type="hidden" name="{$template_config->column_name}[]" class="krzip-hidden-extraAddress" value="{$template_config->values[4]}" />
|
||||
<div class="krzip-postcode-wrap">
|
||||
<label>{$lang->cmd_krzip_postcode}</label>
|
||||
<input type="text" class="krzip-postcode" value="{$template_config->values[0]}" disabled="disabled" />
|
||||
<input type="button" class="krzip-search btn" value="{$lang->cmd_search}" />
|
||||
</div>
|
||||
<div class="krzip-address-wrap">
|
||||
<label>{$lang->cmd_krzip_address}</label>
|
||||
<input type="text" class="krzip-roadAddress" value="{$template_config->values[1]}" disabled="disabled" />
|
||||
<input type="text" class="krzip-jibunAddress" value="{$template_config->values[2]}" disabled="disabled" />
|
||||
<input type="text" class="krzip-extraAddress" value="{$template_config->values[4]}" disabled="disabled" />
|
||||
</div>
|
||||
<div class="krzip-detailAddress-wrap">
|
||||
<label>{$lang->cmd_krzip_detail_address}</label>
|
||||
<input type="text" class="krzip-detailAddress" value="{$template_config->values[3]}" />
|
||||
</div>
|
||||
<div class="krzip-guide"></div>
|
||||
</div>
|
||||
|
||||
<!--// FOOTER -->
|
||||
<script>
|
||||
//<![CDATA[
|
||||
xe.lang.msg_krzip_road_address_expectation = "{$lang->msg_krzip_road_address_expectation}";
|
||||
xe.lang.msg_krzip_jibun_address_expectation = "{$lang->msg_krzip_jibun_address_expectation}";
|
||||
jQuery("#krzip-{$template_config->sequence_id}").Krzip();
|
||||
//]]>
|
||||
</script>
|
||||
35
modules/krzip/tpl/template.epostapi.html
Normal file
35
modules/krzip/tpl/template.epostapi.html
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
<!--// 우체국 우편번호 API -->
|
||||
<!--// HEADER -->
|
||||
<load target="./css/default.css" />
|
||||
<load target="./js/epostapi.js" />
|
||||
|
||||
<!--// BODY -->
|
||||
<div class="krZip" id="krzip-{$template_config->sequence_id}">
|
||||
<input type="hidden" name="{$template_config->column_name}[]" class="krzip-hidden-postcode" value="{$template_config->values[0]}" />
|
||||
<input type="hidden" name="{$template_config->column_name}[]" class="krzip-hidden-roadAddress" value="{$template_config->values[1]}" />
|
||||
<input type="hidden" name="{$template_config->column_name}[]" class="krzip-hidden-jibunAddress" value="{$template_config->values[2]}" />
|
||||
<input type="hidden" name="{$template_config->column_name}[]" class="krzip-hidden-detailAddress" value="{$template_config->values[3]}" />
|
||||
<input type="hidden" name="{$template_config->column_name}[]" class="krzip-hidden-extraAddress" value="{$template_config->values[4]}" />
|
||||
<div class="krzip-postcode-wrap">
|
||||
<label>{$lang->cmd_krzip_postcode}</label>
|
||||
<input type="text" class="krzip-postcode" value="{$template_config->values[0]}" disabled="disabled" />
|
||||
<input type="button" class="krzip-search btn" value="{$lang->cmd_search}" />
|
||||
</div>
|
||||
<div class="krzip-address-wrap">
|
||||
<label>{$lang->cmd_krzip_address}</label>
|
||||
<input type="text" class="krzip-roadAddress" value="{$template_config->values[1]}" disabled="disabled" />
|
||||
<input type="text" class="krzip-jibunAddress" value="{$template_config->values[2]}" disabled="disabled" />
|
||||
<input type="text" class="krzip-extraAddress" value="{$template_config->values[4]}" disabled="disabled" />
|
||||
</div>
|
||||
<div class="krzip-detailAddress-wrap">
|
||||
<label>{$lang->cmd_krzip_detail_address}</label>
|
||||
<input type="text" class="krzip-detailAddress" value="{$template_config->values[3]}" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--// FOOTER -->
|
||||
<script>
|
||||
//<![CDATA[
|
||||
jQuery("#krzip-{$template_config->sequence_id}").Krzip();
|
||||
//]]>
|
||||
</script>
|
||||
36
modules/krzip/tpl/template.postcodify.html
Normal file
36
modules/krzip/tpl/template.postcodify.html
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
<!--// Postcodify 우편번호 API -->
|
||||
<!--// HEADER -->
|
||||
<load target="./css/default.css" />
|
||||
<load target="https://cdn.poesis.kr/post/search.min.js" />
|
||||
<load target="./js/postcodify.js" />
|
||||
|
||||
<!--// BODY -->
|
||||
<div class="krZip" id="krzip-{$template_config->sequence_id}">
|
||||
<input type="hidden" name="{$template_config->column_name}[]" class="krzip-hidden-postcode" value="{$template_config->values[0]}" />
|
||||
<input type="hidden" name="{$template_config->column_name}[]" class="krzip-hidden-roadAddress" value="{$template_config->values[1]}" />
|
||||
<input type="hidden" name="{$template_config->column_name}[]" class="krzip-hidden-jibunAddress" value="{$template_config->values[2]}" />
|
||||
<input type="hidden" name="{$template_config->column_name}[]" class="krzip-hidden-detailAddress" value="{$template_config->values[3]}" />
|
||||
<input type="hidden" name="{$template_config->column_name}[]" class="krzip-hidden-extraAddress" value="{$template_config->values[4]}" />
|
||||
<div class="krzip-postcode-wrap">
|
||||
<label>{$lang->cmd_krzip_postcode}</label>
|
||||
<input type="text" class="krzip-postcode" value="{$template_config->values[0]}" disabled="disabled" />
|
||||
<input type="button" class="krzip-search btn" value="{$lang->cmd_search}" />
|
||||
</div>
|
||||
<div class="krzip-address-wrap">
|
||||
<label>{$lang->cmd_krzip_address}</label>
|
||||
<input type="text" class="krzip-roadAddress" value="{$template_config->values[1]}" disabled="disabled" />
|
||||
<input type="text" class="krzip-jibunAddress" value="{$template_config->values[2]}" disabled="disabled" />
|
||||
<input type="text" class="krzip-extraAddress" value="{$template_config->values[4]}" disabled="disabled" />
|
||||
</div>
|
||||
<div class="krzip-detailAddress-wrap">
|
||||
<label>{$lang->cmd_krzip_detail_address}</label>
|
||||
<input type="text" class="krzip-detailAddress" value="{$template_config->values[3]}" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--// FOOTER -->
|
||||
<script>
|
||||
//<![CDATA[
|
||||
jQuery("#krzip-{$template_config->sequence_id}").Krzip();
|
||||
//]]>
|
||||
</script>
|
||||
|
|
@ -93,19 +93,16 @@ class member extends ModuleObject {
|
|||
|
||||
if(!$config->signupForm || !is_array($config->signupForm))
|
||||
{
|
||||
$identifier = $isNotInstall ? 'email_address' : 'user_id';
|
||||
|
||||
$identifier = 'user_id';
|
||||
$config->signupForm = $oMemberAdminController->createSignupForm($identifier);
|
||||
$config->identifier = $identifier;
|
||||
|
||||
|
||||
// Create Ruleset File
|
||||
FileHandler::makeDir('./files/ruleset');
|
||||
$oMemberAdminController->_createSignupRuleset($config->signupForm);
|
||||
$oMemberAdminController->_createLoginRuleset($config->identifier);
|
||||
$oMemberAdminController->_createFindAccountByQuestion($config->identifier);
|
||||
}
|
||||
|
||||
$oModuleController->insertModuleConfig('member',$config);
|
||||
|
||||
$groups = $oMemberModel->getGroups();
|
||||
|
|
|
|||
|
|
@ -1988,7 +1988,7 @@ class memberController extends member
|
|||
}
|
||||
|
||||
// Check if ID is prohibited
|
||||
if($oMemberModel->isDeniedID($args->user_id))
|
||||
if($logged_info->is_admin !== 'Y' && $oMemberModel->isDeniedID($args->user_id))
|
||||
{
|
||||
return new Object(-1,'denied_user_id');
|
||||
}
|
||||
|
|
@ -2001,7 +2001,7 @@ class memberController extends member
|
|||
}
|
||||
|
||||
// Check if nickname is prohibited
|
||||
if($oMemberModel->isDeniedNickName($args->nick_name))
|
||||
if($logged_info->is_admin !== 'Y' && $oMemberModel->isDeniedNickName($args->nick_name))
|
||||
{
|
||||
return new Object(-1,'denied_nick_name');
|
||||
}
|
||||
|
|
@ -2014,7 +2014,7 @@ class memberController extends member
|
|||
}
|
||||
|
||||
// Check managed Email Host
|
||||
if($oMemberModel->isDeniedEmailHost($args->email_address))
|
||||
if($logged_info->is_admin !== 'Y' && $oMemberModel->isDeniedEmailHost($args->email_address))
|
||||
{
|
||||
$config = $oMemberModel->getMemberConfig();
|
||||
$emailhost_check = $config->emailhost_check;
|
||||
|
|
@ -2175,7 +2175,7 @@ class memberController extends member
|
|||
$orgMemberInfo = $output->data;
|
||||
|
||||
// Check managed Email Host
|
||||
if($oMemberModel->isDeniedEmailHost($args->email_address))
|
||||
if($logged_info->is_admin !== 'Y' && $oMemberModel->isDeniedEmailHost($args->email_address))
|
||||
{
|
||||
$config = $oMemberModel->getMemberConfig();
|
||||
$emailhost_check = $config->emailhost_check;
|
||||
|
|
@ -2212,7 +2212,7 @@ class memberController extends member
|
|||
}
|
||||
|
||||
// Check if ID is prohibited
|
||||
if($args->user_id && $oMemberModel->isDeniedID($args->user_id))
|
||||
if($logged_info->is_admin !== 'Y' && $args->user_id && $oMemberModel->isDeniedID($args->user_id))
|
||||
{
|
||||
return new Object(-1,'denied_user_id');
|
||||
}
|
||||
|
|
@ -2228,7 +2228,7 @@ class memberController extends member
|
|||
}
|
||||
|
||||
// Check if nickname is prohibited
|
||||
if($args->nick_name && $oMemberModel->isDeniedNickName($args->nick_name))
|
||||
if($logged_info->is_admin !== 'Y' && $args->nick_name && $oMemberModel->isDeniedNickName($args->nick_name))
|
||||
{
|
||||
return new Object(-1, 'denied_nick_name');
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
<title xml:lang="ru">Опрос</title>
|
||||
<title xml:lang="zh-TW">投票調查</title>
|
||||
<title xml:lang="tr">Oylama</title>
|
||||
<description xml:lang="ko">설문조사 관리</description>
|
||||
<description xml:lang="ko">설문조사 관리를 위한 모듈입니다.</description>
|
||||
<description xml:lang="zh-CN">管理投票调查的模块。</description>
|
||||
<description xml:lang="jp">アンケート管理モジュール</description>
|
||||
<description xml:lang="en">This module is for managering polls.</description>
|
||||
|
|
@ -18,8 +18,8 @@
|
|||
<description xml:lang="ru">Этот модуль служит для управления опросами.</description>
|
||||
<description xml:lang="zh-TW">管理投票調查的模組。</description>
|
||||
<description xml:lang="tr">Oylamaları düzenlemek için kullanılan modüldür.</description>
|
||||
<version>1.7</version>
|
||||
<date>2013-11-27</date>
|
||||
<version>2.0</version>
|
||||
<date>2015-06-09</date>
|
||||
<category>content</category>
|
||||
|
||||
<author email_address="developers@xpressengine.com" link="http://xpressengine.com/">
|
||||
|
|
@ -33,4 +33,4 @@
|
|||
<name xml:lang="zh-TW">NAVER</name>
|
||||
<name xml:lang="tr">NAVER</name>
|
||||
</author>
|
||||
</module>
|
||||
</module>
|
||||
|
|
@ -9,7 +9,12 @@
|
|||
<action name="getPollGetColorsetList" type="model" />
|
||||
<action name="getPollAdminTarget" type="model" />
|
||||
|
||||
<action name="getPollstatus" type="model" />
|
||||
<action name="getPollinfo" type="model" />
|
||||
<action name="getPollitemInfo" type="model" />
|
||||
<action name="procPollInsert" type="controller" />
|
||||
<action name="procPollInsertItem" type="controller" />
|
||||
<action name="procPollDeleteItem" type="controller" />
|
||||
<action name="procPoll" type="controller" ruleset="poll" />
|
||||
<action name="procPollViewResult" type="controller" />
|
||||
<action name="procPollGetList" type="controller" />
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue