Improve session detection in install module

- 세션 작동여부 확인과 session.auto_start 확인을 하나로 합침.
- 세션에 기록된 플래그와 license_agreement 파일에 기록된 시간을 비교하도록 하여
  예전에 기록된 플래그를 잘못 인식하지 않도록 함.
This commit is contained in:
Kijin Sung 2019-07-27 20:21:05 +09:00
parent 0d2fde9da0
commit b5720557e8
11 changed files with 25 additions and 46 deletions

View file

@ -296,7 +296,7 @@ class installController extends install
}
// Check permission
if(is_writable('./')||is_writable('./files'))
if(is_writable(RX_BASEDIR) || is_writable(RX_BASEDIR . 'files'))
{
$checklist['permission'] = true;
}
@ -306,24 +306,22 @@ class installController extends install
}
// Check session availability
if(isset($_SESSION['license_agreement']))
$license_agreement_time = intval(trim(FileHandler::readFile($this->flagLicenseAgreement)));
if(isset($_SESSION['license_agreement']) && (!$license_agreement_time || ($license_agreement_time == $_SESSION['license_agreement'])))
{
$checklist['session'] = true;
if(ini_get('session.auto_start') == 0)
{
$checklist['session'] = true;
}
else
{
$checklist['session'] = false;
}
}
else
{
$checklist['session'] = false;
}
// Check session.auto_start
if(ini_get('session.auto_start') != 1)
{
$checklist['session_auto'] = true;
}
else
{
$checklist['session_auto'] = false;
}
// Check curl
if(function_exists('curl_init'))
@ -415,8 +413,9 @@ class installController extends install
throw new Rhymix\Framework\Exception('msg_must_accept_license_agreement');
}
$_SESSION['license_agreement'] = true;
FileHandler::writeFile($this->flagLicenseAgreement, $_SERVER['REQUEST_TIME']);
$license_agreement_time = time();
$_SESSION['license_agreement'] = $license_agreement_time;
FileHandler::writeFile($this->flagLicenseAgreement, $license_agreement_time . PHP_EOL);
$this->setRedirectUrl(getNotEncodedUrl('', 'act', 'dispInstallCheckEnv'));
}

View file

@ -25,14 +25,12 @@ $lang->install_checklist_title['json'] = 'json';
$lang->install_checklist_title['gd'] = 'gd';
$lang->install_checklist_title['mcrypt'] = 'mcrypt / openssl';
$lang->install_checklist_title['session'] = 'session';
$lang->install_checklist_title['session_auto'] = 'session.auto_start setting';
$lang->install_checklist_title['db_support'] = 'DB support';
$lang->install_checklist_desc['php_version'] = '[Required] Rhymix supports only PHP Version %s or higher';
$lang->install_checklist_desc['php_version_warning'] = '[Recommend] Rhymix recommends only PHP Version %s or higher';
$lang->install_checklist_desc['permission'] = '[Required] Please create a \'files\' directory under the installation path and change its permissions to 777.';
$lang->install_checklist_desc['xml'] = '[Required] XML Library is needed for XML communication';
$lang->install_checklist_desc['session'] = '[Required] PHP Session must be available';
$lang->install_checklist_desc['session_auto'] = '[Required] PHP setting file\'s (php.ini) \'Session.auto_start\' must equal to zero in order for Rhymix to use the session';
$lang->install_checklist_desc['session'] = '[Required] PHP Session must be available, and \'session.auto_start\' must be off in order to use the session.';
$lang->install_checklist_desc['iconv'] = 'Iconv should be installed in order to convert between UTF-8 and other language sets';
$lang->install_checklist_desc['gd'] = 'GD Library should be installed in order to use functions to convert images';
$lang->install_checklist_xml = 'Install XML Library';

View file

@ -9,11 +9,9 @@ $lang->install_checklist_title['json'] = 'json';
$lang->install_checklist_title['gd'] = 'gd';
$lang->install_checklist_title['mcrypt'] = 'mcrypt / openssl';
$lang->install_checklist_title['session'] = 'session';
$lang->install_checklist_title['session_auto'] = 'Configuración session.auto_start';
$lang->install_checklist_desc['permission'] = '[Requerido] La ruta de la instalación de Rhymix o el directorio de ./archivos deberia tener la atribución 777';
$lang->install_checklist_desc['xml'] = '[Requerido] Libreria XML es necesario para la comunicación de XML';
$lang->install_checklist_desc['session'] = '[Requerido] La sesión de PHP debe estar disponible';
$lang->install_checklist_desc['session_auto'] = '[Requerido] Para el uso de la sesion de Rhymix, el archivo php.ini deberia estar configurada session.auto_start=0';
$lang->install_checklist_desc['session'] = '[Requerido] La sesión de PHP debe estar disponible y \'session.auto_start\' debe estar \'off\' para poder utilizar la sesión.';
$lang->install_checklist_desc['iconv'] = 'Para transformar UTF-8 y otra paquete del idioma deberia estar instalado el Iconv.';
$lang->install_checklist_desc['gd'] = 'Libreria GD deberia estar instalado para utilizar la funcion de convertir la imagen';
$lang->install_checklist_xml = 'Instalar Librería XML ';

