public function load(ObjectManager $manager)
 {
     NodeHelper::createPath($manager->getPhpcrSession(), '/test');
     NodeHelper::createPath($manager->getPhpcrSession(), '/test/content');
     NodeHelper::createPath($manager->getPhpcrSession(), '/test/routes/content');
     $contentRoot = $manager->find(null, '/test/content');
     $routeRoot = $manager->find(null, '/test/routes/content');
     $content = new SeoAwareContent();
     $content->setName('content-1');
     $content->setTitle('Content 1');
     $content->setBody('Content 1');
     $content->setParentDocument($contentRoot);
     $metadata = new SeoMetadata();
     $metadata->setTitle('Title content 1');
     $metadata->setMetaDescription('Description of content 1.');
     $metadata->setMetaKeywords('content1, content');
     $metadata->setOriginalUrl('/to/original');
     $content->setSeoMetadata($metadata);
     $manager->persist($content);
     $route = new Route();
     $route->setPosition($routeRoot, 'content-1');
     $route->setContent($content);
     $route->setDefault('_controller', 'Symfony\\Cmf\\Bundle\\SeoBundle\\Tests\\Resources\\Controller\\TestController::indexAction');
     $manager->persist($route);
     $manager->persist($route);
     $manager->flush();
 }
Esempio n. 2
0
 /**
  * {@inheritdoc}
  */
 public function load(ObjectManager $manager)
 {
     $session = $manager->getPhpcrSession();
     $basepath = $this->container->getParameter('cmf_routing.dynamic.persistence.phpcr.route_basepath');
     NodeHelper::createPath($session, $basepath);
     $routeRoot = $manager->find(null, $basepath);
     $basepath = $this->container->getParameter('cmf_content.persistence.phpcr.content_basepath');
     NodeHelper::createPath($session, $basepath);
     $parent = $manager->find(null, $basepath);
     $repository = $this->container->get('sylius.repository.static_content');
     $routeRepository = $this->container->get('sylius.repository.route');
     // Terms of service.
     $route = $routeRepository->createNew();
     $route->setPosition($routeRoot, 'terms-of-service');
     $manager->persist($route);
     $content = $repository->createNew();
     $content->setTitle('Terms of Service');
     $content->setBody($this->faker->text(350));
     $content->addRoute($route);
     $content->setParent($parent);
     $content->setName('terms-of-service');
     $manager->persist($content);
     // Contact.
     $route = $routeRepository->createNew();
     $route->setPosition($routeRoot, 'about');
     $manager->persist($route);
     $content = $repository->createNew();
     $content->setTitle('About us');
     $content->setBody($this->faker->text(300));
     $content->addRoute($route);
     $content->setParent($parent);
     $content->setName('about-us');
     $manager->persist($content);
     $manager->flush();
 }
 /**
  * Load data fixtures with the passed DocumentManager
  *
  * @param DocumentManager $manager
  */
 public function load(ObjectManager $manager)
 {
     if (!$manager instanceof DocumentManager) {
         $class = get_class($manager);
         throw new \RuntimeException("Fixture requires a PHPCR ODM DocumentManager instance, instance of '{$class}' given.");
     }
     // tweak homepage
     $page = $manager->find(null, '/cms/simple');
     $page->setBody('Hello');
     $page->setDefault('_template', 'AcmeDemoBundle::home.html.twig');
     // add menu item for home
     $menuRoot = $manager->find(null, '/cms/simple');
     $homeMenuNode = new MenuNode('home');
     $homeMenuNode->setLabel('Home');
     $homeMenuNode->setParentDocument($menuRoot);
     $homeMenuNode->setContent($page);
     $manager->persist($homeMenuNode);
     // load the pages
     Fixtures::load(array(__DIR__ . '/../../Resources/data/pages.yml'), $manager);
     // add menu item for login
     $loginMenuNode = new MenuNode('login');
     $loginMenuNode->setLabel('Admin Login');
     $loginMenuNode->setParentDocument($menuRoot);
     $loginMenuNode->setRoute('_demo_login');
     $manager->persist($loginMenuNode);
     // load the blocks
     NodeHelper::createPath($manager->getPhpcrSession(), '/cms/content/blocks');
     Fixtures::load(array(__DIR__ . '/../../Resources/data/blocks.yml'), $manager);
     // save the changes
     $manager->flush();
 }
