예제 #1
0
파일: ButtonBar.php 프로젝트: ekowabaka/cfx
 /**
  * Add a new button to this bar. This method creates a new instance of the
  * button class and adds it to the button bar.
  * 
  * @param $label The label for this button
  * @return ButtonBar
  */
 public function addButton($label, $onClick = null)
 {
     $button = new Button($label);
     if ($onClick !== null) {
         $button->addAttribute('onclick', $onClick);
     }
     $this->buttons[] = $button;
     return $this;
 }
예제 #2
0
파일: themes.php 프로젝트: vazahat/dudex
 public function updateRequest(array $params)
 {
     $this->checkXP();
     $themeDto = $this->getThemeDtoByName($params);
     $language = OW::getLanguage();
     $remoteThemeInfo = (array) $this->themeService->getThemeInfoForUpdate($themeDto->getName(), $themeDto->getDeveloperKey());
     if (empty($remoteThemeInfo) || !empty($remoteThemeInfo['error'])) {
         $this->assign('mode', 'error');
         $this->assign('text', $language->text('admin', 'theme_update_request_error'));
         $this->assign('returnUrl', OW::getRouter()->urlFor('ADMIN_CTRL_Themes', 'chooseTheme'));
     } else {
         if ((bool) $remoteThemeInfo['freeware']) {
             $this->assign('mode', 'free');
             $this->assign('text', $language->text('admin', 'free_theme_request_text', array('oldVersion' => $themeDto->getBuild(), 'newVersion' => $remoteThemeInfo['build'], 'name' => $themeDto->getTitle())));
             $this->assign('redirectUrl', OW::getRouter()->urlFor('ADMIN_CTRL_Themes', 'update', $params));
             $this->assign('returnUrl', OW::getRouter()->urlFor('ADMIN_CTRL_Themes', 'chooseTheme'));
         } else {
             if ($remoteThemeInfo['build'] === null) {
                 $query = "UPDATE `" . OW_DB_PREFIX . "base_theme` SET `update` = 0 WHERE `name` = :name";
                 OW::getDbo()->query($query, array('name' => $params['name']));
                 $this->assign('mode', 'error');
                 $this->assign('text', $language->text('admin', 'theme_update_not_available_error'));
                 $this->assign('returnUrl', OW::getRouter()->urlFor('ADMIN_CTRL_Themes', 'chooseTheme'));
             } else {
                 $this->assign('text', $language->text('admin', 'com_theme_request_text', array('oldVersion' => $themeDto->getBuild(), 'newVersion' => $remoteThemeInfo['build'], 'name' => $themeDto->getTitle())));
                 $form = new Form('license-key');
                 $licenseKey = new TextField('key');
                 $licenseKey->setValue($themeDto->getLicenseKey());
                 $licenseKey->setRequired();
                 $licenseKey->setLabel($language->text('admin', 'com_theme_request_name_label'));
                 $form->addElement($licenseKey);
                 $submit = new Submit('submit');
                 $submit->setValue($language->text('admin', 'license_form_submit_label'));
                 $form->addElement($submit);
                 $button = new Button('button');
                 $button->setValue($language->text('admin', 'license_form_leave_label'));
                 $button->addAttribute('onclick', "window.location='" . OW::getRouter()->urlFor('ADMIN_CTRL_Themes', 'chooseTheme') . "'");
                 $form->addElement($button);
                 $this->addForm($form);
                 if (OW::getRequest()->isPost()) {
                     if ($form->isValid($_POST)) {
                         $data = $form->getValues();
                         $params['licenseKey'] = $data['key'];
                         $result = $this->themeService->checkLicenseKey($themeDto->getName(), $themeDto->getDeveloperKey(), $data['key']);
                         if ($result === true) {
                             $this->redirect(OW::getRouter()->urlFor('ADMIN_CTRL_Themes', 'update', $params));
                         } else {
                             OW::getFeedback()->error($language->text('admin', 'themes_manage_invalid_license_key_error_message'));
                             $this->redirect();
                         }
                     }
                 }
             }
         }
     }
 }