View file

@ -9,11 +9,9 @@ $lang->install_checklist_title['json'] = 'json';
$lang->install_checklist_title['gd'] = 'gd';
$lang->install_checklist_title['mcrypt'] = 'mcrypt / openssl';
$lang->install_checklist_title['session'] = 'session';
$lang->install_checklist_title['session_auto'] = 'Configuration de session.auto_start';
$lang->install_checklist_desc['permission'] = '[Obligatoire] Chemin de l\'installation de Rhymix ou la permission de répertoire de ./files doit être 777';
$lang->install_checklist_desc['xml'] = '[Obligatoire] La bibliothèque de XML est nécessaire pour la communication de XML';
$lang->install_checklist_desc['session'] = '[Obligatoire] La session PHP doit être disponible';
$lang->install_checklist_desc['session_auto'] = '[Obligatoire] \'Session.auto_start\' dans le fichier de configuration pour PHP (php.ini) doit être égal à zéro car Rhymix utilise la session';
$lang->install_checklist_desc['session'] = '[Obligatoire] La session PHP doit être disponible, et \'session.auto_start\' dans le fichier de configuration pour PHP (php.ini) doit être \'off\' car Rhymix utilise la session';
$lang->install_checklist_desc['iconv'] = 'Iconv doit être installé afin de convertir UTF-8 et des autres assortiments des langues';
$lang->install_checklist_desc['gd'] = 'La bibliothèque de GD doit être installé afin d\'utiliser la fonction à convertir des images';
$lang->install_checklist_xml = 'Installation la bibliothèque de XML';

View file

@ -25,14 +25,12 @@ $lang->install_checklist_title['json'] = 'json';
$lang->install_checklist_title['gd'] = 'gd';
$lang->install_checklist_title['mcrypt'] = 'mcrypt / openssl';
$lang->install_checklist_title['session'] = 'session';
$lang->install_checklist_title['session_auto'] = 'session.auto_startの設定';
$lang->install_checklist_title['db_support'] = 'DBサポート';
$lang->install_checklist_desc['php_version'] = '[必修] %s以上のPHPバージョンでインストールが可能です。';
$lang->install_checklist_desc['php_version_warning'] = '[推奨] RhymixはPHP %sバージョン以上をおすすめします。';
$lang->install_checklist_desc['permission'] = '【必須】Rhymixのインストール先、または「./files」ディレクトリのパーミッションを「777」に設定してください。';
$lang->install_checklist_desc['xml'] = '【必須】XML通信のためにXMLライブラリが必要です。';
$lang->install_checklist_desc['session'] = '【必須】PHPセッションが利用可能でなければなりません';
$lang->install_checklist_desc['session_auto'] = '【必須】Rhymixでは、セッションを使用しているため、「php.ini」の設定を「session.auto_start=0」にしてください。';
$lang->install_checklist_desc['session'] = '【必須】PHPセッションを使用することができなければならず、php.iniの設定でsession.auto_start= offである必要があります。';
$lang->install_checklist_desc['iconv'] = 'UTF-8と多言語サポート及び文字コード変換のため、「iconv」をインストールする必要があります。';
$lang->install_checklist_desc['gd'] = 'イメージ変換機能を使用するためには、「GDライブラリ」をインストールする必要があります。';
$lang->install_checklist_xml = 'XMLライブラリのインストール';

View file

