diff options
Diffstat (limited to 'includes/pages/admin_faq.php')
-rw-r--r-- | includes/pages/admin_faq.php | 172 |
1 files changed, 88 insertions, 84 deletions
diff --git a/includes/pages/admin_faq.php b/includes/pages/admin_faq.php index 05731296..1b2ea92b 100644 --- a/includes/pages/admin_faq.php +++ b/includes/pages/admin_faq.php @@ -1,88 +1,92 @@ <?php -function admin_faq() { - if (!isset ($_REQUEST['action'])) { - $faqs_html = ""; - $faqs = sql_select("SELECT * FROM `FAQ`"); - foreach ($faqs as $faq) { - $faqs_html .= sprintf('<tr><td> <dl><dt>%s</dt><dd>%s</dd></dl> </td>' . '<td> <dl><dt>%s</dt><dd>%s</dd></dl> </td>' . '<td><a href="%s&action=edit&id=%s">Edit</a></td></tr>', $faq['Frage_de'], $faq['Antwort_de'], $faq['Frage_en'], $faq['Antwort_en'], page_link_to('admin_faq'), $faq['FID']); - } - return template_render('../templates/admin_faq.html', array ( - 'link' => page_link_to("admin_faq"), - 'faqs' => $faqs_html - )); - } else { - switch ($_REQUEST['action']) { - case 'create' : - $frage = strip_request_item_nl('frage'); - $antwort = strip_request_item_nl('antwort'); - $question = strip_request_item_nl('question'); - $answer = strip_request_item_nl('answer'); - - sql_query("INSERT INTO `FAQ` SET `Frage_de`='" . sql_escape($frage) . "', `Frage_en`='" . sql_escape($question) . "', `Antwort_de`='" . sql_escape($antwort) . "', `Antwort_en`='" . sql_escape($answer) . "'"); - - redirect(page_link_to("admin_faq")); - break; - - case 'save' : - if (isset ($_REQUEST['id']) && preg_match("/^[0-9]{1,11}$/", $_REQUEST['id'])) - $id = $_REQUEST['id']; - else - return error("Incomplete call, missing FAQ ID.", true); - - $faq = sql_select("SELECT * FROM `FAQ` WHERE `FID`=" . sql_escape($id) . " LIMIT 1"); - if (count($faq) > 0) { - list ($faq) = $faq; - - $frage = strip_request_item_nl('frage'); - $antwort = strip_request_item_nl('antwort'); - $question = strip_request_item_nl('question'); - $answer = strip_request_item_nl('answer'); - - sql_query("UPDATE `FAQ` SET `Frage_de`='" . sql_escape($frage) . "', `Frage_en`='" . sql_escape($question) . "', `Antwort_de`='" . sql_escape($antwort) . "', `Antwort_en`='" . sql_escape($answer) . "' WHERE `FID`=" . sql_escape($id) . " LIMIT 1"); - - redirect(page_link_to("admin_faq")); - } else - return error("No FAQ found.", true); - break; - - case 'edit' : - if (isset ($_REQUEST['id']) && preg_match("/^[0-9]{1,11}$/", $_REQUEST['id'])) - $id = $_REQUEST['id']; - else - return error("Incomplete call, missing FAQ ID.", true); - - $faq = sql_select("SELECT * FROM `FAQ` WHERE `FID`=" . sql_escape($id) . " LIMIT 1"); - if (count($faq) > 0) { - list ($faq) = $faq; - - return template_render('../templates/admin_faq_edit_form.html', array ( - 'link' => page_link_to("admin_faq"), - 'id' => $id, - 'frage' => $faq['Frage_de'], - 'antwort' => $faq['Antwort_de'], - 'question' => $faq['Frage_en'], - 'answer' => $faq['Antwort_en'] - )); - } else - return error("No FAQ found.", true); - break; - - case 'delete' : - if (isset ($_REQUEST['id']) && preg_match("/^[0-9]{1,11}$/", $_REQUEST['id'])) - $id = $_REQUEST['id']; - else - return error("Incomplete call, missing FAQ ID.", true); - - $faq = sql_select("SELECT * FROM `FAQ` WHERE `FID`=" . sql_escape($id) . " LIMIT 1"); - if (count($faq) > 0) { - list ($faq) = $faq; +function admin_faq_title() { + return _("Edit FAQs"); +} - sql_query("DELETE FROM `FAQ` WHERE `FID`=" . sql_escape($id) . " LIMIT 1"); - redirect(page_link_to("admin_faq")); - } else - return error("No FAQ found.", true); - break; - } - } +function admin_faq() { + if (! isset($_REQUEST['action'])) { + $faqs_html = ""; + $faqs = sql_select("SELECT * FROM `FAQ`"); + foreach ($faqs as $faq) { + $faqs_html .= sprintf('<tr><td> <dl><dt>%s</dt><dd>%s</dd></dl> </td>' . '<td> <dl><dt>%s</dt><dd>%s</dd></dl> </td>' . '<td><a href="%s&action=edit&id=%s">Edit</a></td></tr>', $faq['Frage_de'], $faq['Antwort_de'], $faq['Frage_en'], $faq['Antwort_en'], page_link_to('admin_faq'), $faq['FID']); + } + return template_render('../templates/admin_faq.html', array( + 'link' => page_link_to("admin_faq"), + 'faqs' => $faqs_html + )); + } else { + switch ($_REQUEST['action']) { + case 'create': + $frage = strip_request_item_nl('frage'); + $antwort = strip_request_item_nl('antwort'); + $question = strip_request_item_nl('question'); + $answer = strip_request_item_nl('answer'); + + sql_query("INSERT INTO `FAQ` SET `Frage_de`='" . sql_escape($frage) . "', `Frage_en`='" . sql_escape($question) . "', `Antwort_de`='" . sql_escape($antwort) . "', `Antwort_en`='" . sql_escape($answer) . "'"); + + redirect(page_link_to("admin_faq")); + break; + + case 'save': + if (isset($_REQUEST['id']) && preg_match("/^[0-9]{1,11}$/", $_REQUEST['id'])) + $id = $_REQUEST['id']; + else + return error("Incomplete call, missing FAQ ID.", true); + + $faq = sql_select("SELECT * FROM `FAQ` WHERE `FID`=" . sql_escape($id) . " LIMIT 1"); + if (count($faq) > 0) { + list($faq) = $faq; + + $frage = strip_request_item_nl('frage'); + $antwort = strip_request_item_nl('antwort'); + $question = strip_request_item_nl('question'); + $answer = strip_request_item_nl('answer'); + + sql_query("UPDATE `FAQ` SET `Frage_de`='" . sql_escape($frage) . "', `Frage_en`='" . sql_escape($question) . "', `Antwort_de`='" . sql_escape($antwort) . "', `Antwort_en`='" . sql_escape($answer) . "' WHERE `FID`=" . sql_escape($id) . " LIMIT 1"); + + redirect(page_link_to("admin_faq")); + } else + return error("No FAQ found.", true); + break; + + case 'edit': + if (isset($_REQUEST['id']) && preg_match("/^[0-9]{1,11}$/", $_REQUEST['id'])) + $id = $_REQUEST['id']; + else + return error("Incomplete call, missing FAQ ID.", true); + + $faq = sql_select("SELECT * FROM `FAQ` WHERE `FID`=" . sql_escape($id) . " LIMIT 1"); + if (count($faq) > 0) { + list($faq) = $faq; + + return template_render('../templates/admin_faq_edit_form.html', array( + 'link' => page_link_to("admin_faq"), + 'id' => $id, + 'frage' => $faq['Frage_de'], + 'antwort' => $faq['Antwort_de'], + 'question' => $faq['Frage_en'], + 'answer' => $faq['Antwort_en'] + )); + } else + return error("No FAQ found.", true); + break; + + case 'delete': + if (isset($_REQUEST['id']) && preg_match("/^[0-9]{1,11}$/", $_REQUEST['id'])) + $id = $_REQUEST['id']; + else + return error("Incomplete call, missing FAQ ID.", true); + + $faq = sql_select("SELECT * FROM `FAQ` WHERE `FID`=" . sql_escape($id) . " LIMIT 1"); + if (count($faq) > 0) { + list($faq) = $faq; + + sql_query("DELETE FROM `FAQ` WHERE `FID`=" . sql_escape($id) . " LIMIT 1"); + redirect(page_link_to("admin_faq")); + } else + return error("No FAQ found.", true); + break; + } + } } ?> |