Esempio n. 4
0
 /**
  * {@inheritdoc}
  */
 public function load(ObjectManager $manager)
 {
     $this->manager = $manager;
     $session = $manager->getPhpcrSession();
     //création namespace menu
     NodeHelper::createPath($session, '/website/symfony-prestacms/route');
     $root = $manager->find(null, '/website/symfony-prestacms/route');
     //Routing home
     $configuration = array('parent' => $root, 'content_path' => '/website/symfony-prestacms/page/home', 'name' => 'en', 'locale' => 'en');
     $home = $this->getFactory()->create($configuration);
     $configuration['name'] = 'fr';
     $configuration['locale'] = 'fr';
     $homeFr = $this->getFactory()->create($configuration);
     $yaml = new Parser();
     $datas = $yaml->parse(file_get_contents(__DIR__ . '/../data/page.yml'));
     foreach ($datas['pages'] as $pageConfiguration) {
         if ($pageConfiguration['name'] == 'home') {
             continue;
         }
         $pageConfiguration['content_path'] = '/website/symfony-prestacms/page' . '/' . $pageConfiguration['name'];
         $pageConfiguration['parent'] = $home;
         $pageConfiguration['locale'] = 'en';
         $this->getFactory()->create($pageConfiguration);
         $pageConfiguration['parent'] = $homeFr;
         $pageConfiguration['locale'] = 'fr';
         $this->getFactory()->create($pageConfiguration);
     }
     $this->manager->flush();
 }
    /**
     * {@inheritDoc}
     */
    protected function execute(InputInterface $input, OutputInterface $output)
    {
        $session = $this->getPhpcrSession();
        $force = $input->getOption('force');

        $workspaceName = $session->getWorkspace()->getName();
        if (!$force) {
            /** @var $dialog DialogHelper */
            $dialog = $this->getHelperSet()->get('dialog');
            $force = $dialog->askConfirmation($output, sprintf(
                '<question>Are you sure you want to purge workspace "%s" Y/N ?</question>',
                $workspaceName
            ), false);
        }

        if (!$force) {
            $output->writeln('<error>Aborted</error>');

            return 1;
        }

        $output->writeln(sprintf('<info>Purging workspace:</info> %s', $workspaceName));

        // Using the static NodeHelper is bad for testing as we cannot mock it.
        NodeHelper::purgeWorkspace($session);
        $session->save();

        return 0;
    }
Esempio n. 6
0
    public function load(ObjectManager $manager)
    {
        NodeHelper::createPath($manager->getPhpcrSession(), '/test');
        $root = $manager->find(null, '/test');

        $contentRoot = new Generic;
        $contentRoot->setNodename('contents');
        $contentRoot->setParent($root);
        $manager->persist($contentRoot);

        $content = new StaticContent;
        $content->setName('content-1');
        $content->setTitle('Content 1');
        $content->setBody('Content 1');
        $content->setParentDocument($contentRoot);
        $manager->persist($content);

        $content = new StaticContent;
        $content->setName('content-2');
        $content->setTitle('Content 2');
        $content->setBody('Content 2');
        $content->setParentDocument($contentRoot);
        $manager->persist($content);

        $manager->flush();
    }
 private function createBasePaths(SessionInterface $session, array $basePaths)
 {
     foreach ($basePaths as $path) {
         NodeHelper::createPath($session, $path);
     }
     $session->save();
 }
Esempio n. 8
0
 /**
  * {@inheritdoc}
  */
 public function load(ObjectManager $manager)
 {
     $session = $manager->getPhpcrSession();
     $basepath = $this->container->getParameter('cmf_block.persistence.phpcr.block_basepath');
     NodeHelper::createPath($session, $basepath);
     $parent = $manager->find(null, $basepath);
     $factory = $this->container->get('sylius.factory.simple_block');
     $contactBlock = $factory->createNew();
     $contactBlock->setParentDocument($parent);
     $contactBlock->setName('contact');
     $contactBlock->setTitle('Contact us');
     $contactBlock->setBody('<p>Call us ' . $this->faker->phoneNumber . '!</p><p>' . $this->faker->paragraph . '</p>');
     $manager->persist($contactBlock);
     for ($i = 1; $i <= 3; ++$i) {
         $block = $factory->createNew();
         $block->setParentDocument($parent);
         $block->setName('block-' . $i);
         $block->setTitle(ucfirst($this->faker->word));
         $block->setBody($this->faker->paragraph);
         $manager->persist($block);
     }
     $factory = $this->container->get('sylius.factory.string_block');
     $welcomeText = $factory->createNew();
     $welcomeText->setParentDocument($parent);
     $welcomeText->setName('welcome-text');
     $welcomeText->setBody('Welcome to Sylius e-commerce');
     $manager->persist($welcomeText);
     $manager->flush();
 }
