function popup_list() { include_once 'ressources/class.freeweb.inc'; $MyPage = CurrentPageName(); $tpl = new templates(); $data = array(); $data['page'] = 1; $data['total'] = 0; $data['rows'] = array(); $t = $_GET["t"]; $sql = "SELECT datasbackup FROM backup_schedules WHERE ID='{$_GET["ID"]}'"; $q = new mysql(); $ligne = @mysql_fetch_array($q->QUERY_SQL($sql, "artica_backup")); $ressources = unserialize(base64_decode($ligne["datasbackup"])); $c = 0; if (is_array($ressources)) { while (list($num, $val) = each($ressources)) { if (is_array($val)) { continue; } $val = str_replace("all", "{BACKUP_ALL_MEANS}", $val); if (preg_match("#MYSQLINSTANCE:([0-9]+)#", $val, $re)) { $sql = "SELECT servername FROM mysqlmulti WHERE ID={$re[1]}"; $ligne2 = @mysql_fetch_array($q->QUERY_SQL($sql, "artica_backup")); $MysqlInstanceName = $ligne2["servername"]; $val = "{mysql_instance_databases} «{$MysqlInstanceName}»"; } if (preg_match("#FREEWEB:(.+)#", $val, $re)) { $free = new freeweb($re[1]); $val = "{website} «{$re[1]}»"; } if (preg_match("#WEBGET:(.+)#", $val, $re)) { $arr = unserialize(base64_decode($re[1])); if ($arr["AutoRestore"] == 1) { $AutorestoreText = " {and} {auto-restore} {to} {$arr["AutoRestoreSiteName"]}"; } $val = "<a href=\"javascript:blur();\"\n\t\t\tOnClick=\"javascript:Loadjs('backup.sources.WebGet.php?taskid={$_GET["ID"]}&index={$num}');\"\n\t\t\tstyle='text-decoration:underline;font-weight:bold'>WebGET {remote_artica_server} «{$arr["RemoteArticaSite"]}»</a><br>{from}: «{$arr["RemoteArticaServer"]}»{$AutorestoreText}"; } $val = $tpl->_ENGINE_parse_body($val); $c++; $data['rows'][] = array('id' => $num, 'cell' => array("<STRONG style='font-size:14px'>{$num}</STRONG>", "<code style='font-size:14px;font-weight:bold'>{$val}</code>", imgsimple("delete-24.png", "{delete}", "DELETE_BACKUP_SOURCES{$t}({$_GET["ID"]},{$num})"))); } } $folder = $tpl->_ENGINE_parse_body("{folder}"); $sql = "SELECT * FROM backup_folders WHERE taskid={$_GET["ID"]}"; $results = $q->QUERY_SQL($sql, "artica_backup"); while ($ligne = @mysql_fetch_array($results, MYSQL_ASSOC)) { $c++; if ($ligne["recursive"] == 1) { $ligne["recursive"] = "{enabled}"; } else { $ligne["recursive"] = "{disabled}"; } $ligne["recursive"] = $tpl->_ENGINE_parse_body($ligne["recursive"]); $id = md5(base64_decode($ligne["path"])); $data['rows'][] = array('id' => $id, 'cell' => array("<STRONG style='font-size:14px'>{$folder} ({$ligne["recursive"]})</STRONG>", "<code style='font-size:14px;font-weight:bold'><code>" . base64_decode($ligne["path"]) . "</code></code>", " ")); } $data['total'] = $c; echo json_encode($data); }
function time_save() { $ID = $_POST["time-save"]; $array_days = array(1 => "monday", 2 => "tuesday", 3 => "wednesday", 4 => "thursday", 5 => "friday", 6 => "saturday", 7 => "sunday"); while (list($num, $maks) = each($array_days)) { if ($_POST["D{$num}"] == 1) { $TTIME["D{$num}"] = 1; } } $TTIME["ttime"] = $_POST["ttime"]; $TTIME["ftime"] = $_POST["ftime"]; $rule1 = strtotime(date("Y-m-d") . " {$TTIME["ftime"]}"); $rule2 = strtotime(date("Y-m-d") . " {$TTIME["ttime"]}"); if ($rule1 > $rule2) { $tpl = new templates(); echo $tpl->javascript_parse_text("{fwtime_explain}"); return; } $TTIMEZ = mysql_escape_string2(serialize($TTIME)); $q = new mysql(); if (!$q->FIELD_EXISTS("iptables_main", "time_restriction", "artica_backup")) { $sql = "ALTER TABLE `iptables_main` ADD `time_restriction` TEXT"; $q->QUERY_SQL($sql, "artica_backup"); } if (!$q->FIELD_EXISTS("iptables_main", "enablet", "artica_backup")) { $sql = "ALTER TABLE `iptables_main` ADD `enablet` smallint( 1 ) NOT NULL DEFAULT '0',ADD INDEX ( enablet ) "; $q->QUERY_SQL($sql, "artica_backup"); } $sql = "UPDATE iptables_main SET `enablet`='{$_POST["enablet"]}',`time_restriction`='{$TTIMEZ}' WHERE ID='{$ID}'"; $q->QUERY_SQL($sql, "artica_backup"); if (!$q->ok) { echo $q->mysql_error . "\n{$sql}"; } }
function ActionItem() { $servicename = $_GET["servicename"]; $selected = $_GET["selected"]; $t = $_GET["t"]; $q = new mysql(); $ARRAY = array(); if ($selected == 1) { $sql = "SELECT ID,groupname FROM haproxy_backends_groups WHERE servicename='{$servicename}'"; $results = $q->QUERY_SQL($sql, 'artica_backup'); while ($ligne = mysql_fetch_assoc($results)) { $ARRAY[$ligne["ID"]] = $ligne["groupname"]; } echo field_array_Hash($ARRAY, "rule_action_data-{$t}", $_GET["rule_action_data"], "blur()", null, 0, "font-size:22px", false); return; } if ($selected == 2) { $sql = "SELECT ID,backendname FROM haproxy_backends WHERE servicename='{$servicename}'"; $results = $q->QUERY_SQL($sql, 'artica_backup'); while ($ligne = mysql_fetch_assoc($results)) { $ARRAY[$ligne["ID"]] = $ligne["backendname"]; } echo field_array_Hash($ARRAY, "rule_action_data-{$t}", $_GET["rule_action_data"], "blur()", null, 0, "font-size:22px", false); return; } if ($selected == 3) { $ARRAY[null] = "{deny}"; echo field_array_Hash($ARRAY, "rule_action_data-{$t}", $_GET["rule_action_data"], "blur()", null, 0, "font-size:22px", false); } }
function Save() { $q = new mysql(); if (!$q->TABLE_EXISTS("storage_containers", "artica_backup")) { $sql = "CREATE TABLE IF NOT EXISTS `artica_backup`.`storage_containers` (\n\t\t\t\t`groupid` VARCHAR( 255 ) NOT NULL,\n\t\t\t\t`enabled` smallint( 1 ) NOT NULL,\n\t\t\t\t`maxsize` INT UNSIGNED ,\n\t\t\t\t`directory` VARCHAR( 255 ) NOT NULL,\n\t\t\t\t PRIMARY KEY ( `groupid` ),\n\t\t\t\t KEY `enabled`(`enabled`)\n\t\t\t\t) ENGINE=MYISAM;"; $q->QUERY_SQL($sql, 'artica_backup'); if (!$q->ok) { echo $q->mysql_error; return; } } $_POST["directory"] = mysql_escape_string2($_POST["directory"]); $gid = mysql_escape_string2($_POST["gid"]); $ligne = mysql_fetch_array($q->QUERY_SQL("SELECT * FROM storage_containers WHERE `groupid`='{$gid}'", "artica_backup")); //echo "$gid = {$ligne["directory"]} Enabled={$_POST["enabled"]}\n"; if ($ligne["directory"] != null) { $q->QUERY_SQL("UPDATE storage_containers SET `maxsize`='{$_POST["maxsize"]}',\n\t\tenabled='{$_POST["enabled"]}',`directory`='{$_POST["directory"]}' WHERE `groupid`='{$gid}'", "artica_backup"); } else { $q->QUERY_SQL("INSERT IGNORE INTO storage_containers (groupid,enabled,maxsize,`directory`)\n\t\t\t\tVALUES ('{$gid}','{$_POST["enabled"]}','{$_POST["maxsize"]}','{$_POST["directory"]}')", "artica_backup"); } if (!$q->ok) { echo $q->mysql_error; return; } }
function BuildDayTable() { $q = new mysql(); $q->BuildTables(); if (!$q->TABLE_EXISTS('smtp_logs_day', 'artica_events')) { send_email_events("Mysql error on smtp_logs_day table", "Artica was unable to create or detect smtp_logs_day table...", "system"); return false; } $today = date('Y-m-d'); $sql = "SELECT COUNT(id) as tcount,delivery_domain,DATE_FORMAT(time_stamp,'%Y-%m-%d') as tdate,bounce_error FROM \n\tsmtp_logs \n\tGROUP BY delivery_domain,tdate,bounce_error HAVING tdate<'{$today}' ORDER BY tdate DESC"; $q = new mysql(); $results = $q->QUERY_SQL($sql, "artica_events"); if (!$q->ok) { echo "Wrong sql query {$q->mysql_error}\n"; write_syslog("Wrong sql query {$q->mysql_error}", __FILE__); return false; } while ($ligne = mysql_fetch_array($results, MYSQL_ASSOC)) { $count = $count + 1; $emails = $ligne["tcount"]; $delivery_domain = $ligne["delivery_domain"]; $date = $ligne["tdate"]; $bounce_error = $ligne["bounce_error"]; $md5 = md5($delivery_domain . $date . $bounce_error . $emails); $sql = "INSERT IGNORE INTO smtp_logs_day (`key`,`day`,`delivery_domain`,`bounce_error`,`emails`)\n\t\tVALUES('{$md5}','{$date}','{$delivery_domain}','{$bounce_error}','{$emails}')"; $q->QUERY_SQL($sql, "artica_events"); if (!$q->ok) { echo "Wrong sql query {$q->mysql_error}\n"; write_syslog("Wrong sql query \"{$sql}\" {$q->mysql_error}", __FILE__); return false; } } return true; }
function create_user_from_mysql() { $q = new mysql(); ini_set('display_errors', 1); ini_set('error_reporting', E_ALL); ini_set('error_prepend_string', null); ini_set('error_append_string', null); $GLOBALS["WAIT"] = true; build_progress("{start}", 10); $results = $q->QUERY_SQL("SELECT * FROM CreateUserQueue", "artica_backup"); if (!$q->ok) { echo $q->mysql_error; build_progress("MySQL error", 110); return; } @mkdir("/usr/share/artica-postfix/ressources/logs/web/create-users", 0755, true); echo mysql_num_rows($results) . " member(s) to create...\n"; while ($ligne = @mysql_fetch_array($results, MYSQL_ASSOC)) { $zMD5 = $ligne["zMD5"]; $content = $ligne["content"]; @file_put_contents("/usr/share/artica-postfix/ressources/logs/web/create-users/{$zMD5}", $content); if (create_user($zMD5)) { build_progress("{removing_order}", 95); $q->QUERY_SQL("DELETE FROM `CreateUserQueue` WHERE `zMD5`='{$zMD5}'", "artica_backup"); } else { $q->QUERY_SQL("DELETE FROM `CreateUserQueue` WHERE `zMD5`='{$zMD5}'", "artica_backup"); build_progress("{failed}", 110); return; } } build_progress("{done}", 100); }
function STREAM_LINE() { $sock = new sockets(); $EnableWebProxyStatsAppliance = $sock->GET_INFO("EnableWebProxyStatsAppliance"); if (!is_numeric($EnableWebProxyStatsAppliance)) { $EnableWebProxyStatsAppliance = 0; } if ($EnableWebProxyStatsAppliance == 0) { writelogs("EnableWebProxyStatsAppliance={$EnableWebProxyStatsAppliance} from " . $_SERVER["REMOTE_ADDR"] . " (aborting)", __FUNCTION__, __FILE__, __LINE__); die; } $q = new mysql(); $sql = base64_decode($_POST["STREAM_LINE"]); $q->BuildTables(); $hostname = $_POST["HOSTNAME"]; $q->QUERY_SQL("DELETE FROM youtubecache WHERE proxyname='{$hostname}'", "artica_events"); $q->QUERY_SQL($sql, "artica_events"); if ($sql == null) { return; } if (!$q->QUERY_SQL($sql, "artica_events")) { writelogs("Received " . strlen($sql) . " bytes from " . $_SERVER["REMOTE_ADDR"] . " ({$_POST["HOSTNAME"]}) (failed)", __FUNCTION__, __FILE__, __LINE__); writelogs("Mysql error: `{$q->mysql_error}`", __FUNCTION__, __FILE__, __LINE__); writelogs("Mysql error: -------------------", __FUNCTION__, __FILE__, __LINE__); writelogs("{$sql}", __FUNCTION__, __FILE__, __LINE__); writelogs("Mysql error: -------------------", __FUNCTION__, __FILE__, __LINE__); echo "{$q->mysql_error}\n"; die; } writelogs("Received " . strlen($sql) . " bytes from " . $_SERVER["REMOTE_ADDR"] . " (success)", __FUNCTION__, __FILE__, __LINE__); echo "<ANSWER>OK</ANSWER>\n"; }
function SAVE_SCRIPT() { $gpid = $_POST["gpid"]; $_POST["script_data"] = stripslashes($_POST["script_data"]); $_POST["script_data"] = str_replace("\n\n", "\n", $_POST["script_data"]); $datas = base64_encode($_POST["script_data"]); $sql = "SELECT gpid FROM logon_scripts WHERE gpid={$gpid}"; $q = new mysql(); $ligne = mysql_fetch_array($q->QUERY_SQL($sql, "artica_backup")); $sql_edit = "UPDATE logon_scripts SET script_code='{$datas}' WHERE gpid={$gpid}"; $sql_add = "INSERT INTO logon_scripts(gpid,script_code) VALUES({$gpid},'{$datas}');"; if ($ligne["gpid"] == null) { $sql = $sql_add; } else { $sql = $sql_edit; } $q->QUERY_SQL($sql, "artica_backup"); if (!$q->ok) { echo $q->mysql_error; } else { $tpl = new templates(); echo $tpl->javascript_parse_text("{success}"); $sock = new sockets(); $sock->getFrameWork("cmd.php?smb-logon-scripts=yes"); } }
function SAVE_SCRIPT() { $uid = $_POST["uid"]; $_POST["script_data"] = url_decode_special_tool($_POST["script_data"]); $_POST["script_data"] = str_replace("\n\n", "\n", $_POST["script_data"]); $datas = base64_encode($_POST["script_data"]); $sql = "SELECT uid FROM logon_scriptsusers WHERE uid='{$uid}'"; $q = new mysql(); $ligne = mysql_fetch_array($q->QUERY_SQL($sql, "artica_backup")); $sql_edit = "UPDATE logon_scriptsusers SET script_code='{$datas}' WHERE uid='{$uid}'"; $sql_add = "INSERT INTO logon_scriptsusers(uid,script_code) VALUES('{$uid}','{$datas}');"; if ($ligne["uid"] == null) { $sql = $sql_add; } else { $sql = $sql_edit; } $q->QUERY_SQL($sql, "artica_backup"); if (!$q->ok) { echo $q->mysql_error; } else { $tpl = new templates(); echo $tpl->javascript_parse_text("{success}"); $sock = new sockets(); $sock->getFrameWork("samba.php?smb-logon-scripts-user={$uid}"); } }
function checkGreenTables() { $q = new mysql(); if (!$q->TABLE_EXISTS("query", "greensql")) { echo "Starting......: " . date("H:i:s") . " GreenSQL creating query table\n"; $sql = "CREATE table query(\n\t\tqueryid int unsigned NOT NULL auto_increment primary key,\n\t\tproxyid int unsigned NOT NULL default '0',\n\t\tperm smallint unsigned NOT NULL default 1,\n\t\tdb_name char(50) NOT NULL,\n\t\tquery text NOT NULL,\n\t\tINDEX(proxyid,db_name)\n\t\t) DEFAULT CHARSET=utf8;\n\t\t"; $q->QUERY_SQL($sql, "greensql"); if (!$q->ok) { echo "Starting......: " . date("H:i:s") . " GreenSQL failed {$q->mysql_error}\n"; } } if (!$q->TABLE_EXISTS("proxy", "greensql")) { echo "Starting......: " . date("H:i:s") . " GreenSQL creating proxy table\n"; $sql = "\n\t\t\tCREATE table proxy\n\t\t\t(\n\t\t\tproxyid int unsigned NOT NULL auto_increment primary key,\n\t\t\tproxyname char(50) NOT NULL default '',\n\t\t\tfrontend_ip char(20) NOT NULL default '',\n\t\t\tfrontend_port smallint unsigned NOT NULL default 0,\n\t\t\tbackend_server char(50) NOT NULL default '',\n\t\t\tbackend_ip char(20) NOT NULL default '',\n\t\t\tbackend_port smallint unsigned NOT NULL default 0,\n\t\t\tdbtype char(20) NOT NULL default 'mysql',\n\t\t\tstatus smallint unsigned NOT NULL default '1'\n\t\t\t) DEFAULT CHARSET=utf8;"; $q->QUERY_SQL($sql, "greensql"); if (!$q->ok) { echo "Starting......: " . date("H:i:s") . " GreenSQL failed {$q->mysql_error}\n"; } $q->QUERY_SQL("insert into proxy values (1,'Default MySQL Proxy','127.0.0.1',3305,'localhost','127.0.0.1',3306,'mysql',1);", "greensql"); $q->QUERY_SQL("insert into proxy values (2,'Default PgSQL Proxy','127.0.0.1',5431,'localhost','127.0.0.1',5432,'pgsql',1);", "greensql"); } if (!$q->TABLE_EXISTS("db_perm", "greensql")) { echo "Starting......: " . date("H:i:s") . " GreenSQL creating db_perm table\n"; $sql = "CREATE table db_perm\n\t\t\t(\n\t\t\tdbpid int unsigned NOT NULL auto_increment primary key,\n\t\t\tproxyid int unsigned NOT NULL default '0',\n\t\t\tdb_name char(50) NOT NULL,\n\t\t\tperms bigint unsigned NOT NULL default '0',\n\t\t\tperms2 bigint unsigned NOT NULL default '0',\n\t\t\tstatus smallint unsigned NOT NULL default '0',\n\t\t\tsysdbtype char(20) NOT NULL default 'user_db',\n\t\t\tstatus_changed datetime NOT NULL default '00-00-0000 00:00:00',\n\t\t\tINDEX (proxyid, db_name)\n\t\t\t) DEFAULT CHARSET=utf8;"; $q->QUERY_SQL($sql, "greensql"); if (!$q->ok) { echo "Starting......: " . date("H:i:s") . " GreenSQL failed {$q->mysql_error}\n"; } $q->QUERY_SQL("insert into db_perm (dbpid, proxyid, db_name, sysdbtype) values (1,0,'default mysql db', 'default_mysql');", "greensql"); $q->QUERY_SQL("insert into db_perm (dbpid, proxyid, db_name, sysdbtype) values (2,0,'no-name mysql db', 'empty_mysql');", "greensql"); $q->QUERY_SQL("insert into db_perm (dbpid, proxyid, db_name, sysdbtype) values (3,0,'default pgsql db', 'default_pgsql');", "greensql"); } if (!$q->TABLE_EXISTS("admin", "greensql")) { echo "Starting......: " . date("H:i:s") . " GreenSQL creating admin table\n"; $sql = "CREATE table admin(\n\t\t\tadminid int unsigned NOT NULL auto_increment primary key,\n\t\t\tname char(50) NOT NULL default '',\n\t\t\tpwd char(50) NOT NULL default '',\n\t\t\temail char(50) NOT NULL default ''\n\t\t\t) DEFAULT CHARSET=utf8;"; $q->QUERY_SQL($sql, "greensql"); if (!$q->ok) { echo "Starting......: " . date("H:i:s") . " GreenSQL failed {$q->mysql_error}\n"; } $q->QUERY_SQL("insert into admin values(1,'admin',sha1('pwd'),'');", "greensql"); } if (!$q->TABLE_EXISTS("alert", "greensql")) { echo "Starting......: " . date("H:i:s") . " GreenSQL creating alert table\n"; $sql = "CREATE table alert\n\t\t\t(\n\t\t\talertid int unsigned NOT NULL auto_increment primary key,\n\t\t\tagroupid int unsigned NOT NULL default '0',\n\t\t\tevent_time datetime NOT NULL default '00-00-0000 00:00:00',\n\t\t\trisk smallint unsigned NOT NULL default '0',\n\t\t\tblock smallint unsigned NOT NULL default '0',\n\t\t\tdbuser varchar(50) NOT NULL default '',\n\t\t\tuserip varchar(50) NOT NULL default '',\n\t\t\tquery text NOT NULL,\n\t\t\treason text NOT NULL,\n\t\t\tINDEX (agroupid)\n\t\t\t) DEFAULT CHARSET=utf8;"; $q->QUERY_SQL($sql, "greensql"); if (!$q->ok) { echo "Starting......: " . date("H:i:s") . " GreenSQL failed {$q->mysql_error}\n"; } } if (!$q->TABLE_EXISTS("alert_group", "greensql")) { echo "Starting......: " . date("H:i:s") . " GreenSQL creating alert_group table\n"; $sql = "CREATE table alert_group(\n\t\t\tagroupid int unsigned NOT NULL auto_increment primary key,\n\t\t\tproxyid int unsigned NOT NULL default '1',\n\t\t\tdb_name char(50) NOT NULL default '',\n\t\t\tupdate_time datetime NOT NULL default '00-00-0000 00:00:00',\n\t\t\tstatus smallint NOT NULL default 0,\n\t\t\tpattern text NOT NULL,\n\t\t\tINDEX(update_time)\n\t\t\t)"; $q->QUERY_SQL($sql, "greensql"); if (!$q->ok) { echo "Starting......: " . date("H:i:s") . " GreenSQL failed {$q->mysql_error}\n"; } } echo "Starting......: " . date("H:i:s") . " GreenSQL check tables done...\n"; }
function PommoReset() { $q = new mysql(); $ldap = new clladp(); $sql = "UPDATE pommo_config SET config_value ='{$ldap->ldap_admin}' WHERE config_name='admin_username'"; $q->QUERY_SQL($sql, 'pommo'); $sql = "UPDATE pommo_config SET config_value ='" . md5($ldap->ldap_password) . " WHERE config_name='admin_password'"; $q->QUERY_SQL($sql, 'pommo'); $tpl = new templates(); echo $tpl->_ENGINE_parse_body('{restore_admin_text}'); }
function popup() { $tpl = new templates(); $time = time(); echo "<div style='width:98%' class=form>"; $sql = "SELECT DATE_FORMAT(zDate,'%H') as tdate,AVG(download) as tbandwith FROM speedtests \n\tWHERE DATE_FORMAT(zDate,'%Y-%m-%d')=DATE_FORMAT(NOW(),'%Y-%m-%d') \n\tGROUP BY DATE_FORMAT(zDate,'%H')\n\tORDER BY zDate"; $q = new mysql(); $results = $q->QUERY_SQL($sql, "artica_events"); if (!$q->ok) { echo "<H2>{$q->mysql_error}</H2><code>{$sql}</code>"; return; } $fileName = "ressources/logs/web/bandwith-day.png"; $g = new artica_graphs($fileName, 10); if (mysql_num_rows($results) > 1) { while ($ligne = @mysql_fetch_array($results, MYSQL_ASSOC)) { $g->ydata[] = round($ligne["tbandwith"], 0); $g->xdata[] = $ligne["tdate"]; } $g->title = $tpl->_ENGINE_parse_body("{today}: {bandwith} KBi/s"); $g->x_title = "hours"; $g->y_title = null; $g->width = 650; $g->line_green(); @chmod($fileName, 0777); echo "<center style='margin:5px'><img src='ressources/logs/web/bandwith-day.png?{$time}'</center>"; } $sql = "SELECT YEARWEEK(zDate) as tweek,AVG(download) as tbandwith,DAYOFMONTH(zDate) as tdate \nFROM speedtests WHERE YEARWEEK(zDate)=YEARWEEK(NOW()) GROUP BY DAYOFMONTH(zDate) ORDER BY DAYOFMONTH(zDate) "; $results = $q->QUERY_SQL($sql, "artica_events"); if (!$q->ok) { echo "<H2>{$q->mysql_error}</H2><code>{$sql}</code>"; return; } $fileName = "ressources/logs/web/bandwith-week.png"; $g = new artica_graphs($fileName, 10); if (mysql_num_rows($results) > 1) { while ($ligne = @mysql_fetch_array($results, MYSQL_ASSOC)) { $g->ydata[] = round($ligne["tbandwith"], 0); $g->xdata[] = $ligne["tdate"]; } $g->title = $tpl->_ENGINE_parse_body("{this_week}: {bandwith} KBi/s"); $g->x_title = "day"; $g->y_title = null; $g->width = 650; $g->line_green(); @chmod($fileName, 0777); echo "<center style='margin:5px'><img src='ressources/logs/web/bandwith-week.png?{$time}'</center>"; } echo "</div>"; }
function CleanSmtp_events_database() { $sock = new sockets(); $ini = new Bs_IniHandler(); $ini->loadString($sock->GET_INFO("RTMMailConfig")); if ($ini->_params["ENGINE"]["LOG_DAY_LIMIT"] == null) { $ini->_params["ENGINE"]["LOG_DAY_LIMIT"] = "20"; } $today = date('Y-m-d'); $sql = "DELETE FROM smtp_logs WHERE time_stamp < DATE_ADD( '{$today}', INTERVAL -{$ini->_params["ENGINE"]["LOG_DAY_LIMIT"]} DAY )"; $q = new mysql(); $q->QUERY_SQL($sql, 'artica_events'); $sql = "OPTIMIZE TABLE `smtp_logs`"; $q->QUERY_SQL($sql, 'artica_events'); }
function Save() { $sock = new sockets(); $disksize = $_POST["disksize"]; $UpdateUtilityStorePath = $_POST["UpdateUtilityStorePath"]; $HardDriveSizeMB = unserialize(base64_decode($sock->getFrameWork("system.php?HardDriveDiskSizeMB=" . base64_encode($UpdateUtilityStorePath)))); if (!is_array($HardDriveSizeMB)) { echo "Fatal Error Cannot retreive information for `{$UpdateUtilityStorePath}`"; return; } if ($disksize < 2500) { echo "Fatal 2500MB minimal size"; return; } $AVAILABLEMB = $HardDriveSizeMB["AVAILABLE"]; if ($AVAILABLEMB < $disksize) { $T = $disksize - $AVAILABLEMB; echo "Fatal Error : Available: {$AVAILABLEMB}MB, need at least {$T}MB"; return; } $sql = "INSERT INTO loop_disks (`path`,`size`,`disk_name`,`maxfds`) VALUES ('{$UpdateUtilityStorePath}','{$disksize}','UpdateUtility','25000')"; $q = new mysql(); $q->QUERY_SQL($sql, "artica_backup"); if (!$q->ok) { echo $q->mysql_error; return; } $sock = new sockets(); $sock->SET_INFO("UpdateUtilityUseLoop", 1); $sock->getFrameWork("lvm.php?loopcheck=yes"); $sock->getFrameWork("freeweb.php?reconfigure-updateutility=yes"); }
function cnx_list() { $page = CurrentPageName(); $tpl = new templates(); $html = "\n\t<table cellspacing='0' cellpadding='0' border='0' class='tableView' style='width:100%'>\n<thead class='thead'>\n\t<tr>\n\t\t<th>{$refresh}</th>\n\t\t<th>{date}</th>\n\t\t<th>{server}</th>\n\t\t<th>{member}</th>\n\t\t<th>{panel}</th>\n\t\t<th>{ipaddr}</th>\n\t</tr>\n</thead>\n<tbody class='tbody'>"; $sql = "SELECT * FROM admin_cnx ORDER BY connected DESC LIMIT 0,100"; $q = new mysql(); $results = $q->QUERY_SQL($sql, "artica_events"); while ($ligne = @mysql_fetch_array($results, MYSQL_ASSOC)) { if ($classtr == "oddRow") { $classtr = null; } else { $classtr = "oddRow"; } if ($ligne["uid"] == -100) { $uid = "Manager"; } else { $u = new user($ligne["uid"]); $uid = $u->DisplayName; } $date = date('H:i:s', strtotime($ligne["connected"])); $html = $html . "<tr class={$classtr}>\n\t\t<td width=1%><img src='img/user-32.png'></td>\n\t\t<td style='font-size:11px'>{$date}</td>\n\t\t<td style='font-size:11px'>{$ligne["webserver"]}</td>\n\t\t<td style='font-size:11px'>{$uid}</td>\n\t\t<td style='font-size:11px'>{$ligne["InterfaceType"]}</td>\n\t\t<td style='font-size:11px'>{$ligne["ipaddr"]} ({$ligne["hostname"]})</td>\n\t\t</tr>\n\t\t\n\t\t"; } $html = $html . "</table>"; echo $tpl->_ENGINE_parse_body($html); }
function infos() { $q = new mysql(); $page = CurrentPageName(); $tpl = new templates(); $q = new mysql(); $sql = "SELECT * FROM kav4proxy_license ORDER BY expiredate DESC LIMIT 0,1"; $ligne = mysql_fetch_array($q->QUERY_SQL($sql, "artica_backup")); $expiredate_color = "black"; $expiredate = $ligne["expiredate"]; $expiredate = strtotime($expiredate); $button = "<hr><div style='width:100%;text-align:right'>" . button("{license_manager}", "YahooWin5Hide();Loadjs('Kav4Proxy.license-manager.php')", 18) . "</div>"; if ($expiredate - time() < 0) { $expiredate_color = "#B60000"; $button = "<hr><div style='width:100%;text-align:right'>" . button("{renew}", "YahooWin5Hide();Loadjs('Kav4Proxy.license-manager.php')", 18) . "</div>"; } if ($tpl->language == "fr") { $expiredate = date("Y l F d", $expiredate); } else { $expiredate = date("{l} d {F} Y", $expiredate); } $t = time(); $html = "\n\t<div style='width:97%' id='div-{$t}' class=form>\t\t\n\t<table style='width:100%'>\n\t<tr>\n\t\t\n\t\t<td style='font-weight:bold;font-size:16px;color:{$expiredate_color}' colspan=2>{$ligne["productname"]}<hr></td>\n\t</tr>\t\n\t<tr>\n\t\t<td class=legend style='font-size:16px;color:{$expiredate_color}'>{key_file}:</td>\n\t\t<td style='font-weight:bold;font-size:16px;color:{$expiredate_color}'>{$ligne["keyfile"]}</td>\n\t</tr>\n\t<tr>\n\t\t<td class=legend style='font-size:16px;color:{$expiredate_color}'>{serial}:</td>\n\t\t<td style='font-weight:bold;font-size:16px;color:{$expiredate_color}'>{$ligne["serial"]}</td>\n\t</tr>\n\t<tr>\n\t\t<td class=legend style='font-size:16px;color:{$expiredate_color}'>{creationdate}:</td>\n\t\t<td style='font-weight:bold;font-size:16px;color:{$expiredate_color}'>{$ligne["creationdate"]}</td>\n\t</tr>\t\t\n\t<tr>\n\t\t<td class=legend style='font-size:16px;color:{$expiredate_color}'>{expiredate}:</td>\n\t\t<td style='font-weight:bold;font-size:16px;color:{$expiredate_color}'>{$expiredate}</td>\n\t</tr>\n\t<tr>\n\t\t<td class=legend style='font-size:16px;color:{$expiredate_color}'>{lifespan}:</td>\n\t\t<td style='font-weight:bold;font-size:16px;color:{$expiredate_color}'>{$ligne["lifespan"]} {days}</td>\n\t</tr>\n\t<tr>\n\t\t<td colspan=2 align='right'><hr>" . button("{rescan}", "Rescan{$t}()", 14) . "</td>\n\t</tr>\t\t\t\t\n\t</table>\n\t</div>\n\t{$button}\n\t\n<script>\nvar xRescan{$t} = function (obj) {\n\tdocument.getElementById('div-{$t}').innerHTML='';\n\tYahooWin5Hide();\n\tLoadjs('{$page}');\n}\t\n\t\nfunction Rescan{$t}(){\nvar XHR = new XHRConnection();\n\tXHR.appendData('xrescan',1);\n\tdocument.getElementById('div-{$t}').innerHTML='<center><img src=\"img/wait_verybig.gif\"></center>';\n\tXHR.sendAndLoad('{$page}', 'POST',xRescan{$t});\t\n}\n</script>\t\n\t\n\t"; echo $tpl->_ENGINE_parse_body($html); }
function EnablePolicyd() { $unix = new unix(); $php = $unix->LOCATE_PHP5_BIN(); system("{$php} " . dirname(__FILE__) . "/exec.postfix.maincf.php--smtpd-client-restrictions"); $q = new mysql(); $sql = "SELECT * FROM postfix_whitelist_con"; $results = $q->QUERY_SQL($sql, "artica_backup"); if (!$q->ok) { echo "{$q->mysql_error}\n"; } while ($ligne = mysql_fetch_array($results, MYSQL_ASSOC)) { $finalwhitelist[] = $ligne["ipaddr"] . "\tOK"; if (strpos($ligne["hostname"], "*") == 0) { $finalwhitelist[] = $ligne["hostname"] . "\tOK"; } } if (is_array($finalwhitelist)) { $conf = implode("\n", $finalwhitelist); } events("saving " . strlen($conf) . " bytes length in /etc/postfix/wbl_connections"); @file_put_contents("/etc/postfix/wbl_connections", $conf); system("postmap hash:/etc/postfix/wbl_connections"); events("adding policyd-weight done..."); }
function popup() { $ou = base64_decode($_GET["ou"]); $sql = "SELECT ID,enabled,report_datas FROM reports WHERE ou='{$ou}' AND report_type=1"; $q = new mysql(); $ligne = mysql_fetch_array($q->QUERY_SQL($sql, "artica_backup")); $array = unserialize(base64_decode($ligne["report_datas"])); if ($array["day"] == null) { $array["day"] = 1; } if ($array["hour"] == null) { $array["hour"] = "5"; } if ($array["min"] == null) { $array["min"] = "0"; } if ($array["lastdays"] == null) { $array["lastdays"] = "7"; } $cron = new cron_macros(1); $days = $cron->cron_days; for ($i = 1; $i < 60; $i++) { $lastdays[$i] = $i; } $html = "\n\t" . Field_hidden("ID", $ligne["ID"]) . "\n\t<table style='width:100%'>\n\t<tr>\n\t\t<td valign='top'><img src='img/postmaster-identity-128.png' id='report-image'></td>\n\t\t<td>\n\t\t<div style='font-size:14px' class=explain>{global_director_report_explain}</div>\n\t\t<table style='width:99%' class=form>\n\t\t<tr>\n\t\t\t<td class=legend style='font-size:13px'>{enabled}:</td>\n\t\t\t<td>" . Field_checkbox("report_enabled", 1, $ligne["enabled"]) . "</td>\n\t\t</tr>\t\t\n\t\t<tr>\n\t\t\t<td class=legend style='font-size:13px'>{generate_report_each}:</td>\n\t\t\t<td>" . Field_array_Hash($days, "day", $array["day"], null, null, 0, "font-size:13px;padding:3px") . "</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td class=legend style='font-size:13px'>{time}:</td>\n\t\t\t<td><table style='width:1%'>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\n\t\t\t\t\t\t" . Field_array_Hash($cron->cron_hours, "hour", $array["hour"], null, null, 0, "font-size:13px;padding:3px") . "</td>\n\t\t\t\t\t<td width=1% style='font-size:13px'>:</td>\n\t\t\t\t\t<td>" . Field_array_Hash($cron->cron_mins, "min", $array["min"], null, null, 0, "font-size:13px;padding:3px") . "</td>\n\t\t\t\t</tr>\n\t\t\t\t</table>\n\t\t\t</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td class=legend style='font-size:13px'>{recipient}:</td>\n\t\t\t<td>" . Field_text("recipient", $array["recipient"], "font-size:13px;padding:3px") . "</td>\n\t\t</tr>\t\t\n\t\t<tr>\n\t\t\t<td class=legend style='font-size:13px'>{last_days}:</td>\n\t\t\t<td>" . Field_array_Hash($lastdays, "lastdays", $array["lastdays"], null, null, 0, "font-size:13px;padding:3px") . "</td>\n\t\t</tr>\n\t\t\n\t\t<tr>\n\t\t\t<td colspan='2' align='right'><hr>" . button("{apply}", "DIRECTOR_SAVE()") . "</td>\n\t\t</tr>\n\t\t\n\t\t</table>\n\t\t\n\t\t\n\t\t</td>\n\t</tr>\n\t</table>\n\t\n\t"; $tpl = new templates(); echo $tpl->_ENGINE_parse_body($html); }
function install_app() { $sock = new sockets(); $tpl = new templates(); $q = new mysql(); $sql = "SELECT upgrade FROM setup_center WHERE CODE_NAME='{$_GET["product"]}'"; $ligne = mysql_fetch_array($q->QUERY_SQL($sql, "artica_backup")); if ($ligne["upgrade"] == 1) { $echo = $tpl->javascript_parse_text("{installapp_already_scheduled}", 1); return; } $ligne = mysql_fetch_array($q->QUERY_SQL("SELECT CODE_NAME FROM setup_center WHERE CODE_NAME='{$_GET["product"]}'", "artica_backup")); if ($ligne["CODE_NAME"] == null) { $q->QUERY_SQL("INSERT IGNORE INTO setup_center (upgrade,progress,progress_text,CODE_NAME) VALUES(1,5,'{scheduled}','{$_GET["product"]}')", "artica_backup"); } else { $q->QUERY_SQL("UPDATE setup_center SET upgrade=1,progress=5,progress_text='{scheduled}',events='' WHERE CODE_NAME='{$_GET["product"]}'", "artica_backup"); } if (!$q->ok) { echo $q->mysql_error; return; } $echo = "{{$_GET["product"]}}\n{installation_lauched}"; $echo = $tpl->javascript_parse_text($echo, 1); echo $echo; }
function PostfixLogs() { include_once 'ressources/class.mysql.inc'; $sql = "SELECT * FROM events WHERE event_id={$_GET["event"]} ORDER BY zDate DESC LIMIT 0,100"; $my = new mysql(); $html = "<table style='width:100%'>"; $html = $html . "<tr style='background-color:#005447'>\n\t <td width=1%> </td>\n\t <td width=1% nowrap> </td>\n\t <td> </td>\n\t </tr>"; $resultat = $my->QUERY_SQL($sql, 'artica_events'); while ($ligne = @mysql_fetch_array($resultat, MYSQL_ASSOC)) { switch ($ligne["event_type"]) { case 0: $img = "icon_mini_warning.gif"; break; case 1: $img = "icon-mini-ok.gif"; break; case 2: $img = "icon-mini-info.gif"; break; default: $img = "icon-mini-info.gif"; break; } $html = $html . "<tr " . CellRollOver() . ">\n\t <td width=1%><img src='img/{$img}' style='margin:2px'></td>\n\t <td width=1% nowrap>{$ligne["zDate"]}</td>\n\t <td>{$ligne["text"]}</td>\n\t </tr>"; } $html = $html . "</table>"; $html = RoundedLightGrey($html); $page = $html; $tpl = new templates(); echo $tpl->_ENGINE_parse_body($page); }
function save() { $q = new mysql(); $sql = "SELECT ipaddr,netinfos FROM networks_infos WHERE ipaddr='{$_POST["ipaddr"]}'"; $_POST["TEXTIPADDRINFOS"] = utf8_encode(addslashes($_POST["TEXTIPADDRINFOS"])); $ligne = mysql_fetch_array($q->QUERY_SQL($sql, "artica_backup")); if ($ligne["ipaddr"] == null) { $sql = "INSERT INTO networks_infos(ipaddr,netinfos) VALUES ('{$_POST["ipaddr"]}','{$_POST["TEXTIPADDRINFOS"]}')"; } else { $sql = "UPDATE networks_infos SET netinfos='{$_POST["TEXTIPADDRINFOS"]}' WHERE ipaddr='{$_POST["ipaddr"]}'"; } $q->QUERY_SQL($sql, "artica_backup"); if (!$q->ok) { echo $q->mysql_error; } }
function view_stats() { if (!privs()) { die; } $ou = $_GET["ou"]; $users = new usersMenus(); sql_domain($ou); $sql = "SELECT COUNT( ID ) AS tcount, DATE_FORMAT( time_stamp, '%m-%d' ) AS tday\nFROM smtp_logs\nWHERE {$GLOBALS["SQL_DOMAINS"]}\nAND time_stamp > DATE_ADD( NOW( ) , INTERVAL -7\nDAY )\nGROUP BY DATE_FORMAT( time_stamp, '%m-%d' )"; $q = new mysql(); //echo $sql; $g = new artica_graphs($fileName, 60); $results = $q->QUERY_SQL($sql, "artica_events"); while ($ligne = @mysql_fetch_array($results, MYSQL_ASSOC)) { $g->ydata[] = $ligne["tcount"]; $g->xdata[] = $ligne["tday"]; } //print_r($g->ydata); $fileName = "/usr/share/artica-postfix/ressources/logs/web/{$ou}-stats-7.png"; $g->title = "Inbound messages"; $g->x_title = "messages number"; $g->y_title = "days-month"; $g->width = 700; $g->filename = $fileName; $g->line_green(); echo "<img src='ressources/logs/web/{$ou}-stats-7.png'>"; }
function postfix_status() { $user = new usersMenus(); if (!$user->POSTFIX_INSTALLED) { return null; } $user->LoadModulesEnabled(); $q = new mysql(); $fetchmail_count = 0; if ($user->fetchmail_installed) { BuildingExecRightStatus("Building fetchmail statistics...", 25); $sql = "SELECT COUNT(ID) as tcount FROM `fetchmail_events` WHERE DATE_FORMAT(zDate,'%Y-%m-%d')=DATE_FORMAT( NOW( ) ,'%Y-%m-%d' )"; $ligne = @mysql_fetch_array($q->QUERY_SQL($sql, 'artica_events')); $fetchmail_count = $ligne["tcount"]; $sql = "SELECT SUM(size) as tcount FROM `fetchmail_events` WHERE DATE_FORMAT(zDate,'%Y-%m-%d')=DATE_FORMAT( NOW( ) ,'%Y-%m-%d' )"; $ligne = @mysql_fetch_array($q->QUERY_SQL($sql, 'artica_events')); $fetchmail_size = FormatBytes($ligne["tcount"] / 1024); events("fetchmail_count={$fetchmail_count}, fetchmail_size={$fetchmail_size}"); } else { events('Fetchmail is not installed'); } BuildingExecRightStatus("Building storage statistics...", 30); $sql = "SELECT COUNT( MessageID ) as tcount FROM storage WHERE DATE_FORMAT( zDate, '%Y-%m-%d' ) = DATE_FORMAT( NOW( ) , '%Y-%m-%d' ) "; $ligne = @mysql_fetch_array($q->QUERY_SQL($sql, 'artica_backup')); $backuped_mails = $ligne["tcount"]; BuildingExecRightStatus("Building quarantine statistics...", 35); $sql = "SELECT COUNT( MessageID ) as tcount FROM quarantine WHERE DATE_FORMAT( zDate, '%Y-%m-%d' ) = DATE_FORMAT( NOW( ) , '%Y-%m-%d' ) "; $ligne = @mysql_fetch_array($q->QUERY_SQL($sql, 'artica_backup')); $quarantine_mails = $ligne["tcount"]; BuildingExecRightStatus("Building messages number statistics...", 40); $sql = "SELECT COUNT(ID) as tcount FROM `smtp_logs` WHERE DATE_FORMAT( time_sended, '%Y-%m-%d' ) = DATE_FORMAT( NOW( ) , '%Y-%m-%d' )"; $ligne = @mysql_fetch_array($q->QUERY_SQL($sql, 'artica_events')); $flow_mails = $ligne["tcount"]; if ($user->cyrus_imapd_installed) { BuildingExecRightStatus("Building imap/pop3 number statistics...", 45); $sql = "SELECT COUNT(ID) as tcount FROM `mbx_con` WHERE DATE_FORMAT( zDate, '%Y-%m-%d' ) = DATE_FORMAT( NOW( ) , '%Y-%m-%d' )"; $ligne = @mysql_fetch_array($q->QUERY_SQL($sql, 'artica_events')); $mbx_con = $ligne["tcount"]; $mbx_con = "<tr>\n\t\t\t<td class=legend nowrap>{mbx_con}:</td>\n\t\t\t<td style='font-size:12px;font-weight:bold'>{$mbx_con} {connections}</td>\n\t\t</tr>"; } if ($fetchmail_count > 0) { $fetchmail = "<tr>\n\t\t\t<td class=legend nowrap>{fetchmail_recup}:</td>\n\t\t\t<td style='font-size:12px;font-weight:bold'>{$fetchmail_count} {emails} ({$fetchmail_size})</td>\n\t\t</tr>"; } $html = "\n\t<H5>Postfix: {today}</h5>\n\t<table class=table_form>\n\t\t<tr>\n\t\t\t<td class=legend nowrap>{received_mails}:</td>\n\t\t\t<td style='font-size:12px;font-weight:bold'>{$flow_mails}</td>\n\t\t</tr>\n\t\t{$mbx_con}\t\n\t\t{$fetchmail}\n\t\t<tr>\n\t\t\t<td class=legend nowrap>{backuped_mails}:</td>\n\t\t\t<td style='font-size:12px;font-weight:bold'>{$backuped_mails}</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td class=legend nowrap>{quarantine_mails}:</td>\n\t\t\t<td style='font-size:12px;font-weight:bold'>{$quarantine_mails}</td>\n\t\t</tr>\n\t</table>\n\t\t\t\t\t\t\n\t\n\t"; if ($user->AMAVIS_INSTALLED) { if ($user->EnableAmavisDaemon) { BuildingExecRightStatus("Building Amavis statistics...", 50); $ini = new Bs_IniHandler(); $sock = new sockets(); $ini->loadString($sock->getfile('amavisstatus')); $status_amavis = DAEMON_STATUS_ROUND("AMAVISD", $ini, null); $status_amavismilter = DAEMON_STATUS_ROUND("AMAVISD_MILTER", $ini, null); $status = "<br>{$status_amavis}<br>{$status_amavismilter}"; } } $html = RoundedLightGrey($html) . $status . "<br>"; file_put_contents('/usr/share/artica-postfix/ressources/logs/status.postfix.flow.html', $html); system('/bin/chmod 755 /usr/share/artica-postfix/ressources/logs/status.postfix.flow.html'); BuildingExecRightStatus("Building done...", 100); }
function idclustered($md5) { $sql = "SELECT ID FROM gluster_paths WHERE zmd='{$md5}'"; $q = new mysql(); $ligne = @mysql_fetch_array($q->QUERY_SQL($sql, 'artica_backup')); return $ligne["ID"]; }
function SaveInfos() { $q = new mysql(); $_POST["uid"] = addslashes($_POST["uid"]); $sql = "SELECT uid FROM quotaroot WHERE uid='{$_POST["uid"]}'"; $ligne = mysql_fetch_array($q->QUERY_SQL($sql, "artica_backup")); if (!isset($_POST["GraceTime"])) { $_POST["GraceTime"] = 10080; } if (!is_numeric($_POST["GraceTime"])) { $_POST["GraceTime"] = 10080; } if ($ligne["uid"] == null) { $sql = "INSERT INTO quotaroot (`uid`,`block-hardlimit`,`block-softlimit`,`inode-softlimit`,`inode-hardlimit`,`enabled`,`GraceTime`) VALUES\n\t\t('{$_POST["uid"]}','{$_POST["block-hardlimit"]}','{$_POST["block-softlimit"]}','{$_POST["inode-softlimit"]}','{$_POST["inode-hardlimit"]}','{$_POST["enabled"]}','{$_POST["GraceTime"]}')"; } else { $sql = "UPDATE quotaroot SET \n\t\t\t`block-hardlimit`='{$_POST["block-hardlimit"]}',\n\t\t\t`block-softlimit`='{$_POST["block-softlimit"]}',\n\t\t\t`inode-hardlimit`='{$_POST["inode-hardlimit"]}',\n\t\t\t`inode-softlimit`='{$_POST["inode-softlimit"]}',\n\t\t\t`GraceTime`='{$_POST["GraceTime"]}',\n\t\t\t`enabled`='{$_POST["enabled"]}'\n\t\t\tWHERE `uid`='{$_POST["uid"]}'\n\t\t\t"; } $q->QUERY_SQL($sql, "artica_backup"); if (!$q->ok) { echo $q->mysql_error . "\nMySQL Command:\n{$sql}\n"; return; } $sock = new sockets(); $sock->getFrameWork("services.php?setquotas=yes"); }
function schedules(){ $unix=new unix(); $files=$unix->DirFiles("/etc/cron.d"); $cron=new cron_macros(); $php5=$unix->LOCATE_PHP5_BIN(); while (list ($index, $line) = each ($files) ){ if($index==null){continue;} if(preg_match("#^LdapImport-#",$index)){ @unlink("/etc/cron.d/$index"); } } $sql="SELECT * FROM ldap_ou_import WHERE enabled=1"; $q=new mysql(); $results=$q->QUERY_SQL($sql,"artica_backup"); while($ligne=@mysql_fetch_array($results,MYSQL_ASSOC)){ if(trim($ligne["ScheduleMin"]==null)){continue;} $schedule=$cron->cron_defined_macros[$ligne["ScheduleMin"]]; $f[]="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin:/usr/share/artica-postfix/bin"; $f[]="MAILTO=\"\""; $f[]="$schedule root $php5 ".__FILE__." --import {$ligne["ID"]}"; $f[]=""; @file_put_contents("/etc/cron.d/LdapImport-{$ligne["ID"]}",implode("\n",$f)); @chmod("/etc/cron.d/LdapImport-{$ligne["ID"]}",600); unset($f); } }
function wizard_certificate_save() { $password = url_decode_special_tool($_POST["wizard-certificate-password"]); $password = mysql_escape_string2($password); $CommonName = url_decode_special_tool($_POST["wizard-certificate-commonname"]); $CommonName = strtolower(trim($CommonName)); if ($CommonName == null) { echo "CommonName, no such data"; return; } $q = new mysql(); $sql = "SELECT CommonName FROM sslcertificates WHERE CommonName='{$CommonName}'"; $ligne = mysql_fetch_array($q->QUERY_SQL($sql, "artica_backup")); if ($ligne["CommonName"] != null) { echo "{$CommonName} Already exists...\n"; return; } $sql = "INSERT IGNORE INTO sslcertificates (CommonName,keyPassword,password) VALUES ('{$CommonName}','{$password}','{$password}')"; $q->QUERY_SQL($sql, "artica_backup"); if (!$q->ok) { echo "MySQL Error:\n" . $q->mysq_error . "\n{$sql}"; return; } $sock = new sockets(); $CommonName = urlencode($CommonName); echo base64_decode($sock->getFrameWork("system.php?BuildCSR={$CommonName}")); }
function save() { $databasename = $_GET["databasename"]; $databasename = format_mysql_table($databasename); $ou = base64_decode($_GET["ou"]); $q = new mysql(); $tpl = new templates(); //CheckTableEmailingContacts while (list($key, $line) = each($_GET)) { if (preg_match("#DB_ADD_[0-9]+#", $key)) { $tables[] = "emailing_{$line}"; } } if (count($tables) == 0) { echo $tpl->javascript_parse_text("{NODB_SELECTED}"); return; } $q->CheckTableEmailingContacts("emailing_{$databasename}", $tables); if (!$q->ok) { echo $q->mysql_error; return; } $sql = "INSERT INTO emailing_db_paths (databasename,progress,finish,ou,zDate,merged)\n\tVALUES('{$databasename}','100','1','{$ou}',NOW(),'1');"; $q->QUERY_SQL($sql, "artica_backup"); if (!$q->ok) { echo $q->mysql_error; return; } }
function popup() { $page = CurrentPageName(); $tpl = new templates(); $users = new usersMenus(); $q = new mysql(); $sql = "SELECT * FROM officials_domains ORDER BY domain"; writelogs("{$sql}", __FUNCTION__, __FILE__, __LINE__); $results = $q->QUERY_SQL($sql, "artica_backup"); if (!$q->ok) { echo "<H2>{$q->mysql_error}</H2>"; } while ($ligne = mysql_fetch_array($results, MYSQL_ASSOC)) { $domains[$ligne["domain"]] = $ligne["domain"]; } $OverWriteRestrictedDomains = 0; if ($users->OverWriteRestrictedDomains) { $OverWriteRestrictedDomains = 1; } if ($OverWriteRestrictedDomains == 1) { $over = "\n\t\t<hr>\n\t\t<div class=explain>{OverWriteRestrictedDomains_allow_text}</div>\n\t\t<table style='width:99%' class=form>\n\t<tr>\n\t\t<td class=legend>{domain}:</td>\n\t\t<td width=100%>" . Field_text("overwrite-domain", null, "font-size:16px;padding:3px;width:320px") . "</td>\n\t</tr>\n\t<tr>\n\t\t<td colspan=2 align='right'><hr>" . button("{add}", "AddSubdomainOUOver()") . "</td>\n\t</tr>\n\t</table>\n\t\t"; } $_GET["ou"] = urlencode($_GET["ou"]); $domains[null] = "{select}"; $html = "\n\t<div id='add_subdomain_explain'></div>\n\t<div class=explain >{add_subdomain_explain}</div>\n\t\n\t<table style='width:99%' class=form>\n\t<tr>\n\t\t<td class=legend>{subdomain}:</td>\n\t\t<td width=50%>" . Field_text("subdomain", null, "font-size:16px;padding:3px;width:220px") . "</td>\n\t\t<td style='font-size:16px;padding:3px' width=1%><strong>.</strong></td>\n\t\t<td width=50%>" . Field_array_Hash($domains, "maindomain", null, "style:font-size:16px;padding:3px;") . "</td>\n\t</tr>\n\t<tr>\n\t\t<td colspan=4 align='right'><hr>" . button("{add}", "AddSubdomainOU()") . "</td>\n\t</tr>\n\t</table>\n\t{$over}\n\t<script>\n\tvar x_AddSubdomainOU= function (obj) {\n\t\tvar results=obj.responseText;\n\t\tdocument.getElementById('subdomain').innerHTML='';\n\t\tif(results.length>3){alert(results);return;}\n\t\tYahooWin4Hide();\n\t\tLoadAjax('LocalDomainsList','domains.edit.domains.php?LocalDomainList=yes&ou={$_GET["ou"]}');\n\t}\t\t\n\t\t\n\t\tfunction AddSubdomainOU(){\n\t\t\tvar maindomain=document.getElementById('maindomain').value;\n\t\t\tvar subdomain=document.getElementById('subdomain').value;\n\t\t\tif(maindomain.length<3){return;}\n\t\t\tif(subdomain.length<3){return;}\n\t\t\tvar domain=subdomain+'.'+maindomain;\n\t\t\tvar XHR = new XHRConnection();\n\t\t\tXHR.appendData('AddNewInternetDomain','{$_GET["ou"]}');\n\t\t\tXHR.appendData('AddNewInternetDomainDomainName',domain);\t\n\t\t\tAnimateDiv('add_subdomain_explain');\n\t\t\tXHR.sendAndLoad('domains.edit.domains.php', 'GET',x_AddSubdomainOU);\n\t\t\t\n\t\t}\n\t\t\n\t\tfunction AddSubdomainOUOver(){\n\t\t\tvar maindomain=document.getElementById('overwrite-domain').value;\n\t\t\tif(maindomain.length<3){return;}\n\t\t\tvar XHR = new XHRConnection();\n\t\t\tXHR.appendData('AddNewInternetDomain','{$_GET["ou"]}');\n\t\t\tXHR.appendData('AddNewInternetDomainDomainName',maindomain);\t\n\t\t\tAnimateDiv('add_subdomain_explain');\n\t\t\tXHR.sendAndLoad('domains.edit.domains.php', 'GET',x_AddSubdomainOU);\t\t\t\n\t\t}\n\n\t</script>\n\t"; echo $tpl->_ENGINE_parse_body($html); }
function main_extensions_bannedextensionslist_list($rule_main = null, $noecho = 0) { $q = new mysql(); if ($rule_main == null) { $rule_main = $_GET["rule_main"]; } $dans = new dansguardian_rules(null, $rule_main); writelogs("Loading RuleID={$rule_main}", __FUNCTION__, __FILE__); $sql = "SELECT * FROM dansguardian_files WHERE filename='bannedextensionlist' AND RuleID={$rule_main}"; writelogs("{$sql}", __FUNCTION__, __FILE__); $results = $q->QUERY_SQL($sql, "artica_backup"); $style = CellRollOver(); $categ = "\n\t<table style='width:99%' class=form>"; while ($ligne = @mysql_fetch_array($results, MYSQL_ASSOC)) { $num = $ligne["ID"]; $onoff = Field_checkbox("bannedextensionlist_id_{$num}", 1, $ligne["enabled"], "bannedextensionlist_switch('{$num}')"); $ext = $ligne["pattern"]; $ext = str_replace('.', '', $ext); $img = "img/ext/def_small.gif"; if (file_exists("img/ext/{$ext}_small.gif")) { $img = "img/ext/{$ext}_small.gif"; } $categ = $categ . "<tr {$style}>\n\t\t<td width=1%><IMG SRC='{$img}' id='image_{$num}'></td>\n\t\t<td width=1%>{$onoff}</td>\n\t\t<td width=1% style='font-size:12px'> <strong id='pattern_{$num}'>{$ligne["pattern"]}</strong></td>\n\t\t<td width=98% style='font-size:12px'><strong id='info_{$num}'>{$ligne["infos"]}</strong></td>\n\t\t<td width=1%>" . imgtootltip('ed_delete.gif', '{delete}', "bannedextensionlist_del('{$hostname}','{$rule_main}','{$num}')") . "</td>\n\t\t</tr>\n\t\t"; } $categ = $categ . "</table>"; $tpl = new templates(); $categ = $tpl->_ENGINE_parse_body($categ); if ($noecho == 1) { return $categ; } echo $categ; }