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
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;
}
');
}
}
/**

View file

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

View file

@ -113,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>
@ -125,63 +125,93 @@
<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">
@ -257,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>
@ -269,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>
@ -281,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>

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="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>
</p>
<p cond="$key !== 'php_version' && !$val && isset($lang->install_checklist_desc[$key])">
{$lang->install_checklist_desc[$key]}
</p>
</li>
</ul>