Empty Symfony install with no vendors and the Acme Bundle deleted Signed-off-by: Gergely POLONKAI (W00d5t0ck) <polesz@w00d5t0ck.info>master
@ -0,0 +1,19 @@
|
||||
Copyright (c) 2004-2012 Fabien Potencier |
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy |
||||
of this software and associated documentation files (the "Software"), to deal |
||||
in the Software without restriction, including without limitation the rights |
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
||||
copies of the Software, and to permit persons to whom the Software is furnished |
||||
to do so, subject to the following conditions: |
||||
|
||||
The above copyright notice and this permission notice shall be included in all |
||||
copies or substantial portions of the Software. |
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |
||||
THE SOFTWARE. |
@ -0,0 +1,147 @@
|
||||
Symfony Standard Edition |
||||
======================== |
||||
|
||||
Welcome to the Symfony Standard Edition - a fully-functional Symfony2 |
||||
application that you can use as the skeleton for your new app. If you want |
||||
to learn more about the features included, see the "What's Inside?" section. |
||||
|
||||
This document contains information on how to download and start using Symfony. |
||||
For a more detailed explanation, see the |
||||
[Installation chapter](http://symfony.com/doc/current/book/installation.html) |
||||
of the Symfony Documentation. |
||||
|
||||
1) Download the Standard Edition |
||||
-------------------------------- |
||||
|
||||
If you've already downloaded the standard edition, and unpacked it somewhere |
||||
within your web root directory, then move on to the "Installation" section. |
||||
|
||||
To download the standard edition, you have two options: |
||||
|
||||
### Download an archive file (*recommended*) |
||||
|
||||
The easiest way to get started is to download an archive of the standard edition |
||||
(http://symfony.com/download). Unpack it somewhere under your web server root |
||||
directory and you're done. The web root is wherever your web server (e.g. Apache) |
||||
looks when you access `http://localhost` in a browser. |
||||
|
||||
### Clone the git Repository |
||||
|
||||
We highly recommend that you download the packaged version of this distribution. |
||||
But if you still want to use Git, you are on your own. |
||||
|
||||
Run the following commands: |
||||
|
||||
git clone http://github.com/symfony/symfony-standard.git |
||||
cd symfony-standard |
||||
rm -rf .git |
||||
|
||||
2) Installation |
||||
--------------- |
||||
|
||||
Once you've downloaded the standard edition, installation is easy, and basically |
||||
involves making sure your system is ready for Symfony. |
||||
|
||||
### a) Check your System Configuration |
||||
|
||||
Before you begin, make sure that your local system is properly configured |
||||
for Symfony. To do this, execute the following: |
||||
|
||||
php app/check.php |
||||
|
||||
If you get any warnings or recommendations, fix these now before moving on. |
||||
|
||||
### b) Install the Vendor Libraries |
||||
|
||||
If you downloaded the archive "without vendors" or installed via git, then |
||||
you need to download all of the necessary vendor libraries. If you're not |
||||
sure if you need to do this, check to see if you have a ``vendor/`` directory. |
||||
If you don't, or if that directory is empty, run the following: |
||||
|
||||
php bin/vendors install |
||||
|
||||
Note that you **must** have git installed and be able to execute the `git` |
||||
command to execute this script. If you don't have git available, either install |
||||
it or download Symfony with the vendor libraries already included. |
||||
|
||||
### c) Access the Application via the Browser |
||||
|
||||
Congratulations! You're now ready to use Symfony. If you've unzipped Symfony |
||||
in the web root of your computer, then you should be able to access the |
||||
web version of the Symfony requirements check via: |
||||
|
||||
http://localhost/Symfony/web/config.php |
||||
|
||||
If everything looks good, click the "Bypass configuration and go to the Welcome page" |
||||
link to load up your first Symfony page. |
||||
|
||||
You can also use a web-based configurator by clicking on the "Configure your |
||||
Symfony Application online" link of the ``config.php`` page. |
||||
|
||||
To see a real-live Symfony page in action, access the following page: |
||||
|
||||
web/app_dev.php/demo/hello/Fabien |
||||
|
||||
3) Learn about Symfony! |
||||
----------------------- |
||||
|
||||
This distribution is meant to be the starting point for your application, |
||||
but it also contains some sample code that you can learn from and play with. |
||||
|
||||
A great way to start learning Symfony is via the [Quick Tour](http://symfony.com/doc/current/quick_tour/the_big_picture.html), |
||||
which will take you through all the basic features of Symfony2 and the test |
||||
pages that are available in the standard edition. |
||||
|
||||
Once you're feeling good, you can move onto reading the official |
||||
[Symfony2 book](http://symfony.com/doc/current/). |
||||
|
||||
Using this Edition as the Base of your Application |
||||
-------------------------------------------------- |
||||
|
||||
Since the standard edition is fully-configured and comes with some examples, |
||||
you'll need to make a few changes before using it to build your application. |
||||
|
||||
The distribution is configured with the following defaults: |
||||
|
||||
* Twig is the only configured template engine; |
||||
* Doctrine ORM/DBAL is configured; |
||||
* Swiftmailer is configured; |
||||
* Annotations for everything are enabled. |
||||
|
||||
A default bundle, ``AcmeDemoBundle``, shows you Symfony2 in action. After |
||||
playing with it, you can remove it by following these steps: |
||||
|
||||
* delete the ``src/Acme`` directory; |
||||
* remove the routing entries referencing AcmeBundle in ``app/config/routing_dev.yml``; |
||||
* remove the AcmeBundle from the registered bundles in ``app/AppKernel.php``; |
||||
|
||||
What's inside? |
||||
--------------- |
||||
The Symfony Standard Edition comes pre-configured with the following bundles: |
||||
|
||||
* **FrameworkBundle** - The core Symfony framework bundle |
||||
* **SensioFrameworkExtraBundle** - Adds several enhancements, including template |
||||
and routing annotation capability ([documentation](http://symfony.com/doc/current/bundles/SensioFrameworkExtraBundle/index.html)) |
||||
* **DoctrineBundle** - Adds support for the Doctrine ORM |
||||
([documentation](http://symfony.com/doc/current/book/doctrine.html)) |
||||
* **TwigBundle** - Adds support for the Twig templating engine |
||||
([documentation](http://symfony.com/doc/current/book/templating.html)) |
||||
* **SecurityBundle** - Adds security by integrating Symfony's security component |
||||
([documentation](http://symfony.com/doc/current/book/security.html)) |
||||
* **SwiftmailerBundle** - Adds support for Swiftmailer, a library for sending emails |
||||
([documentation](http://symfony.com/doc/2.0/cookbook/email.html)) |
||||
* **MonologBundle** - Adds support for Monolog, a logging library |
||||
([documentation](http://symfony.com/doc/2.0/cookbook/logging/monolog.html)) |
||||
* **AsseticBundle** - Adds support for Assetic, an asset processing library |
||||
([documentation](http://symfony.com/doc/2.0/cookbook/assetic/asset_management.html)) |
||||
* **JMSSecurityExtraBundle** - Allows security to be added via annotations |
||||
([documentation](http://symfony.com/doc/current/bundles/JMSSecurityExtraBundle/index.html)) |
||||
* **WebProfilerBundle** (in dev/test env) - Adds profiling functionality and |
||||
the web debug toolbar |
||||
* **SensioDistributionBundle** (in dev/test env) - Adds functionality for configuring |
||||
and working with Symfony distributions |
||||
* **SensioGeneratorBundle** (in dev/test env) - Adds code generation capabilities |
||||
([documentation](http://symfony.com/doc/current/bundles/SensioGeneratorBundle/index.html)) |
||||
* **AcmeDemoBundle** (in dev/test env) - A demo bundle with some example code |
||||
|
||||
Enjoy! |
@ -0,0 +1,9 @@
|
||||
<?php |
||||
|
||||
require_once __DIR__.'/AppKernel.php'; |
||||
|
||||
use Symfony\Bundle\FrameworkBundle\HttpCache\HttpCache; |
||||
|
||||
class AppCache extends HttpCache |
||||
{ |
||||
} |
@ -0,0 +1,35 @@
|
||||
<?php |
||||
|
||||
use Symfony\Component\HttpKernel\Kernel; |
||||
use Symfony\Component\Config\Loader\LoaderInterface; |
||||
|
||||
class AppKernel extends Kernel |
||||
{ |
||||
public function registerBundles() |
||||
{ |
||||
$bundles = array( |
||||
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 Symfony\Bundle\DoctrineBundle\DoctrineBundle(), |
||||
new Symfony\Bundle\AsseticBundle\AsseticBundle(), |
||||
new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(), |
||||
new JMS\SecurityExtraBundle\JMSSecurityExtraBundle(), |
||||
); |
||||
|
||||
if (in_array($this->getEnvironment(), array('dev', 'test'))) { |
||||
$bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle(); |
||||
$bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle(); |
||||
$bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle(); |
||||
} |
||||
|
||||
return $bundles; |
||||
} |
||||
|
||||
public function registerContainerConfiguration(LoaderInterface $loader) |
||||
{ |
||||
$loader->load(__DIR__.'/config/config_'.$this->getEnvironment().'.yml'); |
||||
} |
||||
} |
@ -0,0 +1,13 @@
|
||||
<!DOCTYPE html> |
||||
<html> |
||||
<head> |
||||
<meta charset="UTF-8" /> |
||||
<title>{% block title %}Welcome!{% endblock %}</title> |
||||
{% block stylesheets %}{% endblock %} |
||||
<link rel="shortcut icon" href="{{ asset('favicon.ico') }}" /> |
||||
</head> |
||||
<body> |
||||
{% block body %}{% endblock %} |
||||
{% block javascripts %}{% endblock %} |
||||
</body> |
||||
</html> |
@ -0,0 +1,45 @@
|
||||
<?php |
||||
|
||||
use Symfony\Component\ClassLoader\UniversalClassLoader; |
||||
use Doctrine\Common\Annotations\AnnotationRegistry; |
||||
|
||||
$loader = new UniversalClassLoader(); |
||||
$loader->registerNamespaces(array( |
||||
'Symfony' => array(__DIR__.'/../vendor/symfony/src', __DIR__.'/../vendor/bundles'), |
||||
'Sensio' => __DIR__.'/../vendor/bundles', |
||||
'JMS' => __DIR__.'/../vendor/bundles', |
||||
'Doctrine\\Common' => __DIR__.'/../vendor/doctrine-common/lib', |
||||
'Doctrine\\DBAL' => __DIR__.'/../vendor/doctrine-dbal/lib', |
||||
'Doctrine' => __DIR__.'/../vendor/doctrine/lib', |
||||
'Monolog' => __DIR__.'/../vendor/monolog/src', |
||||
'Assetic' => __DIR__.'/../vendor/assetic/src', |
||||
'Metadata' => __DIR__.'/../vendor/metadata/src', |
||||
)); |
||||
$loader->registerPrefixes(array( |
||||
'Twig_Extensions_' => __DIR__.'/../vendor/twig-extensions/lib', |
||||
'Twig_' => __DIR__.'/../vendor/twig/lib', |
||||
)); |
||||
|
||||
// intl |
||||
if (!function_exists('intl_get_error_code')) { |
||||
require_once __DIR__.'/../vendor/symfony/src/Symfony/Component/Locale/Resources/stubs/functions.php'; |
||||
|
||||
$loader->registerPrefixFallbacks(array(__DIR__.'/../vendor/symfony/src/Symfony/Component/Locale/Resources/stubs')); |
||||
} |
||||
|
||||
$loader->registerNamespaceFallbacks(array( |
||||
__DIR__.'/../src', |
||||
)); |
||||
$loader->register(); |
||||
|
||||
AnnotationRegistry::registerLoader(function($class) use ($loader) { |
||||
$loader->loadClass($class); |
||||
return class_exists($class, false); |
||||
}); |
||||
AnnotationRegistry::registerFile(__DIR__.'/../vendor/doctrine/lib/Doctrine/ORM/Mapping/Driver/DoctrineAnnotations.php'); |
||||
|
||||
// Swiftmailer needs a special autoloader to allow |
||||
// the lazy loading of the init file (which is expensive) |
||||
require_once __DIR__.'/../vendor/swiftmailer/lib/classes/Swift.php'; |
||||
Swift::registerAutoload(__DIR__.'/../vendor/swiftmailer/lib/swift_init.php'); |
||||
|
@ -0,0 +1,108 @@
|
||||
<?php |
||||
|
||||
if (!$iniPath = get_cfg_var('cfg_file_path')) { |
||||
$iniPath = 'WARNING: not using a php.ini file'; |
||||
} |
||||
|
||||
echo "********************************\n"; |
||||
echo "* *\n"; |
||||
echo "* Symfony requirements check *\n"; |
||||
echo "* *\n"; |
||||
echo "********************************\n\n"; |
||||
echo sprintf("php.ini used by PHP: %s\n\n", $iniPath); |
||||
|
||||
echo "** WARNING **\n"; |
||||
echo "* The PHP CLI can use a different php.ini file\n"; |
||||
echo "* than the one used with your web server.\n"; |
||||
if ('\\' == DIRECTORY_SEPARATOR) { |
||||
echo "* (especially on the Windows platform)\n"; |
||||
} |
||||
echo "* If this is the case, please ALSO launch this\n"; |
||||
echo "* utility from your web server.\n"; |
||||
echo "** WARNING **\n"; |
||||
|
||||
// mandatory |
||||
echo_title("Mandatory requirements"); |
||||
check(version_compare(phpversion(), '5.3.2', '>='), sprintf('Checking that PHP version is at least 5.3.2 (%s installed)', phpversion()), 'Install PHP 5.3.2 or newer (current version is '.phpversion(), true); |
||||
check(ini_get('date.timezone'), 'Checking that the "date.timezone" setting is set', 'Set the "date.timezone" setting in php.ini (like Europe/Paris)', true); |
||||
check(is_writable(__DIR__.'/../app/cache'), sprintf('Checking that app/cache/ directory is writable'), 'Change the permissions of the app/cache/ directory so that the web server can write in it', true); |
||||
check(is_writable(__DIR__.'/../app/logs'), sprintf('Checking that the app/logs/ directory is writable'), 'Change the permissions of the app/logs/ directory so that the web server can write in it', true); |
||||
check(function_exists('json_encode'), 'Checking that the json_encode() is available', 'Install and enable the json extension', true); |
||||
check(class_exists('SQLite3') || in_array('sqlite', PDO::getAvailableDrivers()), 'Checking that the SQLite3 or PDO_SQLite extension is available', 'Install and enable the SQLite3 or PDO_SQLite extension.', true); |
||||
check(function_exists('session_start'), 'Checking that the session_start() is available', 'Install and enable the session extension', true); |
||||
check(function_exists('ctype_alpha'), 'Checking that the ctype_alpha() is available', 'Install and enable the ctype extension', true); |
||||
check(function_exists('token_get_all'), 'Checking that the token_get_all() is available', 'Install and enable the tokenizer extension', true); |
||||
check(!(function_exists('apc_store') && ini_get('apc.enabled')) || version_compare(phpversion('apc'), '3.0.17', '>='), 'Checking that the APC version is at least 3.0.17', 'Upgrade your APC extension (3.0.17+)', true); |
||||
|
||||
// warnings |
||||
echo_title("Optional checks"); |
||||
check(class_exists('DomDocument'), 'Checking that the PHP-XML module is installed', 'Install and enable the php-xml module', false); |
||||
check(function_exists('token_get_all'), 'Checking that the token_get_all() function is available', 'Install and enable the Tokenizer extension (highly recommended)', false); |
||||
check(function_exists('mb_strlen'), 'Checking that the mb_strlen() function is available', 'Install and enable the mbstring extension', false); |
||||
check(function_exists('iconv'), 'Checking that the iconv() function is available', 'Install and enable the iconv extension', false); |
||||
check(function_exists('utf8_decode'), 'Checking that the utf8_decode() is available', 'Install and enable the XML extension', false); |
||||
if (PHP_OS != 'WINNT') { |
||||
check(function_exists('posix_isatty'), 'Checking that the posix_isatty() is available', 'Install and enable the php_posix extension (used to colorized the CLI output)', false); |
||||
} |
||||
check(class_exists('Locale'), 'Checking that the intl extension is available', 'Install and enable the intl extension (used for validators)', false); |
||||
if (class_exists('Locale')) { |
||||
$version = ''; |
||||
|
||||
if (defined('INTL_ICU_VERSION')) { |
||||
$version = INTL_ICU_VERSION; |
||||
} else { |
||||
$reflector = new \ReflectionExtension('intl'); |
||||
|
||||
ob_start(); |
||||
$reflector->info(); |
||||
$output = strip_tags(ob_get_clean()); |
||||
|
||||
preg_match('/^ICU version +(?:=> )?(.*)$/m', $output, $matches); |
||||
$version = $matches[1]; |
||||
} |
||||
|
||||
check(version_compare($version, '4.0', '>='), 'Checking that the intl ICU version is at least 4+', 'Upgrade your intl extension with a newer ICU version (4+)', false); |
||||
} |
||||
|
||||
$accelerator = |
||||
(function_exists('apc_store') && ini_get('apc.enabled')) |
||||
|| |
||||
function_exists('eaccelerator_put') && ini_get('eaccelerator.enable') |
||||
|| |
||||
function_exists('xcache_set') |
||||
; |
||||
check($accelerator, 'Checking that a PHP accelerator is installed', 'Install a PHP accelerator like APC (highly recommended)', false); |
||||
|
||||
check(!ini_get('short_open_tag'), 'Checking that php.ini has short_open_tag set to off', 'Set short_open_tag to off in php.ini', false); |
||||
check(!ini_get('magic_quotes_gpc'), 'Checking that php.ini has magic_quotes_gpc set to off', 'Set magic_quotes_gpc to off in php.ini', false); |
||||
check(!ini_get('register_globals'), 'Checking that php.ini has register_globals set to off', 'Set register_globals to off in php.ini', false); |
||||
check(!ini_get('session.auto_start'), 'Checking that php.ini has session.auto_start set to off', 'Set session.auto_start to off in php.ini', false); |
||||
|
||||
echo_title("Optional checks (Doctrine)"); |
||||
|
||||
check(class_exists('PDO'), 'Checking that PDO is installed', 'Install PDO (mandatory for Doctrine)', false); |
||||
if (class_exists('PDO')) { |
||||
$drivers = PDO::getAvailableDrivers(); |
||||
check(count($drivers), 'Checking that PDO has some drivers installed: '.implode(', ', $drivers), 'Install PDO drivers (mandatory for Doctrine)'); |
||||
} |
||||
|
||||
/** |
||||
* Checks a configuration. |
||||
*/ |
||||
function check($boolean, $message, $help = '', $fatal = false) |
||||
{ |
||||
echo $boolean ? " OK " : sprintf("\n\n[[%s]] ", $fatal ? ' ERROR ' : 'WARNING'); |
||||
echo sprintf("$message%s\n", $boolean ? '' : ': FAILED'); |
||||
|
||||
if (!$boolean) { |
||||
echo " *** $help ***\n"; |
||||
if ($fatal) { |
||||
exit("You must fix this problem before resuming the check.\n"); |
||||
} |
||||
} |
||||
} |
||||
|
||||
function echo_title($title) |
||||
{ |
||||
echo "\n** $title **\n\n"; |
||||
} |
@ -0,0 +1,60 @@
|
||||
imports: |
||||
- { resource: parameters.ini } |
||||
- { resource: security.yml } |
||||
|
||||
framework: |
||||
#esi: ~ |
||||
#translator: { fallback: %locale% } |
||||
secret: %secret% |
||||
charset: UTF-8 |
||||
router: { resource: "%kernel.root_dir%/config/routing.yml" } |
||||
form: true |
||||
csrf_protection: true |
||||
validation: { enable_annotations: true } |
||||
templating: { engines: ['twig'] } #assets_version: SomeVersionScheme |
||||
session: |
||||
default_locale: %locale% |
||||
auto_start: true |
||||
|
||||
# Twig Configuration |
||||
twig: |
||||
debug: %kernel.debug% |
||||
strict_variables: %kernel.debug% |
||||
|
||||
# Assetic Configuration |
||||
assetic: |
||||
debug: %kernel.debug% |
||||
use_controller: false |
||||
# java: /usr/bin/java |
||||
filters: |
||||
cssrewrite: ~ |
||||
# closure: |
||||
# jar: %kernel.root_dir%/java/compiler.jar |
||||
# yui_css: |
||||
# jar: %kernel.root_dir%/java/yuicompressor-2.4.2.jar |
||||
|
||||
# Doctrine Configuration |
||||
doctrine: |
||||
dbal: |
||||
driver: %database_driver% |
||||
host: %database_host% |
||||
port: %database_port% |
||||
dbname: %database_name% |
||||
user: %database_user% |
||||
password: %database_password% |
||||
charset: UTF8 |
||||
|
||||
orm: |
||||
auto_generate_proxy_classes: %kernel.debug% |
||||
auto_mapping: true |
||||
|
||||
# Swiftmailer Configuration |
||||
swiftmailer: |
||||
transport: %mailer_transport% |
||||
host: %mailer_host% |
||||
username: %mailer_user% |
||||
password: %mailer_password% |
||||
|
||||
jms_security_extra: |
||||
secure_controllers: true |
||||
secure_all_services: false |
@ -0,0 +1,23 @@
|
||||
imports: |
||||
- { resource: config.yml } |
||||
|
||||
framework: |
||||
router: { resource: "%kernel.root_dir%/config/routing_dev.yml" } |
||||
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 |
||||
firephp: |
||||
type: firephp |
||||
level: info |
||||
|
||||
assetic: |
||||
use_controller: true |
@ -0,0 +1,19 @@
|
||||
imports: |
||||
- { resource: config.yml } |
||||
|
||||
#doctrine: |
||||
# orm: |
||||
# metadata_cache_driver: apc |
||||
# result_cache_driver: apc |
||||
# query_cache_driver: apc |
||||
|
||||
monolog: |
||||
handlers: |
||||
main: |
||||
type: fingers_crossed |
||||
action_level: error |
||||
handler: nested |
||||
nested: |
||||
type: stream |
||||
path: %kernel.logs_dir%/%kernel.environment%.log |
||||
level: debug |
@ -0,0 +1,14 @@
|
||||
imports: |
||||
- { resource: config_dev.yml } |
||||
|
||||
framework: |
||||
test: ~ |
||||
session: |
||||
storage_id: session.storage.filesystem |
||||
|
||||
web_profiler: |
||||
toolbar: false |
||||
intercept_redirects: false |
||||
|
||||
swiftmailer: |
||||
disable_delivery: true |
@ -0,0 +1,19 @@
|
||||
; These parameters can be imported into other config files |
||||
; by enclosing the key with % (like %database_user%) |
||||
; Comments start with ';', as in php.ini |
||||
[parameters] |
||||
database_driver = pdo_mysql |
||||
database_host = localhost |
||||
database_port = |
||||
database_name = symfony |
||||
database_user = root |
||||
database_password = |
||||
|
||||
mailer_transport = smtp |
||||
mailer_host = localhost |
||||
mailer_user = |
||||
mailer_password = |
||||
|
||||
locale = en |
||||
|
||||
secret = ThisTokenIsNotSoSecretChangeIt |
@ -0,0 +1,4 @@
|
||||
# Internal routing configuration to handle ESI |
||||
#_internal: |
||||
# resource: "@FrameworkBundle/Resources/config/routing/internal.xml" |
||||
# prefix: /_internal |
@ -0,0 +1,18 @@
|
||||
_assetic: |
||||
resource: . |
||||
type: assetic |
||||
|
||||
_wdt: |
||||
resource: "@WebProfilerBundle/Resources/config/routing/wdt.xml" |
||||
prefix: /_wdt |
||||
|
||||
_profiler: |
||||
resource: "@WebProfilerBundle/Resources/config/routing/profiler.xml" |
||||
prefix: /_profiler |
||||
|
||||
_configurator: |
||||
resource: "@SensioDistributionBundle/Resources/config/routing/webconfigurator.xml" |
||||
prefix: /_configurator |
||||
|
||||
_main: |
||||
resource: routing.yml |
@ -0,0 +1,38 @@
|
||||
security: |
||||
encoders: |
||||
Symfony\Component\Security\Core\User\User: plaintext |
||||
|
||||
role_hierarchy: |
||||
ROLE_ADMIN: ROLE_USER |
||||
ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH] |
||||
|
||||
providers: |
||||
in_memory: |
||||
users: |
||||
user: { password: userpass, roles: [ 'ROLE_USER' ] } |
||||
admin: { password: adminpass, roles: [ 'ROLE_ADMIN' ] } |
||||
|
||||
firewalls: |
||||
dev: |
||||
pattern: ^/(_(profiler|wdt)|css|images|js)/ |
||||
security: false |
||||
|
||||
login: |
||||
pattern: ^/demo/secured/login$ |
||||
security: false |
||||
|
||||
secured_area: |
||||
pattern: ^/demo/secured/ |
||||
form_login: |
||||
check_path: /demo/secured/login_check |
||||
login_path: /demo/secured/login |
||||
logout: |
||||
path: /demo/secured/logout |
||||
target: /demo/ |
||||
#anonymous: ~ |
||||
#http_basic: |
||||
# realm: "Secured Demo Area" |
||||
|
||||
access_control: |
||||
#- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: https } |
||||
#- { path: ^/_internal, roles: IS_AUTHENTICATED_ANONYMOUSLY, ip: 127.0.0.1 } |
@ -0,0 +1,22 @@
|
||||
#!/usr/bin/env php |
||||
<?php |
||||
|
||||
// if you don't want to setup permissions the proper way, just uncomment the following PHP line |
||||
// read http://symfony.com/doc/current/book/installation.html#configuration-and-setup for more information |
||||
//umask(0000); |
||||
|
||||
set_time_limit(0); |
||||
|
||||
require_once __DIR__.'/bootstrap.php.cache'; |
||||
require_once __DIR__.'/AppKernel.php'; |
||||
|
||||
use Symfony\Bundle\FrameworkBundle\Console\Application; |
||||
use Symfony\Component\Console\Input\ArgvInput; |
||||
|
||||
$input = new ArgvInput(); |
||||
$env = $input->getParameterOption(array('--env', '-e'), getenv('SYMFONY_ENV') ?: 'dev'); |
||||
$debug = !$input->hasParameterOption(array('--no-debug', '')); |
||||
|
||||
$kernel = new AppKernel($env, $debug); |
||||
$application = new Application($kernel); |
||||
$application->run(); |
@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
||||
<!-- http://www.phpunit.de/manual/current/en/appendixes.configuration.html --> |
||||
<phpunit |
||||
backupGlobals = "false" |
||||
backupStaticAttributes = "false" |
||||
colors = "true" |
||||
convertErrorsToExceptions = "true" |
||||
convertNoticesToExceptions = "true" |
||||
convertWarningsToExceptions = "true" |
||||
processIsolation = "false" |
||||
stopOnFailure = "false" |
||||
syntaxCheck = "false" |
||||
bootstrap = "bootstrap.php.cache" > |
||||
|
||||
<testsuites> |
||||
<testsuite name="Project Test Suite"> |
||||
<directory>../src/*/*Bundle/Tests</directory> |
||||
<directory>../src/*/Bundle/*Bundle/Tests</directory> |
||||
</testsuite> |
||||
</testsuites> |
||||
|
||||
<!-- |
||||
<php> |
||||
<server name="KERNEL_DIR" value="/path/to/your/app/" /> |
||||
</php> |
||||
--> |
||||
|
||||
<filter> |
||||
<whitelist> |
||||
<directory>../src</directory> |
||||
<exclude> |
||||
<directory>../src/*/*Bundle/Resources</directory> |
||||
<directory>../src/*/*Bundle/Tests</directory> |
||||
<directory>../src/*/Bundle/*Bundle/Resources</directory> |
||||
<directory>../src/*/Bundle/*Bundle/Tests</directory> |
||||
</exclude> |
||||
</whitelist> |
||||
</filter> |
||||
|
||||
</phpunit> |
@ -0,0 +1,154 @@
|
||||
#!/usr/bin/env php |
||||
<?php |
||||
|
||||
/* |
||||
* This file is part of the Symfony Standard Edition. |
||||
* |
||||
* (c) Fabien Potencier <fabien@symfony.com> |
||||
* |
||||
* For the full copyright and license information, please view the LICENSE |
||||
* file that was distributed with this source code. |
||||
*/ |
||||
|
||||
set_time_limit(0); |
||||
|
||||
$rootDir = dirname(__DIR__); |
||||
$vendorDir = $rootDir.'/vendor'; |
||||
|
||||
array_shift($argv); |
||||
if (!isset($argv[0])) { |
||||
exit(<<<EOF |
||||
Symfony2 vendors script management. |
||||
|
||||
Specify a command to run: |
||||
|
||||
install: install vendors as specified in deps or deps.lock (recommended) |
||||
update: update vendors to their latest versions (as specified in deps) |
||||
lock: lock vendors to their current versions |
||||
|
||||
EOF |
||||
); |
||||
} |
||||
|
||||
if (!in_array($command = array_shift($argv), array('install', 'update', 'lock'))) { |
||||
exit(sprintf('Command "%s" does not exist.', $command).PHP_EOL); |
||||
} |
||||
|
||||
/* |
||||
* Check wether this project is based on the Standard Edition that was |
||||
* shipped with vendors or not. |
||||
*/ |
||||
if (is_dir($vendorDir.'/symfony') && !is_dir($vendorDir.'/symfony/.git') && !in_array('--reinstall', $argv)) { |
||||
exit(<<<EOF |
||||
Your project seems to be based on a Standard Edition that includes vendors. |
||||
|
||||
Try to run ./bin/vendors install --reinstall |
||||
|
||||
|
||||
EOF |
||||
); |
||||
} |
||||
|
||||
if (!is_dir($vendorDir)) { |
||||
mkdir($vendorDir, 0777, true); |
||||
} |
||||
|
||||
// versions |
||||
$versions = array(); |
||||
if ('install' === $command && file_exists($rootDir.'/deps.lock')) { |
||||
foreach (file($rootDir.'/deps.lock', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES) as $line) { |
||||
$parts = array_values(array_filter(explode(' ', $line))); |
||||
if (2 !== count($parts)) { |
||||
exit(sprintf('The deps version file is not valid (near "%s")', $line).PHP_EOL); |
||||
} |
||||
$versions[$parts[0]] = $parts[1]; |
||||
} |
||||
} |
||||
|
||||
$newversions = array(); |
||||
$deps = parse_ini_file($rootDir.'/deps', true, INI_SCANNER_RAW); |
||||
if (false === $deps) { |
||||
exit('The deps file is not valid ini syntax. Perhaps missing a trailing newline?'.PHP_EOL); |
||||
} |
||||
foreach ($deps as $name => $dep) { |
||||
$dep = array_map('trim', $dep); |
||||
|
||||
// install dir |
||||
$installDir = isset($dep['target']) ? $vendorDir.'/'.$dep['target'] : $vendorDir.'/'.$name; |
||||
if (in_array('--reinstall', $argv) && realpath($installDir)) { |
||||
if (defined('PHP_WINDOWS_VERSION_BUILD')) { |
||||
system(sprintf('rmdir /S /Q %s', escapeshellarg(realpath($installDir)))); |
||||
} else { |
||||
system(sprintf('rm -rf %s', escapeshellarg($installDir))); |
||||
} |
||||
} |
||||
|
||||
if ('install' === $command || 'update' === $command) { |
||||
echo '> Installing/Updating '.$name.PHP_EOL; |
||||
|
||||
// url |
||||
if (!isset($dep['git'])) { |
||||
exit(sprintf('The "git" value for the "%s" dependency must be set.', $name).PHP_EOL); |
||||
} |
||||
$url = $dep['git']; |
||||
|
||||
if (!is_dir($installDir)) { |
||||
system(sprintf('git clone %s %s', escapeshellarg($url), escapeshellarg($installDir))); |
||||
} |
||||
|
||||
// revision |
||||
if (isset($versions[$name])) { |
||||
$rev = $versions[$name]; |
||||
} else { |
||||
$rev = isset($dep['version']) ? $dep['version'] : 'origin/HEAD'; |
||||
} |
||||
|
||||
$status = system(sprintf('cd %s && git status --porcelain', escapeshellarg($installDir))); |
||||
if (!empty($status)) { |
||||
exit(sprintf('"%s" has local modifications. Please revert or commit/push them before running this command again.', $name).PHP_EOL); |
||||
} |
||||
$current_rev = system(sprintf('cd %s && git rev-list --max-count=1 HEAD', escapeshellarg($installDir))); |
||||
if ($current_rev === $rev) { |
||||
continue; |
||||
} |
||||
|
||||
system(sprintf('cd %s && git fetch origin && git reset --hard %s', escapeshellarg($installDir), escapeshellarg($rev))); |
||||
} |
||||
|
||||
if ('update' === $command || 'lock' === $command) { |
||||
ob_start(); |
||||
system(sprintf('cd %s && git log -n 1 --format=%%H', escapeshellarg($installDir))); |
||||
$newversion = trim(ob_get_clean()); |
||||
|
||||
ob_start(); |
||||
system(sprintf('cd %s && git name-rev --tags --name-only %s', escapeshellarg($installDir), $newversion)); |
||||
// remove trailing ^0 from tags, those are the tags themselves |
||||
$niceversion = preg_replace('/\^0$/', '', trim(ob_get_clean())); |
||||
|
||||
// undefined is returned in case no name-rev could be found |
||||
if ('undefined' !== $niceversion) { |
||||
$newversions[] = $name.' '.$niceversion; |
||||
} else { |
||||
$newversions[] = $name.' '.$newversion; |
||||
} |
||||
} |
||||
} |
||||
|
||||
// update? |
||||
if ('update' === $command || 'lock' === $command) { |
||||
echo '> Updating deps.lock'.PHP_EOL; |
||||
|
||||
file_put_contents($rootDir.'/deps.lock', implode("\n", $newversions)."\n"); |
||||
} |
||||
|
||||
// php on windows can't use the shebang line from system() |
||||
$interpreter = defined('PHP_WINDOWS_VERSION_BUILD') ? 'php.exe' : ''; |
||||
|
||||
// Update the bootstrap files |
||||
system(sprintf('%s %s %s', $interpreter, escapeshellarg($rootDir.'/vendor/bundles/Sensio/Bundle/DistributionBundle/Resources/bin/build_bootstrap.php'), escapeshellarg($rootDir))); |
||||
|
||||
// Update assets |
||||
system(sprintf('%s %s assets:install %s', $interpreter, escapeshellarg($rootDir.'/app/console'), escapeshellarg($rootDir.'/web/'))); |
||||
|
||||
// Remove the cache |
||||
system(sprintf('%s %s cache:clear --no-warmup', $interpreter, escapeshellarg($rootDir.'/app/console'))); |
@ -0,0 +1,63 @@
|
||||
[symfony] |
||||
git=http://github.com/symfony/symfony.git |
||||
version=v2.0.12 |
||||
|
||||
[twig] |
||||
git=http://github.com/fabpot/Twig.git |
||||
version=v1.6.2 |
||||
|
||||
[monolog] |
||||
git=http://github.com/Seldaek/monolog.git |
||||
version=1.0.2 |
||||
|
||||
[doctrine-common] |
||||
git=http://github.com/doctrine/common.git |
||||
version=2.1.4 |
||||
|
||||
[doctrine-dbal] |
||||
git=http://github.com/doctrine/dbal.git |
||||
version=2.1.6 |
||||
|
||||
[doctrine] |
||||
git=http://github.com/doctrine/doctrine2.git |
||||
version=2.1.6 |
||||
|
||||
[swiftmailer] |
||||
git=http://github.com/swiftmailer/swiftmailer.git |
||||
version=v4.1.5 |
||||
|
||||
[assetic] |
||||
git=http://github.com/kriswallsmith/assetic.git |
||||
version=v1.0.3 |
||||
|
||||
[twig-extensions] |
||||
git=http://github.com/fabpot/Twig-extensions.git |
||||
|
||||
[metadata] |
||||
git=http://github.com/schmittjoh/metadata.git |
||||
version=1.0.0 |
||||
|
||||
[SensioFrameworkExtraBundle] |
||||
git=http://github.com/sensio/SensioFrameworkExtraBundle.git |
||||
target=/bundles/Sensio/Bundle/FrameworkExtraBundle |
||||
version=origin/2.0 |
||||
|
||||
[JMSSecurityExtraBundle] |
||||
git=http://github.com/schmittjoh/JMSSecurityExtraBundle.git |
||||
target=/bundles/JMS/SecurityExtraBundle |
||||
version=origin/1.0.x |
||||
|
||||
[SensioDistributionBundle] |
||||
git=http://github.com/sensio/SensioDistributionBundle.git |
||||
target=/bundles/Sensio/Bundle/DistributionBundle |
||||
version=origin/2.0 |
||||
|
||||
[SensioGeneratorBundle] |
||||
git=http://github.com/sensio/SensioGeneratorBundle.git |
||||
target=/bundles/Sensio/Bundle/GeneratorBundle |
||||
version=origin/2.0 |
||||
|
||||
[AsseticBundle] |
||||
git=http://github.com/symfony/AsseticBundle.git |
||||
target=/bundles/Symfony/Bundle/AsseticBundle |
||||
version=v1.0.1 |
@ -0,0 +1,15 @@
|
||||
symfony v2.0.12 |
||||
twig v1.6.2 |
||||
monolog 1.0.2 |
||||
doctrine-common 2.1.4 |
||||
doctrine-dbal 2.1.6 |
||||
doctrine 2.1.6 |
||||
swiftmailer v4.1.5 |
||||
assetic v1.0.3 |
||||
twig-extensions 1dfff8e793f50f651c4f74f796c2c68a4aee3147 |
||||
metadata 1.0.0 |
||||
SensioFrameworkExtraBundle 638f545b7020b9e9d5944a7e3167f60ed848250d |
||||
JMSSecurityExtraBundle 541a4c242328dc04b99540c75346cc74a7c0cfb5 |
||||
SensioDistributionBundle 20b66a408084ad8752f98e50f10533f5245310bf |
||||
SensioGeneratorBundle b1ccb78c1743f30817b0fce9bb5c6baff6ed7bf8 |
||||
AsseticBundle v1.0.1 |
@ -0,0 +1,5 @@
|
||||
<IfModule mod_rewrite.c> |
||||
RewriteEngine On |
||||
RewriteCond %{REQUEST_FILENAME} !-f |
||||
RewriteRule ^(.*)$ app.php [QSA,L] |
||||
</IfModule> |
@ -0,0 +1,12 @@
|
||||
<?php |
||||
|
||||
require_once __DIR__.'/../app/bootstrap.php.cache'; |
||||
require_once __DIR__.'/../app/AppKernel.php'; |
||||
//require_once __DIR__.'/../app/AppCache.php'; |
||||
|
||||
use Symfony\Component\HttpFoundation\Request; |
||||
|
||||
$kernel = new AppKernel('prod', false); |
||||
$kernel->loadClassCache(); |
||||
//$kernel = new AppCache($kernel); |
||||
$kernel->handle(Request::createFromGlobals())->send(); |
@ -0,0 +1,24 @@
|
||||
<?php |
||||
|
||||
// if you don't want to setup permissions the proper way, just uncomment the following PHP line |
||||
// read http://symfony.com/doc/current/book/installation.html#configuration-and-setup for more information |
||||
//umask(0000); |
||||
|
||||
// this check prevents access to debug front controllers that are deployed by accident to production servers. |
||||
// feel free to remove this, extend it, or make something more sophisticated. |
||||
if (!in_array(@$_SERVER['REMOTE_ADDR'], array( |
||||
'127.0.0.1', |
||||
'::1', |
||||
))) { |
||||
header('HTTP/1.0 403 Forbidden'); |
||||
exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.'); |
||||
} |
||||
|
||||
require_once __DIR__.'/../app/bootstrap.php.cache'; |
||||
require_once __DIR__.'/../app/AppKernel.php'; |
||||
|
||||
use Symfony\Component\HttpFoundation\Request; |
||||
|
||||
$kernel = new AppKernel('dev', true); |
||||
$kernel->loadClassCache(); |
||||
$kernel->handle(Request::createFromGlobals())->send(); |
After Width: | Height: | Size: 10 KiB |
@ -0,0 +1,226 @@
|
||||
/* |
||||
Copyright (c) 2010, Yahoo! Inc. All rights reserved. |
||||
Code licensed under the BSD License: |
||||
http://developer.yahoo.com/yui/license.html |
||||
version: 3.1.2 |
||||
build: 56 |
||||
*/ |
||||
.sf-exceptionreset html{color:#000;background:#FFF;}.sf-exceptionreset body,.sf-exceptionreset div,.sf-exceptionreset dl,.sf-exceptionreset dt,.sf-exceptionreset dd,.sf-exceptionreset ul,.sf-exceptionreset ol,.sf-exceptionreset li,.sf-exceptionreset h1,.sf-exceptionreset h2,.sf-exceptionreset h3,.sf-exceptionreset h4,.sf-exceptionreset h5,.sf-exceptionreset h6,.sf-exceptionreset pre,.sf-exceptionreset code,.sf-exceptionreset form,.sf-exceptionreset fieldset,.sf-exceptionreset legend,.sf-exceptionreset input,.sf-exceptionreset textarea,.sf-exceptionreset p,.sf-exceptionreset blockquote,.sf-exceptionreset th,.sf-exceptionreset td{margin:0;padding:0;}.sf-exceptionreset table{border-collapse:collapse;border-spacing:0;}.sf-exceptionreset fieldset,.sf-exceptionreset img{border:0;}.sf-exceptionreset address,.sf-exceptionreset caption,.sf-exceptionreset cite,.sf-exceptionreset code,.sf-exceptionreset dfn,.sf-exceptionreset em,.sf-exceptionreset strong,.sf-exceptionreset th,.sf-exceptionreset var{font-style:normal;font-weight:normal;}.sf-exceptionreset li{list-style:none;}.sf-exceptionreset caption,.sf-exceptionreset th{text-align:left;}.sf-exceptionreset h1,.sf-exceptionreset h2,.sf-exceptionreset h3,.sf-exceptionreset h4,.sf-exceptionreset h5,.sf-exceptionreset h6{font-size:100%;font-weight:normal;}.sf-exceptionreset q:before,.sf-exceptionreset q:after{content:'';}.sf-exceptionreset abbr,.sf-exceptionreset acronym{border:0;font-variant:normal;}.sf-exceptionreset sup{vertical-align:text-top;}.sf-exceptionreset sub{vertical-align:text-bottom;}.sf-exceptionreset input,.sf-exceptionreset textarea,.sf-exceptionreset select{font-family:inherit;font-size:inherit;font-weight:inherit;}.sf-exceptionreset input,.sf-exceptionreset textarea,.sf-exceptionreset select{*font-size:100%;}.sf-exceptionreset legend{color:#000;} |
||||
|
||||
.sf-exceptionreset html, |
||||
.sf-exceptionreset body { |
||||
width: 100%; |
||||
min-height: 100%; |
||||
_height: 100%; |
||||
margin: 0; |
||||
padding: 0; |
||||
} |
||||
.sf-exceptionreset body { |
||||
font: 1em "Lucida Sans Unicode", "Lucida Grande", Verdana, Arial, Helvetica, sans-serif; |
||||
text-align: left; |
||||
background-color: #efefef; |
||||
} |
||||
|
||||
.sf-exceptionreset abbr { |
||||
border-bottom: 1px dotted #000; |
||||
cursor: help; |
||||
} |
||||
|
||||
.sf-exceptionreset p { |
||||
font-size: 14px; |
||||
line-height: 20px; |
||||
color: #868686; |
||||
padding-bottom: 20px; |
||||
} |
||||
|
||||
.sf-exceptionreset strong { |
||||
color: #313131; |
||||
font-weight: bold; |
||||
} |
||||
|
||||
.sf-exceptionreset a { |
||||
color: #6c6159; |
||||
} |
||||
.sf-exceptionreset a img { |
||||
border: none; |
||||
} |
||||
.sf-exceptionreset a:hover { |
||||
text-decoration: underline; |
||||
} |
||||
|
||||
.sf-exceptionreset em { |
||||
font-style: italic; |
||||
} |
||||
|
||||
.sf-exceptionreset h2, |
||||
.sf-exceptionreset h3 { |
||||
font-weight: bold; |
||||
} |
||||
.sf-exceptionreset h1 { |
||||
font-family: Georgia, "Times New Roman", Times, serif; |
||||
font-size: 20px; |
||||
color: #313131; |
||||
} |
||||
|
||||
.sf-exceptionreset li { |
||||
padding-bottom: 10px; |
||||
} |
||||
|
||||
.sf-exceptionreset .traces { |
||||
padding-bottom: 14px; |
||||
} |
||||
.sf-exceptionreset .traces li { |
||||
font-size: 12px; |
||||
color: #868686; |
||||
padding: 5px 4px; |
||||
list-style-type: decimal; |
||||
margin-left: 20px; |
||||
} |
||||
.sf-exceptionreset #logs .traces li.error { |
||||
font-style: normal; |
||||
color: #AA3333; |
||||
background: #f9ecec; |
||||
} |
||||
/* fix for Opera not liking empty <li> */ |
||||
.sf-exceptionreset .traces li:after { |
||||
content: "\00A0"; |
||||
} |
||||
|
||||
.sf-exceptionreset .trace { |
||||
border: 1px solid #D3D3D3; |
||||
padding: 10px; |
||||
overflow: auto; |
||||
margin: 10px 0 20px; |
||||
} |
||||
|
||||
.sf-exceptionreset .block, |
||||
.sf-exceptionreset .block_exception { |
||||
-moz-border-radius: 16px; |
||||
-webkit-border-radius: 16px; |
||||
border-radius: 16px; |
||||
margin-bottom: 20px; |
||||
} |
||||
.sf-exceptionreset .block { |
||||
background-color: #FFFFFF; |
||||
border: 1px solid #dfdfdf; |
||||
padding: 40px 50px; |
||||
} |
||||
.sf-exceptionreset .block_exception { |
||||
background-color: #f6f6f6; |
||||
border: 1px solid #dfdfdf; |
||||
padding: 30px 28px; |
||||
} |
||||
.sf-exceptionreset .block_exception div { |
||||
color: #313131; |
||||
font-size: 10px; |
||||
} |
||||
|
||||
.sf-exceptionreset .block_exception_detected .illustration_exception, |
||||
.sf-exceptionreset .block_exception_detected .text_exception { |
||||
float: left; |
||||
} |
||||
.sf-exceptionreset .block_exception_detected .illustration_exception { |
||||
width: 152px; |
||||
} |
||||
.sf-exceptionreset .block_exception_detected .text_exception { |
||||
width: 670px; |
||||
padding: 30px 44px 24px 46px; |
||||
position: relative; |
||||
} |
||||
|
||||
.sf-exceptionreset .text_exception .open_quote, |
||||
.sf-exceptionreset .text_exception .close_quote { |
||||
position: absolute; |
||||
} |
||||
.sf-exceptionreset .open_quote { |
||||
top: 0; |
||||
left: 0; |
||||
} |
||||
.sf-exceptionreset .close_quote { |
||||
bottom: 0; |
||||
right: 50px; |
||||
} |
||||
|
||||
.sf-exceptionreset .block_exception p { |
||||
font-family: Arial, Helvetica, sans-serif; |
||||
} |
||||
.sf-exceptionreset .block_exception p a, |
||||
.sf-exceptionreset .block_exception p a:hover { |
||||
color: #565656; |
||||
} |
||||
|
||||
.sf-exceptionreset h2 { |
||||
font-size: 16px; |
||||
font-family: Arial, Helvetica, sans-serif; |
||||
padding-bottom: 16px; |
||||
} |
||||
|
||||
.sf-exceptionreset li a { |
||||
background: none; |
||||
color: #868686; |
||||
text-decoration: none; |
||||
} |
||||
|
||||
.sf-exceptionreset li a:hover { |
||||
background: none; |
||||
color: #313131; |
||||
text-decoration: underline; |
||||
} |
||||
|
||||
.sf-exceptionreset .logs h2 { |
||||
float: left; |
||||
width: 654px; |
||||
} |
||||
|
||||
.sf-exceptionreset .error_count { |
||||
float: right; |
||||
width: 170px; |
||||
text-align: right; |
||||
} |
||||
|
||||
.sf-exceptionreset .error_count span { |
||||
display: inline-block; |
||||
background-color: #aacd4e; |
||||
-moz-border-radius: 6px; |
||||
-webkit-border-radius: 6px; |
||||
border-radius: 6px; |
||||
padding: 4px; |
||||
color: white; |
||||
margin-right: 2px; |
||||
font-size: 11px; |
||||
font-weight: bold; |
||||
} |
||||
|
||||
.sf-exceptionreset .toggle { |
||||
vertical-align: middle; |
||||
} |
||||
|
||||
.sf-exceptionreset .linked ul, |
||||
.sf-exceptionreset .linked li { |
||||
display: inline; |
||||
} |
||||
|
||||
.sf-exceptionreset #output_content { |
||||
color: #000; |
||||
font-size: 12px; |
||||
} |
||||
|
||||
.sf-exceptionreset ol { |
||||
padding: 10px 0; |
||||
} |
||||
.sf-exceptionreset ol li { |
||||
list-style: decimal; |
||||
margin-left: 20px; |
||||
padding: 2px; |
||||
padding-bottom: 20px; |
||||
} |
||||
.sf-exceptionreset ol ol li { |
||||
list-style-position: inside; |
||||
margin-left: 0; |
||||
white-space: nowrap; |
||||
font-size: 12px; |
||||
padding-bottom: 0; |
||||
} |
||||
.sf-exceptionreset li .selected { |
||||
background-color: #ffd; |
||||
} |
@ -0,0 +1,131 @@
|
||||
html { |
||||
background: #eee; |
||||
} |
||||
|
||||
body { |
||||
font: 11px Verdana, Arial, sans-serif; |
||||
color: #333; |
||||
} |
||||
|
||||
.sf-exceptionreset, .sf-exceptionreset .block, .sf-exceptionreset #message { |
||||
margin: auto; |
||||
} |
||||
|
||||
img { |
||||
border: 0; |
||||
} |
||||
|
||||
.clear { |
||||
clear: both; |
||||
height: 0; |
||||
font-size: 0; |
||||
line-height: 0; |
||||
} |
||||
|
||||
.clear_fix:after { |
||||
content: "\0020"; |
||||
display: block; |
||||
height: 0; |
||||
clear: both; |
||||
visibility: hidden; |
||||
} |
||||
.clear_fix { |
||||
display: inline-block; |
||||
} |
||||
* html .clear_fix { |
||||
height: 1%; |
||||
} |
||||
.clear_fix { |
||||
display: block; |
||||
} |
||||
|
||||
.header { |
||||
padding: 30px 30px 20px 30px; |
||||
} |
||||
|
||||
.header_logo { |
||||
float: left; |
||||
} |
||||
|
||||
.search { |
||||
float: right; |
||||
padding-top: 20px; |
||||
} |
||||
|
||||
.search label { |
||||
line-height: 28px; |
||||
vertical-align: middle; |
||||
} |
||||
|
||||
.search input { |
||||
width: 188px; |
||||
margin-right: 10px; |
||||
font-size: 12px; |
||||
border: 1px solid #dadada; |
||||
background: #FFFFFF url(../images/input_bg.gif) repeat-x left top; |
||||
padding: 5px 6px; |
||||
color: #565656; |
||||
} |
||||
|
||||
.search input[type="search"] { |
||||
-webkit-appearance: textfield; |
||||
} |
||||
|
||||
.search button { |
||||
-webkit-appearance: button-bevel; |
||||
float: none; |
||||
padding: 0; |
||||
margin: 0; |
||||
overflow: visible; |
||||
width: auto; |
||||
text-decoration: none; |
||||
cursor: pointer; |
||||
white-space: nowrap; |
||||
display: inline-block; |
||||
text-align: center; |
||||
vertical-align: middle; |
||||
border: 0; |
||||
background: none; |
||||
} |
||||
|
||||
.search button:-moz-focus-inner { |
||||
padding: 0; |
||||
border: none; |
||||
} |
||||
|
||||
.search button:hover { |
||||
text-decoration: none; |
||||
} |
||||
|
||||
.search button span span, |
||||
.search button span span span { |
||||
position: static; |
||||
} |
||||
|
||||
.search button span { |
||||
position: relative; |
||||
text-decoration: none; |
||||
display: block; |
||||
height: 28px; |
||||
float: left; |
||||
padding: 0 0 0 8px; |
||||
background: transparent url(../images/border_l.png) no-repeat top left; |
||||
} |
||||
|
||||
.search button span span { |
||||
padding: 0 8px 0 0; |
||||
background: transparent url(../images/border_r.png) right top no-repeat; |
||||
} |
||||
|
||||
.search button span span span { |
||||
padding: 0 7px; |
||||
font: bold 11px Arial, Helvetica, sans-serif; |
||||
color: #6b6b6b; |
||||
line-height: 28px; |
||||
background: transparent url(../images/btn_bg.png) repeat-x top left; |
||||
} |
||||
|
||||
#content { |
||||
width: 970px; |
||||
margin: 0 auto; |
||||
} |
After Width: | Height: | Size: 197 B |
After Width: | Height: | Size: 213 B |
After Width: | Height: | Size: 366 B |
After Width: | Height: | Size: 389 B |
After Width: | Height: | Size: 137 B |
After Width: | Height: | Size: 284 B |
After Width: | Height: | Size: 3.9 KiB |
After Width: | Height: | Size: 737 B |
After Width: | Height: | Size: 378 B |
After Width: | Height: | Size: 63 B |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 281 B |
@ -0,0 +1,438 @@
|
||||
/* |
||||
Copyright (c) 2010, Yahoo! Inc. All rights reserved. |
||||
Code licensed under the BSD License: |
||||
http://developer.yahoo.com/yui/license.html |
||||
version: 2.8.2r1 |
||||
|
||||
Reset |
||||
*/ |
||||
|
||||
html{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var,optgroup{font-style:inherit;font-weight:inherit;}del,ins{text-decoration:none;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup{vertical-align:baseline;}sub{vertical-align:baseline;}legend{color:#000;}input,button,textarea,select,optgroup,option{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;}input,button,textarea,select{*font-size:100%;} |
||||
|
||||
html, body |
||||
{ |
||||
background-color: #EFEFEF; |
||||
} |
||||
|
||||
body |
||||
{ |
||||
font-size: 14px; |
||||
font-family: "Lucida Sans Unicode", "Lucida Grande", Verdana, Arial, Helvetica, sans-serif; |
||||
color: #313131; |
||||
} |
||||
|
||||
a |
||||
{ |
||||
color: #08C; |
||||
text-decoration: none; |
||||
} |
||||
|
||||
a:hover |
||||
{ |
||||
text-decoration: underline; |
||||
} |
||||
|
||||
strong |
||||
{ |
||||
font-weight: bold; |
||||
} |
||||
|
||||
em |
||||
{ |
||||
font-style: italic; |
||||
} |
||||
|
||||
h1, h2, h3 |
||||
{ |
||||
font-family: Georgia, "Times New Roman", Times, serif; |
||||
color: #404040; |
||||
} |
||||
|
||||
h1 |
||||
{ |
||||
font-size: 45px; |
||||
padding-bottom: 30px; |
||||
} |
||||
|
||||
h2 |
||||
{ |
||||
font-weight: bold; |
||||
color: #FFFFFF; |
||||
/* Font is duplicated of body (sans-serif) */ |
||||
font-family: "Lucida Sans Unicode", "Lucida Grande", Verdana, Arial, Helvetica, sans-serif; |
||||
|
||||
margin-bottom: 10px; |
||||
background-color: #aacd4e; |
||||
padding: 2px 4px; |
||||
display: inline-block; |
||||
text-transform: uppercase; |
||||
|
||||
} |
||||
|
||||
h2.configure-error |
||||
{ |
||||
background-color: #CC514F; |
||||
} |
||||
|
||||
p |
||||
{ |
||||
line-height: 20px; |
||||
padding-bottom: 20px; |
||||
} |
||||
|
||||
ul a |
||||
{ |
||||
background: url(../images/blue-arrow.png) no-repeat right 6px; |
||||
padding-right: 10px; |
||||
} |
||||
|
||||
ul, ol |
||||
{ |