| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <?php
- class admin_sqltable_model extends Model {
-
-
- public function get_list($data) {
- //$_SESSION['sqltable_search'] = "";
- if ($data['query']!='') $_SESSION['query'] = $data['query'];
-
- $sql_all = $data['sql'];
- $sql_all.= " WHERE".$data['where'].$_SESSION['sqltable_search'].";";
- //die($sql_all);
- $all = $this->query($sql_all);
-
- if (sizeof($sql_all)>0) {
- $result_num = sizeof($all);
- }
- else {
- $result_num = 0;
- }
-
- if ($_SESSION['active_page']=='') $_SESSION['active_page'] = 0;
- $_SESSION['active_page'] = $data['actual_page'];
-
- if ($_SESSION['SQLTable_page_limit']=='') $_SESSION['SQLTable_page_limit']= $data['pager_limit'];
- $_SESSION['SQLTable_page_limit'] = $data['pager_limit'];
-
- $limit = $this->calculate_limit($data['actual_page'],$data['pager_limit']);
- $sql = $data['sql']." WHERE".$data['where'].$data['query']."".$_SESSION['sqltable_search']." ORDER BY ".$data['order_field']." ".$data['order_dir']." LIMIT ".$limit.",".$data['pager_limit'].";";
-
- $result['pages'] = $this->calculate_pages($result_num,$data['pager_limit']);
- $result['rows'] = $this->query($sql);
-
- return $result;
- }
-
-
- public function calculate_pages($number,$limit) {
- return ceil($number/$limit);
- }
-
-
- public function calculate_limit($page,$limit) {
- return $page*$limit;
- }
-
-
- public function delete_row($data) {
- $this->execute("UPDATE ".$data['table']." SET ".$data['status']."='0' WHERE ".$data['id_field']."='".$data['id']."';");
- return true;
- }
-
- public function undelete_row($data) {
- $this->execute("UPDATE ".$data['table']." SET ".$data['status']."='1' WHERE ".$data['id_field']."='".$data['id']."';");
- return true;
- }
-
- public function reorder_table($data) {
- $data = $this->escapeArray($data);
- $hash = $data['table_name'];
- $orders = $data['order_data'];
- $orders = str_replace("stateslist_1%5B%5D=","",$orders);
- $orders = explode("&",$orders);
-
- $i=0;
- foreach ($orders as $order) {
- $i++;
- $this->execute("UPDATE ".$data['table']." SET ".$data['reorder_field']."='".$i."' WHERE ".$data['id_field']."='".$order."';");
- }
-
- return true;
- }
-
-
- }
|