if ($error == true) { $endMsg = _AM_SF_IMPORT_ERROR; } else { $endMsg = _AM_SF_IMPORT_SUCCESS; } echo $endMsg; echo "<br /><br />"; echo "<a href='import.php'>" . _AM_SF_IMPORT_BACK . "</a>"; echo "<br /><br />"; break; case "default": default: $importfile = 'none'; xoops_cp_header(); sf_adminMenu(-1, _AM_SF_IMPORT); sf_collapsableBar('bottomtable', 'bottomtableicon'); echo "<img id='bottomtableicon' src=" . XOOPS_URL . "/modules/" . $xoopsModule->dirname() . "/images/icon/close12.gif alt='' /></a> " . _AM_SF_IMPORT_TITLE . "</h3>"; echo "<div id='bottomtable'>"; echo "<span style=\"color: #567; margin: 3px 0 12px 0; font-size: small; display: block; \">" . _AM_SF_IMPORT_INFO . "</span>"; global $xoopsUser, $xoopsUser, $xoopsConfig, $xoopsDB, $modify, $xoopsModuleConfig, $xoopsModule, $XOOPS_URL, $myts; include_once XOOPS_ROOT_PATH . '/class/xoopsformloader.php'; $module_handler =& xoops_gethandler('module'); if ($module_handler->getByDirname('xoopsfaq')) { $importfile_select_array["xoopsfaq"] = _AM_SF_IMPORT_XOOPSFAQ_110; } if ($module_handler->getByDirname('wffaq')) { $importfile_select_array["wffaq"] = _AM_SF_IMPORT_WFFAQ_105; } if (isset($importfile_select_array) && count($importfile_select_array) > 0) { $sform = new XoopsThemeForm(_AM_SF_IMPORT_SELECTION, "op", xoops_getenv('PHP_SELF')); $sform->setExtra('enctype="multipart/form-data"');
function editfaq($showmenu = false, $faqid = -1) { global $faq_handler, $category_handler, $xoopsUser, $xoopsUser, $xoopsConfig, $xoopsDB, $modify, $xoopsModuleConfig, $xoopsModule, $XOOPS_URL, $myts; include_once XOOPS_ROOT_PATH . '/class/xoopsformloader.php'; // If there is a parameter, and the id exists, retrieve data: we're editing a faq if ($faqid != -1) { // Creating the FAQ object $faqObj = new sfFaq($faqid); if ($faqObj->notLoaded()) { redirect_header("faq.php", 1, _AM_SF_NOARTTOEDIT); exit; } switch ($faqObj->status()) { case _SF_STATUS_ASKED: $breadcrumb_action = _AM_SF_APPROVING; $collapsableBar_title = _AM_SF_QUESTION_APPROVING; $collapsableBar_info = _AM_SF_QUESTION_APPROVING_INFO; $button_caption = _AM_SF_QUEUE; break; case "default": default: $breadcrumb_action = _AM_SF_EDITING; $collapsableBar_title = _AM_SF_EDITQUES; $collapsableBar_info = _AM_SF_EDITING_INFO; $button_caption = _AM_SF_MODIFY; break; } // Creating the category of this FAQ $categoryObj =& $category_handler->get($faqObj->categoryid()); if ($showmenu) { sf_adminMenu(3, _AM_SF_OPEN_QUESTIONS . " > " . $breadcrumb_action); } echo "<br />\n"; sf_collapsableBar('bottomtable', 'bottomtableicon'); echo "<img id='bottomtableicon' src=" . XOOPS_URL . "/modules/" . $xoopsModule->dirname() . "/images/icon/close12.gif alt='' /></a> " . $collapsableBar_title . "</h3>"; echo "<div id='bottomtable'>"; echo "<span style=\"color: #567; margin: 3px 0 12px 0; font-size: small; display: block; \">" . $collapsableBar_info . "</span>"; } else { // there's no parameter, so we're adding a faq $faqObj =& $faq_handler->create(); $faqObj->setVar('uid', $xoopsUser->getVar('uid')); $categoryObj =& $category_handler->create(); $breadcrumb_action = _AM_SF_CREATINGNEW; $button_caption = _AM_SF_CREATE; if ($showmenu) { sf_adminMenu(3, _AM_SF_OPEN_QUESTIONS . " > " . $breadcrumb_action); } sf_collapsableBar('bottomtable', 'bottomtableicon'); echo "<img id='bottomtableicon' src=" . XOOPS_URL . "/modules/" . $xoopsModule->dirname() . "/images/icon/close12.gif alt='' /></a> " . _AM_SF_CREATEQUESTION . "</h3>"; echo "<div id='bottomtable'>"; } $sform = new XoopsThemeForm(_AM_SF_OPEN_QUESTION, "op", xoops_getenv('PHP_SELF')); $sform->setExtra('enctype="multipart/form-data"'); // faq requester $sform->addElement(new XoopsFormLabel(_AM_SF_REQUESTED_BY, sf_getLinkedUnameFromId($faqObj->uid(), $xoopsModuleConfig['userealname']))); // CATEGORY /* * Get information for pulldown menu using XoopsTree. * First var is the database table * Second var is the unique field ID for the categories * Last one is not set as we do not have sub menus in Smartfaq */ $mytree = new XoopsTree($xoopsDB->prefix("smartfaq_categories"), "categoryid", "parentid"); ob_start(); $mytree->makeMySelBox("name", "weight", $categoryObj->categoryid()); $sform->addElement(new XoopsFormLabel(_AM_SF_CATEGORY_QUESTION, ob_get_contents())); ob_end_clean(); // faq QUESTION $sform->addElement(new XoopsFormTextArea(_AM_SF_QUESTION, 'question', $faqObj->question(), 7, 60)); // PER ITEM PERMISSIONS $member_handler =& xoops_gethandler('member'); $group_list =& $member_handler->getGroupList(); $groups_checkbox = new XoopsFormCheckBox(_AM_SF_PERMISSIONS_QUESTION, 'groups[]', $faqObj->getGroups_read()); foreach ($group_list as $group_id => $group_name) { if ($group_id != XOOPS_GROUP_ADMIN) { $groups_checkbox->addOption($group_id, $group_name); } } $sform->addElement($groups_checkbox); // faq ID $sform->addElement(new XoopsFormHidden('faqid', $faqObj->faqid())); $button_tray = new XoopsFormElementTray('', ''); $hidden = new XoopsFormHidden('op', 'addfaq'); $button_tray->addElement($hidden); $sform->addElement(new XoopsFormHidden('status', $faqObj->status())); // Setting the FAQ Status /* $status_select = new XoopsFormSelect('', 'status', $status); $status_select->addOptionArray(sf_getStatusArray()); $status_tray = new XoopsFormElementTray(_AM_SF_STATUS_EXP , ' '); $status_tray->addElement($status_select); $sform->addElement($status_tray); */ if ($faqid == -1) { // there's no faqid? Then it's a new faq // $button_tray -> addElement( new XoopsFormButton( '', 'mod', _AM_SF_CREATE, 'submit' ) ); $butt_create = new XoopsFormButton('', '', _AM_SF_CREATE, 'submit'); $butt_create->setExtra('onclick="this.form.elements.op.value=\'addfaq\'"'); $button_tray->addElement($butt_create); $butt_clear = new XoopsFormButton('', '', _AM_SF_CLEAR, 'reset'); $button_tray->addElement($butt_clear); $butt_cancel = new XoopsFormButton('', '', _AM_SF_CANCEL, 'button'); $butt_cancel->setExtra('onclick="history.go(-1)"'); $button_tray->addElement($butt_cancel); } else { // else, we're editing an existing faq // $button_tray -> addElement( new XoopsFormButton( '', 'mod', _AM_SF_MODIFY, 'submit' ) ); $butt_create = new XoopsFormButton('', '', $button_caption, 'submit'); $butt_create->setExtra('onclick="this.form.elements.op.value=\'addfaq\'"'); $button_tray->addElement($butt_create); $butt_edit = new XoopsFormButton('', '', _AM_SF_OPEN_QUESTION_EDIT, 'button'); $butt_edit->setExtra("onclick=\"location='faq.php?op=mod&faqid=" . $faqid . "'\""); $button_tray->addElement($butt_edit); $butt_cancel = new XoopsFormButton('', '', _AM_SF_CANCEL, 'button'); $butt_cancel->setExtra('onclick="history.go(-1)"'); $button_tray->addElement($butt_cancel); } $sform->addElement($button_tray); $sform->display(); echo "</div>"; unset($hidden); }
${$k} = $v; } foreach ($_GET as $k => $v) { ${$k} = $v; } switch ($op) { case "default": default: global $xoopsDB, $xoopsModule; xoops_cp_header(); sf_adminMenu(4, _AM_SF_PERMISSIONS); // View Categories permissions $item_list_view = array(); $block_view = array(); // echo "<h3 style='color: #2F5376; '>"._AM_SF_PERMISSIONSADMIN."</h3>\n" ; sf_collapsableBar('toptable', 'toptableicon'); $result_view = $xoopsDB->query("SELECT categoryid, name FROM " . $xoopsDB->prefix("smartfaq_categories") . " "); if ($xoopsDB->getRowsNum($result_view)) { while ($myrow_view = $xoopsDB->fetcharray($result_view)) { $item_list_view['cid'] = $myrow_view['categoryid']; $item_list_view['title'] = $myrow_view['name']; $form_view = new XoopsGroupPermForm("", $xoopsModule->getVar('mid'), "category_read", "<img id='toptableicon' src=" . XOOPS_URL . "/modules/" . $xoopsModule->dirname() . "/images/icon/close12.gif alt='' /></a> " . _AM_SF_PERMISSIONSVIEWMAN . "</h3><div id='toptable'><span style=\"color: #567; margin: 3px 0 0 0; font-size: small; display: block; \">" . _AM_SF_VIEW_CATS . "</span>"); $block_view[] = $item_list_view; foreach ($block_view as $itemlists) { $form_view->addItem($itemlists['cid'], $myts->displayTarea($itemlists['title'])); } } echo $form_view->render(); } else { echo "<img id='toptableicon' src=" . XOOPS_URL . "/modules/" . $xoopsModule->dirname() . "/images/icon/close12.gif alt='' /></a> " . _AM_SF_PERMISSIONSVIEWMAN . "</h3><div id='toptable'><span style=\"color: #567; margin: 3px 0 0 0; font-size: small; display: block; \">" . _AM_SF_NOPERMSSET . "</span>"; }
function editfaq($faqid = '') { global $answer_handler, $xoopsUser, $xoopsUser, $xoopsConfig, $xoopsDB, $modify, $xoopsModuleConfig, $xoopsModule, $XOOPS_URL, $myts; include_once XOOPS_ROOT_PATH . '/class/xoopsformloader.php'; // Creating the FAQ object $faqObj = new sfFaq($faqid); // Creating the category object $categoryObj =& $faqObj->category(); if ($faqObj->notLoaded()) { redirect_header("index.php", 1, _AM_SF_NOFAQSELECTED); exit; } switch ($faqObj->status()) { case _SF_STATUS_ANSWERED: $breadcrumb_action1 = _AM_SF_SUBMITTED; $breadcrumb_action2 = _AM_SF_APPROVING; $collapsableBar_title = _AM_SF_SUBMITTED_TITLE; $collapsableBar_info = _AM_SF_SUBMITTED_INFO; $button_caption = _AM_SF_APPROVE; $an_status = _SF_AN_STATUS_PROPOSED; break; } $module_id = $xoopsModule->getVar('mid'); $gperm_handler =& xoops_gethandler('groupperm'); $groups = $xoopsUser ? $xoopsUser->getGroups() : XOOPS_GROUP_ANONYMOUS; if (!sf_userIsAdmin() && !$gperm_handler->checkRight('category_admin', $faqObj->categoryid(), $groups, $module_id)) { redirect_header("javascript:history.go(-1)", 1, _NOPERM); exit; } // Retreiving the official answer $official_answer = $faqObj->answer(); sf_adminMenu(-1, _AM_SF_SMARTFAQ . " > " . _AM_SF_ANSWER); sf_collapsableBar('bottomtable', 'bottomtableicon'); echo "<img id='bottomtableicon' src=" . XOOPS_URL . "/modules/" . $xoopsModule->dirname() . "/images/icon/close12.gif alt='' /></a> " . _AM_SF_SUBMITTED_ANSWER . "</h3>"; echo "<div id='bottomtable'>"; echo "<span style=\"color: #567; margin: 3px 0 12px 0; font-size: small; display: block; \">" . _AM_SF_SUBMITTED_ANSWER_INFO . "</span>"; $proposed_answers = $answer_handler->getAllAnswers($faqid, _SF_AN_STATUS_PROPOSED); if (count($proposed_answers) == 0) { redirect_header("index.php", 1, _AM_SF_NOANSWERS); exit; } echo "<table width='100%' cellspacing=1 cellpadding=3 border=0 class = outer>\r\n\t <tr>\r\n\t <td class='head' width='100px'>" . _AM_SF_CATEGORY . "</td>\r\n\t <td class='even'>" . $categoryObj->name() . "</td>\r\n\t </tr>\r\n\t <tr>\r\n\t <td class='head' width='100px'>" . _AM_SF_QUESTION . "</td>\r\n\t <td class='even'>" . $faqObj->question() . "</td>\r\n\t </tr>"; if ($official_answer) { echo "\r\n\t <tr>\r\n\t <td class='head' width='100px'>" . _AM_SF_ANSWER_OFFICIAL . "</td>\r\n\t <td class='even'>" . $official_answer->answer() . "</td>\r\n\t </tr>"; } echo "</table><br />\n"; echo "<table width='100%' cellspacing=1 cellpadding=3 border=0 class = outer>"; echo "<tr>"; echo "<td width='40' class='bg3' align='center'><b>" . _AM_SF_ARTID . "</b></td>"; echo "<td class='bg3' class='bg3' align='center'><b>" . _AM_SF_ANSWER . "</b></td>"; echo "<td width='180' class='bg3' align='center'><b>" . _AM_SF_CREATED . "</b></td>"; echo "<td width='120' class='bg3' align='center'><b>" . _AM_SF_ACTION . "</b></td>"; echo "</tr>"; $merge = ''; $modify = ''; $approve = ''; foreach ($proposed_answers as $proposed_answer) { if ($faqObj->status() == _SF_STATUS_NEW_ANSWER) { $merge = "<a href='faq.php?op=merge&faqid=" . $faqObj->faqid() . "&answerid=" . $proposed_answer->answerid() . "'><img src='" . XOOPS_URL . "/modules/" . $xoopsModule->dirname() . "/images/icon/merge.gif' title='" . _AM_SF_FAQ_MERGE . "' alt='" . _AM_SF_FAQ_MERGE . "' /></a> "; $approve = "<a href='answer.php?op=selectanswer&faqid=" . $faqid . "&answerid=" . $proposed_answer->answerid() . "'><img src='" . XOOPS_URL . "/modules/" . $xoopsModule->dirname() . "/images/icon/approve.gif' title='" . _AM_SF_FAQ_APPROVE_NEW_ANSWER . "' alt='" . _AM_SF_APPROVESUB . "' /></a>"; } $modify = "<a href='faq.php?op=mod&faqid=" . $faqObj->faqid() . "&answerid=" . $proposed_answer->answerid() . "'><img src='" . XOOPS_URL . "/modules/" . $xoopsModule->dirname() . "/images/icon/edit.gif' title='" . _AM_SF_FAQ_REVIEW . "' alt='" . _AM_SF_FAQ_REVIEW . "' /></a> "; $delete = "<a href='answer.php?op=del&faqid=" . $faqObj->faqid() . "&answerid=" . $proposed_answer->answerid() . "'><img src='" . XOOPS_URL . "/modules/" . $xoopsModule->dirname() . "/images/icon/delete.gif' title='" . _AM_SF_DELETESUBM . "' alt='" . _AM_SF_DELETESUBM . "' /></a>"; echo "<tr>"; echo "<td class='head' align='center'>" . $proposed_answer->answerid() . "</td>"; echo "<td class='even' align='left'>" . $proposed_answer->answer() . "</td>"; echo "<td class='even' align='center'>" . $proposed_answer->datesub() . "</td>"; echo "<td class='even' align='center'> {$merge} {$modify} {$approve} {$delete} </td>"; echo "</tr>"; } echo "</table>\n<br />"; }
function list_groups() { global $xoopsModule, $block_arr; $myts =& MyTextSanitizer::getInstance(); sf_collapsableBar('bottomtable', 'bottomtableicon'); foreach (array_keys($block_arr) as $i) { $item_list[$block_arr[$i]->getVar("bid")] = $block_arr[$i]->getVar("title"); } $form = new MyXoopsGroupPermForm('', 1, 'block_read', "<img id='bottomtableicon' src=" . XOOPS_URL . "/modules/" . $xoopsModule->dirname() . "/images/icon/close12.gif alt='' /></a> " . _AM_SF_GROUPS . "</h3><div id='bottomtable'><span style=\"color: #567; margin: 3px 0 0 0; font-size: small; display: block; \">" . _AM_SF_GROUPSINFO . "</span>"); $form->addAppendix('module_admin', $xoopsModule->mid(), $xoopsModule->name() . ' ' . _AM_ACTIVERIGHTS); $form->addAppendix('module_read', $xoopsModule->mid(), $xoopsModule->name() . ' ' . _AM_ACCESSRIGHTS); foreach ($item_list as $item_id => $item_name) { $form->addItem($item_id, $myts->displayTarea($item_name)); } echo $form->render(); echo "</div>"; }
function editfaq($showmenu = false, $faqid = -1, $answerid = -1, $merge = false) { global $answer_handler, $faq_handler, $category_handler, $xoopsUser, $xoopsUser, $xoopsConfig, $xoopsDB, $modify, $xoopsModuleConfig, $xoopsModule, $XOOPS_URL, $myts; include_once XOOPS_ROOT_PATH . '/class/xoopsformloader.php'; // If there is a parameter, and the id exists, retrieve data: we're editing a faq if ($faqid != -1) { // Creating the FAQ object $faqObj = new sfFaq($faqid); if ($faqObj->notLoaded()) { redirect_header("faq.php", 1, _AM_SF_NOFAQSELECTED); exit; } if ($answerid == -1) { // Creating the object for the official answer $answerObj =& $faqObj->answer(); if (!$answerObj) { $answerObj = $answer_handler->create(); } } else { $answerObj = new sfAnswer($answerid); $originalAnswerObj =& $faqObj->answer(); } switch ($faqObj->status()) { case _SF_STATUS_ASKED: $breadcrumb_action1 = _AM_SF_ASKED; $breadcrumb_action2 = _AM_SF_APPROVING; $collapsableBar_title = _AM_SF_ASKED_TITLE; $collapsableBar_info = _AM_SF_ASKED_TITLE_INFO; $button_caption = _AM_SF_PUBLISHED; $an_status = _SF_AN_STATUS_APPROVED; $answerObj->setVar('uid', $xoopsUser->getVar('uid')); break; case _SF_STATUS_ANSWERED: $breadcrumb_action1 = _AM_SF_ANSWERED; $breadcrumb_action2 = _AM_SF_APPROVING; $collapsableBar_title = _AM_SF_ANSWERED_TITLE; $collapsableBar_info = _AM_SF_ANSWERED_TITLE_INFO; $button_caption = _AM_SF_APPROVE; $an_status = _SF_AN_STATUS_PROPOSED; break; case _SF_STATUS_SUBMITTED: $breadcrumb_action1 = _AM_SF_SUBMITTED; $breadcrumb_action2 = _AM_SF_APPROVING; $collapsableBar_title = _AM_SF_SUBMITTED_TITLE; $collapsableBar_info = _AM_SF_SUBMITTED_INFO; $button_caption = _AM_SF_APPROVE; $an_status = _SF_AN_STATUS_PROPOSED; break; case _SF_STATUS_PUBLISHED: $breadcrumb_action1 = _AM_SF_PUBLISHED; $breadcrumb_action2 = _AM_SF_EDITING; $collapsableBar_title = _AM_SF_PUBLISHEDEDITING; $collapsableBar_info = _AM_SF_PUBLISHEDEDITING_INFO; $button_caption = _AM_SF_MODIFY; $an_status = _SF_AN_STATUS_APPROVED; break; case _SF_STATUS_OFFLINE: $breadcrumb_action1 = _AM_SF_OFFLINE; $breadcrumb_action2 = _AM_SF_EDITING; $collapsableBar_title = _AM_SF_OFFLINEEDITING; $collapsableBar_info = _AM_SF_OFFLINEEDITING_INFO; $button_caption = _AM_SF_MODIFY; $an_status = _SF_AN_STATUS_APPROVED; break; case _SF_STATUS_OPENED: $breadcrumb_action1 = _AM_SF_OPEN_QUESTIONS; $breadcrumb_action2 = _AM_SF_ANSWERING; $collapsableBar_title = _AM_SF_OPEN_QUESTION_ANSWERING; $collapsableBar_info = _AM_SF_OPEN_QUESTION_ANSWERING_INFO; $button_caption = _AM_SF_PUBLISH; $an_status = _SF_AN_STATUS_NOTSET; $answerObj->setVar('uid', $xoopsUser->getVar('uid')); break; case _SF_STATUS_NEW_ANSWER: $breadcrumb_action1 = _AM_SF_PUBLISHED; $breadcrumb_action2 = _AM_SF_EDITING; $collapsableBar_title = _AM_SF_NEW_ANSWER_EDITING; $collapsableBar_info = _AM_SF_NEW_ANSWER_EDITING_INFO; $button_caption = _AM_SF_PUBLISH; $an_status = _SF_AN_STATUS_NOTSET; break; case "default": default: break; } /* if (!$answerObj) { redirect_header("faq.php", 2, _AM_SF_ANSWERNOTFOUND); exit(); } */ // Creating the category of this FAQ $categoryObj =& $faqObj->category(); if ($showmenu) { sf_adminMenu(2, $breadcrumb_action1 . " > " . $breadcrumb_action2); } echo "<br />\n"; sf_collapsableBar('bottomtable', 'bottomtableicon'); echo "<img id='bottomtableicon' src=" . XOOPS_URL . "/modules/" . $xoopsModule->dirname() . "/images/icon/close12.gif alt='' /></a> " . $collapsableBar_title . "</h3>"; echo "<div id='bottomtable'>"; echo "<span style=\"color: #567; margin: 3px 0 12px 0; font-size: small; display: block; \">" . $collapsableBar_info . "</span>"; } else { // there's no parameter, so we're adding a faq $faqObj =& $faq_handler->create(); $faqObj->setVar('uid', $xoopsUser->getVar('uid')); $categoryObj =& $category_handler->create(); $answerObj =& $answer_handler->create(); $answerObj->setVar('uid', $xoopsUser->getVar('uid')); $breadcrumb_action1 = _AM_SF_SMARTFAQS; $breadcrumb_action2 = _AM_SF_CREATINGNEW; $button_caption = _AM_SF_CREATE; if ($showmenu) { sf_adminMenu(2, $breadcrumb_action1 . " > " . $breadcrumb_action2); } sf_collapsableBar('bottomtable', 'bottomtableicon'); echo "<img id='bottomtableicon' src=" . XOOPS_URL . "/modules/" . $xoopsModule->dirname() . "/images/icon/close12.gif alt='' /></a> " . _AM_SF_CREATESMARTFAQ . "</h3>"; echo "<div id='bottomtable'>"; } $sform = new XoopsThemeForm(_AM_SF_SMARTFAQ, "op", xoops_getenv('PHP_SELF')); $sform->setExtra('enctype="multipart/form-data"'); // faq requester $sform->addElement(new XoopsFormLabel(_AM_SF_REQUESTED_BY, sf_getLinkedUnameFromId($faqObj->uid(), $xoopsModuleConfig['userealname']))); // faq answered by $sform->addElement(new XoopsFormLabel(_AM_SF_ANSWERED_BY, sf_getLinkedUnameFromId($answerObj->uid(), $xoopsModuleConfig['userealname']))); // CATEGORY /* * Get information for pulldown menu using XoopsTree. * First var is the database table * Second var is the unique field ID for the categories * Last one is not set as we do not have sub menus in Smartfaq */ $mytree = new XoopsTree($xoopsDB->prefix("smartfaq_categories"), "categoryid", "parentid"); ob_start(); $mytree->makeMySelBox("name", "weight", $categoryObj->categoryid()); $sform->addElement(new XoopsFormLabel(_AM_SF_CATEGORY_FAQ, ob_get_contents())); ob_end_clean(); // faq QUESTION $sform->addElement(new XoopsFormTextArea(_AM_SF_QUESTION, 'question', $faqObj->question(0, 'e'), 7, 60)); // ANSWER if ($merge) { $theanswer = $originalAnswerObj->answer('e') . "\n\n" . sprintf(_AM_SF_NEW_CONTRIBUTION, sf_getLinkedUnameFromId($answerObj->uid(), $xoopsModuleConfig['userealname']), $answerObj->datesub(), $answerObj->answer('e')); } else { $theanswer = $answerObj->answer('e'); } $sform->addElement(new XoopsFormDhtmlTextArea(_AM_SF_ANSWER_FAQ, 'answer', $theanswer, 15, 60), true); // HOW DO I $sform->addElement(new XoopsFormText(_AM_SF_HOWDOI_FAQ, 'howdoi', 50, 255, $faqObj->howdoi('e')), false); // DIDUNO $sform->addElement(new XoopsFormTextArea(_AM_SF_DIDUNO_FAQ, 'diduno', $faqObj->diduno('e'), 3, 60)); // CONTEXT MODULE LINK // Retreive the list of module currently installed. The key value is the dirname $module_handler =& xoops_gethandler('module'); $modules_array = $module_handler->getList(null, true); $modulelink_select_array = array("url" => _AM_SF_SPECIFIC_URL_SELECT); $modulelink_select_array = array_merge($modules_array, $modulelink_select_array); $modulelink_select_array = array_merge(array("None" => _AM_SF_NONE, "All" => _AM_SF_ALL), $modulelink_select_array); $modulelink_select = new XoopsFormSelect('', 'modulelink', $faqObj->modulelink()); $modulelink_select->addOptionArray($modulelink_select_array); $modulelink_tray = new XoopsFormElementTray(_AM_SF_CONTEXTMODULELINK_FAQ, ' '); $modulelink_tray->addElement($modulelink_select); $sform->addElement($modulelink_tray); // SPECIFICURL $sform->addElement(new XoopsFormText(_AM_SF_SPECIFIC_URL, 'contextpage', 50, 60, $faqObj->contextpage()), false); // EXACT URL? $excaturl_radio = new XoopsFormRadioYN(_AM_SF_EXACTURL, 'exacturl', $faqObj->exacturl(), ' ' . _AM_SF_YES . '', ' ' . _AM_SF_NO . ''); $sform->addElement($excaturl_radio); // WEIGHT $sform->addElement(new XoopsFormText(_AM_SF_WEIGHT, 'weight', 5, 5, $faqObj->weight()), true); // COMMENTS // Code to allow comments $addcomments_radio = new XoopsFormRadioYN(_AM_SF_ALLOWCOMMENTS, 'cancomment', $faqObj->cancomment(), ' ' . _AM_SF_YES . '', ' ' . _AM_SF_NO . ''); $sform->addElement($addcomments_radio); // PER ITEM PERMISSIONS $member_handler =& xoops_gethandler('member'); $group_list =& $member_handler->getGroupList(); $groups_checkbox = new XoopsFormCheckBox(_AM_SF_PERMISSIONS_FAQ, 'groups[]', $faqObj->getGroups_read()); foreach ($group_list as $group_id => $group_name) { if ($group_id != XOOPS_GROUP_ADMIN) { $groups_checkbox->addOption($group_id, $group_name); } } $sform->addElement($groups_checkbox); $partial_view = new XoopsFormRadioYN(_AM_SF_PARTIALVIEW, 'partialview', $faqObj->partialview(), ' ' . _AM_SF_YES . '', ' ' . _AM_SF_NO . ''); $sform->addElement($partial_view); // VARIOUS OPTIONS $options_tray = new XoopsFormElementTray(_AM_SF_OPTIONS, '<br />'); $html_checkbox = new XoopsFormCheckBox('', 'html', $faqObj->html()); $html_checkbox->addOption(1, _AM_SF_DOHTML); $options_tray->addElement($html_checkbox); $smiley_checkbox = new XoopsFormCheckBox('', 'smiley', $faqObj->smiley()); $smiley_checkbox->addOption(1, _AM_SF_DOSMILEY); $options_tray->addElement($smiley_checkbox); $xcodes_checkbox = new XoopsFormCheckBox('', 'xcodes', $faqObj->xcodes()); $xcodes_checkbox->addOption(1, _AM_SF_DOXCODE); $options_tray->addElement($xcodes_checkbox); $sform->addElement($options_tray); // OFFLINE if ($faqObj->status() == _SF_STATUS_OFFLINE) { // Back OnLine $offline_radio = new XoopsFormRadioYN(_AM_SF_OFFLINE_FIELD, 'offline', 1, ' ' . _AM_SF_YES . '', ' ' . _AM_SF_NO . ''); $sform->addElement($offline_radio); } // faq ID $sform->addElement(new XoopsFormHidden('faqid', $faqObj->faqid())); // requester id $sform->addElement(new XoopsFormHidden('requester_uid', $faqObj->uid())); // answerer id $sform->addElement(new XoopsFormHidden('answerer_uid', $answerObj->uid())); // ANSWER ID $sform->addElement(new XoopsFormHidden('answerid', $answerObj->answerid())); $button_tray = new XoopsFormElementTray('', ''); $hidden = new XoopsFormHidden('op', 'addfaq'); $button_tray->addElement($hidden); $sform->addElement(new XoopsFormHidden('status', $faqObj->status())); // Setting the FAQ Status /* $status_select = new XoopsFormSelect('', 'status', $status); $status_select->addOptionArray(sf_getStatusArray()); $status_tray = new XoopsFormElementTray(_AM_SF_STATUS_EXP , ' '); $status_tray->addElement($status_select); $sform->addElement($status_tray); */ if (!$faqid) { // there's no faqid? Then it's a new faq // $button_tray -> addElement( new XoopsFormButton( '', 'mod', _AM_SF_CREATE, 'submit' ) ); $butt_create = new XoopsFormButton('', '', _AM_SF_CREATE, 'submit'); $butt_create->setExtra('onclick="this.form.elements.op.value=\'addfaq\'"'); $button_tray->addElement($butt_create); $butt_clear = new XoopsFormButton('', '', _AM_SF_CLEAR, 'reset'); $button_tray->addElement($butt_clear); $butt_cancel = new XoopsFormButton('', '', _AM_SF_CANCEL, 'button'); $butt_cancel->setExtra('onclick="history.go(-1)"'); $button_tray->addElement($butt_cancel); } else { // else, we're editing an existing faq // $button_tray -> addElement( new XoopsFormButton( '', 'mod', _AM_SF_MODIFY, 'submit' ) ); $butt_create = new XoopsFormButton('', '', $button_caption, 'submit'); $butt_create->setExtra('onclick="this.form.elements.op.value=\'addfaq\'"'); $button_tray->addElement($butt_create); $butt_cancel = new XoopsFormButton('', '', _AM_SF_CANCEL, 'button'); $butt_cancel->setExtra('onclick="history.go(-1)"'); $button_tray->addElement($butt_cancel); } $sform->addElement($button_tray); $sform->display(); echo "</div>"; unset($hidden); }
function editcat($showmenu = false, $categoryid = 0) { //$moderators = array(); // just to define the variable //$allmods = array(); $startfaq = isset($_GET['startfaq']) ? intval($_GET['startfaq']) : 0; global $category_handler, $xoopsUser, $xoopsUser, $myts, $xoopsConfig, $xoopsDB, $modify, $xoopsModuleConfig, $xoopsModule, $_GET; include_once XOOPS_ROOT_PATH . '/class/xoopsformloader.php'; // Creating the faq handler object $faq_handler =& sf_gethandler('faq'); echo "<script type=\"text/javascript\" src=\"funcs.js\"></script>"; echo "<style>"; echo "<!-- "; echo "select { width: 130px; }"; echo "-->"; echo "</style>"; // If there is a parameter, and the id exists, retrieve data: we're editing a category if ($categoryid != 0) { // Creating the category object for the selected category $categoryObj = new sfCategory($categoryid); if ($showmenu) { sf_adminMenu(1, _AM_SF_CATEGORIES . " > " . _AM_SF_EDITING); } echo "<br />\n"; if ($categoryObj->notLoaded()) { redirect_header("category.php", 1, _AM_SF_NOCOLTOEDIT); exit; } sf_collapsableBar('bottomtable', 'bottomtableicon'); echo "<img id='bottomtableicon' src=" . XOOPS_URL . "/modules/" . $xoopsModule->dirname() . "/images/icon/close12.gif alt='' /></a> " . _AM_SF_EDITCOL . "</h3>"; echo "<div id='bottomtable'>"; } else { $categoryObj = $category_handler->create(); if ($showmenu) { sf_adminMenu(1, _AM_SF_CATEGORIES . " > " . _AM_SF_CREATINGNEW); } echo "<br />\n"; sf_collapsableBar('bottomtable', 'bottomtableicon'); echo "<img id='bottomtableicon' src=" . XOOPS_URL . "/modules/" . $xoopsModule->dirname() . "/images/icon/close12.gif alt='' /></a> " . _AM_SF_CATEGORY_CREATE . "</h3>"; echo "<div id='bottomtable'>"; } // Start category form $sform = new XoopsThemeForm(_AM_SF_CATEGORY, "op", xoops_getenv('PHP_SELF')); $sform->setExtra('enctype="multipart/form-data"'); // Name $sform->addElement(new XoopsFormText(_AM_SF_CATEGORY, 'name', 50, 255, $categoryObj->name('e')), true); // Parent Category $mytree = new XoopsTree($xoopsDB->prefix("smartfaq_categories"), "categoryid", "parentid"); ob_start(); $mytree->makeMySelBox("name", "weight", $categoryObj->parentid(), 1, 'parentid'); //makeMySelBox($title,$order="",$preset_id=0, $none=0, $sel_name="", $onchange="") $sform->addElement(new XoopsFormLabel(_AM_SF_PARENT_CATEGORY_EXP, ob_get_contents())); ob_end_clean(); /* $mytree = new XoopsTree($xoopsDB->prefix("smartfaq_categories"), "categoryid" , "parentid"); ob_start(); $sform->addElement(new XoopsFormHidden('categoryid', $categoryObj->categoryid())); $mytree->makeMySelBox("name", "weight", $categoryObj->categoryid()); $sform->addElement(new XoopsFormLabel(_AM_SF_CATEGORY_FAQ, ob_get_contents())); ob_end_clean(); */ // Decsription $sform->addElement(new XoopsFormTextArea(_AM_SF_COLDESCRIPT, 'description', $categoryObj->description('e'), 7, 60)); // Weight $sform->addElement(new XoopsFormText(_AM_SF_COLPOSIT, 'weight', 4, 4, $categoryObj->weight())); // READ PERMISSIONS $member_handler =& xoops_gethandler('member'); $group_list =& $member_handler->getGroupList(); $groups_read_checkbox = new XoopsFormCheckBox(_AM_SF_PERMISSIONS_CAT_READ, 'groups_read[]', $categoryObj->getGroups_read()); foreach ($group_list as $group_id => $group_name) { if ($group_id != XOOPS_GROUP_ADMIN) { $groups_read_checkbox->addOption($group_id, $group_name); } } $sform->addElement($groups_read_checkbox); // Apply permissions on all faqs $addapplyall_radio = new XoopsFormRadioYN(_AM_SF_PERMISSIONS_APPLY_ON_FAQS, 'applyall', 0, ' ' . _AM_SF_YES . '', ' ' . _AM_SF_NO . ''); $sform->addElement($addapplyall_radio); // MODERATORS //$moderators_tray = new XoopsFormElementTray(_AM_SF_MODERATORS_DEF, ''); $module_id = $xoopsModule->getVar('mid'); /*$gperm_handler = &xoops_gethandler('groupperm'); $mod_perms = $gperm_handler->getGroupIds('category_moderation', $categoryid, $module_id); $moderators_select = new XoopsFormSelect('', 'moderators', $moderators, 5, true); $moderators_tray->addElement($moderators_select); $butt_mngmods = new XoopsFormButton('', '', 'Manage mods', 'button'); $butt_mngmods->setExtra('onclick="javascript:small_window(\'pop.php\', 370, 350);"'); $moderators_tray->addElement($butt_mngmods); $butt_delmod = new XoopsFormButton('', '', 'Delete mod', 'button'); $butt_delmod->setExtra('onclick="javascript:deleteSelectedItemsFromList(this.form.elements[\'moderators[]\']);"'); $moderators_tray->addElement($butt_delmod); $sform->addElement($moderators_tray); */ $sform->addElement(new XoopsFormHidden('categoryid', $categoryid)); // Action buttons tray $button_tray = new XoopsFormElementTray('', ''); /*for ($i = 0; $i < sizeof($moderators); $i++) { $allmods[] = $moderators[$i]; } $hiddenmods = new XoopsFormHidden('allmods', $allmods); $button_tray->addElement($hiddenmods); */ $hidden = new XoopsFormHidden('op', 'addcategory'); $button_tray->addElement($hidden); // No ID for category -- then it's new category, button says 'Create' if (!$categoryid) { $butt_create = new XoopsFormButton('', '', _AM_SF_CREATE, 'submit'); $butt_create->setExtra('onclick="this.form.elements.op.value=\'addcategory\'"'); $button_tray->addElement($butt_create); $butt_clear = new XoopsFormButton('', '', _AM_SF_CLEAR, 'reset'); $button_tray->addElement($butt_clear); $butt_cancel = new XoopsFormButton('', '', _AM_SF_CANCEL, 'button'); $butt_cancel->setExtra('onclick="history.go(-1)"'); $button_tray->addElement($butt_cancel); } else { // button says 'Update' $butt_create = new XoopsFormButton('', '', _AM_SF_MODIFY, 'submit'); $butt_create->setExtra('onclick="this.form.elements.op.value=\'addcategory\'"'); $button_tray->addElement($butt_create); $butt_cancel = new XoopsFormButton('', '', _AM_SF_CANCEL, 'button'); $butt_cancel->setExtra('onclick="history.go(-1)"'); $button_tray->addElement($butt_cancel); } $sform->addElement($button_tray); $sform->display(); echo "</div>"; if ($categoryid) { include_once XOOPS_ROOT_PATH . "/modules/smartfaq/include/displayfaqs.php"; } unset($hidden); }