function store($force = true) { $answer_handler = new sfAnswerHandler($this->db); if ($this->status() == _SF_AN_STATUS_APPROVED) { $criteria = new CriteriaCompo(new criteria('faqid', $this->faqid())); $answer_handler->updateAll('status', _SF_AN_STATUS_REJECTED, $criteria); } return $answer_handler->insert($this, $force); }
/** * delete an FAQ from the database * * @param object $faq reference to the FAQ to delete * @param bool $force * @return bool FALSE if failed. */ function delete(&$faq, $force = false) { $smartModule =& sf_getModuleInfo(); $module_id = $smartModule->getVar('mid'); if (strtolower(get_class($faq)) != 'sffaq') { return false; } // Deleting the answers $answer_handler = new sfAnswerHandler($this->db); if (!$answer_handler->deleteFaqAnswers($faq)) { // error msg... echo "error while deleteing an answer"; } $sql = sprintf("DELETE FROM %s WHERE faqid = %u", $this->db->prefix("smartfaq_faq"), $faq->getVar('faqid')); if (false != $force) { $result = $this->db->queryF($sql); } else { $result = $this->db->query($sql); } if (!$result) { return false; } xoops_groupperm_deletebymoditem($module_id, "item_read", $faq->faqid()); return true; }