public function saveResource($resource)
{
if (!empty($resource->uid)) {
- $query = 'UPDATE kronolith_resources SET resource_name = ?, resource_calendar = ?, resource_category = ? WHERE resource_uid = ?';
+ $query = 'UPDATE kronolith_resources SET resource_name = ?, resource_calendar = ?, resource_category = ? WHERE resource_id = ?';
$values = array($resource->name, $resource->calendar_id, $resource->category, $resource->uid);
$result = $this->_write_db->query($query, $values);
if (!($result instanceof PEAR_Error)) {
throw new Horde_Exception($result->getMessage());
}
} else {
- $query = 'INSERT INTO kronolith_resources (resource_uid, resource_name, resource_calendar, resource_category)';
+ $query = 'INSERT INTO kronolith_resources (resource_id, resource_name, resource_calendar, resource_category)';
$cols_values = ' VALUES (?, ?, ?, ?)';
$id = $this->_db->nextId('kronolity_resources');
$values = array($id, $resource->name, $resource->calendar_id, $resource->category);
return $resource;
}
+ public function getResource($id)
+ {
+ $query = 'SELECT resource_id, resource_name, resource_calendar, resource_category FROM kronolith_resources WHERE resource_uid = ?';
+
+ $results = $this->_db->getRow($query, array($id), DB_FETCHMODE_ASSOC);
+ $return = array();
+ foreach ($results as $field => $value) {
+ $return[str_replace('resource_', '', $field)] = $this->convertFromDriver($value);
+ }
+
+ return $return;
+ }
+
/**
* Attempts to open a connection to the SQL server.
*
}
+ static public function getResource($id)
+ {
+ $driver = Kronolith::getDriver('Sql');
+
+ return new Kronolith_Resource_Single($driver->getResource($id));
+ }
+
}
\ No newline at end of file
abstract class Kronolith_Resource_Base
{
protected $_params = array();
- protected $_uid = '';
+ protected $_id = '';
public function __construct($params = array())
{
if (!empty($params['id'])) {
// Existing resource
- $this->_uid = $params['id'];
+ $this->_id = $params['id'];
}
$this->_params = $params;
*/
public function __get($property)
{
- if ($property == 'uid') {
- return $this->_uid;
+ if ($property == 'id') {
+ return $this->_id;
}
if (isset($this->_params[$property])) {
*
* @return unknown_type
*/
- abstract public function setUid($id);
+ abstract public function setId($id);
}
\ No newline at end of file
}
- public function setUid($id)
+ public function setId($id)
{
- if (!empty($this->_uid)) {
- $this->_uid = $id;
+ if (!empty($this->_id)) {
+ $this->_id = $id;
} else {
throw new Horde_Exception(_("Resource already exists. Cannot change the id."));
}
$new = array('name' => _("N329SP"),
'category' => 'test');
-$resource = new Kronolith_Resource_Single($new);
-$results = Kronolith_Resource::addResource($resource);
-var_dump($results);
\ No newline at end of file
+//$resource = new Kronolith_Resource_Single($new);
+//$results = Kronolith_Resource::addResource($resource);
+//var_dump($results);
+
+/* Test adding resource to event */
+var_dump(Kronolith_Resource::getResource(5));
\ No newline at end of file
CREATE INDEX kronolith_shares_users_perm_idx ON kronolith_shares_users (perm);
CREATE TABLE kronolith_resources {
- resource_uid INT NOT NULL,
+ resource_id INT NOT NULL,
resource_name VARCHAR(255),
resource_calendar VARCHAR(255),
resource_category VARCHAR(255),
ALTER TABLE kronolith_events ADD event_resources TEXT;
CREATE TABLE kronolith_resources (
- resource_uid INT NOT NULL,
+ resource_id INT NOT NULL,
resource_name VARCHAR(255),
resource_calendar VARCHAR(255),
resource_category VARCHAR(255),
- PRIMARY KEY (resource_uid)
+ PRIMARY KEY (resource_id)
);