2017 © Pedro Peláez
 

symfony-bundle angular-cms-bundle

A content management system for Symfony 3

image

rmatil/angular-cms-bundle

A content management system for Symfony 3

  • Thursday, January 4, 2018
  • by rmatil
  • Repository
  • 1 Watchers
  • 0 Stars
  • 0 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 0 Forks
  • 1 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

Installation

  • composer install
  • add FOSUserBundle to AppKernel
  • add JMSSerializer to AppKernel
  • add DoctrineMigrationsBundle to AppKernel
  • add rmatilCmsBundle to AppKernel

public function registerBundles() { $bundles = [ // .... new Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle(), new JMS\SerializerBundle\JMSSerializerBundle(), new FOS\UserBundle\FOSUserBundle(), new Vich\UploaderBundle\VichUploaderBundle(), new rmatil\CmsBundle\rmatilCmsBundle(), new AppBundle\AppBundle(), ]; if (in_array($this->getEnvironment(), ['dev', 'test'], true)) { $bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle(); $bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle(); $bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle(); $bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle(); } return $bundles; }
  • Add routing for FOSUser to routing.yml
  • Add routing for CmsBundle to routing.yml

# rmatil CmsBundle rmatil_cms: resource: "@rmatilCmsBundle/Resources/config/routing.yml" prefix: "/api" # FOS UserBundle fos_user: resource: "@FOSUserBundle/Resources/config/routing/all.xml"
  • Add the following to config.yml

# FOS UserBundle fos_user: db_driver: orm firewall_name: main # must match the firewall name where fos_user_bundle is configured user_class: rmatil\CmsBundle\Entity\User registration: confirmation: enabled: true # Doctrine Migrations doctrine_migrations: dir_name: "%kernel.root_dir%/../src/rmatil/CmsBundle/Resources/doctrine-migrations" namespace: Application\Migrations table_name: migration_versions name: Application Migrations
  • Add the following to security.yml

encoders: FOS\UserBundle\Model\UserInterface: bcrypt role_hierarchy: ROLE_MEMBER: [ROLE_USER] ROLE_ADMIN: [ROLE_MEMBER] ROLE_SUPER_ADMIN: [ROLE_ADMIN] # http://symfony.com/doc/current/book/security.html#where-do-users-come-from-user-providers providers: fos_userbundle: id: fos_user.user_provider.username firewalls: # disables authentication for assets and the profiler, adapt it according to your needs dev: pattern: ^/(_(profiler|wdt)|css|images|js)/ security: false # Basic Authentication for API requests api: pattern: /api/* stateless: true anonymous: true form_login: false http_basic: provider: fos_userbundle # Form Login Authentication for all other requests main: # activate different ways to authenticate # http_basic: ~ # http://symfony.com/doc/current/book/security.html#a-configuring-how-your-users-will-authenticate # form_login: ~ # http://symfony.com/doc/current/cookbook/security/form_login_setup.html # FOS UserBundle pattern: ^/ form_login: provider: fos_userbundle csrf_token_generator: security.csrf.token_manager # if you are using Symfony < 2.8, use the following config instead: # csrf_provider: form.csrf_provider logout: true anonymous: true access_control: - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/api/, role: ROLE_ADMIN }
  • Add the following to web/.htaccess and replace app_dev.php with app.php for production
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{HTTP_HOST} ^dev.flimsfestival.rmatil.vagrant
    RewriteRule ^(.*)$ app_dev.php [QSA,L]
    # Rewrite all other queries to the front controller.
    # RewriteRule ^ %{ENV:BASE}/app.php [L]
  • Change the path in AppKernel for files to tmp folder:

// ... public function getCacheDir() { // return dirname(__DIR__).'/var/'.$this->environment.'/cache'; return '/tmp/var/'.$this->environment.'/cache'; } public function getLogDir() { // return dirname(__DIR__).'/var/'.$this->environment.'/logs'; return '/tmp/var/'.$this->environment.'/logs'; } // ...
  • Change the path in config.yml for sessions:

session: # http://symfony.com/doc/current/reference/configuration/framework.html#handler-id handler_id: session.handler.native_file #save_path: "%kernel.root_dir%/../var/sessions/%kernel.environment%" save_path: "/tmp/var/sessions/%kernel.environment%"
  • Add the configuration for Vich Uploader Bundle in config.yml:

# Vich Uploader Bundle vich_uploader: db_driver: orm mappings: upload: uri_prefix: /upload upload_destination: '%kernel.root_dir%/../web/upload' namer: vich_uploader.namer_origname inject_on_load: false delete_on_update: true delete_on_remove: true

File Upload

The Versions