/** * Set an FaqAdapter class * * @return BOOL true (success) / false (failure) */ function setFaqAdapter($name) { // Step 1 - check that $name is a valid adapter $isValid = xhelpFaqAdapterFactory::_adapterValid($name); // Step 2 - store in xhelp_meta table $ret = false; if ($isValid) { $ret = xhelpSetMeta('faq_adapter', $name); } // Step 3 - return true/false return $ret; }
function updateActive() { if (!isset($_POST['modname'])) { redirect_header(XHELP_ADMIN_URL . "/faqAdapter.php", 3, _AM_XHELP_MESSAGE_NO_NAME); } else { $modname = $_POST['modname']; } $currentAdapter = xhelpGetMeta('faq_adapter'); if ($currentAdapter == $modname) { // Deactivate current adapter? $ret = xhelpDeleteMeta('faq_adapter'); } else { $ret = xhelpFaqAdapterFactory::setFaqAdapter($modname); } if ($ret) { header("Location: " . XHELP_ADMIN_URL . "/faqAdapter.php"); } else { redirect_header(XHELP_ADMIN_URL . "/faqAdapter.php", 3, _AM_XHELP_MSG_INSTALL_MODULE); } }
function addFaq_action() { global $xoopsUser, $_eventsrv; $hTicket =& xhelpGetHandler('ticket'); // Retrieve ticket information $ticketid = $_POST['ticketid']; $ticket =& $hTicket->get($ticketid); $adapter =& xhelpFaqAdapterFactory::getFaqAdapter(); $faq =& $adapter->createFaq(); // @todo - Make subject user editable $faq->setVar('subject', $_POST['subject']); $faq->setVar('problem', $_POST['problem']); $faq->setVar('solution', $_POST['solution']); // BTW - XOBJ_DTYPE_ARRAY vars must be serialized prior to calling setVar in XOOPS 2.0 $faq->setVar('categories', serialize($_POST['categories'])); if ($adapter->storeFaq($faq)) { // Todo: Run events here $_eventsrv->trigger('new_faq', array(&$ticket, &$faq)); redirect_header(XHELP_BASE_URL . "/ticket.php?id={$ticketid}", 3, _XHELP_MESSAGE_ADD_FAQ); } else { redirect_header(XHELP_BASE_URL . "/ticket.php?id={$ticketid}", 3, _XHELP_MESSAGE_ERR_ADD_FAQ); } }