File indexing completed on 2024-04-28 05:53:54

0001 <?php
0002 
0003 /**
0004  *  ocs-apiserver
0005  *
0006  *  Copyright 2016 by pling GmbH.
0007  *
0008  *    This file is part of ocs-apiserver.
0009  *
0010  *    This program is free software: you can redistribute it and/or modify
0011  *    it under the terms of the GNU Affero General Public License as
0012  *    published by the Free Software Foundation, either version 3 of the
0013  *    License, or (at your option) any later version.
0014  *
0015  *    This program is distributed in the hope that it will be useful,
0016  *    but WITHOUT ANY WARRANTY; without even the implied warranty of
0017  *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0018  *    GNU Affero General Public License for more details.
0019  *
0020  *    You should have received a copy of the GNU Affero General Public License
0021  *    along with this program.  If not, see <http://www.gnu.org/licenses/>.
0022  **/
0023 class Application_Model_DbTable_Tags extends Local_Model_Table
0024 {
0025 
0026     protected $_name = "tag";
0027 
0028     protected $_keyColumnsForRow = array('tag_id');
0029 
0030     protected $_key = 'tag_id';
0031 
0032     protected $_defaultValues = array(
0033         'tag_id'   => null,
0034         'tag_name' => null
0035     );
0036 
0037 
0038     /**
0039      * @param string $tags
0040      *
0041      * @return array
0042      */
0043     public function storeTags($tags)
0044     {
0045         $arrayTags = explode(',', $tags);
0046         $sqlFetchTag = "SELECT `tag_id` FROM tag WHERE tag_name = :name";
0047         $resultIds = array();
0048         foreach ($arrayTags as $tag) {
0049             $resultRow = $this->_db->fetchRow($sqlFetchTag, array('name' => $tag));
0050             if (empty($resultRow)) {
0051                 $this->_db->insert($this->_name, array('tag_name' => $tag));
0052                 $resultIds[] = $this->_db->lastInsertId();
0053             } else {
0054                 $resultIds[] = $resultRow['tag_id'];
0055             }
0056         }
0057 
0058         return $resultIds;
0059     }
0060 
0061 }