for ($attempt = 0; $attempt < 100; $attempt++) { switch ($attempt) { case 0: $inslug = qa_post_text('slug'); if (!isset($inslug)) { $inslug = implode('-', qa_string_to_words($inname)); } break; case 1: $inslug = qa_lang_sub('admin/category_default_slug', $inslug); break; default: $inslug = qa_lang_sub('admin/category_default_slug', $attempt - 1); break; } $matchcategoryid = qa_db_category_slug_to_id($inparentid, $inslug); // query against DB since MySQL ignores accents, etc... if (!isset($inparentid)) { $matchpage = qa_db_single_select(qa_db_page_full_selectspec($inslug, false)); } else { $matchpage = null; } if (empty($inslug)) { $errors['slug'] = qa_lang('main/field_required'); } elseif (qa_strlen($inslug) > QA_DB_MAX_CAT_PAGE_TAGS_LENGTH) { $errors['slug'] = qa_lang_sub('main/max_length_x', QA_DB_MAX_CAT_PAGE_TAGS_LENGTH); } elseif (preg_match('/[\\+\\/]/', $inslug)) { $errors['slug'] = qa_lang_sub('admin/slug_bad_chars', '+ /'); } elseif (!isset($inparentid) && qa_admin_is_slug_reserved($inslug)) { // only top level is a problem $errors['slug'] = qa_lang('admin/slug_reserved');
public function setThirdLevelCategory($name, $parent) { $category_id = qa_db_category_slug_to_id($parent, $name); if (!isset($category_id)) { $category_id = qa_db_category_create($parent, $name, $name); } return $category_id; }