$sites=$app->db->queryAllRecords("SELECT domain_id, document_root, fastcgi_php_version FROM web_domain WHERE jailkit_jkupdate_cron = 'y' AND type = 'vhost' AND parent_domain_id = 0 AND document_root != '' ORDER BY domain_id");
foreach($sitesas$site){
$set_php_symlink=false;
$users=$app->db->queryOneRecord("SELECT COUNT(*) AS user_count FROM shell_user WHERE parent_domain_id = ? AND active='y' AND chroot='jailkit'",intval($site['domain_id']));
$crons=$app->db->queryOneRecord("SELECT COUNT(*) AS cron_count FROM cron WHERE parent_domain_id = ? AND active='y' AND type='chrooted'",$site['domain_id']);
$app->log('Unable to connect to the database'.mysqli_connect_error(),LOGLEVEL_DEBUG);
return;
}
}
/* Get database-size from information_schema */
$result=$db->_query("SELECT SUM(data_length+index_length) FROM information_schema.TABLES WHERE table_schema='".$db->escape($database_name)."'");
$result=mysqli_query($link,"SELECT SUM(data_length+index_length) FROM information_schema.TABLES WHERE table_schema='".mysqli_real_escape_string($link,$database_name)."'");
if(!$result){
if(!$result){
$app->log('Unable to get the database-size for '.$database_name.': '.mysqli_error($link),LOGLEVEL_DEBUG);
$db->_sqlerror('Unable to determine the size of database '.$database_name);
return;
return;
}
}
$database_size=mysqli_fetch_row($result);
$database_size=$result->getAsRow();
mysqli_close($link);
$result->free();
return$database_size[0];
return$database_size[0]?$database_size[0]:0;
}
}
//** Function to fill the datalog with a full differential record.
//** Function to fill the datalog with a full differential record.
if(!preg_match('/^[a-zA-Z0-9\-\_\.]{1,64}$/',$tablename))$app->error('Invalid table name '.$tablename);
if(!preg_match('/^[a-zA-Z0-9\-\_]{1,64}$/',$index_field))$app->error('Invalid index field '.$index_field.' in table '.$tablename);
$old_rec=$this->queryOneRecord("SELECT * FROM ?? WHERE ?? = ?",$tablename,$index_field,$index_value);
$old_rec=$this->queryOneRecord("SELECT * FROM ?? WHERE ?? = ?",$tablename,$index_field,$index_value);
$this->query("DELETE FROM ?? WHERE ?? = ?",$tablename,$index_field,$index_value);
$this->query("DELETE FROM ?? WHERE ?? = ?",$tablename,$index_field,$index_value);
$new_rec=array();
$new_rec=array();
...
@@ -709,6 +825,26 @@ class db
...
@@ -709,6 +825,26 @@ class db
returntrue;
returntrue;
}
}
//* get the current datalog status for the specified login (or currently logged in user)
publicfunctiondatalogStatus($login=''){
global$app;
$return=array('count'=>0,'entries'=>array());
if($login==''&&isset($_SESSION['s']['user'])){
$login=$_SESSION['s']['user']['username'];
}
$result=$this->queryAllRecords("SELECT COUNT( * ) AS cnt, sys_datalog.action, sys_datalog.dbtable FROM sys_datalog, server WHERE server.server_id = sys_datalog.server_id AND sys_datalog.user = ? AND sys_datalog.datalog_id > server.updated GROUP BY sys_datalog.dbtable, sys_datalog.action",$login);
foreach($resultas$row){
if(!$row['dbtable']||in_array($row['dbtable'],array('aps_instances','aps_instances_settings','mail_access','mail_content_filter')))continue;// ignore some entries, maybe more to come