$l_explain = $lang['Catexplain'];
        $s_hidden_fields = '<input type="hidden" name="mode" value="do_add" />';
        $s_hidden_fields .= '<input type="hidden" name="cat_id" value="' . $cat_id . '" />';
        break;
    case 'delete':
        $template_file = ADM_TPL . 'pa_admin_cat_delete.tpl';
        $l_title = $lang['Dcattitle'];
        $l_explain = $lang['Catexplain'];
        $s_hidden_fields = '<input type="hidden" name="mode" value="do_delete" />';
        break;
}
$template->set_filenames(array('admin' => $template_file));
$template->assign_vars(array('L_CAT_TITLE' => $l_title, 'L_CAT_EXPLAIN' => $l_explain, 'ERROR' => sizeof($pafiledb->error) ? implode('<br />', $pafiledb->error) : '', 'S_HIDDEN_FIELDS' => $s_hidden_fields, 'S_CAT_ACTION' => append_sid('admin_pa_category.' . PHP_EXT)));
if (empty($mode) || $mode == 'cat_order' || $mode == 'sync' || $mode == 'sync_all') {
    $template->assign_vars(array('L_CREATE_CATEGORY' => $lang['Create_category'], 'L_EDIT' => $lang['Edit'], 'L_DELETE' => $lang['Delete'], 'L_MOVE_UP' => $lang['MOVE_UP'], 'L_MOVE_DOWN' => $lang['MOVE_DOWN'], 'L_SUB_CAT' => $lang['Sub_category'], 'L_RESYNC' => $lang['RESYNC']));
    admin_cat_main($cat_id);
} elseif ($mode == 'add' || $mode == 'edit') {
    if ($mode == 'add') {
        if (!$_POST['cat_parent']) {
            $cat_list .= '<option value="0" selected="selected">' . $lang['None'] . '</option>';
        } else {
            $cat_list .= '<option value="0">' . $lang['None'] . '</option>';
        }
        $cat_list .= !$_POST['cat_parent'] ? $pafiledb->jumpmenu_option() : $pafiledb->jumpmenu_option(0, 0, array($_POST['cat_parent'] => 1));
        $checked_yes = $_POST['cat_allow_file'] ? ' checked="checked"' : '';
        $checked_no = !$_POST['cat_allow_file'] ? ' checked="checked"' : '';
        // MX Addon
        $checked_comments_yes = $_POST['cat_allow_comments'] ? ' checked="checked"' : '';
        $checked_comments_no = !$_POST['cat_allow_comments'] ? ' checked="checked"' : '';
        $checked_ratings_yes = $_POST['cat_allow_ratings'] ? ' checked="checked"' : '';
        $checked_ratings_no = !$_POST['cat_allow_ratings'] ? ' checked="checked"' : '';
 function admin_cat_main($cat_parent = 0, $depth = 0)
 {
     global $pafiledb, $template;
     $pre = str_repeat('&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;', $depth);
     if (isset($pafiledb->subcat_rowset[$cat_parent])) {
         foreach ($pafiledb->subcat_rowset[$cat_parent] as $subcat_id => $cat_data) {
             $template->assign_block_vars('cat_row', array('IS_HIGHER_CAT' => $cat_data['cat_allow_file'] == PA_CAT_ALLOW_FILE ? false : true, 'U_CAT' => append_sid('admin_pa_category.php?cat_id=' . $subcat_id), 'U_CAT_EDIT' => append_sid('admin_pa_category.' . PHP_EXT . '?mode=edit&amp;cat_id=' . $subcat_id), 'U_CAT_DELETE' => append_sid('admin_pa_category.' . PHP_EXT . '?mode=delete&amp;cat_id=' . $subcat_id), 'U_CAT_MOVE_UP' => append_sid('admin_pa_category.' . PHP_EXT . '?mode=cat_order&amp;move=-15&amp;cat_id_other=' . $subcat_id), 'U_CAT_MOVE_DOWN' => append_sid('admin_pa_category.' . PHP_EXT . '?mode=cat_order&amp;move=15&amp;cat_id_other=' . $subcat_id), 'U_CAT_RESYNC' => append_sid('admin_pa_category.' . PHP_EXT . '?mode=sync&amp;cat_id_other=' . $subcat_id), 'CAT_NAME' => $cat_data['cat_name'], 'PRE' => $pre));
             admin_cat_main($subcat_id, $depth + 1);
         }
         return;
     }
     return;
 }