Хранилища Subversion ant

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

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

/trunk/lib/security.php
15,10 → 15,29
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) {
29,7 → 48,15
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,6 → 18,17
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;
25,7 → 36,15
$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)."'";
41,7 → 60,16
return $result;
}
 
// Установка данных о настройке
/**
* Установка данных о настройке
*
* @author Alexander Wolf
* @category Core
*
* @param string $attr
* @param string $value
* @return array
*/
public function setOption($attr, $value) {
$result = array();
 
63,7 → 91,16
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);
79,9 → 116,20
 
return $result;
}
 
// Получение и отображение списка дистрибутивов
// XXX deprecated ?
/**
* Получение и отображение списка дистрибутивов
*
* @author Alexander Wolf
* @category Core
* @deprecated may be deprecated XXX
*
* @param string $name
* @param string $heads
* @param string $info
* @param string $format
* @return string
*/
public function showDistributionList($name, $heads = "", $info = "", $format = 'html') {
$query = "SELECT * FROM ".$this->prefix."distribution ORDER BY dist_id ASC";
$rq =& $this->db->query($query);
105,7 → 153,15
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)."'";
122,13 → 178,31
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";
153,7 → 227,16
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);
180,7 → 263,17
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);
203,7 → 296,18
return $show;
}
 
// Добавление поддержки нового apt-дистрибутива
/**
* Добавление поддержки нового apt-дистрибутива
*
* @author Alexander Wolf
* @category Core
*
* @param string $distname
* @param integer $disttype
* @param string $distua
* @param byte $distlogo
* @return array
*/
public function addDistribution($distname, $disttype, $distua = 1, $distlogo = 0) {
$result = array();
$sDName = $this->secure->checkStr($distname);
224,10 → 328,21
return $result;
}
 
// Добавление поддержки новой версии apt-дистрибутива
/**
* Добавление поддержки новой версии apt-дистрибутива
*
* @author Alexander Wolf
* @category Core
*
* @param integer $distID
* @param integer $version
* @param string $vname
* @param integer $vcodename
* @return array
*/
public function addDistVersion($distID, $version, $vname = "", $vcodename = "") {
$result = array();
$sDistID = $this->secure->checkStr($distID);
$sDistID = $this->secure->checkInt($distID);
$sDVersion = $this->secure->checkStr($version);
$sDVName = $this->secure->checkStr($vname);
$sDVCName = $this->secure->checkInt($vcodename);
245,7 → 360,16
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);
262,7 → 386,15
return $show;
}
 
// Отображение формы создания и редактирования apt-дистрибутива
/**
* Отображение формы создания и редактирования apt-дистрибутива
*
* @author Alexander Wolf
* @category Core
*
* @param integer $distID
* @return string
*/
public function showDistributionForm($distID = 0) {
$sDistID = $this->secure->checkInt($distID);
if ($sDistID != 0) {
294,7 → 426,15
//TODO Написать генератор sources.list
}
// Проверка пароля (из формы авторизации)
/**
* Проверка пароля (из формы авторизации)
*
* @author Alexander Wolf
* @category Core
*
* @param string $word
* @return array
*/
public function checkSign($word) {
$result = array();
 
313,7 → 453,15
return $result;
}
 
// Проверка пароля (из cookies)
/**
* Проверка пароля (из cookies)
*
* @author Alexander Wolf
* @category Core
*
* @param string $hash
* @return array
*/
public function checkCookieSign($hash) {
$result = array();
 
329,7 → 477,14
return $result;
}
 
// Форма ввода пароля
/**
* Форма ввода пароля
*
* @author Alexander Wolf
* @category Core
*
* @return string
*/
public function showSigninForm() {
$show = "<div id='regform'>";
$show .= "<form action='process.php' method='post'>\n";
342,7 → 497,16
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,15 → 11,30
*
*/
 
 
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));
33,10 → 48,29
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];
}