/**
  * @see AbstractAction::executed()
  */
 protected function executed()
 {
     AbstractAction::executed();
     // forward to list page
     HeaderUtil::redirect('index.php?page=BBCodeList&deletedBBCodeID=' . $this->bbcodeID . '&packageID=' . PACKAGE_ID . SID_ARG_2ND_NOT_ENCODED);
     exit;
 }
Esempio n. 2
0
 public function getOptions()
 {
     $options = parent::getOptions();
     $finalOptions = array_replace_recursive(self::$defaultOptions, $options->toArray());
     $options->merge($finalOptions);
     return $options;
 }
 /**
  * @see Action::execute()
  */
 public function execute()
 {
     parent::execute();
     WCF::getUser()->checkPermission('admin.user.canDeleteUser');
     require_once WCF_DIR . 'lib/data/user/UserEditor.class.php';
     require_once WCF_DIR . 'lib/data/user/group/Group.class.php';
     if ($this->userID !== 0) {
         $this->userIDs[] = $this->userID;
     }
     // active user can't delete himself
     $activeUserID = WCF::getSession()->getUser()->userID;
     $this->userIDs = array_diff($this->userIDs, array($activeUserID));
     // check permission
     if (count($this->userIDs) > 0) {
         $sql = "SELECT\tDISTINCT groupID\n\t\t\t\tFROM\twcf" . WCF_N . "_user_to_groups\n\t\t\t\tWHERE\tuserID IN (" . implode(',', $this->userIDs) . ")";
         $result = WCF::getDB()->sendQuery($sql);
         while ($row = WCF::getDB()->fetchArray($result)) {
             if (!Group::isAccessibleGroup($row['groupID'])) {
                 throw new PermissionDeniedException();
             }
         }
     }
     $deletedUsers = UserEditor::deleteUsers($this->userIDs);
     $this->executed();
     if (!empty($this->url) && (strpos($this->url, 'searchID=0') !== false || strpos($this->url, 'searchID=') === false)) {
         HeaderUtil::redirect($this->url);
     } else {
         HeaderUtil::redirect('index.php?form=UserSearch&deletedUsers=' . $deletedUsers . '&packageID=' . PACKAGE_ID . SID_ARG_2ND_NOT_ENCODED);
     }
     exit;
 }
 /**
  * @see Action::execute();
  */
 public function execute()
 {
     parent::execute();
     SpiderEditor::synchronize();
     HeaderUtil::redirect('index.php?page=AdminToolsSpiderList&packageID=' . PACKAGE_ID . SID_ARG_2ND_NOT_ENCODED);
     exit;
 }
 /**
  * @see	Action::execute()
  */
 public function execute()
 {
     parent::execute();
     // remove entries
     DynamicPageEditor::remove($this->pageID);
     $this->page->moduleManager->remove();
     // clear cache
     DynamicPageEditor::clearCache($this->pageID, $this->page->hostID);
     // page menu entry
     if ($this->page->menuItemID) {
         require_once WCF_DIR . 'lib/data/page/menu/PageMenuItemEditor.class.php';
         // create editor object
         $menuItem = new PageMenuItemEditor($this->page->menuItemID);
         // remove item
         $menuItem->remove();
         // clear cache
         PageMenuItemEditor::clearCache();
     }
     // send redirect headers
     if (!isset($_REQUEST['ajax'])) {
         HeaderUtil::redirect('index.php?page=DynamicPageList&hostID=' . $this->page->hostID . '&packageID=' . PACKAGE_ID . SID_ARG_2ND_NOT_ENCODED);
     }
     // call event
     $this->executed();
 }
 /**
  * @see Action::execute()
  */
 public function execute()
 {
     parent::execute();
     // check permission
     if (!WCF::getUser()->userID) {
         require_once WCF_DIR . 'lib/system/exception/PermissionDeniedException.class.php';
         throw new PermissionDeniedException();
     }
     $this->fleet = Fleet::getInstance($this->fleetID);
     if ($this->fleet->ownerID != WCF::getUser()->userID) {
         require_once WCF_DIR . 'lib/system/exception/PermissionDeniedException.class.php';
         throw new PermissionDeniedException();
     }
     if (!$this->fleet->getCancelDuration()) {
         require_once WCF_DIR . 'lib/system/exception/IllegalLinkException.class.php';
         throw new IllegalLinkException();
     }
     if ($this->fleet->missionID == 11) {
         $formation = $this->fleet->getNavalFormation();
     }
     $this->fleet->getEditor()->cancel();
     if ($this->fleet->missionID == 11) {
         FleetOvent::update($formation->getLeaderFleet());
     }
     $this->executed();
     header('Location: index.php?page=FleetStartShips');
     exit;
 }
 /**
  * @see Action::execute()
  */
 public function execute()
 {
     AbstractAction::execute();
     // check permission
     WCF::getUser()->checkPermission('admin.user.canBanUser');
     if (count($this->userIDs) > 0) {
         // check permission
         $sql = "SELECT\tDISTINCT groupID\n\t\t\t\tFROM\twcf" . WCF_N . "_user_to_groups\n\t\t\t\tWHERE\tuserID IN (" . implode(',', $this->userIDs) . ")";
         $result = WCF::getDB()->sendQuery($sql);
         while ($row = WCF::getDB()->fetchArray($result)) {
             if (!Group::isAccessibleGroup($row['groupID'])) {
                 throw new PermissionDeniedException();
             }
         }
         // update user
         $sql = "UPDATE\twcf" . WCF_N . "_user\n\t\t\t\tSET\tbanned = 0\n\t\t\t\tWHERE\tuserID IN (" . implode(',', $this->userIDs) . ")";
         WCF::getDB()->sendQuery($sql);
         // unmark users
         UserEditor::unmarkAll();
         // reset sessions
         Session::resetSessions($this->userIDs);
     }
     $this->executed();
     if (!empty($this->url)) {
         HeaderUtil::redirect($this->url);
     } else {
         // set active menu item
         WCFACP::getMenu()->setActiveMenuItem('wcf.acp.menu.link.user.management');
         // show succes message
         WCF::getTPL()->assign('message', 'wcf.acp.user.unban.success');
         WCF::getTPL()->display('success');
     }
     exit;
 }
 /**
  * @see Action::readParameters()
  */
 public function readParameters()
 {
     parent::readParameters();
     if (isset($_REQUEST['smileyID'])) {
         $this->smileyID = intval($_REQUEST['smileyID']);
     }
 }
 /**
  * @see Action::execute()
  */
 public function execute()
 {
     parent::execute();
     // check permission
     if (!WCF::getUser()->userID) {
         require_once WCF_DIR . 'lib/system/exception/PermissionDeniedException.class.php';
         throw new PermissionDeniedException();
     }
     $this->alliance = Alliance::getByUserID($this->userID, true);
     $this->user = new LWUser($this->userID);
     if ($this->userID == WCF::getUser()->userID) {
         require_once WCF_DIR . 'lib/system/exception/PermissionDeniedException.class.php';
         throw new PermissionDeniedException();
     }
     if ($this->user->ally_id != $this->allianceID) {
         require_once WCF_DIR . 'lib/system/exception/PermissionDeniedException.class.php';
         throw new PermissionDeniedException();
     }
     if (!$this->alliance->getRank(true, 6)) {
         require_once WCF_DIR . 'lib/system/exception/PermissionDeniedException.class.php';
         throw new PermissionDeniedException();
     }
     $this->alliance->deleteUser($this->userID);
     $this->executed();
     header('Location: index.php?page=AllianceMembersList');
     exit;
 }
 /**
  * @see Action::execute()
  */
 public function execute()
 {
     parent::execute();
     // check permission
     if (!WCF::getUser()->userID) {
         require_once WCF_DIR . 'lib/system/exception/PermissionDeniedException.class.php';
         throw new PermissionDeniedException();
     }
     $this->navalFormation = new NavalFormation($this->navalFormationID);
     // check fleet
     if ($this->navalFormation->getLeaderFleet()->ownerID != WCF::getUser()->userID) {
         require_once WCF_DIR . 'lib/system/exception/PermissionDeniedException.class.php';
         throw new PermissionDeniedException();
     }
     if ($this->navalFormation->usersLimitReached()) {
         require_once WCF_DIR . 'lib/system/exception/PermissionDeniedException.class.php';
         throw new PermissionDeniedException();
     }
     $user = new LWUser(null, null, $this->username);
     if (!$user->userID) {
         require_once WCF_DIR . 'lib/system/exception/IllegalLinkException.class.php';
         throw new IllegalLinkException();
     }
     $this->userID = $user->userID;
     $this->navalFormation->getEditor()->addUser($this->userID);
     $this->executed();
     header('Location: index.php?page=FleetStartShips');
     exit;
 }
 /**
  * @see Action::execute()
  */
 public function execute()
 {
     // call execute event
     parent::execute();
     if ($this->source->enableCheckout && $this->checkoutRepository) {
         // load scm driver
         $className = ucfirst(Source::validateSCM($this->source->scm));
         // check out repository
         require_once WCF_DIR . 'lib/system/scm/' . $className . '.class.php';
         call_user_func(array($className, 'checkout'), $this->source->url, $this->source->sourceDirectory, array('username' => $this->source->username, 'password' => $this->source->password));
         // set revision
         $revision = $this->source->getHeadRevision();
         $this->source->update(null, null, null, null, null, null, null, $revision);
     }
     // rebuild package data if requested
     if ($this->rebuildPackageData) {
         require_once PB_DIR . 'lib/system/package/PackageHelper.class.php';
         PackageHelper::readPackages($this->source);
     }
     // call executed event
     $this->executed();
     // forward
     HeaderUtil::redirect('index.php?page=SourceView&sourceID=' . $this->source->sourceID . SID_ARG_2ND_NOT_ENCODED);
     exit;
 }
 /**
  * @see Action::execute()
  */
 public function execute()
 {
     parent::execute();
     // check permission
     WCF::getUser()->checkPermission('admin.template.canDeleteTemplate');
     if (!count($this->templateID)) {
         throw new IllegalLinkException();
     }
     // delete templates (files)
     $templateIDs = '';
     require_once WCF_DIR . 'lib/data/template/TemplateEditor.class.php';
     $sql = "SELECT\t\ttemplate.*, pack.templatePackFolderName, package.packageDir\n\t\t\tFROM\t\twcf" . WCF_N . "_template template\n\t\t\tLEFT JOIN\twcf" . WCF_N . "_template_pack pack\n\t\t\tON\t\t(pack.templatePackID = template.templatePackID)\n\t\t\tLEFT JOIN\twcf" . WCF_N . "_package package\n\t\t\tON\t\t(package.packageID = template.packageID)\n\t\t\tWHERE\t\ttemplate.templateID IN (" . implode(',', $this->templateID) . ")\n\t\t\t\t\tAND template.templatePackID > 0";
     $result = WCF::getDB()->sendQuery($sql);
     while ($row = WCF::getDB()->fetchArray($result)) {
         if (!empty($templateIDs)) {
             $templateIDs .= ',';
         }
         $templateIDs .= $row['templateID'];
         $template = new TemplateEditor(null, $row);
         if ($template->templateID) {
             $template->deleteFile();
         }
     }
     // delete database entries
     if (!empty($templateIDs)) {
         TemplateEditor::deleteAll($templateIDs);
     }
     // reset cache
     WCF::getCache()->clear(WCF_DIR . 'cache', 'cache.templates-*.php');
     $this->executed();
     // forward to list page
     HeaderUtil::redirect('index.php?page=TemplateList&deletedTemplates=' . count($this->templateID) . '&templatePackID=' . $this->templatePackID . '&packageID=' . PACKAGE_ID . SID_ARG_2ND_NOT_ENCODED);
     exit;
 }
 /**
  * @see Action::execute();
  */
 public function execute()
 {
     parent::execute();
     // check permissions
     WCF::getUser()->checkPermission('admin.system.canEditOption');
     // header
     @header('Content-type: text/xml');
     // file name
     @header('Content-disposition: attachment; filename="options.xml"');
     // no cache headers
     @header('Pragma: no-cache');
     @header('Expires: 0');
     // content
     echo "<?xml version=\"1.0\" encoding=\"" . CHARSET . "\"?>\n<options>\n";
     $options = Options::getOptions();
     foreach ($options as $option) {
         echo "\t<option>\n";
         echo "\t\t<name><![CDATA[" . StringUtil::escapeCDATA($option['optionName']) . "]]></name>\n";
         echo "\t\t<value><![CDATA[" . StringUtil::escapeCDATA($option['optionValue']) . "]]></value>\n";
         echo "\t</option>\n";
     }
     echo '</options>';
     $this->executed();
     exit;
 }
 /**
  * @see AbstractAction::executed()
  */
 protected function executed()
 {
     parent::executed();
     // forward to list page
     HeaderUtil::redirect('index.php?page=BBCodeList&packageID=' . PACKAGE_ID . SID_ARG_2ND_NOT_ENCODED);
     exit;
 }
 /**
  * @see Action::execute()
  */
 public function execute()
 {
     parent::execute();
     // avoid session update
     WCF::getSession()->disableUpdate();
     // execute cronjobs
     new CronjobsExec();
 }
