Exemplo n.º 1
0
 public function activatePlugin($d = array())
 {
     $plugName = isset($d['plugName']) ? $d['plugName'] : '';
     if (!empty($plugName)) {
         $activationKey = isset($d['activation_key']) ? $d['activation_key'] : '';
         if (!empty($activationKey)) {
             $result = modInstallerGmp::activatePlugin($plugName, $activationKey);
             if ($result === true) {
                 $allActivationModules = modInstallerGmp::getActivationModules();
                 // Activate all required modules
                 if (!empty($allActivationModules)) {
                     foreach ($allActivationModules as $i => $m) {
                         if ($m['plugName'] == $plugName) {
                             // We need to set this var here each time - as it will be detected on put() method bellow
                             unset($allActivationModules[$i]);
                             modInstallerGmp::updateActivationModules($allActivationModules);
                             $this->put(array('code' => $m['code'], 'active' => 1));
                         }
                     }
                     modInstallerGmp::updateActivationModules($allActivationModules);
                 }
                 $allActivationMessages = modInstallerGmp::getActivationMessages();
                 // Remove activation messages for this plugin
                 if (!empty($allActivationMessages) && isset($allActivationMessages[$plugName])) {
                     unset($allActivationMessages[$plugName]);
                     modInstallerGmp::updateActivationMessages($allActivationMessages);
                 }
                 return true;
             } elseif (is_array($result)) {
                 // Array with errors
                 $this->pushError($result);
             } else {
                 $this->pushError(langGmp::_('Can not contact authorization server for now.'));
                 $this->pushError(langGmp::_('Please try again latter.'));
                 $this->pushError(langGmp::_('If problem will not stop - please contact us using this form <a href="http://readyshoppingcart.com/contacts/" target="_blank">http://readyshoppingcart.com/contacts/</a>.'));
             }
         } else {
             $this->pushError(langGmp::_('Please enter activation key'));
         }
     } else {
         $this->pushError(langGmp::_('Empty plugin name'));
     }
     return false;
 }