Add curl, json, and openssl to list of required extensions

This commit is contained in:
Kijin Sung 2016-01-04 13:05:36 +09:00
parent ca9d10ac21
commit c763bf2a93
4 changed files with 147 additions and 78 deletions

View file

@ -14,12 +14,18 @@ if(!defined('__XE__'))
// define an empty function to avoid errors when iconv function doesn't exist // define an empty function to avoid errors when iconv function doesn't exist
if(!function_exists('iconv')) 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; return $str;
} }
'); }
} }
/** /**

View file

@ -340,7 +340,7 @@ class installController extends install
// Check each item // Check each item
$checklist = array(); $checklist = array();
// 0. Check PHP version // Check PHP version
$checklist['php_version'] = true; $checklist['php_version'] = true;
if(version_compare(PHP_VERSION, __XE_MIN_PHP_VERSION__, '<')) if(version_compare(PHP_VERSION, __XE_MIN_PHP_VERSION__, '<'))
{ {
@ -351,7 +351,17 @@ class installController extends install
Context::set('phpversion_warning', true); Context::set('phpversion_warning', true);
} }
// 1. Check permission // Check DB
if(DB::getEnableList())
{
$checklist['db_support'] = true;
}
else
{
$checklist['db_support'] = false;
}
// Check permission
if(is_writable('./')||is_writable('./files')) if(is_writable('./')||is_writable('./files'))
{ {
$checklist['permission'] = true; $checklist['permission'] = true;
@ -361,7 +371,7 @@ class installController extends install
$checklist['permission'] = false; $checklist['permission'] = false;
} }
// 2. Check if ini_get (session.auto_start) == 1 // Check session.auto_start
if(ini_get('session.auto_start') != 1) if(ini_get('session.auto_start') != 1)
{ {
$checklist['session'] = true; $checklist['session'] = true;
@ -371,27 +381,17 @@ class installController extends install
$checklist['session'] = false; $checklist['session'] = false;
} }
// 3. Check if xml_parser_create exists // Check curl
if(function_exists('xml_parser_create')) if(function_exists('curl_init'))
{ {
$checklist['xml'] = true; $checklist['curl'] = true;
} }
else else
{ {
$checklist['xml'] = false; $checklist['curl'] = false;
} }
// 4. Check if iconv exists // Check GD
if(function_exists('iconv'))
{
$checklist['iconv'] = true;
}
else
{
$checklist['iconv'] = false;
}
// 5. Check GD
if(function_exists('imagecreatefromgif')) if(function_exists('imagecreatefromgif'))
{ {
$checklist['gd'] = true; $checklist['gd'] = true;
@ -401,14 +401,44 @@ class installController extends install
$checklist['gd'] = false; $checklist['gd'] = false;
} }
// 6. Check DB // Check iconv or mbstring
if(DB::getEnableList()) if(function_exists('iconv') || function_exists('mb_convert_encoding'))
{ {
$checklist['db'] = true; $checklist['iconv'] = true;
} }
else else
{ {
$checklist['db'] = false; $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 // Enable install if all conditions are met

View file

@ -113,7 +113,7 @@
</item> </item>
<item name="install_checklist_title" type="array"> <item name="install_checklist_title" type="array">
<item name="php_version"> <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="en"><![CDATA[PHP Version]]></value>
<value xml:lang="jp"><![CDATA[PHPバージョン]]></value> <value xml:lang="jp"><![CDATA[PHPバージョン]]></value>
<value xml:lang="zh-CN"><![CDATA[PHP版本]]></value> <value xml:lang="zh-CN"><![CDATA[PHP版本]]></value>
@ -125,63 +125,93 @@
<value xml:lang="vi"><![CDATA[Phiên bản PHP]]></value> <value xml:lang="vi"><![CDATA[Phiên bản PHP]]></value>
</item> </item>
<item name="permission"> <item name="permission">
<value xml:lang="ko"><![CDATA[퍼미션]]></value> <value xml:lang="ko"><![CDATA[files 폴더 퍼미션]]></value>
<value xml:lang="en"><![CDATA[Permission]]></value> <value xml:lang="en"><![CDATA[files folder permissions]]></value>
<value xml:lang="jp"><![CDATA[パーミッション]]></value> <value xml:lang="jp"><![CDATA[filesフォルダのパーミッション]]></value>
<value xml:lang="zh-CN"><![CDATA[权限]]></value> <value xml:lang="zh-CN"><![CDATA[files文件夹权限]]></value>
<value xml:lang="zh-TW"><![CDATA[權限]]></value> <value xml:lang="zh-TW"><![CDATA[files文件夾權限]]></value>
<value xml:lang="fr"><![CDATA[Autorisation]]></value> <value xml:lang="fr"><![CDATA[Autorisations de dossier files]]></value>
<value xml:lang="ru"><![CDATA[Права доступа]]></value> <value xml:lang="ru"><![CDATA[права доступа к папке files]]></value>
<value xml:lang="es"><![CDATA[Atribución]]></value> <value xml:lang="es"><![CDATA[Permisos de carpeta files]]></value>
<value xml:lang="tr"><![CDATA[Yetki]]></value> <value xml:lang="tr"><![CDATA[files klasör izinleri]]></value>
<value xml:lang="vi"><![CDATA[Sự cho phép]]></value> <value xml:lang="vi"><![CDATA[Điều khoản thư mục files]]></value>
</item> </item>
<item name="xml"> <item name="xml">
<value xml:lang="ko"><![CDATA[XML 라이브러리]]></value> <value xml:lang="ko"><![CDATA[xml]]></value>
<value xml:lang="en"><![CDATA[XML Library]]></value> <value xml:lang="en"><![CDATA[xml]]></value>
<value xml:lang="jp"><![CDATA[XMLライブラリ]]></value> <value xml:lang="jp"><![CDATA[xml]]></value>
<value xml:lang="zh-CN"><![CDATA[XML库]]></value> <value xml:lang="zh-CN"><![CDATA[xml]]></value>
<value xml:lang="fr"><![CDATA[Bibliothèque de XML]]></value> <value xml:lang="fr"><![CDATA[xml]]></value>
<value xml:lang="ru"><![CDATA[XML библиотека]]></value> <value xml:lang="ru"><![CDATA[xml]]></value>
<value xml:lang="es"><![CDATA[Librería XML]]></value> <value xml:lang="es"><![CDATA[xml]]></value>
<value xml:lang="tr"><![CDATA[XML Kitaplığı]]></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>
<item name="iconv"> <item name="iconv">
<value xml:lang="ko"><![CDATA[ICONV 라이브러리]]></value> <value xml:lang="ko"><![CDATA[iconv / mbstring]]></value>
<value xml:lang="en"><![CDATA[ICONV Library]]></value> <value xml:lang="en"><![CDATA[iconv / mbstring]]></value>
<value xml:lang="jp"><![CDATA[ICONVライブラリ]]></value> <value xml:lang="jp"><![CDATA[iconv / mbstring]]></value>
<value xml:lang="zh-CN"><![CDATA[ICONV库]]></value> <value xml:lang="zh-CN"><![CDATA[iconv / mbstring]]></value>
<value xml:lang="fr"><![CDATA[Bibliothèque de ICONV]]></value> <value xml:lang="fr"><![CDATA[iconv / mbstring]]></value>
<value xml:lang="ru"><![CDATA[ICONV библиотека]]></value> <value xml:lang="ru"><![CDATA[iconv / mbstring]]></value>
<value xml:lang="es"><![CDATA[Librería ICONV]]></value> <value xml:lang="es"><![CDATA[iconv / mbstring]]></value>
<value xml:lang="tr"><![CDATA[ICONV Kitaplığı]]></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>
<item name="gd"> <item name="gd">
<value xml:lang="ko"><![CDATA[GD 라이브러리]]></value> <value xml:lang="ko"><![CDATA[gd]]></value>
<value xml:lang="en"><![CDATA[GD Library]]></value> <value xml:lang="en"><![CDATA[gd]]></value>
<value xml:lang="jp"><![CDATA[GDライブラリ]]></value> <value xml:lang="jp"><![CDATA[gd]]></value>
<value xml:lang="zh-CN"><![CDATA[GD库]]></value> <value xml:lang="zh-CN"><![CDATA[gd]]></value>
<value xml:lang="fr"><![CDATA[Bibliothèque de GD]]></value> <value xml:lang="fr"><![CDATA[gd]]></value>
<value xml:lang="ru"><![CDATA[GD библиотека]]></value> <value xml:lang="ru"><![CDATA[gd]]></value>
<value xml:lang="es"><![CDATA[Librería GD]]></value> <value xml:lang="es"><![CDATA[gd]]></value>
<value xml:lang="tr"><![CDATA[GD Kitaplığı]]></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>
<item name="session"> <item name="session">
<value xml:lang="ko"><![CDATA[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="en"><![CDATA[session.auto_start setting]]></value>
<value xml:lang="jp"><![CDATA[Session.auto_startの設定]]></value> <value xml:lang="jp"><![CDATA[session.auto_startの設定]]></value>
<value xml:lang="zh-CN"><![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="zh-TW"><![CDATA[session.auto_start設置]]></value>
<value xml:lang="fr"><![CDATA[Configuration de 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="ru"><![CDATA[session.auto_start настройка]]></value>
<value xml:lang="es"><![CDATA[Configuración 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="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="vi"><![CDATA[Thiết lập session.auto_start]]></value>
</item> </item>
<item name="db"> <item name="db_support">
<value xml:lang="ko"><![CDATA[DB]]></value> <value xml:lang="ko"><![CDATA[DB 지원]]></value>
<value xml:lang="en"><![CDATA[DB]]></value> <value xml:lang="en"><![CDATA[DB support]]></value>
<value xml:lang="jp"><![CDATA[DB]]></value> <value xml:lang="jp"><![CDATA[DBサポート]]></value>
</item> </item>
</item> </item>
<item name="install_checklist_desc" type="array"> <item name="install_checklist_desc" type="array">
@ -257,7 +287,7 @@
</item> </item>
</item> </item>
<item name="install_checklist_xml"> <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="en"><![CDATA[Install XML Library]]></value>
<value xml:lang="jp"><![CDATA[XMLライブラリのインストール]]></value> <value xml:lang="jp"><![CDATA[XMLライブラリのインストール]]></value>
<value xml:lang="zh-CN"><![CDATA[安装XML库]]></value> <value xml:lang="zh-CN"><![CDATA[安装XML库]]></value>
@ -269,7 +299,7 @@
<value xml:lang="vi"><![CDATA[Cài đặt XML Library]]></value> <value xml:lang="vi"><![CDATA[Cài đặt XML Library]]></value>
</item> </item>
<item name="install_without_xml"> <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="en"><![CDATA[XML Library is not installed]]></value>
<value xml:lang="jp"><![CDATA[XMLライブラリがインストールされていません。]]></value> <value xml:lang="jp"><![CDATA[XMLライブラリがインストールされていません。]]></value>
<value xml:lang="zh-CN"><![CDATA[还没有安装xml库]]></value> <value xml:lang="zh-CN"><![CDATA[还没有安装xml库]]></value>
@ -281,7 +311,7 @@
<value xml:lang="vi"><![CDATA[XML Library đã không được cài đặt.]]></value> <value xml:lang="vi"><![CDATA[XML Library đã không được cài đặt.]]></value>
</item> </item>
<item name="install_checklist_gd"> <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="en"><![CDATA[Install GD Library]]></value>
<value xml:lang="jp"><![CDATA[GDライブラリのインストール]]></value> <value xml:lang="jp"><![CDATA[GDライブラリのインストール]]></value>
<value xml:lang="zh-CN"><![CDATA[安装GD库]]></value> <value xml:lang="zh-CN"><![CDATA[安装GD库]]></value>

View file

@ -16,9 +16,12 @@
: :
<em cond="$val" class="ok">{$lang->enable} <block cond="$key == 'php_version'">({$phpversion})</block></em> <em cond="$val" class="ok">{$lang->enable} <block cond="$key == 'php_version'">({$phpversion})</block></em>
<em cond="!$val" class="error">{$lang->disable} <block cond="$key == 'php_version'">({$phpversion})</block></em> <em cond="!$val" class="error">{$lang->disable} <block cond="$key == 'php_version'">({$phpversion})</block></em>
<p cond="$key == 'php_version' && $phpversion_warning === true"> <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> {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> </p>
<p cond="$key !== 'php_version' && !$val && isset($lang->install_checklist_desc[$key])">
{$lang->install_checklist_desc[$key]}
</p>
</li> </li>
</ul> </ul>