annotate admin/application/libraries/hgphp.php @ 10:0e7e4cead7c9

HGRC write and handle true/false key values
author joshjcarrier
date Thu, 13 May 2010 21:16:14 -0700
parents 97bc7635ce3f
children 2ec108f96fad
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
1 <?php if (!defined('BASEPATH')) exit('No direct script access allowed');
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
2
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
3 /**
8
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
4 * CodeIgniter Mercurial Repository Management class
0
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
5 *
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
6 * Scans file system and Mercurial projects directory, allowing
8
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
7 * web-based manipulation of the hgwebdir.config and hgrc configuration files.
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
8 *
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
9 * Depends on the HgConf2Ini library.
0
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
10 *
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
11 * @package CodeIgniter
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
12 * @subpackage Libraries
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
13 * @category Libraries
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
14 * @author Josh Carrier
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
15 * @link blog.joshjcarrier.com
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
16 *
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
17 */
7
9790c4a95b14 delete repo&data + basic UI support for delete
joshjcarrier
parents: 5
diff changeset
18 class HgPHP
0
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
19 {
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
20 private $_ci;
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
21
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
22 function __construct($config = array())
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
23 {
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
24 if(!empty($config))
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
25 {
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
26 $this->initialize($config);
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
27 }
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
28
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
29 $this->_ci =& get_instance();
7
9790c4a95b14 delete repo&data + basic UI support for delete
joshjcarrier
parents: 5
diff changeset
30 $this->_ci->lang->load('hgphp');
8
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
31 $this->_ci->load->library('hgconf2ini');
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
32 log_message('debug', 'HgPHP class Initialized');
0
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
33 }
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
34
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
35 function initialize($config = array())
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
36 {
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
37 foreach($config as $key=>$val)
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
38 {
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
39 $this->{'_'.$key} = $val;
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
40 }
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
41 }
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
42
1
2d2757428cc6 Repository directory can detect if a repo is enabled, disabled, or missing. Can also parse hgweb.config with a compatibility fix (convert / to ---- as defined in config)
joshjcarrier
parents: 0
diff changeset
43 /**
4
1648e02be7e0 Global lockout permission config
joshjcarrier
parents: 3
diff changeset
44 * Public accessors - hgweb.config
1648e02be7e0 Global lockout permission config
joshjcarrier
parents: 3
diff changeset
45 */
1648e02be7e0 Global lockout permission config
joshjcarrier
parents: 3
diff changeset
46
1648e02be7e0 Global lockout permission config
joshjcarrier
parents: 3
diff changeset
47 /**
0
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
48 * Returns a list of available repositories.
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
49 * Will show up if: detected in repo directory
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
50 * Will have status "enabled" if: detected in hgweb.config
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
51 *
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
52 * @return an array of 0 or more detected repositories
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
53 */
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
54 function lsdir()
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
55 {
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
56 $realdir = $this->__realdirscan();
8
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
57 $hgwebdir_compat = $this->_ci->hgconf2ini->getHgWebDirCollections();
2
492f28533a05 Cleaned up hgweb.config loading data array a bit. Starting to implement locking system, repository editor.
joshjcarrier
parents: 1
diff changeset
58
1
2d2757428cc6 Repository directory can detect if a repo is enabled, disabled, or missing. Can also parse hgweb.config with a compatibility fix (convert / to ---- as defined in config)
joshjcarrier
parents: 0
diff changeset
59 // FIXME test no directory cases
2
492f28533a05 Cleaned up hgweb.config loading data array a bit. Starting to implement locking system, repository editor.
joshjcarrier
parents: 1
diff changeset
60 $allrepo = array_merge($realdir, $hgwebdir_compat);
1
2d2757428cc6 Repository directory can detect if a repo is enabled, disabled, or missing. Can also parse hgweb.config with a compatibility fix (convert / to ---- as defined in config)
joshjcarrier
parents: 0
diff changeset
61
2d2757428cc6 Repository directory can detect if a repo is enabled, disabled, or missing. Can also parse hgweb.config with a compatibility fix (convert / to ---- as defined in config)
joshjcarrier
parents: 0
diff changeset
62 $hgrepos = array();
2d2757428cc6 Repository directory can detect if a repo is enabled, disabled, or missing. Can also parse hgweb.config with a compatibility fix (convert / to ---- as defined in config)
joshjcarrier
parents: 0
diff changeset
63 foreach($allrepo as $repo)
2d2757428cc6 Repository directory can detect if a repo is enabled, disabled, or missing. Can also parse hgweb.config with a compatibility fix (convert / to ---- as defined in config)
joshjcarrier
parents: 0
diff changeset
64 {
2d2757428cc6 Repository directory can detect if a repo is enabled, disabled, or missing. Can also parse hgweb.config with a compatibility fix (convert / to ---- as defined in config)
joshjcarrier
parents: 0
diff changeset
65 $hgrepos[$repo]['name'] = $repo;
2d2757428cc6 Repository directory can detect if a repo is enabled, disabled, or missing. Can also parse hgweb.config with a compatibility fix (convert / to ---- as defined in config)
joshjcarrier
parents: 0
diff changeset
66
2
492f28533a05 Cleaned up hgweb.config loading data array a bit. Starting to implement locking system, repository editor.
joshjcarrier
parents: 1
diff changeset
67 if(isset($realdir[$repo]) && isset($hgwebdir_compat[$repo]))
1
2d2757428cc6 Repository directory can detect if a repo is enabled, disabled, or missing. Can also parse hgweb.config with a compatibility fix (convert / to ---- as defined in config)
joshjcarrier
parents: 0
diff changeset
68 {
2d2757428cc6 Repository directory can detect if a repo is enabled, disabled, or missing. Can also parse hgweb.config with a compatibility fix (convert / to ---- as defined in config)
joshjcarrier
parents: 0
diff changeset
69 $hgrepos[$repo]['status'] = 1;
2d2757428cc6 Repository directory can detect if a repo is enabled, disabled, or missing. Can also parse hgweb.config with a compatibility fix (convert / to ---- as defined in config)
joshjcarrier
parents: 0
diff changeset
70 }
2
492f28533a05 Cleaned up hgweb.config loading data array a bit. Starting to implement locking system, repository editor.
joshjcarrier
parents: 1
diff changeset
71 else if(isset($realdir[$repo]) && !isset($hgwebdir_compat[$repo]))
1
2d2757428cc6 Repository directory can detect if a repo is enabled, disabled, or missing. Can also parse hgweb.config with a compatibility fix (convert / to ---- as defined in config)
joshjcarrier
parents: 0
diff changeset
72 {
2d2757428cc6 Repository directory can detect if a repo is enabled, disabled, or missing. Can also parse hgweb.config with a compatibility fix (convert / to ---- as defined in config)
joshjcarrier
parents: 0
diff changeset
73 $hgrepos[$repo]['status'] = 0;
2d2757428cc6 Repository directory can detect if a repo is enabled, disabled, or missing. Can also parse hgweb.config with a compatibility fix (convert / to ---- as defined in config)
joshjcarrier
parents: 0
diff changeset
74 }
2
492f28533a05 Cleaned up hgweb.config loading data array a bit. Starting to implement locking system, repository editor.
joshjcarrier
parents: 1
diff changeset
75 else if(!isset($realdir[$repo]) && isset($hgwebdir_compat[$repo]))
1
2d2757428cc6 Repository directory can detect if a repo is enabled, disabled, or missing. Can also parse hgweb.config with a compatibility fix (convert / to ---- as defined in config)
joshjcarrier
parents: 0
diff changeset
76 {
2d2757428cc6 Repository directory can detect if a repo is enabled, disabled, or missing. Can also parse hgweb.config with a compatibility fix (convert / to ---- as defined in config)
joshjcarrier
parents: 0
diff changeset
77 $hgrepos[$repo]['status'] = 2;
2d2757428cc6 Repository directory can detect if a repo is enabled, disabled, or missing. Can also parse hgweb.config with a compatibility fix (convert / to ---- as defined in config)
joshjcarrier
parents: 0
diff changeset
78 }
2d2757428cc6 Repository directory can detect if a repo is enabled, disabled, or missing. Can also parse hgweb.config with a compatibility fix (convert / to ---- as defined in config)
joshjcarrier
parents: 0
diff changeset
79 }
2d2757428cc6 Repository directory can detect if a repo is enabled, disabled, or missing. Can also parse hgweb.config with a compatibility fix (convert / to ---- as defined in config)
joshjcarrier
parents: 0
diff changeset
80
2d2757428cc6 Repository directory can detect if a repo is enabled, disabled, or missing. Can also parse hgweb.config with a compatibility fix (convert / to ---- as defined in config)
joshjcarrier
parents: 0
diff changeset
81 return $hgrepos;
0
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
82 }
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
83
8
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
84 /**
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
85 * Create a Hg repository by:
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
86 * - adding an entry in hgwebdir if not present
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
87 * - creating a bare repository if not present
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
88 */
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
89 function create_repository($new_repo_name)
3
53341b414217 Ability to create repository entry (via uri), which updates live hgweb.config + sets up an empty directory to push to.
joshjcarrier
parents: 2
diff changeset
90 {
8
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
91 // FIXME constants required
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
92 $return_code = 0;
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
93
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
94 if(!$this->can_create($new_repo_name))
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
95 {
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
96 // FIXME constants required
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
97 return -1;
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
98 }
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
99
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
100 $lsdir = $this->lsdir();
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
101 $existingdir = array_keys($lsdir);
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
102
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
103 // not registered in hgweb.config
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
104 if(!isset($lsdir[$new_repo_name]))
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
105 {
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
106 // create the repository
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
107 $create_status = $this->create_repository_dir($new_repo_name);
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
108
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
109 if($create_status)
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
110 {
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
111 // edit the directory
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
112 $existingdir[$new_repo_name] = $new_repo_name;
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
113 $create_status = $this->_ci->hgconf2ini->setHgWebDirCollections($existingdir);
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
114
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
115 // success message
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
116 //$this->template->inject_partial('user_msg', 'Repository "'. $new_repo_name .'" created successfully.');
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
117 return 0;
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
118 }
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
119 else
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
120 {
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
121 return -2;
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
122 //$this->template->inject_partial('user_err', 'Repository "'. $new_repo_name .'" could not be created; insufficient user or server privileges.');
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
123 }
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
124 }
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
125 // TODO repair missing directory?
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
126 else if($lsdir[$new_repo_name]['status'] == 2)
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
127 {
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
128 return -3;
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
129 //$this->template->inject_partial('user_msg', 'Repository "'. $new_repo_name .'" RESTORE.');
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
130 }
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
131 else
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
132 {
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
133 return -4;
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
134 //$this->template->inject_partial('user_err', 'Repository "'. $new_repo_name .'" could not be created; it already exists.');
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
135 }
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
136
3
53341b414217 Ability to create repository entry (via uri), which updates live hgweb.config + sets up an empty directory to push to.
joshjcarrier
parents: 2
diff changeset
137 }
53341b414217 Ability to create repository entry (via uri), which updates live hgweb.config + sets up an empty directory to push to.
joshjcarrier
parents: 2
diff changeset
138
10
0e7e4cead7c9 HGRC write and handle true/false key values
joshjcarrier
parents: 9
diff changeset
139 function update_repository($repo_name, $hgrc)
0e7e4cead7c9 HGRC write and handle true/false key values
joshjcarrier
parents: 9
diff changeset
140 {
0e7e4cead7c9 HGRC write and handle true/false key values
joshjcarrier
parents: 9
diff changeset
141 return $this->_ci->hgconf2ini->setHGRC($repo_name, $hgrc);
0e7e4cead7c9 HGRC write and handle true/false key values
joshjcarrier
parents: 9
diff changeset
142 }
8
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
143
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
144 function delete_repository($del_repo_name)
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
145 {
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
146 $return_code = 0;
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
147
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
148 if(!$this->can_delete($del_repo_name))
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
149 {
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
150 // FIXME constants required
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
151 return -1;
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
152 }
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
153
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
154 $lsdir = $this->lsdir();
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
155 $existingdir = array_keys($lsdir);
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
156 $tempexistingdir = array();
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
157 foreach($existingdir as $repo_name)
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
158 {
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
159 $tempexistingdir[$repo_name] = $repo_name;
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
160 }
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
161 $existingdir = $tempexistingdir;
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
162
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
163 if(isset($lsdir[$del_repo_name]))
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
164 {
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
165 $del_status = true;
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
166
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
167 // existing filesystem is not missing, thus needs to be deleted
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
168 if($lsdir[$del_repo_name]['status'] != 2)
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
169 {
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
170 $del_status = $this->delete_repository_dir($del_repo_name);
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
171 }
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
172
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
173 // remove from hgweb.config
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
174 if($del_status)
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
175 {
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
176 // edit the directory
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
177 unset($existingdir[$del_repo_name]);
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
178
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
179 $this->_ci->hgconf2ini->setHgWebDirCollections($existingdir);
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
180
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
181 // success message
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
182 // FIXME constants required
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
183 return 0;
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
184 // $this->template->inject_partial('user_msg', 'Repository "'. $del_repo_name .'" deleted successfully.');
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
185 }
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
186 else
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
187 {
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
188 // FIXME constants required
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
189 return -2;
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
190 // $this->template->inject_partial('user_err', 'Repository "'. $del_repo_name .'" could not be deleted; insufficient user or server privileges.');
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
191 }
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
192 }
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
193 else
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
194 {
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
195 // FIXME constants required
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
196 return -3;
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
197 // $this->template->inject_partial('user_err', 'Repository "'. $del_repo_name .'" could not be deleted; it does not exist or is already deleted.');
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
198 }
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
199 }
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
200
9
97bc7635ce3f HGRC read properties, and prepped for write
joshjcarrier
parents: 8
diff changeset
201 function stat_repository($project_name)
97bc7635ce3f HGRC read properties, and prepped for write
joshjcarrier
parents: 8
diff changeset
202 {
97bc7635ce3f HGRC read properties, and prepped for write
joshjcarrier
parents: 8
diff changeset
203 // FIXME permission check
97bc7635ce3f HGRC read properties, and prepped for write
joshjcarrier
parents: 8
diff changeset
204
97bc7635ce3f HGRC read properties, and prepped for write
joshjcarrier
parents: 8
diff changeset
205 return $this->_ci->hgconf2ini->getHGRC($project_name);
97bc7635ce3f HGRC read properties, and prepped for write
joshjcarrier
parents: 8
diff changeset
206 }
4
1648e02be7e0 Global lockout permission config
joshjcarrier
parents: 3
diff changeset
207
1648e02be7e0 Global lockout permission config
joshjcarrier
parents: 3
diff changeset
208 /**
1648e02be7e0 Global lockout permission config
joshjcarrier
parents: 3
diff changeset
209 * Public accessors - permissions
1648e02be7e0 Global lockout permission config
joshjcarrier
parents: 3
diff changeset
210 */
1648e02be7e0 Global lockout permission config
joshjcarrier
parents: 3
diff changeset
211
1648e02be7e0 Global lockout permission config
joshjcarrier
parents: 3
diff changeset
212 function can_create($repository_name)
1648e02be7e0 Global lockout permission config
joshjcarrier
parents: 3
diff changeset
213 {
1648e02be7e0 Global lockout permission config
joshjcarrier
parents: 3
diff changeset
214 return $this->_hgwebconf_allow_repo_create;
1648e02be7e0 Global lockout permission config
joshjcarrier
parents: 3
diff changeset
215 }
7
9790c4a95b14 delete repo&data + basic UI support for delete
joshjcarrier
parents: 5
diff changeset
216
9790c4a95b14 delete repo&data + basic UI support for delete
joshjcarrier
parents: 5
diff changeset
217 function can_delete($repository_name)
9790c4a95b14 delete repo&data + basic UI support for delete
joshjcarrier
parents: 5
diff changeset
218 {
9790c4a95b14 delete repo&data + basic UI support for delete
joshjcarrier
parents: 5
diff changeset
219 return $this->_hgwebconf_allow_repo_delete;
9790c4a95b14 delete repo&data + basic UI support for delete
joshjcarrier
parents: 5
diff changeset
220 }
9790c4a95b14 delete repo&data + basic UI support for delete
joshjcarrier
parents: 5
diff changeset
221
4
1648e02be7e0 Global lockout permission config
joshjcarrier
parents: 3
diff changeset
222 /**
1648e02be7e0 Global lockout permission config
joshjcarrier
parents: 3
diff changeset
223 * Public helpers - filesystem
1648e02be7e0 Global lockout permission config
joshjcarrier
parents: 3
diff changeset
224 */
1648e02be7e0 Global lockout permission config
joshjcarrier
parents: 3
diff changeset
225
8
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
226 function create_repository_dir($repository_name)
4
1648e02be7e0 Global lockout permission config
joshjcarrier
parents: 3
diff changeset
227 {
1648e02be7e0 Global lockout permission config
joshjcarrier
parents: 3
diff changeset
228 if(!$this->can_create($repository_name))
1648e02be7e0 Global lockout permission config
joshjcarrier
parents: 3
diff changeset
229 {
1648e02be7e0 Global lockout permission config
joshjcarrier
parents: 3
diff changeset
230 return false;
1648e02be7e0 Global lockout permission config
joshjcarrier
parents: 3
diff changeset
231 }
1648e02be7e0 Global lockout permission config
joshjcarrier
parents: 3
diff changeset
232
1648e02be7e0 Global lockout permission config
joshjcarrier
parents: 3
diff changeset
233 $cd = $this->_repositories_rel_dir;
9
97bc7635ce3f HGRC read properties, and prepped for write
joshjcarrier
parents: 8
diff changeset
234 mkdir($cd . $repository_name . '/.hg/store/data/', 0755, TRUE);
4
1648e02be7e0 Global lockout permission config
joshjcarrier
parents: 3
diff changeset
235
1648e02be7e0 Global lockout permission config
joshjcarrier
parents: 3
diff changeset
236 // create hgrc
8
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
237 return $this->_ci->hgconf2ini->touchHGRC($repository_name);
4
1648e02be7e0 Global lockout permission config
joshjcarrier
parents: 3
diff changeset
238 }
1648e02be7e0 Global lockout permission config
joshjcarrier
parents: 3
diff changeset
239
8
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
240 function delete_repository_dir($repository_name)
4
1648e02be7e0 Global lockout permission config
joshjcarrier
parents: 3
diff changeset
241 {
7
9790c4a95b14 delete repo&data + basic UI support for delete
joshjcarrier
parents: 5
diff changeset
242 if(!$this->can_delete($repository_name))
9790c4a95b14 delete repo&data + basic UI support for delete
joshjcarrier
parents: 5
diff changeset
243 {
9790c4a95b14 delete repo&data + basic UI support for delete
joshjcarrier
parents: 5
diff changeset
244 return false;
9790c4a95b14 delete repo&data + basic UI support for delete
joshjcarrier
parents: 5
diff changeset
245 }
4
1648e02be7e0 Global lockout permission config
joshjcarrier
parents: 3
diff changeset
246
7
9790c4a95b14 delete repo&data + basic UI support for delete
joshjcarrier
parents: 5
diff changeset
247 $cd = $this->_repositories_rel_dir . $repository_name;
9790c4a95b14 delete repo&data + basic UI support for delete
joshjcarrier
parents: 5
diff changeset
248
9790c4a95b14 delete repo&data + basic UI support for delete
joshjcarrier
parents: 5
diff changeset
249 $this->recursiveDelete($cd . '/.hg/');
9790c4a95b14 delete repo&data + basic UI support for delete
joshjcarrier
parents: 5
diff changeset
250 return $this->recursiveDelete($cd);
4
1648e02be7e0 Global lockout permission config
joshjcarrier
parents: 3
diff changeset
251 }
1648e02be7e0 Global lockout permission config
joshjcarrier
parents: 3
diff changeset
252
1648e02be7e0 Global lockout permission config
joshjcarrier
parents: 3
diff changeset
253 /**
1648e02be7e0 Global lockout permission config
joshjcarrier
parents: 3
diff changeset
254 * Private helpers - hgweb.config
1648e02be7e0 Global lockout permission config
joshjcarrier
parents: 3
diff changeset
255 */
3
53341b414217 Ability to create repository entry (via uri), which updates live hgweb.config + sets up an empty directory to push to.
joshjcarrier
parents: 2
diff changeset
256
1
2d2757428cc6 Repository directory can detect if a repo is enabled, disabled, or missing. Can also parse hgweb.config with a compatibility fix (convert / to ---- as defined in config)
joshjcarrier
parents: 0
diff changeset
257 /**
0
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
258 * Performs a real directory scan where the projects are suppose to reside.
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
259 *
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
260 * @return the array containing 0 or more valid directories
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
261 */
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
262 function __realdirscan()
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
263 {
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
264 $this->_ci->load->helper('directory');
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
265
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
266 // FIXME this doesn't check if file or directory...
3
53341b414217 Ability to create repository entry (via uri), which updates live hgweb.config + sets up an empty directory to push to.
joshjcarrier
parents: 2
diff changeset
267 $realdir = directory_map($this->_repositories_rel_dir, TRUE);
0
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
268
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
269 $verifiedrealdir = array();
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
270 foreach($realdir as $file)
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
271 {
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
272 // checks if we detected a folder
3
53341b414217 Ability to create repository entry (via uri), which updates live hgweb.config + sets up an empty directory to push to.
joshjcarrier
parents: 2
diff changeset
273 if(is_dir($this->_repositories_rel_dir . $file))
0
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
274 {
1
2d2757428cc6 Repository directory can detect if a repo is enabled, disabled, or missing. Can also parse hgweb.config with a compatibility fix (convert / to ---- as defined in config)
joshjcarrier
parents: 0
diff changeset
275 $verifiedrealdir[$file] = $file;
0
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
276 }
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
277 }
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
278
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
279 return $verifiedrealdir;
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
280 }
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
281
4
1648e02be7e0 Global lockout permission config
joshjcarrier
parents: 3
diff changeset
282
1
2d2757428cc6 Repository directory can detect if a repo is enabled, disabled, or missing. Can also parse hgweb.config with a compatibility fix (convert / to ---- as defined in config)
joshjcarrier
parents: 0
diff changeset
283
0
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
284 function getProjectParams()
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
285 {
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
286 return array('ui'=>array('config1'=>'value'));
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
287 }
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
288
8
6215bb22f3d3 Refactored config handler functions to new library.
joshjcarrier
parents: 7
diff changeset
289
7
9790c4a95b14 delete repo&data + basic UI support for delete
joshjcarrier
parents: 5
diff changeset
290
9790c4a95b14 delete repo&data + basic UI support for delete
joshjcarrier
parents: 5
diff changeset
291
9790c4a95b14 delete repo&data + basic UI support for delete
joshjcarrier
parents: 5
diff changeset
292 /**
9790c4a95b14 delete repo&data + basic UI support for delete
joshjcarrier
parents: 5
diff changeset
293 * Delete a file or recursively delete a directory
9790c4a95b14 delete repo&data + basic UI support for delete
joshjcarrier
parents: 5
diff changeset
294 *
9790c4a95b14 delete repo&data + basic UI support for delete
joshjcarrier
parents: 5
diff changeset
295 * @param string $str Path to file or directory
9790c4a95b14 delete repo&data + basic UI support for delete
joshjcarrier
parents: 5
diff changeset
296 */
9790c4a95b14 delete repo&data + basic UI support for delete
joshjcarrier
parents: 5
diff changeset
297 function recursiveDelete($str){
9790c4a95b14 delete repo&data + basic UI support for delete
joshjcarrier
parents: 5
diff changeset
298 if(is_file($str)){
9790c4a95b14 delete repo&data + basic UI support for delete
joshjcarrier
parents: 5
diff changeset
299 return @unlink($str);
9790c4a95b14 delete repo&data + basic UI support for delete
joshjcarrier
parents: 5
diff changeset
300 }
9790c4a95b14 delete repo&data + basic UI support for delete
joshjcarrier
parents: 5
diff changeset
301 elseif(is_dir($str)){
9790c4a95b14 delete repo&data + basic UI support for delete
joshjcarrier
parents: 5
diff changeset
302 $scan = glob(rtrim($str,'/').'/*');
9790c4a95b14 delete repo&data + basic UI support for delete
joshjcarrier
parents: 5
diff changeset
303 foreach($scan as $index=>$path){
9790c4a95b14 delete repo&data + basic UI support for delete
joshjcarrier
parents: 5
diff changeset
304 $this->recursiveDelete($path);
9790c4a95b14 delete repo&data + basic UI support for delete
joshjcarrier
parents: 5
diff changeset
305 }
9790c4a95b14 delete repo&data + basic UI support for delete
joshjcarrier
parents: 5
diff changeset
306 return @rmdir($str);
9790c4a95b14 delete repo&data + basic UI support for delete
joshjcarrier
parents: 5
diff changeset
307 }
9790c4a95b14 delete repo&data + basic UI support for delete
joshjcarrier
parents: 5
diff changeset
308 }
0
9124b60de5a6 CodeIgniter 1.7.2 base. .htaccess modification for subdirectory serve. Hg_conf library begin - can scan directories on disk.
joshjcarrier
parents:
diff changeset
309 }