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; }