function mysql_admin_events_check($nopid = false) { $f = array(); $unix = new unix(); if ($nopid) { $pidfile = "/etc/artica-postfix/pids/" . basename(__FILE__) . "." . __FUNCTION__ . ".pid"; $pid = @file_get_contents($pidfile); if ($unix->process_exists($pid)) { writelogs("Already running pid {$pid}", __FUNCTION__, __FILE__, __LINE__); return; } $t = 0; } $q = new mysql(); if (!$q->TABLE_EXISTS('mysql_events', 'artica_events')) { $q->BuildTables(); } $users = new usersMenus(); $hostname = $users->hostname; $prefix = "INSERT IGNORE INTO mysql_events (`zDate`,`function`,`process`,`line`,`description`,`category`,`servername`) VALUES "; @mkdir("{$GLOBALS["ARTICALOGDIR"]}/mysql_admin_events", 0755, true); if (!($handle = opendir("{$GLOBALS["ARTICALOGDIR"]}/mysql_admin_events"))) { return; } $countDeFiles = 0; while (false !== ($filename = readdir($handle))) { if ($filename == ".") { continue; } if ($filename == "..") { continue; } $filename = "{$GLOBALS["ARTICALOGDIR"]}/mysql_admin_events/{$filename}"; $timeFile = $unix->file_time_min($filename); if ($timeFile > 240) { @unlink($filename); continue; } $array = unserialize(@file_get_contents($filename)); if (!is_array($array)) { @unlink($filename); continue; } $array["text"] = addslashes($array["text"]); $f[] = "('{$array["zdate"]}','{$array["function"]}','{$array["file"]}','{$array["line"]}','{$array["text"]}','{$array["category"]}','{$hostname}')"; @unlink($filename); if (count($f) > 500) { $sql = $prefix . @implode(",", $f); $q->QUERY_SQL($sql, "artica_events"); if (!$q->ok) { writelogs("{$q->mysql_error}", __FUNCTION__, __FILE__, __LINE__); } $f = array(); } } if (count($f) > 0) { $sql = $prefix . @implode(",", $f); $q->QUERY_SQL($sql, "artica_events"); if (!$q->ok) { writelogs("{$q->mysql_error}", __FUNCTION__, __FILE__, __LINE__); } } update_events_check(); }
function mysql_admin_events_check($nopid = false) { $f = array(); if ($nopid) { $unix = new unix(); $pidfile = "/etc/artica-postfix/pids/" . basename(__FILE__) . "." . __FUNCTION__ . ".pid"; $pid = @file_get_contents($pidfile); if ($unix->process_exists($pid)) { writelogs("Already running pid {$pid}", __FUNCTION__, __FILE__, __LINE__); return; } $t = 0; } $q = new mysql(); if (!$q->TABLE_EXISTS('mysql_events', 'artica_events')) { $q->BuildTables(); } if (!$q->TABLE_EXISTS('mysql_events', 'artica_events', true)) { return; } $users = new usersMenus(); $hostname = $users->hostname; $prefix = "INSERT IGNORE INTO mysql_events (`zDate`,`function`,`process`,`line`,`description`,`category`,`servername`) VALUES "; foreach (glob("{$GLOBALS["ARTICALOGDIR"]}/mysql_admin_events/*") as $filename) { $array = unserialize(@file_get_contents($filename)); if (!is_array($array)) { $array["text"] = basename($filename) . " is not an array, skip event " . @file_get_contents($filename); $array["date"] = date('Y-m-d H:i:s'); $array["pid"] = getmypid(); $array["function"] = __FUNCTION__; $array["category"] = "parser"; $array["file"] = basename(__FILE__); $array["line"] = __LINE__; } $array["text"] = addslashes($array["text"]); $f[] = "('{$array["zdate"]}','{$array["function"]}','{$array["file"]}','{$array["line"]}','{$array["text"]}','{$array["category"]}','{$hostname}')"; @unlink($filename); } if (count($f) > 0) { $sql = $prefix . @implode(",", $f); $q->QUERY_SQL($sql, "artica_events"); if (!$q->ok) { writelogs("{$q->mysql_error}", __FUNCTION__, __FILE__, __LINE__); } } update_events_check(); }