/**
  * remove the entry on readObjects table for this object and the given user
  * or set is as read.
  *
  * @access public
  * @param void
  * @return boolean
  */
 function setIsRead($contact_id, $isRead)
 {
     if ($isRead) {
         if ($this->getIsRead($contact_id)) {
             return;
             // object is already marked as read
         }
         $read_object = new ReadObject();
         $read_object->setRelObjectId($this->getId());
         $read_object->setContactId($contact_id);
         $read_object->setIsRead(true);
         $read_object->save();
         $this->is_read[$contact_id] = true;
     } else {
         ReadObjects::delete('rel_object_id = ' . $this->getId() . ' AND contact_id = ' . logged_user()->getId());
     }
 }
 /**
  * Save object. If object is searchable this function will add content of searchable fields
  * to search index
  *
  * @param void
  * @return boolean
  */
 function save()
 {
     $disk_space_used = config_option('disk_space_used');
     if ($disk_space_used && $disk_space_used > config_option('disk_space_max')) {
         throw new Exception(lang('maximum disk space reached'));
     }
     if (parent::save()) {
         /*try {
         			$user = logged_user();
         			if ($user instanceof User && $this->isCommentable()) {
         				$this->subscribeUser($user);
         			}
         		} catch (Exception $e) {}*/
         //remove all entries
         if (get_class($this->manager()) != 'MailContents') {
             $condition = ' `rel_object_manager` = \'' . get_class($this->manager()) . '\' AND `rel_object_id` = ' . $this->getObjectId();
             ReadObjects::delete($condition);
             if (logged_user() instanceof User) {
                 $read_object = new ReadObject();
                 $read_object->setRelObjectManager(get_class($this->manager()));
                 $read_object->setRelObjectId($this->getObjectId());
                 $read_object->setUserId(logged_user()->getId());
                 $read_object->setIsRead(true);
                 $read_object->save();
             }
         }
         return true;
     }
     return false;
 }