/** * Execute the action */ public function execute() { // call parent, this will probably add some general CSS/JS or other required files parent::execute(); // get parameters $this->from = $this->getParameter('from'); $this->to = $this->getParameter('to'); // validate if ($this->from == '') { throw new BackendException('Specify a from-parameter.'); } if ($this->to == '') { throw new BackendException('Specify a to-parameter.'); } // copy pages BackendPagesModel::copy($this->from, $this->to); // redirect $this->redirect(BackendModel::createURLForAction('Index') . '&report=copy-added&var=' . urlencode($this->to)); }
/** * @return bool */ private function askToInstall() { if (array_key_exists($this->workingLocale, $this->installedLocale)) { $reinstallLocale = $this->formatter->confirm('The locale is already installed, would you like to reinstall and overwrite the current translations?', false); if (!$reinstallLocale) { return true; } $this->installWorkingLocale(true); return true; } $install = $this->formatter->confirm('Would you like to install this locale?'); if (!$install) { return false; } $this->formatter->writeln('<info>Before you can enable a new locale you need to authenticate to be able to create the pages</info>'); while (!Authentication::loginUser($this->formatter->ask('Login'), $this->formatter->askHidden('Password'))) { $this->formatter->error('Failed to login, please try again'); } if (!Authentication::isAllowedAction('Copy', 'Pages')) { $this->formatter->error('Your profile doesn\'t have the permission to execute the action Copy of the Pages module'); return false; } $this->installWorkingLocale(); $this->formatter->writeln('<info>Copying pages from the default locale to the current locale</info>'); BackendPagesModel::copy($this->defaultEnabledLocale, $this->workingLocale); return true; }