Пример #1
0
 /**
  * Retrieves possible unique values based on table and column
  *
  * @apiMethod GET
  * @apiUri    /time/getValues
  * @apiParameter {
  * 		"name":        "table",
  * 		"description": "Table name of interest",
  * 		"type":        "string",
  * 		"required":    true,
  * 		"default":     ""
  * }
  * @apiParameter {
  * 		"name":        "column",
  * 		"description": "Table column of interest",
  * 		"type":        "string",
  * 		"required":    true,
  * 		"default":     ""
  * }
  * @return  void
  */
 public function getValuesTask()
 {
     // Require authentication and authorization
     $this->requiresAuthentication();
     $this->authorizeOrFail();
     // Get table and column values
     $table = Request::getVar('table', '');
     $column = Request::getVar('column', '');
     // Make sure those values haven't been tampered with
     $acceptable = array('time_tasks', 'time_records');
     if (!in_array($table, $acceptable)) {
         App::abort(404, 'Table provided is not allowed');
     }
     // Setup query
     $query = "SELECT DISTINCT(" . $column . ") as val";
     $query .= " FROM #__" . $table;
     $query .= " ORDER BY val ASC";
     App::get('db')->setQuery($query);
     if (!($values = App::get('db')->loadObjectList())) {
         App::abort(500, 'Query failed');
     }
     // Process any overrides
     $values = Filters::filtersOverrides($values, $column);
     // Create object with values
     $response = new stdClass();
     $response->values = $values;
     // Return object
     $this->send($response);
 }