Esempio n. 16
0
 /**
  * Returns array containing actions in the collection
  *
  * Output example:
  * array(
  *   {action::asArray},
  *   {action::asArray}
  * )
  *
  * @param array $arrAttributes
  * @return array
  * @SuppressWarnings(PHPMD.UnusedFormalParameter)
  */
 public function asArray(array $arrAttributes = array())
 {
     $out = parent::asArray();
     foreach ($this->getActions() as $item) {
         $out['actions'][] = $item->asArray();
     }
     return $out;
 }
 /**
  * @see Action::execute()
  */
 public function execute()
 {
     parent::execute();
     // check permission
     WCF::getUser()->checkPermission(array('admin.smiley.canEditSmiley', 'admin.smiley.canDeleteSmiley'));
     // unmark
     WCF::getSession()->unregister('markedSmileys');
     $this->executed();
 }
Esempio n. 18
0
 /**
  * @return array
  */
 public function getOptions()
 {
     $options = parent::getOptions();
     $options['frontend_type'] = 'ajax';
     if (empty($options['frontend_handle'])) {
         $options['frontend_handle'] = 'ajax';
     }
     return $options;
 }
 /**
  * @see Action::execute()
  */
 public function execute()
 {
     // call execute event
     parent::execute();
     // save status
     UserSession::saveStatus($this->name, $this->status);
     // call executed event
     $this->executed();
 }
 /**
  * @see Action::readParameters()
  */
 public function readParameters()
 {
     parent::readParameters();
     if (isset($_REQUEST['cronjobID'])) {
         $this->cronjobID = intval($_REQUEST['cronjobID']);
     }
     $this->cronjob = new CronjobEditor($this->cronjobID);
     if (!$this->cronjob->cronjobID) {
         throw new IllegalLinkException();
     }
 }
