Add basic support for configurations

This commit is contained in:
Karsten Heiken
2011-04-22 01:03:16 +02:00
parent bfddf1af9a
commit e60f325a94
2 changed files with 80 additions and 0 deletions

View File

@@ -0,0 +1,46 @@
<?php
/**
* Configurations are used to store different variations of the same project.
*
* @author Karsten Heiken, karsten@disposed.de
*/
class Configurations extends CI_Controller {
/**
* Constructor.
*/
public function __construct() {
parent::__construct();
$this->load->model('configuration');
// load language file
// $this->lang->load(strtolower($this->router->class));
}
/**
* Get a specific configuration from the database.
*
* @param string $config_id The configuration id to get.
*/
public function get($config_id) {
$configs = $this->configuration->get($config_id);
$this->output
->set_content_type('application/json')
->set_output(json_encode($configs));
}
/**
* Search for a specific configuration and return a list of possible results.
*
* @param string $project The project in which to search for a configuration.
* @param string $needle The needle to look for in the haystack.
*/
public function search($project, $needle) {
$results = $this->configuration->search($project, $needle);
$this->output
->set_content_type('application/json')
->set_output(json_encode(array('count' => count($results), 'results' => $results)));
}
}

View File

@@ -0,0 +1,34 @@
<?php
/**
* Configurations are used to store different variations of the same project.
*
* @author Karsten Heiken, karsten@disposed.de
*/
class Configuration extends CI_Model {
/**
* Get a configuration by id.
*
* @param type $configuration_id The configuration to get.
* @return array The configuration
*/
public function get($configuration_id) {
$query = $this->db->get_where('configurations', array('id' => $configuration_id));
return $query->row_array();
}
/**
* Search for a specific configuration and return a list of possible results.
*
* @param string $needle The needle to look for in the haystack.
*/
public function search($project, $needle) {
$query = $this->db->where('project_id', $project)
->like('name', $needle)->get('configurations');
$results = $query->result_array();
return $results;
}
}