@ -24,15 +24,13 @@ $lang->install_checklist_title['iconv'] = 'iconv / mbstring';
$lang->install_checklist_title['json'] = 'json';
$lang->install_checklist_title['gd'] = 'gd';
$lang->install_checklist_title['mcrypt'] = 'mcrypt / openssl';
$lang->install_checklist_title['session'] = 'session';
$lang->install_checklist_title['session_auto'] = 'session.auto_start 설정';
$lang->install_checklist_title['session'] = '세션 지원';
$lang->install_checklist_title['db_support'] = 'DB 지원';
$lang->install_checklist_desc['php_version'] = '[필수] Rhymix를 설치하려면 PHP 버전이 %s 이상이어야 합니다.';
$lang->install_checklist_desc['php_version_warning'] = '[권장] Rhymix는 PHP %s 이상을 권장합니다.';
$lang->install_checklist_desc['permission'] = '[필수] Rhymix 설치 경로에 files 디렉토리를 생성하고 퍼미션을 777로 바꾸어 주십시오.';
$lang->install_checklist_desc['xml'] = '[필수] XML통신을 위하여 XML 라이브러리가 필요합니다.';
$lang->install_checklist_desc['session'] = '[필수] PHP 세션을 사용할 수 있어야 합니다.';
$lang->install_checklist_desc['session_auto'] = '[필수] Rhymix에서 세션 사용을 위해 php.ini 설정의 session.auto_start=0 이어야 합니다.';
$lang->install_checklist_desc['session'] = '[필수] PHP 세션을 사용할 수 있어야 하며, php.ini 설정에서 session.auto_start = off 여야 합니다.';
$lang->install_checklist_desc['iconv'] = 'UTF-8과 다른 언어셋의 변환을 위한 iconv설치가 필요합니다.';
$lang->install_checklist_desc['gd'] = '이미지변환 기능을 사용하기 위해 GD라이브러리가 설치되어 있어야 합니다.';
$lang->install_checklist_xml = 'XML 라이브러리 설치';

View file

@ -9,11 +9,9 @@ $lang->install_checklist_title['json'] = 'json';
$lang->install_checklist_title['gd'] = 'gd';
$lang->install_checklist_title['mcrypt'] = 'mcrypt / openssl';
$lang->install_checklist_title['session'] = 'session';
$lang->install_checklist_title['session_auto'] = 'session.auto_start настройка';
$lang->install_checklist_desc['permission'] = '[Требуется] Путь установки Rhymix или директория ./files должна иметь права доступа 777';
$lang->install_checklist_desc['xml'] = '[Требуется] XML Библиотека нужна для XML коммуникации';
$lang->install_checklist_desc['session'] = '[Требуется] PHP сессия должна быть доступна';
$lang->install_checklist_desc['session_auto'] = '[Требуется] Файл настроек PHP (php.ini) \'Session.auto_start\' должен быть равен нулю, чтобы Rhymix могла использовать сессии';
$lang->install_checklist_desc['session'] = '[Требуется] Сеанс PHP должен быть доступен, и \'session.auto_start\' должен быть \'off\', чтобы использовать сеанс.';
$lang->install_checklist_desc['iconv'] = 'Iconv должна быть установлена для конвертирования между UTF-8 и иными языковыми кодировками';
$lang->install_checklist_desc['gd'] = 'GD Библиотека должна быть установлена для использования функции конвертироваия изображений';
$lang->install_checklist_xml = 'Установить XML библиотеку';

View file

@ -9,11 +9,9 @@ $lang->install_checklist_title['json'] = 'json';
$lang->install_checklist_title['gd'] = 'gd';
$lang->install_checklist_title['mcrypt'] = 'mcrypt / openssl';
$lang->install_checklist_title['session'] = 'session';
$lang->install_checklist_title['session_auto'] = 'session.auto_start(otomatik.oturum_acma) ayarı';
$lang->install_checklist_desc['permission'] = '[Gerekli] Rhymix kurulum yolu ya da ./files directory yolunun yetkisi 777 olmalıdır';
$lang->install_checklist_desc['xml'] = '[Gerekli] XML iletişimi için XML kitaplığı gereklidir.';
$lang->install_checklist_desc['session'] = '[Gerekli] PHP oturumu mevcut olmalıdır';
$lang->install_checklist_desc['session_auto'] = '[Gerekli] PHP ayar dosyasındaki (php.ini) \'Session.auto_start\' Rhymix\'nin oturumu kullanabilmesi için sıfıra eşit olmalıdır';
$lang->install_checklist_desc['session'] = '[Gerekli] PHP Oturumu kullanılabilir olmalı ve oturumu kullanmak için \'session.auto_start\' \'off\' olmalıdır.';
$lang->install_checklist_desc['iconv'] = 'Iconv, UTF-8 ve diğer dil ayarlarını değiştirebilmek için kurulmuş olmalıdır';
$lang->install_checklist_desc['gd'] = 'GD Kitaplığı, resim değiştirme özelliğini kullanabilmek için kurulmuş, olmalıdır';
$lang->install_checklist_xml = 'XML Kitaplığını Kur';

