Skip to content

Commit

Permalink
Update to PDO to support PHP 7
Browse files Browse the repository at this point in the history
  • Loading branch information
ywarnier committed Jun 19, 2017
1 parent b67d5da commit aa92674
Show file tree
Hide file tree
Showing 7 changed files with 81 additions and 84 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
Chamilo Munin 2.1 (20170619)
============================
* Use PDO for database connections to avoid issues with PHP 7.1

Chamilo Munin 2.0 (20160714)
============================
* Update for Chamilo 1.10 and PHP 7
Expand Down
28 changes: 13 additions & 15 deletions get_connected_users_5_munin.php
Original file line number Diff line number Diff line change
Expand Up @@ -100,46 +100,44 @@ function get_connections($bd, $sub, $last_connect_minutes)
//check the existence of configuration.php
$config_file = '';
if (is_file($bd.'/'.$dir.$sub.'/app/config/configuration.php')) {
// Chamilo 1.10
// Chamilo 1.10+
$config_file = $bd.'/'.$dir.$sub.'/app/config/configuration.php';
} elseif (is_file($bd.'/'.$dir.$sub.'/main/inc/conf/configuration.php')) {
// Chamilo 1.9
$config_file = $bd.'/'.$dir.$sub.'/main/inc/conf/configuration.php';
}
if (!empty($config_file)) {
$_configuration = [];
$inc = include_once($config_file);
$dbh = mysqli_connect($_configuration['db_host'], $_configuration['db_user'],
$_configuration['db_password']);
$dsn = 'mysql:dbname='.$_configuration['main_database'].';host='.$_configuration['db_host'];
try {
$dbh = new PDO($dsn, $_configuration['db_user'], $_configuration['db_password']);
} catch (PDOException $e) {
die('Failed to connect to database: '.$e->getMessage());
}
if ($inc !== false && $dbh !== false) {
$db = $_configuration['main_database'];
$sql = "SELECT CONCAT(UTC_DATE(),' ',UTC_TIME())";
$res = mysqli_query($dbh, $sql);
$row = mysqli_fetch_row($res);
$res = $dbh->query($sql);
$row = $res->fetch();
$current_date = $row[0];
$track_online_table = $db.'.track_e_online';
$track_online_table = 'track_e_online';
$query = "SELECT count(login_user_id) ".
" FROM ".$track_online_table.
" WHERE DATE_ADD(login_date, ".
"INTERVAL $last_connect_minutes MINUTE) >= '".$current_date."' ";
//echo $query."\n";
$res = mysqli_query($dbh, $query);
$res = $dbh->query($query);
if ($res === false) {
$num = 0;
//echo " There was a query error for the following portal\n";
} else {
$row = mysqli_fetch_row($res);
$row = $res->fetch();
$num = $row[0];
}
//echo sprintf("[%7d]",$num)." users connected to ".$_configuration['root_web']." last $last_connect_minutes'\n";
$cut_point = 7;
if (substr($_configuration['root_web'], 0, 5) == 'https') {
$cut_point = 8;
}
$connections[str_replace('.', '_', substr($_configuration['root_web'], $cut_point, -1))] = $num;
$match_count += $num;
mysqli_close($dbh);
} else {
//echo "$bd/$dir$sub:could not open configuration.php or database:\n";
}
}
}
Expand Down
28 changes: 13 additions & 15 deletions get_live_answers_munin.php
Original file line number Diff line number Diff line change
Expand Up @@ -104,48 +104,46 @@ function get_connections($bd, $sub, $last_connect_minutes)
//check the existence of configuration.php
$config_file = '';
if (is_file($bd.'/'.$dir.$sub.'/app/config/configuration.php')) {
// Chamilo 1.10
// Chamilo 1.10+
$config_file = $bd.'/'.$dir.$sub.'/app/config/configuration.php';
} elseif (is_file($bd.'/'.$dir.$sub.'/main/inc/conf/configuration.php')) {
// Chamilo 1.9
$config_file = $bd.'/'.$dir.$sub.'/main/inc/conf/configuration.php';
}
if (!empty($config_file)) {
$_configuration = [];
$inc = include_once($config_file);
$dbh = mysqli_connect($_configuration['db_host'], $_configuration['db_user'],
$_configuration['db_password']);
$dsn = 'mysql:dbname='.$_configuration['main_database'].';host='.$_configuration['db_host'];
try {
$dbh = new PDO($dsn, $_configuration['db_user'], $_configuration['db_password']);
} catch (PDOException $e) {
die('Failed to connect to database: '.$e->getMessage());
}
if ($inc !== false && $dbh !== false) {
$db = $_configuration['main_database'];
$sql = "SELECT CONCAT(UTC_DATE(),' ',UTC_TIME())";
$res = mysqli_query($dbh, $sql);
$row = mysqli_fetch_row($res);
$res = $dbh->query($sql);
$row = $res->fetch();
$current_date = $row[0];
//$current_date=date('Y-m-d H:i:s',time());
$track_table = $db.'.track_e_attempt';
$track_table = 'track_e_attempt';
$query = "SELECT count(distinct(question_id)) ".
" FROM ".$track_table.
" WHERE DATE_ADD(tms, ".
"INTERVAL $last_connect_minutes MINUTE) >= '".$current_date."' ";
//"INTERVAL $last_connect_minutes MINUTE) >= NOW() ";
//echo $query."\n";
$res = mysqli_query($dbh, $query);
$res = $dbh->query($query);
if ($res === false) {
$num = 0;
//echo " There was a query error for the following portal\n";
} else {
$row = mysqli_fetch_row($res);
$row = $res->fetch();
$num = $row[0];
}
//echo sprintf("[%7d]",$num)." users connected to ".$_configuration['root_web']." last $last_connect_minutes'\n";
$cut_point = 7;
if (substr($_configuration['root_web'], 0, 5) == 'https') {
$cut_point = 8;
}
$connections[str_replace('.', '_', substr($_configuration['root_web'], $cut_point, -1))] = $num;
$match_count += $num;
mysqli_close($dbh);
} else {
//echo "$bd/$dir$sub:could not open configuration.php or database:\n";
}
}
}
Expand Down
33 changes: 18 additions & 15 deletions get_live_exam_users_munin.php
Original file line number Diff line number Diff line change
Expand Up @@ -104,48 +104,51 @@ function get_connections($bd, $sub, $last_connect_minutes)
//check the existence of configuration.php
$config_file = '';
if (is_file($bd.'/'.$dir.$sub.'/app/config/configuration.php')) {
// Chamilo 1.10
// Chamilo 1.10+
$config_file = $bd.'/'.$dir.$sub.'/app/config/configuration.php';
} elseif (is_file($bd.'/'.$dir.$sub.'/main/inc/conf/configuration.php')) {
// Chamilo 1.9
$config_file = $bd.'/'.$dir.$sub.'/main/inc/conf/configuration.php';
}
if (!empty($config_file)) {
$_configuration = [];
$inc = include_once($config_file);
$dbh = mysqli_connect($_configuration['db_host'], $_configuration['db_user'],
$_configuration['db_password']);
$dsn = 'mysql:dbname='.$_configuration['main_database'].';host='.$_configuration['db_host'];
try {
$dbh = new PDO($dsn, $_configuration['db_user'], $_configuration['db_password']);
} catch (PDOException $e) {
die('Failed to connect to database: '.$e->getMessage());
}
if ($inc !== false && $dbh !== false) {
$db = $_configuration['main_database'];
$sql = "SELECT CONCAT(UTC_DATE(),' ',UTC_TIME())";
$res = mysqli_query($dbh, $sql);
$row = mysqli_fetch_row($res);
$res = $dbh->query($sql);
$row = $res->fetch();
$current_date = $row[0];
$track_online_table = 'track_e_exercices';
// Make sure the right table is selected (exercices in 1.9.* and exercises after)
$vc = version_compare($_configuration['software_version'], '1.10.0');
if ($vc >= 0) {
$track_online_table = 'track_e_exercises';
}
//$current_date=date('Y-m-d H:i:s',time());
$track_online_table = $db.'.track_e_exercices';
$query = "SELECT count(distinct(exe_user_id)) ".
" FROM ".$track_online_table.
" WHERE DATE_ADD(exe_date, ".
"INTERVAL $last_connect_minutes MINUTE) >= '".$current_date."' ";
//"INTERVAL $last_connect_minutes MINUTE) >= NOW() ";
//echo $query."\n";
$res = mysqli_query($dbh, $query);
$res = $dbh->query($query);
if ($res === false) {
$num = 0;
//echo " There was a query error for the following portal\n";
} else {
$row = mysqli_fetch_row($res);
$row = $res->fetch();
$num = $row[0];
}
//echo sprintf("[%7d]",$num)." users connected to ".$_configuration['root_web']." last $last_connect_minutes'\n";
$cut_point = 7;
if (substr($_configuration['root_web'], 0, 5) == 'https') {
$cut_point = 8;
}
$connections[str_replace('.', '_', substr($_configuration['root_web'], $cut_point, -1))] = $num;
$match_count += $num;
mysqli_close($dbh);
} else {
//echo "$bd/$dir$sub:could not open configuration.php or database:\n";
}
}
}
Expand Down
25 changes: 11 additions & 14 deletions get_registered_courses_munin.php
Original file line number Diff line number Diff line change
Expand Up @@ -96,41 +96,38 @@ function get_courses($bd, $sub)
//check the existence of configuration.php
$config_file = '';
if (is_file($bd.'/'.$dir.$sub.'/app/config/configuration.php')) {
// Chamilo 1.10
// Chamilo 1.10+
$config_file = $bd.'/'.$dir.$sub.'/app/config/configuration.php';
} elseif (is_file($bd.'/'.$dir.$sub.'/main/inc/conf/configuration.php')) {
// Chamilo 1.9
$config_file = $bd.'/'.$dir.$sub.'/main/inc/conf/configuration.php';
}
if (!empty($config_file)) {
$_configuration = [];
$inc = include_once($config_file);
$dbh = mysql_connect($_configuration['db_host'], $_configuration['db_user'],
$_configuration['db_password']);
$dsn = 'mysql:dbname='.$_configuration['main_database'].';host='.$_configuration['db_host'];
try {
$dbh = new PDO($dsn, $_configuration['db_user'], $_configuration['db_password']);
} catch (PDOException $e) {
die('Failed to connect to database: '.$e->getMessage());
}
if ($inc !== false && $dbh !== false) {
$db = $_configuration['main_database'];
$current_date = date('Y-m-d H:i:s', time());
$user_table = $db.'.course';
$user_table = 'course';
$query = "SELECT count(code) ".
" FROM ".$user_table;
//echo $query."\n";
$res = mysql_query($query);
$res = $dbh->query($query);
if ($res === false) {
$num = 0;
//echo " There was a query error for the following portal\n";
} else {
$row = mysql_fetch_row($res);
$row = $res->fetch();
$num = $row[0];
}
//echo sprintf("[%7d]",$num)." users connected to ".$_configuration['root_web']." last $last_connect_minutes'\n";
$cut_point = 7;
if (substr($_configuration['root_web'], 0, 5) == 'https') {
$cut_point = 8;
}
$connections[str_replace('.', '_', substr($_configuration['root_web'], $cut_point, -1))] = $num;
$match_count += $num;
mysql_close($dbh);
} else {
//echo "$bd/$dir$sub:could not open configuration.php or database:\n";
}
}
}
Expand Down
21 changes: 11 additions & 10 deletions get_registered_sessions_munin.php
Original file line number Diff line number Diff line change
Expand Up @@ -96,29 +96,31 @@ function get_sessions($bd, $sub)
//check the existence of configuration.php
$config_file = '';
if (is_file($bd.'/'.$dir.$sub.'/app/config/configuration.php')) {
// Chamilo 1.10
// Chamilo 1.10+
$config_file = $bd.'/'.$dir.$sub.'/app/config/configuration.php';
} elseif (is_file($bd.'/'.$dir.$sub.'/main/inc/conf/configuration.php')) {
// Chamilo 1.9
$config_file = $bd.'/'.$dir.$sub.'/main/inc/conf/configuration.php';
}
if (!empty($config_file)) {
$_configuration = [];
$inc = include_once($config_file);
$dbh = mysql_connect($_configuration['db_host'], $_configuration['db_user'],
$_configuration['db_password']);
$dsn = 'mysql:dbname='.$_configuration['main_database'].';host='.$_configuration['db_host'];
try {
$dbh = new PDO($dsn, $_configuration['db_user'], $_configuration['db_password']);
} catch (PDOException $e) {
die('Failed to connect to database: '.$e->getMessage());
}
if ($inc !== false && $dbh !== false) {
$db = $_configuration['main_database'];
$current_date = date('Y-m-d H:i:s', time());
$user_table = $db.'.session';
$user_table = 'session';
$query = "SELECT count(id) ".
" FROM ".$user_table;
//echo $query."\n";
$res = mysql_query($query);
$res = $dbh->query($query);
if ($res === false) {
$num = 0;
//echo " There was a query error for the following portal\n";
} else {
$row = mysql_fetch_row($res);
$row = $res->fetch();
$num = $row[0];
}
$cut_point = 7;
Expand All @@ -127,7 +129,6 @@ function get_sessions($bd, $sub)
}
$connections[str_replace('.', '_', substr($_configuration['root_web'], $cut_point, -1))] = $num;
$match_count += $num;
mysql_close($dbh);
} else {
//echo "$bd/$dir$sub:could not open configuration.php or database:\n";
}
Expand Down
26 changes: 11 additions & 15 deletions get_registered_users_munin.php
Original file line number Diff line number Diff line change
Expand Up @@ -96,40 +96,36 @@ function get_registrations($bd, $sub)
//check the existence of configuration.php
$config_file = '';
if (is_file($bd.'/'.$dir.$sub.'/app/config/configuration.php')) {
// Chamilo 1.10
// Chamilo 1.10+
$config_file = $bd.'/'.$dir.$sub.'/app/config/configuration.php';
} elseif (is_file($bd.'/'.$dir.$sub.'/main/inc/conf/configuration.php')) {
// Chamilo 1.9
$config_file = $bd.'/'.$dir.$sub.'/main/inc/conf/configuration.php';
}
if (!empty($config_file)) {
$_configuration = [];
$inc = include_once($config_file);
$dbh = mysqli_connect($_configuration['db_host'], $_configuration['db_user'],
$_configuration['db_password']);
$dsn = 'mysql:dbname='.$_configuration['main_database'].';host='.$_configuration['db_host'];
try {
$dbh = new PDO($dsn, $_configuration['db_user'], $_configuration['db_password']);
} catch (PDOException $e) {
die('Failed to connect to database: '.$e->getMessage());
}
if ($inc !== false && $dbh !== false) {
$db = $_configuration['main_database'];
$current_date = date('Y-m-d H:i:s', time());
$user_table = $db.'.user';
$query = "SELECT count(user_id) ".
" FROM ".$user_table;
//echo $query."\n";
$res = mysqli_query($dbh, $query);
$query = "SELECT count(user_id) FROM user";
$res = $dbh->query($query);
if ($res === false) {
$num = 0;
} else {
$row = mysqli_fetch_row($res);
$row = $res->fetch();
$num = $row[0];
}
//echo sprintf("[%7d]",$num)." users connected to ".$_configuration['root_web']." last $last_connect_minutes'\n";
$cut_point = 7;
if (substr($_configuration['root_web'], 0, 5) == 'https') {
$cut_point = 8;
}
$connections[str_replace('.', '_', substr($_configuration['root_web'], $cut_point, -1))] = $num;
$match_count += $num;
mysqli_close($dbh);
} else {
//echo "$bd/$dir$sub:could not open configuration.php or database:\n";
}
}
}
Expand Down

0 comments on commit aa92674

Please sign in to comment.