using more UTF-8, optimized the initial froxlor.sql statements, refs #1117
Signed-off-by: Arnold Bechtoldt <mail@arnoldbechtoldt.com>
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,6 +1,7 @@
|
|||||||
packages/*
|
packages/*
|
||||||
temp/*
|
temp/*
|
||||||
templates/*
|
templates/*
|
||||||
|
install/update.log
|
||||||
.buildpath
|
.buildpath
|
||||||
.project
|
.project
|
||||||
.settings/
|
.settings/
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1923,3 +1923,31 @@ if(isFroxlorVersion('0.9.28-svn2')) {
|
|||||||
|
|
||||||
updateToVersion('0.9.28-svn3');
|
updateToVersion('0.9.28-svn3');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(isFroxlorVersion('0.9.28-svn3'))
|
||||||
|
{
|
||||||
|
showUpdateStep("Updating from 0.9.28-svn3 to 0.9.28-svn4", true);
|
||||||
|
lastStepStatus(0);
|
||||||
|
|
||||||
|
$update_default_theme = isset($_POST['update_default_theme']) ? $_POST['update_default_theme'] : 'Froxlor';
|
||||||
|
showUpdateStep('Setting default panel theme \'' . $update_default_theme . '\'', true);
|
||||||
|
$db->query("UPDATE `" . TABLE_PANEL_SETTINGS . "` SET `value` = '".$db->escape($update_default_theme)."' WHERE varname = 'default_theme';");
|
||||||
|
lastStepStatus(0);
|
||||||
|
|
||||||
|
showUpdateStep('Altering Froxlor database and tables to use UTF-8. This may take a while..', true);
|
||||||
|
|
||||||
|
$db->query('ALTER DATABASE ' . $db->getDbName() . ' CHARACTER SET utf8 COLLATE utf8_general_ci');
|
||||||
|
|
||||||
|
$handle = $db->query('SHOW TABLES');
|
||||||
|
while ($row = $db->fetch_array($handle))
|
||||||
|
{
|
||||||
|
foreach ($row as $table)
|
||||||
|
{
|
||||||
|
$db->query('ALTER TABLE ' . $table . ' CHARACTER SET utf8 COLLATE utf8_general_ci;');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
lastStepStatus(0);
|
||||||
|
|
||||||
|
updateToVersion('0.9.28-svn4');
|
||||||
|
}
|
||||||
|
|||||||
@@ -423,10 +423,32 @@ function parseAndOutputPreconfig(&$has_preconfig, &$return, $current_version)
|
|||||||
$question = '<strong>Select default panel theme:</strong> ';
|
$question = '<strong>Select default panel theme:</strong> ';
|
||||||
$question.= '<select name="update_default_theme">';
|
$question.= '<select name="update_default_theme">';
|
||||||
$themes = getThemes();
|
$themes = getThemes();
|
||||||
foreach($themes as $theme) {
|
foreach($themes as $cur_theme) // $theme is already in use
|
||||||
$question.= makeoption($theme, $theme, 'Froxlor');
|
{
|
||||||
|
$question.= makeoption($cur_theme, $cur_theme, 'Froxlor');
|
||||||
}
|
}
|
||||||
$question.= '</select>';
|
$question.= '</select>';
|
||||||
eval("\$return.=\"" . getTemplate("update/preconfigitem") . "\";");
|
eval("\$return.=\"" . getTemplate("update/preconfigitem") . "\";");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(versionInUpdate($current_version, '0.9.28-svn4'))
|
||||||
|
{
|
||||||
|
$has_preconfig = true;
|
||||||
|
$description = 'This version introduces a lot of profound changes:';
|
||||||
|
$description .= '<br /><ul><li>Improving the whole template system</li><li>Full UTF-8 support</li><li><strong>Removing support for the former default theme \'Classic\'</strong></li></ul>';
|
||||||
|
$description .= '<br /><br />Notice: This update will <strong>alter your Froxlor database to use UTF-8</strong> as default charset. ';
|
||||||
|
$description .= 'Even though this is already tested, we <span style="color:#ff0000;font-weight:bold;">strongly recommend</span> to ';
|
||||||
|
$description .= 'test this update in a testing environment using your existing database.<br /><br />';
|
||||||
|
|
||||||
|
$question = '<strong>Select your default panel theme:</strong> ';
|
||||||
|
$question.= '<select name="update_default_theme">';
|
||||||
|
$themes = getThemes();
|
||||||
|
foreach($themes as $cur_theme)
|
||||||
|
{
|
||||||
|
$question.= makeoption($cur_theme, $cur_theme, 'Froxlor');
|
||||||
|
}
|
||||||
|
$question.= '</select>';
|
||||||
|
|
||||||
|
eval("\$return.=\"" . getTemplate("update/preconfigitem") . "\";");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3187,7 +3187,7 @@ class ApsParser
|
|||||||
{
|
{
|
||||||
$Temp.= '<textarea name="text" rows="10" cols="55">';
|
$Temp.= '<textarea name="text" rows="10" cols="55">';
|
||||||
$FileContent = file_get_contents('./packages/' . $Row['Path'] . '/license.txt');
|
$FileContent = file_get_contents('./packages/' . $Row['Path'] . '/license.txt');
|
||||||
$Temp.= htmlentities($FileContent, ENT_QUOTES, 'ISO-8859-1');
|
$Temp.= htmlentities($FileContent, ENT_QUOTES, 'UTF-8');
|
||||||
$Temp.= '</textarea>';
|
$Temp.= '</textarea>';
|
||||||
$Groupname = $lng['aps']['license'];
|
$Groupname = $lng['aps']['license'];
|
||||||
$Fieldname = $lng['aps']['license'];
|
$Fieldname = $lng['aps']['license'];
|
||||||
@@ -3378,7 +3378,7 @@ class ApsParser
|
|||||||
if($license->text->name)$Temp = $license->text->name . '<br/>';
|
if($license->text->name)$Temp = $license->text->name . '<br/>';
|
||||||
$Temp.= '<form name="license" action="#"><textarea name="text" rows="10" cols="70">';
|
$Temp.= '<form name="license" action="#"><textarea name="text" rows="10" cols="70">';
|
||||||
$FileContent = file_get_contents('./packages/' . $Row['Path'] . '/license.txt');
|
$FileContent = file_get_contents('./packages/' . $Row['Path'] . '/license.txt');
|
||||||
$Temp.= htmlentities($FileContent, ENT_QUOTES, 'ISO-8859-1');
|
$Temp.= htmlentities($FileContent, ENT_QUOTES, 'UTF-8');
|
||||||
$Temp.= '</textarea></form>';
|
$Temp.= '</textarea></form>';
|
||||||
$Fieldname = $lng['aps']['license'];
|
$Fieldname = $lng['aps']['license'];
|
||||||
$Fieldvalue = $Temp;
|
$Fieldvalue = $Temp;
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ class PHPMailer {
|
|||||||
* Sets the CharSet of the message.
|
* Sets the CharSet of the message.
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
public $CharSet = 'iso-8859-1';
|
public $CharSet = 'UTF-8';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the Content-type of the message.
|
* Sets the Content-type of the message.
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ class ticket
|
|||||||
// initialize purifier
|
// initialize purifier
|
||||||
require_once dirname(dirname(__FILE__)).'/htmlpurifier/library/HTMLPurifier.auto.php';
|
require_once dirname(dirname(__FILE__)).'/htmlpurifier/library/HTMLPurifier.auto.php';
|
||||||
$config = HTMLPurifier_Config::createDefault();
|
$config = HTMLPurifier_Config::createDefault();
|
||||||
$config->set('Core.Encoding', 'ISO-8859-1'); // for now
|
$config->set('Core.Encoding', 'UTF-8'); //htmlpurifier uses utf-8 anyway as default
|
||||||
$config->set('HTML.Doctype', 'XHTML 1.0 Transitional');
|
$config->set('HTML.Doctype', 'XHTML 1.0 Transitional');
|
||||||
$this->_purifier = new HTMLPurifier($config);
|
$this->_purifier = new HTMLPurifier($config);
|
||||||
|
|
||||||
|
|||||||
@@ -31,7 +31,7 @@
|
|||||||
* @author Florian Lippert <flo@syscp.org>
|
* @author Florian Lippert <flo@syscp.org>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function html_entity_decode_array($subject, $fields = '', $complete = false, $quote_style = ENT_COMPAT, $charset = 'ISO-8859-1')
|
function html_entity_decode_array($subject, $fields = '', $complete = false, $quote_style = ENT_COMPAT, $charset = 'UTF-8')
|
||||||
{
|
{
|
||||||
if(is_array($subject))
|
if(is_array($subject))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -27,10 +27,22 @@
|
|||||||
|
|
||||||
function html_entity_decode_complete($string)
|
function html_entity_decode_complete($string)
|
||||||
{
|
{
|
||||||
|
global $theme;
|
||||||
|
|
||||||
|
if($theme == 'Classic')
|
||||||
|
{
|
||||||
while($string != html_entity_decode($string))
|
while($string != html_entity_decode($string))
|
||||||
{
|
{
|
||||||
$string = html_entity_decode($string);
|
$string = html_entity_decode($string);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
while($string != html_entity_decode($string, ENT_COMPAT | ENT_HTML5, 'UTF-8'))
|
||||||
|
{
|
||||||
|
$string = html_entity_decode($string, ENT_COMPAT | ENT_HTML5, 'UTF-8');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return $string;
|
return $string;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
* @author Florian Lippert <flo@syscp.org>
|
* @author Florian Lippert <flo@syscp.org>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function htmlentities_array($subject, $fields = '', $quote_style = ENT_QUOTES, $charset = 'ISO-8859-1')
|
function htmlentities_array($subject, $fields = '', $quote_style = ENT_QUOTES, $charset = 'UTF-8')
|
||||||
{
|
{
|
||||||
if(is_array($subject))
|
if(is_array($subject))
|
||||||
{
|
{
|
||||||
|
|||||||
22
lib/init.php
22
lib/init.php
@@ -17,7 +17,7 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
header("Content-Type: text/html; charset=iso-8859-1");
|
header("Content-Type: text/html; charset=UTF-8");
|
||||||
|
|
||||||
// prevent Froxlor pages from being cached
|
// prevent Froxlor pages from being cached
|
||||||
header("Cache-Control: no-store, no-cache, must-revalidate");
|
header("Cache-Control: no-store, no-cache, must-revalidate");
|
||||||
@@ -67,27 +67,27 @@ unset($value);
|
|||||||
unset($key);
|
unset($key);
|
||||||
$filename = basename($_SERVER['PHP_SELF']);
|
$filename = basename($_SERVER['PHP_SELF']);
|
||||||
|
|
||||||
if(!file_exists('./lib/userdata.inc.php'))
|
if(!file_exists('lib/userdata.inc.php'))
|
||||||
{
|
{
|
||||||
$config_hint = file_get_contents('./templates/Froxlor/misc/configurehint.tpl');
|
$config_hint = file_get_contents('templates/Froxlor/misc/configurehint.tpl');
|
||||||
die($config_hint);
|
die($config_hint);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!is_readable('./lib/userdata.inc.php'))
|
if(!is_readable('lib/userdata.inc.php'))
|
||||||
{
|
{
|
||||||
die('You have to make the file "./lib/userdata.inc.php" readable for the http-process!');
|
die('You have to make the file "lib/userdata.inc.php" readable for the http-process!');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Includes the Usersettings eg. MySQL-Username/Passwort etc.
|
* Includes the Usersettings eg. MySQL-Username/Passwort etc.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require ('./lib/userdata.inc.php');
|
require ('lib/userdata.inc.php');
|
||||||
|
|
||||||
if(!isset($sql)
|
if(!isset($sql)
|
||||||
|| !is_array($sql))
|
|| !is_array($sql))
|
||||||
{
|
{
|
||||||
$config_hint = file_get_contents('./templates/Froxlor/misc/configurehint.tpl');
|
$config_hint = file_get_contents('templates/Froxlor/misc/configurehint.tpl');
|
||||||
die($config_hint);
|
die($config_hint);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -103,13 +103,13 @@ if(isset($sql['root_user']) && isset($sql['root_password']) && (!isset($sql_root
|
|||||||
* Includes the Functions
|
* Includes the Functions
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require ('./lib/functions.php');
|
require ('lib/functions.php');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Includes the MySQL-Tabledefinitions etc.
|
* Includes the MySQL-Tabledefinitions etc.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require ('./lib/tables.inc.php');
|
require ('lib/tables.inc.php');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Includes the MySQL-Connection-Class
|
* Includes the MySQL-Connection-Class
|
||||||
@@ -177,7 +177,7 @@ if(get_magic_quotes_gpc())
|
|||||||
* Selects settings from MySQL-Table
|
* Selects settings from MySQL-Table
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$settings_data = loadConfigArrayDir('./actions/admin/settings/');
|
$settings_data = loadConfigArrayDir('actions/admin/settings/');
|
||||||
$settings = loadSettings($settings_data, $db);
|
$settings = loadSettings($settings_data, $db);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -449,7 +449,7 @@ if(AREA == 'admin' || AREA == 'customer')
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$navigation_data = loadConfigArrayDir('./lib/navigation/');
|
$navigation_data = loadConfigArrayDir('lib/navigation/');
|
||||||
$navigation = buildNavigation($navigation_data[AREA], $userinfo);
|
$navigation = buildNavigation($navigation_data[AREA], $userinfo);
|
||||||
}
|
}
|
||||||
unset($navigation_data);
|
unset($navigation_data);
|
||||||
|
|||||||
@@ -73,6 +73,6 @@ define('PACKAGE_ENABLED', 2);
|
|||||||
|
|
||||||
// VERSION INFO
|
// VERSION INFO
|
||||||
|
|
||||||
$version = '0.9.28-svn3';
|
$version = '0.9.28-svn4';
|
||||||
$dbversion = '2';
|
$dbversion = '2';
|
||||||
$branding = '';
|
$branding = '';
|
||||||
|
|||||||
2
templates/.gitignore
vendored
2
templates/.gitignore
vendored
@@ -1,3 +1,3 @@
|
|||||||
!Classic/
|
|
||||||
!Froxlor/
|
!Froxlor/
|
||||||
|
Froxlor/assets/img/logo_custom.png
|
||||||
!misc/
|
!misc/
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="content-type" content="application/xhtml+xml; charset=iso-8859-1" />
|
<meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8" />
|
||||||
<if $settings['panel']['no_robots'] == '0'>
|
<if $settings['panel']['no_robots'] == '0'>
|
||||||
<meta name="robots" content="noindex, nofollow, noarchive" />
|
<meta name="robots" content="noindex, nofollow, noarchive" />
|
||||||
<meta name="GOOGLEBOT" content="nosnippet" />
|
<meta name="GOOGLEBOT" content="nosnippet" />
|
||||||
|
|||||||
Reference in New Issue
Block a user