Esempio n. 9
0
 public function load(ObjectManager $manager)
 {
     NodeHelper::createPath($manager->getPhpcrSession(), '/test/menus');
     NodeHelper::createPath($manager->getPhpcrSession(), '/test/routes/contents');
     $this->menuRoot = $manager->find(null, '/test/menus');
     $this->routeRoot = $manager->find(null, '/test/routes');
     $this->loadMenu($manager);
     $manager->flush();
 }
Esempio n. 10
0
 /**
  * {@inheritdoc}
  */
 public function load(ObjectManager $manager)
 {
     $session = $manager->getPhpcrSession();
     $basePath = DIRECTORY_SEPARATOR . Website::WEBSITE_PREFIX;
     // Create the path in the repository
     NodeHelper::createPath($session, $basePath);
     $this->getFactory()->create(array('path' => $basePath . DIRECTORY_SEPARATOR . 'symfony-prestacms', 'name' => 'symfony-prestacms', 'available_locales' => array('fr', 'en'), 'default_locale' => 'en', 'theme' => 'creative'));
     $manager->flush();
 }
Esempio n. 11
0
 public function load(ObjectManager $manager)
 {
     $session = $manager->getPhpcrSession();
     $basepath = $this->container->getParameter('cmf_menu.persistence.phpcr.menu_basepath');
     $content_path = $this->container->getParameter('cmf_content.persistence.phpcr.content_basepath');
     NodeHelper::createPath($session, $basepath);
     $root = $manager->find(null, $basepath);
     $main = $this->createMenuNode($manager, $root, 'main', 'Home', $manager->find(null, "/cms/content/pages/home"));
     $this->createMenuNode($manager, $main, 'about', 'About', $manager->find(null, "/cms/content/pages/about"));
     $postsNode = $this->createMenuNode($manager, $main, 'posts', 'Liste des posts');
     $posts = $manager->getRepository('AcmeBasicCmsBundle:Post')->findAll();
     /** @var Post $post */
     foreach ($posts as $post) {
         $this->createMenuNode($manager, $postsNode, $post->getSlug(), $post->getTitle(), $post);
     }
     //        $menu = new Menu();
     //        $menu->setName('main-menu');
     //        $menu->setLabel('Main Menu');
     //        $menu->setParentDocument($menuParent);
     //        $dm->persist($menu);
     //
     //        $homeMenuNode = new MenuNode();
     //        $homePage = $dm->find('Acme\BasicCmsBundle\Document\Page', '/cms/content/pages/home');
     //        $homeMenuNode->setName($homePage->getSlug());
     //        $homeMenuNode->setLabel($homePage->getTitle());
     //        $homeMenuNode->setContent($homePage);
     //        $homeMenuNode->setParentDocument($menu);
     //        $dm->persist($homeMenuNode);
     //
     //        $aboutMenuNode = new MenuNode();
     //        $aboutPage = $dm->find('Acme\BasicCmsBundle\Document\Page', '/cms/content/pages/about');
     //        $aboutMenuNode->setName($aboutPage->getSlug());
     //        $aboutMenuNode->setLabel($aboutPage->getTitle());
     //        $aboutMenuNode->setContent($aboutPage);
     //        $aboutMenuNode->setParentDocument($homeMenuNode);
     //        $dm->persist($aboutMenuNode);
     //
     //        $postsMenuNode = new MenuNode();
     //        $postsMenuNode->setName('posts');
     //        $postsMenuNode->setLabel('Liste des posts');
     //        $postsMenuNode->setParentDocument($menu);
     //        $dm->persist($postsMenuNode);
     //
     //        $posts = $dm->getRepository('AcmeBasicCmsBundle:Post')->findAll();
     //
     //        /** @var Post $post */
     //        foreach ($posts as $post) {
     //            $postMenuNode = new MenuNode();
     //            $postMenuNode->setName($post->getSlug());
     //            $postMenuNode->setLabel($post->getTitle());
     //            $postMenuNode->setContent($post);
     //            $postMenuNode->setParentDocument($postsMenuNode);
     //            $dm->persist($postMenuNode);
     //        }
     $manager->flush();
 }
 /**
  * Load data fixtures with the passed EntityManager
  *
  * @param ObjectManager|DocumentManager $manager
  */
 public function load(ObjectManager $manager)
 {
     NodeHelper::createPath($manager->getPhpcrSession(), '/cms/routes');
     $routeBase = $manager->find(null, '/cms/routes');
     $route = new Route();
     $route->setPosition($routeBase, 'route_only');
     $route->addDefaults(['_controller' => 'froscon_application.controller.default:routeOnlyAction']);
     $manager->persist($route);
     $manager->flush();
 }
 public function setUp()
 {
     $this->fetchDbParameters();
     $this->connection = DriverManager::getConnection($this->params);
     $this->createEntityManager();
     $this->createDocumentManager();
     $this->resetFunctionalNode($this->dm);
     $this->createObjectAdapterManager();
     NodeHelper::createPath($this->dm->getPhpcrSession(), '/functional');
     $this->base = $this->dm->find(null, '/functional');
     $this->createBaseTables();
 }
