protected function destroyMyself()
 {
     $_SESSION['checked_module_prompt'] = 'prompted';
     $promptConfig = I2CE::getConfig()->traverse('/modules/modulePrompter/', true);
     $promptConfig->prompt_status = 'prompted';
     I2CE_Updater::updateModules(array(), array('modulePrompter'));
 }
示例#2
0
 protected function actionEnableDisable()
 {
     I2CE_ModuleFactory::callHooks('pre_admin_enable_modules', array('page' => $this));
     if ($this->post_exists('redirect') && $this->post('redirect')) {
         $redirect = $this->post('redirect');
     } else {
         if ($this->shortname == 'I2CE') {
             $redirect = "admin/modules";
         } else {
             $redirect = "admin/modules/{$this->shortname}";
         }
     }
     if (!$this->post_exists('possibles') || !$this->post('possibles')) {
         $this->redirect($redirect);
         return;
     }
     $possibles = explode(':', $this->post('possibles'));
     $enable = array();
     if ($this->post_exists('modules')) {
         $enable = $this->post('modules');
     }
     $disable = array_diff($possibles, $enable);
     $msg = '';
     $optional_excludes = $disable;
     foreach ($enable as $i => $e) {
         if ($this->mod_factory->isEnabled($e)) {
             unset($enable[$i]);
         }
     }
     foreach ($disable as $i => $d) {
         if (!$this->mod_factory->isEnabled($d)) {
             unset($disable[$i]);
         }
     }
     if (count($enable) > 0) {
         $msg .= '<p>modules enabled: ' . implode(' ', $enable) . "</p>";
     }
     if (count($disable) > 0) {
         $msg .= '<p>modules disabled: ' . implode(' ', $disable) . "</p>";
     }
     if (I2CE_Updater::updateModules($enable, array(), $optional_excludes, $disable)) {
         $this->userMessage("Success" . $msg . "<br/>");
     } else {
         $this->userMessage("Failure on:" . $msg . "<br/>");
     }
     I2CE_ModuleFactory::callHooks('post_admin_enable_modules', array('page' => $this, 'possibles' => $possibles, 'enable' => $enable, 'disable' => $disable));
     $this->redirect($redirect);
 }