Esempio n. 21
0
 /**
  * @see Action::readParameters()
  */
 public function readParameters()
 {
     parent::readParameters();
     // parameters
     if (isset($_REQUEST['limit'])) {
         $this->limit = intval($_REQUEST['limit']);
     }
     if (isset($_REQUEST['loop'])) {
         $this->loop = intval($_REQUEST['loop']);
     }
 }
 /**
  * @see Action::execute()
  */
 public function execute()
 {
     parent::execute();
     // check permission.
     WCF::getUser()->checkPermission('admin.system.package.canEditServer');
     // change status
     $this->updateServer->enable($this->updateServer->statusUpdate != 1);
     $this->executed();
     // redirect to the view page.
     HeaderUtil::redirect('index.php?page=UpdateServerList&packageID=' . PACKAGE_ID . SID_ARG_2ND_NOT_ENCODED);
 }
 /**
  * @see Action::readParameters()
  */
 public function readParameters()
 {
     parent::readParameters();
     if (isset($_REQUEST['boardID'])) {
         $this->boardID = intval($_REQUEST['boardID']);
     }
     $this->board = new BoardEditor($this->boardID);
     if (!$this->board->boardID) {
         throw new IllegalLinkException();
     }
 }
 /**
  * @see Action::readParameters()
  */
 public function readParameters()
 {
     parent::readParameters();
     if (isset($_REQUEST['smileyCategoryID'])) {
         $this->smileyCategoryID = intval($_REQUEST['smileyCategoryID']);
     }
     $this->smileyCategory = new SmileyCategoryEditor($this->smileyCategoryID);
     if (!$this->smileyCategory->smileyCategoryID) {
         throw new IllegalLinkException();
     }
 }
 /**
  * @see	Action::execute()
  */
 public function execute()
 {
     parent::execute();
     // remove host
     HostEditor::remove($this->hostID);
     DynamicPageEditor::removeFromHost($this->hostID);
     // send redirect headers
     HeaderUtil::redirect('index.php?page=DynamicHostList&packageID=' . PACKAGE_ID . SID_ARG_2ND_NOT_ENCODED);
     // execute event
     $this->executed();
 }
