- Fixed FS#3320 - Improve php.ini parser.
| | |
| | | $wb['backup_excludes_txt'] = 'Auszuschließende Verzeichnisse'; |
| | | $wb['backup_excludes_note_txt'] = '(Mehrere Verzeichnisse mit Kommas trennen. Beispiel: web/cache/*,web/backup)'; |
| | | $wb['backup_excludes_error_regex'] = 'Die auszuschließenden Verzeichnisse enthalten ungültige Zeichen.'; |
| | | $wb['invalid_custom_php_ini_settings_txt'] = 'Unzulässige php.ini-Einstellungen'; |
| | | ?> |
| | |
| | | $wb['backup_excludes_txt'] = 'Excluded Directories'; |
| | | $wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)'; |
| | | $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.'; |
| | | $wb['invalid_custom_php_ini_settings_txt'] = 'Invalid php.ini settings'; |
| | | ?> |
| | |
| | | $app->tform->errorMessage .= $app->tform->lng("invalid_rewrite_rules_txt").'<br>'; |
| | | } |
| | | } |
| | | |
| | | // check custom php.ini settings |
| | | if(isset($this->dataRecord['custom_php_ini']) && trim($this->dataRecord['custom_php_ini']) != '') { |
| | | $custom_php_ini_settings = trim($this->dataRecord['custom_php_ini']); |
| | | $custom_php_ini_settings_are_valid = true; |
| | | // Make sure we only have Unix linebreaks |
| | | $custom_php_ini_settings = str_replace("\r\n", "\n", $custom_php_ini_settings); |
| | | $custom_php_ini_settings = str_replace("\r", "\n", $custom_php_ini_settings); |
| | | $custom_php_ini_settings_lines = explode("\n", $custom_php_ini_settings); |
| | | if(is_array($custom_php_ini_settings_lines) && !empty($custom_php_ini_settings_lines)){ |
| | | foreach($custom_php_ini_settings_lines as $custom_php_ini_settings_line){ |
| | | if(trim($custom_php_ini_settings_line) == '') continue; |
| | | if(substr(trim($custom_php_ini_settings_line),0,1) == ';') continue; |
| | | // empty value |
| | | if(preg_match('@^\s*;*\s*[a-zA-Z0-9._]*\s*=\s*;*\s*$@', $custom_php_ini_settings_line)) continue; |
| | | // value inside "" |
| | | if(preg_match('@^\s*;*\s*[a-zA-Z0-9._]*\s*=\s*".*"\s*;*\s*$@', $custom_php_ini_settings_line)) continue; |
| | | // value inside '' |
| | | if(preg_match('@^\s*;*\s*[a-zA-Z0-9._]*\s*=\s*\'.*\'\s*;*\s*$@', $custom_php_ini_settings_line)) continue; |
| | | // everything else |
| | | if(preg_match('@^\s*;*\s*[a-zA-Z0-9._]*\s*=\s*[-a-zA-Z0-9~&=_\@/,.#\s]*\s*;*\s*$@', $custom_php_ini_settings_line)) continue; |
| | | $custom_php_ini_settings_are_valid = false; |
| | | break; |
| | | } |
| | | } |
| | | if(!$custom_php_ini_settings_are_valid){ |
| | | $app->tform->errorMessage .= $app->tform->lng("invalid_custom_php_ini_settings_txt").'<br>'; |
| | | } |
| | | } |
| | | |
| | | parent::onSubmit(); |
| | | } |
| | |
| | | if(substr($ini_setting, 0, 1) == ';') continue; |
| | | if(substr($ini_setting, 0, 1) == '#') continue; |
| | | if(substr($ini_setting, 0, 2) == '//') continue; |
| | | list($key, $value) = explode('=', $ini_setting); |
| | | list($key, $value) = explode('=', $ini_setting, 2); |
| | | if($value){ |
| | | $value = trim($value); |
| | | $key = trim($key); |
| | |
| | | if(substr($ini_setting, 0, 1) == ';') continue; |
| | | if(substr($ini_setting, 0, 1) == '#') continue; |
| | | if(substr($ini_setting, 0, 2) == '//') continue; |
| | | list($key, $value) = explode('=', $ini_setting); |
| | | list($key, $value) = explode('=', $ini_setting, 2); |
| | | if($value){ |
| | | $value = trim($value); |
| | | $key = trim($key); |