View file

@ -4,11 +4,9 @@ $lang->install_progress_menu['language'] = 'Chọn ngôn ngữ cài đặt';
$lang->install_checklist_title['php_version'] = 'Phiên bản PHP';
$lang->install_checklist_title['permission'] = 'Điều khoản thư mục files';
$lang->install_checklist_title['session'] = 'session';
$lang->install_checklist_title['session_auto'] = 'Thiết lập session.auto_start';
$lang->install_checklist_desc['permission'] = '[Bắt buộc] Thư mục cài đặt của Rhymix hay ./files directory phải CHMOD thành 777';
$lang->install_checklist_desc['xml'] = '[Bắt buộc] XML Library cần thiết cho việc truyền thông File XML.';
$lang->install_checklist_desc['session'] = '[Bắt buộc] Phiên PHP phầi có sẵn';
$lang->install_checklist_desc['session_auto'] = '[Bắt buộc] File thiết lập của PHP (php.ini) \'Session.auto_start\' phải là 0 theo thứ tự số cho phiên làm việc của Rhymix hoạt động.';
$lang->install_checklist_desc['session'] = '[Bắt buộc] Phiên PHP phải có sẵn và \'session.auto_start\' phải là \'off\' để sử dụng phiên.';
$lang->install_checklist_desc['iconv'] = '<b>Iconv</b> cần phải được cài đặt cho việc chuyển đổi ngôn ngữ thàng UTFF-8 của những ngôn ngữ khác.';
$lang->install_checklist_desc['gd'] = '<b>GD Library</b> cần phải được cài đặt cho việc chuyển đổi hình ảnh.';
$lang->install_checklist_xml = 'Cài đặt XML Library';

View file

@ -17,11 +17,9 @@ $lang->install_checklist_title['json'] = 'json';
$lang->install_checklist_title['gd'] = 'gd';
$lang->install_checklist_title['mcrypt'] = 'mcrypt / openssl';
$lang->install_checklist_title['session'] = 'session';
$lang->install_checklist_title['session_auto'] = 'session.auto_start 设置';
$lang->install_checklist_desc['permission'] = '[必须] 的安装路径或 ./files目录属性必须是777';
$lang->install_checklist_desc['xml'] = '[必须]为了 XML通讯将需要XML库';
$lang->install_checklist_desc['session'] = '[必须] PHP会话必须可用';
$lang->install_checklist_desc['session_auto'] = '[必须] 为了使用缓冲功能必须在php.ini当中设置 session.auto_start=0';
$lang->install_checklist_desc['session'] = '[必须] PHP会话必须可用必须在php.ini当中设置 session.auto_start = off';
$lang->install_checklist_desc['iconv'] = '为了UTF-8和其他语言环境之间的互相转换必须安装iconv';
$lang->install_checklist_desc['gd'] = '为了使用图片转换功能必须先得安装GD库';
$lang->install_checklist_xml = '安装XML库';

View file

@ -17,11 +17,9 @@ $lang->install_checklist_title['json'] = 'json';
$lang->install_checklist_title['gd'] = 'gd';
$lang->install_checklist_title['mcrypt'] = 'mcrypt / openssl';
$lang->install_checklist_title['session'] = 'session';
$lang->install_checklist_title['session_auto'] = 'session.auto_start設置';
$lang->install_checklist_desc['permission'] = '[必須] Rhymix的資料夾或『./files』資料夾權限必須是『777』。';
$lang->install_checklist_desc['xml'] = '[必須] 必須要安裝『XML Library』才能夠使用 XML 通訊。';
$lang->install_checklist_desc['session'] = '[必須] PHP會話必須可用';
$lang->install_checklist_desc['session_auto'] = '[必須] 在『php.ini』中必須要設定『session.auto_start=0』才能使用暫存功能';
$lang->install_checklist_desc['session'] = '[必須] PHP會話必須可用在『php.ini』中必須要設定『session.auto_start = off』才能使用暫存功能';
$lang->install_checklist_desc['iconv'] = '安裝『iconv』才能使 UTF-8 和其他語言文字作互相轉換。';
$lang->install_checklist_desc['gd'] = '安裝『GD Library』才可以使用圖片轉換功能。';
$lang->install_checklist_xml = '安裝 XML Library';