Esempio n. 14
0
 public function load(ObjectManager $manager)
 {
     NodeHelper::createPath($manager->getPhpcrSession(), '/test');
     $testDataDir = realpath(__DIR__ . '/../../app/Resources/data');
     $root = $manager->find(null, '/test');
     // media root
     $mediaRoot = new Generic();
     $mediaRoot->setNodename('media');
     $mediaRoot->setParent($root);
     $manager->persist($mediaRoot);
     // content root
     $contentRoot = new Generic();
     $contentRoot->setNodename('content');
     $contentRoot->setParent($root);
     $manager->persist($contentRoot);
     // File
     $file = new File();
     $file->setParent($mediaRoot);
     $file->setName('file-1.txt');
     $file->setContentFromString('Test file 1.');
     $file->setContentType('text/plain');
     $manager->persist($file);
     // Image
     $image = new Image();
     $image->setParent($mediaRoot);
     $image->setName('cmf-logo.png');
     $image->setFileContentFromFilesystem($testDataDir . '/cmf-logo.png');
     $manager->persist($image);
     $image2 = new Image();
     $image2->setParent($contentRoot);
     $image2->setName('cmf-logo-2.png');
     $image2->setFileContentFromFilesystem($testDataDir . '/cmf-logo.png');
     $manager->persist($image2);
     // Content with image
     $content = new Content();
     $content->setParent($contentRoot);
     $content->setName('content-with-image');
     $content->setTitle('Content document with image embedded');
     $contentImage = new Image();
     $contentImage->setFileContentFromFilesystem($testDataDir . '/cmf-logo.png');
     $content->setFile($contentImage);
     $manager->persist($content);
     // Content with file
     $content2 = new Content();
     $content2->setParent($contentRoot);
     $content2->setName('content-with-file');
     $content2->setTitle('Content document with file attached');
     $contentFile = new File();
     $contentFile->setFileContentFromFilesystem($testDataDir . '/testfile.txt');
     $content2->setFile($contentFile);
     $manager->persist($content2);
     $manager->flush();
 }
Esempio n. 15
0
 public function load(ObjectManager $manager)
 {
     $session = $manager->getPhpcrSession();
     $basePath = $this->container->getParameter('cmf_simple_cms.persistence.phpcr.basepath');
     NodeHelper::createPath($session, preg_replace('#/[^/]*$#', '', $basePath));
     $root = $manager->find(null, $basePath);
     if (!$root) {
         $root = new Page();
         $root->setId($basePath);
         $root->setTitle('Home Page');
     }
     $manager->persist($root);
     $manager->flush();
 }
Esempio n. 16
0
 /**
  * Load data from the old Camdram schema into the PHPCR
  *
  * Execute by calling php app/console doctrine:phpcr:fixtures:load
  */
 public function load(ObjectManager $dm)
 {
     NodeHelper::createPath($dm->getPhpcrSession(), '/cms/pages');
     $parent = $dm->find(null, '/cms/pages');
     $em = $this->getContainer()->get('doctrine.orm.entity_manager');
     $root_page = new CmsPage();
     $root_page->setSlug('infobase');
     $root_page->setTitle('infobase');
     $root_page->setParent($parent);
     $dm->persist($root_page);
     // This magic number is based on inspection of the existing Camdram database.
     $this->add_child_nodes($dm, $em, 119, $root_page);
     $dm->flush();
 }
