Example #1
0
 public function view()
 {
     $ct = Type::getByDefaultsPage($this->page);
     $template = Template::getByID($this->page->getPageTemplateID());
     $pl = new PageList();
     $pl->filterByPageTypeID($ct->getPageTypeID());
     $pl->filterByPageTemplate($template);
     $pl->ignorePermissions();
     $this->set('total', $pl->getTotalResults());
 }
 public function getItemsFromRequest($array)
 {
     $items = array();
     foreach ($array as $id) {
         $t = \Concrete\Core\Page\Template::getByID($id);
         if (is_object($t)) {
             $template = new \PortlandLabs\Concrete5\MigrationTool\Entity\Export\PageTemplate();
             $template->setItemId($t->getPageTemplateID());
             $items[] = $template;
         }
     }
     return $items;
 }
Example #3
0
 public function submit()
 {
     $e = $this->app->make('error');
     $pagetype = Type::getByID($this->request->request->get('ptID'));
     if (is_object($pagetype)) {
         $configuredTarget = $pagetype->getPageTypePublishTargetObject();
         $cParentID = $configuredTarget->getPageTypePublishTargetConfiguredTargetParentPageID();
         if (!$cParentID) {
             $cParentID = $this->request->request->get('cParentID');
         }
     }
     $parent = Page::getByID($cParentID);
     $template = null;
     if ($this->request->request->get('ptComposerPageTemplateID')) {
         $template = Template::getByID($this->request->request->get('ptComposerPageTemplateID'));
     }
     if (!is_object($template)) {
         $template = $pagetype->getPageTypeDefaultPageTemplateObject();
     }
     if (is_object($pagetype)) {
         $validator = $pagetype->getPageTypeValidatorObject();
         $e->add($validator->validateCreateDraftRequest($template));
         $e->add($validator->validatePublishLocationRequest($parent));
         if ($this->request->request('addPageComposeAction') == 'publish') {
             $e->add($validator->validatePublishDraftRequest());
         }
     }
     $pr = new EditResponse();
     $pr->setError($e);
     if (!$e->has()) {
         $d = $pagetype->createDraft($template);
         $d->setPageDraftTargetParentPageID($cParentID);
         $saver = $pagetype->getPageTypeSaverObject();
         $saver->saveForm($d);
         if ($this->request->request('addPageComposeAction') == 'publish' || $this->request->request('addPageComposeAction') == 'schedule') {
             $publishDateTime = false;
             if ($this->request->request->get('addPageComposeAction') == 'schedule') {
                 $dateTime = new DateTime();
                 $publishDateTime = $dateTime->translate('check-in-scheduler');
             }
             $pagetype->publish($d, $publishDateTime);
             $pr->setAdditionalDataAttribute('cParentID', $cParentID);
             $pr->setMessage(t('Page Added Successfully.'));
         } else {
             $pr->setRedirectURL($d->getCollectionLink(true));
         }
     }
     $pr->outputJSON();
 }
Example #4
0
    public function submit()
    {
        $pagetype = Type::getByID($this->request->request->get('ptID'));
        if (is_object($pagetype)) {
            $configuredTarget = $pagetype->getPageTypePublishTargetObject();
            $cParentID = $configuredTarget->getPageTypePublishTargetConfiguredTargetParentPageID();
            if (!$cParentID) {
                $cParentID = $this->request->request->get('cParentID');
            }
        }
        list($e, $pagetype, $parent) = $this->checkPermissions(
            $this->request->request->get('ptID'),
            $cParentID
        );

        if ($this->request->request->get('ptComposerPageTemplateID')) {
            $template = Template::getByID($this->request->request->get('ptComposerPageTemplateID'));
        }
        if (!is_object($template)) {
            $template = $pagetype->getPageTypeDefaultPageTemplateObject();
        }

        if (is_object($pagetype)) {
            $validator = $pagetype->getPageTypeValidatorObject();
            $e->add($validator->validateCreateDraftRequest($template));
            if ($this->request->request('addPageComposeAction') == 'publish') {
                $e->add($validator->validatePublishDraftRequest());
            }
        }

        $pr = new EditResponse();
        $pr->setError($e);

        if (!$e->has()) {
            $d = $pagetype->createDraft($template);
            $d->setPageDraftTargetParentPageID($cParentID);
            $pagetype->savePageTypeComposerForm($d);
            if ($this->request->request('addPageComposeAction') == 'publish') {
                $pagetype->publish($d);
                $pr->setAdditionalDataAttribute('cParentID', $cParentID);
                $pr->setMessage(t('Page Added Successfully.'));
            } else {
                $pr->setRedirectURL($d->getCollectionLink(true));
            }
        }

        $pr->outputJSON();
    }
Example #5
0
 protected function rescanPageTypePageTemplateDefaultPages()
 {
     $db = Loader::db();
     $templates = $this->getPageTypePageTemplateObjects();
     $templateIDs = array();
     foreach ($templates as $template) {
         $templateIDs[] = $template->getPageTemplateID();
     }
     $existingDefaultTemplateIDs = $db->GetCol('select pTemplateID from PageTypePageTemplateDefaultPages where ptID = ?', array($this->getPageTypeID()));
     foreach ($existingDefaultTemplateIDs as $existingPageTemplateID) {
         if (!in_array($existingPageTemplateID, $templateIDs)) {
             $existingPageTemplate = Template::getByID($existingPageTemplateID);
             if (is_object($existingPageTemplate)) {
                 $c = $this->getPageTypePageTemplateDefaultPageObject($existingPageTemplate);
                 if (is_object($c)) {
                     $c->delete();
                 }
             }
             $db->Execute('delete from PageTypePageTemplateDefaultPages where pTemplateID = ? and ptID = ?', array($existingPageTemplateID, $this->getPageTypeID()));
         }
     }
 }
Example #6
0
 public function add_content_section()
 {
     if (!$this->token->validate('add_content_section')) {
         $this->error->add($this->token->getErrorMessage());
     }
     if (!$this->request->request->get('msLanguage')) {
         $this->error->add(t('You must specify a valid language.'));
     }
     if (!$this->request->request->get('msCountry')) {
         $this->error->add(t('You must specify a valid country.'));
     }
     if (!$this->request->request->get('urlSlug')) {
         $this->error->add(t('You must specify a valid URL Slug for the home page.'));
     }
     $template = null;
     if ($this->request->request->has('template')) {
         $template = Template::getByID($this->request->request->get('template'));
     }
     if (!is_object($template)) {
         $this->error->add(t('You must specify a valid page template.'));
     }
     if ($this->post('msLanguage')) {
         $combination = $this->post('msLanguage') . '_' . $this->post('msCountry');
         foreach ($this->site->getLocales() as $locale) {
             if ($locale->getLocale() == $combination) {
                 $this->error->add(t('This language/region combination already exists.'));
             }
         }
     }
     if (!$this->error->has()) {
         $service = new Service($this->entityManager);
         $locale = $service->add($this->getSite(), $this->request->request->get('msLanguage'), $this->request->request->get('msCountry'));
         $service->addHomePage($locale, $template, $this->request->request->get('homePageName'), $this->request->request->get('urlSlug'));
         $this->flash('success', t('Locale added successfully.'));
         return new JsonResponse($locale);
     } else {
         return new JsonResponse($this->error);
     }
 }
Example #7
0
 public function getPageTemplate()
 {
     return PageTemplate::getByID($this->pTemplateID);
 }