diff options
author | Frederic Guillot <fred@kanboard.net> | 2016-05-28 19:48:22 -0400 |
---|---|---|
committer | Frederic Guillot <fred@kanboard.net> | 2016-05-28 19:48:22 -0400 |
commit | 14713b0ec7ed93ca45578da069ad4e19a7d8addf (patch) | |
tree | 79972d53f6091a1ddb17f64a6a05a5523f5d5168 /app/Model/Metadata.php | |
parent | 936376ffe74c583d3cb819e98f53a85137fdf8bc (diff) |
Rename all models
Diffstat (limited to 'app/Model/Metadata.php')
-rw-r--r-- | app/Model/Metadata.php | 139 |
1 files changed, 0 insertions, 139 deletions
diff --git a/app/Model/Metadata.php b/app/Model/Metadata.php deleted file mode 100644 index b39ce098..00000000 --- a/app/Model/Metadata.php +++ /dev/null @@ -1,139 +0,0 @@ -<?php - -namespace Kanboard\Model; - -use Kanboard\Core\Base; - -/** - * Metadata - * - * @package model - * @author Frederic Guillot - */ -abstract class Metadata extends Base -{ - /** - * Get the table - * - * @abstract - * @access protected - * @return string - */ - abstract protected function getTable(); - - /** - * Define the entity key - * - * @abstract - * @access protected - * @return string - */ - abstract protected function getEntityKey(); - - /** - * Get all metadata for the entity - * - * @access public - * @param integer $entity_id - * @return array - */ - public function getAll($entity_id) - { - return $this->db - ->hashtable($this->getTable()) - ->eq($this->getEntityKey(), $entity_id) - ->asc('name') - ->getAll('name', 'value'); - } - - /** - * Get a metadata for the given entity - * - * @access public - * @param integer $entity_id - * @param string $name - * @param string $default - * @return mixed - */ - public function get($entity_id, $name, $default = '') - { - return $this->db - ->table($this->getTable()) - ->eq($this->getEntityKey(), $entity_id) - ->eq('name', $name) - ->findOneColumn('value') ?: $default; - } - - /** - * Return true if a metadata exists - * - * @access public - * @param integer $entity_id - * @param string $name - * @return boolean - */ - public function exists($entity_id, $name) - { - return $this->db - ->table($this->getTable()) - ->eq($this->getEntityKey(), $entity_id) - ->eq('name', $name) - ->exists(); - } - - /** - * Update or insert new metadata - * - * @access public - * @param integer $entity_id - * @param array $values - * @return boolean - */ - public function save($entity_id, array $values) - { - $results = array(); - $user_id = $this->userSession->getId(); - $timestamp = time(); - - $this->db->startTransaction(); - - foreach ($values as $key => $value) { - if ($this->exists($entity_id, $key)) { - $results[] = $this->db->table($this->getTable()) - ->eq($this->getEntityKey(), $entity_id) - ->eq('name', $key)->update(array( - 'value' => $value, - 'changed_on' => $timestamp, - 'changed_by' => $user_id, - )); - } else { - $results[] = $this->db->table($this->getTable())->insert(array( - 'name' => $key, - 'value' => $value, - $this->getEntityKey() => $entity_id, - 'changed_on' => $timestamp, - 'changed_by' => $user_id, - )); - } - } - - $this->db->closeTransaction(); - return ! in_array(false, $results, true); - } - - /** - * Remove a metadata - * - * @access public - * @param integer $entity_id - * @param string $name - * @return bool - */ - public function remove($entity_id, $name) - { - return $this->db->table($this->getTable()) - ->eq($this->getEntityKey(), $entity_id) - ->eq('name', $name) - ->remove(); - } -} |