Exemplo n.º 1
0
 public function addMyAction()
 {
     $userRecordsTag = new UserRecordsTag();
     $tagName = $_POST['tag'];
     $itemId = $_POST['itemId'];
     $userRecordsTag->record_type = 'Item';
     $userRecordsTag->record_id = $itemId;
     $tag = $this->_helper->db->getTable('Tag')->findOrNew($tagName);
     $userRecordsTag->tag_id = $tag->id;
     if ($userRecordsTag->save(false)) {
         $response = array('status' => 'OK', 'added' => $tag->id, 'html' => $this->_tagResponseHtml($tag));
     } else {
         $response = array('status' => 'FAIL', 'added' => $tag->id);
     }
     $this->_helper->json($response);
 }
Exemplo n.º 2
0
 /**
  * Add the UserRecordTag when a tag is added. If the user role's tags are private, also delete the records_tags row
  * @param array $args
  */
 public function hookAddItemTag($args)
 {
     $user = current_user();
     if ($user && in_array($user->role, unserialize(get_option('user-tags-private-roles')))) {
         $recordsTagsTable = $this->_db->getTable('RecordsTags');
         $item = $args['record'];
         $added = $args['added'];
         foreach ($added as $tag) {
             $userRecordsTag = new UserRecordsTag();
             $userRecordsTag->tag_id = $tag->id;
             $userRecordsTag->record_type = 'Item';
             $userRecordsTag->record_id = $item->id;
             $userRecordsTag->save();
             //kill the record from records_tags. Oh records_tags row, we hardly knew ye
             $recordsTag = $recordsTagsTable->findForRecordAndTag($item, $tag);
             if ($recordsTag) {
                 $recordsTag->delete();
             }
         }
     }
 }