Esempio n. 17
0
 public function load(ObjectManager $manager)
 {
     $session = $manager->getPhpcrSession();
     $basepath = $this->container->getParameter('symfony_cmf_simple_cms.basepath');
     if ($session->nodeExists($basepath)) {
         $session->removeItem($basepath);
     }
     NodeHelper::createPath($session, $basepath);
     $base = $manager->find(null, $basepath);
     $root = $this->createPage($manager, $base, 'service', 'root', 'root page of service menu, never used', '');
     $this->createPage($manager, $root, 'about', 'About us', 'Some information about us', 'The about us page with some content');
     $this->createPage($manager, $root, 'contact', 'Contact', 'A contact page', 'Please send an email to symfony-cmf-devs@groups.google.com');
     $manager->flush();
 }
 /**
  * @param \Doctrine\ODM\PHPCR\DocumentManager $dm
  */
 public function load(ObjectManager $dm)
 {
     $session = $dm->getPhpcrSession();
     $basepath = $this->container->getParameter('cmf_menu.persistence.phpcr.menu_basepath');
     $content_path = $this->container->getParameter('cmf_content.persistence.phpcr.content_basepath');
     NodeHelper::createPath($session, $basepath);
     $root = $dm->find(null, $basepath);
     /** @var $MenuNode MenuNode */
     $main = $this->createMenuNode($dm, $root, 'main', 'Home', $dm->find(null, "{$content_path}/home"));
     $main->setChildrenAttributes(array("class" => "menu_main"));
     $about_us = $this->createMenuNode($dm, $main, 'about-us', 'About Us', $dm->find(null, "{$content_path}/about-us"));
     $news = $this->createMenuNode($dm, $main, 'news', 'News', $dm->find(null, "{$content_path}/news"));
     $dm->flush();
 }
 /**
  * @param ManagerRegistry $registry
  */
 public function init(ManagerRegistry $registry)
 {
     $documentManager = $registry->getManager();
     if ($documentManager->find(null, $this->basePath)) {
         return;
     }
     $homepage = new Homepage();
     $homepage->setName($this->basePath);
     $documentManager->persist($homepage);
     $documentManager->flush();
     $session = $registry->getConnection();
     // Create Fixtures
     NodeHelper::createPath($session, $this->basePath . '/fixtures/routes');
     $session->save();
 }
Esempio n. 20
0
 /**
  * {@inheritdoc}
  */
 public function load(ObjectManager $manager)
 {
     $this->manager = $manager;
     $session = $manager->getPhpcrSession();
     $website = $manager->find(null, '/website/symfony-prestacms');
     NodeHelper::createPath($session, '/website/symfony-prestacms/page');
     $root = $manager->find(null, '/website/symfony-prestacms/page');
     $yaml = new Parser();
     $datas = $yaml->parse(file_get_contents(__DIR__ . '/../data/page.yml'));
     foreach ($datas['pages'] as $pageConfiguration) {
         $pageConfiguration['website'] = $website;
         $pageConfiguration['parent'] = $root;
         $this->getFactory()->create($pageConfiguration);
     }
     $this->manager->flush();
 }
 public function getChildren($path)
 {
     $root = $this->session->getNode($path);
     $children = array();
     foreach ($root->getNodes() as $name => $node) {
         if (NodeHelper::isSystemItem($node)) {
             continue;
         }
         $child = $this->nodeToArray($name, $node);
         foreach ($node->getNodes() as $childname => $grandson) {
             $child['children'][] = $this->nodeToArray($childname, $grandson);
         }
         $children[] = $child;
     }
     return $children;
 }
Esempio n. 22
0
 /**
  * Load data fixtures with the passed DocumentManager
  *
  * @param DocumentManager $manager
  */
 public function load(ObjectManager $manager)
 {
     $this->setupTranslator();
     // load the blocks
     foreach ($this->domains as $domain => $sections) {
         $parent = $manager->find(null, '/cms/content/blocks/' . $domain);
         if (null == $parent) {
             NodeHelper::createPath($manager->getPhpcrSession(), '/cms/content/blocks/' . $domain);
             $parent = $manager->find(null, '/cms/content/blocks/' . $domain);
         }
         foreach ($sections as $section => $messages) {
             $this->blockCreator($parent, $section, $domain, $manager);
         }
     }
     // save the changes
     $manager->flush();
 }
