function permut($arr, $result = array())
{
    global $finalres;
    if (empty($arr)) {
        $finalres[] = implode("", $result);
    } else {
        foreach ($arr as $key => $val) {
            $newArr = $arr;
            $newres = $result;
            $newres[] = $val;
            unset($newArr[$key]);
            permut($newArr, $newres);
        }
    }
}
示例#2
0
文件: msql.php 项目: philum/cms
function msql_modifs($defs, $defsb, $folder, $pre, $node, $basename, $modif)
{
    switch ($modif) {
        case 'restore':
            $defs = read_vars($folder, $node . '_sav', $defsb);
            break;
        case 'import_old':
            $defs = ${$table};
            break;
        case 'del_menus':
            unset($defs['_menus_']);
            break;
        case 'del_file':
            save_vars($folder, $node . '_sav', $defs);
            unlink($basename . '.php');
            relod('/' . $folder . $pre);
            break;
        case 'del_table':
            $r["_menus_"] = $defs["_menus_"];
            $defs = $r;
            break;
            //auto
        //auto
        case 'append_update':
            $defs = append_update($defs, $_GET["append_update"]);
            break;
        case 'import_defs':
            $defs = import_defs($defsb, $_GET["import_defs"]);
            break;
        case 'import_keys':
            $defs = import_keys($defs, $_GET["import_keys"]);
            break;
        case 'merge_defs':
            $defs = merge_defs($defs, $_GET["merge_defs"]);
            break;
        case 'permut':
            $defs = permut($defs, $_GET["permut"]);
            break;
        case 'reset_menus':
            $defs = reset_menus($defs);
            break;
        case 'add_col':
            $defs = add_col($defs);
            break;
        case 'del_col':
            $defs = del_col($defs, $_GET["del_col"]);
            break;
        case 'repair_cols':
            $defs = repair_cols($defs);
            break;
        case 'sort':
            $defs = sort_table($defs, $_GET['sort'], 1);
            $_GET['del_file'] = 1;
            break;
        case 'sort_table':
            $defs = sort_table($defs, $_GET['sort_table']);
            break;
        case 'append_values':
            $defs = append_values($defs, $_GET["append_values"]);
            break;
        case 'del_multi':
            $defs = del_multi($defs);
            break;
        case 'reorder':
            $defs = reorder($defs);
            break;
        case 'add_keys':
            $defs = add_keys($defs);
            break;
        case 'del_keys':
            $defs = del_keys($defs);
            break;
            //post
        //post
        case 'import_conn':
            $defs = import_conn($defs, $_POST["import_conn"], $_POST["aid"]);
            break;
        case 'inject_defs':
            $defs = inject_defs($defs, $_POST["inject_defs"]);
            break;
        case 'edit_csv':
            $defs = edit_csv($defs, $_POST["edit_csv"]);
            break;
        case 'update':
            $defs = update_table($node, $defs);
            break;
        case 'repair':
            $defs = repair($defs);
            break;
        case 'newfrom':
            $defs = new_from_defs($defs, $_GET["newfrom"], $folder, $node);
            break;
            //default:msq_filters($defs,$modif); break;
    }
    if (!$_GET["del_file"] && $defs) {
        save_vars($folder, $node, $defs);
    }
    return $defs;
}