Авторство |
Последнее изменение |
Открыть журнал
| RSS
<?php
/**
* Project: Ant: sources.list generator
* File: process.php
*
* This application is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This application is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
require_once dirname(__FILE__)."/sign-valid.php";
$cat = abs(intval($_POST["cat"]));
$act = abs(intval($_POST["act"]));
$go = "./admin_ng.php";
switch ($cat) {
case '0':
switch ($act) {
case '0':
break;
case '1':
// Добавление нового источника
$origin = mysql_real_escape_string($_POST["origin"]);
$desk = mysql_real_escape_string($_POST["desk"]);
$basedir = mysql_real_escape_string($_POST["basedir"]);
$homeurl = mysql_real_escape_string($_POST["homeurl"]);
$keyurl = mysql_real_escape_string($_POST["keyurl"]);
$res =& $db->query("INSERT INTO origin SET origin='$origin', desk='$desk', basedir='$basedir', homeurl='$homeurl', keyurl='$keyurl'");
$go .= "?mode=1&cat=$cat";
break;
case '2':
// Правка существующего источника
$origin = mysql_real_escape_string($_POST["origin"]);
$desk = mysql_real_escape_string($_POST["desk"]);
$basedir = mysql_real_escape_string($_POST["basedir"]);
$homeurl = mysql_real_escape_string($_POST["homeurl"]);
$keyurl = mysql_real_escape_string($_POST["keyurl"]);
$id = abs(intval($_POST["originID"]));
$res =& $db->query("UPDATE origin SET origin='$origin', desk='$desk', basedir='$basedir', homeurl='$homeurl', keyurl='$keyurl' WHERE id='$id'");
$go .= "?mode=1&cat=$cat";
break;
case '3':
// Удаление существующего источника
$id = abs(intval($_POST["originID"]));
$res =& $db->query("DELETE FROM origin WHERE id='$id'");
$go .= "?mode=1&cat=$cat";
break;
}
break;
case '1':
switch ($act) {
case '0':
break;
case '1':
// Добавление нового дистрибутива
$distname = mysql_real_escape_string($_POST["distName"]);
$distua = mysql_real_escape_string($_POST["distUA"]);
$disttype = abs(intval($_POST["distType"]));
$distlogo = 0;
if ($_FILES["distLOGO"]["type"]!=0) {
$folder = dirname(__FILE__)."/img/logo/".stripslashes($distua)."-orig.png";
$folderN = dirname(__FILE__)."/img/logo/".stripslashes($distua).".png";
$folderEM = dirname(__FILE__)."/img/logo/".stripslashes($distua)."-em.png";
if (move_uploaded_file($_FILES["distLOGO"]["tmp_name"],$folder)) {
chmod($folder, 0644);
list($width, $height) = GetImageSize($folder);
$percent = 32/$height;
$newwidth = $width * $percent;
$newheight = $height * $percent;
$output = ImageCreateTrueColor($newwidth, $newheight);
$source = ImageCreateFromPNG($folder);
ImageCopyResampled($output, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
ImagePNG($output, $folderEM);
$percent = 15/$height;
$newwidth = $width * $percent;
$newheight = $height * $percent;
$output = ImageCreateTrueColor($newwidth, $newheight);
ImageCopyResized($output, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
ImagePNG($output, $folderN);
unlink($folder);
$distlogo = 1;
}
}
$res =& $db->query("INSERT INTO distribution SET distname='$distname', distua='$distua', disttype='$disttype', distlogo='$distlogo'");
// ChangeLog recording
$res =& $db->query("SELECT * FROM dtype WHERE type_id='$disttype'");
$res->fetchInto($log, DB_FETCHMODE_ASSOC
);
$title = "Добавлен новый дистрибутив";
$dinfo = "В Ant добавлена поддержка основанного на ".stripslashes($log["type"])."-пакетах дистрибутива ".$distname.".";
$res =& $db->query("INSERT INTO changelog SET log_record=NOW(), log_title='$title', log_desc='$dinfo'");
$go .= "?mode=1&cat=$cat";
break;
case '2':
// Правка существующего дистрибутива
$distname = mysql_real_escape_string($_POST["distName"]);
$distua = mysql_real_escape_string($_POST["distUA"]);
$disttype = abs(intval($_POST["distType"]));
$distID = abs(intval($_POST["distID"]));
if ($_FILES["distLOGO"]["type"]!='') {
$folder = dirname(__FILE__)."/img/logo/".$distua."-orig.png";
$folderN = dirname(__FILE__)."/img/logo/".$distua.".png";
$folderEM = dirname(__FILE__)."/img/logo/".$distua."-em.png";
if (move_uploaded_file($_FILES["distLOGO"]["tmp_name"],$folder)) {
chmod ($folder, 0644);
list($width, $height) = GetImageSize($folder);
$percent = 32/$height;
$newwidth = $width * $percent;
$newheight = $height * $percent;
$output = ImageCreateTrueColor($newwidth, $newheight);
$black = ImageColorAllocate($output, 0, 0, 0);
$source = ImageCreateFromPNG($folder);
ImageCopyResampled($output, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
ImageColorTransparent($output, $black);
ImagePNG($output, $folderEM);
$percent = 15/$height;
$newwidth = $width * $percent;
$newheight = $height * $percent;
$output = ImageCreateTrueColor($newwidth, $newheight);
$black = ImageColorAllocate($output, 0, 0, 0);
ImageCopyResized($output, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
ImageColorTransparent($output, $black);
ImagePNG($output, $folderN);
unlink($folder);
$res =& $db->query("UPDATE distribution SET distlogo='1' WHERE dist_id='$distID'");
}
}
$res =& $db->query("UPDATE distribution SET distname='$distname', distua='$distua', disttype='$disttype', WHERE dist_id='$distID'");
$go .= "?mode=1&cat=$cat";
break;
case '3':
// Удаление существующего дистрибутива
$distID = abs(intval($_POST["distID"]));
$distUA = $_POST["distUA"];
$folder1 = dirname(__FILE__)."/img/logo/".$distUA."-em.png";
$folder2 = dirname(__FILE__)."/img/logo/".$distUA.".png";
if (file_exists($folder1)) { unlink($folder1); }
if (file_exists($folder2)) { unlink($folder2); }
$res =& $db->query("SELECT * FROM distribution d JOIN dtype t ON d.disttype=t.type_id WHERE d.dist_id='$distID'");
$res->fetchInto($log, DB_FETCHMODE_ASSOC
);
$res =& $db->query("DELETE FROM distribution WHERE dist_id='$distID'");
$res =& $db->query("DELETE FROM sect2dist WHERE dist_id='$distID'");
$res =& $db->query("DELETE FROM version WHERE dist_id='$distID'");
// ChangeLog recording
$title = "Удаление поддержки дистрибутива";
$dinfo = "Из Ant удалена поддержка основанного на ".stripslashes($log["type"])."-пакетах дистрибутива ".stripslashes($log["distname"]).".";
$res =& $db->query("INSERT INTO changelog SET log_record=NOW(), log_title='$title', log_desc='$dinfo'");
$go .= "?mode=1&cat=$cat";
break;
}
break;
case '2':
break;
case '3':
break;
}
header("Location: $go\n\n");
?>