예제 #1
0
 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);
 }
예제 #2
0
 /**
  * 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;
 }