Esempio n. 23
0
 public function init(ManagerRegistry $registry)
 {
     $dm = $registry->getManager();
     if ($dm->find(null, $this->basePath)) {
         return;
     }
     $site = new Site();
     $site->setId($this->basePath);
     $dm->persist($site);
     $dm->flush();
     $session = $registry->getConnection();
     // create the 'cms', 'pages', and 'posts' nodes
     NodeHelper::createPath($session, $this->basePath . '/pages');
     NodeHelper::createPath($session, $this->basePath . '/posts');
     NodeHelper::createPath($session, $this->basePath . '/routes');
     $session->save();
 }
 /**
  * {@inheritDoc}
  */
 public function init(ManagerRegistry $registry)
 {
     /** @var $dm DocumentManager */
     $dm = $registry->getManagerForClass('Symfony\\Cmf\\Bundle\\SimpleCmsBundle\\Doctrine\\Phpcr\\Page');
     if ($dm->find(null, $this->basePath)) {
         return;
     }
     $session = $dm->getPhpcrSession();
     NodeHelper::createPath($session, PathHelper::getParentPath($this->basePath));
     $page = new $this->documentClass();
     $page->setId($this->basePath);
     $page->setLabel('Home');
     $page->setTitle('Homepage');
     $page->setBody('Autocreated Homepage');
     $dm->persist($page);
     $dm->flush();
 }
Esempio n. 25
0
 public function load(ObjectManager $manager)
 {
     NodeHelper::createPath($manager->getPhpcrSession(), '/test');
     $root = $manager->find(null, '/test');
     $parent = new Generic();
     $parent->setParent($root);
     $parent->setNodename('routing');
     $manager->persist($parent);
     $route = new Route();
     $route->setParentDocument($parent);
     $route->setName('route-1');
     $manager->persist($route);
     $redirectRoute = new RedirectRoute();
     $redirectRoute->setParentDocument($parent);
     $redirectRoute->setName('redirect-route-1');
     $manager->persist($redirectRoute);
     $manager->flush();
 }
 /**
  * This method should be used to establish the requisite
  * structure needed by the application or bundle of the
  * content repository.
  *
  * @param ManagerRegistry $registry
  */
 public function init(ManagerRegistry $registry)
 {
     $documentManager = $registry->getManager();
     if ($documentManager->find(null, $this->basePath)) {
         return;
     }
     $site = new Site();
     $site->setId($this->basePath);
     $documentManager->persist($site);
     $documentManager->flush();
     $session = $registry->getConnection();
     NodeHelper::createPath($session, $this->basePath . '/articles');
     NodeHelper::createPath($session, $this->basePath . '/events');
     NodeHelper::createPath($session, $this->basePath . '/pages');
     NodeHelper::createPath($session, $this->basePath . '/posts');
     NodeHelper::createPath($session, $this->basePath . '/routes');
     $session->save();
 }
 public function load(ObjectManager $manager)
 {
     $session = $manager->getPhpcrSession();
     $basepath = '/cms/piccolo';
     NodeHelper::createPath($session, $basepath);
     $yaml = new Parser();
     $data = $yaml->parse(file_get_contents(__DIR__ . '/../../Resources/data/page.yml'));
     $parent = $manager->find(null, $basepath);
     foreach ($data['static'] as $overview) {
         $path = $basepath . '/' . $overview['name'];
         $page = $manager->find(null, $path);
         if (!$page) {
             $class = isset($overview['class']) ? $overview['class'] : 'ConnectHolland\\PiccoloContentBundle\\Document\\StandardPage';
             $page = new $class();
             $page->setName($overview['name']);
             $page->setParent($parent);
             // Routing
             $template = isset($overview['template']) ? $overview['template'] : 'ConnectHollandMainBundle:Page:Standard.html.twig';
             $page->setTemplate($template);
             $manager->persist($page);
         }
         if (is_array($overview['title'])) {
             // Multilanguage
             foreach ($overview['title'] as $locale => $title) {
                 $page->setTitle($title);
                 $page->setBody($overview['body'][$locale]);
                 $manager->bindTranslation($page, $locale);
             }
         } else {
             $page->setTitle($overview['title']);
             $page->setBody($overview['body']);
             if ($class == 'ConnectHolland\\PiccoloContentBundle\\Document\\NewsPage') {
                 $page->setDate(new \DateTime($overview['date']));
             }
         }
         if (isset($overview['blocks'])) {
             foreach ($overview['blocks'] as $name => $block) {
                 $this->loadBlock($manager, $page, $name, $block);
             }
         }
     }
     $manager->flush();
     //to get ref id populated
 }
