admin_control_langs.php
3.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
<?php
/**
* @author: Bunzia Alexander <nifus@mail.ru> <http://www.weblancer.net/users/nifus/>
* @copyright: Copyright (c) 2010, Bunzia Alexander
* @version: 1.0
* @license: http://www.gnu.org/copyleft/gpl.html GNU/GPL
* @package HiLo CMS
*/
class admin_control_langs{
private $error = false;
private $act = 'index';
private $JsHttpRequest = false;
private $table = 'system_langs';
public function __construct(){
global $MAIN_PAGE;
define('M_PATH',MAIN_SOURCE_PATH.'/modules/'.$MAIN_PAGE -> dirname() );
define('M_URL',MAIN_SOURCE_URL.'/modules/'.$MAIN_PAGE -> dirname() );
define('A_CHARSET', $MAIN_PAGE -> charset() );
include_once(M_PATH.'/inc/url.php');
include_once(M_PATH.'/inc/class.langs.php');
include_once(MAIN_SOURCE_PATH.'/inc/class.html.php');
include(MAIN_SOURCE_PATH.'/ext/ajax/JsHttpRequest.php');
$this -> JsHttpRequest = new JsHttpRequest( A_CHARSET );
$this -> act = !empty($_REQUEST['act']) ? $_REQUEST['act'] : $this -> act;
$GLOBALS['_RESULT']['id_request'] = !empty($_REQUEST['id_request']) ? $_REQUEST['id_request'] : 0;
preg_match('#^'.$MAIN_PAGE -> dirname().'_(.*)$#iUs',$_REQUEST['p_name'],$res);
$this -> path =$res[1];
$this -> path_tmpl = M_PATH.'/tmpl/'.$this -> path;
}
public function get(){
$func = $this -> act;
if ( !method_exists($this ,$func) ){
sys_error(ERROR_404);
}
return $this -> $func();
}
private function index(){
$t = new PHPTAL( $this -> path_tmpl.'/main.html' );
$p = new langsQuery('f');
//$p -> set_debug(1);
$p -> include_module('m','m.m_name');
$p -> orderby_id('DESC');
$p -> get('f.* ',false);
$t -> rows = $p -> rows();
return $t -> execute();
}
private function ajax_reload(){
sys_block_disable();
$t = new PHPTAL( $this -> path_tmpl.'/inc/tmpl_row.html' );
$t -> execute = true;
$p = new langsQuery('f');;
$p -> include_module('m','m.m_name');
$p -> orderby_id('DESC');
$p -> get('f.*',false);
$t -> rows = $p -> rows();
$GLOBALS['_RESULT']['content'] = $t -> execute();
exit();
}
private function ajax_delete(){
sys_block_disable();
$m = langs::load_id($_REQUEST['id']);
if ( false===$m ){
die( A_EMPTY_ID );
}
$m -> delete();
exit();
}
private function ajax_edit(){
sys_block_disable();
$p = new langsQuery('p');
if ( !$p -> where_id($_REQUEST['id']) ){
$row = array(
'module_list'=>filedsGetLangs::module_list(),
'lang_list'=>filedsGetLangs::lang_list(),
);
}else{
$p -> get('f.*,f.m_id as module_list, f.lang as lang_list');
$row = $p -> row();
}
$t = new PHPTAL( $this -> path_tmpl.'/edit.html' );
$t -> row = $row ;
$GLOBALS['_RESULT']['content'] = $t -> execute();
$GLOBALS['_RESULT']['title'] = 'редактировать';
exit();
}
private function ajax_save(){
sys_block_disable();
$p = langs::load_id($_REQUEST['id']);
if ( false===$p ){
$create=1;
$p = langs::create();
}
foreach( $_POST['form'] as $k=>$v ){
$p -> set($k,$v);
}
$id = ($create==1) ? $p -> insert() : $p -> update();
exit();
}
}
?>