$action = request_var('action', ''); switch ($action) { case 'add': case 'edit': $category_object = new titania_category(); if ($action == 'edit') { if (!$category_id) { trigger_error(phpbb::$user->lang['NO_CATEGORY']); } $category_object->load($category_id); } // Load the message object $message_object = new titania_message($category_object); $message_object->set_auth(array('bbcode' => phpbb::$auth->acl_get('u_titania_bbcode'), 'smilies' => phpbb::$auth->acl_get('u_titania_smilies'))); $message_object->set_settings(array('display_error' => false, 'display_subject' => false)); $category_object->post_data($message_object); $message_object->display(); // Define some variables for use later with keeping language-based category names the same in the DB during submit $old_category_name = $category_object->category_name; $old_category_name_clean = $category_object->category_name_clean; $old_category_name_lang = isset(phpbb::$user->lang[$old_category_name]) ? phpbb::$user->lang[$old_category_name] : $old_category_name; $error = array(); if ($submit) { // Goodbye to some of the old category data... unset($category_object->category_name); $category_object->category_id = $action == 'edit' ? $category_id : ''; $category_name = utf8_normalize_nfc(request_var('category_name', '', true)); $category_object->category_name = $category_name == $old_category_name_lang ? $old_category_name : $category_name; $category_object->category_name_clean = utf8_normalize_nfc(request_var('category_name_clean', '', true)); $category_object->parent_id = request_var('category_parent', 0); $category_object->category_visible = request_var('category_visible', 1);