* @copyright: Copyright (c) 2010, Bunzia Alexander * @version: 1.0 * @license: http://www.gnu.org/copyleft/gpl.html GNU/GPL * @package: HiLo CMS */ include_once(MAIN_SOURCE_PATH.'/inc/class.query.php'); include_once(MAIN_SOURCE_PATH.'/inc/class.objects.php'); /* include_once(MAIN_SOURCE_PATH.'/modules/admin/cache/config.php'); include_once(MAIN_SOURCE_PATH.'/modules/admin/inc/url.php'); include_once(MAIN_SOURCE_PATH.'/modules/admin/lang/'.MAIN_LANG.'/lang.php'); */ class filedsSetLangs { /* static function n_alias($v,$id){ if ( empty($v) ){ throw new Exception('Ошибка: нужно заполнить поле "Адрес"!'); } if ( !sys_is_alias($v) ){ throw new Exception('Ошибка: адрес содержит запрещённые символы"!'); } if ( langs::is_exists($v,$id) ){ throw new Exception('Ошибка: материал с таким адресом уже существует"!'); } return $v; } static function desc($v){ if ( empty($v) ){ throw new Exception('Ошибка: нужно заполнить поле "Содержимое"!'); } return $v; } static function short_desc($v){ if ( empty($v) ){ throw new Exception('Ошибка: нужно заполнить поле "Содержимое"!'); } return sys_short_text($v); } static function images($v){ return str_replace('245x120_','',$v); } static function main_image($v){ $v = str_replace('245x120_','',$v); $v = explode('|',$v); if ( !empty($v[0]) ){ return $v[0]; } return false; } /*static function set_n_time_add($v){ if ( empty($v) ){ //throw new Exception('Ошибка: нужно заполнить поле "Содержимое"!'); return FALSE; } preg_match('#^([0-9]{2,2})\.([0-9]{2,2})\.([0-9]{4,4}) ([0-9]{1,2}):([0-9]{1,2})$#',$v,$res); $v = mktime($res[4],$res[5],0,$res[2],$res[1],$res[3]); return $v; }*/ } class filedsGetLangs { static function module_list($v){ include_once(MAIN_SOURCE_PATH.'/inc/class.html.php'); $l = new module_select_box(); return $l -> get($v); } static function lang_list($v){ $langs = array('ru'=>'ru','en'=>'en'); $s = new select_box(); $s -> selected_id($$v); $s -> empty_record(false); foreach( $langs as $k=>$v ){ $s -> set($k,$v); } return $s -> get(); } /*static function module_name($v){ $langs = array('ru'=>'ru','en'=>'en'); $s = new select_box(); $s -> selected_id($$v); $s -> empty_record(false); foreach( $langs as $k=>$v ){ $s -> set($k,$v); } return $s -> get(); }*/ } class langsQuery extends query{ var $fields_get = 'filedsGetLangs'; /** * @var string $alias Алиас для исплользования в mysql запросе */ public function __construct($alias){ $this -> set_table(MAIN_LANGS_TBL ); $this -> set_alias($alias); } public function include_module($alias,$cols=false){ global $MAIN_DB; $this -> include_table( MAIN_MODULES_TBL ,$alias,'m_id',$cols ); } public function where_id($v){ $v = intval($v); if ( empty($v) ){ return FALSE; } return $this -> set_where( $this -> alias.'.lang_id',$v); } public function where_module($v){ return $this -> set_where( $this -> alias.'.m_id',$v); } public function orderby_id($v){ return $this -> set_orderby($this -> alias.'.lang_id',$v); } /** * Произвольная сортировка */ public function orderby_rand(){ return $this -> set_orderby('RAND()'); } } // end class langsQuery class langs extends objects{ public $table = "system_langs"; public $key = "lang_id"; public $fields = 'filedsSetLangs'; //STATIC static function load_id($id){ $m = new langsQuery('m'); if ( !$m -> where_id($id) ){ return FALSE; } $m -> get('*'); if ( !$m -> get_count_rows() ){ return FALSE; } return new langs($id,$m -> row()); } static function create(){ //global $MAIN_DB; //$sql = "INSERT INTO ".$MAIN_DB -> prefix( self::$table)." (".self::$key.") VALUES(0)"; //$MAIN_DB -> query($sql); //$id = $MAIN_DB -> insert_id(); return new langs(0,array() ); } public function update(){ global $MAIN_DB; /* if ( !empty($this -> last_error ) ){ return false; }*/ if ( sizeof($this -> set_info)==0 ){ sys_error(500,E_EMPTY_ARRAY); } $sql = array(); foreach( $this -> set_info as $k=>$v ){ $sql[]="`$k`='".sys_in_sql($v)."'"; } $sql = " UPDATE ".MAIN_LANGS_TBL." SET ".implode(',',$sql)." WHERE ".$this -> key."='".$this -> key_value."'"; if ( !empty($this -> debug) ){ die($sql); } $MAIN_DB -> query($sql); //langs::search_index($this -> key_value); // формируем новую запись в таблицу поиска return $this -> key_value; } public function insert(){ global $MAIN_DB; if ( sizeof($this -> set_info)==0 ){ sys_error(500,E_EMPTY_ARRAY); } $sql = array(); foreach( $this -> set_info as $k=>$v ){ $sql[]="`$k`='".sys_in_sql($v)."'"; } $sql = "INSERT INTO ".MAIN_LANGS_TBL." SET ".implode(',',$sql).""; if ( !empty($this -> debug) ){ die($sql); } $MAIN_DB -> query($sql); $id = $MAIN_DB -> insert_id(); return $id; } public function delete(){ global $MAIN_DB; $sql = "DELETE FROM ".MAIN_LANGS_TBL." WHERE ".$this -> key."='".$this -> key_value."'"; $MAIN_DB -> query($sql); return TRUE; } } // end class ?>