".$locale['blog_0523'].""); redirect(FUSION_SELF.$aidlink); } else { $result = dbquery("DELETE FROM ".DB_BLOG_CATS." WHERE blog_cat_id='".intval($_GET['cat_id'])."'"); addNotice("success", $locale['blog_0524b']); redirect(FUSION_SELF.$aidlink); } redirect(clean_request("", ["action"], FALSE)); } $data = [ "blog_cat_id" => 0, "blog_cat_name" => "", "blog_cat_hidden" => [], "blog_cat_parent" => 0, "blog_cat_image" => "", "blog_cat_language" => LANGUAGE, ]; $formAction = FUSION_REQUEST; $formTitle = $locale['blog_0409']; // if edit, override $data if (isset($_POST['save_cat'])) { $inputArray = [ "blog_cat_id" => form_sanitizer($_POST['blog_cat_id'], "", "blog_cat_id"), "blog_cat_name" => form_sanitizer($_POST['blog_cat_name'], "", "blog_cat_name"), "blog_cat_parent" => form_sanitizer($_POST['blog_cat_parent'], 0, "blog_cat_parent"), "blog_cat_image" => form_sanitizer($_POST['blog_cat_image'], "", "blog_cat_image"), "blog_cat_language" => form_sanitizer($_POST['blog_cat_language'], LANGUAGE, "blog_cat_language"), ]; $categoryNameCheck = [ "when_updating" => "blog_cat_name='".$inputArray['blog_cat_name']."' and blog_cat_id !='".$inputArray['blog_cat_id']."' ".(multilang_table("BL") ? "and ".in_group('blog_cat_language', LANGUAGE) : ""), "when_saving" => "blog_cat_name='".$inputArray['blog_cat_name']."' ".(multilang_table("BL") ? "and ".in_group('blog_cat_language', LANGUAGE) : ""), ]; if (defender::safe()) { // check category name is unique when updating if (dbcount("(blog_cat_id)", DB_BLOG_CATS, "blog_cat_id='".$inputArray['blog_cat_id']."'")) { if (!dbcount("(blog_cat_id)", DB_BLOG_CATS, $categoryNameCheck['when_updating'])) { dbquery_insert(DB_BLOG_CATS, $inputArray, "update"); addNotice("success", $locale['blog_0521']); // FUSION_REQUEST without the "action" gets redirect(clean_request("", ["action"], FALSE)); } else { addNotice('danger', $locale['blog_0561']); } } else { // check category name is unique when saving new if (!dbcount("(blog_cat_id)", DB_BLOG_CATS, $categoryNameCheck['when_saving'])) { dbquery_insert(DB_BLOG_CATS, $inputArray, "save"); addNotice("success", $locale['blog_0520']); redirect(FUSION_REQUEST); } else { addNotice('danger', $locale['blog_0561']); } } } } else if ((isset($_GET['action']) && $_GET['action'] == "edit") && (isset($_GET['cat_id']) && isnum($_GET['cat_id']))) { $result = dbquery("SELECT blog_cat_id, blog_cat_name, blog_cat_parent, blog_cat_image, blog_cat_language FROM ".DB_BLOG_CATS." ".(multilang_table("BL") ? "WHERE ".in_group('blog_cat_language', LANGUAGE)." AND" : "WHERE")." blog_cat_id='".intval($_GET['cat_id'])."'"); if (dbrows($result)) { $data = dbarray($result); $data['blog_cat_hidden'] = [$data['blog_cat_id']]; $formTitle = $locale['blog_0402']; } else { // FUSION_REQUEST without the "action" gets redirect(clean_request("", ["action"], FALSE)); } } \PHPFusion\BreadCrumbs::getInstance()->addBreadCrumb(['link' => FUSION_REQUEST, 'title' => $formTitle]); echo '
'; echo '

'.$formTitle.'

'; echo openform("addcat", "post", $formAction); openside(""); echo form_hidden("blog_cat_id", "", $data['blog_cat_id']); echo form_text("blog_cat_name", $locale['blog_0530'], $data['blog_cat_name'], [ "required" => TRUE, "inline" => TRUE, "error_text" => $locale['blog_0560'] ]); echo form_select_tree("blog_cat_parent", $locale['blog_0533'], $data['blog_cat_parent'], [ "inline" => TRUE, "disable_opts" => $data['blog_cat_hidden'], "hide_disabled" => TRUE, "query" => (multilang_table("BL") ? "WHERE ".in_group('blog_cat_language', LANGUAGE) : "") ], DB_BLOG_CATS, "blog_cat_name", "blog_cat_id", "blog_cat_parent"); if (multilang_table("BL")) { echo form_select("blog_cat_language[]", $locale['global_ML100'], $data['blog_cat_language'], [ "inline" => TRUE, "options" => fusion_get_enabled_languages(), "placeholder" => $locale['choose'], 'multiple' => TRUE, 'delimeter' => '.' ]); } else { echo form_hidden("blog_cat_language", "", $data['blog_cat_language']); } echo form_select("blog_cat_image", $locale['blog_0531'], $data['blog_cat_image'], [ "inline" => TRUE, "options" => blogCatImageOpts(), ]); echo form_button("save_cat", $locale['blog_0532'], $locale['blog_0532'], ["class" => "btn-success", "icon" => "fa fa-hdd-o"]); closeside(); echo "
\n"; echo "
"; echo "\n"; echo "

".$locale['blog_0407']."

\n"; echo "
"; $result = dbquery("SELECT blog_cat_id, blog_cat_name FROM ".DB_BLOG_CATS." ".(multilang_table("BL") ? "WHERE ".in_group('blog_cat_language', LANGUAGE) : "")." ORDER BY blog_cat_name"); $rows = dbrows($result); if ($rows != 0) { echo "
"; while ($data = dbarray($result)) { echo "
"; echo "
\n"; echo "
\n"; echo thumbnail(get_image("bl_".$data['blog_cat_name']), '50px'); echo "
\n"; echo "

".getblogCatPath($data['blog_cat_id'])."

"; echo "".$locale['edit']." · "; echo "".$locale['delete']."\n"; echo "
\n
\n"; echo "
"; } echo "
"; } else { echo "
".$locale['blog_0461']."
\n"; } echo '
'; function getblogCatPath($item_id) { $full_path = ""; while ($item_id > 0) { $result = dbquery("SELECT blog_cat_id, blog_cat_name, blog_cat_parent FROM ".DB_BLOG_CATS." WHERE blog_cat_id='$item_id'".(multilang_table("BL") ? " AND ".in_group('blog_cat_language', LANGUAGE) : "")); if (dbrows($result)) { $data = dbarray($result); if ($full_path) { $full_path = " / ".$full_path; } $full_path = $data['blog_cat_name'].$full_path; $item_id = $data['blog_cat_parent']; } } return $full_path; } function blogCatImageOpts() { $image_files = makefilelist(IMAGES_BC, ".|..|index.php", TRUE); $image_list = []; foreach ($image_files as $image) { $image_list[$image] = $image; } return $image_list; }