draw = $_POST["draw"]; $ret->recordsTotal = 0; $ret->recordsFiltered = 0; $ret->data = array(); if (AdminLoginManager::isLogged()){ $admin = AdminLoginManager::getLogged(); if ($admin->hasRole($permissionFlagRequired)){ $dao = GlobalVariables::get("dao"); $filter = array(); $options = array('limit'=>$_POST["length"], 'skip'=>$_POST["start"]); if (sizeof($_POST["order"])>0){ foreach ($_POST["order"] as $details){ $key = $_POST["columns"][$details["column"]]["data"]; $options["sort"][$key] = strcasecmp($details["dir"], "asc")==0?1:-1; } } $models = $dao->query($useModel, $filter, $options); if (sizeof($models)>0){ foreach ($models as $model){ $result = self::getObjectFromFieldsArray($model, $exposedModel); $ret->data[] = $result; } } $ret->recordsTotal = $dao->count($useModel); $ret->recordsFiltered = $dao->count($useModel,$filter); } } return $ret; } private static function getObjectFromFieldsArray($obj,array $fieldArr){ $rval = new stdClass(); if (sizeof($fieldArr)>0){ foreach ($fieldArr as $key=>$val){ if (is_array($val)){ $rval->$key = self::getObjectFromFieldsArray($obj->$key, $val); } else { $rval->$key = $obj->$key; } } } return $rval; } public static function generateTable($backendPage, array $columns, array $htmlOpts = array()){ $tabId = "datatable_".self::$instCount++; $colLabels = "