copy() public static method

Copy pages
public static copy ( string $from, string $to )
$from string The language code to copy the pages from.
$to string The language code we want to copy the pages to.
Example #1
0
 /**
  * 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));
 }
Example #2
0
 /**
  * @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;
 }