Commit | Line | Data |
---|---|---|
6855525e JL |
1 | <?php |
2 | require_once 'diogenes.common.inc.php'; | |
3 | require_once 'diogenes.toplevel.inc.php'; | |
4 | require_once 'diogenes/diogenes.table-editor.inc.php'; | |
5 | ||
6 | // set up the page | |
7 | $page = new $globals->toplevel(true); | |
8 | $page->assign("greeting",__("Global options")); | |
9 | $page->toolbar(__("Mode"), array( array( __("standard"), "options.php" ), __("expert"))); | |
10 | ||
11 | $action = isset($_REQUEST['action']) ? $_REQUEST['action'] : ""; | |
12 | ||
13 | switch ($action) { | |
14 | case "cvs-rcs": | |
15 | $page->info("converting spool from CVS to RCS.."); | |
16 | $res = $globals->db->query("select alias from diogenes_site"); | |
17 | while(list($site) = mysql_fetch_row($res)) { | |
18 | $page->info("processing '$site'.."); | |
19 | $spool = new DiogenesSpool($page,$site); | |
20 | $page->info("-> deleting 'CVS' subdirectories from spool.."); | |
21 | $goners = System::find($spool->datadir.' -type d'); | |
22 | foreach($goners as $goner) { | |
23 | if (basename($goner) == "CVS") | |
24 | System::rm("-r $goner"); | |
25 | } | |
26 | $page->info("-> changing files in spool to read-only.."); | |
27 | $modfiles = System::find($spool->datadir.' -type f'); | |
28 | foreach($modfiles as $modfile) { | |
29 | chmod($modfile,0444); | |
30 | } | |
31 | } | |
32 | $globals->updateOption("rcs","DiogenesRcs"); | |
33 | break; | |
34 | ||
35 | case "rcs-cvs": | |
36 | $page->info("converting spool from RCS to CVS.."); | |
37 | if (!is_dir("{$globals->rcsroot}/CVSROOT")) { | |
38 | $page->info("-> no CVSROOT not found, running init.."); | |
39 | if ($ret = shell_exec(escapeshellcmd("cvs -d".escapeshellarg($globals->rcsroot)." init"))) | |
40 | $page->info($ret); | |
41 | } | |
42 | ||
43 | // remove current spool dirs and do a clean checkout of each site | |
44 | $res = $globals->db->query("select alias from diogenes_site"); | |
45 | while(list($site) = mysql_fetch_row($res)) { | |
46 | $page->info("processing '$site'.."); | |
47 | $page->info("-> removing '{$globals->spoolroot}/$site'.."); | |
48 | System::rm("-r {$globals->spoolroot}/$site"); | |
49 | $page->info("-> doing a checkout of module '$site'.."); | |
50 | $spool = new DiogenesCvs($page,$site,$_SESSION['session']->username,true); | |
51 | } | |
52 | $globals->updateOption("rcs","DiogenesCvs"); | |
53 | break; | |
54 | } | |
55 | ||
56 | $page->assign('msg_convert',__("Convert")); | |
57 | $page->assign('msg_vcs',__("version control system")); | |
58 | ||
59 | switch ($globals->rcs) { | |
60 | case "DiogenesRcs": | |
61 | $page->assign('msg_current_vcs',__("You are currently using RCS as the version control system for your barrels.")); | |
62 | $page->append('conversions',array("rcs-cvs", __("You can switch to a full CVS repository by clicking here."))); | |
63 | break; | |
64 | ||
65 | case "DiogenesCvs": | |
66 | $page->assign('msg_current_vcs',__("You are currently using CVS as the version control system for your barrels.")); | |
67 | $page->append('conversions',array("cvs-rcs", __("You can switch back to RCS by clicking here."))); | |
68 | break; | |
69 | } | |
70 | ||
71 | ||
72 | // set up the editor | |
73 | $editor = new DiogenesTableEditor($globals->table_global_options,"name",true); | |
74 | $editor->add_where_condition("barrel=''"); | |
75 | $editor->hide('barrel', ''); | |
76 | $editor->describe("name", __("option"), false); | |
77 | $editor->describe("value", __("value"), true); | |
78 | ||
79 | // run the editor | |
80 | $editor->table_style = "width:80%"; | |
81 | $editor->run($page,'editor_content'); | |
82 | ||
83 | $page->display('toplevel-options_expert.tpl'); | |
84 | ?> |