Esempio n. 26
0
 /**
  * @return \Symforce\AdminBundle\Compiler\Generator\PhpClass
  */
 public function compile()
 {
     $class = parent::compile();
     $twig_writer = $this->_twig->getWriter();
     $twig_writer->writeln('{% block action_form_scripts %}');
     if ($this->admin_object->_final_template) {
         $twig_writer->writeln('{% ' . sprintf('import "%s" as admin_%s_macro', $this->admin_object->_final_template, $this->admin_name) . ' %}')->writeln('{% ' . sprintf('if twig_macro_exists(admin_%s_macro, "action_form_scripts") ', $this->admin_name) . ' %}')->indent()->writeln('{{ ' . sprintf('admin_%s_macro.action_form_scripts(admin,action,form)', $this->admin_name) . '}}')->outdent()->writeln('{% endif %}');
     }
     $twig_writer->writeln('{% endblock %}');
     return $class;
 }
 /**
  * @see Action::execute();
  */
 public function execute()
 {
     parent::execute();
     // check permissions
     WCF::getUser()->checkPermission(array('admin.system.package.canUpdatePackage', 'admin.system.package.canUninstallPackage'));
     // update name
     $sql = "UPDATE\twcf" . WCF_N . "_package\n\t\t\tSET\tinstanceName = '" . escapeString($this->name) . "'\n\t\t\tWHERE\tpackageID = " . $this->packageID;
     WCF::getDB()->sendQuery($sql);
     // reset cache
     WCF::getCache()->clearResource('packages');
     $this->executed();
 }
