require_once("../../class2.php");
function core_head() {
$bar = (file_exists(THEME."images/bar.png") ? THEME."images/bar.png" : e_IMAGE."generic/bar.png");
return "";
}
require_once(HEADERF);
function getsvnlog($svnxmlfile)
{
$file=$svnxmlfile;
if (!($fp = fopen($file, "r"))) {
die("could not open XML input");
}
$data = fread($fp, filesize($file));
fclose($fp);
$xml_parser = xml_parser_create();
xml_parse_into_struct($xml_parser, $data, $vals, $index);
xml_parser_free($xml_parser);
$svnlog = array();
$i=0;
for($n = 0; $n < count($vals); ++$n){
$e = $vals[$n];
if (isset($e['attributes']['REVISION'])) {
$rev=$e['attributes']['REVISION'];
}
switch ($e['tag']){
case 'LOGENTRY':
switch ($e['type']){
case 'open':
$date = ''; $auth = ''; $descr = '';
break;
case 'close':
$svnlog[$i] = array('rev' => $rev, 'date' => $date, 'auth' => $auth, 'descr' => $descr);
$i++;
break;
}
break;
case 'AUTHOR':
$auth = $e['value'];
break;
case 'DATE':
//$date = substr($e['value'],0,10);
$date = strftime("%F %X", strtotime($e['value']));
break;
case 'MSG':
if (isset($e['value'])) $descr = $e['value'];
break;
}
}
return $svnlog;
}
function getsvntable($svnxmlfile)
{
require_once("lng.php");
$table="";
exec('LANG=ru_RU.UTF-8 /usr/bin/svnadmin lslocks /usr/local/svn/'.$_SERVER["QUERY_STRING"].' 2>/dev/null',$svninf1);
if (count($svninf1)>0) {
$table.="
| Заблокированные сейчас файлы: |
";
#$table.="$svninf1[11] $svninf1[12] |
";
for($n = 0; $n < count($svninf1); ++$n){
$tableadd="| $svninf1[$n] |
";
if(preg_match("/^UUID/",$svninf1[$n])){$tableadd="";}
if(preg_match("/^Expires/",$svninf1[$n])){$tableadd="";}
if(preg_match("/^Comment/",$svninf1[$n])){$tableadd="";}
$table.=$tableadd;
}
echo $table.="
";
}
$tablearr=getsvnlog($svnxmlfile);
$table="| $tver | $tdat | $tavt | $tkom |
";
for($i = 0; $i < count($tablearr); ++$i)
$table=$table."| ".$tablearr[$i]['rev']." | ".$tablearr[$i]['date']." | ".$tablearr[$i]['auth']." | ".str_replace("\n"," ",$tablearr[$i]['descr'])." |
";
$table=$table."
";
return $table;
}
if (!defined('e107_INIT')) { exit; }
$ns->tablerender("Журналы SVN", "
"."SpeedCam-файл"."
"."Обзорная карта России"."
"."O-42,O-43,O-44,O-45,P-41G,P-43,P-44
(Томск, Анжеро-Судженск, Тайга, Асино, Тяжинский, Зырянское, Северск, Моряковка, ЯЯ, Колпашево, Каргасок, Тогур, Бакчар, Молчаново, Кривошеино, Парабель, Чажемто, Баткат, Кожевниково, Ханты-Мансийск, Сургут, Стрежевой, Нижневартовск, Александровское, Пыть-Ях, Мегион, Когалым, Лангепас, Ноябрьск, Тара, Муромцево, Седельниково, Тевриз, Знаменское, Большеречье...)"."
"."N-45
(Кемерово, Бийск, Новокузнецк, Прокопьевск, Ленинск-Кузнецкий, Тисуль, Белово, Яшкино, Топки, Юрга, Междуреченск, Гурьевск...)"."
"."N-44
(Новосибирск, Барнаул, Камень на Оби, Бердск, Куйбышев, Пашино, Берёзовка, Искитим, Мочище, Краснообск, Обь, Новоалтайск...)"."
"."N-42,N-43
Омск, Павлодар, Железинка, Экибастуз, Иссык-Куль, Азово, Новоомский, Пушкино, Троицкое, Лузино..."."
"."N-42Б
(Петропавловск)"."
"."M-44,M-45,M-46V
(Алтайский край, республика Алтай, Рубцовск, Белокуриха, Михайловский, Озёрное, Барангол, Берёзовка, Лебяжье, Чемал, Катунь, Горно-Алтайск...)"."
", 'svnlogt1');
$svnlog="";
$svnname="";
#if (isset($_REQUEST["maps"]))
if (($_SERVER["QUERY_STRING"] == "maps") or ($_SERVER["QUERY_STRING"] == "kemerovo") or ($_SERVER["QUERY_STRING"] == "region") or ($_SERVER["QUERY_STRING"] == "trackbase") or ($_SERVER["QUERY_STRING"] == "nsk") or ($_SERVER["QUERY_STRING"] == "omsk") or ($_SERVER["QUERY_STRING"] == "altay") or ($_SERVER["QUERY_STRING"] == "issik-ppavlovsk") or ($_SERVER["QUERY_STRING"] == "obzorka") or ($_SERVER["QUERY_STRING"] == "speedcam") or ($_SERVER["QUERY_STRING"] == "test"))
{
$svnname="".$_SERVER["QUERY_STRING"]."";
$svnlog=getsvntable("/var/www/htdocs/gpsclub.tomsk.ru/htdocs/tmp/svnlog/".$_SERVER["QUERY_STRING"].".log");
}
if ($svnlog > "") $ns->tablerender($svnname, "
".$svnlog."
<--noindex-->", 'svnlogt2');
require_once(FOOTERF);
#############################
?>