/** * Save new page. * * @param array $values * @return Page */ public static function saveNewPage(array $values) { $subpage = new Page(); $subpage->setUid(Helper::getUniqueId()); $subpage->setVisible($values['visible']); $subpage->setEnabled($values['enabled']); $subpage->setIncludeInIndex($values['index']); if ($values['parent_page_id'] == '@root' && !PageQuery::create()->findRoot()) { // Create root node $subpage->makeRoot(); $subpage->setName($values['name']); $subpage->setUrl('/'); // Grant everyone access $pageAccess = new PageAccess(); $pageAccess->setPage($subpage); $permissions = PageAccess::getPermissionTypes(); $grant = array_fill(0, count($permissions), true); $pageAccess->fromArray(array_combine($permissions, $grant)); } else { $parentPage = PageQuery::create()->findPk($values['parent_page_id']); $subpage->insertAsLastChildOf($parentPage); $subpage->setAutoName($values['name']); } $subpage->save(); return $subpage; }
public static function createPage($id, $name, $title, $description, $order) { $newPage = new Page(); $newPage->setId($id); $newPage->setName($name); $newPage->setTitel($title); $newPage->setDescription($description); $newPage->setOrder($order); return $newPage; }
private static function initializeRootPage() { $oRootPage = new Page(); $oRootPage->makeRoot(); $oRootPage->setName('root'); $oRootPage->setIsInactive(false); $oRootPage->setPageType('default'); $oRootPage->setTemplateName(null); $oFirstUser = UserQuery::create()->findOne(); $oFirstUserId = $oFirstUser !== null ? $oFirstUser->getId() : 0; $oRootPage->setCreatedBy($oFirstUserId); $oRootPage->setUpdatedBy($oFirstUserId); $sPageString = new PageString(); $sPageString->setLanguageId(Settings::getSetting("session_default", Session::SESSION_LANGUAGE_KEY, 'de')); $sPageString->setPageTitle('Home'); $sPageString->setIsInactive(false); $oRootPage->addPageString($sPageString); $oRootPage->save(); return $oRootPage; }
$content .= '</tr>'; } $content .= "</table>"; $app->render('page.twig', array('content' => $content)); })->name('list-pages'); # Add routes for all pages. $app->map('/add-page/', function () use($app, $entityManager) { $content = array(); if ($app->request->isPost()) { $content['name'] = $_POST['name']; $content['slug'] = $_POST['slug']; $content['content'] = $_POST['content']; $content['excerpt'] = $_POST['excerpt']; if (functions\CSRF::check($_POST['csrf'])) { $page = new Page(); $page->setName($content['name']); $page->setSlug($content['slug'], $entityManager); $page->setContent($content['content']); $page->setExcerpt($content['excerpt']); $entityManager->persist($page); $entityManager->flush(); $app->flash('message', 'Page Added Successfully!'); $app->redirect($app->urlFor('message')); } } $app->render('pages/page-form.twig', array('content' => $content, 'csrf' => functions\CSRF::generate())); })->via('GET', 'POST')->name('add-page'); $app->map('/pages/edit/:id/', function ($id) use($app, $entityManager) { $page = $entityManager->find('Page', $id); $content = array('name' => $page->getName(), 'slug' => $page->getSlug(), 'content' => $page->getContent(), 'excerpt' => $page->getExcerpt(), 'id' => $page->getId()); if ($app->request->isPost()) {
function convertToPage(&$logged_user, &$error) { db_begin_work(); $page = new Page(); $page->setProjectId($this->getProjectId()); $page->setName($this->getName()); $body = $this->getBody(); if (empty($body)) { $body = 'page Content missing'; } $page->setBody($body); $page->setState($this->getState()); $page->setVisibility($this->getVisibility()); $page->setPriority($this->getPriority()); $page->setCommentsCount($this->getCommentsCount()); $page->setIsLocked($this->getIsLocked()); $page->setCreatedById($logged_user->getId()); $page->setCreatedByName($logged_user->getName()); $page->setCreatedByEmail($logged_user->getEmail()); $save = $page->save(); if ($save && !is_error($save)) { db_commit(); $page->ready(); $link = mysql_connect(DB_HOST, DB_USER, DB_PASS); mysql_select_db(DB_NAME); $query = "update healingcrystals_project_objects set parent_id='" . $page->getId() . "', parent_type='Page' where parent_id='" . $this->getId() . "' and project_id='" . $this->getProjectId() . "' and type in ('Comment', 'Task')"; mysql_query($query); $query = "update healingcrystals_project_objects set parent_id=null, parent_type=null where parent_id='" . $this->getId() . "' and project_id='" . $this->getProjectId() . "' and type not in ('Comment', 'Task')"; mysql_query($query); $query = "select * from healingcrystals_assignments where object_id='" . $this->getId() . "'"; $result = mysql_query($query); while ($entry = mysql_fetch_assoc($result)) { $query = "insert into healingcrystals_assignments (user_id, object_id, is_owner) values ('" . $entry['user_id'] . "', '" . $page->getId() . "', '" . $entry['is_owner'] . "')"; mysql_query($query); } $query = "select * from healingcrystals_project_object_categories where object_id='" . $this->getId() . "'"; $result = mysql_query($query); while ($entry = mysql_fetch_assoc($result)) { $query = "insert ignore into healingcrystals_project_object_categories (object_id, category_id) values ('" . $page->getId() . "', '" . $entry['category_id'] . "')"; mysql_query($query); } mysql_close($link); $this->moveToTrash(); return $page->getId(); } else { db_rollback(); $error = $save; return ''; } }
public function saveConfiguration($values) { // Restore database from backup? if ($values['template'] == 'backup') { if (!Curry_Backend_DatabaseHelper::restoreFromFile('db.txt')) { $this->addMessage('Unable to restore database content from db.txt', self::MSG_WARNING); } } // Create admin user if ($values['admin']['username']) { $access = array('*', 'Curry_Backend_Content/*'); $adminRole = self::createRole('Super', $access); $adminUser = self::createUser($values['admin']['username'], $values['admin']['password'], $adminRole); if ($adminUser->isNew()) { self::createFilebrowserAccess($adminRole, 'Root', ''); } $adminUser->save(); } // Create light user if ($values['user']['username']) { $access = array('Curry_Backend_FileBrowser', 'Curry_Backend_Page', 'Curry_Backend_Profile', 'Curry_Backend_Translations', 'Curry_Backend_Content/*'); $userRole = self::createRole('User', $access); $user = self::createUser($values['user']['username'], $values['user']['password'], $userRole); if ($user->isNew()) { $user->save(); self::createFilebrowserAccess($user, 'Home', 'user-content/' . $user->getUserId() . '/'); self::createFilebrowserAccess($userRole, 'Shared', 'content/'); } $user->save(); } if ($values['template'] != 'backup') { // Create default meta-data items $metadatas = array('Title' => 'text', 'Keywords' => 'textarea', 'Description' => 'textarea', 'Image' => 'previewImage'); foreach ($metadatas as $name => $type) { $metadata = new Metadata(); $metadata->setName($name); $metadata->setDisplayName($name); $metadata->setType($type); $metadata->save(); } $page = new Page(); $page->setName("Home"); $page->setURL("/"); $page->setVisible(true); $page->setEnabled(true); $page->makeRoot(); $page->save(); $page->createDefaultRevisions(); $page->save(); $pageRev = $page->getWorkingPageRevision(); $pageRev->setTemplate('Root.html'); $pageRev->save(); $pa = new PageAccess(); $pa->setPage($page); $pa->setPermSubpages(true); $pa->setPermVisible(true); $pa->setPermCreatePage(true); $pa->setPermCreateModule(true); $pa->setPermPublish(true); $pa->setPermProperties(true); $pa->setPermContent(true); $pa->setPermMeta(true); $pa->setPermModules(true); $pa->setPermRevisions(true); $pa->setPermPermissions(true); $pa->save(); } // Create template root $templateRoot = Curry_Core::$config->curry->template->root; if (!file_exists($templateRoot)) { @mkdir($templateRoot, 0777, true); } switch ($values['template']) { case 'empty': case 'curry': $source = Curry_Util::path(Curry_Core::$config->curry->wwwPath, 'shared', 'backend', 'common', 'templates', 'project-empty.html'); $templateFile = Curry_Util::path($templateRoot, 'Root.html'); if (!file_exists($templateFile)) { @copy($source, $templateFile); } break; case 'twitter-bootstrap': case 'html5boilerplate': } if (file_exists(Curry_Core::$config->curry->configPath)) { $config = new Zend_Config(require Curry_Core::$config->curry->configPath, true); $config->curry->name = $values['name']; $config->curry->adminEmail = $values['email']; if ($values['base_url']) { $config->curry->baseUrl = $values['base_url']; } else { unset($config->curry->baseUrl); } $config->curry->developmentMode = (bool) $values['development_mode']; $config->curry->secret = sha1(uniqid(mt_rand(), true) . microtime()); $writer = new Zend_Config_Writer_Array(); $writer->write(Curry_Core::$config->curry->configPath, $config); } return true; }
public function saveConfiguration($values) { // Create admin role $access = array('*', 'Curry_Backend_Content/*'); $adminRole = self::createRole('Administrator', $access); if ($adminRole->isNew()) { self::createFilebrowserAccess($adminRole, 'Root', ''); } // Create editor role $access = array('Curry_Backend_FileBrowser', 'Curry_Backend_Page', 'Curry_Backend_Profile', 'Curry_Backend_Translations', 'Curry_Backend_Content/*'); $editorRole = self::createRole('Editor', $access); if ($editorRole->isNew()) { self::createFilebrowserAccess($editorRole, 'Shared', 'content/shared/'); } // Create admin user if ($values['admin']['username']) { $adminUser = self::createUser($values['admin']['username'], $values['admin']['password'], $adminRole); $adminUser->save(); } // Create default meta-data items $metadatas = array('Title' => 'text', 'Keywords' => 'textarea', 'Description' => 'textarea', 'Image' => 'previewImage'); foreach ($metadatas as $name => $type) { $metadata = new \Metadata(); $metadata->setName($name); $metadata->setDisplayName($name); $metadata->setType($type); $metadata->save(); } // Create pages $rootPage = new \Page(); $rootPage->setName("Root"); $rootPage->setURL("root/"); $rootPage->setVisible(true); $rootPage->setEnabled(true); $rootPage->makeRoot(); $rootPage->save(); $rootPage->createDefaultRevisions($rootPage); $rootPage->save(); $templatePage = new \Page(); $templatePage->setName('Templates'); $templatePage->setURL("templates/"); $templatePage->setIncludeInIndex(false); $templatePage->insertAsLastChildOf($rootPage); $templatePage->save(); $templatePage->createDefaultRevisions(); $pageRevision = $templatePage->getWorkingPageRevision(); $pageRevision->setTemplate('Root.html.twig'); $templatePage->save(); $homePage = new \Page(); $homePage->setName('Home'); $homePage->setURL("/"); $homePage->setVisible(true); $homePage->setEnabled(true); $homePage->insertAsLastChildOf($rootPage); $homePage->save(); $homePage->createDefaultRevisions($templatePage); $homePage->save(); // Create page access objects $pa = new \PageAccess(); $pa->setUserRole($adminRole); $pa->setPage($rootPage); $pa->setPermSubpages(true); $pa->setPermVisible(true); $pa->setPermCreatePage(true); $pa->setPermCreateModule(true); $pa->setPermPublish(true); $pa->setPermProperties(true); $pa->setPermContent(true); $pa->setPermMeta(true); $pa->setPermModules(true); $pa->setPermRevisions(true); $pa->setPermPermissions(true); $pa->save(); $pa = new \PageAccess(); $pa->setUserRole($editorRole); $pa->setPage($rootPage); $pa->setPermSubpages(true); $pa->setPermVisible(true); $pa->setPermCreatePage(true); $pa->setPermCreateModule(true); $pa->setPermPublish(true); $pa->setPermProperties(true); $pa->setPermContent(true); $pa->setPermMeta(true); $pa->setPermModules(true); $pa->setPermRevisions(true); $pa->setPermPermissions(false); $pa->save(); $pa = new \PageAccess(); $pa->setUserRole($editorRole); $pa->setPage($templatePage); $pa->setPermSubpages(true); $pa->setPermVisible(false); $pa->setPermCreatePage(false); $pa->setPermCreateModule(false); $pa->setPermPublish(false); $pa->setPermProperties(false); $pa->setPermContent(false); $pa->setPermMeta(false); $pa->setPermModules(false); $pa->setPermRevisions(false); $pa->setPermPermissions(false); $pa->save(); // Create template root $templateRoot = $this->app['template.root']; if (!file_exists($templateRoot)) { @mkdir($templateRoot, 0777, true); } if (file_exists($this->app['configPath'])) { $config = $this->app->openConfiguration(); $config->name = $values['name']; $config->adminEmail = $values['email']; if (!isset($config->backend)) { $config->backend = array(); } $config->backend->templatePage = $templatePage->getPageId(); if ($values['base_url']) { $config->baseUrl = $values['base_url']; } else { unset($config->baseUrl); } $config->developmentMode = (bool) $values['development_mode']; $config->secret = sha1(uniqid(mt_rand(), true) . microtime()); $this->app->writeConfiguration($config); } return true; }
public function createPage($iParentId, $sPageName) { $oParentPage = PageQuery::create()->findPk($iParentId); if ($oParentPage == null) { $oParentPage = PagePeer::getRootPage(); } $sPageTitle = $sPageName; $sPageName = StringUtil::normalizeToASCII($sPageName); if (!$sPageName) { // If all we have are special chars, leave the page name as is and only normalize minimally $sPageName = $sPageTitle; } $sPageName = StringUtil::normalizePath($sPageName); if (PagePeer::pageIsNotUnique($sPageName, $oParentPage)) { $oFlash = Flash::getFlash(); $oFlash->addMessage('page.name_unique_required'); $oFlash->finishReporting(); throw new ValidationException($oFlash); } $oPage = new Page(); $oPage->setName($sPageName); $oPageString = new PageString(); $oPageString->setLanguageId(AdminManager::getContentLanguage()); $oPageString->setIsInactive(false); $oPageString->setLinkText(null); $oPageString->setPageTitle($sPageTitle); $oPage->addPageString($oPageString); $oPage->setPageType('default'); $oPage->setTemplateName($oParentPage->getTemplateName()); $oPage->setIsInactive(true); $oPage->insertAsLastChildOf($oParentPage); return $oPage->save(); }