Changeset 3066:aa297059d2a0
- Timestamp:
- 08/10/15 15:31:48 (10 years ago)
- Branch:
- default
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
admin/index.php
r3024 r3066 28 28 29 29 dcPage::check('usage,contentadmin'); 30 31 if ($core->plugins->disableDepModules($core->adminurl->get('admin.home',array()))) { 32 exit; 33 } 30 34 31 35 # Logout -
admin/plugins.php
r3018 r3066 25 25 adminModulesList::$distributed_modules = explode(',', DC_DISTRIB_PLUGINS); 26 26 27 if ($core->plugins->disableDepModules($core->adminurl->get('admin.plugins',array()))) { 28 exit; 29 } 30 27 31 # -- Display module configuration page -- 28 32 if ($list->setConfiguration()) { -
inc/core/class.dc.modules.php
r3008 r3066 29 29 protected $disabled_mode = false; 30 30 protected $disabled_meta = array(); 31 protected $to_disable = array(); 31 32 32 33 protected $id; … … 61 62 */ 62 63 public function checkDependencies() { 63 $t o_disable = array();64 $this->to_disable = array(); 64 65 foreach ($this->all_modules as $k => &$m) { 65 66 if (isset($m['requires'])) { … … 85 86 $m['cannot_enable']=$missing; 86 87 if ($m['enabled']) { 87 $t o_disable[]=array('name' => $k,'reason'=> $missing);88 $this->to_disable[]=array('name' => $k,'reason'=> $missing); 88 89 } 89 90 } … … 100 101 } 101 102 } 102 return $to_disable; 103 } 104 105 /** 106 * Checks all modules dependencies, and disable unmet dependencies 107 * @param string $redir_url URL to redirect if modules are to disable 108 * @return boolea, true if a redirection has been performed 109 */ 110 public function disableDepModules($redir_url) { 111 if (isset($_GET['dep'])) { 112 // Avoid infinite redirects 113 return false; 114 } 115 $reason = array(); 116 foreach ($this->to_disable as $module) { 117 try{ 118 $this->deactivateModule($module['name']); 119 $reason[] = sprintf("<li>%s : %s</li>",$module['name'],join(',',$module['reason'])); 120 } catch (Exception $e) { 121 } 122 } 123 if (count($reason)) { 124 $message = sprintf ("<p>%s</p><ul>%s</ul>", 125 __("The following extensions have been disabled :"), 126 join('',$reason) 127 ); 128 dcPage::addWarningNotice($message,array('divtag'=>true,'with_ts' => false)); 129 if (strpos($redir_url,"?")) { 130 $url = $redir_url."&"."dep=1"; 131 } else { 132 $url = $redir_url."?"."dep=1"; 133 } 134 http::redirect($url); 135 return true; 136 } 137 return false; 103 138 } 104 139
Note: See TracChangeset
for help on using the changeset viewer.