Example #1
0
 /**
  * Default controller action. This is the default action which is executed
  * when no action is specified for a given call.
  * @see lib/controllers/Controller::getContents()
  */
 public function getContents()
 {
     if (count($this->listFields) > 0) {
         $fieldNames = $this->listFields;
     } else {
         if ($this->app != null) {
             $fieldNames = $this->app->xpath("/app:app/app:list/app:field");
             $concatenatedLabels = $this->app->xpath("/app:app/app:list/app:field/@label");
         } else {
             $fieldNames = array();
             $keyField = $this->model->getKeyField();
             $fieldNames[$keyField] = "{$this->model->package}.{$keyField}";
             $fields = $this->model->getFields();
             foreach ($fields as $i => $field) {
                 if ($field["reference"] == "") {
                     $fieldNames[$i] = $this->model->package . "." . $field["name"];
                 } else {
                     $modelInfo = Model::resolvePath($field["reference"]);
                     $fieldNames[$i] = $modelInfo["model"] . "." . $field["referenceValue"];
                 }
             }
         }
     }
     foreach ($fieldNames as $i => $fieldName) {
         $fieldNames[$i] = substr((string) $fieldName, 0, 1) == "." ? $this->redirectedPackage . (string) $fieldName : (string) $fieldName;
     }
     if (count($this->fieldNames) > 0) {
         $fieldNames = $this->fieldNames;
     }
     if ($this->apiMode === false) {
         $this->setupList();
         $params["fields"] = $fieldNames;
         $params["page"] = 0;
         $params["sort_field"] = array(array("field" => $this->model->database . "." . $this->model->getKeyField(), "type" => "DESC"));
         $this->table->setParams($params);
         $return = '<div id="table-wrapper">' . $this->toolbar->render() . $this->table->render() . '</div>';
     } else {
         $params["fields"] = $fieldNames;
         $params["page"] = 0;
         $params["sort_field"] = array(array("field" => $this->model->database . "." . $this->model->getKeyField(), "type" => "DESC"));
         $return = json_encode(SQLDBDataStore::getMulti($params));
     }
     return $return;
 }