예제 #3
0
 public function updateRequest(array $params)
 {
     $this->checkXP();
     $pluginDto = $this->getPluginDtoByKey($params);
     $language = OW::getLanguage();
     $remotePluginInfo = (array) $this->pluginService->getItemInfoForUpdate($pluginDto->getKey(), $pluginDto->getDeveloperKey());
     if (empty($remotePluginInfo) || !empty($remotePluginInfo['error'])) {
         $this->assign('mode', 'error');
         $this->assign('text', $language->text('admin', 'plugin_update_request_error'));
         $this->assign('returnUrl', OW::getRouter()->urlFor('ADMIN_CTRL_Plugins', 'index'));
     } else {
         if ((bool) $remotePluginInfo['freeware']) {
             $this->assign('mode', 'free');
             $this->assign('text', $language->text('admin', 'free_plugin_request_text', array('oldVersion' => $pluginDto->getBuild(), 'newVersion' => $remotePluginInfo['build'], 'name' => $pluginDto->getTitle())));
             $this->assign('redirectUrl', OW::getRouter()->urlFor('ADMIN_CTRL_Plugins', 'update', $params));
             $this->assign('returnUrl', OW::getRouter()->urlFor('ADMIN_CTRL_Plugins', 'index'));
         } else {
             if ($pluginDto->getLicenseKey() != null) {
                 $result = $this->pluginService->checkLicenseKey($pluginDto->getKey(), $pluginDto->getDeveloperKey(), $pluginDto->getLicenseKey());
                 if ($result === true) {
                     $params['licenseKey'] = $pluginDto->getLicenseKey();
                     $this->redirect(OW::getRouter()->urlFor('ADMIN_CTRL_Plugins', 'update', $params));
                     return;
                 }
             }
             $this->assign('text', $language->text('admin', 'com_plugin_request_text', array('oldVersion' => $pluginDto->getBuild(), 'newVersion' => $remotePluginInfo['build'], 'name' => $pluginDto->getTitle())));
             $form = new Form('license-key');
             $licenseKey = new TextField('key');
             $licenseKey->setValue($pluginDto->getLicenseKey());
             $licenseKey->setRequired();
             $licenseKey->setLabel($language->text('admin', 'com_plugin_request_key_label'));
             $form->addElement($licenseKey);
             $submit = new Submit('submit');
             $submit->setValue($language->text('admin', 'license_form_submit_label'));
             $form->addElement($submit);
             $button = new Button('button');
             $button->setValue($language->text('admin', 'license_form_leave_label'));
             $button->addAttribute('onclick', "window.location='" . OW::getRouter()->urlFor('ADMIN_CTRL_Plugins', 'index') . "'");
             $form->addElement($button);
             $this->addForm($form);
             if (OW::getRequest()->isPost()) {
                 if ($form->isValid($_POST)) {
                     $data = $form->getValues();
                     $params['licenseKey'] = $data['key'];
                     $result = $this->pluginService->checkLicenseKey($pluginDto->getKey(), $pluginDto->getDeveloperKey(), $data['key']);
                     if ($result === true) {
                         $pluginDto->setLicenseKey($data['key']);
                         BOL_PluginService::getInstance()->savePlugin($pluginDto);
                         $this->redirect(OW::getRouter()->urlFor('ADMIN_CTRL_Plugins', 'update', $params));
                     } else {
                         OW::getFeedback()->error($language->text('admin', 'plugins_manage_invalid_license_key_error_message'));
                         $this->redirect();
                     }
                 }
             }
         }
     }
 }
