Хранилища Subversion ant

Редакция

Редакция 689 | Авторство | Сравнить с предыдущей | Последнее изменение | Открыть журнал | RSS

<?php

/**
 *  
 *  Codename: ant-ng - generator of sources.list for apt-distributives
 *  http://alex-w.org.ru/p/antng/
 *
 *  Copyright (c) 2009 Alexander Wolf
 *  Dual licensed under the MIT and GNU LGPL licenses.
 *  http://alex-w.org.ru/p/antng/license
 *
 */


require_once dirname(__FILE__)."/init.php";

$mode = $_POST["mode"];

switch ($mode) {
    case 'authorize':
        $r = $core->checkSign($_POST["word"]);
        header("Location: ".$r["Location"]."\n\n");
        break;
    case 'distributive-add':
        // Добавление нового дистрибутива
        $DName  = $secure->checkStr($_POST["dname"],1);
        $DUA    = $secure->checkStr($_POST["dua"],1);
        $DType  = $secure->checkInt($_POST["dtype"]);
        $DLogo  = 0;

        if ($_FILES["distlogo"]["type"]!="") {
            $DLogo = $core->uploadPicture($picture, $DUA, $_FILES);
        }

        $r = $core->addDistribution($DName, $DType, $DUA, $DLogo);
        if ($r["ERR"]==0) {
            header("Location: ".$manager."\n\n");
        } else {
            echo $r["ERRINFO"];
        }

        break;
    case 'distributive-edit':
        // Редактирование информации о дистрибутиве
        $ID     = $secure->checkInt($_POST["distID"]);
        $DName  = $secure->checkStr($_POST["dname"],1);
        $DUA    = $secure->checkStr($_POST["dua"],1);
        $DType  = $secure->checkInt($_POST["dtype"]);
       
       
        if ($_FILES["distlogo"]["type"]!="") {
            $DLogo = $core->uploadPicture($picture, $DUA, $_FILES);
            $r = $core->updateDistribution($ID, $DName, $DType, $DUA, $DLogo);
        }

        $r = $core->updateDistribution($ID, $DName, $DType, $DUA);
        if ($r["ERR"]==0) {
            header("Location: ".$manager."\n\n");
        } else {
            echo $r["ERRINFO"];
        }

        break;
    case 'distributive-delete':
        // Удаление информации о дистрибутиве
        $ID     = $secure->checkInt($_POST["distID"]);

        $r = $core->dropDistribution($ID);
        if ($r["ERR"]==0) {
            header("Location: ".$manager."\n\n");
        } else {
            echo $r["ERRINFO"];
        }

        break;
    case 'version-add':
        // Добавление новой версии дистрибутива
        $DistID = $secure->checkInt($_POST["distname"]);
        $VName  = $secure->checkStr($_POST["vname"],1);
        $VNmbr  = $secure->checkStr($_POST["version"],1);
        $VCNme  = $secure->checkStr($_POST["vcodename"],1);

        $r = $core->addDistVersion($DistID, $VNmbr, $VName, $VCNme);
        if ($r["ERR"]==0) {
            header("Location: ".$manager."\n\n");
        } else {
            echo $r["ERRINFO"];
        }

        break;
    case 'version-edit':
        // Редактирование версии дистрибутива
        $versID = $secure->checkInt($_POST["versionID"]);
        $VName  = $secure->checkStr($_POST["vname"],1);
        $VNmbr  = $secure->checkStr($_POST["version"],1);
        $VCNme  = $secure->checkStr($_POST["vcodename"],1);

        $r = $core->updateDistVersion($versID, $VNmbr, $VName, $VCNme);
        if ($r["ERR"]==0) {
            header("Location: ".$manager."\n\n");
        } else {
            echo $r["ERRINFO"];
        }

        break;
    case 'version-delete':
        // Удаление версии дистрибутива
        $versID = $secure->checkInt($_POST["versionID"]);

        $r = $core->dropDistVersion($versID);
        if ($r["ERR"]==0) {
            header("Location: ".$manager."\n\n");
        } else {
            echo $r["ERRINFO"];
        }

        break;
    case 'section-add':
        // Добавление новой секции
        $SName  = $secure->checkStr($_POST["sname"],1);
        $SInfo  = $secure->checkStr($_POST["sinfo"],1);

        $r = $core->addSection($SName, $SInfo);
        if ($r["ERR"]==0) {
            header("Location: ".$manager."\n\n");
        } else {
            echo $r["ERRINFO"];
        }

        break;
    case 'section-edit':
        // Редактирование информации о секции
        $sectID = $secure->checkInt($_POST["sectionID"]);
        $SName  = $secure->checkStr($_POST["sname"],1);
        $SInfo  = $secure->checkStr($_POST["sinfo"],1);

        $r = $core->updateSection($sectID, $SName, $SInfo);
        if ($r["ERR"]==0) {
            header("Location: ".$manager."\n\n");
        } else {
            echo $r["ERRINFO"];
        }

        break;
    case 'section-delete':
        // Удаление информации о секции
        $sectID = $secure->checkInt($_POST["sectionID"]);

        $r = $core->dropSection($sectID);
        if ($r["ERR"]==0) {
            header("Location: ".$manager."\n\n");
        } else {
            echo $r["ERRINFO"];
        }

        break;
    case 'sign-add':
        // Добавление новой подписи
        $SName  = $secure->checkStr($_POST["sname"],1);
        $SInfo  = $secure->checkStr($_POST["sinfo"],1);

        $r = $core->addSign($SName, $SInfo);
        if ($r["ERR"]==0) {
            header("Location: ".$manager."\n\n");
        } else {
            echo $r["ERRINFO"];
        }

        break;
    case 'sign-edit':
        // Редактирование информации о подписи
        $signID = $secure->checkInt($_POST["signID"]);
        $SName  = $secure->checkStr($_POST["sname"],1);
        $SInfo  = $secure->checkStr($_POST["sinfo"],1);

        $r = $core->updateSign($signID, $SName, $SInfo);
        if ($r["ERR"]==0) {
            header("Location: ".$manager."\n\n");
        } else {
            echo $r["ERRINFO"];
        }

        break;
    case 'sign-delete':
        // Удаление информации о подписи
        $signID = $secure->checkInt($_POST["signID"]);

        $r = $core->dropSign($signID);
        if ($r["ERR"]==0) {
            header("Location: ".$manager."\n\n");
        } else {
            echo $r["ERRINFO"];
        }

        break;
    case 'arch-add':
        // Добавление новой архитектуры
        $arch = $secure->checkStr($_POST["arch"],1);

        $r = $core->addArch($arch);
        if ($r["ERR"]==0) {
            header("Location: ".$manager."\n\n");
        } else {
            echo $r["ERRINFO"];
        }

        break;
    case 'arch-edit':
        // Редактирование архитектуры
        $archID = $secure->checkInt($_POST["archID"]);
        $arch   = $secure->checkStr($_POST["arch"],1);

        $r = $core->updateArch($archID, $arch);
        if ($r["ERR"]==0) {
            header("Location: ".$manager."\n\n");
        } else {
            echo $r["ERRINFO"];
        }

        break;
    case 'arch-delete':
        // Удаление архитектуры
        $archID = $secure->checkInt($_POST["archID"]);

        $r = $core->dropArch($archID);
        if ($r["ERR"]==0) {
            header("Location: ".$manager."\n\n");
        } else {
            echo $r["ERRINFO"];
        }

        break;
    case 'scheme-add':
        // Добавление новой схемы репозитория
        $scheme = $secure->checkStr($_POST["scheme"],1);

        $r = $core->addScheme($scheme);
        if ($r["ERR"]==0) {
            header("Location: ".$manager."\n\n");
        } else {
            echo $r["ERRINFO"];
        }

        break;
    case 'scheme-edit':
        // Редактирование схемы репозитория
        $schemeID = $secure->checkInt($_POST["schemeID"]);
        $scheme   = $secure->checkStr($_POST["scheme"],1);

        $r = $core->updateScheme($schemeID, $scheme);
        if ($r["ERR"]==0) {
            header("Location: ".$manager."\n\n");
        } else {
            echo $r["ERRINFO"];
        }

        break;
    case 'scheme-delete':
        // Удаление схемы репозитория
        $schemeID = $secure->checkInt($_POST["schemeID"]);

        $r = $core->dropScheme($schemeID);
        if ($r["ERR"]==0) {
            header("Location: ".$manager."\n\n");
        } else {
            echo $r["ERRINFO"];
        }

        break;
    case 'proto-add':
        // Добавление протокола доступа
        $proto = $secure->checkStr($_POST["proto"],1);

        $r = $core->addProto($proto);
        if ($r["ERR"]==0) {
            header("Location: ".$manager."\n\n");
        } else {
            echo $r["ERRINFO"];
        }

        break;
    case 'proto-edit':
        // Редактирование протокола доступа
        $protoID = $secure->checkInt($_POST["protoID"]);
        $proto   = $secure->checkStr($_POST["proto"],1);
       
        $r = $core->updateProto($protoID, $proto);
        if ($r["ERR"]==0) {
            header("Location: ".$manager."\n\n");
        } else {
            echo $r["ERRINFO"];
        }

        break;
    case 'proto-delete':
        // Удаление протокола доступа
        $protoID = $secure->checkInt($_POST["protoID"]);

        $r = $core->dropProto($protoID);
        if ($r["ERR"]==0) {
            header("Location: ".$manager."\n\n");
        } else {
            echo $r["ERRINFO"];
        }

        break;
    case 'host-add':
        // Добавление хоста репозитория
        $host = $secure->checkStr($_POST["rhost"],1);

        $r = $core->addHost($host);
        if ($r["ERR"]==0) {
            header("Location: ".$manager."\n\n");
        } else {
            echo $r["ERRINFO"];
        }

        break;
    case 'host-edit':
        // Редактирование хоста репозитория
        $hostID = $secure->checkInt($_POST["hostID"]);
        $host   = $secure->checkStr($_POST["rhost"],1);

        $r = $core->updateHost($hostID, $host);
        if ($r["ERR"]==0) {
            header("Location: ".$manager."\n\n");
        } else {
            echo $r["ERRINFO"];
        }

        break;
    case 'host-delete':
        // Удаление хоста репозитория
        $hostID = $secure->checkInt($_POST["hostID"]);

        $r = $core->dropHost($hostID);
        if ($r["ERR"]==0) {
            header("Location: ".$manager."\n\n");
        } else {
            echo $r["ERRINFO"];
        }

        break;
    case 'folder-add':
        // Добавление корневой папки репозитория
        $folder = $secure->checkStr($_POST["rfolder"],1);

        $r = $core->addFolder($folder);
        if ($r["ERR"]==0) {
            header("Location: ".$manager."\n\n");
        } else {
            echo $r["ERRINFO"];
        }

        break;
    case 'folder-edit':
        // Редактирование корневой папки репозитория
        $folderID = $secure->checkInt($_POST["folderID"]);
        $folder   = $secure->checkStr($_POST["rfolder"],1);

        $r = $core->updateFolder($folderID, $folder);
        if ($r["ERR"]==0) {
            header("Location: ".$manager."\n\n");
        } else {
            echo $r["ERRINFO"];
        }

        break;
    case 'folder-delete':
        // Удаление корневой папки репозитория
        $folderID = $secure->checkInt($_POST["folderID"]);

        $r = $core->dropFolder($folderID);
        if ($r["ERR"]==0) {
            header("Location: ".$manager."\n\n");
        } else {
            echo $r["ERRINFO"];
        }

        break;
    case 'repository-master':
        // Добавляем новый репозиторий
        $rdist      = $_POST["rdist"]; // Версия дистрибутива
        $rname      = $_POST["rname"]; // Название репозитория
        $rinfo      = $_POST["rinfo"]; // Описание репозитория
        $rkey       = $_POST["rkey"]; // Ключ подписи репозитория
        $rproto     = $_POST["rproto"]; // Протокол доступа
        $rhost      = $_POST["rhost"]; // Хост репозитория
        $rfolder    = $_POST["rfolder"]; // Корневая папка
        $rtype      = $_POST["rtype"]; // Тип репозитория
        $rscheme    = $_POST["rscheme"]; // Схема репозитория
        $rsign      = $_POST["rsign"]; // Подпись репозитория (для rpm/ALTLinux)
       
        $r = $core->addRepository($rdist, $rname, $rinfo, $rkey, $rproto, $rhost, $rfolder, $rtype, $rscheme, $rsign, $_POST["rsects"], $_POST["rarchs"]);
        if ($r["ERR"]==0) {
            header("Location: ".$manager."\n\n");
        } else {
            echo $r["ERRINFO"];
        }

        break;
    case 'repository-edit':
        // Редактируем репозиторий
        $rID        = $_POST["repositoryID"];
        $rdist      = $_POST["rdist"];
        $rname      = $_POST["rname"];
        $rinfo      = $_POST["rinfo"];
        $rkey       = $_POST["rkey"];
        $rproto     = $_POST["rproto"];
        $rhost      = $_POST["rhost"];
        $rfolder    = $_POST["rfolder"];
        $rtype      = $_POST["rtype"];
        $rscheme    = $_POST["rscheme"];
        $rsign      = $_POST["rsign"];

        $r = $core->updateRepository($rID, $rdist, $rname, $rinfo, $rkey, $rproto, $rhost, $rfolder, $rtype, $rscheme, $rsign, $_POST["rsects"], $_POST["rarchs"]);
        if ($r["ERR"]==0) {
            header("Location: ".$manager."\n\n");
        } else {
            echo $r["ERRINFO"];
        }

        break;
    case 'repository-delete':
        // Удаляем репозиторий
        $rID        = $secure->checkInt($_POST["repositoryID"]); // Версия дистрибутива

        $r = $core->dropRepository($rID);
        if ($r["ERR"]==0) {
            header("Location: ".$manager."\n\n");
        } else {
            echo $r["ERRINFO"];
        }

        break;
    case 'update-password':
        // Обновление пароля
        $oword  = $_POST["oword"];
        $nword  = $_POST["nword"];
        $again  = $_POST["again"];

        $sHash = $secure->encryptStr($oword);
        $pwd   = $core->getOption("passwd");
        if ($sHash == $pwd["OptValue"]) {
            $r = $core->updatePassword($nword, $again);
            if ($r["ERR"]==0) {
                header("Location: ".$manager."\n\n");
            } else {
                echo $r["ERRINFO"];
            }
        }
        break;
}

?>