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; } }