Setup updates for PHP 7.2

Dieser Commit ist enthalten in:
Oldperl 2018-07-22 16:59:22 +00:00
Ursprung 30ae1987ed
Commit 2aa2c3c090
7 geänderte Dateien mit 86 neuen und 107 gelöschten Zeilen

Datei anzeigen

@ -65,6 +65,10 @@ class InUseCollection extends ItemCollection
$objectid = Contenido_Security::escapeDB($objectid, null);
$session = Contenido_Security::escapeDB($session, null);
$user = Contenido_Security::escapeDB($user, null);
if(empty($type)) {
$type = "unknown";
}
$this->select("type = '".$type."' AND objectid = '".$objectid."'");

Datei anzeigen

@ -1,4 +1,5 @@
<?php
/**
* Project:
* Contenido Content Management System
@ -31,7 +32,6 @@
* }}
*
*/
if (!defined("CON_FRAMEWORK")) {
define("CON_FRAMEWORK", true);
}
@ -41,14 +41,14 @@ include_once ('./includes/startup.php');
$cfg["debug"]["backend_exectime"]["fullstart"] = getmicrotime();
cInclude ("includes", 'functions.api.php');
cInclude ("includes", 'functions.forms.php');
cInclude("includes", 'functions.api.php');
cInclude("includes", 'functions.forms.php');
page_open(array('sess' => 'Contenido_Session',
'auth' => 'Contenido_Challenge_Crypt_Auth',
'perm' => 'Contenido_Perm'));
'auth' => 'Contenido_Challenge_Crypt_Auth',
'perm' => 'Contenido_Perm'));
i18nInit($cfg["path"]["contenido"].$cfg["path"]["locale"], $belang);
i18nInit($cfg["path"]["contenido"] . $cfg["path"]["locale"], $belang);
/**
* Bugfix
@ -59,20 +59,19 @@ i18nInit($cfg["path"]["contenido"].$cfg["path"]["locale"], $belang);
//includePluginConf();
require_once $cfg['path']['contenido'] . $cfg['path']['includes'] . 'functions.includePluginConf.php';
cInclude ("includes", 'cfg_language_de.inc.php');
cInclude("includes", 'cfg_language_de.inc.php');
if ($cfg["use_pseudocron"] == true)
{
if ($cfg["use_pseudocron"] == true) {
/* Include cronjob-Emulator, but only for frame 1 */
if($frame == 4) {
if ($frame == 4) {
$sess->freeze();
$oldpwd = getcwd();
chdir($cfg["path"]["contenido"].$cfg["path"]["cronjobs"]);
chdir($cfg["path"]["contenido"] . $cfg["path"]["cronjobs"]);
cInclude("includes", "pseudo-cron.inc.php");
chdir($oldpwd);
if($bJobRunned == true) {
if ($bJobRunned == true) {
// Some cronjobs might overwrite important system variables.
// We are thaw'ing the session again to re-register these variables.
$sess->thaw();
@ -82,18 +81,16 @@ if ($cfg["use_pseudocron"] == true)
/* Remove all own marks, only for frame 1 and 4 if $_REQUEST['appendparameters'] == 'filebrowser'
filebrowser is used in tiny in this case also do not remove session marks*/
if (($frame == 1 || $frame == 4) && isset($_REQUEST['appendparameters']) && $_REQUEST['appendparameters'] != 'filebrowser')
{
$col = new InUseCollection;
$col->removeSessionMarks($sess->id);
filebrowser is used in tiny in this case also do not remove session marks */
if (($frame == 1 || $frame == 4) && isset($_REQUEST['appendparameters']) && $_REQUEST['appendparameters'] != 'filebrowser') {
$col = new InUseCollection;
$col->removeSessionMarks($sess->id);
}
/* If the override flag is set, override a specific InUseItem */
if (isset($overrideid) && isset($overridetype))
{
$col = new InUseCollection;
$col->removeItemMarks($overridetype, $overrideid);
if (isset($overrideid) && isset($overridetype)) {
$col = new InUseCollection;
$col->removeItemMarks($overridetype, $overrideid);
}
# Create Contenido classes
@ -111,53 +108,47 @@ $currentuser->loadUserByUserID($auth->auth["uid"]);
# change Client
if (isset($changeclient) && is_numeric($changeclient) ) {
if (isset($changeclient) && is_numeric($changeclient)) {
$client = $changeclient;
unset($lang);
}
# Sprache wechseln
if (isset($changelang) && is_numeric($changelang) ) {
unset($area_rights);
unset($item_rights);
if (isset($changelang) && is_numeric($changelang)) {
unset($area_rights);
unset($item_rights);
$lang = $changelang;
}
if (!is_numeric($client) ||
(!$perm->have_perm_client("client[".$client."]") &&
!$perm->have_perm_client("admin[".$client."]")))
{
// use first client which is accessible
if (!is_numeric($client) || (!$perm->have_perm_client("client[" . $client . "]") && !$perm->have_perm_client("admin[" . $client . "]"))) {
// use first client which is accessible
$sess->register("client");
$sql = "SELECT idclient FROM ".$cfg["tab"]["clients"]." ORDER BY idclient ASC";
$sql = "SELECT idclient FROM " . $cfg["tab"]["clients"] . " ORDER BY idclient ASC";
$db->query($sql);
while ($db->next_record())
{
$mclient = $db->f("idclient");
while ($db->next_record()) {
$mclient = $db->f("idclient");
if ($perm->have_perm_client("client[".$mclient."]") ||
$perm->have_perm_client("admin[".$mclient."]") )
{
unset($lang);
$client = $mclient;
break;
}
if ($perm->have_perm_client("client[" . $mclient . "]") || $perm->have_perm_client("admin[" . $mclient . "]")) {
unset($lang);
$client = $mclient;
break;
}
}
} else {
$sess->register("client");
$sess->register("client");
}
if (!is_numeric($lang) || $lang == "") {
$sess->register("lang");
# search for the first language of this client
$sql = "SELECT * FROM ".$cfg["tab"]["lang"]." AS A, ".$cfg["tab"]["clients_lang"]." AS B WHERE A.idlang=B.idlang AND idclient='".Contenido_Security::toInteger($client)."' ORDER BY A.idlang ASC";
$sql = "SELECT * FROM " . $cfg["tab"]["lang"] . " AS A, " . $cfg["tab"]["clients_lang"] . " AS B WHERE A.idlang=B.idlang AND idclient='" . Contenido_Security::toInteger($client) . "' ORDER BY A.idlang ASC";
$db->query($sql);
$db->next_record();
$lang = $db->f("idlang");
} else {
$sess->register("lang");
$sess->register("lang");
}
// send right encoding http header
@ -166,11 +157,10 @@ sendEncodingHeader($db, $cfg, $lang);
$perm->load_permissions();
# Create Contenido classes
$xml = new XML_doc;
$tpl = new Template;
$backend = new Contenido_Backend;
$xml = new XML_doc;
$tpl = new Template;
$backend = new Contenido_Backend;
//$backend->debug=true;
# Register session variables
$sess->register("sess_area");
@ -184,7 +174,7 @@ $sess->register("cfgClient");
$sess->register("errsite_idcat");
$sess->register("errsite_idart");
if(!isset($cfgClient) || !isset($cfgClient["set"]) || $cfgClient["set"] != "set") {
if (!isset($cfgClient) || !isset($cfgClient["set"]) || $cfgClient["set"] != "set") {
rereadClients();
}
@ -192,9 +182,8 @@ if(!isset($cfgClient) || !isset($cfgClient["set"]) || $cfgClient["set"] != "set"
# Load all actions from the DB
# and check if permission is
# granted.
if ($cfg["debug"]["rendering"] == true)
{
$oldmemusage = memory_get_usage();
if ($cfg["debug"]["rendering"] == true) {
$oldmemusage = memory_get_usage();
}
# Select frameset
$backend->setFrame($frame);
@ -209,20 +198,17 @@ $cfg["debug"]["backend_exectime"]["start"] = getmicrotime();
# one file is required.
if (is_array($backend->getFile('inc'))) {
foreach ($backend->getFile('inc') as $filename) {
include_once($cfg['path']['contenido'].$filename);
include_once($cfg['path']['contenido'] . $filename);
}
}
# If $action is set -> User klicked some button/link
# get the appopriate code for this action and evaluate it.
if (isset($action) && $action != "")
{
if (!isset($idart))
{
$idart = 0;
}
if (isset($action) && $action != "") {
if (!isset($idart)) {
$idart = 0;
}
$backend->log($idcat, $idart, $client, $lang, $action);
}
@ -231,15 +217,14 @@ if (isset($action) && $action != "")
if (isset($action)) {
if ($backend->getCode($action) != '') {
if ($backend->debug == 1) {
echo '<pre style="font-family: verdana; font-size: 10px"><b>Executing:</b>'."\n";
echo $backend->getCode($action)."\n";
echo '<pre style="font-family: verdana; font-size: 10px"><b>Executing:</b>' . "\n";
echo $backend->getCode($action) . "\n";
echo '</pre>';
}
eval($backend->getCode($action));
} else {
if ($backend->debug == 1) {
echo '<pre style="font-family: verdana; font-size: 10px"><b>Executing:</b>'."\n";
echo '<pre style="font-family: verdana; font-size: 10px"><b>Executing:</b>' . "\n";
echo "no code available in action\n";
echo '</pre>';
}
@ -248,46 +233,36 @@ if (isset($action)) {
# Include the 'main' file for the selected area.
# Usually there is only one main file
if (is_array($backend->getFile('main')))
{
foreach ($backend->getFile('main') as $id => $filename)
{
include_once($cfg['path']['contenido'].$filename);
}
}
elseif( $frame == 3 )
{
include_once($cfg['path']['contenido'].$cfg['path']['includes'] ."include.default_subnav.php" );
}
else
{
include_once($cfg['path']['contenido'].$cfg['path']['includes'] ."include.blank.php");
if (is_array($backend->getFile('main'))) {
foreach ($backend->getFile('main') as $id => $filename) {
include_once($cfg['path']['contenido'] . $filename);
}
} elseif ($frame == 3) {
include_once($cfg['path']['contenido'] . $cfg['path']['includes'] . "include.default_subnav.php" );
} else {
include_once($cfg['path']['contenido'] . $cfg['path']['includes'] . "include.blank.php");
}
$cfg["debug"]["backend_exectime"]["end"] = getmicrotime();
if ($cfg["debug"]["rendering"] == true)
{
echo "Building this page (excluding contenido includes) took: " . ($cfg["debug"]["backend_exectime"]["end"] - $cfg["debug"]["backend_exectime"]["start"])." seconds<br>";
echo "Building the complete page took: " . ($cfg["debug"]["backend_exectime"]["end"] - $cfg["debug"]["backend_exectime"]["fullstart"])." seconds<br>";
if ($cfg["debug"]["rendering"] == true) {
echo "Building this page (excluding contenido includes) took: " . ($cfg["debug"]["backend_exectime"]["end"] - $cfg["debug"]["backend_exectime"]["start"]) . " seconds<br>";
echo "Building the complete page took: " . ($cfg["debug"]["backend_exectime"]["end"] - $cfg["debug"]["backend_exectime"]["fullstart"]) . " seconds<br>";
echo "Include memory usage: ".human_readable_size(memory_get_usage()-$oldmemusage)."<br>";
echo "Complete memory usage: ".human_readable_size(memory_get_usage())."<br>";
echo "Include memory usage: " . human_readable_size(memory_get_usage() - $oldmemusage) . "<br>";
echo "Complete memory usage: " . human_readable_size(memory_get_usage()) . "<br>";
}
/**
* Start User Tracking (who is online)
*
**/
* */
$oActiveUser = new ActiveUsers($db, $cfg, $auth);
$oActiveUser->startUsersTracking();
/**
*
* End of the User Tracking
*/
$db->disconnect();
page_close();
?>

Datei anzeigen

@ -226,10 +226,10 @@
"groups";"perms";"mediumtext";"YES";"";"";"";""
"groups";"description";"varchar(255)";"YES";"";"";"";""
"inuse";"idinuse";"int(10)";"NO";"PRI";"0";"";"1"
"inuse";"type";"varchar(32)";"NO";"";"";"";""
"inuse";"objectid";"varchar(32)";"NO";"";"";"";""
"inuse";"session";"varchar(32)";"NO";"";"";"";""
"inuse";"userid";"varchar(32)";"NO";"";"";"";""
"inuse";"type";"varchar(32)";"YES";"";"";"";""
"inuse";"objectid";"varchar(32)";"YES";"";"";"";""
"inuse";"session";"varchar(32)";"YES";"";"";"";""
"inuse";"userid";"varchar(32)";"YES";"";"";"";""
"keywords";"idkeyword";"int(10)";"NO";"PRI";"0";"";"1"
"keywords";"keyword";"varchar(50)";"NO";"MUL";"";"";""
"keywords";"exp";"text";"NO";"";"";"";""

Datei anzeigen

@ -52,11 +52,7 @@ if (checkMySQLDatabaseCreation($db, $_SESSION['dbname'])) {
$db = getSetupMySQLDBConnection();
}
$currentstep = $_GET['step'];
if ($currentstep == 0) {
$currentstep = 1;
}
$currentstep = (empty($_GET['step']))?1:filter_input(INPUT_GET, "step", FILTER_SANITIZE_NUMBER_INT);
// Count DB Chunks
$file = fopen('data/tables.txt', 'r');

Datei anzeigen

@ -56,6 +56,6 @@ define('C_SETUP_STEPFILE', 'images/steps/s%d.png');
define('C_SETUP_STEPFILE_ACTIVE', 'images/steps/s%da.png');
define('C_SETUP_STEPWIDTH', 28);
define('C_SETUP_STEPHEIGHT', 28);
define('C_SETUP_MIN_PHP_VERSION', '5.3');
define('C_SETUP_VERSION', '2.0.1');
define('C_SETUP_MIN_PHP_VERSION', '5.6');
define('C_SETUP_VERSION', '2.1.0');
?>

Datei anzeigen

@ -62,7 +62,7 @@ function doMySQLConnect($host, $username, $password) {
//$sFile = '../data/logs/setup_queries.txt';
//file_put_contents($sFile, $db->getServerInfo(), FILE_APPEND);
//chmod($sFile, 0666);
if ($db->connect() == 0) {
if (empty($db->connect())) {
return array($db, false);
} else {
return array($db, true);

Datei anzeigen

@ -28,7 +28,7 @@ if (!defined('CON_FRAMEWORK')) {
define('CON_BE_PATH', '../conlite/');
// uncomment this lines during development if needed
error_reporting(E_ALL ^E_NOTICE);
error_reporting(E_ALL ^ E_NOTICE);
ini_set("display_errors", true);
ini_set("log_errors", true);
ini_set("error_log", "../data/logs/setup_errorlog.txt");
@ -36,15 +36,14 @@ ini_set("error_log", "../data/logs/setup_errorlog.txt");
header('Content-Type: text/html; charset=UTF-8');
// Check version in the 'first' line, as class.security.php uses
// PHP5 object syntax not compatible with PHP < 5.2
if (version_compare(PHP_VERSION, '5.3.0', '<')) {
die("You need PHP >= 5.3.0 for ConLite. Sorry, even the setup doesn't work otherwise. Your version: " . PHP_VERSION . "\n");
if (version_compare(PHP_VERSION, '5.6.0', '<')) {
die("You need PHP >= 5.6.0 for ConLite. Sorry, even the setup doesn't work otherwise. Your version: " . PHP_VERSION . "\n");
}
// Check version
//PHP >= 5.0.0 and < 6.0.0
if (version_compare(PHP_VERSION, '7.2.0', '>=')) {
die("You need PHP >= 5.3.0 < 7.2.0 for ConLite. Sorry, even the setup doesn't work otherwise. Your version: " . PHP_VERSION . "\n");
//PHP >= 5.6.0 and < 7.3.0
if (version_compare(PHP_VERSION, '7.3.0', '>=')) {
die("You need PHP >= 5.6.0 < 7.3.0 for ConLite. Sorry, even the setup doesn't work otherwise. Your version: " . PHP_VERSION . "\n");
}
@ -98,6 +97,11 @@ $cfg['path']['frontend'] = CON_FRONTEND_PATH;
$cfg['path']['conlite'] = $cfg['path']['frontend'] . '/conlite/';
$cfg['path']['conlite_config'] = CON_FRONTEND_PATH . '/data/config/' . CL_ENVIRONMENT . '/';
// (bool) Flag to use native i18n.
// Note: Enabling this could create unwanted side effects, because of
// native gettext() behavior.
$cfg['native_i18n'] = false;
session_start();
// includes