Esempio n. 28
0
 public function load(ObjectManager $manager)
 {
     NodeHelper::createPath($manager->getPhpcrSession(), '/test');
     NodeHelper::createPath($manager->getPhpcrSession(), '/test/content');
     NodeHelper::createPath($manager->getPhpcrSession(), '/test/routes');
     $contentRoot = $manager->find(null, '/test/content');
     $routeRoot = $manager->find(null, '/test/routes');
     $sitemapAwareContent = new SitemapAwareContent();
     $sitemapAwareContent->setIsVisibleForSitemap(true)->setTitle('Sitemap Aware Content')->setName('sitemap-aware')->setParentDocument($contentRoot)->setBody('Content for that is sitemap aware');
     $manager->persist($sitemapAwareContent);
     $manager->bindTranslation($sitemapAwareContent, 'en');
     $sitemapAwareContent->setTitle('Content für die Sitemap')->setBody('Das sollte die Deutsche Version des Contents sein.');
     $manager->bindTranslation($sitemapAwareContent, 'de');
     $route = new Route();
     $route->setPosition($routeRoot, 'sitemap-aware');
     $route->setContent($sitemapAwareContent);
     $manager->persist($route);
     $nonPublishedContent = new SitemapAwareWithPublishWorkflowContent();
     $nonPublishedContent->setIsVisibleForSitemap(true);
     $nonPublishedContent->setPublishable(false);
     $nonPublishedContent->setTitle('Sitemap Aware Content non publish')->setName('sitemap-aware-non-publish')->setParentDocument($contentRoot)->setBody('Content for that is sitemap aware, that is not publish');
     $manager->persist($nonPublishedContent);
     $route = new Route();
     $route->setPosition($routeRoot, 'sitemap-aware-non-publish');
     $route->setContent($nonPublishedContent);
     $manager->persist($route);
     $publishedContent = new SitemapAwareWithPublishWorkflowContent();
     $publishedContent->setIsVisibleForSitemap(true);
     $publishedContent->setPublishable(true);
     $publishedContent->setTitle('Sitemap Aware Content publish')->setName('sitemap-aware-publish')->setParentDocument($contentRoot)->setBody('Content for that is sitemap aware, that is publish');
     $manager->persist($publishedContent);
     $route = new Route();
     $route->setPosition($routeRoot, 'sitemap-aware-publish');
     $route->setContent($publishedContent);
     $manager->persist($route);
     $lastModifiedContent = new SitemapAwareWithLastModifiedDateContent();
     $lastModifiedContent->setIsVisibleForSitemap(true)->setLastModified(new \DateTime('2016-07-06', new \DateTimeZone('Europe/Berlin')))->setTitle('Sitemap Aware Content last mod date')->setName('sitemap-aware-last-mod-date')->setParentDocument($contentRoot)->setBody('Content for that is sitemap aware, that has last modified date.');
     $manager->persist($lastModifiedContent);
     $route = new Route();
     $route->setPosition($routeRoot, 'sitemap-aware-last-mod-date');
     $route->setContent($lastModifiedContent);
     $manager->persist($route);
     $manager->flush();
 }
