changes for mysql 5.7 with strict mode

Dieser Commit ist enthalten in:
Oldperl 2017-08-10 13:35:06 +00:00
Ursprung 8edc520c7c
Commit b01fa5f486
17 geänderte Dateien mit 279 neuen und 277 gelöschten Zeilen

Datei anzeigen

@ -755,6 +755,9 @@ abstract class DB_Sql_Abstract {
self::$_aProfileData[] = array(
'time' => $fEndTime - $fStartTime,
'query' => $sQuery
/*,
'ErrNo' => static::_getErrorNumber(),
'ErrMess' => static::_getErrorMessage()*/
);
}

Datei anzeigen

@ -607,8 +607,8 @@ class Contenido_Challenge_Crypt_Auth extends Auth {
$sDate = date('Y-m-d');
$this->db->query(sprintf("SELECT user_id, perms, password FROM %s WHERE username = '%s' AND
(valid_from <= '" . $sDate . "' OR valid_from = '0000-00-00' OR valid_from is NULL) AND
(valid_to >= '" . $sDate . "' OR valid_to = '0000-00-00' OR valid_to is NULL)", $this->database_table, Contenido_Security::escapeDB($username, $this->db)
(valid_from <= '" . $sDate . "' OR valid_from = '1000-01-01' OR valid_from = '0000-00-00' OR valid_from is NULL) AND
(valid_to >= '" . $sDate . "' OR valid_to = '1000-01-01' OR valid_to = '0000-00-00' OR valid_to is NULL)", $this->database_table, Contenido_Security::escapeDB($username, $this->db)
));
$sMaintenanceMode = getSystemProperty('maintenance', 'mode');

Datei anzeigen

@ -278,8 +278,8 @@ class RequestPassword {
//check if requested username exists, also get email and timestamp when user last requests a new password (last_pw_request)
$sSql = "SELECT username, last_pw_request, email FROM ".$this->aCfg["tab"]["phplib_auth_user_md5"]."
WHERE username = '".$this->oDb->escape($this->sUsername)."'
AND ( valid_from <= NOW() OR valid_from = '0000-00-00')
AND ( valid_to >= NOW() OR valid_to = '0000-00-00' )";
AND ( valid_from <= NOW() OR valid_from = '0000-00-00' OR valid_from = '1000-01-01')
AND ( valid_to >= NOW() OR valid_to = '0000-00-00'OR valid_to = '1000-01-01' )";
$this->oDb->query($sSql);
if ($this->oDb->next_record() && md5($this->sUsername) == md5($this->oDb->f('username'))) {

Datei anzeigen

@ -626,8 +626,8 @@ class User
perms LIKE \"%sysadmin%\"";
if ($forceActive === true) {
$sql.= " AND (valid_from <= NOW() OR valid_from = '0000-00-00')
AND (valid_to >= NOW() OR valid_to = '0000-00-00') ";
$sql.= " AND (valid_from <= NOW() OR valid_from = '0000-00-00' OR valid_from = '1000-01-01')
AND (valid_to >= NOW() OR valid_to = '0000-00-00' OR valid_to = '1000-01-01') ";
}
$db->query($sql);

Datei anzeigen

@ -50,9 +50,9 @@ if (!isRunningFromWeb() || function_exists("runJob") || $area == "cronjobs")
$sSql = "UPDATE " . $cfg['tab']['frontendusers'] . "
SET active = 0
WHERE
(valid_to < NOW() AND valid_to != '0000-00-00 00:00:00')
(valid_to < NOW() AND valid_to != '0000-00-00' AND valid_to != '1000-01-01')
OR
(valid_from > NOW() AND valid_from != '0000-00-00 00:00:00') ";
(valid_from > NOW() AND valid_from != '0000-00-00' AND valid_from != '1000-01-01')";
//echo $sSql;
$db->query($sSql);

Datei anzeigen

@ -1,4 +1,5 @@
<?php
/**
* Project:
* Contenido Content Management System
@ -29,20 +30,17 @@
* }}
*
*/
if (!defined('CON_FRAMEWORK')) {
die('Illegal call');
}
/**
* Returns existing indexes of a specific table.
* @param DB_ConLite $db
* @param string $table
* @return array Assoziative array where the key and the value is the index name
*/
function dbGetIndexes($db, $table)
{
function dbGetIndexes($db, $table) {
if (!is_object($db)) {
return false;
}
@ -59,7 +57,6 @@ function dbGetIndexes($db, $table)
return ($indexes);
}
/**
* Updates a specific table. Used e. g. by Contenido setup to create or update
* tables.
@ -98,9 +95,7 @@ function dbGetIndexes($db, $table)
* @param bool $bRemoveIndexes Flag to remove all indexes
* @return bool
*/
function dbUpgradeTable($db, $table, $field, $type, $null, $key, $default, $extra,
$upgradeStatement, $bRemoveIndexes = false)
{
function dbUpgradeTable($db, $table, $field, $type, $null, $key, $default, $extra, $upgradeStatement, $bRemoveIndexes = false) {
global $columnCache;
global $tableCache;
@ -221,11 +216,28 @@ function dbUpgradeTable($db, $table, $field, $type, $null, $key, $default, $extr
$columnCache[$table] = "";
$structure = dbGetColumns($db, $table);
} else {
// Add column as specified
switch ($type) {
case "datetime":
if ($parameter['DEFAULT'] == "DEFAULT '0000-00-00 00:00:00'") {
$parameter['DEFAULT'] = "DEFAULT '1000-01-01 00:00:00'";
}
break;
case "date":
if ($parameter['DEFAULT'] == "DEFAULT '0000-00-00'") {
$parameter['DEFAULT'] = "DEFAULT '1000-01-01'";
}
break;
}
$createField = " ALTER TABLE " . Contenido_Security::escapeDB($table, $db) . " ADD COLUMN " . Contenido_Security::escapeDB($field, $db) . " " . Contenido_Security::escapeDB($type, $db) . "
" . $parameter['NULL'] . " " . $parameter['DEFAULT'] . " " . $parameter['KEY'];
$db->query($createField);
if ($bDebug) {echo 'createField:'.$createField.'<br />';}
$sDebugData = sprintf("%s:%s:ErrorNo. %s:%s\n", $createField, $parameter['DEFAULT'], $db->getErrorNumber(), $db->getErrorMessage());
file_put_contents('../data/logs/setup_queries.txt', $sDebugData, FILE_APPEND);
if ($bDebug) {
echo 'createField:' . $createField . '<br />';
}
$columnCache[$table] = "";
return true;
}
@ -254,15 +266,13 @@ if ($bDebug) {echo 'createField:'.$createField.'<br />';}
return true;
}
/**
* Checks, if passed table exists in the database
* @param DB_ConLite $db
* @param string $table
* @return bool
*/
function dbTableExists($db, $table)
{
function dbTableExists($db, $table) {
global $tableCache;
if (!is_object($db)) {
@ -287,15 +297,13 @@ function dbTableExists($db, $table)
}
}
/**
* Returns the column structure of a table
* @param DB_ConLite $db
* @param string $table
* @return array|bool Either assoziative column array or false
*/
function dbGetColumns($db, $table)
{
function dbGetColumns($db, $table) {
global $columnCache;
if (!is_object($db)) {
@ -320,15 +328,13 @@ function dbGetColumns($db, $table)
return $structure;
}
/**
* Returns the primary key column of a table
* @param DB_ConLite $db
* @param string $table
* @return string
*/
function dbGetPrimaryKeyName($db, $table)
{
function dbGetPrimaryKeyName($db, $table) {
$sReturn = "";
$structure = dbGetColumns($db, $table);
@ -343,7 +349,6 @@ function dbGetPrimaryKeyName($db, $table)
return $sReturn;
}
/**
* Updates the sequence table, stores the highest primary key value of a table in it.
* Retrieves the primary key field of the table, retrieves the highes value and
@ -353,8 +358,7 @@ function dbGetPrimaryKeyName($db, $table)
* @param string $table Name of table
* @param DB_ConLite|bool $db Database instance or false
*/
function dbUpdateSequence($sequencetable, $table, $db = false)
{
function dbUpdateSequence($sequencetable, $table, $db = false) {
if ($db === false) {
$bClose = true;
$db = new DB_Upgrade;
@ -386,13 +390,11 @@ function dbUpdateSequence($sequencetable, $table, $db = false)
}
}
/**
* @deprecated
* @since 2008-07-11
*/
function dbDumpStructure($db, $table, $return = false)
{
function dbDumpStructure($db, $table, $return = false) {
/* this function is deprecated since Contenido 4.8.7 - 2008-07-11 */
return;
}
@ -401,8 +403,7 @@ function dbDumpStructure($db, $table, $return = false)
* @deprecated
* @since 2008-07-11
*/
function dbDumpArea($db, $id)
{
function dbDumpArea($db, $id) {
/* this function is deprecated since Contenido 4.8.7 - 2008-07-11 */
return;
}
@ -411,8 +412,7 @@ function dbDumpArea($db, $id)
* @deprecated
* @since 2008-07-11
*/
function dbDumpAreasAsArray($arrayname, $db)
{
function dbDumpAreasAsArray($arrayname, $db) {
/* this function is deprecated since Contenido 4.8.7 - 2008-07-11 */
return;
}
@ -421,8 +421,7 @@ function dbDumpAreasAsArray($arrayname, $db)
* @deprecated
* @since 2008-07-11
*/
function dbDumpNavSub($arrayname, $db, $nextidarea)
{
function dbDumpNavSub($arrayname, $db, $nextidarea) {
/* this function is deprecated since Contenido 4.8.7 - 2008-07-11 */
return;
}
@ -431,8 +430,7 @@ function dbDumpNavSub($arrayname, $db, $nextidarea)
* @deprecated
* @since 2008-07-11
*/
function dbInsertData($table, $data)
{
function dbInsertData($table, $data) {
/* this function is deprecated since Contenido 4.8.7 - 2008-07-11 */
return;
}
@ -441,8 +439,7 @@ function dbInsertData($table, $data)
* @deprecated
* @since 2008-07-11
*/
function dbDumpData($table)
{
function dbDumpData($table) {
/* this function is deprecated since Contenido 4.8.7 - 2008-07-11 */
return;
}
@ -451,9 +448,9 @@ function dbDumpData($table)
* @deprecated
* @since 2008-07-11
*/
function dbUpgradeData($table, $valuesArray)
{
function dbUpgradeData($table, $valuesArray) {
/* this function is deprecated since Contenido 4.8.7 - 2008-07-11 */
return;
}
?>

Datei anzeigen

@ -311,7 +311,8 @@ function writeSystemValuesOutput($usage)
a.idclient
FROM
".$cfg["tab"]["clients"]." a
GROUP BY a.name";
GROUP BY a.name,
a.idclient";
$db->query($sql);
// create 'value' output

Datei anzeigen

@ -503,7 +503,8 @@ if ($syncoptions == -1) {
b.idclient = '" . Contenido_Security::toInteger($client) . "' AND
b.idart = c.idart AND
c.idcat = d.idcat
GROUP BY c.idcat
GROUP BY c.idcat,
d.startidartlang
";
}
} else {
@ -536,7 +537,8 @@ if ($syncoptions == -1) {
b.idclient = '" . Contenido_Security::toInteger($client) . "' AND
b.idart = c.idart AND
c.idcat = d.idcat
GROUP BY c.idcat";
GROUP BY c.idcat,
d.startidartlang";
}
}
@ -675,6 +677,7 @@ $sql = "SELECT DISTINCT " .
"b.visible, " .
"b.public, " .
"c.level, " .
"c.idtree, " .
"d.idtpl " .
$sql_fallback_lang_field.
"FROM {$cfg['tab']['cat']} AS a " .

Datei anzeigen

@ -141,8 +141,14 @@ while ($cApiUser = $cApiUserCollection->next())
$iMenu++;
if (($sToday < $cApiUser->get("valid_from") && ($cApiUser->get("valid_from") != '0000-00-00' && $cApiUser->get("valid_from") != '')) ||
($sToday > $cApiUser->get("valid_to") && ($cApiUser->get("valid_to") != '0000-00-00') && $cApiUser->get("valid_from") != '')) {
if (($sToday < $cApiUser->get("valid_from")
&& $cApiUser->get("valid_from") != '0000-00-00'
&& $cApiUser->get("valid_from") != '1000-01-01'
&& $cApiUser->get("valid_from") != '')
|| ($sToday > $cApiUser->get("valid_to")
&& $cApiUser->get("valid_to") != '0000-00-00'
&& $cApiUser->get("valid_to") != '1000-01-01'
&& $cApiUser->get("valid_from") != '')) {
$mlist->setTitle($iMenu, '<span style="color:#b3b3b8">'.$cApiUser->get("username")."<br>".$cApiUser->get("realname").'</span>');
} else {
$mlist->setTitle($iMenu, $cApiUser->get("username")."<br>".$cApiUser->get("realname"));

Datei anzeigen

@ -403,6 +403,7 @@ $tpl->next();
$sCurrentValueTo = str_replace('00:00:00', '', $oUser->getField('valid_to'));
$sCurrentValueTo = trim(str_replace('0000-00-00', '', $sCurrentValueTo));
$sCurrentValueTo = trim(str_replace('1000-01-01', '', $sCurrentValueTo));
$sInputValidTo = '<input type="text" id="valid_to" name="valid_to" value="'.$sCurrentValueTo.'" />&nbsp;<img src="images/calendar.gif" id="trigger_to" /">';
$sInputValidTo .= '<script type="text/javascript">

Datei anzeigen

@ -83,11 +83,11 @@ if (file_exists(dirname(dirname(dirname(__FILE__)))."/setup")) {
$sDate = date('Y-m-d');
$sSQL = "SELECT * FROM ".$cfg["tab"]["phplib_auth_user_md5"]."
WHERE (username = 'sysadmin' AND password = '48a365b4ce1e322a55ae9017f3daf0c0'
AND (valid_from <= '".Contenido_Security::escapeDB($sDate, $db)."' OR valid_from = '0000-00-00' OR valid_from is NULL) AND
AND (valid_from <= '".Contenido_Security::escapeDB($sDate, $db)."' OR valid_from = '0000-00-00' OR valid_from = '1000-01-01' OR valid_from is NULL) AND
(valid_to >= '".Contenido_Security::escapeDB($sDate, $db)."' OR valid_to = '0000-00-00' OR valid_to is NULL))
OR (username = 'admin' AND password = '21232f297a57a5a743894a0e4a801fc3'
AND (valid_from <= '".Contenido_Security::escapeDB($sDate, $db)."' OR valid_from = '0000-00-00' OR valid_from is NULL) AND
(valid_to >= '".Contenido_Security::escapeDB($sDate, $db)."' OR valid_to = '0000-00-00' OR valid_to is NULL))
AND (valid_from <= '".Contenido_Security::escapeDB($sDate, $db)."' OR valid_from = '0000-00-00' OR valid_from = '1000-01-01' OR valid_from is NULL) AND
(valid_to >= '".Contenido_Security::escapeDB($sDate, $db)."' OR valid_to = '0000-00-00' OR valid_to = '1000-01-01' OR valid_to is NULL))
";
$db->query($sSQL);

Datei anzeigen

@ -17,7 +17,7 @@ function frontendusers_valid_from_display ()
$currentValue = $feuser->get("valid_from");
if ($currentValue == '') {
$currentValue = '0000-00-00';
$currentValue = '1000-01-01';
}
$currentValue = str_replace('00:00:00', '', $currentValue);
@ -58,7 +58,8 @@ function frontendusers_valid_from_store ($variables) {
if(Contenido_Security::isMySQLDate($variables["valid_from"], true)
|| Contenido_Security::isMySQLDateTime($variables["valid_from"], true)
|| empty($variables["valid_from"])
|| $variables["valid_from"] == "0000-00-00") {
|| $variables["valid_from"] == "0000-00-00"
|| $variables["valid_from"] == "1000-01-01") {
$feuser->set("valid_from", $variables["valid_from"], false);
}

Datei anzeigen

@ -16,7 +16,7 @@ function frontendusers_valid_to_display ()
$currentValue = $feuser->get("valid_to");
if ($currentValue == '') {
$currentValue = '0000-00-00';
$currentValue = '1000-01-01';
}
$currentValue = str_replace('00:00:00', '', $currentValue);
@ -54,7 +54,8 @@ function frontendusers_valid_to_store ($variables) {
if(Contenido_Security::isMySQLDate($variables["valid_to"], true)
|| Contenido_Security::isMySQLDateTime($variables["valid_to"], true)
|| empty($variables["valid_to"])
|| $variables["valid_to"] == "0000-00-00") {
|| $variables["valid_to"] == "0000-00-00"
|| $variables["valid_to"] == "1000-01-01") {
$feuser->set("valid_to", $variables["valid_to"], false);
}

Datei anzeigen

@ -1,4 +1,5 @@
<?php
/**
* Project:
* Contenido Content Management System
@ -17,7 +18,6 @@
*
* $Id: dbupdate.php 377 2015-11-09 19:10:37Z oldperl $:
*/
if (!defined('CON_FRAMEWORK')) {
define('CON_FRAMEWORK', true);
}
@ -256,6 +256,16 @@ if ($currentstep < $totalsteps) {
injectSQL($db, $_SESSION['dbprefix'], 'data/indexes.sql', array(), $aNothing);
// logging query stuff
$aSqlArray = $db->getProfileData();
if (is_array($aSqlArray) && count($aSqlArray) > 0) {
$fp = fopen('../data/logs/setup_queries.txt', 'w');
foreach ($aSqlArray as $failedChunk) {
fwrite($fp, print_r($aSqlArray, TRUE));
}
fclose($fp);
}
printf('<script type="text/javascript">parent.document.getElementById("installing").style.visibility="hidden";parent.document.getElementById("installingdone").style.visibility="visible";</script>');
printf('<script type="text/javascript">parent.document.getElementById("next").style.visibility="visible"; window.setTimeout("nextStep()", 10); function nextStep () { window.location.href=\'makeconfig.php\'; }</script>');
}
@ -267,4 +277,5 @@ function txtFileToArray($sFile) {
}
return $aFileArray;
}
?>

Datei anzeigen

@ -64,7 +64,9 @@ function doMySQLConnect ($host, $username, $password)
),
);
$db = new DB_Contenido($aOptions);
$sFile = '../data/logs/setup_queries.txt';
file_put_contents($sFile, $db->getServerInfo(), FILE_APPEND);
chmod($sFile, 0666);
if ($db->connect() == 0)
{
return array($db, false);
@ -98,6 +100,8 @@ function getSetupMySQLDBConnection($full = true)
'sequenceTable' => $_SESSION['dbprefix'].'_sequence'
);
}
//$aOptions['enableProfiling'] = TRUE;
$db = new DB_Contenido($aOptions);
return $db;
}

Datei anzeigen

@ -1,4 +1,5 @@
<?php
/**
* Project:
* Contenido Content Management System
@ -31,14 +32,10 @@
die('Illegal call');
}
function injectSQL ($db, $prefix, $file, $replacements = array(), &$failedChunks)
{
function injectSQL(&$db, $prefix, $file, $replacements = array(), &$failedChunks) {
$file = trim($file);
if (!isReadable($file))
{
if (!isReadable($file)) {
return false;
}
@ -51,29 +48,26 @@ function injectSQL ($db, $prefix, $file, $replacements = array(), &$failedChunks
$sqlChunks = split_sql_file(trim($sqlFile), ";");
foreach ($sqlChunks as $sqlChunk)
{
foreach ($replacements as $find => $replace)
{
foreach ($sqlChunks as $sqlChunk) {
foreach ($replacements as $find => $replace) {
$sqlChunk = str_replace($find, $replace, $sqlChunk);
}
$db->query($sqlChunk);
if ($db->Errno != 0)
{
if ($db->Errno != 0) {
$failedChunks[] = array("sql" => $sqlChunk, "errno" => $db->Errno, "error" => $db->Error);
}
}
return true;
}
//
// remove_comments will strip the sql comment lines out of an uploaded sql file
// specifically for mssql and postgres type files in the install....
//
function remove_comments(&$output)
{
function remove_comments(&$output) {
$lines = explode("\n", $output);
$output = "";
@ -81,20 +75,16 @@ function remove_comments(&$output)
$linecount = count($lines);
$in_comment = false;
for($i = 0; $i < $linecount; $i++)
{
if( preg_match("/^\/\*/", preg_quote($lines[$i])) )
{
for ($i = 0; $i < $linecount; $i++) {
if (preg_match("/^\/\*/", preg_quote($lines[$i]))) {
$in_comment = true;
}
if( !$in_comment )
{
if (!$in_comment) {
$output .= $lines[$i] . "\n";
}
if( preg_match("/\*\/$/", preg_quote($lines[$i])) )
{
if (preg_match("/\*\/$/", preg_quote($lines[$i]))) {
$in_comment = false;
}
}
@ -106,8 +96,7 @@ function remove_comments(&$output)
//
// remove_remarks will strip the sql comment lines out of an uploaded sql file
//
function remove_remarks($sql)
{
function remove_remarks($sql) {
$lines = explode("\n", $sql);
// try to keep mem. use down
@ -116,16 +105,11 @@ function remove_remarks($sql)
$linecount = count($lines);
$output = "";
for ($i = 0; $i < $linecount; $i++)
{
if (($i != ($linecount - 1)) || (strlen($lines[$i]) > 0))
{
if ($lines[$i][0] != "#")
{
for ($i = 0; $i < $linecount; $i++) {
if (($i != ($linecount - 1)) || (strlen($lines[$i]) > 0)) {
if ($lines[$i][0] != "#") {
$output .= $lines[$i] . "\n";
}
else
{
} else {
$output .= "\n";
}
// Trading a bit of speed for lower mem. use here.
@ -134,15 +118,13 @@ function remove_remarks($sql)
}
return $output;
}
//
// split_sql_file will split an uploaded sql file into single sql statements.
// Note: expects trim() to have already been run on $sql.
//
function split_sql_file($sql, $delimiter)
{
function split_sql_file($sql, $delimiter) {
// Split up our string into "possible" SQL statements.
$tokens = explode($delimiter, $sql);
@ -155,11 +137,9 @@ function split_sql_file($sql, $delimiter)
// this is faster than calling count($oktens) every time thru the loop.
$token_count = count($tokens);
for ($i = 0; $i < $token_count; $i++)
{
for ($i = 0; $i < $token_count; $i++) {
// Don't wanna add an empty string as the last thing in the array.
if (($i != ($token_count - 1)) || (strlen($tokens[$i] > 0)))
{
if (($i != ($token_count - 1)) || (strlen($tokens[$i] > 0))) {
// This is the total number of single quotes in the token.
$total_quotes = preg_match_all("/'/", $tokens[$i], $matches);
// Counts single quotes that are preceded by an odd number of backslashes,
@ -169,15 +149,12 @@ function split_sql_file($sql, $delimiter)
$unescaped_quotes = $total_quotes - $escaped_quotes;
// If the number of unescaped quotes is even, then the delimiter did NOT occur inside a string literal.
if (($unescaped_quotes % 2) == 0)
{
if (($unescaped_quotes % 2) == 0) {
// It's a complete sql statement.
$output[] = $tokens[$i];
// save memory.
$tokens[$i] = "";
}
else
{
} else {
// incomplete sql statement. keep adding tokens until we have a complete one.
// $temp will hold what we have so far.
$temp = $tokens[$i] . $delimiter;
@ -187,8 +164,7 @@ function split_sql_file($sql, $delimiter)
// Do we have a complete statement yet?
$complete_stmt = false;
for ($j = $i + 1; (!$complete_stmt && ($j < $token_count)); $j++)
{
for ($j = $i + 1; (!$complete_stmt && ($j < $token_count)); $j++) {
// This is the total number of single quotes in the token.
$total_quotes = preg_match_all("/'/", $tokens[$j], $matches);
// Counts single quotes that are preceded by an odd number of backslashes,
@ -197,8 +173,7 @@ function split_sql_file($sql, $delimiter)
$unescaped_quotes = $total_quotes - $escaped_quotes;
if (($unescaped_quotes % 2) == 1)
{
if (($unescaped_quotes % 2) == 1) {
// odd number of unescaped quotes. In combination with the previous incomplete
// statement(s), we now have a complete statement. (2 odds always make an even)
$output[] = $temp . $tokens[$j];
@ -211,16 +186,13 @@ function split_sql_file($sql, $delimiter)
$complete_stmt = true;
// make sure the outer loop continues at the right point.
$i = $j;
}
else
{
} else {
// even number of unescaped quotes. We still don't have a complete statement.
// (1 odd and 1 even always make an odd)
$temp .= $tokens[$j] . $delimiter;
// save memory.
$tokens[$j] = "";
}
} // for..
} // else
}

Datei anzeigen

@ -105,6 +105,8 @@ checkAndInclude('lib/defines.php');
checkAndInclude($cfg['path']['frontend'].'/pear/HTML/Common2.php');
checkAndInclude($cfg['path']['conlite'] . 'classes/cHTML5/class.chtml.php');
checkAndInclude($cfg['path']['conlite'] . 'classes/class.htmlelements.php');
checkAndInclude($cfg['path']['conlite'] . 'classes/con2con/class.filehandler.php');
checkAndInclude($cfg['path']['conlite'] . 'includes/functions.php54.php');
checkAndInclude($cfg['path']['conlite'] . 'classes/class.i18n.php');
checkAndInclude($cfg['path']['conlite'] . 'includes/functions.i18n.php');
checkAndInclude('lib/class.setupcontrols.php');