/**
  * 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());
 }
Esempio n. 2
0
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());
 }