Esempio n. 1
0
 public function showDelete(PageModuleWrapper $wrapper, $backend)
 {
     if ($wrapper->isInherited() && !$this->pagePermission[PageAccessPeer::PERM_MODULES]) {
         $backend->addMessage('You do not have permission to delete inherited modules.', AbstractBackend::MSG_ERROR);
         return;
     }
     if (!$this->pagePermission[PageAccessPeer::PERM_CREATE_MODULE]) {
         $backend->addMessage('You do not have permission to delete modules.', AbstractBackend::MSG_ERROR);
         return;
     }
     $form = new Curry_Form(array('action' => url('', $_GET), 'elements' => array('delete' => array('submit', array('label' => 'Delete')))));
     if (isPost() && $form->isValid($_POST)) {
         $pageModule = $wrapper->getPageModule();
         $pk = $pageModule->getPrimaryKey();
         $revisionModule = RevisionModuleQuery::create()->findPk(array($pageModule->getPageModuleId(), $wrapper->getOriginPage()->getWorkingPageRevisionId()));
         if (!$revisionModule) {
             throw new Exception('Unable to find RevisionModule to delete.');
         }
         $revisionModule->delete();
         $backend->addMessage('The module has been deleted!', AbstractBackend::MSG_SUCCESS);
         $backend->createModelUpdateEvent('PageModule', $pk, 'delete');
         $backend->addBodyClass('live-edit-close');
     } else {
         $msg = 'Do you really want to delete this module?';
         $originPage = $wrapper->getOriginPage();
         $dependencies = $originPage->getDependantPages();
         if ($wrapper->isInherited()) {
             $backend->addMessage('This module is inherited and will be removed from ' . $originPage . '. It will also be removed from the following subpages: ' . join(", ", $dependencies), AbstractBackend::MSG_WARNING);
         } else {
             if (count($dependencies)) {
                 $backend->addMessage('This module is inherited to subpages and will ' . 'also be removed from the following subpages: ' . join(", ", $dependencies), AbstractBackend::MSG_WARNING);
             }
         }
         $backend->addMessage($msg);
         $backend->addMainContent($form);
     }
 }
Esempio n. 2
0
 /**
  * Get "copy code" for module.
  *
  * @param PageModuleWrapper $module
  * @return array
  */
 public static function getModuleCode(PageModuleWrapper $module)
 {
     $datas = array();
     $moduleDatas = ModuleDataQuery::create()->filterByPageModule($module->getPageModule())->filterByPageRevision($module->getPageRevision())->orderByLangcode()->find();
     foreach ($moduleDatas as $moduleData) {
         $datas[] = self::getModuleDataCode($moduleData);
     }
     return array("is_inherited" => $module->isInherited(), "uid" => $module->getPageModule()->getUid(), "name" => $module->getName(), "module_class" => $module->getClassName(), "inherit" => true, "target" => $module->getTarget(), "content_visibility" => $module->getPageModule()->getContentVisibility(), "search_visibility" => $module->getPageModule()->getSearchVisibility(), "datas" => $datas);
 }
Esempio n. 3
0
 /**
  * Save module properties.
  *
  * @param PageModuleWrapper $pageModuleWrapper
  * @param array $values
  */
 public static function saveModuleProperties(PageModuleWrapper $pageModuleWrapper, array $values)
 {
     $modified = false;
     // PageModule
     $pageModule = $pageModuleWrapper->getPageModule();
     $pageModule->setName($values['name']);
     $pageModule->setTarget($values['target']);
     $pageModule->setContentVisibility($values['content_visibility']);
     $pageModule->setSearchVisibility($values['search_visibility']);
     $modified |= $pageModule->isModified();
     $pageModule->save();
     // ModuleData
     $moduleData = $pageModuleWrapper->getModuleData();
     $moduleData->setTemplate($values['local']['template'] === '' ? null : $values['local']['template']);
     $moduleData->setEnabled(self::str2bool($values['local']['show']));
     $modified |= $moduleData->isModified();
     $moduleData->save();
     if ($modified) {
         $pageRevision = $pageModuleWrapper->getPageRevision();
         $pageRevision->setUpdatedAt(time());
         $pageRevision->save();
     }
 }