Пример #1
0
 public function assign()
 {
     $pr = new PageEditResponse();
     if ($this->request->request->get('destID') == $this->page->getCollectionID()) {
         throw new \Exception(t("You cannot assign this page to itself."));
     }
     $destPage = \Page::getByID($_POST['destID']);
     if (Section::isMultilingualSection($destPage)) {
         $ms = Section::getByID($destPage->getCollectionID());
     } else {
         $ms = Section::getBySectionOfSite($destPage);
     }
     if (is_object($ms)) {
         // we need to assign/relate the source ID too, if it doesn't exist
         if (!Section::isAssigned($this->page)) {
             Section::registerPage($this->page);
         }
         Section::relatePage($this->page, $destPage, $ms->getLocale());
         $ih = Core::make('multilingual/interface/flag');
         $icon = (string) $ih->getSectionFlagIcon($ms);
         $pr->setAdditionalDataAttribute('name', $destPage->getCollectionName());
         $pr->setAdditionalDataAttribute('link', $destPage->getCollectionLink());
         $pr->setAdditionalDataAttribute('icon', $icon);
         $pr->setMessage(t('Page assigned.'));
         $pr->outputJSON();
     } else {
         throw new \Exception(t("The destination page doesn't appear to be in a valid multilingual section."));
     }
 }
Пример #2
0
 $messages = $q->receive(Config::get('concrete.limits.copy_pages'));
 foreach ($messages as $key => $p) {
     // delete the page here
     $page = unserialize($p->body);
     $oc = Page::getByID($page['cID']);
     // this is the page we're going to copy.
     // now we check to see if the parent ID of the current record has already been duplicated somewhere.
     $newCID = $db->GetOne('select cID from QueuePageDuplicationRelations where originalCID = ? and queue_name = ?', array($page['cParentID'], 'copy_page'));
     if ($newCID > 0) {
         $dc = Page::getByID($newCID);
     } else {
         $dc = Page::getByID($page['destination']);
     }
     if ($_POST['multilingual']) {
         // Find multilingual section of the destination
         if (Section::isMultilingualSection($dc)) {
             $ms = Section::getByID($dc->getCollectionID());
         } else {
             $ms = Section::getBySectionOfSite($dc);
         }
         // Is page already copied?
         $existingCID = Section::getRelatedCollectionIDForLocale($page['cID'], $ms->getLocale());
         if ($existingCID) {
             $nc = Page::getById($existingCID);
             if ($dc->getCollectionID() != $nc->getCollectionParentID()) {
                 $nc->move($dc);
             }
         } else {
             $nc = $oc->duplicate($dc);
         }
     } else {