/** * Edit category * * @param Application $app * @param $id * @return Response */ public function editCategoryAction(Application $app, $id) { $extraJS = array(); //@todo improve this JS includes should be added using twig $extraJS[] = '<link href="' . api_get_path(WEB_LIBRARY_PATH) . 'javascript/tag/style.css" rel="stylesheet" type="text/css" />'; $extraJS[] = '<script src="' . api_get_path(WEB_LIBRARY_PATH) . 'javascript/tag/jquery.fcbkcomplete.js" type="text/javascript"></script>'; $app['extraJS'] = $extraJS; $objcat = new \Testcategory($id); if (!empty($objcat->c_id) || empty($objcat->id)) { $app->abort(401); } $url = $app['url_generator']->generate('admin_category_edit', array('id' => $id)); $form = new \FormValidator('edit', 'post', $url); $objcat->getForm($form, 'edit'); $message = null; if ($form->validate()) { $values = $form->getSubmitValues(); $objcat = new \Testcategory($id, $values['category_name'], $values['category_description'], $values['parent_id'], 'global'); if ($objcat->modifyCategory()) { $message = \Display::return_message(get_lang('MofidfyCategoryDone'), 'confirmation'); } else { $message = \Display::return_message(get_lang('ModifyCategoryError'), 'warning'); } $url = $app['url_generator']->generate('admin_questions'); return $app->redirect($url); } $app['template']->assign('message', $message); $app['template']->assign('form', $form->toHtml()); $response = $app['template']->render_template('admin/questionmanager/edit_category.tpl'); return new Response($response, 200, array()); }
function edit_category_form($in_action, $type = 'simple') { $in_action = Security::remove_XSS($in_action); if (isset($_GET['category_id']) && is_numeric($_GET['category_id'])) { $category_id = Security::remove_XSS($_GET['category_id']); $objcat = new Testcategory($category_id); // initiate the object $form = new FormValidator('note', 'post', api_get_self() . '?' . api_get_cidreq() . '&action=' . $in_action . '&category_id=' . $category_id . "&type=" . $type); $objcat->getForm($form, 'edit'); // The validation or display if ($form->validate()) { $check = Security::check_token('post'); if ($check) { $values = $form->getSubmitValues(); $v_id = $values['category_id']; $v_name = $values['category_name']; $v_description = $values['category_description']; $parent_id = isset($values['parent_id']) ? $values['parent_id'] : null; $visibility = isset($values['visibility']) ? $values['visibility'] : 1; $objcat = new Testcategory($v_id, $v_name, $v_description, $parent_id, $type, null, $visibility); if ($objcat->modifyCategory()) { Display::display_confirmation_message(get_lang('MofidfyCategoryDone')); } else { Display::display_confirmation_message(get_lang('ModifyCategoryError')); } } Security::clear_token(); display_add_category($type); display_categories($type); } else { display_goback($type); $token = Security::get_token(); $form->addElement('hidden', 'sec_token'); $form->setConstants(array('sec_token' => $token)); $form->display(); display_categories($type); } } else { Display::display_error_message(get_lang('CannotEditCategory')); } }
/** * Edit category * @Route("/edit_category") * @Method({"GET"}) * @param $id * @return Response */ public function editCategoryAction($id) { $objcat = new \Testcategory($id); if (!empty($objcat->c_id) || empty($objcat->id)) { $this->abort(401); } $url = $this->generateUrl('editCategoryAction', array('id' => $id)); $form = new \FormValidator('edit', 'post', $url); $objcat->getForm($form, 'edit'); $message = null; if ($form->validate()) { $values = $form->getSubmitValues(); $objcat = new \Testcategory($id, $values['category_name'], $values['category_description'], $values['parent_id'], 'global'); if ($objcat->modifyCategory()) { $this->addFlash('confirmation', get_lang('MofidfyCategoryDone')); } else { $this->addFlash('warning', get_lang('ModifyCategoryError')); } $url = $this->generateUrl('admin_questions'); return $this->redirect($url); } $this->getTemplate()->assign('message', $message); $this->getTemplate()->assign('form', $form->toHtml()); $response = $this->renderTemplate('edit_category.tpl'); return new Response($response, 200, array()); }