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); } } }
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; }