Хранилища Subversion ant

Сравнить редакции

Не учитывать пробелы Редакция 463 → Редакция 462

/trunk/lib/security.php
15,29 → 15,10
public function __construct() {
}
 
/**
* Проверка на валидность целочисленных значений
*
* @author Alexander Wolf
* @category Security
*
* @param int $value
* @return int
*/
public function checkInt($value) {
return abs(intval($value));
}
 
/**
* Обработка строковых переменных
*
* @author Alexander Wolf
* @category Security
*
* @param string $value
* @param byte $mode
* @return string
*/
public function checkStr($value, $mode = 0) {
// mode - 0 -> wrap; mode - 1 -> strip;
if ($mode == 0) {
48,15 → 29,7
return $result;
}
 
/**
* генерация хеша пароля
*
* @author Alexander Wolf
* @category Security
*
* @param string $string
* @return string
*/
// генерация хеша пароля
public function encryptStr($string) {
return md5(md5($string)."-CN-ANT-NG-".sha1($string));
}
/trunk/lib/core.php
18,17 → 18,6
protected $secure = NULL;
protected $cookie = NULL;
 
/**
* Конструктор класса Core - ядро генератора
*
* @author Alexander Wolf
* @category Core
*
* @param string $database
* @param string $prefix
* @param object $secure
* @param string $cookie
*/
public function __construct($database, $prefix, $secure, $cookie) {
$this->db = $database;
$this->prefix = $prefix;
36,15 → 25,7
$this->cookie = $cookie;
}
 
/**
* Получение данных о настройке
*
* @author Alexander Wolf
* @category Core
*
* @param string $attr
* @return array
*/
// Получение данных о настройке
public function getOption($attr) {
$result = array();
$query = "SELECT optvalue FROM ".$this->prefix."settings WHERE opt='".$this->secure->checkStr($attr)."'";
60,16 → 41,7
return $result;
}
 
/**
* Установка данных о настройке
*
* @author Alexander Wolf
* @category Core
*
* @param string $attr
* @param string $value
* @return array
*/
// Установка данных о настройке
public function setOption($attr, $value) {
$result = array();
 
91,16 → 63,7
return $result;
}
 
/**
* Создание настройки
*
* @author Alexander Wolf
* @category Core
*
* @param string $attr
* @param string $value
* @return array
*/
// Создание настройки
public function addOption($attr, $value) {
$result = array();
$sValue = $this->secure->checkStr($value);
116,20 → 79,9
 
return $result;
}
/**
* Получение и отображение списка дистрибутивов
*
* @author Alexander Wolf
* @category Core
* @deprecated may be deprecated XXX
*
* @param string $name
* @param string $heads
* @param string $info
* @param string $format
* @return string
*/
 
// Получение и отображение списка дистрибутивов
// XXX deprecated ?
public function showDistributionList($name, $heads = "", $info = "", $format = 'html') {
$query = "SELECT * FROM ".$this->prefix."distribution ORDER BY dist_id ASC";
$rq =& $this->db->query($query);
153,15 → 105,7
return $show;
}
 
/**
* Получение названия дистрибутива
*
* @author Alexander Wolf
* @category Core
*
* @param integer $distID
* @return array
*/
// Получение названия дистрибутива
public function getDistName($distID) {
$result = array();
$query = "SELECT distname FROM ".$this->prefix."distribution WHERE dist_id='".$this->secure->checkInt($distID)."'";
178,31 → 122,13
return $result;
}
 
/**
* Получение названия программы, ее версии и описания
*
* @author Alexander Wolf
* @category Core
*
* @param string $attr
* @return string
*/
// Получение названия программы, ее версии и описания
public function getEngineAttr($attr = 'codename') {
$cname = $this->getOption($attr);
return $this->secure->checkStr($cname["OptValue"],1);
}
 
/**
* Получение и отображение списка версий дистрибутива
*
* @author Alexander Wolf
* @category Core
*
* @param string $name
* @param integer $distID
* @param string $format
* @return string
*/
// Получение и отображение списка версий дистрибутива
public function showDistVersionsList($name, $distID, $format = 'html') {
$distname = $this->getDistName($distID);
$query = "SELECT * FROM ".$this->prefix."version WHERE dist_id='".$this->secure->checkInt($distID)."' ORDER BY version ASC";
227,16 → 153,7
return $show;
}
 
/**
* Получение и отображение списка секций основного (официального) репозитория
*
* @author Alexander Wolf
* @category Core
*
* @param integer $version
* @param string $format
* @return string
*/
// Получение и отображение списка секций основного (официального) репозитория
public function showBranchesList($version, $format = 'html') {
$query = "SELECT rtype FROM ".$this->prefix."rtype WHERE rtype_id='1'";
$rq =& $this->db->query($query);
263,17 → 180,7
return $show;
}
 
/**
* Получение и отображение списка репозиториев
*
* @author Alexander Wolf
* @category Core
*
* @param integer $version
* @param integer $reptype
* @param string $format
* @return string
*/
// Получение и отображение списка репозиториев
public function showRepList($version, $reptype, $format = 'html') {
$query = "SELECT rtype FROM ".$this->prefix."rtype WHERE rtype_id='".$this->secure->checkInt($reptype)."'";
$rq =& $this->db->query($query);
296,18 → 203,7
return $show;
}
 
/**
* Добавление поддержки нового apt-дистрибутива
*
* @author Alexander Wolf
* @category Core
*
* @param string $distname
* @param integer $disttype
* @param string $distua
* @param byte $distlogo
* @return array
*/
// Добавление поддержки нового apt-дистрибутива
public function addDistribution($distname, $disttype, $distua = 1, $distlogo = 0) {
$result = array();
$sDName = $this->secure->checkStr($distname);
328,21 → 224,10
return $result;
}
 
/**
* Добавление поддержки новой версии apt-дистрибутива
*
* @author Alexander Wolf
* @category Core
*
* @param integer $distID
* @param integer $version
* @param string $vname
* @param integer $vcodename
* @return array
*/
// Добавление поддержки новой версии apt-дистрибутива
public function addDistVersion($distID, $version, $vname = "", $vcodename = "") {
$result = array();
$sDistID = $this->secure->checkInt($distID);
$sDistID = $this->secure->checkStr($distID);
$sDVersion = $this->secure->checkStr($version);
$sDVName = $this->secure->checkStr($vname);
$sDVCName = $this->secure->checkInt($vcodename);
360,16 → 245,7
return $result;
}
 
/**
* Отображение типа дистрибутива
*
* @author Alexander Wolf
* @category Core
*
* @param string $name
* @param byte $type
* @return string
*/
// Отображение типа дистрибутива
public function showDistTypeForm($name = "dtype",$type = 0) {
$query = "SELECT * FROM ".$this->prefix."dtype";
$rq =& $this->db->query($query);
386,15 → 262,7
return $show;
}
 
/**
* Отображение формы создания и редактирования apt-дистрибутива
*
* @author Alexander Wolf
* @category Core
*
* @param integer $distID
* @return string
*/
// Отображение формы создания и редактирования apt-дистрибутива
public function showDistributionForm($distID = 0) {
$sDistID = $this->secure->checkInt($distID);
if ($sDistID != 0) {
426,15 → 294,7
//TODO Написать генератор sources.list
}
/**
* Проверка пароля (из формы авторизации)
*
* @author Alexander Wolf
* @category Core
*
* @param string $word
* @return array
*/
// Проверка пароля (из формы авторизации)
public function checkSign($word) {
$result = array();
 
453,15 → 313,7
return $result;
}
 
/**
* Проверка пароля (из cookies)
*
* @author Alexander Wolf
* @category Core
*
* @param string $hash
* @return array
*/
// Проверка пароля (из cookies)
public function checkCookieSign($hash) {
$result = array();
 
477,14 → 329,7
return $result;
}
 
/**
* Форма ввода пароля
*
* @author Alexander Wolf
* @category Core
*
* @return string
*/
// Форма ввода пароля
public function showSigninForm() {
$show = "<div id='regform'>";
$show .= "<form action='process.php' method='post'>\n";
497,16 → 342,7
return $show;
}
 
/**
* Обновление пароля
*
* @author Alexander Wolf
* @category Core
*
* @param string $word1
* @param string $word2
* @return array
*/
// Обновление пароля
public function updatePassword($word1, $word2) {
$result = array();
 
/trunk/lib/template.php
11,30 → 11,15
*
*/
 
 
class Template {
private $path = NULL;
protected $self = array();
 
/**
* Конструктора класса Template - работа с шаблонами
*
* @author Alexander Wolf
* @category Template
*
* @param string $folder
*/
public function __construct($folder) {
$this->path = $folder;
}
 
/**
* Отображение шаблона
*
* @author Alexander Wolf
* @category Template
*
* @param string $name
*/
public function display($name) {
$fh = fopen($this->path.$name, "r");
$content = fread($fh, filesize($this->path.$name));
48,29 → 33,10
echo $content;
}
 
/**
* Связывание блока с визуальным отображением оного (назначение значения переменной)
*
* @author Alexander Wolf
* @category Template
*
* @param string $attr
* @param string $value
* @return string
*/
public function assign($attr, $value) {
return $this->self[$attr] = $value;
}
 
/**
* Извлечение визуального вида блока по его имени (возвращение значения переменной)
*
* @author Alexander Wolf
* @category Template
*
* @param string $attr
* @return string
*/
public function __get($attr = null) {
return $this->self[$attr];
}