Compare commits
20 Commits
Author | SHA1 | Date |
---|---|---|
R. Eric Wheeler | c4049bc349 | |
R. Eric Wheeler | 6f0be81406 | |
R. Eric Wheeler | 92a9858d7b | |
R. Eric Wheeler | 40fc48f912 | |
R. Eric Wheeler | 24a0e52f38 | |
R. Eric Wheeler | 574525c0a4 | |
R. Eric Wheeler | 2d025468cb | |
R. Eric Wheeler | e60363f8c7 | |
R. Eric Wheeler | 5340ae77c5 | |
R. Eric Wheeler | 37ccc1b048 | |
R. Eric Wheeler | b8d0d50fe6 | |
R. Eric Wheeler | 828ba828b2 | |
R. Eric Wheeler | d84ab9412f | |
R. Eric Wheeler | 10bf90bd93 | |
R. Eric Wheeler | 7a98daf886 | |
R. Eric Wheeler | bd716544b0 | |
R. Eric Wheeler | 4087c70ec8 | |
R. Eric Wheeler | 640f33514c | |
R. Eric Wheeler | ba88261466 | |
R. Eric Wheeler | bd9216f269 |
|
@ -0,0 +1,30 @@
|
|||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
mockups filter=lfs diff=lfs merge=lfs -text
|
||||
mockups/DoughnutWedding_RSVP.jpg filter=lfs diff=lfs merge=lfs -text
|
||||
mockups/Website[[:space:]]JPGs-20170423T193800Z-001.zip filter=lfs diff=lfs merge=lfs -text
|
||||
mockups/DoughnutWedding_Contact.jpg filter=lfs diff=lfs merge=lfs -text
|
||||
mockups/DoughnutWedding_Home.jpg filter=lfs diff=lfs merge=lfs -text
|
||||
mockups/DoughnutWedding_Location.jpg filter=lfs diff=lfs merge=lfs -text
|
||||
mockups/DoughnutWedding_OurStory.jpg filter=lfs diff=lfs merge=lfs -text
|
||||
mockups/DoughnutWedding_Photos.jpg filter=lfs diff=lfs merge=lfs -text
|
||||
mockups/home_images/home_our_story_1.jpg filter=lfs diff=lfs merge=lfs -text
|
||||
mockups/home_images/home_our_story_2.jpg filter=lfs diff=lfs merge=lfs -text
|
||||
mockups/home_images/home_photo.jpg filter=lfs diff=lfs merge=lfs -text
|
||||
mockups/home_images/drive-download-20170424T134706Z-001.zip filter=lfs diff=lfs merge=lfs -text
|
||||
mockups/home_images/home_doughnut_1.jpg filter=lfs diff=lfs merge=lfs -text
|
||||
mockups/home_images/home_doughnut_2.jpg filter=lfs diff=lfs merge=lfs -text
|
||||
mockups/home_images/home_location.jpg filter=lfs diff=lfs merge=lfs -text
|
||||
build/images/home_doughnut_2.jpg filter=lfs diff=lfs merge=lfs -text
|
||||
build/images/home_our_story_1.jpg filter=lfs diff=lfs merge=lfs -text
|
||||
build/images/home_our_story_2.jpg filter=lfs diff=lfs merge=lfs -text
|
||||
build/images/logo.png filter=lfs diff=lfs merge=lfs -text
|
||||
build/images/yahoo.svg filter=lfs diff=lfs merge=lfs -text
|
||||
build/images/amazon.svg filter=lfs diff=lfs merge=lfs -text
|
||||
build/images/home_doughnut_1.jpg filter=lfs diff=lfs merge=lfs -text
|
||||
build/images/home_location.jpg filter=lfs diff=lfs merge=lfs -text
|
||||
build/images/home_photo.jpg filter=lfs diff=lfs merge=lfs -text
|
||||
build/images/favicon.png filter=lfs diff=lfs merge=lfs -text
|
||||
build/images/home_photo_1.jpg filter=lfs diff=lfs merge=lfs -text
|
||||
build/images/home_photo_2.jpg filter=lfs diff=lfs merge=lfs -text
|
||||
build/images/location.jpg filter=lfs diff=lfs merge=lfs -text
|
||||
build/images/yahoo2.svg filter=lfs diff=lfs merge=lfs -text
|
|
@ -1,15 +1,30 @@
|
|||
node_modules/
|
||||
vendor/
|
||||
/app/config/parameters.yml
|
||||
/build/dist/
|
||||
/phpunit.xml
|
||||
/var/*
|
||||
!/var/cache
|
||||
/var/cache/*
|
||||
!var/cache/.gitkeep
|
||||
!/var/logs
|
||||
/var/logs/*
|
||||
!var/logs/.gitkeep
|
||||
!/var/sessions
|
||||
/var/sessions/*
|
||||
!var/sessions/.gitkeep
|
||||
!var/SymfonyRequirements.php
|
||||
/vendor/
|
||||
/web/bundles/
|
||||
/web/js/
|
||||
/web/css/
|
||||
/web/images/
|
||||
*~
|
||||
lib/mysql/
|
||||
/lib
|
||||
.idea
|
||||
node_modules/
|
||||
composer.lock
|
||||
.idea/
|
||||
|
||||
.php_cs.cache
|
||||
app/logs/
|
||||
build/dist/
|
||||
cache/
|
||||
html/css/
|
||||
html/images/
|
||||
html/js/
|
||||
lib/
|
||||
variables.less
|
||||
cors.json
|
||||
doughnutwedding-cred.json
|
||||
mailer.yml
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
|
|||
### Changed
|
||||
- composer.json
|
||||
- .gitignore
|
||||
|
||||
### Added
|
||||
- .php_cs
|
||||
- php-cs-fixer
|
||||
|
|
37
Gruntfile.js
37
Gruntfile.js
|
@ -16,7 +16,9 @@ module.exports = function (grunt) {
|
|||
vendor: {
|
||||
src: [
|
||||
'./vendor/bower/jquery/dist/jquery.js',
|
||||
'./vendor/bower/uikit/dist/js/uikit.js'
|
||||
'./vendor/bower/uikit/dist/js/uikit.js',
|
||||
'./vendor/bower/uikit/dist/js/uikit-icons.js',
|
||||
'./vendor/bower/select2/dist/js/select2.full.min.js'
|
||||
],
|
||||
dest: 'build/dist/js/vendor.min.js'
|
||||
}
|
||||
|
@ -50,7 +52,14 @@ module.exports = function (grunt) {
|
|||
src: ['*.css', '!*.min.css'],
|
||||
dest: 'build/dist/css',
|
||||
ext: '.min.css'
|
||||
}]
|
||||
},
|
||||
{
|
||||
expand: true,
|
||||
cwd: 'build/css',
|
||||
src: ['*.css', '!*.min.css'],
|
||||
dest: 'build/dist/css',
|
||||
ext: '.min.css'
|
||||
}]
|
||||
}
|
||||
},
|
||||
jshint: {
|
||||
|
@ -81,21 +90,33 @@ module.exports = function (grunt) {
|
|||
expand: true,
|
||||
cwd: 'build/dist/js',
|
||||
src: ['*.min.js'],
|
||||
dest: 'html/js',
|
||||
dest: 'web/js',
|
||||
filter: 'isFile'
|
||||
},
|
||||
{
|
||||
expand: true,
|
||||
cwd: 'build/dist/css',
|
||||
src: ['*.min.css'],
|
||||
dest: 'html/css',
|
||||
dest: 'web/css',
|
||||
filter: 'isFile'
|
||||
},
|
||||
{
|
||||
expand: true,
|
||||
cwd: './vendor/bower/uikit/dist/images',
|
||||
src: ['**'],
|
||||
dest: 'html/images'
|
||||
dest: 'web/images'
|
||||
},
|
||||
{
|
||||
expand:true,
|
||||
cwd: './vendor/bower/select2/dist/css',
|
||||
src: ['select2.min.css'],
|
||||
dest: 'web/css'
|
||||
},
|
||||
{
|
||||
expand: true,
|
||||
cwd: 'build/images',
|
||||
src: ['*'],
|
||||
dest: 'web/images'
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -118,9 +139,9 @@ module.exports = function (grunt) {
|
|||
},
|
||||
clean: [
|
||||
'build/dist',
|
||||
'html/js/*.js',
|
||||
'html/css/*.css',
|
||||
'html/images/*.svg'
|
||||
'web/js/*.js',
|
||||
'web/css/*.css',
|
||||
'web/images/*'
|
||||
]
|
||||
});
|
||||
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
<IfModule mod_authz_core.c>
|
||||
Require all denied
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
</IfModule>
|
|
@ -18,16 +18,8 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Sikofitt\App\Middleware;
|
||||
use Symfony\Bundle\FrameworkBundle\HttpCache\HttpCache;
|
||||
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
|
||||
class AuthenticatorMiddleware
|
||||
class AppCache extends HttpCache
|
||||
{
|
||||
public function __invoke(Request $request, \Kernel $app)
|
||||
{
|
||||
if ($app->session()->has('user')) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,76 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* doughnutwedding.com
|
||||
* Copyright (C) 2017 http://doughnutwedding.com eric@doughnutwedding.com
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
use Symfony\Component\Config\Loader\LoaderInterface;
|
||||
use Symfony\Component\HttpKernel\Kernel;
|
||||
|
||||
class AppKernel extends Kernel
|
||||
{
|
||||
public function registerBundles()
|
||||
{
|
||||
$bundles = [
|
||||
new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
|
||||
new Symfony\Bundle\SecurityBundle\SecurityBundle(),
|
||||
new Symfony\Bundle\TwigBundle\TwigBundle(),
|
||||
new Symfony\Bundle\MonologBundle\MonologBundle(),
|
||||
new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
|
||||
new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
|
||||
new Doctrine\Bundle\DoctrineCacheBundle\DoctrineCacheBundle(),
|
||||
new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
|
||||
new \Snc\RedisBundle\SncRedisBundle(),
|
||||
new \HWI\Bundle\OAuthBundle\HWIOAuthBundle(),
|
||||
new \FOS\UserBundle\FOSUserBundle(),
|
||||
new Knp\Bundle\GaufretteBundle\KnpGaufretteBundle(),
|
||||
new Vich\UploaderBundle\VichUploaderBundle(),
|
||||
new JavierEguiluz\Bundle\EasyAdminBundle\EasyAdminBundle(),
|
||||
new Sikofitt\DoughnutWeddingBundle\SikofittDoughnutWeddingBundle(),
|
||||
new WhiteOctober\PagerfantaBundle\WhiteOctoberPagerfantaBundle(),
|
||||
];
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
public function getRootDir()
|
||||
{
|
||||
return __DIR__;
|
||||
}
|
||||
|
||||
public function getCacheDir()
|
||||
{
|
||||
return dirname(__DIR__).'/var/cache/'.$this->getEnvironment();
|
||||
}
|
||||
|
||||
public function getLogDir()
|
||||
{
|
||||
return dirname(__DIR__).'/var/logs';
|
||||
}
|
||||
|
||||
public function registerContainerConfiguration(LoaderInterface $loader)
|
||||
{
|
||||
$loader->load($this->getRootDir().'/config/config_'.$this->getEnvironment().'.yml');
|
||||
}
|
||||
}
|
406
app/Kernel.php
406
app/Kernel.php
|
@ -1,406 +0,0 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* doughnutwedding.com
|
||||
* Copyright (C) 2017 http://doughnutwedding.com eric@doughnutwedding.com
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
use Bramus\Monolog\Formatter\{
|
||||
ColorSchemes\TrafficLight,
|
||||
ColoredLineFormatter
|
||||
};
|
||||
|
||||
use Composer\Autoload\ClassLoader;
|
||||
use Dflydev\Provider\DoctrineOrm\DoctrineOrmServiceProvider;
|
||||
use Doctrine\Common\Annotations\AnnotationRegistry;
|
||||
use Monolog\{
|
||||
Handler\StreamHandler,
|
||||
Logger
|
||||
};
|
||||
use Sikofitt\App\Entity\User;
|
||||
use Sikofitt\App\Traits\EntityManagerTrait;
|
||||
use Sikofitt\App\Traits\FlashTrait;
|
||||
use Sikofitt\Security\MySqlUserProvider;
|
||||
use Silex\Application;
|
||||
use Silex\Application\{
|
||||
FormTrait,
|
||||
MonologTrait,
|
||||
SecurityTrait,
|
||||
SwiftmailerTrait,
|
||||
TranslationTrait,
|
||||
TwigTrait,
|
||||
UrlGeneratorTrait
|
||||
};
|
||||
use Silex\Provider\{
|
||||
AssetServiceProvider,
|
||||
CsrfServiceProvider,
|
||||
DoctrineServiceProvider,
|
||||
ExceptionHandlerServiceProvider,
|
||||
FormServiceProvider,
|
||||
HttpFragmentServiceProvider,
|
||||
HttpKernelServiceProvider,
|
||||
MonologServiceProvider,
|
||||
RoutingServiceProvider,
|
||||
SecurityServiceProvider,
|
||||
ServiceControllerServiceProvider,
|
||||
SessionServiceProvider,
|
||||
SwiftmailerServiceProvider,
|
||||
TwigServiceProvider,
|
||||
ValidatorServiceProvider,
|
||||
VarDumperServiceProvider,
|
||||
WebProfilerServiceProvider
|
||||
};
|
||||
|
||||
use Symfony\Bridge\Twig\Extension\TranslationExtension;
|
||||
use Symfony\Component\Debug\ErrorHandler;
|
||||
use Symfony\Component\Debug\ExceptionHandler;
|
||||
use Symfony\Component\Form\FormFactory;
|
||||
use Symfony\Component\Translation\Translator;
|
||||
|
||||
/**
|
||||
* Class Kernel.
|
||||
*/
|
||||
class Kernel extends Application
|
||||
{
|
||||
use EntityManagerTrait;
|
||||
use FlashTrait;
|
||||
use FormTrait;
|
||||
use MonologTrait;
|
||||
use SecurityTrait;
|
||||
use SwiftmailerTrait;
|
||||
use TranslationTrait;
|
||||
use TwigTrait;
|
||||
use UrlGeneratorTrait;
|
||||
|
||||
/**
|
||||
* Kernel constructor.
|
||||
*
|
||||
* @param ClassLoader $loader
|
||||
* @param bool $debug
|
||||
* @param array $values
|
||||
*/
|
||||
public function __construct(ClassLoader $loader, bool $debug = false, array $values = [])
|
||||
{
|
||||
parent::__construct($values);
|
||||
AnnotationRegistry::registerLoader([$loader, 'loadClass']);
|
||||
if (true === $debug) {
|
||||
$this->setDebug();
|
||||
}
|
||||
|
||||
$this->setUpProviders();
|
||||
$this->setUpDatabase();
|
||||
$this->setUpView();
|
||||
$this->setUpLogger();
|
||||
$this->setUpMailer();
|
||||
}
|
||||
|
||||
public function setUpRoutes(\Kernel $app)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $values
|
||||
*
|
||||
* @throws \InvalidArgumentException
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public function mail(array $values)
|
||||
{
|
||||
if (false === isset($values['from']) || false === is_array($values['from'])) {
|
||||
throw new \InvalidArgumentException('Array key "from" should be an array.');
|
||||
} elseif (false === isset($values['to']) || false === is_array($values['to'])) {
|
||||
throw new \InvalidArgumentException('Array key "to" should be an array.');
|
||||
} elseif (false === isset($values['body']) || false === is_string($values['body'])) {
|
||||
throw new \InvalidArgumentException('Array key "body" should be a string.');
|
||||
} elseif (false === isset($values['subject']) || false === is_string($values['subject'])) {
|
||||
throw new \InvalidArgumentException('Array key "subject" should be a string.');
|
||||
}
|
||||
|
||||
$message = \Swift_Message::newInstance();
|
||||
$message
|
||||
->setSubject($values['subject'])
|
||||
->setFrom($values['from'])
|
||||
->setTo($values['to'])
|
||||
->setBody($values['body']);
|
||||
|
||||
/**
|
||||
* @var \Swift_Transport $mailer
|
||||
*/
|
||||
$mailer = $this['mailer'];
|
||||
|
||||
return $mailer->send($message);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the application to debug.
|
||||
*/
|
||||
public function setDebug()
|
||||
{
|
||||
$this['debug'] = true;
|
||||
ErrorHandler::register();
|
||||
ExceptionHandler::register();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
public function getDebug(): bool
|
||||
{
|
||||
return $this['debug'];
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getBaseDir(): string
|
||||
{
|
||||
return __DIR__.'/..';
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getAppDir(): string
|
||||
{
|
||||
return $this->getBaseDir().'/app';
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getConfigDir(): string
|
||||
{
|
||||
return $this->getAppDir().'/config';
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getLogDir(): string
|
||||
{
|
||||
return $this->getAppDir().'/logs';
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getCacheDir(): string
|
||||
{
|
||||
return $this->getBaseDir().'/cache';
|
||||
}
|
||||
|
||||
/**
|
||||
* @return FormFactory
|
||||
*/
|
||||
public function getFormFactory()
|
||||
{
|
||||
return $this['form.factory'];
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets up the database environment.
|
||||
*/
|
||||
protected function setUpDatabase()
|
||||
{
|
||||
$this->register(new DoctrineServiceProvider(), [
|
||||
'db.options' => [
|
||||
'driver' => 'pdo_mysql',
|
||||
'dbname' => 'doughnut',
|
||||
'host' => 'mysql',
|
||||
'user' => 'doughnut',
|
||||
'password' => 'doughnut',
|
||||
],
|
||||
]);
|
||||
//$j = new Doctrine\Common\Cache\FilesystemCache()
|
||||
$this->register(new DoctrineOrmServiceProvider(), [
|
||||
'orm.proxies_dir' => $this->getCacheDir().'/doctrine/proxies/Doughnut/Wedding',
|
||||
'orm.proxies_namespace' => 'Doughnut\Wedding',
|
||||
'orm.default_cache' => [
|
||||
'driver' => 'filesystem',
|
||||
'path' => $this->getCacheDir().'/doctrine/cache',
|
||||
],
|
||||
'orm.auto_generate_proxies' => true,
|
||||
'orm.strategy' => 'naming',
|
||||
'orm.em.options' => [
|
||||
'connection' => 'default',
|
||||
'mappings' => [
|
||||
[
|
||||
'type' => 'annotation',
|
||||
'path' => $this->getBaseDir().'/src/Sikofitt/App/Entity',
|
||||
'namespace' => 'Sikofitt\App\Entity',
|
||||
'alias' => 'Sikofitt',
|
||||
'auto_generate_proxies' => true,
|
||||
'use_simple_annotation_reader' => false,
|
||||
],
|
||||
],
|
||||
],
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets up the view for the application.
|
||||
*/
|
||||
protected function setUpView()
|
||||
{
|
||||
$this
|
||||
->register(new HttpKernelServiceProvider())
|
||||
->register(new RoutingServiceProvider())
|
||||
->register(new AssetServiceProvider())
|
||||
->register(new SessionServiceProvider())
|
||||
->register(new HttpFragmentServiceProvider())
|
||||
->register(new ServiceControllerServiceProvider())
|
||||
->register(new ValidatorServiceProvider());
|
||||
|
||||
$this->register(new TwigServiceProvider(), [
|
||||
'twig.path' => $this->getAppDir().'/views',
|
||||
]);
|
||||
if (true === $this['debug']) {
|
||||
$this
|
||||
->register(new VarDumperServiceProvider())
|
||||
->register(new WebProfilerServiceProvider(),
|
||||
[
|
||||
'profiler.cache_dir' => $this->getCacheDir().'/profiler',
|
||||
'profiler.mount_prefix' => '/_profiler',
|
||||
])
|
||||
->register(new ExceptionHandlerServiceProvider())
|
||||
;
|
||||
}
|
||||
/*
|
||||
* Closure supports \Twig_Environment and Silex\Application as a second
|
||||
* parameter, but we never use Silex\Application so we leave it out.
|
||||
*/
|
||||
$this->extend('twig', function (\Twig_Environment $twig) {
|
||||
$twig->addGlobal('session', $this['session']);
|
||||
$twig->addExtension(new TranslationExtension(new Translator('en')));
|
||||
|
||||
return $twig;
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets up the rest of the providers for the application.
|
||||
*/
|
||||
protected function setUpProviders()
|
||||
{
|
||||
/*$this['app.mysql_authenticator'] = function($app) {
|
||||
return new Sikofitt\Security\MysqlAuthenticator($app['security.encoder_factory'], $app->getEntityManager());
|
||||
};
|
||||
$this['security.firewalls'] = array(
|
||||
|
||||
'login' => [
|
||||
'pattern' => '^/login$',
|
||||
'anonymous' => true,
|
||||
|
||||
|
||||
],
|
||||
'secured' => [
|
||||
'pattern' => '^/rsvp$',
|
||||
'guard' => [
|
||||
'authenticators' => [
|
||||
'app.mysql_authenticator',
|
||||
],
|
||||
'form' => [
|
||||
'login_path' => '/login',
|
||||
'check_path' => '/login',
|
||||
]
|
||||
|
||||
],
|
||||
|
||||
'users' => $this['users'] = function() {
|
||||
return new MySqlUserProvider($this['orm.em']);
|
||||
},
|
||||
],
|
||||
|
||||
|
||||
// configure where your users come from. Hardcode them, or load them from somewhere
|
||||
// http://silex.sensiolabs.org/doc/providers/security.html#defining-a-custom-user-provider
|
||||
|
||||
// 'anonymous' => true
|
||||
|
||||
);*/
|
||||
$this['protected_pages'] = function () {
|
||||
return [
|
||||
'gallery',
|
||||
'rsvp/update',
|
||||
];
|
||||
};
|
||||
|
||||
$this
|
||||
|
||||
->register(new CsrfServiceProvider())
|
||||
->register(new FormServiceProvider())
|
||||
//->register(new SecurityServiceProvider())
|
||||
;
|
||||
|
||||
$this->extend('form.extensions', function ($extensions) {
|
||||
return $extensions;
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets up the logger for the application.
|
||||
*/
|
||||
protected function setUpLogger()
|
||||
{
|
||||
if (true === $this->getDebug()) {
|
||||
$monologLevel = Logger::DEBUG;
|
||||
} else {
|
||||
$monologLevel = Logger::INFO;
|
||||
}
|
||||
$this->register(new MonologServiceProvider(), [
|
||||
'monolog.logfile' => $this->getLogDir().'/'.$this->getEnvironment().'.log',
|
||||
'monolog.level' => $monologLevel,
|
||||
]);
|
||||
$this->extend('monolog', function (Logger $monolog, Application $app) {
|
||||
$streamHandler = new StreamHandler($app['monolog.logfile']);
|
||||
$streamHandler->setFormatter(new ColoredLineFormatter(new TrafficLight()));
|
||||
$monolog->pushHandler($streamHandler);
|
||||
|
||||
return $monolog;
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets up the mailer for the application.
|
||||
*/
|
||||
protected function setUpMailer()
|
||||
{
|
||||
$this['swiftmailer.options'] = [
|
||||
'host' => 'mx.bgemi.net',
|
||||
'port' => '25',
|
||||
'username' => null,
|
||||
'password' => null,
|
||||
'encryption' => null,
|
||||
'auth_mode' => null,
|
||||
];
|
||||
$this->register(new SwiftmailerServiceProvider());
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
protected function getEnvironment(): string
|
||||
{
|
||||
$appEnv = getenv('APP_ENV');
|
||||
|
||||
if (false === $appEnv) {
|
||||
return 'development';
|
||||
} else {
|
||||
return $appEnv;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
{% extends "base.html.twig" %}
|
||||
{% block title %}Change password{% endblock title %}
|
||||
{% block body %}
|
||||
{% include "@FOSUser/ChangePassword/change_password_content.html.twig" %}
|
||||
{% endblock body %}
|
|
@ -0,0 +1,20 @@
|
|||
{% trans_default_domain 'FOSUserBundle' %}
|
||||
|
||||
<h2 class="uk-heading-line"><span>Change your password</span></h2>
|
||||
{{ form_start(form, { 'action': path('fos_user_change_password'), 'attr': { 'class': 'uk-form uk-form-horizontal fos_user_resetting_reset' } }) }}
|
||||
|
||||
{{ form_label(form.plainPassword.first, 'New password', {'label_attr':{'class':'uk-form-label uk-visible@m'}}) }}
|
||||
<div class="uk-form-controls uk-form-controls-text uk-margin-small-bottom">
|
||||
{{ form_errors(form.plainPassword.first) }}
|
||||
{{ form_widget(form.plainPassword.first, {'attr':{'class':'uk-input uk-form-large','placeholder':'New password'}}) }}
|
||||
</div>
|
||||
|
||||
{{ form_label(form.plainPassword.second, 'Repeat password', {'label_attr':{'class':'uk-form-label uk-visible@m'}}) }}
|
||||
<div class="uk-form-controls uk-form-controls-text">
|
||||
{{ form_errors(form.plainPassword.second) }}
|
||||
{{ form_widget(form.plainPassword.second, {'attr':{'class':'uk-input uk-form-large','placeholder':'Repeat password'}}) }}
|
||||
</div>
|
||||
<div class="uk-margin-medium-top uk-width-1-1 uk-text-right@m">
|
||||
<input type="submit" class="uk-button uk-width-1-1@s uk-width-1-2@m uk-button-large uk-button-primary" value="{{ 'resetting.reset.submit'|trans }}" />
|
||||
</div>
|
||||
{{ form_end(form) }}
|
|
@ -0,0 +1,5 @@
|
|||
{% extends "base.html.twig" %}
|
||||
{% block title %}Edit Profile{% endblock title %}
|
||||
{% block body %}
|
||||
{% include "@FOSUser/Profile/edit_content.html.twig" %}
|
||||
{% endblock body %}
|
|
@ -0,0 +1,31 @@
|
|||
{% trans_default_domain 'FOSUserBundle' %}
|
||||
|
||||
|
||||
{{ form_errors(form) }}
|
||||
|
||||
|
||||
{{ form_start(form, { 'action': path('fos_user_profile_edit'), 'attr': { 'class': 'uk-form-horizontal fos_user_profile_edit' } }) }}
|
||||
{{ form_label(form.email) }}
|
||||
<div class="uk-form-controls uk-form-controls-text">
|
||||
{{ form_errors(form.email) }}
|
||||
{{ form_widget(form.email) }}
|
||||
</div>
|
||||
{{ form_label(form.name) }}
|
||||
<div class="uk-form-controls uk-form-controls-text">
|
||||
{{ form_errors(form.name) }}
|
||||
{{ form_widget(form.name) }}
|
||||
</div>
|
||||
{{ form_label(form.rsvp) }}
|
||||
<div class="uk-form-controls uk-form-controls-text">
|
||||
{{ form_errors(form.rsvp) }}
|
||||
{{ form_widget(form.rsvp) }}
|
||||
</div>
|
||||
|
||||
<div class="uk-margin-medium-top">
|
||||
<button type="submit" class="uk-button uk-button-large uk-width-1-1@s uk-width-1-3@m uk-align-right uk-button-primary" value="{{ 'profile.edit.submit'|trans }}">{{ 'profile.edit.submit'|trans }}</button>
|
||||
</div>
|
||||
<div class="uk-form-controls">
|
||||
<a href="{{ url('fos_user_profile_show') }}" title="Cancel" class="uk-width-1-1@s uk-width-1-3@m uk-button uk-button-large uk-button-danger uk-align-right">Cancel</a>
|
||||
</div>
|
||||
{{ form_rest(form) }}
|
||||
{{ form_end(form) }}
|
|
@ -0,0 +1,5 @@
|
|||
{% extends "base.html.twig" %}
|
||||
{% block title %}Profile{% endblock title %}
|
||||
{% block body %}
|
||||
{% include "@FOSUser/Profile/show_content.html.twig" %}
|
||||
{% endblock body %}
|
|
@ -0,0 +1,44 @@
|
|||
{% trans_default_domain 'SikofittDoughnutweddingBundle' %}
|
||||
|
||||
<h2 class="uk-width-1-1 uk-margin-medium-bottom uk-margin-remove-top uk-text-center">User Information</h2>
|
||||
|
||||
<div class="uk-width-1-1 uk-text-center uk-child-width-1-2" uk-grid>
|
||||
|
||||
<div><p class="uk-padding-small uk-text-right">{{ 'profile.name'|trans }}</p></div>
|
||||
<div><p class="uk-padding-small uk-text-left">{{ user.name }}</p></div>
|
||||
|
||||
<div><p class="uk-padding-small uk-text-right">{{ 'profile.email'|trans }}</p></div>
|
||||
<div><p class="uk-padding-small uk-text-left">{{ user.email }}</p></div>
|
||||
|
||||
<div><p class="uk-padding-small uk-text-right">{{ 'profile.rsvp'|trans }}</p></div>
|
||||
<div><p class="uk-padding-small uk-text-left">{% if user.rsvp is not null %}{{ user.rsvp.guests }}{% else %}0{% endif %}</p></div>
|
||||
|
||||
</div>
|
||||
<div class="uk-width-1-1 uk-margin-medium uk-text-center">
|
||||
You can change your password <a href="{{ path('fos_user_change_password') }}">here.</a>
|
||||
</div>
|
||||
<div class="uk-width-1-2@m uk-width-1-1@s uk-align-center uk-margin-small uk-first-column">
|
||||
<a href="{{ url('fos_user_profile_edit') }}" title="Edit profile" class="uk-button-large uk-button uk-button-primary uk-width-1-1">Edit Information</a>
|
||||
</div>
|
||||
<div class="uk-width-1-6@m uk-visible@m uk-margin-large-bottom@s uk-position-bottom-right">
|
||||
|
||||
<ul class="uk-iconnav uk-iconnav-vertical">
|
||||
<li>{% set serviceActiveClass ='' %}
|
||||
{% if user.facebookid is not null %}{% set serviceActiveClass ='uk-icon-facebook' %}{% endif %}
|
||||
<a class="{{ serviceActiveClass }} uk-align-left uk-text-center uk-login uk-login-facebook" href="{{ url("hwi_oauth_service_redirect", {service: "facebook"}) }}" uk-icon="icon: facebook; ratio:1.5"></a>
|
||||
</li>{% set serviceActiveClass='' %}
|
||||
<li>{% if user.googleid is not null %}{% set serviceActiveClass ='uk-icon-google' %}{% endif %}
|
||||
<a class="{{ serviceActiveClass }} uk-align-left uk-text-center uk-login uk-login-google" href="{{ url("hwi_oauth_service_redirect", {service: "google"}) }}" uk-icon="icon: google; ratio:1.5"></a>
|
||||
</li>{% set serviceActiveClass='' %}
|
||||
<li>{% if user.twitterid is not null %}{% set serviceActiveClass ='uk-icon-twitter' %}{% endif %}
|
||||
<a class="{{ serviceActiveClass }} uk-align-left uk-text-center uk-login uk-login-twitter" href="{{ url("hwi_oauth_service_redirect", {service: "twitter"}) }}" uk-icon="icon: twitter; ratio:1.5"></a>
|
||||
</li>{% set serviceActiveClass='' %}
|
||||
<li>{% if user.yahooid is not null %}{% set serviceActiveClass = 'uk-icon-yahoo' %}{% endif %}
|
||||
<a class="{{ serviceActiveClass }} uk-align-left uk-text-center uk-login uk-login-yahoo" href="{{ url("hwi_oauth_service_redirect", {service: "yahoo"}) }}" uk-icon="icon: yahoo; ratio:1.5"></a>
|
||||
</li>{% set serviceActiveClass='' %}
|
||||
<li>{% if user.amazonid is not null %}{% set serviceActiveClass = 'uk-icon-amazon' %}{% endif %}
|
||||
<a class="{{ serviceActiveClass }} uk-align-left uk-login uk-login-amazon" href="{{ url("hwi_oauth_service_redirect", {service: "amazon"}) }}" uk-icon="icon: amazon; ratio:1.5"></a>
|
||||
</li>{% set serviceActiveClass='' %}
|
||||
</ul>
|
||||
</div>
|
||||
<div class="uk-margin-medium uk-width-1-1 uk-text-center">{{ 'profile.member_since'|trans({'%date%':user.created|date('l F jS, Y (h:i a)')}) }}</div>
|
|
@ -0,0 +1,11 @@
|
|||
{% extends "base.html.twig" %}
|
||||
|
||||
{% trans_default_domain 'FOSUserBundle' %}
|
||||
|
||||
{% block body %}
|
||||
<p class="uk-text-lead uk-text-center">{{ 'registration.confirmed'|trans({'%username%': user.firstname }) }}</p>
|
||||
<p class="uk-text-large uk-text-center"><a href="{{ url('sikofitt_doughnutwedding_default_index') }}" title="Home page">Continue to the home page.</a></p>
|
||||
{% if targetUrl %}
|
||||
<p class="uk-text-center"><a href="{{ targetUrl }}">{{ 'registration.back'|trans }}</a></p>
|
||||
{% endif %}
|
||||
{% endblock body %}
|
|
@ -0,0 +1,5 @@
|
|||
{% extends "base.html.twig" %}
|
||||
{% block title %}Register{% endblock title %}
|
||||
{% block body %}
|
||||
{% include "@FOSUser/Registration/register_content.html.twig" %}
|
||||
{% endblock body %}
|
|
@ -0,0 +1,78 @@
|
|||
{% trans_default_domain 'FOSUserBundle' %}
|
||||
{% set show_social = false %}
|
||||
|
||||
{{ form_errors(form) }}
|
||||
|
||||
{% set ownerCount = hwi_oauth_resource_owners()|length %}
|
||||
|
||||
<div class="uk-margin-medium-bottom uk-child-width-1-{{ ownerCount +1 }} uk-visible@m uk-grid-small uk-grid-divider" uk-grid>
|
||||
<div class="uk-text-center">
|
||||
Connect with :
|
||||
</div>
|
||||
{% for owner in hwi_oauth_resource_owners() %}
|
||||
<div class="uk-text-center uk-registration-connect">
|
||||
<a href="{{ hwi_oauth_login_url(owner) }}">{{ owner | trans({}, 'HWIOAuthBundle')|capitalize }}</a>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
{{ form_start(form, {'method': 'post', 'action': path('fos_user_registration_register'), 'attr': {'class': 'fos_user_registration_register uk-form'}}) }}
|
||||
<fieldset class="uk-fieldset">
|
||||
<legend class="uk-legend">
|
||||
Register account
|
||||
</legend>
|
||||
<div class="uk-margin">
|
||||
<div hidden>{{ form_label(form.email) }}</div>
|
||||
<div class="uk-form-controls uk-form-controls-text">
|
||||
{{ form_errors(form.email) }}
|
||||
{{ form_widget(form.email, { 'attr': {'placeholder':'Email address', 'class':'uk-input uk-form-large uk-padding-small'} }) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-margin">
|
||||
<div hidden>{{ form_label(form.name, 'Name', { 'label_attr':{'class':'uk-form-label'}}) }}</div>
|
||||
<div class="uk-form-controls uk-form-controls-text">
|
||||
{{ form_errors(form.name) }}
|
||||
{{ form_widget(form.name, { 'attr': {'placeholder':'Name', 'class':'uk-input uk-form-large uk-padding-small'} }) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="uk-margin">
|
||||
<div hidden>{{ form_label(form.rsvp) }}</div>
|
||||
<div class="uk-form-controls uk-form-controls-text">
|
||||
{{ form_errors(form.rsvp) }}
|
||||
{{ form_widget(form.rsvp) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-margin">
|
||||
<div hidden>{{ form_label(form.comment, null, { 'label_attr':{'class':'uk-form-label'}}) }}</div>
|
||||
<div class="uk-form-controls uk-form-controls-text">
|
||||
{{ form_errors(form.comment) }}
|
||||
{{ form_widget(form.comment) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-margin">
|
||||
<div hidden>{{ form_label(form.plainPassword.first, 'Password', { 'label_attr':{'class':'uk-form-label'}}) }}</div>
|
||||
<div class="uk-form-controls uk-form-controls-text">
|
||||
{{ form_errors(form.plainPassword) }}
|
||||
{{ form_widget(form.plainPassword.first, { 'attr': {'placeholder':'Password', 'class':'uk-input uk-form-large uk-padding-small'} }) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-margin">
|
||||
<div hidden>{{ form_label(form.plainPassword.second, 'Repeat ', { 'label_attr':{'class':'uk-form-label'}}) }}</div>
|
||||
<div class="uk-form-controls uk-form-controls-text">
|
||||
{{ form_widget(form.plainPassword.second, { 'attr': {'placeholder':'Repeat Password', 'class':'uk-input uk-form-large uk-padding-small'} }) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="uk-margin uk-grid" uk-grid>
|
||||
<div class="uk-width-1-2">
|
||||
<button type="submit" value="Register" class="uk-button uk-button-primary uk-button-large">Register</button>
|
||||
</div>
|
||||
<div class="uk-form-controls-text uk-text-muted uk-margin-small-top uk-width-1-2">
|
||||
<div class="uk-text-large uk-visible@m">Already have an account? Login <a href="{{ path('fos_user_security_login') }}">here</a>.</div>
|
||||
<div class="uk-hidden@m uk-padding-small uk-padding-remove-vertical">Already have an account? Login <a href="{{ path('fos_user_security_login') }}">here</a>.</div>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
{{ form_end(form) }}
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
{% extends "base.html.twig" %}
|
||||
{% block title %}Check Email{% endblock title %}
|
||||
{% trans_default_domain 'FOSUserBundle' %}
|
||||
{% block body %}
|
||||
<p class="uk-width-1-1 uk-text-center uk-text-lead">
|
||||
{{ 'resetting.check_email'|trans({'%tokenLifetime%': tokenLifetime})|nl2br }}
|
||||
</p>
|
||||
{% endblock %}
|
|
@ -0,0 +1,25 @@
|
|||
{% trans_default_domain 'FOSUserBundle' %}
|
||||
{% block subject %}
|
||||
{%- autoescape false -%}
|
||||
[Doughnut Wedding] Password reset requested
|
||||
{%- endautoescape -%}
|
||||
{% endblock %}
|
||||
|
||||
{% block body_text %}
|
||||
{% autoescape false %}
|
||||
Hi {{ user.name }},
|
||||
|
||||
Someone has requested to reset the password for your account.
|
||||
|
||||
If this was not you please ignore this message. No further action is required.
|
||||
|
||||
To reset your password please visit this link in your browser :
|
||||
{{ confirmationUrl }}
|
||||
|
||||
Thank you,
|
||||
Katrina and Eric ❤
|
||||
|
||||
{% endautoescape %}
|
||||
{% endblock %}
|
||||
{% block body_html %}
|
||||
{% endblock %}
|
|
@ -0,0 +1,5 @@
|
|||
{% extends "base.html.twig" %}
|
||||
{% block title %}Reset Password{% endblock title %}
|
||||
{% block body %}
|
||||
{% include "@FOSUser/Resetting/request_content.html.twig" %}
|
||||
{% endblock body %}
|
|
@ -0,0 +1,16 @@
|
|||
{% trans_default_domain 'FOSUserBundle' %}
|
||||
<h1 class="uk-h2 uk-text-center">Reset your password</h1>
|
||||
|
||||
<form action="{{ path('fos_user_resetting_send_email') }}" method="POST" class="uk-form uk-form-horizontal">
|
||||
<label class="uk-form-label uk-visible@m required" for="username">Email address</label>
|
||||
<div class="uk-form-controls uk-form-controls-text">
|
||||
<div class="uk-inline uk-width-1-1">
|
||||
<span class="uk-form-icon uk-form-icon-flip" uk-icon="icon: mail"></span>
|
||||
<input type="text" id="username" name="username" required="required" class="uk-input uk-form-large uk-margin-small-bottom" placeholder="Email address">
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-width-1-1 uk-text-right@m">
|
||||
<input type="submit" value="{{ 'resetting.request.submit'|trans }}" class="uk-button uk-button-primary uk-button-large uk-width-1-1@s uk-width-1-3@m" />
|
||||
</div>
|
||||
|
||||
</form>
|
|
@ -0,0 +1,6 @@
|
|||
{% extends "base.html.twig" %}
|
||||
|
||||
{% block title %}Reset Password{% endblock title %}
|
||||
{% block body %}
|
||||
{% include "@FOSUser/Resetting/reset_content.html.twig" %}
|
||||
{% endblock body %}
|
|
@ -0,0 +1,19 @@
|
|||
{% trans_default_domain 'FOSUserBundle' %}
|
||||
<h2 class="uk-heading-line"><span>Reset your password</span></h2>
|
||||
{{ form_start(form, { 'action': path('fos_user_resetting_reset', {'token': token}), 'attr': { 'class': 'uk-form uk-form-horizontal fos_user_resetting_reset' } }) }}
|
||||
|
||||
{{ form_label(form.plainPassword.first, 'New password', {'label_attr':{'class':'uk-form-label uk-visible@m'}}) }}
|
||||
<div class="uk-form-controls uk-form-controls-text uk-margin-small-bottom">
|
||||
{{ form_errors(form.plainPassword.first) }}
|
||||
{{ form_widget(form.plainPassword.first, {'attr':{'class':'uk-input uk-form-large','placeholder':'New password'}}) }}
|
||||
</div>
|
||||
|
||||
{{ form_label(form.plainPassword.second, 'Repeat password', {'label_attr':{'class':'uk-form-label uk-visible@m'}}) }}
|
||||
<div class="uk-form-controls uk-form-controls-text">
|
||||
{{ form_errors(form.plainPassword.second) }}
|
||||
{{ form_widget(form.plainPassword.second, {'attr':{'class':'uk-input uk-form-large','placeholder':'Repeat password'}}) }}
|
||||
</div>
|
||||
<div class="uk-margin-medium-top uk-width-1-1 uk-text-right@m">
|
||||
<input type="submit" class="uk-button uk-width-1-1@s uk-width-1-2@m uk-button-large uk-button-primary" value="{{ 'resetting.reset.submit'|trans }}" />
|
||||
</div>
|
||||
{{ form_end(form) }}
|
|
@ -0,0 +1,5 @@
|
|||
{% extends "base.html.twig" %}
|
||||
{% block title %}Login{% endblock title %}
|
||||
{% block body %}
|
||||
{{ include('@FOSUser/Security/login_content.html.twig') }}
|
||||
{% endblock body %}
|
|
@ -0,0 +1,43 @@
|
|||
{% trans_default_domain 'FOSUserBundle' %}
|
||||
|
||||
{% if error %}
|
||||
<div class="uk-alert uk-width-1-1">{{ error.messageKey|trans(error.messageData, 'security') }}</div>
|
||||
{% endif %}
|
||||
|
||||
<form action="{{ path("fos_user_security_check") }}" method="post" class="uk-login-form uk-form uk-form-stacked">
|
||||
{% if csrf_token %}
|
||||
<input type="hidden" name="_csrf_token" value="{{ csrf_token }}" />
|
||||
{% endif %}
|
||||
<div class="uk-width-1-1 uk-text-center">
|
||||
<a href="{{ path('fos_user_registration_register') }}" class="uk-text-large" title="Create an account">Create an account</a>
|
||||
</div>
|
||||
<div class="uk-child-width-1-1@s uk-width-1-2@m uk-align-center uk-grid-collapse uk-grid uk-grid-stack" uk-grid>
|
||||
<div>
|
||||
<label class="uk-form-label uk-hidden" for="username">{{ 'security.login.username'|trans }}</label>
|
||||
<div class="uk-inline uk-width-1-1 uk-form-controls uk-form-controls-text">
|
||||
<span class="uk-form-icon" uk-icon="icon: user"></span>
|
||||
<input type="text" placeholder="Username or Email" class="uk-input uk-form-large" id="username" name="_username" value="{{ last_username }}" required="required" />
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label class="uk-form-label uk-hidden" for="password">{{ 'security.login.password'|trans }}</label>
|
||||
<div class="uk-inline uk-width-1-1 uk-form-controls uk-form-controls-text">
|
||||
<span class="uk-form-icon" uk-icon="icon: lock"></span>
|
||||
<input class="uk-input uk-form-large" placeholder="Password" type="password" id="password" name="_password" required="required" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-child-width-1-2@m uk-child-width-1-1@s uk-padding-remove-horizontal uk-padding-small uk-grid-collapse" uk-grid>
|
||||
<div>
|
||||
<button type="submit" class="uk-button uk-button-large uk-button-primary uk-width-1-1@s uk-align-left@m" id="_submit" name="_submit" value="{{ 'security.login.submit'|trans }}">{{ 'security.login.submit'|trans }}</button>
|
||||
</div>
|
||||
<div class="uk-text-right uk-margin-small-top uk-form-controls">
|
||||
<label for="remember_me">{{ 'security.login.remember_me'|trans }}</label>
|
||||
<input type="checkbox" class="uk-checkbox uk-margin-medium-left" id="remember_me" name="_remember_me" value="on" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-width-1-1 uk-text-center">
|
||||
<p>Forgot your password? <a href="{{ path('fos_user_resetting_request') }}">Click here</a></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
|
@ -0,0 +1,33 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
</head>
|
||||
<body>
|
||||
<div>
|
||||
{% if is_granted("IS_AUTHENTICATED_REMEMBERED") %}
|
||||
{{ 'layout.logged_in_as'|trans({'%username%': app.user.username}, 'FOSUserBundle') }} |
|
||||
<a href="{{ path('fos_user_security_logout') }}">
|
||||
{{ 'layout.logout'|trans({}, 'FOSUserBundle') }}
|
||||
</a>
|
||||
{% else %}
|
||||
<a href="{{ path('fos_user_security_login') }}">{{ 'layout.login'|trans({}, 'FOSUserBundle') }}</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{% if app.request.hasPreviousSession %}
|
||||
{% for type, messages in app.session.flashbag.all() %}
|
||||
{% for message in messages %}
|
||||
<div class="flash-{{ type }}">
|
||||
{{ message }}
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
<div>
|
||||
{% block fos_user_content %}
|
||||
{% endblock fos_user_content %}
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,27 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
{% block title %}Register with {{ service }}{% endblock title %}
|
||||
{% block body %}
|
||||
<h3>{{ 'header.connecting' | trans({}, 'HWIOAuthBundle')}}</h3>
|
||||
<div class="uk-width-1-1">
|
||||
|
||||
<p>{{ 'connect.confirm.text' | trans({'%service%': service | trans({}, 'HWIOAuthBundle'), '%name%': userInformation.email}, 'HWIOAuthBundle') }}</p>
|
||||
<p>
|
||||
{{ form_start(form, {'action': path('hwi_oauth_connect_service', {'service': service, 'key': key}), 'attr': {'class': 'fos_user_registration_register'}}) }}
|
||||
{{ form_widget(form) }}
|
||||
<div class="uk-grid uk-child-width-1-2@m uk-child-width-1-1@s uk-grid-margin-medium" uk-grid>
|
||||
<div>
|
||||
<button type="submit" class="uk-width-1-1 uk-button uk-button-large uk-button-primary">{{ 'connect.confirm.submit' | trans({}, 'HWIOAuthBundle') }}</button>
|
||||
</div>
|
||||
<div>
|
||||
<a href="{{ path('fos_user_profile_show') }}" class="uk-width-1-1 uk-button uk-button-large uk-button-danger">{{ 'connect.confirm.cancel' | trans({}, 'HWIOAuthBundle') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
{{ form_end(form) }}
|
||||
</p>
|
||||
<div class="span6">
|
||||
{% if userInformation.profilePicture is defined and userInformation.profilePicture is not empty %}
|
||||
<img src="{{ userInformation.profilePicture }}" />
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock body %}
|
|
@ -0,0 +1,9 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}Connected account with {{ userInformation.resourceOwner.name }}{% endblock title %}
|
||||
{% block body %}
|
||||
<p class="uk-text-center uk-text-lead">Connected account with {{ userInformation.resourceOwner.name }}</p>
|
||||
<p class="uk-text-center">
|
||||
<a href="{{ path('fos_user_profile_show') }}" title="Go to profile">Go to your profile</a>
|
||||
</p>
|
||||
{% endblock body %}
|
|
@ -0,0 +1,17 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
{% block title %}Connect with your social media accounts{% endblock title %}
|
||||
{% block body %}
|
||||
{% if error is defined and error %}
|
||||
<div class="uk-alert uk-alert-danger" data-uk-alert>
|
||||
<a href="#" class="uk-alert-close uk-close"></a>
|
||||
<p>{{ error }}</p>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="uk-text-center uk-child-width-1-1@s uk-child-width-1-5@m" uk-grid>
|
||||
{% for owner in hwi_oauth_resource_owners() %}
|
||||
<div class="uk-text-center">
|
||||
<a href="{{ hwi_oauth_login_url(owner) }}">{{ owner | trans({}, 'HWIOAuthBundle') }}</a>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endblock body %}
|
|
@ -0,0 +1,82 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
{% block title %}Register with {{ userInformation.resourceOwner.name|capitalize }}{% endblock title %}
|
||||
{% block body %}
|
||||
|
||||
<div class="uk-width-1-1">
|
||||
{% if userInformation.response.name is defined %}
|
||||
{% set name = userInformation.response.name %}
|
||||
{% elseif userInformation.response.data.username is defined %}
|
||||
{% set name = userInformation.response.data.username %}
|
||||
{% elseif userInformation.resourceOwner.name == 'yahoo' %}
|
||||
{% set name = userInformation.nickname %}
|
||||
{% else %}
|
||||
{% set name = userInformation.email %}
|
||||
{% endif %}
|
||||
|
||||
<div class="uk-card uk-card-default uk-margin-small-bottom uk-width-1-1">
|
||||
<div class="uk-card-header">
|
||||
<div class="uk-grid-small uk-flex-middle" uk-grid>
|
||||
<div class="uk-width-auto">
|
||||
{% if userInformation.profilePicture is not empty %}
|
||||
<img class="" width="40" height="40" src="{{ userInformation.profilePicture }}">
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="uk-width-expand">
|
||||
<p class="uk-text-large uk-card-title uk-margin-remove-bottom">Register with {{ userInformation.resourceOwner.name|capitalize }} account?</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-card-footer">
|
||||
<p class="uk-margin-remove-top">
|
||||
{{ 'header.register' | trans({'%name%': name }, 'HWIOAuthBundle') }}?
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{ form_start(form, {'action': path('hwi_oauth_connect_registration', {'key': key}), 'attr': {'class': 'hwi_oauth_registration_register uk-form uk-form-horizontal'}}) }}
|
||||
{{ form_label(form.name, 'Name', {'label_attr':{'class':'uk-form-label uk-visible@m'}}) }}
|
||||
<div class="uk-form-controls uk-form-controls-text uk-margin-small-bottom">
|
||||
{{ form_errors(form.name) }}
|
||||
{{ form_widget(form.name, {'value': name,'attr':{'class':'uk-input uk-form-large', 'placeholder':'Your name'}}) }}
|
||||
</div>
|
||||
{{ form_label(form.email, 'Email address', {'label_attr':{'class':'uk-form-label uk-visible@m'}}) }}
|
||||
<div class="uk-form-controls uk-form-controls-text uk-margin-small-bottom">
|
||||
{{ form_errors(form.email) }}
|
||||
{{ form_widget(form.email, {'attr':{'class':'uk-input uk-form-large', 'placeholder':'Email address'}}) }}
|
||||
</div>
|
||||
{{ form_label(form.plainPassword.first, 'Password', {'label_attr':{'class':'uk-form-label uk-visible@m'}}) }}
|
||||
<div class="uk-form-controls uk-form-controls-text uk-margin-small-bottom">
|
||||
{{ form_errors(form.plainPassword.first) }}
|
||||
{{ form_widget(form.plainPassword.first, {'attr':{'class':'uk-input uk-form-large', 'placeholder':'Create password'}}) }}
|
||||
</div>
|
||||
{{ form_label(form.plainPassword.second, 'Repeat password', {'label_attr':{'class':'uk-form-label uk-visible@m'}}) }}
|
||||
<div class="uk-form-controls uk-form-controls-text uk-margin-small-bottom">
|
||||
{{ form_errors(form.plainPassword.second) }}
|
||||
{{ form_widget(form.plainPassword.second, {'attr':{'class':'uk-input uk-form-large', 'placeholder':'Repeat password'}}) }}
|
||||
</div>
|
||||
{{ form_label(form.rsvp, 'Number of guests? (including yourself)', {'label_attr':{'class':'uk-form-label uk-visible@m'}}) }}
|
||||
<div class="uk-form-controls uk-form-controls-text uk-margin-small-bottom">
|
||||
{{ form_errors(form.rsvp) }}
|
||||
{{ form_widget(form.rsvp, {'attr':{'placeholder':'Number of guests including yourself.'}}) }}
|
||||
</div>
|
||||
{{ form_label(form.comment) }}
|
||||
<div class="uk-form-controls uk-form-controls-text">
|
||||
{{ form_errors(form.comment) }}
|
||||
{{ form_widget(form.comment) }}
|
||||
</div>
|
||||
<div class="uk-child-width-1-2@m uk-child-width-1-1@s uk-grid uk-grid-divider uk-margin-medium-top" uk-grid>
|
||||
<div>
|
||||
<input type="submit" class="uk-width-1-1 uk-button-primary uk-button uk-button-large"
|
||||
value="{{ 'connect.registration.submit'|trans({}, 'HWIOAuthBundle') }}"/>
|
||||
</div>
|
||||
<div>
|
||||
<a href="{{ path('hwi_oauth_connect') }}"
|
||||
class="uk-width-1-1 uk-button uk-button-large uk-button-danger">{{ 'connect.registration.cancel' | trans({}, 'HWIOAuthBundle') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
{{ form_end(form) }}
|
||||
|
||||
</div>
|
||||
|
||||
{% endblock body %}
|
|
@ -0,0 +1,8 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
{% block title %}Successfully Registered with {{ userInformation.resourceOwner.name }}.{% endblock title %}
|
||||
{% block body %}
|
||||
<p class="uk-text-lead uk-text-center">{{ 'header.registration_success' | trans({'%username%': app.user.username}, 'HWIOAuthBundle') }}</p>
|
||||
<p class="uk-text-center">
|
||||
<a href="{{ path('fos_user_profile_show') }}" title="Go to profile">Go to your profile</a>
|
||||
</p>
|
||||
{% endblock body %}
|
|
@ -0,0 +1,21 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
{% block title %}Error {{ status_code }} {{ status_text }}{% endblock title %}
|
||||
|
||||
{% block body %}
|
||||
|
||||
<p class="uk-margin-remove-top uk-text-center uk-404 uk-doughnut">
|
||||
{{ status_code|replace({0:'<span class="uk-spin uk-background-cover uk-inline"></span>'})|raw }}
|
||||
</p>
|
||||
<div class="uk-width-1-1">
|
||||
<hr class="uk-divider-icon" />
|
||||
<p class="uk-text-center uk-text-lead">{{ status_text }}</p>
|
||||
<p class="uk-text-center uk-text-large">
|
||||
Sorry about that. I tried to get the page <span class="uk-text-bold">{{ app.request.requestUri }}</span> but it told me <span class="uk-text-bold">{{ status_text }}</span>.
|
||||
</p>
|
||||
<p class="uk-text-center uk-text-large">
|
||||
I don't know what this means because it's not a 1 or a 0, but I sent an email with the error details to my owner and I'm sure they'll get right on it.
|
||||
</p>
|
||||
<p class="uk-text-center uk-text-large">The best I can do right now is redirect you to the <a href="{{ path('sikofitt_doughnutwedding_default_index') }}" title="Home page">home</a> page.</p>
|
||||
</div>
|
||||
|
||||
{% endblock body %}
|
|
@ -0,0 +1,16 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
{% block title %}Error {{ status_code }} {{ status_text }}{% endblock title %}
|
||||
{% block body %}
|
||||
|
||||
<p class="uk-margin-remove-top uk-text-center uk-404 uk-doughnut">
|
||||
4<span class="uk-spin uk-background-cover uk-inline"></span>3
|
||||
</p>
|
||||
<div class="uk-width-1-1">
|
||||
<hr class="uk-divider-icon" />
|
||||
<p class="uk-text-center uk-text-lead">
|
||||
So it turns out I can't give you access to this page. Sorry about that.
|
||||
</p>
|
||||
<p class="uk-text-center uk-text-large">The best I can do is redirect you to the <a href="{{ path('sikofitt_doughnutwedding_default_index') }}" title="Home page">home</a> page.</p>
|
||||
</div>
|
||||
|
||||
{% endblock body %}
|
|
@ -0,0 +1,14 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
{% block title %}Error {{ status_code }} {{ status_text }}{% endblock title %}
|
||||
{% block body %}
|
||||
|
||||
<p class="uk-margin-remove-top uk-text-center uk-404 uk-doughnut">
|
||||
4<span class="uk-spin uk-background-cover uk-inline"></span>4
|
||||
</p>
|
||||
<div class="uk-width-1-1">
|
||||
<hr class="uk-divider-icon" />
|
||||
<p class="uk-text-center uk-text-lead">I wish the page <span class="uk-text-bold">'{{ app.request.requestUri }}'</span> existed, I really do. Unfortunately it does not.</p>
|
||||
<p class="uk-text-center uk-text-large">The best I can do is redirect you to the <a href="{{ path('sikofitt_doughnutwedding_default_index') }}" title="Home page">home</a> page.</p>
|
||||
</div>
|
||||
|
||||
{% endblock body %}
|
|
@ -0,0 +1,31 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
{% block title %}Error {{ status_code }} {{ status_text }}{% endblock title %}
|
||||
{% block body %}
|
||||
<h2 class="uk-text-center uk-text-lead uk-text-danger uk-margin-remove-top">
|
||||
What did you do!! <small>Just kidding ..</small>
|
||||
</h2>
|
||||
<p class="uk-margin-remove-top uk-text-center uk-404 uk-doughnut">
|
||||
5<span class="uk-spin uk-background-cover uk-inline"></span><span class="uk-spin uk-background-cover uk-inline"></span>
|
||||
</p>
|
||||
<p class="uk-margin-remove-top uk-text-center uk-404 uk-doughnut">
|
||||
|
||||
</p>
|
||||
<hr class="uk-divider-icon" />
|
||||
<blockquote cite="#">
|
||||
<p class="uk-margin-small-bottom uk-text-center">
|
||||
Nothing is more intolerable than to have to admit to yourself your own errors.
|
||||
</p>
|
||||
<footer class="uk-text-center">Ludwig van Beethoven</footer>
|
||||
</blockquote>
|
||||
|
||||
<p class="uk-text-center uk-text-lead">
|
||||
A message has been sent with the details of the error.<br />
|
||||
We will fix it as soon as possible.
|
||||
</p>
|
||||
<p class="uk-text-center uk-text-large">
|
||||
Sorry for any inconvenience caused.
|
||||
</p>
|
||||
<p class="uk-text-center">
|
||||
<a href="{{ path('sikofitt_doughnutwedding_default_index') }}" class="uk-width-1-1@s uk-width-1-2@s uk-button uk-button-primary" title="Home page">Go to the home page</a>
|
||||
</p>
|
||||
{% endblock body %}
|
|
@ -0,0 +1,9 @@
|
|||
profile.yes: Yep!
|
||||
profile.no: Nope!
|
||||
profile.name: Name
|
||||
profile.email: Email address
|
||||
profile.family: Immediate Family Member
|
||||
profile.family_side: Family Side
|
||||
profile.family_side_data: You're here for %family_side%!
|
||||
profile.rsvp: Current guests including yourself.
|
||||
profile.member_since: You've been a user since %date%!
|
|
@ -0,0 +1 @@
|
|||
profile.name: Name
|
|
@ -0,0 +1 @@
|
|||
profile.name: Name
|
|
@ -0,0 +1,125 @@
|
|||
{% if form is defined %}
|
||||
{% form_theme form with [_self, 'form_errors.html.twig'] %}
|
||||
{% endif %}
|
||||
|
||||
{% set bucket = 'https://storage.googleapis.com/zgluzzkwodfky2m0ytbhmjhmmzqzntq2ngy3ndjmntyxmzg4' %}
|
||||
<!DOCTYPE html>
|
||||
<html lang="en-us">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>{% block title %}{% endblock title %}{% if app.request.requestUri != '/' %} | {% endif %}♥ Doughnut Wedding</title>
|
||||
<meta name="viewport" id="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=10.0,initial-scale=1.0">
|
||||
<!-- Android -->
|
||||
<meta name="theme-color" content="#f7a59d" />
|
||||
<!-- Windows Phone -->
|
||||
<meta name="msapplication-navbutton-color" content="#9dd3d5" />
|
||||
<!-- iOS Safari -->
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="#9dd3d5" />
|
||||
<link rel="stylesheet" type="text/css" href="{{ asset('css/doughnutwedding.min.css') }}" />
|
||||
<link href="https://fonts.googleapis.com/css?family=Raleway:200,300" rel="stylesheet" />
|
||||
<link rel="stylesheet" type="text/css" href="{{ asset('css/select2.min.css') }}" />
|
||||
<link rel="shortcut icon" type="image/png" href="{{ bucket }}/assets/favicon.png" />
|
||||
<link rel="apple-touch-icon-precomposed" href="{{ bucket }}/assets/favicon.png" />
|
||||
{% block stylesheets %}{% endblock %}
|
||||
<script src="{{ asset('js/vendor.min.js') }}" type="text/javascript"></script>
|
||||
<script src="{{ asset('js/doughnutwedding.min.js') }}" type="text/javascript"></script>
|
||||
{% block javascripts %}{% endblock %}
|
||||
</head>
|
||||
<body>
|
||||
{% if app.request.requestUri == path('sikofitt_doughnutwedding_default_index') %}
|
||||
<div class="uk-preload">
|
||||
<div class="our-story"></div>
|
||||
<div class="photo-gallery"></div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% block debug %}
|
||||
{% endblock %}
|
||||
<div class="uk-offcanvas-content">
|
||||
|
||||
<div class="uk-login-container uk-container uk-container-expand uk-visible@m uk-position-top-right">
|
||||
<nav class="uk-navbar uk-navbar-container uk-navbar-transparent" uk-navbar>
|
||||
<div class="uk-navbar-right uk-responsive-width">
|
||||
<ul class="uk-navbar-nav">
|
||||
{% if is_granted('IS_AUTHENTICATED_FULLY') %}
|
||||
<li><a href="{{ path('fos_user_profile_show') }}">{{ app.user.name }}</a></li>
|
||||
<div class="uk-navbar-item">|</div>
|
||||
<li><a class="" href="{{ path('sikofitt_doughnutwedding_gallery_upload') }}" title="Upload a wedding photo">Upload a photo</a></li>
|
||||
<div class="uk-navbar-item">|</div>
|
||||
<li><a class="" href="{{ path('fos_user_security_logout') }}" title="Logout">Logout</a></li>
|
||||
{% else %}
|
||||
<li><a class="" href="{{ path('fos_user_security_login') }}" title="Login">Login</a></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
<div class="uk-container uk-container-expand uk-hidden@m">
|
||||
<nav class="uk-navbar uk-margin-small-top">
|
||||
<div class="uk-navbar-left uk-width-medium">
|
||||
<a class="{% if app.request.requestUri == path('sikofitt_doughnutwedding_default_index') %}uk-animation-slide-left{% endif %}" href="{{ path('sikofitt_doughnutwedding_default_index') }}"><img src="{{ bucket }}/assets/logo.png" /></a>
|
||||
</div>
|
||||
<div class="uk-navbar-right">
|
||||
<a uk-navbar-toggle-icon="" href="#offcanvas" uk-toggle="" class="uk-navbar-toggle uk-hidden@m uk-navbar-toggle-icon uk-icon"></a>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
<div class="uk-container-small uk-container uk-margin-medium-top uk-margin-medium-bottom">
|
||||
|
||||
<div class="uk-visible@m uk-responsive-width uk-width-3-4 uk-align-center">
|
||||
<div class="uk-logo {% if app.request.requestUri == '/' %}uk-animation-scale-up{% endif %} uk-transform-origin-bottom-center">
|
||||
{% if app.request.requestUri == '/' %}
|
||||
<h2 class="uk-text-center">ERIC + KATRINA'S</h2>
|
||||
{% endif %}
|
||||
<a href="{{ path('sikofitt_doughnutwedding_default_index') }}"><img class="uk-logo" src="{{ bucket }}/assets/logo.png" /></a>
|
||||
{% if app.request.requestUri == '/' %}
|
||||
<h3 class="uk-margin-small-top uk-text-center">MAY 12TH, 2017</h3>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>{% set currentUrl = app.request.requestUri %}
|
||||
{% if currentUrl != path('sikofitt_doughnutwedding_default_index') %}
|
||||
<div class="uk-navigation-container uk-container uk-container-expand uk-visible@m">
|
||||
<nav class="uk-navbar uk-navbar-container uk-navbar-transparent" uk-navbar>
|
||||
<div class="uk-navbar-center uk-width-expand uk-margin-medium-bottom">
|
||||
<ul class="uk-navbar-nav uk-doughnut-main-nav uk-child-width-1-5 uk-width-1-1">
|
||||
<li class="{% if currentUrl == path('sikofitt_doughnutwedding_default_ourstory') %}uk-active{% endif %}">
|
||||
<a href="{{ path('sikofitt_doughnutwedding_default_ourstory') }}" title="Our Story">Our Story</a>
|
||||
</li>
|
||||
<li class="{% if currentUrl == path('fos_user_profile_edit') %}uk-active{% endif %}">
|
||||
<a href="{{ path('fos_user_profile_edit') }}" title="RSVP">RSVP</a>
|
||||
</li>
|
||||
<li class="{% if currentUrl == path('sikofitt_doughnutwedding_gallery_index') %}uk-active{% endif %}">
|
||||
<a href="{{ path('sikofitt_doughnutwedding_gallery_index') }}" title="Photos!">Photo Gallery</a>
|
||||
</li>
|
||||
<li class="{% if currentUrl == path('sikofitt_doughnutwedding_default_location') %}uk-active{% endif %}">
|
||||
<a href="{{ path('sikofitt_doughnutwedding_default_location') }}" title="Location">Location</a>
|
||||
</li>
|
||||
<li class="{% if currentUrl == path('sikofitt_doughnutwedding_default_contact') %}uk-active{% endif %}">
|
||||
<a href="{{ path('sikofitt_doughnutwedding_default_contact') }}" title="Get In Touch">Get In Touch</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% include 'flash_messages.html.twig' %}
|
||||
|
||||
|
||||
{% block body %}{% endblock %}
|
||||
|
||||
{% include "social_login.html.twig" %}
|
||||
{% block footer %}{% endblock %}
|
||||
</div>
|
||||
{% include 'off_canvas.html.twig' %}
|
||||
</div>
|
||||
<script>
|
||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
||||
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
|
||||
|
||||
ga('create', 'UA-98404954-1', 'auto');
|
||||
ga('send', 'pageview');
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,62 @@
|
|||
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block body %}
|
||||
<div class="uk-home uk-child-width-1-3@s uk-grid-match uk-grid-small" uk-grid>
|
||||
<div>
|
||||
<div class="uk-animation-fade uk-background-cover uk-background-fade uk-our-story-home uk-height-large uk-card uk-card-default uk-card-body uk-flex uk-flex-center uk-flex-middle">
|
||||
<a href="{{ path('sikofitt_doughnutwedding_default_ourstory') }}" class="uk-position-cover"></a>
|
||||
<div class="uk-light uk-width-1-1 uk-overlay uk-margin-large-top uk-position-center">
|
||||
<h3 class="uk-position-cover uk-text-center">
|
||||
<a href="{{ path('sikofitt_doughnutwedding_default_ourstory') }}" class="uk-position-cover">our story</a>
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="uk-background-cover uk-background-fade uk-doughnut-rsvp uk-margin-small-bottom uk-height-small uk-card uk-card-default uk-card-body uk-flex uk-flex-center uk-flex-middle">
|
||||
<a href="{{ path('fos_user_profile_edit') }}" class="uk-position-cover"></a>
|
||||
<div class="uk-light uk-width-1-1 uk-overlay uk-margin-small-top uk-position-center">
|
||||
<h3 class="uk-position-cover uk-text-center"><a href="{{ path('fos_user_profile_edit') }}" class="uk-position-cover">RSVP</a></h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-height-medium uk-background-cover uk-background-fade uk-photo-home uk-card uk-card-default uk-card-body uk-flex uk-flex-center uk-flex-middle">
|
||||
<a href="{{ path('sikofitt_doughnutwedding_gallery_index') }}" class="uk-position-cover"></a>
|
||||
<div class="uk-light uk-width-1-1 uk-overlay uk-margin-small-top uk-position-center">
|
||||
<h3 class="uk-position-cover uk-text-center"><a href="{{ path('sikofitt_doughnutwedding_gallery_index') }}" class="uk-position-cover">photo gallery</a></h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="uk-height-medium uk-background-cover uk-margin-small-bottom uk-location-home uk-card uk-card-default uk-card-body uk-flex uk-flex-center uk-flex-middle">
|
||||
<a href="{{ path('sikofitt_doughnutwedding_default_location') }}" class="uk-position-cover"></a>
|
||||
<div class="uk-light uk-width-1-1 uk-overlay uk-position-center uk-margin-small-top">
|
||||
<h3 class="uk-position-cover uk-text-center"><a href="{{ path('sikofitt_doughnutwedding_default_location') }}" class="uk-position-cover">location</a></h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-height-small uk-background-cover uk-background-fade uk-doughnut-get-in-touch-home uk-card uk-card-default uk-card-body uk-flex uk-flex-center uk-flex-middle">
|
||||
<a href="{{ path('sikofitt_doughnutwedding_default_contact') }}" class="uk-position-cover"></a>
|
||||
<div class="uk-light uk-width-1-1 uk-overlay uk-position-center uk-margin-small-top">
|
||||
<h3 class="uk-position-cover uk-text-center"><a href="{{ path('sikofitt_doughnutwedding_default_contact') }}" class="uk-position-cover">get in touch</a></h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="uk-width-1-2@m uk-width-1-1@s">
|
||||
<p class="uk-text-lead uk-padding-remove-vertical">Want to attend but can't make it to Oregon?</p>
|
||||
</div>
|
||||
<div class="uk-width-1-2@m uk-width-1-1@s">
|
||||
<p class="uk-text-meta">
|
||||
Watch us tie the knot on Facebook or Instagram! We know many of you wont be here in person. so we'll be broadcasting the ceremony live. Join our wedding group on Facebook or follow us on Instagram and you'll be able to see the doughnut festivities as they happen!
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="uk-width-1-1 uk-grid-match uk-grid-small">
|
||||
<div class="uk-text-center uk-width-1-2@m uk-width-1-1@s uk-margin-small-bottom"><a href="https://www.facebook.com/groups/doughnutwedding" class="uk-width-1-1 uk-button uk-button-primary" target="_blank" title="Join Facebook Group">Join Facebook Group</a></div>
|
||||
<div class="uk-text-center uk-width-1-2@m uk-width-1-1@s uk-margin-small-bottom"><a href="https://instagram.com/doughnutwedding" class="uk-width-1-1 uk-button uk-button-primary" target="_blank" title="Follow on Instagram">Follow on Instagram</a></div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
|
@ -0,0 +1,71 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
{% block title %}Get in touch{% endblock title %}
|
||||
{% block body %}
|
||||
<h2 class="uk-text-center">Get in touch</h2>
|
||||
<p class="uk-margin-medium uk-text-center uk-text-lead">
|
||||
We'd LOVE to hear from you!<br /> Send us your wishes, thoughts, advice, stories or questions.
|
||||
</p>
|
||||
{% if(form is defined) %}
|
||||
{{ form_errors(form) }}
|
||||
{{ form_start(form) }}
|
||||
{{ form_label(form.name) }}
|
||||
<div class="uk-form-controls uk-form-controls-text">
|
||||
{{ form_errors(form.name) }}
|
||||
{{ form_widget(form.name) }}
|
||||
</div>
|
||||
{{ form_label(form.email) }}
|
||||
<div class="uk-form-controls uk-form-controls-text">
|
||||
{{ form_errors(form.email) }}
|
||||
{{ form_widget(form.email) }}
|
||||
</div>
|
||||
{{ form_label(form.subject) }}
|
||||
|
||||
<div class="uk-form-controls uk-form-controls-text">
|
||||
{{ form_errors(form.subject) }}
|
||||
{{ form_widget(form.subject) }}
|
||||
</div>
|
||||
{{ form_label(form.comment) }}
|
||||
|
||||
<div class="uk-form-controls uk-form-controls-text">
|
||||
{{ form_errors(form.comment) }}
|
||||
{{ form_widget(form.comment) }}
|
||||
</div>
|
||||
<div class="" uk-grid>
|
||||
<div class="uk-width-1-3@m uk-width-1-1@s">
|
||||
{{ form_widget(form.submit) }}
|
||||
</div>
|
||||
<div class="uk-width-2-3@m uk-width-1-1@s">
|
||||
<p class="uk-text-lead uk-text-center">
|
||||
#doughnutwedding
|
||||
</p>
|
||||
<p class="uk-text-center">
|
||||
Follow us on Instagram and Facebook for wedding updates!
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
{{ form_rest(form) }}
|
||||
{{ form_end(form) }}
|
||||
{% else %}
|
||||
<div class="uk-width-1-1 uk-text-center">
|
||||
<p class="uk-text-lead">
|
||||
{{ message|first }}
|
||||
</p>
|
||||
{% if message|length > 1 %}
|
||||
<p class="uk-text-center">{{ message|last }}</p>
|
||||
{% endif %}
|
||||
<p class="uk-text-lead uk-text-center">
|
||||
#doughnutwedding
|
||||
</p>
|
||||
<p class="uk-text-center">
|
||||
Follow us on Instagram and Facebook for wedding updates!
|
||||
</p>
|
||||
<p class="uk-text-center">
|
||||
<a class="uk-button uk-button-primary uk-button-large" href="{{ path('sikofitt_doughnutwedding_default_index') }}" title="Home">
|
||||
Go to the home page
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% endblock %}
|
|
@ -0,0 +1,15 @@
|
|||
<li class="uk-margin-small-top uk-animation-fade">
|
||||
<article class="uk-comment">
|
||||
<header class="uk-comment-header uk-grid-medium uk-flex-middle" uk-grid>
|
||||
<div class="uk-width-expand">
|
||||
<h4 class="uk-comment-title uk-text-capitalize">{{ comment.user.name }} <small class="uk-text-meta" title="{{ comment.created|date('l F jS, Y') }} at {{ comment.created|date('g:ia') }}" uk-tooltip> | {{ comment.created|date('m/d/y') }} at {{ comment.created|date('g:ia') }}</small></h4>
|
||||
</div>
|
||||
</header>
|
||||
<div class="uk-comment-body">
|
||||
<p>{{ comment.comment }}</p>
|
||||
</div>
|
||||
</article>
|
||||
</li>
|
||||
<li class="uk-margin-small">
|
||||
<p class="uk-heading-line uk-text-center"><span uk-icon="icon: heart;"></span></p>
|
||||
</li>
|
|
@ -0,0 +1,96 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}Location{% endblock title %}
|
||||
{% block stylesheets %}
|
||||
<link href="https://fonts.googleapis.com/css?family=Roboto:300,400" rel="stylesheet">
|
||||
<link href="https://cdn.mapkit.io/v1/infobox.css" rel="stylesheet" >
|
||||
|
||||
<style>
|
||||
#mapkit-9468 {
|
||||
padding-bottom: 45%;
|
||||
height: 0;
|
||||
|
||||
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
{% endblock %}
|
||||
{% block javascripts %}
|
||||
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDvLrOMB0SW_fTNrIvZF3bS1xtpg6JRRHs&extension=.js"></script>
|
||||
<script src="https://cdn.mapkit.io/v1/infobox.js"></script>
|
||||
{% include 'map.html.twig' %}
|
||||
{% endblock %}
|
||||
{% block body %}
|
||||
<div class="uk-grid-small uk-flex-center uk-grid-divider uk-child-width-1-1" uk-grid>
|
||||
<h2 class="uk-margin-remove-top uk-text-center">Our Doughnut Wedding</h2>
|
||||
<div>
|
||||
<div class="uk-overflow-hidden uk-height-medium">
|
||||
<img class="uk-transform-origin-top-right uk-animation-reverse uk-animation-kenburns" src="{{ bucket }}/assets/location.jpg" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="uk-margin-medium-bottom">
|
||||
<h2 class="uk-text-center">Wedding</h2>
|
||||
|
||||
<p class="uk-text-large uk-text-center">
|
||||
The ceremony will begin at 2pm at Voodoo Doughnut Too -- located where Sandy,
|
||||
Davis and 15th meet. The shop is just across the street from Portland's famous
|
||||
Sandy Hut. You can't miss the pink box building! There is limited parking at the venue,
|
||||
but street parking is easy to find.
|
||||
We'll be serving Voodoo Doughnuts and coffee immediately after the ceremony.
|
||||
</p>
|
||||
<h2 class="uk-text-center">Reception</h2>
|
||||
<p class="uk-text-large uk-text-center">
|
||||
A reception will be held at the Bar Bar patio from 4pm to 7pm. Street parking is available.
|
||||
</p>
|
||||
<div class="uk-width-1-1">
|
||||
<h2 class="uk-text-center uk-heading-line"><span uk-icon="icon: heart;"></span></h2>
|
||||
</div>
|
||||
<div class="uk-child-width-1-1@s uk-child-width-1-2@m" uk-grid>
|
||||
<div>
|
||||
<p class="uk-h3 uk-text-center">Voodoo Doughnut Too</p>
|
||||
<p class="uk-text-center">1501 NE Davis St.<br />Portland, Oregon
|
||||
(<a href="https://goo.gl/maps/bk4FpLdpud92" target="_blank" title="Voodoo Too on Google Maps">Map</a>)
|
||||
</p>
|
||||
<p class="uk-text-center uk-align-center">
|
||||
<a href="http://www.voodoodoughnut.com/doughnuts" target="_blank" title="Voodoo Doughnuts" class="uk-width-1-1@s uk-width-auto@m uk-button uk-button-primary">Check Out The Doughnuts!</a>
|
||||
</p>
|
||||
</div>
|
||||
<div>
|
||||
<p class="uk-h3 uk-text-center">Bar Bar</p>
|
||||
<p class="uk-text-center">3939 N. Mississippi Ave.<br />Portland, Oregon
|
||||
(<a href="https://goo.gl/maps/sBmLBeKr72q" target="_blank" title="Bar Bar on Google Maps">Map</a>)
|
||||
</p>
|
||||
<p class="uk-text-center uk-align-center">
|
||||
<a href="http://www.mississippistudios.com/bar-bar/" target="_blank" title="Mississippi Studios - Bar Bar" class="uk-width-1-1@s uk-width-auto@m uk-button uk-button-primary">Check Out Bar Bar!</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<h2 class="uk-text-center">Directions</h2>
|
||||
<h4 class="uk-text-center">From I-5 N</h4>
|
||||
<p class="uk-text-center">
|
||||
Use the right lane to take exit 300 for I-84 E/US-30 E toward Portland Airport/The Dalles
|
||||
</p>
|
||||
<p class="uk-text-center">
|
||||
Keep right, follow signs for Central Eastside Industrial District
|
||||
</p>
|
||||
<p class="uk-text-center">
|
||||
Continue on SE Water Ave. Take SE Stark St. and SE Sandy Blvd to NE Davis St
|
||||
</p>
|
||||
<h4 class="uk-text-center">From I-5 S</h4>
|
||||
<p class="uk-text-center">
|
||||
Continue on OR-99E N/SE Grand Ave. Drive to NE Davis St.
|
||||
</p>
|
||||
<p class="uk-text-center uk-text-large">
|
||||
<a href="https://goo.gl/maps/bk4FpLdpud92" class="uk-width-1-1@s uk-width-1-3@m uk-button uk-button-primary" title="Google maps" target="_blank">Open in Google Maps</a>
|
||||
</p>
|
||||
</div>
|
||||
<div class="">
|
||||
<div id='mapkit-9468'></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
|
@ -0,0 +1,39 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block body %}
|
||||
<p class="uk-text-lead uk-text-center">
|
||||
We are sorry, but we are in maintenance mode.
|
||||
</p>
|
||||
<p class="uk-text-center">
|
||||
We are busy upgrading the system and will be back shortly.<br />
|
||||
Thank you for your patience!
|
||||
</p>
|
||||
|
||||
<p class="uk-margin-remove-top uk-text-center uk-404 uk-doughnut">
|
||||
<span class="uk-spin uk-background-cover uk-inline"></span>
|
||||
</p>
|
||||
<progress id="progressbar" class="uk-progress uk-width-1-2@m uk-width-1-1@s uk-align-center" value="10" max="100"></progress>
|
||||
|
||||
|
||||
{% endblock %}
|
||||
{% block javascripts %}
|
||||
<script>
|
||||
|
||||
jQuery(function () {
|
||||
|
||||
var animate = setInterval(function () {
|
||||
var progress = jQuery('progress');
|
||||
progress && (progress.val(progress.val() + 10) );
|
||||
|
||||
if (!progress || progress.val() >= progress.attr('max')) {
|
||||
for(i=progress.attr('max');i>0;i--) {
|
||||
progress.val(i);
|
||||
}
|
||||
}
|
||||
|
||||
}, 1000);
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
{% endblock %}
|
|
@ -0,0 +1,168 @@
|
|||
<script>
|
||||
google.maps.event.addDomListener(window, 'load', init);
|
||||
var map, markersArray = [];
|
||||
|
||||
function bindInfoWindow(marker, map, location) {
|
||||
google.maps.event.addListener(marker, 'click', function() {
|
||||
function close(location) {
|
||||
location.ib.close();
|
||||
location.infoWindowVisible = false;
|
||||
location.ib = null;
|
||||
}
|
||||
|
||||
if (location.infoWindowVisible === true) {
|
||||
close(location);
|
||||
} else {
|
||||
markersArray.forEach(function(loc, index){
|
||||
if (loc.ib && loc.ib !== null) {
|
||||
close(loc);
|
||||
}
|
||||
});
|
||||
|
||||
var boxText = document.createElement('div');
|
||||
boxText.style.cssText = 'background: #fff;';
|
||||
boxText.classList.add('md-whiteframe-2dp');
|
||||
|
||||
function buildPieces(location, el, part, icon) {
|
||||
if (location[part] === '') {
|
||||
return '';
|
||||
} else if (location.iw[part]) {
|
||||
switch(el){
|
||||
case 'photo':
|
||||
if (location.photo){
|
||||
return '<div class="iw-photo" style="background-image: url(' + location.photo + ');"></div>';
|
||||
} else {
|
||||
return '';
|
||||
}
|
||||
break;
|
||||
case 'iw-toolbar':
|
||||
return '<div class="iw-toolbar"><h3 class="md-subhead">' + location.title + '</h3></div>';
|
||||
break;
|
||||
case 'div':
|
||||
switch(part){
|
||||
case 'email':
|
||||
return '<div class="iw-details"><i class="material-icons" style="color:#4285f4;"><img src="//cdn.mapkit.io/v1/icons/' + icon + '.svg"/></i><span><a href="mailto:' + location.email + '" target="_blank">' + location.email + '</a></span></div>';
|
||||
break;
|
||||
case 'web':
|
||||
return '<div class="iw-details"><i class="material-icons" style="color:#4285f4;"><img src="//cdn.mapkit.io/v1/icons/' + icon + '.svg"/></i><span><a href="' + location.web + '" target="_blank">' + location.web_formatted + '</a></span></div>';
|
||||
break;
|
||||
case 'desc':
|
||||
return '<label class="iw-desc" for="cb_details"><input type="checkbox" id="cb_details"/><h3 class="iw-x-details">Details</h3><i class="material-icons toggle-open-details"><img src="//cdn.mapkit.io/v1/icons/' + icon + '.svg"/></i><p class="iw-x-details">' + location.desc + '</p></label>';
|
||||
break;
|
||||
default:
|
||||
return '<div class="iw-details"><i class="material-icons"><img src="//cdn.mapkit.io/v1/icons/' + icon + '.svg"/></i><span>' + location[part] + '</span></div>';
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 'open_hours':
|
||||
var items = '';
|
||||
if (location.open_hours.length > 0){
|
||||
for (var i = 0; i < location.open_hours.length; ++i) {
|
||||
if (i !== 0){
|
||||
items += '<li><strong>' + location.open_hours[i].day + '</strong><strong>' + location.open_hours[i].hours +'</strong></li>';
|
||||
}
|
||||
var first = '<li><label for="cb_hours"><input type="checkbox" id="cb_hours"/><strong>' + location.open_hours[0].day + '</strong><strong>' + location.open_hours[0].hours +'</strong><i class="material-icons toggle-open-hours"><img src="//cdn.mapkit.io/v1/icons/keyboard_arrow_down.svg"/></i><ul>' + items + '</ul></label></li>';
|
||||
}
|
||||
return '<div class="iw-list"><i class="material-icons first-material-icons" style="color:#4285f4;"><img src="//cdn.mapkit.io/v1/icons/' + icon + '.svg"/></i><ul>' + first + '</ul></div>';
|
||||
} else {
|
||||
return '';
|
||||
}
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
||||
boxText.innerHTML =
|
||||
buildPieces(location, 'photo', 'photo', '') +
|
||||
buildPieces(location, 'iw-toolbar', 'title', '') +
|
||||
buildPieces(location, 'div', 'address', 'location_on') +
|
||||
buildPieces(location, 'div', 'web', 'public') +
|
||||
buildPieces(location, 'div', 'email', 'email') +
|
||||
buildPieces(location, 'div', 'tel', 'phone') +
|
||||
buildPieces(location, 'div', 'int_tel', 'phone') +
|
||||
buildPieces(location, 'open_hours', 'open_hours', 'access_time') +
|
||||
buildPieces(location, 'div', 'desc', 'keyboard_arrow_down');
|
||||
|
||||
var myOptions = {
|
||||
alignBottom: true,
|
||||
content: boxText,
|
||||
disableAutoPan: true,
|
||||
maxWidth: 0,
|
||||
pixelOffset: new google.maps.Size(-140, -40),
|
||||
zIndex: null,
|
||||
boxStyle: {
|
||||
opacity: 1,
|
||||
width: '280px'
|
||||
},
|
||||
closeBoxMargin: '0px 0px 0px 0px',
|
||||
infoBoxClearance: new google.maps.Size(1, 1),
|
||||
isHidden: false,
|
||||
pane: 'floatPane',
|
||||
enableEventPropagation: false
|
||||
};
|
||||
|
||||
location.ib = new InfoBox(myOptions);
|
||||
location.ib.open(map, marker);
|
||||
location.infoWindowVisible = true;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function init() {
|
||||
var mapOptions = {
|
||||
center: new google.maps.LatLng(45.52464731651513, -122.65028208095099),
|
||||
zoom: 16,
|
||||
gestureHandling: 'auto',
|
||||
fullscreenControl: false,
|
||||
zoomControl: true,
|
||||
disableDoubleClickZoom: true,
|
||||
mapTypeControl: true,
|
||||
mapTypeControlOptions: {
|
||||
style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR,
|
||||
},
|
||||
scaleControl: true,
|
||||
scrollwheel: true,
|
||||
streetViewControl: true,
|
||||
draggable : true,
|
||||
clickableIcons: false,
|
||||
mapTypeId: google.maps.MapTypeId.ROADMAP,
|
||||
styles: [{"featureType":"administrative","stylers":[{"visibility":"off"}]},{"featureType":"poi","stylers":[{"visibility":"simplified"}]},{"featureType":"road","elementType":"labels","stylers":[{"visibility":"simplified"}]},{"featureType":"water","stylers":[{"visibility":"simplified"}]},{"featureType":"transit","stylers":[{"visibility":"simplified"}]},{"featureType":"landscape","stylers":[{"visibility":"simplified"}]},{"featureType":"road.highway","stylers":[{"visibility":"off"}]},{"featureType":"road.local","stylers":[{"visibility":"on"}]},{"featureType":"road.highway","elementType":"geometry","stylers":[{"visibility":"on"}]},{"featureType":"water","stylers":[{"color":"#84afa3"},{"lightness":52}]},{"stylers":[{"saturation":-17},{"gamma":0.36}]},{"featureType":"transit.line","elementType":"geometry","stylers":[{"color":"#3f518c"}]}]
|
||||
}
|
||||
var mapElement = document.getElementById('mapkit-9468');
|
||||
var map = new google.maps.Map(mapElement, mapOptions);
|
||||
var locations = [
|
||||
{"title":"Voodoo Doughnut Too","address":"1501 NE Davis St, Portland, OR 97232, USA","desc":"","tel":"(503) 235-2666","int_tel":"+1 503-235-2666","email":"","web":"http://voodoodoughnuts.com","web_formatted":"voodoodoughnuts.com","open":"","time":"0742","lat":45.5244594,"lng":-122.65047520000002,"vicinity":"1501 Northeast Davis Street, Portland","open_hours":[{"day":"Monday","hours":"open24hours","$$hashKey":"object:1722"},{"day":"Tuesday","hours":"open24hours","$$hashKey":"object:1723"},{"day":"Wednesday","hours":"open24hours","$$hashKey":"object:1724"},{"day":"Thursday","hours":"open24hours","$$hashKey":"object:1725"},{"day":"Friday","hours":"open24hours","$$hashKey":"object:1726"},{"day":"Saturday","hours":"open24hours","$$hashKey":"object:1727"},{"day":"Sunday","hours":"open24hours","$$hashKey":"object:1728"}],"marker":{"fillColor":"#4CAF50","fillOpacity":1,"strokeWeight":0,"scale":1.5,"path":"M10.2,0C4.6,0,0,4.6,0,10.2c0,6.9,7.8,6.3,10.2,26.4c2.5-20.1,10.2-19.5,10.2-26.4C20.4,4.6,15.9,0,10.2,0z M10.2,13.9c-2.4,0-4.3-1.9-4.3-4.3s1.9-4.3,4.3-4.3s4.3,1.9,4.3,4.3C14.6,12,12.6,13.9,10.2,13.9z","anchor":{"x":10,"y":30},"origin":{"x":0,"y":0},"style":3},"iw":{"address":true,"desc":true,"email":true,"enable":true,"int_tel":true,"open":true,"open_hours":true,"photo":true,"tel":true,"title":true,"web":true}}
|
||||
];
|
||||
|
||||
var layer = new google.maps.TrafficLayer();
|
||||
layer.setMap(map);
|
||||
|
||||
for (i = 0; i < locations.length; i++) {
|
||||
marker = new google.maps.Marker({
|
||||
icon: locations[i].marker,
|
||||
position: new google.maps.LatLng(locations[i].lat, locations[i].lng),
|
||||
map: map,
|
||||
title: locations[i].title,
|
||||
address: locations[i].address,
|
||||
desc: locations[i].desc,
|
||||
tel: locations[i].tel,
|
||||
int_tel: locations[i].int_tel,
|
||||
vicinity: locations[i].vicinity,
|
||||
open: locations[i].open,
|
||||
open_hours: locations[i].open_hours,
|
||||
photo: locations[i].photo,
|
||||
time: locations[i].time,
|
||||
email: locations[i].email,
|
||||
web: locations[i].web,
|
||||
iw: locations[i].iw
|
||||
});
|
||||
markersArray.push(marker);
|
||||
|
||||
if (locations[i].iw.enable === true){
|
||||
bindInfoWindow(marker, map, locations[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
|
@ -0,0 +1,68 @@
|
|||
<div id="offcanvas" uk-offcanvas="overlay: true; mode:reveal;">
|
||||
<div class="uk-offcanvas-bar uk-offcanvas-bar-animation">
|
||||
<button class="uk-offcanvas-close uk-align-right" type="button" uk-close></button>
|
||||
<ul class="uk-nav uk-nav-primary">
|
||||
<li class="uk-nav-header">Navigation</li>
|
||||
<li class="uk-nav-divider"></li>
|
||||
<li><a href="{{ path('sikofitt_doughnutwedding_default_index') }}"><span class="uk-margin-small-right" uk-icon="icon: home"></span> Home</a></li>
|
||||
<li><a href="{{ path('sikofitt_doughnutwedding_default_ourstory') }}"><span class="uk-margin-small-right" uk-icon="icon: heart"></span> Our Story</a></li>
|
||||
<li><a href="{{ path('fos_user_profile_edit') }}"><span class="uk-margin-small-right" uk-icon="icon: bolt"></span> RSVP</a></li>
|
||||
<li><a href="{{ path('sikofitt_doughnutwedding_gallery_index') }}"><span class="uk-margin-small-right" uk-icon="icon: image"></span> Gallery</a></li>
|
||||
{% if is_granted('IS_AUTHENTICATED_FULLY') %}
|
||||
<li><a href="{{ path('sikofitt_doughnutwedding_gallery_upload') }}">
|
||||
<span class="uk-margin-small-right" uk-icon="icon: cloud-upload"></span> Upload Photo</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
<li><a href="{{ path('sikofitt_doughnutwedding_default_location') }}"><span class="uk-margin-small-right" uk-icon="icon: location"></span> Location</a></li>
|
||||
<li><a href="{{ path('sikofitt_doughnutwedding_default_contact') }}"><span class="uk-margin-small-right" uk-icon="icon: mail"></span> Get In Touch</a></li>
|
||||
|
||||
{% if not is_granted('IS_AUTHENTICATED_FULLY') %} {% set social_prefix = 'Login with' %} {% else %} {% set social_prefix = 'Link Account With' %} {% endif %}
|
||||
{% if is_granted('IS_AUTHENTICATED_FULLY') %}
|
||||
<li class="uk-nav-header">{{ app.user.name }}</li>
|
||||
<li class="uk-nav-divider"></li>
|
||||
<li><a href="{{ path('fos_user_profile_show') }}"><span class="uk-margin-small-right" uk-icon="icon: user"></span> Profile</a></li>
|
||||
<li><a href="{{ path('fos_user_change_password') }}"><span class="uk-margin-small-right" uk-icon="icon: lock"></span> Change <span class="uk-display-inline-block uk-margin-medium-left">Password</span></a></li>
|
||||
<li><a href="{{ path('fos_user_security_logout') }}"><span class="uk-margin-small-right" uk-icon="icon: sign-out"></span> Logout</a></li>
|
||||
{% else %}
|
||||
<li class="uk-nav-header">User</li>
|
||||
<li class="uk-nav-divider"></li>
|
||||
<li><a href="{{ path('fos_user_security_login') }}" title="Login"><span class="uk-margin-small-right" uk-icon="icon: sign-in"></span> Login</a></li>
|
||||
<li><a href="{{ path('fos_user_registration_register') }}" title="Register"><span class="uk-margin-small-right" uk-icon="icon: star"></span> Register / RSVP</a></li>
|
||||
{% endif %}
|
||||
|
||||
<li>
|
||||
<div class="uk-position-fixed uk-position-bottom uk-padding-small">
|
||||
<p class="uk-text-meta uk-text-center uk-margin-small-bottom">{{ social_prefix }}</p>
|
||||
<ul class="uk-iconnav uk-text-center uk-child-width-1-5">
|
||||
<li>
|
||||
<a href="{{ path("hwi_oauth_service_redirect", {service: "facebook"}) }}">
|
||||
<span class="uk-margin-small-right" uk-icon="icon: facebook"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{ path("hwi_oauth_service_redirect", {service: "google"}) }}">
|
||||
<span class="uk-margin-small-right" uk-icon="icon: google"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{ path("hwi_oauth_service_redirect", {service: "twitter"}) }}">
|
||||
<span class="uk-margin-small-right" uk-icon="icon: twitter"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{ path("hwi_oauth_service_redirect", {service: "yahoo"}) }}">
|
||||
<span class="uk-margin-small-right" uk-icon="icon: yahoo"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{ path("hwi_oauth_service_redirect", {service: "amazon"}) }}">
|
||||
<span class="uk-margin-small-right" uk-icon="icon: amazon"></span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,29 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
{% block title %}Our Story{% endblock title %}
|
||||
{% block body %}
|
||||
<h2 class="uk-text-center uk-margin-remove-top" style="letter-spacing: .15rem">Our Story</h2>
|
||||
<hr class="uk-margin-small-bottom" />
|
||||
<div class="uk-overflow-hidden uk-margin-top-remove uk-margin-small-bottom">
|
||||
<img class="uk-responsive-width" src="{{ bucket }}/assets/our-story-hero.jpg" />
|
||||
</div>
|
||||
<div class="uk-column-1-1@m uk-column-divider">
|
||||
<hr class="uk-margin-small-bottom" />
|
||||
<p>Eric and Katrina first met online in 2014. After texting back and forth for a week they finally met in
|
||||
persion at a little coffee shop in Oakland on July 23, 2014. Eric was shy and Katrina was nervous, but somehow they found enough
|
||||
to talk about to agree to a second date where they continued to bond over coffee, cigarettes, and zombie movies.</p>
|
||||
<p>Ollie (Katrina's dog) loved Eric instantly, and Buddy and Mayu (Eric's cats) never murdered Katrina in her sleep, so they tolerated her.</p>
|
||||
<h2 class="uk-heading-line uk-text-center uk-text-capitalize"><span>This was a good sign.</span></h2>
|
||||
<p class="uk-column-span uk-text-lead uk-text-center"></p>
|
||||
<p>In August 2016 they packed everything into a couple of crates and moved up north to Portland, Oregon. After six months of the both of them working from home,
|
||||
they realized that they were still madly in love (despite seeing each other all day, every day.) So on February 6, 2017 Eric proposed to Katrina.</p>
|
||||
<h2 class="uk-heading-line uk-text-center"><span><span uk-icon="icon: heart"></span></span></h2>
|
||||
<p class="uk-column-span uk-text-lead uk-text-center uk-text-primary">
|
||||
On May 12, 2017 they will both say "yes" and live happily ever after til death do they part.
|
||||
</p>
|
||||
</div>
|
||||
<div class="uk-width-1-1">
|
||||
<p class="uk-text-center">
|
||||
<a href="{{ path('sikofitt_doughnutwedding_gallery_index') }}" class="uk-button uk-button-large uk-button-primary">Check out some photos!</a>
|
||||
</p>
|
||||
</div>
|
||||
{% endblock %}
|
|
@ -1,5 +1,5 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block body %}
|
||||
{% dump(request.flash) %}
|
||||
|
||||
{% endblock %}
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
|
||||
{% block body %}
|
||||
{{ dump(app.session.get('user')) }}
|
||||
|
||||
{{ form_start(form) }}
|
||||
<fieldset class="uk-fieldset uk-margin-large-bottom">
|
||||
<legend class="uk-legend">RSVP!</legend>
|
|
@ -0,0 +1,22 @@
|
|||
|
||||
{% if not is_granted('IS_AUTHENTICATED_FULLY') %}
|
||||
|
||||
<div class="uk-width-1-1 uk-padding-small uk-align-center">
|
||||
<h4 class="uk-heading-line uk-text-center">
|
||||
<span>
|
||||
<a href="{{ url('fos_user_security_login') }}" title="Login">Login</a> <span class="uk-margin-small-left uk-margin-small-right" uk-icon="icon: social"></span> <a href="{{ url('fos_user_registration_register') }}" title="Register">Register</a>
|
||||
</span>
|
||||
</h4>
|
||||
<ul class="uk-iconnav uk-grid uk-child-width-1-5" uk-grid>
|
||||
<li>
|
||||
<a class="uk-text-center uk-login uk-login-facebook" href="{{ url("hwi_oauth_service_redirect", {service: "facebook"}) }}" uk-icon="icon: facebook; ratio:1.5"></a>
|
||||
</li>
|
||||
<li><a class="uk-text-center uk-login uk-login-google" href="{{ url("hwi_oauth_service_redirect", {service: "google"}) }}" uk-icon="icon: google; ratio:1.5"></a></li>
|
||||
<li><a class="uk-text-center uk-login uk-login-twitter" href="{{ url("hwi_oauth_service_redirect", {service: "twitter"}) }}" uk-icon="icon: twitter; ratio:1.5"></a></li>
|
||||
<li><a class="uk-text-center uk-login uk-login-yahoo" href="{{ url("hwi_oauth_service_redirect", {service: "yahoo"}) }}" uk-icon="icon: yahoo; ratio:1.5"></a></li>
|
||||
<li><a class="uk-text-center uk-login uk-login-amazon" href="{{ url("hwi_oauth_service_redirect", {service: "amazon"}) }}" uk-icon="icon: amazon; ratio:1.5"></a></li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{% endif %}
|
|
@ -0,0 +1,22 @@
|
|||
|
||||
{% block body_text %}
|
||||
{% autoescape false %}
|
||||
Heyo!
|
||||
|
||||
{{ user.name }} has registered a new account with the email {{ user.email }} and is bringing {% if user.rsvp.guests != 0 %}{{ user.rsvp.guests - 1 }}{% else %}0{% endif %} guests with them.
|
||||
|
||||
{% if user.comment is not null %}
|
||||
{{ user.name }} wants you to know -
|
||||
{{ user.comment }}
|
||||
{% endif %}
|
||||
|
||||
{% if resourceOwner is defined and resourceOwner is not null %}
|
||||
{{ user.name }} connected with {{ resourceOwner|capitalize }}
|
||||
{% endif %}
|
||||
|
||||
Love,
|
||||
Your website ❤
|
||||
|
||||
{% endautoescape %}
|
||||
{% endblock %}
|
||||
{% block body_html %}{% endblock %}
|
|
@ -0,0 +1,29 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* doughnutwedding.com
|
||||
* Copyright (C) 2017 http://doughnutwedding.com eric@doughnutwedding.com
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
use Composer\Autoload\ClassLoader;
|
||||
use Doctrine\Common\Annotations\AnnotationRegistry;
|
||||
|
||||
/** @var ClassLoader $loader */
|
||||
$loader = require __DIR__.'/../vendor/autoload.php';
|
||||
|
||||
AnnotationRegistry::registerLoader([$loader, 'loadClass']);
|
||||
|
||||
return $loader;
|
|
@ -0,0 +1,239 @@
|
|||
imports:
|
||||
- { resource: parameters.yml }
|
||||
- { resource: security.yml }
|
||||
- { resource: services.yml }
|
||||
- { resource: snc_redis.yml }
|
||||
- { resource: easy_admin.yml }
|
||||
# Put parameters here that don't need to change on each machine where the app is deployed
|
||||
# http://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration
|
||||
parameters:
|
||||
locale: en
|
||||
google.credentials_file: '%kernel.root_dir%/config/google-storage-key.json'
|
||||
google.client_id: '100826355104373784827'
|
||||
google.application_name: 'doughnut-wedding'
|
||||
katrina.email: katrina.a.johnson@gmail.com
|
||||
eric.email: sikofitt@gmail.com
|
||||
maintenance: false
|
||||
framework:
|
||||
cache:
|
||||
app: cache.adapter.redis
|
||||
system: cache.adapter.redis
|
||||
default_redis_provider: "redis://redis"
|
||||
#esi: ~
|
||||
translator: { fallbacks: ['%locale%'] }
|
||||
|
||||
secret: '%secret%'
|
||||
router:
|
||||
resource: '%kernel.root_dir%/config/routing.yml'
|
||||
strict_requirements: ~
|
||||
form: ~
|
||||
csrf_protection: ~
|
||||
validation: { enable_annotations: true }
|
||||
#serializer: { enable_annotations: true }
|
||||
templating:
|
||||
engines: ['twig']
|
||||
default_locale: '%locale%'
|
||||
trusted_hosts: ~
|
||||
trusted_proxies: ~
|
||||
session:
|
||||
# http://symfony.com/doc/current/reference/configuration/framework.html#handler-id
|
||||
handler_id: snc_redis.session.handler
|
||||
#handler_id: session.handler.native_file
|
||||
#save_path: "%kernel.root_dir%/../var/sessions/%kernel.environment%"
|
||||
fragments: ~
|
||||
http_method_override: true
|
||||
assets: ~
|
||||
php_errors:
|
||||
log: true
|
||||
|
||||
# Twig Configuration
|
||||
twig:
|
||||
debug: '%kernel.debug%'
|
||||
strict_variables: '%kernel.debug%'
|
||||
form_themes:
|
||||
# other form themes
|
||||
- 'VichUploaderBundle:Form:fields.html.twig'
|
||||
|
||||
# Doctrine Configuration
|
||||
doctrine:
|
||||
dbal:
|
||||
driver: pdo_mysql
|
||||
host: '%database_host%'
|
||||
port: '%database_port%'
|
||||
dbname: '%database_name%'
|
||||
user: '%database_user%'
|
||||
password: '%database_password%'
|
||||
charset: UTF8
|
||||
# if using pdo_sqlite as your database driver:
|
||||
# 1. add the path in parameters.yml
|
||||
# e.g. database_path: "%kernel.root_dir%/../var/data/data.sqlite"
|
||||
# 2. Uncomment database_path in parameters.yml.dist
|
||||
# 3. Uncomment next line:
|
||||
#path: '%database_path%'
|
||||
|
||||
orm:
|
||||
query_cache_driver:
|
||||
type: predis
|
||||
host: ~
|
||||
port: ~
|
||||
instance_class: ~
|
||||
class: ~
|
||||
id: ~
|
||||
namespace: doughnut_query_cache
|
||||
cache_provider: 'predis'
|
||||
metadata_cache_driver:
|
||||
type: predis
|
||||
host: ~
|
||||
port: ~
|
||||
instance_class: ~
|
||||
class: ~
|
||||
id: ~
|
||||
namespace: doughnut_metadata_cache
|
||||
cache_provider: 'predis'
|
||||
result_cache_driver:
|
||||
type: predis
|
||||
host: ~
|
||||
port: ~
|
||||
instance_class: ~
|
||||
class: ~
|
||||
id: ~
|
||||
namespace: doughnut_result_cache
|
||||
cache_provider: 'predis'
|
||||
second_level_cache:
|
||||
region_cache_driver:
|
||||
type: predis
|
||||
host: ~
|
||||
port: ~
|
||||
instance_class: ~
|
||||
class: ~
|
||||
id: ~
|
||||
namespace: doughnut_region_cache
|
||||
cache_provider: 'predis'
|
||||
|
||||
auto_generate_proxy_classes: '%kernel.debug%'
|
||||
naming_strategy: doctrine.orm.naming_strategy.underscore
|
||||
auto_mapping: true
|
||||
|
||||
doctrine_cache:
|
||||
providers:
|
||||
predis:
|
||||
type: predis
|
||||
namespace: doughnut_doctrine
|
||||
|
||||
# Swiftmailer Configuration
|
||||
swiftmailer:
|
||||
transport: '%mailer_transport%'
|
||||
host: '%mailer_host%'
|
||||
port: '%mailer_port%'
|
||||
encryption: ssl
|
||||
auth_mode: login
|
||||
username: '%mailer_user%'
|
||||
password: '%mailer_password%'
|
||||
spool: { type: memory }
|
||||
sender_address: 'noreply@doughnutwedding.com'
|
||||
|
||||
hwi_oauth:
|
||||
firewall_names: [secured_area]
|
||||
resource_owners:
|
||||
facebook:
|
||||
type: facebook
|
||||
client_id: '1821112348143190'
|
||||
client_secret: '155bc602a7e30e4227625c29c8b124c6'
|
||||
scope: 'email,public_profile'
|
||||
google:
|
||||
type: google
|
||||
client_id: '1076229066413-3rf8q0qjurn4h190dagi98tp0a10obe6.apps.googleusercontent.com'
|
||||
client_secret: 'zQN32g_7lUz4dZ7E9kgY6nHe'
|
||||
scope: "email profile"
|
||||
options:
|
||||
access_type: offline
|
||||
amazon:
|
||||
type: amazon
|
||||
client_id: 'amzn1.application-oa2-client.15f87b8a4f23465b9022ba0a3f55610d'
|
||||
client_secret: '84d6f402c53386ae0f196062945f217dcc56e7b7122cffb76c95b6a5775d22e0'
|
||||
twitter:
|
||||
type: twitter
|
||||
client_id: 'YmXGQN2Az0eTlkwJrnaO2wR9r'
|
||||
client_secret: 'c73cBI7uj562BU4bBSHfNDcKHgM5aVo8sousjgUdDNBZFXxFHI'
|
||||
yahoo:
|
||||
type: yahoo
|
||||
client_id: 'dj0yJmk9SndXWm05Tk5yME9MJmQ9WVdrOVRYTkVUVWRHTjJjbWNHbzlNQS0tJnM9Y29uc3VtZXJzZWNyZXQmeD1lMw--'
|
||||
client_secret: '4f837f738d6c4df38eaedc7babe4d8f405f8cc0f'
|
||||
scope: 'sdps-r'
|
||||
fosub:
|
||||
# try 30 times to check if a username is available (foo, foo1, foo2 etc)
|
||||
username_iterations: 30
|
||||
|
||||
# mapping between resource owners (see below) and properties
|
||||
properties:
|
||||
google: googleId
|
||||
facebook: facebookId
|
||||
amazon: amazonId
|
||||
twitter: twitterId
|
||||
yahoo: yahooId
|
||||
# if you want to use 'connect' and do not use the FOSUB integration, configure these separately
|
||||
connect:
|
||||
confirmation: false
|
||||
failed_auth_path: fos_user_security_login
|
||||
fos_user:
|
||||
db_driver: orm # other valid values are 'mongodb' and 'couchdb'
|
||||
firewall_name: secured_area
|
||||
user_class: Sikofitt\DoughnutWeddingBundle\Entity\User
|
||||
from_email:
|
||||
address: 'noreply@doughnutwedding.com'
|
||||
sender_name: "[Doughnut Wedding] No Reply"
|
||||
profile:
|
||||
form:
|
||||
type: Sikofitt\DoughnutWeddingBundle\Form\ProfileEditType
|
||||
registration:
|
||||
form:
|
||||
type: Sikofitt\DoughnutWeddingBundle\Form\RegistrationType
|
||||
change_password:
|
||||
form:
|
||||
type: Sikofitt\DoughnutWeddingBundle\Form\ChangePasswordFormType
|
||||
|
||||
|
||||
knp_gaufrette:
|
||||
stream_wrapper: ~
|
||||
adapters:
|
||||
assets:
|
||||
google_cloud_storage:
|
||||
service_id: 'doughnutwedding.google_cloud_storage.service'
|
||||
bucket_name: 'zgluzzkwodfky2m0ytbhmjhmmzqzntq2ngy3ndjmntyxmzg4'
|
||||
options:
|
||||
acl: 'public'
|
||||
directory: 'assets'
|
||||
gallery:
|
||||
google_cloud_storage:
|
||||
service_id: 'doughnutwedding.google_cloud_storage.service'
|
||||
bucket_name: 'zgluzzkwodfky2m0ytbhmjhmmzqzntq2ngy3ndjmntyxmzg4'
|
||||
options:
|
||||
acl: 'public'
|
||||
directory: 'gallery'
|
||||
filesystems:
|
||||
cloud:
|
||||
adapter: gallery
|
||||
alias: google_cloud
|
||||
assets:
|
||||
adapter: assets
|
||||
alias: cloud_assets
|
||||
|
||||
vich_uploader:
|
||||
db_driver: orm
|
||||
mappings:
|
||||
gallery_image:
|
||||
namer:
|
||||
service: vich_uploader.namer_hash
|
||||
options:
|
||||
length: 32
|
||||
algorithm: 'sha3-512'
|
||||
delete_on_update: true
|
||||
delete_on_remove: true
|
||||
|
||||
sikofitt_doughnut_wedding:
|
||||
max_rsvps: ~
|
||||
|
||||
white_october_pagerfanta:
|
||||
exceptions_strategy:
|
||||
out_of_range_page: ~
|
||||
not_valid_current_page: ~
|
|
@ -0,0 +1,56 @@
|
|||
imports:
|
||||
- { resource: config.yml }
|
||||
|
||||
framework:
|
||||
router:
|
||||
resource: '%kernel.root_dir%/config/routing_dev.yml'
|
||||
strict_requirements: true
|
||||
profiler: { only_exceptions: false }
|
||||
|
||||
web_profiler:
|
||||
toolbar: true
|
||||
intercept_redirects: false
|
||||
|
||||
monolog:
|
||||
handlers:
|
||||
main:
|
||||
type: stream
|
||||
path: '%kernel.logs_dir%/%kernel.environment%.log'
|
||||
level: debug
|
||||
channels: ['!event']
|
||||
formatter: colored_line_formatter
|
||||
console:
|
||||
type: console
|
||||
channels: ['!event', '!doctrine']
|
||||
redis_logger:
|
||||
type: service
|
||||
id: snc_redis.monolog.handler
|
||||
level: debug
|
||||
|
||||
|
||||
# uncomment to get logging in your browser
|
||||
# you may have to allow bigger header sizes in your Web server configuration
|
||||
#firephp:
|
||||
# type: firephp
|
||||
# level: info
|
||||
#chromephp:
|
||||
# type: chromephp
|
||||
# level: info
|
||||
vich_uploader:
|
||||
storage: gaufrette
|
||||
mappings:
|
||||
gallery_image:
|
||||
upload_destination: cloud
|
||||
uri_prefix: /
|
||||
#storage: file_system
|
||||
#mappings:
|
||||
# gallery_image:
|
||||
# uri_prefix: /images/gallery
|
||||
# upload_destination: '%kernel.root_dir%/../web/images/gallery'
|
||||
|
||||
swiftmailer:
|
||||
transport: null
|
||||
# disable_delivery: true
|
||||
# transport: smtp
|
||||
# delivery_addresses: ['info@doughnutwedding.com']
|
||||
# sender_address: 'noreply@doughnutwedding.com'
|
|
@ -0,0 +1,45 @@
|
|||
imports:
|
||||
- { resource: config.yml }
|
||||
|
||||
monolog:
|
||||
handlers:
|
||||
main:
|
||||
type: fingers_crossed
|
||||
action_level: notice
|
||||
handler: redis
|
||||
console:
|
||||
type: console
|
||||
redis:
|
||||
type: service
|
||||
id: snc_redis.monolog.handler
|
||||
level: notice
|
||||
mail:
|
||||
type: fingers_crossed
|
||||
# 500 errors are logged at the critical level
|
||||
action_level: error
|
||||
excluded_404s:
|
||||
- ^/
|
||||
# to also log 400 level errors (but not 404's):
|
||||
# action_level: error
|
||||
#excluded_404s:
|
||||
# - ^/
|
||||
handler: deduplicated
|
||||
deduplicated:
|
||||
type: deduplication
|
||||
handler: swift
|
||||
swift:
|
||||
type: swift_mailer
|
||||
from_email: 'action@doughnutwedding.com'
|
||||
to_email: ['sikofitt@gmail.com','katrina.a.johnson@gmail.com']
|
||||
# or list of recipients
|
||||
# to_email: ['dev1@example.com', 'dev2@example.com', ...]
|
||||
subject: 'An Error Occurred! %%message%%'
|
||||
level: error
|
||||
formatter: monolog.formatter.html
|
||||
content_type: text/html
|
||||
vich_uploader:
|
||||
storage: gaufrette
|
||||
mappings:
|
||||
gallery_image:
|
||||
upload_destination: cloud
|
||||
uri_prefix: /
|
|
@ -0,0 +1,16 @@
|
|||
imports:
|
||||
- { resource: config_dev.yml }
|
||||
|
||||
framework:
|
||||
test: ~
|
||||
session:
|
||||
storage_id: session.storage.mock_file
|
||||
profiler:
|
||||
collect: false
|
||||
|
||||
web_profiler:
|
||||
toolbar: false
|
||||
intercept_redirects: false
|
||||
|
||||
swiftmailer:
|
||||
disable_delivery: true
|
|
@ -1,49 +0,0 @@
|
|||
{
|
||||
"report-only": false,
|
||||
"report-uri": "/csp_violation_reporting_endpoint",
|
||||
"base-uri": [],
|
||||
"default-src": {
|
||||
"self": true
|
||||
},
|
||||
"child-src": {
|
||||
"allow": [
|
||||
"https://www.youtube.com",
|
||||
"https://www.youtube-nocookie.com"
|
||||
],
|
||||
"self": false
|
||||
},
|
||||
"connect-src": {
|
||||
"self": true
|
||||
},
|
||||
"font-src": {
|
||||
"self": true,
|
||||
"data": true
|
||||
},
|
||||
"form-action": {
|
||||
"allow": [
|
||||
"http://localhost.doughnutwedding.com"
|
||||
],
|
||||
"self": true
|
||||
},
|
||||
"frame-ancestors": [],
|
||||
"img-src": {
|
||||
"self": true,
|
||||
"data": true
|
||||
},
|
||||
"media-src": [],
|
||||
"object-src": [],
|
||||
"plugin-types": [],
|
||||
"script-src": {
|
||||
"allow": [
|
||||
"https://www.google-analytics.com"
|
||||
],
|
||||
"self": true,
|
||||
"unsafe-inline": true,
|
||||
"unsafe-eval": true
|
||||
},
|
||||
"style-src": {
|
||||
"self": true,
|
||||
"unsafe-inline":true
|
||||
},
|
||||
"upgrade-insecure-requests": false
|
||||
}
|
|
@ -1,20 +0,0 @@
|
|||
#connections:
|
||||
# default:
|
||||
# connection:
|
||||
# driver: pdo_mysql
|
||||
# dbname: doughnut
|
||||
# password: doughnut
|
||||
# user: doughnut
|
||||
# host: mysql
|
||||
# annotation_autoloaders:
|
||||
# - 'class_exists'
|
||||
# metadata_mapping:
|
||||
# - type: 'Jgut\Slim\Doctrine\ManagerBuilder::METADATA_MAPPING_ANNOTATION'
|
||||
# path: ['__DIR__ . /../src/Sikofitt/App/Entity']
|
||||
dbs.options:
|
||||
default:
|
||||
driver: pdo_mysql
|
||||
host: mysql
|
||||
dbname: doughnut
|
||||
user: doughnut
|
||||
password: doughnut
|
|
@ -0,0 +1,80 @@
|
|||
easy_admin:
|
||||
site_name: Doughnut Wedding
|
||||
design:
|
||||
form_theme: 'horizontal'
|
||||
entities:
|
||||
ImageComments:
|
||||
class: Sikofitt\DoughnutWeddingBundle\Entity\ImageComment
|
||||
disabled_actions: ['new']
|
||||
User:
|
||||
class: Sikofitt\DoughnutWeddingBundle\Entity\User
|
||||
list:
|
||||
actions: ['show','edit','delete']
|
||||
fields: ['name','username','email','enabled','lastLogin','rsvp']
|
||||
edit:
|
||||
fields:
|
||||
- name
|
||||
- username
|
||||
- email
|
||||
- { property: rsvp, type_options: { disabled: true } }
|
||||
- comment
|
||||
- images
|
||||
- enabled
|
||||
- lastLogin
|
||||
- confirmationToken
|
||||
- passwordRequestedAt
|
||||
- roles
|
||||
- created
|
||||
- updated
|
||||
- facebookId
|
||||
- googleId
|
||||
- amazonId
|
||||
- instagramId
|
||||
- twitterId
|
||||
- yahooId
|
||||
show:
|
||||
fields:
|
||||
- name
|
||||
- username
|
||||
- email
|
||||
- rsvp
|
||||
- comment
|
||||
- images
|
||||
- enabled
|
||||
- lastLogin
|
||||
- passwordRequestedAt
|
||||
- roles
|
||||
- created
|
||||
- updated
|
||||
- facebookId
|
||||
- googleId
|
||||
- amazonId
|
||||
- instagramId
|
||||
- twitterId
|
||||
- yahooId
|
||||
Rsvp:
|
||||
class: Sikofitt\DoughnutWeddingBundle\Entity\Rsvp
|
||||
Contact:
|
||||
class: Sikofitt\DoughnutWeddingBundle\Entity\Contact
|
||||
list:
|
||||
actions: ['show','edit','delete']
|
||||
fields: ['userid','email','name','comment','createdAt']
|
||||
Images:
|
||||
class: Sikofitt\DoughnutWeddingBundle\Entity\Image
|
||||
image_base_path: 'https://storage.googleapis.com/zgluzzkwodfky2m0ytbhmjhmmzqzntq2ngy3ndjmntyxmzg4/gallery/'
|
||||
list:
|
||||
actions: ['show','delete']
|
||||
fields:
|
||||
- { property: 'imageName', label: 'Image', type: 'image', base_path: 'https://storage.googleapis.com/zgluzzkwodfky2m0ytbhmjhmmzqzntq2ngy3ndjmntyxmzg4/gallery/' }
|
||||
- description
|
||||
- category
|
||||
- tags
|
||||
- user
|
||||
form:
|
||||
fields:
|
||||
- { property: 'imageFile', type: 'vich_image', base_path: 'https://storage.googleapis.com/zgluzzkwodfky2m0ytbhmjhmmzqzntq2ngy3ndjmntyxmzg4/gallery/' }
|
||||
- description
|
||||
- { property: tags, type: 'collection'}
|
||||
- category
|
||||
- user
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"type": "service_account",
|
||||
"project_id": "doughnut-wedding",
|
||||
"private_key_id": "097ae8333fdb2ba046efe522e25cffda1163547a",
|
||||
"private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCpiZ7fjrZIBxIJ\nprUQdKA7ODlF698aOkJNBPr2tgV2X1Xb2SYObs3p3/nhR+4SijXU4yrQSfOdUBPS\nlyM+vbT1uEniRMNUqQWcJyZN4sT0MmG85wGh3zCGa6FbakKGC6nhH1DuT6o7T1v7\nxqR/Byp7/6rAUxy0Yhm2CmlWmrt0Oe1wx42N4m1t9865SrNzUNloRp0a9jUQWpew\nssoG3pYlbzv+KHE4BSTGJEu2ErpA5kOp+loIOlmveyb8ac+tHUHqozkzMQ5+Esyf\nnNCpzurq6hL/9piVhkd1Hyr947Vb3kz6dpDoeBZqCzXK/1n3d/VJjYpBvCVqq5xr\n34U7Bfa9AgMBAAECggEAdIY2QAlil5bkeuWtxSWji5BVLQ21Rd2M/ErUAwWQM4/K\n/1P8qCbYOErNAF3j77I21Z9dKdPqMNF9Dlz6yICzA8AqZ+5DIskZJf5ygU2/eOe3\n7ZIIuS0huQH44U/jcSZLGIPhqCnxItqkqiQZo4VVWeybe5ykOgbDDS+SvweSl4qq\ngILLaMsEzDSJZhwLnmAeRnd1REq1afrQtIF/aNo5vZj0WvcLIEkwkAHqcZAUy/ox\n5huswc3SiUA4ruJkEKTtHwUDqlQhQVGGrHV0tuFHCYfxUMu1/Zp5G6e4jUeAq7t6\nKCx4tFi6U1ETiZ8w18mhO/uWkDAa0A9qquo7v+xagQKBgQDV/1Zrzv1P09XztFaV\nmhueNLJ570Fy2MNa/gHIjWJFjJlknpfCXn4q0jFBfiKs2iReRTEni33mPtzdcONF\njps/zeGch+6Exp7I+zTji2JMtXs8CiAJfR388QLzDETg6jwSL4hLWadizlJzsVA8\n4PliLv7P1kJMhMswKrUazaaetQKBgQDK0FLOVuYhLPWP2RHu0nr5MSLneXRG+dKx\nNc4Dk00ms1O6NPdhWwmHcDfocJMmi0usDvs9XjxwCQHB4KrITODRpSq3M9fI3I+W\n/QUNZfRqf0bQFzRuiKOh5BAZub3Zil3h7htkcqP4TuLvXqoHs5z2mS1wFUdcukLv\nAN7nOI/06QKBgGY9Ur25K98Kt0py23coJI/GX4rQGzXSiCsd9h4qJkxSKysediT/\n3kl5GN1QdSKeKgf8CMr64xCw8fa+K2cdBeFK7MJLU1KOTmh5VEBuZG1/uzvpHntK\nEpy5TQ5vyyyl3ENYAEb3s3gKWOw7R7l+Rsd46nbDx/Mk8qq1jMccf8GNAoGAXhe6\nYxpz1+5o2tzlcfxaqyO9wtBZPtiGhEqnEoeTYqIN9TS/lH5M9HX+qisYSeiUKfYl\nX3pJ5dx34T/fW+A26WyMXcSClyCkyXMHlgi4FXSJIN+zJpjj+aa6RYUj7DpChiAW\nu0pogjnvFQjBL6OH7exw5TAqFH4hsYqg33shZokCgYBvYMEUN+ZtNlVkgMd6lPoG\noVxq/JwJZ8d48yQ8XP3N/8qmPiuMtD9JJi6ZV4S/qvlMt63KkmtRAACQFQyJSfYj\n9U4H3sJ13vzW2tuZ87d58fACnzgElpwxifKz9X/h9+9rrD8UHvdmzSHISh2E3I3T\nsOO36Is9YoCwwjNsN9BacA==\n-----END PRIVATE KEY-----\n",
|
||||
"client_email": "doughnut-wedding-images@doughnut-wedding.iam.gserviceaccount.com",
|
||||
"client_id": "108682906131804711525",
|
||||
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
|
||||
"token_uri": "https://accounts.google.com/o/oauth2/token",
|
||||
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
|
||||
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/doughnut-wedding-images%40doughnut-wedding.iam.gserviceaccount.com"
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
# This file is a "template" of what your parameters.yml file should look like
|
||||
# Set parameters here that may be different on each deployment target of the app, e.g. development, staging, production.
|
||||
# http://symfony.com/doc/current/best_practices/configuration.html#infrastructure-related-configuration
|
||||
parameters:
|
||||
database_host: 127.0.0.1
|
||||
database_port: ~
|
||||
database_name: symfony
|
||||
database_user: root
|
||||
database_password: ~
|
||||
# You should uncomment this if you want to use pdo_sqlite
|
||||
#database_path: "%kernel.root_dir%/data.db3"
|
||||
|
||||
mailer_transport: smtp
|
||||
mailer_host: 127.0.0.1
|
||||
mailer_user: ~
|
||||
mailer_password: ~
|
||||
mailer_port: ~
|
||||
|
||||
# A secret key that's used to generate certain security-related tokens
|
||||
secret: ThisTokenIsNotSoSecretChangeIt
|
|
@ -0,0 +1,65 @@
|
|||
hwi_oauth_redirect:
|
||||
resource: "@HWIOAuthBundle/Resources/config/routing/redirect.xml"
|
||||
prefix: /connect
|
||||
|
||||
|
||||
hwi_oauth_connect:
|
||||
resource: "@HWIOAuthBundle/Resources/config/routing/connect.xml"
|
||||
prefix: /connect
|
||||
|
||||
|
||||
hwi_oauth_login:
|
||||
resource: "@HWIOAuthBundle/Resources/config/routing/login.xml"
|
||||
prefix: /connect
|
||||
|
||||
|
||||
facebook_login:
|
||||
path: /login/callback/facebook
|
||||
|
||||
google_login:
|
||||
path: /login/callback/google
|
||||
|
||||
twitter_login:
|
||||
path: /login/callback/twitter
|
||||
|
||||
amazon_login:
|
||||
path: /login/callback/amazon
|
||||
|
||||
yahoo_login:
|
||||
path: /login/callback/yahoo
|
||||
|
||||
|
||||
fos_user_security:
|
||||
resource: "@FOSUserBundle/Resources/config/routing/security.xml"
|
||||
|
||||
|
||||
fos_user_profile:
|
||||
resource: "@FOSUserBundle/Resources/config/routing/profile.xml"
|
||||
prefix: /user/profile
|
||||
|
||||
|
||||
fos_user_register:
|
||||
resource: "@FOSUserBundle/Resources/config/routing/registration.xml"
|
||||
prefix: /register
|
||||
|
||||
|
||||
fos_user_resetting:
|
||||
resource: "@FOSUserBundle/Resources/config/routing/resetting.xml"
|
||||
prefix: /resetting
|
||||
|
||||
|
||||
fos_user_change_password:
|
||||
resource: "@FOSUserBundle/Resources/config/routing/change_password.xml"
|
||||
prefix: /user/profile
|
||||
|
||||
|
||||
easy_admin_bundle:
|
||||
resource: "@EasyAdminBundle/Controller/"
|
||||
type: annotation
|
||||
prefix: /admin
|
||||
|
||||
|
||||
sikofitt_doughnut_wedding:
|
||||
resource: "@SikofittDoughnutWeddingBundle/Controller/"
|
||||
type: annotation
|
||||
prefix: /
|
|
@ -0,0 +1,14 @@
|
|||
_wdt:
|
||||
resource: '@WebProfilerBundle/Resources/config/routing/wdt.xml'
|
||||
prefix: /_wdt
|
||||
|
||||
_profiler:
|
||||
resource: '@WebProfilerBundle/Resources/config/routing/profiler.xml'
|
||||
prefix: /_profiler
|
||||
|
||||
_errors:
|
||||
resource: '@TwigBundle/Resources/config/routing/errors.xml'
|
||||
prefix: /_error
|
||||
|
||||
_main:
|
||||
resource: routing.yml
|
|
@ -0,0 +1,57 @@
|
|||
# To get started with security, check out the documentation:
|
||||
# http://symfony.com/doc/current/security.html
|
||||
security:
|
||||
encoders:
|
||||
FOS\UserBundle\Model\UserInterface:
|
||||
algorithm: bcrypt
|
||||
cost: 14
|
||||
role_hierarchy:
|
||||
ROLE_USER: ~
|
||||
ROLE_ADMIN: [ROLE_USER]
|
||||
ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN]
|
||||
|
||||
providers:
|
||||
fos_userbundle:
|
||||
id: fos_user.user_provider.username_email
|
||||
firewalls:
|
||||
# disables authentication for assets and the profiler, adapt it according to your needs
|
||||
dev:
|
||||
pattern: ^/(_(profiler|wdt)|css|images|js)/
|
||||
security: false
|
||||
secured_area:
|
||||
access_denied_handler: doughnutwedding.security.access_denied_handler
|
||||
|
||||
pattern: ^/
|
||||
form_login:
|
||||
provider: fos_userbundle
|
||||
login_path: /login
|
||||
check_path: /login_check
|
||||
logout:
|
||||
path: /logout
|
||||
target: /
|
||||
anonymous: true
|
||||
oauth:
|
||||
resource_owners:
|
||||
facebook: /login/callback/facebook
|
||||
google: /login/callback/google
|
||||
twitter: /login/callback/twitter
|
||||
amazon: /login/callback/amazon
|
||||
yahoo: /login/callback/yahoo
|
||||
login_path: /login
|
||||
use_forward: false
|
||||
failure_path: /connect
|
||||
oauth_user_provider:
|
||||
service: hwi_oauth.user.provider.fosub_bridge
|
||||
access_control:
|
||||
|
||||
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||
- { path: ^/login/callback, role: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||
- { path: ^/logout$, role: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||
- { path: ^/login_check$, role: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||
- { path: ^/user, role: ROLE_USER }
|
||||
- { path: ^/gallery/upload, role: ROLE_USER }
|
||||
- { path: ^/gallery, role: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||
- { path: ^/admin, role: ROLE_ADMIN }
|
||||
- { path: ^/.*, role: IS_AUTHENTICATED_ANONYMOUSLY }
|
|
@ -0,0 +1,64 @@
|
|||
# Learn more about services, parameters and containers at
|
||||
# http://symfony.com/doc/current/service_container.html
|
||||
parameters:
|
||||
|
||||
services:
|
||||
colored_line_formatter:
|
||||
class: Bramus\Monolog\Formatter\ColoredLineFormatter
|
||||
tags:
|
||||
- { name: 'monolog.logger' }
|
||||
|
||||
doughnutwedding.form.registration:
|
||||
class: Sikofitt\DoughnutWeddingBundle\Form\RegistrationType
|
||||
arguments: ['@fos_user.user_manager']
|
||||
tags:
|
||||
- { name: form.type, alias: app_user_registration }
|
||||
doughnutwedding.form.profile:
|
||||
class: Sikofitt\DoughnutWeddingBundle\Form\ProfileEditType
|
||||
arguments: ['@fos_user.user_manager']
|
||||
tags:
|
||||
- { name: form.type, alias: app_user_profile_edit }
|
||||
doughnutwedding.event.redirect_user_logged_in_event:
|
||||
class: Sikofitt\DoughnutWeddingBundle\EventListener\UserRedirectOnLoggedInListener
|
||||
arguments: ['@security.token_storage', '@router']
|
||||
tags:
|
||||
- { name: kernel.event_listener, event: kernel.request }
|
||||
doughnutwedding.event.redirect_from_hwi_connect_page:
|
||||
class: Sikofitt\DoughnutWeddingBundle\EventListener\RedirectFromHwiConnectPageEvent
|
||||
arguments: ['@router', '@service_container']
|
||||
tags:
|
||||
- { name: kernel.event_listener, event: kernel.request }
|
||||
doughnutwedding.event.redirect_user_after_register_event:
|
||||
class: Sikofitt\DoughnutWeddingBundle\EventListener\RedirectOnUserRegisterListener
|
||||
arguments: ['@service_container']
|
||||
tags:
|
||||
- { name: kernel.event_listener, event: fos_user.registration.completed }
|
||||
- { name: kernel.event_listener, event: security.interactive_login }
|
||||
doughnutwedding.google_cloud_storage.service:
|
||||
class: \Google_Service_Storage
|
||||
factory: ['Sikofitt\DoughnutWeddingBundle\Factory\GoogleCloudStorageServiceFactory', createGoogleCloudService]
|
||||
arguments: ['%google.credentials_file%', '%google.client_id%', '%google.application_name%']
|
||||
doughnutwedding.event.check_maintenance_mode:
|
||||
class: Sikofitt\DoughnutWeddingBundle\EventListener\CheckForMaintenanceModeListenerEvent
|
||||
arguments: ['@service_container', '@security.token_storage']
|
||||
tags:
|
||||
- { name: kernel.event_listener, event: kernel.request }
|
||||
doughnutwedding.event.check_email_on_reset_event:
|
||||
class: Sikofitt\DoughnutWeddingBundle\EventListener\CheckThatEmailAndUserNameExistOnResetRequest
|
||||
arguments: ['@router', '@templating.engine.twig']
|
||||
tags:
|
||||
- { name: kernel.event_listener, event: fos_user.resetting.send_email.initialize }
|
||||
doughnutwedding.event.need_to_authenticate_listener_event:
|
||||
class: Sikofitt\DoughnutWeddingBundle\EventListener\NeedToAuthenticateListenerEvent
|
||||
tags:
|
||||
- { name: kernel.event_listener, event: kernel.response }
|
||||
doughnutwedding.security.access_denied_handler:
|
||||
class: Sikofitt\DoughnutWeddingBundle\Security\AccessDeniedHandler
|
||||
arguments: ['@router', '@monolog.logger']
|
||||
doughnutwedding.uikit.template:
|
||||
class: Sikofitt\DoughnutWeddingBundle\Pager\View\UIkitTemplate
|
||||
pagerfanta.view.default:
|
||||
class: Pagerfanta\View\DefaultView
|
||||
arguments: ['@doughnutwedding.uikit.template']
|
||||
public: false
|
||||
tags: [{ name: pagerfanta.view, alias: default }]
|
|
@ -0,0 +1,63 @@
|
|||
snc_redis:
|
||||
clients:
|
||||
default:
|
||||
type: predis
|
||||
alias: default
|
||||
dsn: redis://redis
|
||||
logging: '%kernel.debug%'
|
||||
monolog:
|
||||
type: predis
|
||||
alias: monolog
|
||||
dsn: redis://redis/5
|
||||
logging: false
|
||||
options:
|
||||
connection_persistent: true
|
||||
cache:
|
||||
type: predis
|
||||
alias: cache
|
||||
dsn: redis://redis/3
|
||||
options:
|
||||
profile: 2.2
|
||||
connection_timeout: 10
|
||||
read_write_timeout: 30
|
||||
profiler_storage:
|
||||
type: predis
|
||||
alias: profiler_storage
|
||||
dsn: redis://redis/10
|
||||
session:
|
||||
type: predis
|
||||
alias: session
|
||||
dsn: redis://redis/4
|
||||
logging: true
|
||||
session:
|
||||
client: session
|
||||
prefix: 'doughnut:session:'
|
||||
monolog:
|
||||
client: monolog
|
||||
key: monolog
|
||||
formatter: colored_line_formatter
|
||||
profiler_storage:
|
||||
client: profiler_storage
|
||||
ttl: 3600
|
||||
doctrine:
|
||||
metadata_cache:
|
||||
client: cache
|
||||
entity_manager: default
|
||||
document_manager: default
|
||||
namespace: 'doughnut:doctrine:metadata:'
|
||||
result_cache:
|
||||
client: cache
|
||||
entity_manager: default
|
||||
document_manager: default
|
||||
namespace: 'doughnut:doctrine:result:'
|
||||
query_cache:
|
||||
client: cache
|
||||
entity_manager: default
|
||||
namespace: 'doughnut:doctrine:query:'
|
||||
second_level_cache:
|
||||
client: cache
|
||||
entity_manager: default
|
||||
namespace: 'doughnut:doctrine:second_level:'
|
||||
swiftmailer:
|
||||
client: default
|
||||
key: swiftmailer
|
File diff suppressed because it is too large
Load Diff
|
@ -1,22 +0,0 @@
|
|||
{% if form is defined %}
|
||||
{% form_theme form with [_self, 'form_errors.html.twig'] %}
|
||||
{% endif %}
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Title</title>
|
||||
<meta name="viewport" id="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=10.0,initial-scale=1.0">
|
||||
<link rel="stylesheet" type="text/css" href="{{ asset('css/doughnutwedding.min.css') }}" />
|
||||
<script src="{{ asset('js/vendor.min.js') }}" type="text/javascript"></script>
|
||||
<script src="{{ asset('js/doughnutwedding.min.js') }}" type="text/javascript"></script>
|
||||
</head>
|
||||
<body>
|
||||
{% block debug %}{% endblock %}
|
||||
|
||||
<div class="uk-container-small uk-container uk-margin-large-top uk-margin-large-bottom">
|
||||
{% include 'flash_messages.html.twig' %}
|
||||
{% block body %}{% endblock %}
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -1,33 +0,0 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
{% block body %}
|
||||
{{ dump(app.session.get('user')) }}
|
||||
{{ form_start(form) }}
|
||||
<fieldset class="uk-fieldset uk-margin-small-bottom">
|
||||
<legend class="uk-legend">Enter Token</legend>
|
||||
</fieldset>
|
||||
<div class="uk-grid-small" uk-grid>
|
||||
<div class="uk-form-controls uk-form-controls-text uk-width-2-3@m">
|
||||
{{ form_row(form.user_token) }}
|
||||
</div>
|
||||
<div class="uk-form-controls uk-width-1-3@m">
|
||||
{{ form_row(form.submit) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="uk-grid" uk-grid>
|
||||
<div class="uk-width-1-1">
|
||||
<p class="uk-text-center uk-text-lead">
|
||||
You can also send a new auto login link to your email.
|
||||
</p>
|
||||
</div>
|
||||
<div class="uk-form-controls uk-width-1-1 uk-text-center">
|
||||
{{ form_row(form.email) }}
|
||||
</div>
|
||||
<div class="uk-form-controls uk-width-1-1 uk-text-center">
|
||||
{{ form_row(form.update_token) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-controls uk-form-blank">
|
||||
{{ form_rest(form) }}
|
||||
</div>
|
||||
{{ form_end(form) }}
|
||||
{% endblock %}
|
|
@ -1,8 +0,0 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block body %}
|
||||
{{ 'Hello World!' }}
|
||||
{% for key, request in app.request_stack %}
|
||||
{{ dump(key) }}
|
||||
{% endfor %}
|
||||
{% endblock %}
|
|
@ -1,4 +0,0 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
{% block body %}
|
||||
{{ dump(app.session.get('user')) }}
|
||||
{% endblock %}
|
|
@ -1,10 +0,0 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
{% block body %}
|
||||
<h2 class="uk-text-center">You have been successfully logged out.</h2>
|
||||
<p class="uk-text-center">
|
||||
You can log in again by going to the <a href="{{ url('login') }}">login</a> page.
|
||||
</p>
|
||||
<p class="uk-text-center">
|
||||
You can also login using a token by going to the <a href="{{ url('token_login') }}">token login</a> page.
|
||||
</p>
|
||||
{% endblock %}
|
|
@ -1 +0,0 @@
|
|||
console.php
|
|
@ -0,0 +1,28 @@
|
|||
#!/usr/bin/env php
|
||||
<?php
|
||||
|
||||
use Symfony\Bundle\FrameworkBundle\Console\Application;
|
||||
use Symfony\Component\Console\Input\ArgvInput;
|
||||
use Symfony\Component\Debug\Debug;
|
||||
|
||||
// if you don't want to setup permissions the proper way, just uncomment the following PHP line
|
||||
// read http://symfony.com/doc/current/setup.html#checking-symfony-application-configuration-and-setup
|
||||
// for more information
|
||||
//umask(0000);
|
||||
|
||||
set_time_limit(0);
|
||||
|
||||
/** @var Composer\Autoload\ClassLoader $loader */
|
||||
$loader = require __DIR__.'/../app/autoload.php';
|
||||
|
||||
$input = new ArgvInput();
|
||||
$env = $input->getParameterOption(['--env', '-e'], getenv('SYMFONY_ENV') ?: 'dev');
|
||||
$debug = getenv('SYMFONY_DEBUG') !== '0' && !$input->hasParameterOption(['--no-debug', '']) && $env !== 'prod';
|
||||
|
||||
if ($debug) {
|
||||
Debug::enable();
|
||||
}
|
||||
|
||||
$kernel = new AppKernel($env, $debug);
|
||||
$application = new Application($kernel);
|
||||
$application->run($input);
|
|
@ -1,54 +0,0 @@
|
|||
#!/usr/bin/env php
|
||||
<?php
|
||||
|
||||
/*
|
||||
* doughnutwedding.com
|
||||
* Copyright (C) 2017 http://doughnutwedding.com eric@doughnutwedding.com
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
use Knp\Provider\ConsoleServiceProvider;
|
||||
use Sikofitt\App\Provider\DoctrineConsoleProvider;
|
||||
use Symfony\Bridge\Twig\Command\DebugCommand;
|
||||
use Symfony\Bridge\Twig\Command\LintCommand;
|
||||
|
||||
$loader = require __DIR__.'/../vendor/autoload.php';
|
||||
$app = new \Kernel($loader, true);
|
||||
$consoleConfig = [
|
||||
'console.name' => 'Doughnut Wedding',
|
||||
'console.version' => '0.0.2',
|
||||
'console.project_directory' => __DIR__.'/..',
|
||||
];
|
||||
|
||||
$app
|
||||
->register(new ConsoleServiceProvider(), $consoleConfig)
|
||||
->register(new DoctrineConsoleProvider());
|
||||
|
||||
$fixCommand = new \PhpCsFixer\Console\Command\FixCommand();
|
||||
$fixCommand->setName('dev:fixer')->setDescription('PhpCSFixer - Fixes directories and files according to a set of rules.');
|
||||
$twigLintCommand = new LintCommand();
|
||||
$twigLintCommand->setTwigEnvironment($app['twig']);
|
||||
$twigDebugCommand = new DebugCommand();
|
||||
$twigDebugCommand->setTwigEnvironment($app['twig']);
|
||||
$fixCommand->setHidden(true);
|
||||
|
||||
$app['console']->addCommands([
|
||||
$twigDebugCommand,
|
||||
$twigLintCommand,
|
||||
new \Symfony\Component\Yaml\Command\LintCommand(),
|
||||
$fixCommand,
|
||||
]);
|
||||
|
||||
$app['console']->run();
|
|
@ -0,0 +1,146 @@
|
|||
#!/usr/bin/env php
|
||||
<?php
|
||||
|
||||
require_once dirname(__FILE__).'/../var/SymfonyRequirements.php';
|
||||
|
||||
$lineSize = 70;
|
||||
$symfonyRequirements = new SymfonyRequirements();
|
||||
$iniPath = $symfonyRequirements->getPhpIniConfigPath();
|
||||
|
||||
echo_title('Symfony Requirements Checker');
|
||||
|
||||
echo '> PHP is using the following php.ini file:'.PHP_EOL;
|
||||
if ($iniPath) {
|
||||
echo_style('green', ' '.$iniPath);
|
||||
} else {
|
||||
echo_style('yellow', ' WARNING: No configuration file (php.ini) used by PHP!');
|
||||
}
|
||||
|
||||
echo PHP_EOL.PHP_EOL;
|
||||
|
||||
echo '> Checking Symfony requirements:'.PHP_EOL.' ';
|
||||
|
||||
$messages = array();
|
||||
foreach ($symfonyRequirements->getRequirements() as $req) {
|
||||
if ($helpText = get_error_message($req, $lineSize)) {
|
||||
echo_style('red', 'E');
|
||||
$messages['error'][] = $helpText;
|
||||
} else {
|
||||
echo_style('green', '.');
|
||||
}
|
||||
}
|
||||
|
||||
$checkPassed = empty($messages['error']);
|
||||
|
||||
foreach ($symfonyRequirements->getRecommendations() as $req) {
|
||||
if ($helpText = get_error_message($req, $lineSize)) {
|
||||
echo_style('yellow', 'W');
|
||||
$messages['warning'][] = $helpText;
|
||||
} else {
|
||||
echo_style('green', '.');
|
||||
}
|
||||
}
|
||||
|
||||
if ($checkPassed) {
|
||||
echo_block('success', 'OK', 'Your system is ready to run Symfony projects');
|
||||
} else {
|
||||
echo_block('error', 'ERROR', 'Your system is not ready to run Symfony projects');
|
||||
|
||||
echo_title('Fix the following mandatory requirements', 'red');
|
||||
|
||||
foreach ($messages['error'] as $helpText) {
|
||||
echo ' * '.$helpText.PHP_EOL;
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($messages['warning'])) {
|
||||
echo_title('Optional recommendations to improve your setup', 'yellow');
|
||||
|
||||
foreach ($messages['warning'] as $helpText) {
|
||||
echo ' * '.$helpText.PHP_EOL;
|
||||
}
|
||||
}
|
||||
|
||||
echo PHP_EOL;
|
||||
echo_style('title', 'Note');
|
||||
echo ' The command console could use a different php.ini file'.PHP_EOL;
|
||||
echo_style('title', '~~~~');
|
||||
echo ' than the one used with your web server. To be on the'.PHP_EOL;
|
||||
echo ' safe side, please check the requirements from your web'.PHP_EOL;
|
||||
echo ' server using the ';
|
||||
echo_style('yellow', 'web/config.php');
|
||||
echo ' script.'.PHP_EOL;
|
||||
echo PHP_EOL;
|
||||
|
||||
exit($checkPassed ? 0 : 1);
|
||||
|
||||
function get_error_message(Requirement $requirement, $lineSize)
|
||||
{
|
||||
if ($requirement->isFulfilled()) {
|
||||
return;
|
||||
}
|
||||
|
||||
$errorMessage = wordwrap($requirement->getTestMessage(), $lineSize - 3, PHP_EOL.' ').PHP_EOL;
|
||||
$errorMessage .= ' > '.wordwrap($requirement->getHelpText(), $lineSize - 5, PHP_EOL.' > ').PHP_EOL;
|
||||
|
||||
return $errorMessage;
|
||||
}
|
||||
|
||||
function echo_title($title, $style = null)
|
||||
{
|
||||
$style = $style ?: 'title';
|
||||
|
||||
echo PHP_EOL;
|
||||
echo_style($style, $title.PHP_EOL);
|
||||
echo_style($style, str_repeat('~', strlen($title)).PHP_EOL);
|
||||
echo PHP_EOL;
|
||||
}
|
||||
|
||||
function echo_style($style, $message)
|
||||
{
|
||||
// ANSI color codes
|
||||
$styles = array(
|
||||
'reset' => "\033[0m",
|
||||
'red' => "\033[31m",
|
||||
'green' => "\033[32m",
|
||||
'yellow' => "\033[33m",
|
||||
'error' => "\033[37;41m",
|
||||
'success' => "\033[37;42m",
|
||||
'title' => "\033[34m",
|
||||
);
|
||||
$supports = has_color_support();
|
||||
|
||||
echo($supports ? $styles[$style] : '').$message.($supports ? $styles['reset'] : '');
|
||||
}
|
||||
|
||||
function echo_block($style, $title, $message)
|
||||
{
|
||||
$message = ' '.trim($message).' ';
|
||||
$width = strlen($message);
|
||||
|
||||
echo PHP_EOL.PHP_EOL;
|
||||
|
||||
echo_style($style, str_repeat(' ', $width));
|
||||
echo PHP_EOL;
|
||||
echo_style($style, str_pad(' ['.$title.']', $width, ' ', STR_PAD_RIGHT));
|
||||
echo PHP_EOL;
|
||||
echo_style($style, $message);
|
||||
echo PHP_EOL;
|
||||
echo_style($style, str_repeat(' ', $width));
|
||||
echo PHP_EOL;
|
||||
}
|
||||
|
||||
function has_color_support()
|
||||
{
|
||||
static $support;
|
||||
|
||||
if (null === $support) {
|
||||
if (DIRECTORY_SEPARATOR == '\\') {
|
||||
$support = false !== getenv('ANSICON') || 'ON' === getenv('ConEmuANSI');
|
||||
} else {
|
||||
$support = function_exists('posix_isatty') && @posix_isatty(STDOUT);
|
||||
}
|
||||
}
|
||||
|
||||
return $support;
|
||||
}
|
|
@ -21,6 +21,8 @@
|
|||
],
|
||||
"dependencies": {
|
||||
"uikit": "3",
|
||||
"jquery": "^3.1.1"
|
||||
"jquery": "^3.1.1",
|
||||
"parsleyjs": "^2.7.0",
|
||||
"select2": "^4.0.3"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:69179a5a296141aa163960a2259cc54854264787a709182b7b694570abdab148
|
||||
size 15326
|
|
@ -0,0 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:7226428a1b7a936b5bebfa5234fdeaf23cc6ba4c2c95c30bb882431d93c50b58
|
||||
size 19799
|
|
@ -0,0 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c2f77625370cea32c788260860dd0d80db78f5dd39407bea5db7a08d368b5c67
|
||||
size 129385
|
|
@ -0,0 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:20292a46d4178dbf439c79f443c7cf47625c0b424340dc3b20665d272d75df21
|
||||
size 137445
|
|
@ -0,0 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5ad55bf9040225d6a605294152c6f88d5476ef582936e8a4d016aa16e22ad1d2
|
||||
size 305052
|
|
@ -0,0 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:633d635d0526e5fd75ba380e827a524b417cfdf0e43e81b5f6ab5bdc6b7c1ed0
|
||||
size 234658
|
|
@ -0,0 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b2323c2bdbc898df952a1fb615e7bb62eb6ee4541f8ac2b01991925da7bf4abd
|
||||
size 241003
|
|
@ -0,0 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b439362aa5029f855ee1f72ff94552d8246ad46c303e04796465687656a7a86d
|
||||
size 139466
|
|
@ -0,0 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:482cb918c7bc3ea0998759a60abc237cd350651ddf5a09707fe52df2dae1afeb
|
||||
size 129353
|
|
@ -0,0 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e7ad0693c08599150ecae7ff1dabccb18792c1d10cc96a95129938b08a3cf4d6
|
||||
size 271299
|
|
@ -0,0 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:941c7b35b4e2520992cf8ba150086115697a74eaed3b33da3864b3be54fbd53e
|
||||
size 82555
|
|
@ -0,0 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:3e5eb09ee2c78ad22dc98a9c4180c9ffd629347a25f7dd495b964f4afc2e146c
|
||||
size 5833
|
|
@ -0,0 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:806dc0af681d43dd94bf783335f3e6de6bdf769e4f882b513a106696c69cca82
|
||||
size 763
|
|
@ -1,3 +1,14 @@
|
|||
jQuery.ready(function($) {
|
||||
jQuery(document).ready(function($) {
|
||||
if(null !== document.querySelector('select') && document.querySelector('select').length > 0) {
|
||||
var selectPlaceholder = 'Choose an option.';
|
||||
if(document.querySelector('select').hasAttribute('placeholder')) {
|
||||
selectPlaceholder = document.querySelector('select').getAttribute('placeholder');
|
||||
}
|
||||
jQuery('select').prepend('<option/>').select2({
|
||||
placeholder: selectPlaceholder,
|
||||
minimumResultsForSearch: Infinity,
|
||||
theme: 'default'
|
||||
});
|
||||
|
||||
}
|
||||
});
|
|
@ -1,11 +1,195 @@
|
|||
@import "../../vendor/bower/uikit/src/less/uikit.less";
|
||||
@import "../../vendor/bower/uikit/src/less/components/variables.less";
|
||||
|
||||
@import url('https://fonts.googleapis.com/css?family=Sigmar+One');
|
||||
//@global-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
||||
//@global-font-size: 16px;
|
||||
@global-font-family: 'Raleway', sans-serif;
|
||||
|
||||
@base-body-font-family: 'Raleway', sans-serif;
|
||||
@base-heading-font-family: 'Raleway', sans-serif;
|
||||
@base-heading-text-transform: uppercase;
|
||||
@button-text-transform:capitalize;
|
||||
@base-body-font-weight: 200;
|
||||
@base-heading-font-weight: 300;
|
||||
@form-background: #ffffff;
|
||||
@global-link-color: #5fbabd;
|
||||
@base-link-color: @global-link-color;
|
||||
@base-link-hover-color: darken(@base-link-color, 20%);
|
||||
@button-primary-background: #9dd3d5;
|
||||
@button-primary-color: #333;
|
||||
@text-primary-color: @button-primary-background;
|
||||
@button-primary-hover-color: darken(@button-primary-color, 10%);
|
||||
@button-primary-hover-background: darken(@button-primary-background, 10%);
|
||||
@button-danger-background: #fa6581;
|
||||
@button-danger-color: #333;
|
||||
@button-danger-hover-color: darken(@button-danger-color, 10%);
|
||||
@button-danger-hover-background: darken(@button-danger-background, 10%);
|
||||
|
||||
blockquote p {
|
||||
|
||||
}
|
||||
|
||||
blockquote footer:before {
|
||||
content: "— ";
|
||||
}
|
||||
.uk-404 {
|
||||
font-family: 'Sigmar One', cursive;
|
||||
line-height:0;
|
||||
&.uk-doughnut {
|
||||
@media(min-width: @breakpoint-small-max) {
|
||||
font-size: 10rem;
|
||||
}
|
||||
@media(max-width: @breakpoint-small) {
|
||||
font-size: 5rem;
|
||||
}
|
||||
.uk-spin {
|
||||
@media(min-width: @breakpoint-small-max) {
|
||||
width: 128px;
|
||||
height: 128px;
|
||||
}
|
||||
@media(max-width: @breakpoint-small) {
|
||||
width: 64px;
|
||||
height:64px;
|
||||
}
|
||||
background-image:url(https://storage.googleapis.com/zgluzzkwodfky2m0ytbhmjhmmzqzntq2ngy3ndjmntyxmzg4/assets/doughnut_404.png)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@-moz-keyframes spin { 100% { -moz-transform: rotate(360deg); } }
|
||||
@-webkit-keyframes spin { 100% { -webkit-transform: rotate(360deg); } }
|
||||
@keyframes spin { 100% { -webkit-transform: rotate(360deg); transform:rotate(360deg); } }
|
||||
|
||||
.uk-spin {
|
||||
position: relative;
|
||||
top: 0%;
|
||||
left: 0%;
|
||||
margin:0px 12px;
|
||||
-webkit-animation:spin 1.5s linear infinite;
|
||||
-moz-animation:spin 1.5s linear infinite;
|
||||
animation:spin 1.5s linear infinite;
|
||||
|
||||
}
|
||||
.uk-login-container {
|
||||
.uk-navbar {
|
||||
.uk-navbar-nav {
|
||||
li {
|
||||
a {
|
||||
font-weight:bold !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
label.required:after {
|
||||
content: "*";
|
||||
text-align:right;
|
||||
float:right;
|
||||
color: @form-danger-color;
|
||||
font-size: @global-large-font-size;
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
||||
font-weight: bold
|
||||
}
|
||||
|
||||
.uk-home {
|
||||
|
||||
.uk-overlay {
|
||||
h3 {
|
||||
a {
|
||||
text-decoration:none;
|
||||
border:0;
|
||||
letter-spacing:.15rem;
|
||||
text-transform: uppercase;
|
||||
&:hover {
|
||||
text-shadow: #000000;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.uk-background-fade {
|
||||
transition-duration: .3s;
|
||||
transition-timing-function: ease-in-out;
|
||||
transition-property: background-image;
|
||||
}
|
||||
|
||||
.uk-our-story-home {
|
||||
height:465px !important;
|
||||
background-image: url('https://storage.googleapis.com/zgluzzkwodfky2m0ytbhmjhmmzqzntq2ngy3ndjmntyxmzg4/assets/home_our_story_1.jpg');
|
||||
&:hover {
|
||||
background-image: url('https://storage.googleapis.com/zgluzzkwodfky2m0ytbhmjhmmzqzntq2ngy3ndjmntyxmzg4/assets/home_our_story_2.jpg')
|
||||
}
|
||||
}
|
||||
// photo
|
||||
// location
|
||||
.uk-photo-home {
|
||||
background-image: url('https://storage.googleapis.com/zgluzzkwodfky2m0ytbhmjhmmzqzntq2ngy3ndjmntyxmzg4/assets/home_photo_2.jpg');
|
||||
&:hover {
|
||||
background-image: url('https://storage.googleapis.com/zgluzzkwodfky2m0ytbhmjhmmzqzntq2ngy3ndjmntyxmzg4/assets/home_photo_1.jpg');
|
||||
}
|
||||
}
|
||||
.uk-location-home {
|
||||
margin-bottom:15px !important;
|
||||
background-image: url('https://storage.googleapis.com/zgluzzkwodfky2m0ytbhmjhmmzqzntq2ngy3ndjmntyxmzg4/assets/home_location.jpg');
|
||||
transition-duration: .3s;
|
||||
transition-timing-function: ease-out;
|
||||
transition-property: filter;
|
||||
&:hover {
|
||||
filter: hue-rotate(90deg);
|
||||
background-blend-mode: darken;
|
||||
|
||||
}
|
||||
}
|
||||
.uk-doughnut-rsvp {
|
||||
margin-bottom:15px !important;
|
||||
background-image: url('https://storage.googleapis.com/zgluzzkwodfky2m0ytbhmjhmmzqzntq2ngy3ndjmntyxmzg4/assets/home_doughnut_1.jpg');
|
||||
&:hover {
|
||||
background-image: url('https://storage.googleapis.com/zgluzzkwodfky2m0ytbhmjhmmzqzntq2ngy3ndjmntyxmzg4/assets/home_doughnut_2.jpg');
|
||||
}
|
||||
}
|
||||
.uk-doughnut-get-in-touch-home {
|
||||
background-image: url('https://storage.googleapis.com/zgluzzkwodfky2m0ytbhmjhmmzqzntq2ngy3ndjmntyxmzg4/assets/home_doughnut_2.jpg');
|
||||
&:hover {
|
||||
background-image: url('https://storage.googleapis.com/zgluzzkwodfky2m0ytbhmjhmmzqzntq2ngy3ndjmntyxmzg4/assets/home_doughnut_1.jpg');
|
||||
}
|
||||
}
|
||||
|
||||
.uk-background-home {
|
||||
|
||||
}
|
||||
}
|
||||
.uk-icon.uk-icon-facebook {
|
||||
color: #3b5998;
|
||||
|
||||
}
|
||||
.uk-icon.uk-icon-google {
|
||||
color: #d50f25;
|
||||
}
|
||||
.uk-icon.uk-icon-twitter {
|
||||
color: #1da1f2;
|
||||
}
|
||||
.uk-icon.uk-icon-yahoo {
|
||||
color: #7b0099;
|
||||
/*color: #720e9e;*/
|
||||
}
|
||||
.uk-icon.uk-icon-amazon {
|
||||
color: #ff9900;
|
||||
}
|
||||
.uk-preload {
|
||||
background-repeat: no-repeat;
|
||||
background-position-x: -9999px;
|
||||
background-position-y: -9999px;
|
||||
.our-story {
|
||||
background-image:url('https://storage.googleapis.com/zgluzzkwodfky2m0ytbhmjhmmzqzntq2ngy3ndjmntyxmzg4/assets/home_our_story_2.jpg');
|
||||
}
|
||||
.photo-gallery {
|
||||
background-image:url('https://storage.googleapis.com/zgluzzkwodfky2m0ytbhmjhmmzqzntq2ngy3ndjmntyxmzg4/assets/home_photo_1.jpg');
|
||||
}
|
||||
|
||||
}
|
||||
.uk-registration-connect a,
|
||||
.uk-doughnut-main-nav li a {
|
||||
font-weight:bold !important;
|
||||
}
|
||||
.uk-input,
|
||||
.uk-select,
|
||||
.uk-textarea {
|
||||
|
@ -18,4 +202,10 @@
|
|||
background: #f5fbfe;
|
||||
border:1px solid #99baca;
|
||||
color: #666;
|
||||
}
|
||||
}
|
||||
.uk-login-form #password {
|
||||
border-top:0 !important;
|
||||
}
|
||||
.uk-login-form #password:focus {
|
||||
border-top: 1px solid #99baca !important;
|
||||
}
|
||||
|
|
125
composer.json
125
composer.json
|
@ -1,67 +1,106 @@
|
|||
{
|
||||
"name": "sikofitt/doughnutwedding",
|
||||
"description": "doughnutwedding.com website",
|
||||
"name": "symfony/framework-standard-edition",
|
||||
"license": "MIT",
|
||||
"type": "project",
|
||||
"description": "The \"Symfony Standard Edition\" distribution",
|
||||
"autoload": {
|
||||
"psr-4": { "Sikofitt\\": "src/Sikofitt/" },
|
||||
"classmap": [ "app/AppKernel.php", "app/AppCache.php" ]
|
||||
},
|
||||
"autoload-dev": {
|
||||
"psr-4": { "Tests\\": "tests/" },
|
||||
"files": [ "vendor/symfony/symfony/src/Symfony/Component/VarDumper/Resources/functions/dump.php" ]
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.0",
|
||||
"bramus/monolog-colored-line-formatter": "~2.0",
|
||||
"container-interop/container-interop": "^1.1",
|
||||
"dflydev/doctrine-orm-service-provider": "^2.0",
|
||||
"doctrine/annotations": "^1.3",
|
||||
"doctrine/collections": "^1.4",
|
||||
"doctrine/dbal": "^2.5",
|
||||
"php": ">=7.1",
|
||||
"bramus/monolog-colored-line-formatter": "^2.0",
|
||||
"doctrine/doctrine-bundle": "^1.6",
|
||||
"doctrine/doctrine-cache-bundle": "^1.3",
|
||||
"doctrine/orm": "^2.5",
|
||||
"egulias/email-validator": "^2.1",
|
||||
"excelwebzone/recaptcha-bundle": "^1.4",
|
||||
"friendsofsymfony/user-bundle": "^2.0",
|
||||
"google/apiclient": "^2.1",
|
||||
"google/recaptcha": "^1.1",
|
||||
"hwi/oauth-bundle": "^0.5.3",
|
||||
"incenteev/composer-parameter-handler": "^2.0",
|
||||
"ircmaxell/random-lib": "^1.2",
|
||||
"ircmaxell/security-lib": "^1.1",
|
||||
"knplabs/console-service-provider": "^2.0",
|
||||
"monolog/monolog": "^1.22",
|
||||
"j-ben87/parsley-bundle": "^1.4",
|
||||
"javiereguiluz/easyadmin-bundle": "^1.16",
|
||||
"knplabs/knp-gaufrette-bundle": "^0.4.0",
|
||||
"lexik/translation-bundle": "^4.0",
|
||||
"lightsaml/sp-bundle": "^1.1",
|
||||
"moontoast/math": "^1.1",
|
||||
"paragonie/cookie": "^3.1",
|
||||
"paragonie/csp-builder": "^2.0",
|
||||
"paragonie/sodium_compat": "^0.4.0",
|
||||
"silex/silex": "^2.0",
|
||||
"swiftmailer/swiftmailer": "^5.4",
|
||||
"symfony/asset": "^3.2",
|
||||
"symfony/config": "^3.2",
|
||||
"symfony/console": "^3.2",
|
||||
"symfony/form": "^3.2",
|
||||
"symfony/http-foundation": "^3.2",
|
||||
"symfony/monolog-bridge": "^3.2",
|
||||
"paragonie/sodium_compat": "^0.6.0",
|
||||
"predis/predis": "^1.1",
|
||||
"psr/http-message": "^1.0",
|
||||
"ramsey/uuid": "^3.6",
|
||||
"ramsey/uuid-doctrine": "^1.2",
|
||||
"ravenberg/uikit-bundle": "^1.0",
|
||||
"sensio/distribution-bundle": "^5.0",
|
||||
"sensio/framework-extra-bundle": "^3.0.2",
|
||||
"snc/redis-bundle": "^2.0",
|
||||
"symfony/monolog-bundle": "^3.0.2",
|
||||
"symfony/polyfill-apcu": "^1.0",
|
||||
"symfony/security": "^3.2",
|
||||
"symfony/security-csrf": "^3.2",
|
||||
"symfony/security-guard": "^3.2",
|
||||
"symfony/security-http": "^3.2",
|
||||
"symfony/twig-bridge": "^3.2",
|
||||
"symfony/validator": "^3.2",
|
||||
"symfony/yaml": "^3.2",
|
||||
"symfony/swiftmailer-bundle": "^2.3.10",
|
||||
"symfony/symfony": "3.2.*",
|
||||
"tedivm/stash": "^0.14.1",
|
||||
"tedivm/stash-bundle": "^0.6.2",
|
||||
"twig/extensions": "^1.4",
|
||||
"twig/twig": "^2.1"
|
||||
"twig/twig": "^1.0||^2.0",
|
||||
"vich/uploader-bundle": "^1.5",
|
||||
"white-october/pagerfanta-bundle": "^1.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"friendsofphp/php-cs-fixer": "^2.0",
|
||||
"doctrine/doctrine-fixtures-bundle": "^2.3",
|
||||
"friendsofphp/php-cs-fixer": "^2.1",
|
||||
"fzaninotto/faker": "^1.6",
|
||||
"phpunit/phpunit": "^6.0",
|
||||
"silex/providers": "^2.0",
|
||||
"silex/web-profiler": "^2.0",
|
||||
"sensio/generator-bundle": "^3.0",
|
||||
"symfony/debug-bundle": "^3.2",
|
||||
"symfony/phpunit-bridge": "^3.0",
|
||||
"symfony/var-dumper": "^3.2"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Sikofitt\\":"src/Sikofitt"
|
||||
},
|
||||
"files": ["app/Kernel.php"]
|
||||
"scripts": {
|
||||
"symfony-scripts": [
|
||||
"Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
|
||||
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
|
||||
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
|
||||
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
|
||||
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile",
|
||||
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget"
|
||||
],
|
||||
"post-install-cmd": [
|
||||
"@symfony-scripts"
|
||||
],
|
||||
"post-update-cmd": [
|
||||
"@symfony-scripts"
|
||||
]
|
||||
},
|
||||
"license": "GPL-3.0",
|
||||
"authors": [
|
||||
{
|
||||
"name": "sikofitt",
|
||||
"email": "sikofitt@gmail.com"
|
||||
"config": {
|
||||
"platform": {
|
||||
"php": "7.1.3"
|
||||
},
|
||||
"sort-packages": true
|
||||
},
|
||||
"extra": {
|
||||
"symfony-app-dir": "app",
|
||||
"symfony-bin-dir": "bin",
|
||||
"symfony-var-dir": "var",
|
||||
"symfony-web-dir": "web",
|
||||
"symfony-tests-dir": "tests",
|
||||
"symfony-assets-install": "relative",
|
||||
"incenteev-parameters": {
|
||||
"file": "app/config/parameters.yml"
|
||||
},
|
||||
"branch-alias": {
|
||||
"dev-master": "3.2-dev"
|
||||
}
|
||||
],
|
||||
"minimum-stability": "stable",
|
||||
"config": {
|
||||
"sort-packages": true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,16 +7,17 @@ server {
|
|||
root /var/www/html;
|
||||
|
||||
location / {
|
||||
index index.php index.html;
|
||||
try_files $uri /index.php$is_args$args;
|
||||
try_files $uri /app_dev.php$is_args$args;
|
||||
}
|
||||
|
||||
|
||||
location ~ \.php$ {
|
||||
#location ~ \.php$ {
|
||||
location ~ ^/(app_dev|config)\.php(/|$) {
|
||||
fastcgi_pass php:9000;
|
||||
fastcgi_split_path_info ^(.+\.php)(/.*)$;
|
||||
include fastcgi_params;
|
||||
fastcgi_pass php:9000;
|
||||
fastcgi_index index.php;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
|
||||
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
|
||||
fastcgi_param DOCUMENT_ROOT $realpath_root;
|
||||
#fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -7,11 +7,12 @@ services:
|
|||
- "80:80"
|
||||
volumes:
|
||||
- ./:/var/www
|
||||
- ./html:/var/www/html
|
||||
- ./web:/var/www/html
|
||||
- ./conf.d:/etc/nginx/conf.d
|
||||
links:
|
||||
- php
|
||||
- mysql
|
||||
- redis
|
||||
restart: always
|
||||
environment:
|
||||
- "APP_ENV=development"
|
||||
|
@ -19,7 +20,9 @@ services:
|
|||
build: ./docker/php
|
||||
volumes:
|
||||
- ./:/var/www
|
||||
- ./html:/var/www/html
|
||||
- ./web:/var/www/html
|
||||
links:
|
||||
- redis
|
||||
restart: always
|
||||
environment:
|
||||
- "APP_ENV=development"
|
||||
|
@ -34,4 +37,8 @@ services:
|
|||
- "3306:3306"
|
||||
volumes:
|
||||
- ./lib/mysql:/var/lib/mysql
|
||||
|
||||
redis:
|
||||
build: ./docker/redis
|
||||
ports:
|
||||
- "6379:6379"
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue