├── tests ├── .gitignore └── SmokeTest.php ├── src ├── Entity │ ├── .gitignore │ ├── Image.php │ ├── User.php │ └── Gallery.php ├── Controller │ ├── .gitignore │ ├── SecurityController.php │ ├── GalleryController.php │ ├── HomeController.php │ ├── RegistrationController.php │ ├── UploadController.php │ ├── ImageController.php │ ├── EditGalleryController.php │ └── EditImageController.php ├── Migrations │ └── .gitignore ├── Repository │ ├── .gitignore │ └── GalleryRepository.php ├── DataFixtures │ └── ORM │ │ ├── .gitignore │ │ ├── LoadUsersData.php │ │ └── LoadGalleriesData.php ├── Validation │ ├── AvailableEmailConstraint.php │ └── AvailableEmailConstraintValidator.php ├── Service │ ├── JobQueueFactory.php │ ├── FileManager.php │ ├── GalleryEventSubscriber.php │ ├── ImageResizer.php │ └── UserManager.php ├── Event │ └── GalleryCreatedEvent.php ├── Form │ ├── MarkdownType.php │ ├── EditGalleryType.php │ ├── EditImageType.php │ └── RegistrationFormType.php ├── Twig │ ├── MarkdownExtension.php │ ├── SingleGalleryPageModulesTwigExtension.php │ └── ImageRendererExtension.php ├── Command │ ├── GenerateGalleryImageThumbnailsCommand.php │ ├── TestJobCommand.php │ └── ResizeImageWorkerCommand.php └── Kernel.php ├── translations └── .gitignore ├── README.md ├── config ├── packages │ ├── routing.yaml │ ├── dev │ │ ├── routing.yaml │ │ └── monolog.yaml │ ├── test │ │ └── framework.yaml │ ├── ramsey_uuid_doctrine.yaml │ ├── translation.yaml │ ├── twig.yaml │ ├── doctrine_migrations.yaml │ ├── framework.yaml │ ├── doctrine.yaml │ ├── prod │ │ ├── monolog.yaml │ │ └── doctrine.yaml │ └── security.yaml ├── routes │ ├── annotations.yaml │ └── dev │ │ └── twig.yaml ├── routes.yaml ├── bundles.php └── services.yaml ├── public ├── favicon.ico ├── index.php └── assets │ ├── main.css.map │ ├── main.css │ └── main.scss ├── var ├── placeholder.jpg └── demo-data │ └── sample-images │ ├── image1.jpeg │ ├── image10.jpeg │ ├── image11.jpeg │ ├── image12.jpg │ ├── image13.jpeg │ ├── image14.jpeg │ ├── image15.jpeg │ ├── image2.jpeg │ ├── image3.jpeg │ ├── image4.jpeg │ ├── image5.jpeg │ ├── image6.jpeg │ ├── image7.jpeg │ ├── image8.jpeg │ └── image9.jpeg ├── scripts ├── test-single-gallery.sh ├── test-homepage.sh ├── setup-supervisor.sh ├── galleries.txt └── lazy-load-urls.txt ├── articles ├── sitepoint-gallery-blog-1.png ├── 1. BOOTSTRAP.md └── 2. BOOTSTRAP 2.md ├── .gitignore ├── templates ├── gallery │ ├── partials │ │ ├── _related-galleries.html.twig │ │ ├── _newest-galleries.html.twig │ │ └── gallery-list-item.html.twig │ ├── edit-gallery.html.twig │ ├── upload.html.twig │ └── single-gallery.html.twig ├── security │ ├── registration.html.twig │ └── login.html.twig ├── partials │ ├── home-galleries-lazy-load.html.twig │ └── header.html.twig ├── home.html.twig ├── image │ └── edit-image.html.twig └── base.html.twig ├── bin ├── refreshDb.sh └── console ├── .env.dist ├── phpunit.xml.dist ├── composer.json └── symfony.lock /tests/.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Entity/.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /translations/.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Controller/.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Migrations/.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Repository/.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/DataFixtures/ORM/.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # multi-image-gallery-blog 2 | -------------------------------------------------------------------------------- /config/packages/routing.yaml: -------------------------------------------------------------------------------- 1 | framework: 2 | router: 3 | strict_requirements: ~ 4 | -------------------------------------------------------------------------------- /config/packages/dev/routing.yaml: -------------------------------------------------------------------------------- 1 | framework: 2 | router: 3 | strict_requirements: true 4 | -------------------------------------------------------------------------------- /config/routes/annotations.yaml: -------------------------------------------------------------------------------- 1 | controllers: 2 | resource: ../../src/Controller/ 3 | type: annotation 4 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sitepoint-editors/multi-image-gallery-blog/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /var/placeholder.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sitepoint-editors/multi-image-gallery-blog/HEAD/var/placeholder.jpg -------------------------------------------------------------------------------- /config/packages/test/framework.yaml: -------------------------------------------------------------------------------- 1 | framework: 2 | test: ~ 3 | session: 4 | storage_id: session.storage.mock_file 5 | -------------------------------------------------------------------------------- /config/routes/dev/twig.yaml: -------------------------------------------------------------------------------- 1 | _errors: 2 | resource: '@TwigBundle/Resources/config/routing/errors.xml' 3 | prefix: /_error 4 | -------------------------------------------------------------------------------- /scripts/test-single-gallery.sh: -------------------------------------------------------------------------------- 1 | docker run --rm -v `pwd`:/var/siege:ro -t yokogawa/siege -i --file=/var/siege/galleries.txt -d1 -c50 -t1M -------------------------------------------------------------------------------- /config/packages/ramsey_uuid_doctrine.yaml: -------------------------------------------------------------------------------- 1 | doctrine: 2 | dbal: 3 | types: 4 | uuid: Ramsey\Uuid\Doctrine\UuidType 5 | -------------------------------------------------------------------------------- /articles/sitepoint-gallery-blog-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sitepoint-editors/multi-image-gallery-blog/HEAD/articles/sitepoint-gallery-blog-1.png -------------------------------------------------------------------------------- /var/demo-data/sample-images/image1.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sitepoint-editors/multi-image-gallery-blog/HEAD/var/demo-data/sample-images/image1.jpeg -------------------------------------------------------------------------------- /var/demo-data/sample-images/image10.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sitepoint-editors/multi-image-gallery-blog/HEAD/var/demo-data/sample-images/image10.jpeg -------------------------------------------------------------------------------- /var/demo-data/sample-images/image11.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sitepoint-editors/multi-image-gallery-blog/HEAD/var/demo-data/sample-images/image11.jpeg -------------------------------------------------------------------------------- /var/demo-data/sample-images/image12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sitepoint-editors/multi-image-gallery-blog/HEAD/var/demo-data/sample-images/image12.jpg -------------------------------------------------------------------------------- /var/demo-data/sample-images/image13.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sitepoint-editors/multi-image-gallery-blog/HEAD/var/demo-data/sample-images/image13.jpeg -------------------------------------------------------------------------------- /var/demo-data/sample-images/image14.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sitepoint-editors/multi-image-gallery-blog/HEAD/var/demo-data/sample-images/image14.jpeg -------------------------------------------------------------------------------- /var/demo-data/sample-images/image15.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sitepoint-editors/multi-image-gallery-blog/HEAD/var/demo-data/sample-images/image15.jpeg -------------------------------------------------------------------------------- /var/demo-data/sample-images/image2.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sitepoint-editors/multi-image-gallery-blog/HEAD/var/demo-data/sample-images/image2.jpeg -------------------------------------------------------------------------------- /var/demo-data/sample-images/image3.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sitepoint-editors/multi-image-gallery-blog/HEAD/var/demo-data/sample-images/image3.jpeg -------------------------------------------------------------------------------- /var/demo-data/sample-images/image4.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sitepoint-editors/multi-image-gallery-blog/HEAD/var/demo-data/sample-images/image4.jpeg -------------------------------------------------------------------------------- /var/demo-data/sample-images/image5.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sitepoint-editors/multi-image-gallery-blog/HEAD/var/demo-data/sample-images/image5.jpeg -------------------------------------------------------------------------------- /var/demo-data/sample-images/image6.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sitepoint-editors/multi-image-gallery-blog/HEAD/var/demo-data/sample-images/image6.jpeg -------------------------------------------------------------------------------- /var/demo-data/sample-images/image7.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sitepoint-editors/multi-image-gallery-blog/HEAD/var/demo-data/sample-images/image7.jpeg -------------------------------------------------------------------------------- /var/demo-data/sample-images/image8.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sitepoint-editors/multi-image-gallery-blog/HEAD/var/demo-data/sample-images/image8.jpeg -------------------------------------------------------------------------------- /var/demo-data/sample-images/image9.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sitepoint-editors/multi-image-gallery-blog/HEAD/var/demo-data/sample-images/image9.jpeg -------------------------------------------------------------------------------- /scripts/test-homepage.sh: -------------------------------------------------------------------------------- 1 | docker run --rm -t yokogawa/siege -d1 -c50 -t1M http://37.139.21.127/ & docker run --rm -v `pwd`:/var/siege:ro -t yokogawa/siege -i --file=/var/siege/lazy-load-urls.txt -d1 -c50 -t1M && fg -------------------------------------------------------------------------------- /config/packages/translation.yaml: -------------------------------------------------------------------------------- 1 | framework: 2 | default_locale: '%locale%' 3 | translator: 4 | paths: 5 | - '%kernel.project_dir%/translations/' 6 | fallbacks: 7 | - '%locale%' 8 | -------------------------------------------------------------------------------- /config/packages/twig.yaml: -------------------------------------------------------------------------------- 1 | twig: 2 | paths: ['%kernel.project_dir%/templates'] 3 | debug: '%kernel.debug%' 4 | strict_variables: '%kernel.debug%' 5 | form_themes: 6 | - 'bootstrap_3_layout.html.twig' 7 | -------------------------------------------------------------------------------- /config/routes.yaml: -------------------------------------------------------------------------------- 1 | #index: 2 | # path: / 3 | # defaults: { _controller: 'App\Controller\DefaultController::index' } 4 | 5 | # first, run composer req annotations 6 | controllers: 7 | resource: ../src/Controller/ 8 | type: annotation 9 | -------------------------------------------------------------------------------- /src/Validation/AvailableEmailConstraint.php: -------------------------------------------------------------------------------- 1 | symfony/framework-bundle ### 2 | .env 3 | /public/bundles/ 4 | /var/* 5 | !/var/placeholder.jpg 6 | !/var/demo-data/ 7 | !/var/demo-data/sample-images/ 8 | /vendor/ 9 | ###< symfony/framework-bundle ### 10 | 11 | /.idea 12 | /.DS_Store 13 | /**/.DS_Store 14 | 15 | ###> phpunit/phpunit ### 16 | /phpunit.xml 17 | ###< phpunit/phpunit ### 18 | -------------------------------------------------------------------------------- /templates/gallery/partials/_related-galleries.html.twig: -------------------------------------------------------------------------------- 1 |
-------------------------------------------------------------------------------- /src/Service/JobQueueFactory.php: -------------------------------------------------------------------------------- 1 | host, $this->port); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /bin/refreshDb.sh: -------------------------------------------------------------------------------- 1 | # Drop schema 2 | ./bin/console doctrine:schema:drop --full-database --force 3 | rm -rf var/uploads/cache/* 4 | rm var/uploads/* 5 | 6 | # Create schema 7 | ./bin/console doctrine:schema:create 8 | 9 | # Load fixtures 10 | ./bin/console doctrine:fixtures:load -n \ 11 | --fixtures src/DataFixtures/ORM 12 | 13 | # Install assets 14 | ./bin/console assets:install --symlink 15 | 16 | # Clear cache 17 | ./bin/console cache:clear -------------------------------------------------------------------------------- /templates/security/registration.html.twig: -------------------------------------------------------------------------------- 1 | {% extends 'base.html.twig' %} 2 | 3 | {% block content %} 4 | 5 |