function _git_log_exec($cmd) { global $git; if (!isset($git)) { return; } $cwd = getcwd(); if (chdir($git['path']) === false) { messages_add("Git: cannot chdir to git directory", MSG_ERROR); return; } $ret = array(); $commit = null; $result = adv_exec($cmd); $mode = 0; foreach (explode("\n", $result[1]) as $r) { if (preg_match("/^commit (.*)/", $r, $m)) { $mode = 0; if ($commit) { $ret[] = $commit; } $commit = array('commit' => $m[1], 'message' => '', 'objects' => array()); } elseif ($mode == 0 && preg_match("/^Author:\\s*(.*) <(.*)>\$/", $r, $m)) { $commit['author_name'] = $m[1]; $commit['author_email'] = $m[2]; } elseif ($mode == 0 && preg_match("/^Date:\\s*(.*)\$/", $r, $m)) { $d = new DateTime($m[1]); $commit['date'] = $d->format('c'); } elseif ($mode == 0 && preg_match("/^ (.*)\$/", $r, $m)) { $commit['message'] .= $m[1]; } elseif ($mode == 0 && preg_match("/^ ([A-Za-z0-9_]*)\\/\\{(.*)\\.json => (.*)\\.json\\}/", $r, $m)) { $commit['objects'][] = array($m[1], $m[3], $m[2]); } elseif ($mode == 0 && preg_match("/^ ([A-Za-z0-9_]*)\\/(.*)\\.json/", $r, $m)) { $commit['objects'][] = array($m[1], $m[2]); } elseif (($mode == 0 || $mode == 2) && preg_match("/^diff --git a\\/([A-Za-z0-9_]*)\\/(.*)\\.json b\\/([A-Za-z0-9_]*)\\/(.*)\\.json\$/", $r, $m)) { $mode = 1; if ($m[2] != $m[4]) { $commit['objects'][] = array($m[1], $m[2], $m[4], 'diff' => ""); } else { $commit['objects'][] = array($m[1], $m[2], 'diff' => ""); } } elseif ($mode == 1 && preg_match("/^\\@\\@/", $r)) { $mode = 2; } elseif ($mode == 2) { $commit['objects'][sizeof($commit['objects']) - 1]['diff'] .= "{$r}\n"; } } if ($commit) { $ret[] = $commit; } chdir($cwd); return $ret; }
if ($user->AsPostfixAdministrator == false) { $tpl = new templates(); echo "alert('" . $tpl->javascript_parse_text("{ERROR_NO_PRIVS}") . "');"; die; exit; } if (isset($_GET["tabs"])) { tabs(); exit; } if (isset($_GET["messages"])) { messages(); exit; } if (isset($_GET["add"])) { messages_add(); exit; } if (isset($_POST["upload-message"])) { message_upload(); exit; } if (isset($_GET["messages-list"])) { messages_table(); exit; } if (isset($_GET["messages-search"])) { messages_search(); exit; } if (isset($_GET["show-results"])) {
include_once('ressources/class.users.menus.inc'); include_once('ressources/class.artica.inc'); include_once('ressources/class.ini.inc'); include_once('ressources/class.spamassassin.inc'); include_once('ressources/class.mime.parser.inc'); include_once(dirname(__FILE__).'/ressources/class.rfc822.addresses.inc'); $user=new usersMenus(); if($user->AsPostfixAdministrator==false){ $tpl=new templates(); echo "alert('". $tpl->javascript_parse_text("{ERROR_NO_PRIVS}")."');"; die();exit(); } if(isset($_GET["tabs"])){tabs();exit;} if(isset($_GET["messages"])){messages();exit;} if(isset($_GET["add"])){messages_add();exit;} if(isset($_POST["upload-message"])){message_upload();exit;} if(isset($_GET["messages-list"])){messages_list();exit;} if(isset($_GET["show-results"])){message_results();exit;} if(isset($_GET["analyze-message"])){message_analyze();exit;} if(isset($_GET["delete-message"])){message_delete();exit;} js(); function js(){ $tpl=new templates(); $page=CurrentPageName(); $title=$tpl->_ENGINE_parse_body("{APP_SPAMASSASSIN}::{message_analyze}");