예제 #4
0
파일: storage.php 프로젝트: ZyXelP/oxwall
 /**
  * Generic action to get the license key for items.
  */
 public function checkItemLicense()
 {
     $params = $_GET;
     $language = OW::getLanguage();
     $params[BOL_StorageService::URI_VAR_LICENSE_CHECK_COMPLETE] = 0;
     $params[BOL_StorageService::URI_VAR_LICENSE_CHECK_RESULT] = 0;
     if (empty($params[BOL_StorageService::URI_VAR_KEY]) || empty($params[BOL_StorageService::URI_VAR_ITEM_TYPE]) || empty($params[BOL_StorageService::URI_VAR_DEV_KEY])) {
         $errMsg = $language->text("admin", "check_license_invalid_params_err_msg");
         OW::getFeedback()->error($errMsg);
         $this->redirectToBackUri($params);
         $this->assign("message", $errMsg);
         return;
     }
     $key = trim($params[BOL_StorageService::URI_VAR_KEY]);
     $devKey = trim($params[BOL_StorageService::URI_VAR_DEV_KEY]);
     $type = trim($params[BOL_StorageService::URI_VAR_ITEM_TYPE]);
     $data = $this->storageService->getItemInfoForUpdate($key, $devKey);
     if (!$data) {
         $this->assign("backButton", true);
         $errMsg = $language->text("admin", "check_license_invalid_server_responce_err_msg");
         OW::getFeedback()->error($errMsg);
         $this->redirectToBackUri($params);
         $this->assign("message", $errMsg);
         return;
     }
     // if item is freeware reset check ts and redirect to back uri
     if ((bool) $data[BOL_StorageService::URI_VAR_FREEWARE]) {
         $params[BOL_StorageService::URI_VAR_LICENSE_CHECK_COMPLETE] = 1;
         $params[BOL_StorageService::URI_VAR_LICENSE_CHECK_RESULT] = 1;
         $params[BOL_StorageService::URI_VAR_FREEWARE] = 1;
         $this->assign("message", $language->text("admin", "check_license_item_is_free_msg"));
         $dto = $this->storageService->findStoreItem($key, $devKey, $params[BOL_StorageService::URI_VAR_ITEM_TYPE]);
         if ($dto != null) {
             $dto->setLicenseCheckTimestamp(null);
             $this->storageService->saveStoreItem($dto);
         }
         $this->redirectToBackUri($params);
         return;
     }
     $this->assign("text", $language->text("admin", "license_request_text", array("type" => $type, "title" => $data["title"])));
     $form = new Form("license-key");
     $licenseKey = new TextField("key");
     $licenseKey->setRequired();
     $licenseKey->setLabel($language->text("admin", "com_plugin_request_key_label"));
     $form->addElement($licenseKey);
     $submit = new Submit("submit");
     $submit->setValue($language->text("admin", "license_form_button_label"));
     $form->addElement($submit);
     if (isset($params["back-button-uri"])) {
         $button = new Button("button");
         $button->setValue($language->text("admin", "license_form_back_label"));
         $redirectUrl = UTIL_HtmlTag::escapeJs(OW_URL_HOME . urldecode($params["back-button-uri"]));
         $button->addAttribute("onclick", "window.location='{$redirectUrl}'");
         $form->addElement($button);
         $this->assign("backButton", true);
     }
     $this->addForm($form);
     if (OW::getRequest()->isPost()) {
         if ($form->isValid($_POST)) {
             $data = $form->getValues();
             $licenseKey = $data["key"];
             $result = $this->storageService->checkLicenseKey($key, $devKey, $licenseKey);
             $params[BOL_StorageService::URI_VAR_LICENSE_CHECK_COMPLETE] = 1;
             if ($result) {
                 $params[BOL_StorageService::URI_VAR_LICENSE_CHECK_RESULT] = 1;
                 $params[BOL_StorageService::URI_VAR_LICENSE_KEY] = urlencode($licenseKey);
                 $dto = $this->storageService->findStoreItem($key, $devKey, $params[BOL_StorageService::URI_VAR_ITEM_TYPE]);
                 if ($dto != null) {
                     $dto->setLicenseKey($licenseKey);
                     $dto->setLicenseCheckTimestamp(null);
                     $this->storageService->saveStoreItem($dto);
                 }
                 OW::getFeedback()->info($language->text("admin", "plugins_manage_license_key_check_success"));
                 $this->redirectToBackUri($params);
                 $this->redirect();
             } else {
                 OW::getFeedback()->error($language->text('admin', 'plugins_manage_invalid_license_key_error_message'));
                 $this->redirect();
             }
         }
     }
 }