function zen_restrict_sub_faq_categories($zf_cat_id, $zf_type) { global $db; $zp_sql = "select faq_categories_id from " . TABLE_FAQ_CATEGORIES . " where parent_id = '" . $zf_cat_id . "'"; $zq_sub_cats = $db->Execute($zp_sql); while (!$zq_sub_cats->EOF) { $zp_sql = "select * from " . TABLE_FAQ_TYPES_TO_FAQ_CATEGORY . "\n where faq_category_id = '" . $zq_sub_cats->fields['faq_categories_id'] . "'\n and faq_type_id = '" . $zf_type . "'"; $zq_type_to_cat = $db->Execute($zp_sql); if ($zq_type_to_cat->RecordCount() < 1) { $za_insert_sql_data = array('faq_category_id' => $zq_sub_cats->fields['faq_categories_id'], 'faq_type_id' => $zf_type); zen_db_perform(TABLE_FAQ_TYPES_TO_FAQ_CATEGORY, $za_insert_sql_data); } zen_restrict_sub_faq_categories($zq_sub_cats->fields['faq_categories_id'], $zf_type); $zq_sub_cats->MoveNext(); } }
$sql = "select * from " . TABLE_FAQ_TYPES_TO_FAQ_CATEGORY . "\n where faq_category_id = '" . zen_db_prepare_input($_POST['faq_categories_id']) . "'\n and faq_type_id = '" . zen_db_prepare_input($_POST['restrict_type']) . "'"; $type_to_cat = $db->Execute($sql); if ($type_to_cat->RecordCount() < 1) { //@@TODO find all sub-faq_categories and restrict them as well. $insert_sql_data = array('faq_category_id' => zen_db_prepare_input($_POST['faq_categories_id']), 'faq_type_id' => zen_db_prepare_input($_POST['restrict_type'])); zen_db_perform(TABLE_FAQ_TYPES_TO_FAQ_CATEGORY, $insert_sql_data); /* // moved below so evaluated separately from current faq_category if (isset($_POST['add_type_all'])) { zen_restrict_sub_faq_categories($_POST['faq_categories_id'], $_POST['restrict_type']); } */ } // add faq type restrictions to subfaq_categories if not already set if (isset($_POST['add_type_all'])) { zen_restrict_sub_faq_categories($_POST['faq_categories_id'], $_POST['restrict_type']); } $action = "edit"; zen_redirect(zen_href_link(FILENAME_FAQ_CATEGORIES, 'action=edit_faq_category&fcPath=' . $fcPath . '&cID=' . zen_db_prepare_input($_POST['faq_categories_id']))); } if (isset($_POST['faq_categories_id'])) { $faq_categories_id = zen_db_prepare_input($_POST['faq_categories_id']); } $sort_order = zen_db_prepare_input($_POST['sort_order']); $sql_data_array = array('sort_order' => $sort_order); if ($action == 'insert_faq_category') { $insert_sql_data = array('parent_id' => $current_faq_category_id, 'date_added' => 'now()'); $sql_data_array = array_merge($sql_data_array, $insert_sql_data); zen_db_perform(TABLE_FAQ_CATEGORIES, $sql_data_array); $faq_categories_id = zen_db_insert_id(); // check if [arent is restricted