Changeset 1388
- Timestamp:
- 04/07/06 18:48:18 (7 years ago)
- Files:
-
- freepbx/trunk/amp_conf/htdocs/admin/config.php (modified) (1 diff)
- freepbx/trunk/amp_conf/htdocs/admin/functions.inc.php (modified) (4 diffs)
- freepbx/trunk/amp_conf/htdocs/admin/modules/applications/module.ini (deleted)
- freepbx/trunk/amp_conf/htdocs/admin/modules/applications/module.xml (added)
- freepbx/trunk/amp_conf/htdocs/admin/modules/asterisk-cli/module.ini (deleted)
- freepbx/trunk/amp_conf/htdocs/admin/modules/asterisk-cli/module.xml (added)
- freepbx/trunk/amp_conf/htdocs/admin/modules/backup/module.ini (deleted)
- freepbx/trunk/amp_conf/htdocs/admin/modules/backup/module.xml (added)
- freepbx/trunk/amp_conf/htdocs/admin/modules/callwaiting/module.ini (deleted)
- freepbx/trunk/amp_conf/htdocs/admin/modules/callwaiting/module.xml (added)
- freepbx/trunk/amp_conf/htdocs/admin/modules/conferences/module.ini (deleted)
- freepbx/trunk/amp_conf/htdocs/admin/modules/conferences/module.xml (added)
- freepbx/trunk/amp_conf/htdocs/admin/modules/core/module.ini (deleted)
- freepbx/trunk/amp_conf/htdocs/admin/modules/core/module.xml (added)
- freepbx/trunk/amp_conf/htdocs/admin/modules/disa/module.ini (deleted)
- freepbx/trunk/amp_conf/htdocs/admin/modules/disa/module.xml (added)
- freepbx/trunk/amp_conf/htdocs/admin/modules/irc/module.ini (deleted)
- freepbx/trunk/amp_conf/htdocs/admin/modules/irc/module.xml (added)
- freepbx/trunk/amp_conf/htdocs/admin/modules/ivr/module.ini (deleted)
- freepbx/trunk/amp_conf/htdocs/admin/modules/ivr/module.xml (added)
- freepbx/trunk/amp_conf/htdocs/admin/modules/music/module.ini (deleted)
- freepbx/trunk/amp_conf/htdocs/admin/modules/music/module.xml (added)
- freepbx/trunk/amp_conf/htdocs/admin/modules/paging/module.ini (deleted)
- freepbx/trunk/amp_conf/htdocs/admin/modules/paging/module.xml (added)
- freepbx/trunk/amp_conf/htdocs/admin/modules/queues/module.ini (deleted)
- freepbx/trunk/amp_conf/htdocs/admin/modules/queues/module.xml (added)
- freepbx/trunk/amp_conf/htdocs/admin/modules/recordings/module.ini (deleted)
- freepbx/trunk/amp_conf/htdocs/admin/modules/recordings/module.xml (added)
- freepbx/trunk/amp_conf/htdocs/admin/modules/ringgroups/module.ini (deleted)
- freepbx/trunk/amp_conf/htdocs/admin/modules/ringgroups/module.xml (added)
- freepbx/trunk/amp_conf/htdocs/admin/modules/timeconditions/module.ini (deleted)
- freepbx/trunk/amp_conf/htdocs/admin/modules/timeconditions/module.xml (added)
- freepbx/trunk/amp_conf/htdocs/admin/page.modules.php (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
freepbx/trunk/amp_conf/htdocs/admin/config.php
r1377 r1388 81 81 $display=''; 82 82 } 83 84 // if we are looking at tools, then show module admin 85 if ($_REQUEST['type'] == "tool") { 83 86 $amp_sections = array( 84 87 'modules'=>_("Module Admin") 85 88 ); 89 } 86 90 87 91 /* freepbx/trunk/amp_conf/htdocs/admin/functions.inc.php
r1386 r1388 149 149 */ 150 150 151 /* 151 152 function find_allmodules() { 152 153 global $db; … … 193 194 } 194 195 return $mod; 196 } */ 197 198 199 /* look for all modules in modules dir. 200 ** returns array: 201 ** array['module']['displayName'] 202 ** array['module']['version'] 203 ** array['module']['type'] 204 ** array['module']['status'] 205 ** array['module']['items'][array(items)] 206 ** Use find_modules() to return only specific type or status 207 */ 208 function find_allmodules() { 209 global $db; 210 global $amp_conf; 211 $dir = opendir($amp_conf['AMPWEBROOT'].'/admin/modules'); 212 $data = "<xml>"; 213 //loop through each module directory, ensure there is a module.ini file 214 while ($file = readdir($dir)) { 215 if (($file != ".") && ($file != "..") && ($file != "CVS") && ($file != ".svn") && is_dir($amp_conf['AMPWEBROOT'].'/admin/modules/'.$file) && is_file($amp_conf['AMPWEBROOT'].'/admin/modules/'.$file.'/module.ini')) { 216 //open module.xml and read contents 217 if(is_file($amp_conf['AMPWEBROOT'].'/admin/modules/'.$file.'/module.xml')){ 218 $data .=file_get_contents($amp_conf['AMPWEBROOT'].'/admin/modules/'.$file.'/module.xml'); 219 220 } 221 } 222 } 223 $data .= "</xml>"; 224 $parser = new xml2ModuleArray($data); 225 $xmlarray = $parser->parseModulesXML($data); 226 227 // determine details about this module from database 228 // modulename should match the directory name 229 $sql = "SELECT * FROM modules"; 230 $results = $db->getAll($sql,DB_FETCHMODE_ASSOC); 231 if(DB::IsError($results)) { 232 die($results->getMessage()); 233 } 234 235 if (is_array($results)) { 236 foreach($results as $result) { 237 /* 238 set status key based on results 239 -1=broken (in table, not not on filesystem) 240 0 or null=not installed 241 1=disabled 242 2=enabled 243 */ 244 if(is_array($xmlarray[ $result['modulename'] ])) { 245 if ($result['enabled'] != 0) 246 $xmlarray[ $result['modulename'] ]["status"] = 2; 247 else 248 $xmlarray[ $result['modulename'] ]["status"] = 1; 249 } else { 250 $xmlarray[ $result['modulename'] ]["status"] = -1; 251 } 252 253 } 254 } 255 256 //echo "<pre>"; print_r($xmlarray); echo "</pre>"; 257 return $xmlarray; 195 258 } 196 259 … … 803 866 // loop through each modules's tags 804 867 foreach($module['children'] as $modTags) { 805 806 868 if(is_array($modTags['children'])) { 807 869 $$modTags['name'] = $modTags['children']; 808 870 // loop if there are children (menuitems and requirements) 809 871 foreach($modTags['children'] as $subTag) { 810 $subTags[ $subTag['name']] = $subTag['tagData'];872 $subTags[strtolower($subTag['name'])] = $subTag['tagData']; 811 873 } 812 874 $$modTags['name'] = $subTags; … … 828 890 $arrModules[$RAWNAME]['items'] = $MENUITEMS; 829 891 $arrModules[$RAWNAME]['requirements'] = $REQUIREMENTS; 830 892 //print_r($arrModules); 831 893 //unset our variables 832 894 unset($NAME); freepbx/trunk/amp_conf/htdocs/admin/page.modules.php
r1373 r1388 19 19 case "enable": 20 20 enableModule($_POST['modname']); 21 echo "<script language=\"Javascript\">document.location='".$_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING']." '</script>";21 echo "<script language=\"Javascript\">document.location='".$_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING']."&foo=1'</script>"; 22 22 break; 23 23 case "disable": 24 24 disableModule($_POST['modname']); 25 echo "<script language=\"Javascript\">document.location='".$_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING']."'</script>"; 25 echo "<script language=\"Javascript\">document.location='".$_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING']."&foo=2'</script>"; 26 break; 27 case "delete": 28 deleteModule($_POST['modname']); 29 //echo "<script language=\"Javascript\">document.location='".$_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING']."'</script>"; 26 30 break; 27 31 case "download": … … 120 124 $action .= "<input type=\"submit\" name=\"submit\" value=\""._("Disable")."\">"; 121 125 $action .= "</form>"; 126 } else if($mod['status'] == -1){ 127 $status = _("Broken"); 128 //disable form 129 $action = "<form method=\"POST\" action=\"{$_SERVER['REQUEST_URI']}\" style=display:inline>"; 130 $action .= "<input type=\"hidden\" name=\"modname\" value=\"{$key}\">"; 131 $action .= "<input type=\"hidden\" name=\"modaction\" value=\"delete\">"; 132 $action .= "<input type=\"submit\" name=\"submit\" value=\""._("Delete")."\">"; 133 $action .= "</form>"; 122 134 } 123 135 … … 248 260 function runModuleSQL($moddir,$type){ 249 261 global $db; 262 global $amp_conf; 250 263 $data=''; 264 // if there is an sql file, run it 251 265 if (is_file("modules/{$moddir}/{$type}.sql")) { 252 266 // run sql script … … 267 281 return true; 268 282 } 269 return true; 283 // if there is a php file, run it 284 if (is_file("modules/{$moddir}/{$type}.php")) { 285 include("modules/{$moddir}/{$type}.php"); 286 } 287 return true; 270 288 } 271 289 … … 319 337 global $db; 320 338 $sql = "UPDATE modules SET enabled = 0 WHERE modulename = '{$modname}'"; 339 $results = $db->query($sql); 340 if(DB::IsError($results)) { 341 die($results->getMessage()); 342 } 343 } 344 345 function deleteModule($modname) { 346 global $db; 347 $sql = "DELETE FROM modules WHERE modulename = '{$modname}' LIMIT 1"; 321 348 $results = $db->query($sql); 322 349 if(DB::IsError($results)) {
