// Извлечение и проверка _GET и _POST данных :::::::::::::::
// 14.12.2010 Версия: 1.0.20 ::::::::::::::::::::::::::::::
/*
bool:результат = SetParameters ( array:имя_переменной=>метод_доступа ) - Установка имен параметров и методов, получение данных по параметрам
bool:результат = CheckData ( int:тип_проверки ) - Проверка данных.
SET_ONE - Установлен хоть один параметр? Вернет TRUE если это так.
SET_ALL - Установлены все параметры? Вернет TRUE если это так.
FULL_ONE - Хоть один параметр имеет данные? Вернет TRUE если это так.
FULL_ALL - Все параметры имеют данные? Вернет TRUE если это так.
array:данные = GetData () - Возврат ассоциативного массива с данными.
Clear () - Очистка данных обьекта.
Destroy () - Уничтожение обьекта.
*/
class GetPostProcessing {
// Параметры
const _GET = 'g';
const _POST = 'p';
const SET_ONE = 1;
const SET_ALL = 2;
const FULL_ONE = 3;
const FULL_ALL = 4;
//
private $Data;
// :::::::::::::::::::::::::::::::::::::::::::::::::::::::::
// Конструктор - установка параметров при инициализации
function __construct ( $paramlist = FALSE ) {
// Проверка наличия данных
if ( $paramlist != FALSE ) {
// Установка параметров
$this->SetParameters ( $paramlist );
}
}
// :::::::::::::::::::::::::::::::::::::::::::::::::::::::::
// Установка параметров
public function SetParameters ( $paramlist = FALSE ) {
$result = FALSE;
// Проверяем массив ли
// Это массив
foreach ( $paramlist as $name => $method ) {
// Проверяем формат каждого параметра
$result = TRUE;
// Вызываем метод чтения данных
$this->Data [ $name ] = $this->_ReadData ( $name, $method );
} else {
// Ошибка формата параметра
$this->Data [ $name ] = FALSE;
}
}
}
return $result;
}
// :::::::::::::::::::::::::::::::::::::::::::::::::::::::::
// Проверка данных
public function CheckData ( $type = FALSE ) {
// Считаем кол-во элементов массива, проверяем
if ( $list_count = count ( $this->Data ) ) { // Определяем тип проверки
switch ( $type ) {
case self::SET_ONE:
// Проверка отсутствия любого параметра
$check = 0;
foreach ( $this->Data as $name => $content ) {
// Пошаговая проверка
if ( $content !== NULL ) {
// Параметр есть
$check++;
}
}
// Контрольная проверка
if ( $check >= 1 ) {
// Нет отсутствующих параметров
$result = TRUE;
} else {
// Есть отсутствующие
$result = FALSE;
}
break;
case self::SET_ALL:
// Проверка отсутствия всех параметров
$check = 0;
foreach ( $this->Data as $name => $content ) {
// Пошаговая проверка
if ( $content !== NULL ) {
// Параметр есть
$check++;
}
}
// Контрольная проверка
if ( $list_count == $check ) {
// Хоть один параметр есть
$result = TRUE;
} else {
// Все параметры отсутствуют
$result = FALSE;
}
break;
case self::FULL_ONE:
// Проверка на "пустоту" любого параметра
$check = 0;
foreach ( $this->Data as $name => $content ) {
// Пошаговая проверка
if ( ( $content != '' ) and ( $content !== NULL ) ) {
// Параметр не пустой
$check++;
}
}
// Контрольная проверка
if ( $check >= 1 ) {
// Нет пустых параметров
$result = TRUE;
} else {
// Есть пустые
$result = FALSE;
}
break;
case self::FULL_ALL:
// Проверка на "пустоту" всех параметров
$check = 0;
foreach ( $this->Data as $name => $content ) {
// Пошаговая проверка
if ( ( $content != '' ) and ( $content !== NULL ) ) {
// Параметр не пустой
$check++;
}
}
// Контрольная проверка
if ( $list_count == $check ) {
// Хоть один параметр не пустой
$result = TRUE;
} else {
// Все параметры пустые
$result = FALSE;
}
break;
default:
// Ошибка типа проверки
$result = FALSE;
}
} else {
// Ошибка, нет данных
$result = FALSE;
}
return $result;
}
// :::::::::::::::::::::::::::::::::::::::::::::::::::::::::
// Возврат данных
public function GetData () {
// Извлекаем данные
$result = $this->Data;
return $result;
}
// :::::::::::::::::::::::::::::::::::::::::::::::::::::::::
// Очистка обьекта
public function Clear () {
$this->Data = FALSE;
}
// :::::::::::::::::::::::::::::::::::::::::::::::::::::::::
// Уничтожение обьекта
public function Destroy () {
}
// :::::::::::::::::::::::::::::::::::::::::::::::::::::::::
// Чтение данных
private function _ReadData ( $name, $method ) {
// Определяем метод доступа
switch ( $method ) {
case self::_GET:
// Получаем данные
$result = $_GET [ $name ];
break;
case self::_POST:
// Получаем данные
$result = $_POST [ $name ];
break;
default:
// Ошибка метода
$result = FALSE;
}
return $result;
}
// :::::::::::::::::::::::::::::::::::::::::::::::::::::::::
}