Esempio n. 29
0
 /**
  * @param \Doctrine\ODM\PHPCR\DocumentManager $manager
  */
 public function load(ObjectManager $manager)
 {
     if (!$manager instanceof DocumentManager) {
         $class = get_class($manager);
         throw new \RuntimeException("Fixture requires a PHPCR ODM DocumentManager instance, instance of '{$class}' given.");
     }
     $session = $manager->getPhpcrSession();
     $basepath = $this->container->getParameter('cmf_menu.persistence.phpcr.menu_basepath');
     $content_path = $this->container->getParameter('cmf_content.persistence.phpcr.content_basepath');
     NodeHelper::createPath($session, $basepath);
     $root = $manager->find(null, $basepath);
     $labels = array('en' => 'Home', 'de' => 'Start', 'fr' => 'Accueil');
     /** @var $main Menu */
     $main = $this->createMenuNode($manager, $root, 'main', $labels, $manager->find(null, "{$content_path}/home"));
     $main->setChildrenAttributes(array("class" => "menu_main"));
     if ($session->getRepository()->getDescriptor(RepositoryInterface::QUERY_FULL_TEXT_SEARCH_SUPPORTED)) {
         $this->createMenuNode($manager, $main, 'search-item', 'Search', null, null, 'liip_search');
     }
     $this->createMenuNode($manager, $main, 'admin-item', 'Admin', null, null, 'sonata_admin_dashboard');
     $projects = $this->createMenuNode($manager, $main, 'projects-item', array('en' => 'Projects', 'de' => 'Projekte', 'fr' => 'Projets'), $manager->find(null, "{$content_path}/projects"));
     $this->createMenuNode($manager, $projects, 'cmf-item', 'Symfony CMF', $manager->find(null, "{$content_path}/cmf"));
     $company = $this->createMenuNode($manager, $main, 'company-item', array('en' => 'Company', 'de' => 'Firma', 'fr' => 'Entreprise'), $manager->find(null, "{$content_path}/company"));
     $this->createMenuNode($manager, $company, 'team-item', array('en' => 'Team', 'de' => 'Team', 'fr' => 'Equipe'), $manager->find(null, "{$content_path}/team"));
     $this->createMenuNode($manager, $company, 'more-item', array('en' => 'More', 'de' => 'Mehr', 'fr' => 'Plus'), $manager->find(null, "{$content_path}/more"));
     $demo = $this->createMenuNode($manager, $main, 'demo-item', 'Demo', $manager->find(null, "{$content_path}/demo"));
     //TODO: this should be possible without a content as the controller might not need a content. support directly having the route document as "content" in the menu document?
     $this->createMenuNode($manager, $demo, 'controller-item', 'Explicit controller', $manager->find(null, "{$content_path}/demo_controller"));
     $this->createMenuNode($manager, $demo, 'template-item', 'Explicit template', $manager->find(null, "{$content_path}/demo_template"));
     $this->createMenuNode($manager, $demo, 'type-item', 'Route type to controller', $manager->find(null, "{$content_path}/demo_type"));
     $this->createMenuNode($manager, $demo, 'class-item', 'Class to controller', $manager->find(null, "{$content_path}/demo_class"));
     $this->createMenuNode($manager, $demo, 'test-item', 'Normal Symfony Route', null, null, 'symfony_route');
     $this->createMenuNode($manager, $demo, 'external-item', 'External Link', null, 'http://cmf.symfony.com/');
     $publicationDemo = $this->createMenuNode($manager, $main, 'publication-demo-item', 'Publication Demo', $manager->find(null, "{$content_path}/publication_demo"));
     $this->createMenuNode($manager, $publicationDemo, 'not-published', 'Not published', $manager->find(null, "{$content_path}/not_published"));
     $this->createMenuNode($manager, $publicationDemo, 'published-tomorrow', 'Published tomorrow', $manager->find(null, "{$content_path}/published_tomorrow"));
     $singlelocale = $this->createMenuNode($manager, $main, 'singlelocale-item', array('en' => 'singlelocale'), $manager->find(null, "{$content_path}/singlelocale"));
     $this->createMenuNode($manager, $singlelocale, 'singlelocale-sub-item', array('en' => 'singlelocale child'), $manager->find(null, "{$content_path}/singlelocale"));
     $seo = $this->createMenuNode($manager, $main, 'seo', 'SEO', $manager->find(null, "{$content_path}/simple-seo-example"));
     $this->createMenuNode($manager, $seo, 'simple-seo-example', array('en' => 'Seo-Simple-Content'), $manager->find(null, "{$content_path}/simple-seo-example"));
     $this->createMenuNode($manager, $seo, 'demo-seo-extractor', array('en' => 'Seo-Extractor'), $manager->find(null, "{$content_path}/demo-seo-extractor"));
     $this->createMenuNode($manager, $seo, 'simple-seo-property', array('en' => 'Seo-Extra-Properties'), $manager->find(null, "{$content_path}/simple-seo-property"));
     $this->createMenuNode($manager, $main, 'routing-auto-item', array('en' => 'Auto routing example', 'de' => 'Auto routing beispiel', 'fr' => 'Auto routing exemple'), $manager->find(null, "{$content_path}/news/RoutingAutoBundle generates routes!"));
     $manager->flush();
 }
 /**
  * {@inheritdoc}
  */
 public function init(ManagerRegistry $registry)
 {
     /** @var $dm DocumentManager */
     $dm = $registry->getManagerForClass('AppBundle\\Document\\SeoPage');
     if ($dm->find(null, $this->basePath)) {
         return;
     }
     $session = $dm->getPhpcrSession();
     NodeHelper::createPath($session, PathHelper::getParentPath($this->basePath));
     /** @var \AppBundle\Document\SeoPage $page */
     $page = new $this->documentClass();
     $page->setId($this->basePath);
     $page->setLabel('Home');
     $page->setTitle('Homepage');
     $page->setBody('Autocreated Homepage');
     $page->setIsVisibleForSitemap(true);
     $dm->persist($page);
     $dm->flush();
 }