Esempio n. 28
0
 /**
  * @see Action::readParameters()
  */
 public abstract function readParameters()
 {
     parent::readParameters();
     $this->key = StringUtil::trim($_REQUEST['key']);
     $this->salt = StringUtil::trim($_REQUEST['salt']);
     if (empty($this->key)) {
         $this->send('no key found', 102);
     }
     if (empty($this->salt)) {
         $this->send('no salt found', 103);
     }
 }
 /**
  * @see Action::execute()
  */
 public function execute()
 {
     parent::execute();
     // check permission
     WCF::getUser()->checkPermission('admin.system.canViewLog');
     // clear cache
     WCF::getCache()->getCacheSource()->flush();
     $this->executed();
     // forward
     HeaderUtil::redirect('index.php?page=CacheList&cleared=1&packageID=' . PACKAGE_ID . SID_ARG_2ND_NOT_ENCODED);
     exit;
 }
 /**
  * @see Action::execute()
  */
 public function execute()
 {
     parent::execute();
     // check permission
     WCF::getUser()->checkPermission('admin.invitation.canDeleteInvitation');
     // delete invitation
     $this->invitation->delete();
     $this->executed();
     // forward to list page
     HeaderUtil::redirect('index.php?page=InvitationList&deletedInvitationID=' . $this->invitationID . '&packageID=' . PACKAGE_ID . SID_ARG_2ND_NOT_ENCODED);
     exit;
 }