Merge branch 'master' of github.com:thelia/thelia into cleanmaster

This commit is contained in:
Etienne Roudeix
2013-12-18 17:47:23 +01:00
167 changed files with 644 additions and 537 deletions

View File

@@ -26,7 +26,6 @@ use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Reference;
/**
* Class TranslatorPass
* @package Thelia\Core\DependencyInjection\Compiler
@@ -50,11 +49,11 @@ class TranslatorPass implements CompilerPassInterface
$translator = $container->getDefinition('thelia.translator');
foreach($container->findTaggedServiceIds('translation.loader') as $id => $attributes) {
foreach ($container->findTaggedServiceIds('translation.loader') as $id => $attributes) {
$translator->addMethodCall('addLoader', array($attributes[0]['alias'], new Reference($id)));
if (isset($attributes[0]['legacy-alias'])) {
$translator->addMethodCall('addLoader', array($attributes[0]['legacy-alias'], new Reference($id)));
}
}
}
}
}

View File

@@ -25,7 +25,6 @@ namespace Thelia\Core\Event\Administrator;
use Thelia\Core\Event\ActionEvent;
use Thelia\Model\Admin;
/**
* Class AdministratorUpdatePasswordEvent
* @package Thelia\Core\Event\Administrator
@@ -82,4 +81,3 @@ class AdministratorUpdatePasswordEvent extends ActionEvent
}
}

View File

@@ -23,7 +23,6 @@
namespace Thelia\Core\Event\Customer;
use Symfony\Component\EventDispatcher\Event;
use Thelia\Core\Event\ActionEvent;
use Thelia\Model\Customer;
/**

View File

@@ -23,7 +23,6 @@
namespace Thelia\Core\Event\Customer;
use Thelia\Core\Event\ActionEvent;
use Thelia\Model\Customer;
class CustomerLoginEvent extends CustomerEvent

View File

@@ -138,4 +138,4 @@ class MessageUpdateEvent extends MessageCreateEvent
return $this;
}
}
}

View File

@@ -65,6 +65,7 @@ class ProductCombinationGenerationEvent extends ProductEvent
public function setReference($reference)
{
$this->reference = $reference;
return $this;
}
@@ -76,6 +77,7 @@ class ProductCombinationGenerationEvent extends ProductEvent
public function setPrice($price)
{
$this->price = $price;
return $this;
}
@@ -87,6 +89,7 @@ class ProductCombinationGenerationEvent extends ProductEvent
public function setWeight($weight)
{
$this->weight = $weight;
return $this;
}
@@ -98,6 +101,7 @@ class ProductCombinationGenerationEvent extends ProductEvent
public function setQuantity($quantity)
{
$this->quantity = $quantity;
return $this;
}
@@ -109,6 +113,7 @@ class ProductCombinationGenerationEvent extends ProductEvent
public function setSalePrice($sale_price)
{
$this->sale_price = $sale_price;
return $this;
}
@@ -120,6 +125,7 @@ class ProductCombinationGenerationEvent extends ProductEvent
public function setOnsale($onsale)
{
$this->onsale = $onsale;
return $this;
}
@@ -131,6 +137,7 @@ class ProductCombinationGenerationEvent extends ProductEvent
public function setIsnew($isnew)
{
$this->isnew = $isnew;
return $this;
}
@@ -142,6 +149,7 @@ class ProductCombinationGenerationEvent extends ProductEvent
public function setEanCode($ean_code)
{
$this->ean_code = $ean_code;
return $this;
return $this;
}
@@ -154,6 +162,7 @@ class ProductCombinationGenerationEvent extends ProductEvent
public function setCombinations($combinations)
{
$this->combinations = $combinations;
return $this;
}
}
}

View File

@@ -60,4 +60,4 @@ class ProductSetTemplateEvent extends ProductEvent
return $this;
}
}
}

View File

@@ -22,7 +22,6 @@
/*************************************************************************************/
namespace Thelia\Core\Event\ProductSaleElement;
use Thelia\Model\Product;
class ProductSaleElementDeleteEvent extends ProductSaleElementEvent
{

View File

@@ -184,5 +184,4 @@ class UpdateSeoEvent extends ActionEvent
return $this->object;
}
}

View File

@@ -30,12 +30,10 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
use Symfony\Component\HttpFoundation\Request;
use Thelia\Core\HttpFoundation\Response;
use Symfony\Component\Routing\Router;
use Thelia\Core\HttpKernel\Exception\NotFountHttpException;
use Thelia\Core\Template\Exception\ResourceNotFoundException;
use Thelia\Core\Template\ParserInterface;
use Thelia\Core\Template\TemplateHelper;
use Thelia\Exception\OrderException;
use Thelia\Model\ConfigQuery;
use Thelia\Tools\Redirect;
use Thelia\Tools\URL;
use Thelia\Core\Security\Exception\AuthenticationException;

View File

@@ -39,8 +39,8 @@ class Response extends BaseResponse
*
* @see \Thelia\Core\HttpFoundation\Response::sendContent()
*/
public function sendContent() {
public function sendContent()
{
Tlog::getInstance()->write($this->content);
parent::sendContent();

View File

@@ -65,7 +65,8 @@ class HttpCache extends BaseHttpCache implements HttpKernelInterface
$request->getContent()
);
}
return parent::handle($request, $type, $catch);
}
}
}

View File

@@ -177,7 +177,7 @@ class SecurityContext
continue;
}
if(!array_key_exists('module', $userPermissions)) {
if (!array_key_exists('module', $userPermissions)) {
return false;
}

View File

@@ -23,12 +23,13 @@
namespace Thelia\Core\Template\Assets;
interface AssetManagerInterface {
interface AssetManagerInterface
{
/**
* Prepare an asset directory.
*
* @param string $source_assets_directory the full path to the source asstes directory
* @param string $web_assets_directory_base the base directory of the web based asset directory
* @param string $source_assets_directory the full path to the source asstes directory
* @param string $web_assets_directory_base the base directory of the web based asset directory
* @throws \RuntimeException if something goes wrong.
*/
public function prepareAssets($source_assets_directory, $web_assets_directory_base);
@@ -36,18 +37,18 @@ interface AssetManagerInterface {
/**
* Generates assets from $asset_path in $output_path, using $filters.
*
* @param string $asset_path the full path to the asset file (or file collection, e.g. *.less)
* @param string $asset_path the full path to the asset file (or file collection, e.g. *.less)
*
* @param string $web_assets_directory_base the full disk path to the base assets output directory in the web space
* @param string $output_url the URL to the base assets output directory in the web space
* @param string $web_assets_directory_base the full disk path to the base assets output directory in the web space
* @param string $output_url the URL to the base assets output directory in the web space
*
* @param string $asset_type the asset type: css, js, ... The generated files will have this extension. Pass an empty string to use the asset source extension.
* @param array $filters a list of filters, as defined below (see switch($filter_name) ...)
* @param string $asset_type the asset type: css, js, ... The generated files will have this extension. Pass an empty string to use the asset source extension.
* @param array $filters a list of filters, as defined below (see switch($filter_name) ...)
*
* @param boolean $debug the debug mode, true or false
* @param boolean $debug the debug mode, true or false
*
* @throws \InvalidArgumentException if an invalid filter name is found
* @return string The URL to the generated asset file.
*/
public function processAsset($asset_path, $web_assets_directory_base, $output_url, $asset_type, $filters, $debug);
}
}

View File

@@ -52,7 +52,7 @@ class AsseticAssetManager implements AssetManagerInterface
/**
* Create a stamp form the modification time of the content of the given directory and all of its subdirectories
*
* @param string $directory ther directory name
* @param string $directory ther directory name
* @return string the stamp of this directory
*/
protected function getStamp($directory)
@@ -75,7 +75,8 @@ class AsseticAssetManager implements AssetManagerInterface
*
* @param \DirectoryIterator $fileInfo
*/
protected function isSourceFile(\SplFileInfo $fileInfo) {
protected function isSourceFile(\SplFileInfo $fileInfo)
{
return in_array($fileInfo->getExtension(), $this->source_file_extensions);
}
@@ -83,8 +84,8 @@ class AsseticAssetManager implements AssetManagerInterface
* Recursively copy assets from the source directory to the destination
* directory in the web space, ommiting source files.
*
* @param string $from_directory the source
* @param string $to_directory the destination
* @param string $from_directory the source
* @param string $to_directory the destination
* @throws \RuntimeException if a problem occurs.
*/
protected function copyAssets(Filesystem $fs, $from_directory, $to_directory)
@@ -124,9 +125,9 @@ class AsseticAssetManager implements AssetManagerInterface
/**
* Compite the assets path relative to the base template directory
*
* @param string $source_assets_directory the source directory
* @param string $web_assets_directory_base base directory of the web assets
* @return the full path of the destination directory
* @param string $source_assets_directory the source directory
* @param string $web_assets_directory_base base directory of the web assets
* @return the full path of the destination directory
*/
protected function getRelativeDirectoryPath($source_assets_directory, $web_assets_directory_base)
{
@@ -145,9 +146,9 @@ class AsseticAssetManager implements AssetManagerInterface
* Compute the destination directory path, from the source directory and the
* base directory of the web assets
*
* @param string $source_assets_directory the source directory
* @param string $web_assets_directory_base base directory of the web assets
* @return the full path of the destination directory
* @param string $source_assets_directory the source directory
* @param string $web_assets_directory_base base directory of the web assets
* @return the full path of the destination directory
*/
protected function getDestinationDirectory($source_assets_directory, $web_assets_directory_base)
{
@@ -160,12 +161,12 @@ class AsseticAssetManager implements AssetManagerInterface
* the source directory. If any change is detected, the whole asset directory
* is copied in the web space.
*
* @param string $source_assets_directory the full path to the source asstes directory
* @param string $web_assets_directory_base the base directory of the web based asset directory
* @param string $source_assets_directory the full path to the source asstes directory
* @param string $web_assets_directory_base the base directory of the web based asset directory
* @throws \RuntimeException if something goes wrong.
*/
public function prepareAssets($source_assets_directory, $web_assets_directory_base) {
public function prepareAssets($source_assets_directory, $web_assets_directory_base)
{
// Compute the absolute path of the output directory
$to_directory = $this->getDestinationDirectory($source_assets_directory, $web_assets_directory_base);
@@ -217,8 +218,7 @@ class AsseticAssetManager implements AssetManagerInterface
throw new \RuntimeException(
"Failed to create asset stamp file $stamp_file_path. Please check that your web server has the proper access rights to do that.");
}
/* }
else {
/* } else {
@fclose($fp);
}
*/
@@ -228,13 +228,13 @@ class AsseticAssetManager implements AssetManagerInterface
/**
* Decode the filters names, and initialize the Assetic FilterManager
*
* @param FilterManager $filterManager the Assetic filter manager
* @param string $filters a comma separated list of filter names
* @param FilterManager $filterManager the Assetic filter manager
* @param string $filters a comma separated list of filter names
* @throws \InvalidArgumentException if a wrong filter is passed
* @return an array of filter names
* @return an array of filter names
*/
protected function decodeAsseticFilters(FilterManager $filterManager, $filters) {
protected function decodeAsseticFilters(FilterManager $filterManager, $filters)
{
if (!empty($filters)) {
$filter_list = explode(',', $filters);
@@ -273,8 +273,7 @@ class AsseticAssetManager implements AssetManagerInterface
break;
}
}
}
else {
} else {
$filter_list = array();
}
@@ -284,15 +283,15 @@ class AsseticAssetManager implements AssetManagerInterface
/**
* Generates assets from $asset_path in $output_path, using $filters.
*
* @param string $asset_path the full path to the asset file (or file collection, e.g. *.less)
* @param string $asset_path the full path to the asset file (or file collection, e.g. *.less)
*
* @param string $web_assets_directory_base the full disk path to the base assets output directory in the web space
* @param string $output_url the URL to the base assets output directory in the web space
* @param string $web_assets_directory_base the full disk path to the base assets output directory in the web space
* @param string $output_url the URL to the base assets output directory in the web space
*
* @param string $asset_type the asset type: css, js, ... The generated files will have this extension. Pass an empty string to use the asset source extension.
* @param array $filters a list of filters, as defined below (see switch($filter_name) ...)
* @param string $asset_type the asset type: css, js, ... The generated files will have this extension. Pass an empty string to use the asset source extension.
* @param array $filters a list of filters, as defined below (see switch($filter_name) ...)
*
* @param boolean $debug true / false
* @param boolean $debug true / false
* @throws \InvalidArgumentException if an invalid filter name is found
* @return string The URL to the generated asset file.
*/
@@ -347,4 +346,4 @@ class AsseticAssetManager implements AssetManagerInterface
return rtrim($output_url, '/') . '/' . ltrim($output_relative_web_path, '/') . $asset_target_filename;
}
}
}

View File

@@ -277,7 +277,6 @@ abstract class BaseLoop
}
}
protected function searchArray(array $search, &$pagination = null)
{
if (false === $this->countable) {
@@ -286,7 +285,7 @@ abstract class BaseLoop
if ($this->getArgValue('page') !== null) {
$nbPage = ceil(count($search)/$this->getArgValue('limit'));
if($this->getArgValue('page') > $nbPage || $this->getArgValue('page') <= 0) {
if ($this->getArgValue('page') > $nbPage || $this->getArgValue('page') <= 0) {
return array();
}
@@ -338,9 +337,9 @@ abstract class BaseLoop
*/
public function exec(&$pagination)
{
if($this instanceof PropelSearchLoopInterface) {
if ($this instanceof PropelSearchLoopInterface) {
$searchModelCriteria = $this->buildModelCriteria();
if(null === $searchModelCriteria) {
if (null === $searchModelCriteria) {
$results = array();
} else {
$results = $this->search(
@@ -350,7 +349,7 @@ abstract class BaseLoop
}
} elseif ($this instanceof ArraySearchLoopInterface) {
$searchArray = $this->buildArray();
if(null === $searchArray) {
if (null === $searchArray) {
$results = array();
} else {
$results = $this->searchArray(
@@ -362,13 +361,13 @@ abstract class BaseLoop
$loopResult = new LoopResult($results);
if(true === $this->countable) {
if (true === $this->countable) {
$loopResult->setCountable();
}
if(true === $this->timestampable) {
if (true === $this->timestampable) {
$loopResult->setTimestamped();
}
if(true === $this->versionable) {
if (true === $this->versionable) {
$loopResult->setVersioned();
}
@@ -382,29 +381,29 @@ abstract class BaseLoop
* - ArraySearchLoopInterface
*/
$searchInterface = false;
if($this instanceof PropelSearchLoopInterface) {
if(true === $searchInterface) {
if ($this instanceof PropelSearchLoopInterface) {
if (true === $searchInterface) {
throw new LoopException('Loop cannot implements multiple Search Interfaces : `PropelSearchLoopInterface`, `ArraySearchLoopInterface`', LoopException::MULTIPLE_SEARCH_INTERFACE);
}
$searchInterface = true;
}
if($this instanceof ArraySearchLoopInterface) {
if(true === $searchInterface) {
if ($this instanceof ArraySearchLoopInterface) {
if (true === $searchInterface) {
throw new LoopException('Loop cannot implements multiple Search Interfaces : `PropelSearchLoopInterface`, `ArraySearchLoopInterface`', LoopException::MULTIPLE_SEARCH_INTERFACE);
}
$searchInterface = true;
}
if(false === $searchInterface) {
if (false === $searchInterface) {
throw new LoopException('Loop must implements one of the following interfaces : `PropelSearchLoopInterface`, `ArraySearchLoopInterface`', LoopException::SEARCH_INTERFACE_NOT_FOUND);
}
/* Only PropelSearch allows timestamp and version */
if(!$this instanceof PropelSearchLoopInterface) {
if(true === $this->timestampable) {
if (!$this instanceof PropelSearchLoopInterface) {
if (true === $this->timestampable) {
throw new LoopException("Loop must implements 'PropelSearchLoopInterface' to be timestampable", LoopException::NOT_TIMESTAMPED);
}
if(true === $this->versionable) {
if (true === $this->versionable) {
throw new LoopException("Loop must implements 'PropelSearchLoopInterface' to be versionable", LoopException::NOT_VERSIONED);
}
}

View File

@@ -33,7 +33,6 @@ use Thelia\Core\Template\Loop\Argument\ArgumentCollection;
use Thelia\Core\Template\Loop\Argument\Argument;
use Thelia\Model\AdminQuery;
use Thelia\Type;
/**
*

View File

@@ -48,7 +48,7 @@ class AssociatedContent extends Content
{
protected $contentId;
protected $contentPosition;
/**
* @return ArgumentCollection
*/

View File

@@ -88,7 +88,7 @@ class Auth extends BaseLoop implements ArraySearchLoopInterface
$module = $this->getModule();
$access = $this->getAccess();
if(null !== $module) {
if (null !== $module) {
$in = true;
}

View File

@@ -24,7 +24,6 @@
namespace Thelia\Core\Template\Loop;
use Propel\Runtime\ActiveQuery\Criteria;
use Thelia\Core\Template\Element\BaseI18nLoop;
use Thelia\Core\Template\Element\LoopResult;
use Thelia\Core\Template\Element\PropelSearchLoopInterface;
use Thelia\Core\Template\Loop\Argument\Argument;
use Thelia\Core\Template\Loop\Argument\ArgumentCollection;

View File

@@ -57,7 +57,7 @@ class Cart extends BaseLoop implements ArraySearchLoopInterface
{
$cart = $this->getCart($this->request);
if(null === $cart) {
if (null === $cart) {
return array();
}
@@ -80,7 +80,7 @@ class Cart extends BaseLoop implements ArraySearchLoopInterface
{
$taxCountry = CountryQuery::create()->findPk(64); // @TODO : make it magic;
foreach($loopResult->getResultDataCollection() as $cartItem) {
foreach ($loopResult->getResultDataCollection() as $cartItem) {
$product = $cartItem->getProduct();
$productSaleElement = $cartItem->getProductSaleElements();

View File

@@ -125,9 +125,9 @@ class CategoryPath extends BaseI18nLoop implements ArraySearchLoopInterface
public function parseResults(LoopResult $loopResult)
{
foreach($loopResult->getResultDataCollection() as $result) {
foreach ($loopResult->getResultDataCollection() as $result) {
$loopResultRow = new LoopResultRow($result);
foreach($result as $output => $outputValue) {
foreach ($result as $output => $outputValue) {
$loopResultRow->set($output, $outputValue);
}
$loopResult->addRow($loopResultRow);

View File

@@ -99,9 +99,9 @@ class CategoryTree extends BaseI18nLoop implements ArraySearchLoopInterface
public function parseResults(LoopResult $loopResult)
{
foreach($loopResult->getResultDataCollection() as $result) {
foreach ($loopResult->getResultDataCollection() as $result) {
$loopResultRow = new LoopResultRow($result);
foreach($result as $output => $outputValue) {
foreach ($result as $output => $outputValue) {
$loopResultRow->set($output, $outputValue);
}
$loopResult->addRow($loopResultRow);

View File

@@ -24,7 +24,6 @@
namespace Thelia\Core\Template\Loop;
use Propel\Runtime\ActiveQuery\Criteria;
use Propel\Runtime\Util\PropelModelPager;
use Thelia\Condition\ConditionFactory;
use Thelia\Condition\Implementation\ConditionInterface;
use Thelia\Core\HttpFoundation\Request;

View File

@@ -158,6 +158,7 @@ class Currency extends BaseI18nLoop implements PropelSearchLoopInterface
}
/* perform search */
return $search;
}

View File

@@ -36,9 +36,6 @@ use Thelia\Core\Template\Loop\Argument\Argument;
use Thelia\Model\CustomerQuery;
use Thelia\Type\TypeCollection;
use Thelia\Type;
use Thelia\Model\OrderQuery;
use Thelia\Model\Map\OrderAddressTableMap;
use Thelia\Model\Map\OrderTableMap;
/**
*
@@ -208,7 +205,6 @@ class Customer extends BaseLoop implements SearchLoopInterface, PropelSearchLoop
$search->orderByCreatedAt(Criteria::DESC);
break;
}
}

View File

@@ -73,8 +73,8 @@ class Delivery extends BaseSpecificModule
try {
$postage = $moduleInstance->getPostage($country);
} catch(OrderException $e) {
switch($e->getCode()) {
} catch (OrderException $e) {
switch ($e->getCode()) {
case OrderException::DELIVERY_MODULE_UNAVAILABLE:
/* do not show this delivery module */
continue(2);

View File

@@ -126,7 +126,6 @@ class Folder extends BaseI18nLoop implements PropelSearchLoopInterface
if ($visible !== BooleanOrBothType::ANY) $search->filterByVisible($visible ? 1 : 0);
$orders = $this->getOrder();
foreach ($orders as $order) {

View File

@@ -135,9 +135,9 @@ class FolderPath extends BaseI18nLoop implements ArraySearchLoopInterface
public function parseResults(LoopResult $loopResult)
{
foreach($loopResult->getResultDataCollection() as $result) {
foreach ($loopResult->getResultDataCollection() as $result) {
$loopResultRow = new LoopResultRow($result);
foreach($result as $output => $outputValue) {
foreach ($result as $output => $outputValue) {
$loopResultRow->set($output, $outputValue);
}
$loopResult->addRow($loopResultRow);

View File

@@ -100,9 +100,9 @@ class FolderTree extends BaseI18nLoop implements ArraySearchLoopInterface
public function parseResults(LoopResult $loopResult)
{
foreach($loopResult->getResultDataCollection() as $result) {
foreach ($loopResult->getResultDataCollection() as $result) {
$loopResultRow = new LoopResultRow($result);
foreach($result as $output => $outputValue) {
foreach ($result as $output => $outputValue) {
$loopResultRow->set($output, $outputValue);
}
$loopResult->addRow($loopResultRow);

View File

@@ -236,7 +236,6 @@ class Image extends BaseI18nLoop implements PropelSearchLoopInterface
$search->filterById($exclude, Criteria::NOT_IN);
// echo "sql=".$search->toString();
return $search;
}

View File

@@ -153,19 +153,19 @@ class Module extends BaseI18nLoop implements PropelSearchLoopInterface
/* first test if module defines it's own config route */
$routerId = "router." . $module->getBaseDir();
if($this->container->has($routerId)) {
if ($this->container->has($routerId)) {
try {
if($this->container->get($routerId)->match('/admin/module/' . $module->getCode())) {
if ($this->container->get($routerId)->match('/admin/module/' . $module->getCode())) {
$hasConfigurationInterface = true;
}
} catch(ResourceNotFoundException $e) {
} catch (ResourceNotFoundException $e) {
/* $hasConfigurationInterface stays false */
}
}
/* if not ; test if it uses admin inclusion : module_configuration.html */
if(false === $hasConfigurationInterface) {
if(file_exists( sprintf("%s/AdminIncludes/%s.html", $module->getAbsoluteBaseDir(), "module_configuration"))) {
if (false === $hasConfigurationInterface) {
if (file_exists( sprintf("%s/AdminIncludes/%s.html", $module->getAbsoluteBaseDir(), "module_configuration"))) {
$hasConfigurationInterface = true;
}
}

View File

@@ -46,7 +46,7 @@ use Thelia\Type;
*/
class Order extends BaseLoop implements SearchLoopInterface, PropelSearchLoopInterface
{
protected $countable = true;
protected $countable = true;
protected $timestampable = true;
protected $versionable = false;

View File

@@ -72,7 +72,7 @@ class OrderProduct extends BaseLoop implements PropelSearchLoopInterface
$search->orderById(Criteria::ASC);
return $search;
}
public function parseResults(LoopResult $loopResult)

View File

@@ -87,7 +87,7 @@ class OrderProductAttributeCombination extends BaseI18nLoop implements PropelSea
}
return $search;
}
public function parseResults(LoopResult $loopResult)

View File

@@ -103,4 +103,4 @@ class ProductTemplate extends BaseI18nLoop implements PropelSearchLoopInterface
return $loopResult;
}
}
}

View File

@@ -33,7 +33,6 @@ use Thelia\Core\Template\Loop\Argument\ArgumentCollection;
use Thelia\Core\Template\Loop\Argument\Argument;
use Thelia\Model\ProfileQuery;
use Thelia\Type;
/**
*

View File

@@ -23,19 +23,12 @@
namespace Thelia\Core\Template\Loop;
use Propel\Runtime\ActiveQuery\Criteria;
use Thelia\Core\Security\AccessManager;
use Thelia\Core\Template\Element\BaseI18nLoop;
use Thelia\Core\Template\Element\LoopResult;
use Thelia\Core\Template\Element\LoopResultRow;
use Thelia\Core\Template\Element\PropelSearchLoopInterface;
use Thelia\Core\Template\Loop\Argument\ArgumentCollection;
use Thelia\Core\Template\Loop\Argument\Argument;
use Thelia\Model\ModuleQuery;
use Thelia\Module\BaseModule;
use Thelia\Type;
use Thelia\Core\Template\TemplateHelper;
use Thelia\Core\Template\TemplateDefinition;
@@ -72,7 +65,8 @@ class Template extends BaseLoop implements ArraySearchLoopInterface
);
}
public function buildArray() {
public function buildArray()
{
$type = $this->getArg(template_type);
if ($type == 'front-office')
@@ -104,4 +98,4 @@ class Template extends BaseLoop implements ArraySearchLoopInterface
return $loopResult;
}
}
}

View File

@@ -23,7 +23,6 @@
namespace Thelia\Core\Template\Smarty\Assets;
use Thelia\Core\Template\Assets\AsseticHelper;
use Thelia\Tools\URL;
use Thelia\Core\Template\Assets\AssetManagerInterface;
@@ -39,9 +38,9 @@ class SmartyAssetsManager
/**
* Creates a new SmartyAssetsManager instance
*
* @param AssetManagerInterface $assetsManager an asset manager instance
* @param string $web_root the disk path to the web root (with final /)
* @param string $path_relative_to_web_root the path (relative to web root) where the assets will be generated
* @param AssetManagerInterface $assetsManager an asset manager instance
* @param string $web_root the disk path to the web root (with final /)
* @param string $path_relative_to_web_root the path (relative to web root) where the assets will be generated
*/
public function __construct(AssetManagerInterface $assetsManager, $web_root, $path_relative_to_web_root)
{
@@ -51,8 +50,8 @@ class SmartyAssetsManager
$this->assetsManager = $assetsManager;
}
public function prepareAssets($assets_directory, \Smarty_Internal_Template $template) {
public function prepareAssets($assets_directory, \Smarty_Internal_Template $template)
{
$tpl_dir = dirname($template->source->filepath);
$asset_dir_absolute_path = realpath($tpl_dir . DS . $assets_directory);

View File

@@ -27,8 +27,6 @@ use Thelia\Core\Template\Smarty\SmartyPluginDescriptor;
use Thelia\Core\Template\Smarty\AbstractSmartyPlugin;
use Thelia\Tools\URL;
use Thelia\Core\Security\SecurityContext;
use Thelia\Model\Config;
use Thelia\Model\ConfigQuery;
use Thelia\Core\Template\TemplateHelper;
/**
@@ -45,8 +43,8 @@ class AdminUtilities extends AbstractSmartyPlugin
$this->securityContext = $securityContext;
}
protected function fetch_snippet($smarty, $templateName, $variablesArray) {
protected function fetch_snippet($smarty, $templateName, $variablesArray)
{
$data = '';
$snippet_path = sprintf('%s/%s/%s.html',
@@ -99,7 +97,6 @@ class AdminUtilities extends AbstractSmartyPlugin
$module === null ? array() : array($module),
array($access))
) {
return $this->fetch_snippet($smarty, 'includes/admin-utilities-position-block', array(
'admin_utilities_go_up_url' => URL::getInstance()->absoluteUrl($path, array('mode' => 'up', $url_parameter => $id)),
'admin_utilities_in_place_edit_class' => $in_place_edit_class,

View File

@@ -56,10 +56,11 @@ class Assets extends AbstractSmartyPlugin
{
try {
return $this->assetManager->processSmartyPluginCall('js', $params, $content, $template, $repeat);
} catch(\Exception $e) {
} catch (\Exception $e) {
$catchException = $this->getNormalizedParam($params, array('catchException'));
if($catchException == "true") {
if ($catchException == "true") {
$repeat = false;
return null;
} else {
throw $e;

View File

@@ -266,69 +266,69 @@ class DataAccessFunctions extends AbstractSmartyPlugin
$includeShipping = true;
}
if($params['startDate'] == 'today') {
if ($params['startDate'] == 'today') {
$startDate = new \DateTime();
$startDate->setTime(0, 0, 0);
} elseif($params['startDate'] == 'yesterday') {
} elseif ($params['startDate'] == 'yesterday') {
$startDate = new \DateTime();
$startDate->setTime(0, 0, 0);
$startDate->modify('-1 day');
} elseif($params['startDate'] == 'this_month') {
} elseif ($params['startDate'] == 'this_month') {
$startDate = new \DateTime();
$startDate->modify('first day of this month');
$startDate->setTime(0, 0, 0);
} elseif($params['startDate'] == 'last_month') {
} elseif ($params['startDate'] == 'last_month') {
$startDate = new \DateTime();
$startDate->modify('first day of last month');
$startDate->setTime(0, 0, 0);
} elseif($params['startDate'] == 'this_year') {
} elseif ($params['startDate'] == 'this_year') {
$startDate = new \DateTime();
$startDate->modify('first day of January this year');
$startDate->setTime(0, 0, 0);
} elseif($params['startDate'] == 'last_year') {
} elseif ($params['startDate'] == 'last_year') {
$startDate = new \DateTime();
$startDate->modify('first day of December last year');
$startDate->setTime(0, 0, 0);
} else {
try {
$startDate = new \DateTime($params['startDate']);
} catch(\Exception $e) {
} catch (\Exception $e) {
throw new \InvalidArgumentException(sprintf("invalid startDate attribute '%s' in stats access function", $params['startDate']));
}
}
if($params['endDate'] == 'today') {
if ($params['endDate'] == 'today') {
$endDate = new \DateTime();
$endDate->setTime(0, 0, 0);
} elseif($params['endDate'] == 'yesterday') {
} elseif ($params['endDate'] == 'yesterday') {
$endDate = new \DateTime();
$endDate->setTime(0, 0, 0);
$endDate->modify('-1 day');
} elseif($params['endDate'] == 'this_month') {
} elseif ($params['endDate'] == 'this_month') {
$endDate = new \DateTime();
$endDate->modify('last day of this month');
$endDate->setTime(0, 0, 0);
} elseif($params['endDate'] == 'last_month') {
} elseif ($params['endDate'] == 'last_month') {
$endDate = new \DateTime();
$endDate->modify('last day of last month');
$endDate->setTime(0, 0, 0);
} elseif($params['endDate'] == 'this_year') {
} elseif ($params['endDate'] == 'this_year') {
$endDate = new \DateTime();
$endDate->modify('last day of December this year');
$endDate->setTime(0, 0, 0);
} elseif($params['endDate'] == 'last_year') {
} elseif ($params['endDate'] == 'last_year') {
$endDate = new \DateTime();
$endDate->modify('last day of January last year');
$endDate->setTime(0, 0, 0);
} else {
try {
$endDate = new \DateTime($params['endDate']);
} catch(\Exception $e) {
} catch (\Exception $e) {
throw new \InvalidArgumentException(sprintf("invalid endDate attribute '%s' in stats access function", $params['endDate']));
}
}
switch( $params['key'] ) {
switch ($params['key']) {
case 'sales' :
return OrderQuery::getSaleStats($startDate, $endDate, $includeShipping);
case 'orders' :

View File

@@ -28,7 +28,6 @@ use Thelia\Core\Template\Smarty\AbstractSmartyPlugin;
use Thelia\Core\Template\Smarty\an;
use Thelia\Core\Template\Smarty\SmartyPluginDescriptor;
/**
* Class Esi
* @package Thelia\Core\Template\Smarty\Plugins
@@ -53,7 +52,7 @@ class Esi extends AbstractSmartyPlugin
$ignore_errors = $this->getParam($params, 'ignore_errors');
$comment = $this->getParam($params, 'comment');
if(null === $path) {
if (null === $path) {
return;
}
@@ -79,4 +78,4 @@ class Esi extends AbstractSmartyPlugin
new SmartyPluginDescriptor('function', 'render_esi', $this, 'renderEsi')
);
}
}
}

View File

@@ -48,7 +48,7 @@ class Module extends AbstractSmartyPlugin
/**
* Process theliaModule template inclusion function
*
* @param unknown $params
* @param unknown $params
* @param \Smarty_Internal_Template $template
* @internal param \Thelia\Core\Template\Smarty\Plugins\unknown $smarty
*
@@ -60,7 +60,7 @@ class Module extends AbstractSmartyPlugin
if (false !== $location = $this->getParam($params, 'location', false)) {
if($this->debug === true && $this->request->get('SHOW_INCLUDE')) {
if ($this->debug === true && $this->request->get('SHOW_INCLUDE')) {
echo sprintf('<div style="background-color: #C82D26; border-color: #000000; border: solid;">%s</div>', $location);
}
@@ -70,7 +70,7 @@ class Module extends AbstractSmartyPlugin
foreach ($modules as $module) {
if(null !== $moduleLimit && $moduleLimit != $module->getCode()) {
if (null !== $moduleLimit && $moduleLimit != $module->getCode()) {
continue;
}

View File

@@ -14,8 +14,6 @@ use Thelia\Core\Template\Smarty\AbstractSmartyPlugin;
use Thelia\Core\Template\Exception\ResourceNotFoundException;
use Thelia\Core\Template\ParserContext;
use Thelia\Core\Template\TemplateDefinition;
use Thelia\Model\ConfigQuery;
use Thelia\Core\Template\TemplateHelper;
use Thelia\Core\Translation\Translator;
/**
@@ -66,7 +64,6 @@ class SmartyParser extends Smarty implements ParserInterface
$this->setCompileDir($compile_dir);
$this->setCacheDir($cache_dir);
$this->debugging = $debug;
// Prevent smarty ErrorException: Notice: Undefined index bla bla bla...
@@ -74,7 +71,7 @@ class SmartyParser extends Smarty implements ParserInterface
// Si on n'est pas en mode debug, activer le cache, avec une lifetime de 15mn, et en vérifiant que les templates sources n'ont pas été modifiés.
if($debug) {
if ($debug) {
$this->setCaching(Smarty::CACHING_OFF);
$this->setForceCompile(true);
} else {
@@ -83,7 +80,6 @@ class SmartyParser extends Smarty implements ParserInterface
//$this->enableSecurity();
// The default HTTP status
$this->status = 200;
@@ -133,11 +129,11 @@ class SmartyParser extends Smarty implements ParserInterface
$this->setConfigDir($configDirectory);
/* add modules template directories */
switch($templateDefinition->getType()) {
switch ($templateDefinition->getType()) {
case TemplateDefinition::FRONT_OFFICE:
/* do not pass array directly to addTemplateDir since we cant control on keys */
if(isset($this->frontOfficeTemplateDirectories[$templateDefinition->getName()])) {
foreach($this->frontOfficeTemplateDirectories[$templateDefinition->getName()] as $key => $directory) {
if (isset($this->frontOfficeTemplateDirectories[$templateDefinition->getName()])) {
foreach ($this->frontOfficeTemplateDirectories[$templateDefinition->getName()] as $key => $directory) {
$this->addTemplateDir($directory, $key);
}
}
@@ -145,8 +141,8 @@ class SmartyParser extends Smarty implements ParserInterface
case TemplateDefinition::BACK_OFFICE:
/* do not pass array directly to addTemplateDir since we cant control on keys */
if(isset($this->backOfficeTemplateDirectories[$templateDefinition->getName()])) {
foreach($this->backOfficeTemplateDirectories[$templateDefinition->getName()] as $key => $directory) {
if (isset($this->backOfficeTemplateDirectories[$templateDefinition->getName()])) {
foreach ($this->backOfficeTemplateDirectories[$templateDefinition->getName()] as $key => $directory) {
$this->addTemplateDir($directory, $key);
}
}
@@ -168,9 +164,9 @@ class SmartyParser extends Smarty implements ParserInterface
/**
* Return a rendered template, either from file or ftom a string
*
* @param string $resourceType either 'string' (rendering from a string) or 'file' (rendering a file)
* @param string $resourceContent the resource content (a text, or a template file name)
* @param array $parameters an associative array of names / value pairs
* @param string $resourceType either 'string' (rendering from a string) or 'file' (rendering a file)
* @param string $resourceContent the resource content (a text, or a template file name)
* @param array $parameters an associative array of names / value pairs
*
* @return string the rendered template text
*/
@@ -186,7 +182,6 @@ class SmartyParser extends Smarty implements ParserInterface
return $this->fetch(sprintf("%s:%s", $resourceType, $resourceContent));
}
/**
* Return a rendered template file
*
@@ -194,9 +189,9 @@ class SmartyParser extends Smarty implements ParserInterface
* @param array $parameters an associative array of names / value pairs
* @return string the rendered template text
*/
public function render($realTemplateName, array $parameters = array()) {
if(false === $this->templateExists($realTemplateName)) {
public function render($realTemplateName, array $parameters = array())
{
if (false === $this->templateExists($realTemplateName)) {
throw new ResourceNotFoundException(Translator::getInstance()->trans("Template file %file cannot be found.", array('%file', $realTemplateName)));
}
@@ -210,7 +205,8 @@ class SmartyParser extends Smarty implements ParserInterface
* @param array $parameters an associative array of names / value pairs
* @return string the rendered template text
*/
public function renderString($templateText, array $parameters = array()) {
public function renderString($templateText, array $parameters = array())
{
return $this->internalRenderer('string', $templateText, $parameters);
}

View File

@@ -50,13 +50,12 @@ class TemplateDefinition
*/
protected $type;
public function __construct($name, $type)
{
$this->name = $name;
$this->type = $type;
switch($type) {
switch ($type) {
case TemplateDefinition::FRONT_OFFICE:
$this->path = self::FRONT_OFFICE_SUBDIR . $name;
break;
@@ -83,14 +82,17 @@ class TemplateDefinition
public function setName($name)
{
$this->name = $name;
return $this;
}
public function getI18nPath() {
public function getI18nPath()
{
return $this->getPath() . DS . 'I18n';
}
public function getAbsoluteI18nPath() {
public function getAbsoluteI18nPath()
{
return THELIA_TEMPLATE_DIR . $this->getI18nPath();
}
@@ -99,7 +101,8 @@ class TemplateDefinition
return $this->path;
}
public function getAbsolutePath() {
public function getAbsolutePath()
{
return THELIA_TEMPLATE_DIR . $this->getPath();
}
@@ -108,13 +111,15 @@ class TemplateDefinition
return $this->getPath() . DS . 'configs';
}
public function getAbsoluteConfigPath() {
public function getAbsoluteConfigPath()
{
return THELIA_TEMPLATE_DIR . $this->getConfigPath();
}
public function setPath($path)
{
$this->path = $path;
return $this;
}
@@ -126,6 +131,7 @@ class TemplateDefinition
public function setType($type)
{
$this->type = $type;
return $this;
}
}
}

View File

@@ -40,16 +40,17 @@ class TemplateHelper
private function __construct() {}
public static function getInstance() {
public static function getInstance()
{
if (self::$instance == null) self::$instance = new TemplateHelper();
return self::$instance;
}
/**
* @return TemplateDefinition
*/
public function getActiveMailTemplate() {
public function getActiveMailTemplate()
{
return new TemplateDefinition(
ConfigQuery::read('active-mail-template', 'default'),
TemplateDefinition::EMAIL
@@ -59,7 +60,8 @@ class TemplateHelper
/**
* @return TemplateDefinition
*/
public function getActivePdfTemplate() {
public function getActivePdfTemplate()
{
return new TemplateDefinition(
ConfigQuery::read('active-pdf-template', 'default'),
TemplateDefinition::PDF
@@ -69,7 +71,8 @@ class TemplateHelper
/**
* @return TemplateDefinition
*/
public function getActiveAdminTemplate() {
public function getActiveAdminTemplate()
{
return new TemplateDefinition(
ConfigQuery::read('active-admin-template', 'default'),
TemplateDefinition::BACK_OFFICE
@@ -79,24 +82,23 @@ class TemplateHelper
/**
* @return TemplateDefinition
*/
public function getActiveFrontTemplate() {
public function getActiveFrontTemplate()
{
return new TemplateDefinition(
ConfigQuery::read('active-front-template', 'default'),
TemplateDefinition::FRONT_OFFICE
);
}
public function getList($templateType) {
public function getList($templateType)
{
$list = $exclude = array();
if ($templateType == TemplateDefinition::BACK_OFFICE) {
$baseDir = THELIA_TEMPLATE_DIR.TemplateDefinition::BACK_OFFICE_SUBDIR;
}
else if ($templateType == TemplateDefinition::PDF) {
} elseif ($templateType == TemplateDefinition::PDF) {
$baseDir = THELIA_TEMPLATE_DIR.TemplateDefinition::PDF_SUBDIR;
}
else {
} else {
$baseDir = THELIA_TEMPLATE_DIR.TemplateDefinition::FRONT_OFFICE_SUBDIR;
$exclude = array(TemplateDefinition::BACK_OFFICE_SUBDIR, TemplateDefinition::PDF_SUBDIR);
@@ -118,7 +120,6 @@ class TemplateHelper
return $list;
}
protected function normalize_path($path)
{
$path = str_replace(
@@ -139,28 +140,27 @@ class TemplateHelper
* 'translation' => the text translation, or an empty string if none available.
* 'dollar' => true if the translatable text contains a $
*
* @param string $directory the path to the directory to examine
* @param string $walkMode type of file scanning: WALK_MODE_PHP or WALK_MODE_TEMPLATE
* @param \Thelia\Core\Translation\Translator $translator the current translator
* @param string $currentLocale the current locale
* @param array $strings the list of strings
* @throws \InvalidArgumentException if $walkMode contains an invalid value
* @return number the total number of translatable texts
* @param string $directory the path to the directory to examine
* @param string $walkMode type of file scanning: WALK_MODE_PHP or WALK_MODE_TEMPLATE
* @param \Thelia\Core\Translation\Translator $translator the current translator
* @param string $currentLocale the current locale
* @param array $strings the list of strings
* @throws \InvalidArgumentException if $walkMode contains an invalid value
* @return number the total number of translatable texts
*/
public function walkDir($directory, $walkMode, Translator $translator, $currentLocale, &$strings) {
public function walkDir($directory, $walkMode, Translator $translator, $currentLocale, &$strings)
{
$num_texts = 0;
if ($walkMode == self::WALK_MODE_PHP) {
$prefix = '\-\>[\s]*trans[\s]*\(';
$allowed_exts = array('php');
} else if ($walkMode == self::WALK_MODE_TEMPLATE) {
} elseif ($walkMode == self::WALK_MODE_TEMPLATE) {
$prefix = '\{intl[\s]l=';
$allowed_exts = array('html', 'tpl', 'xml');
}
else {
} else {
throw new \InvalidArgumentException(
Translator::getInstance()->trans('Invalid value for walkMode parameter: %value', array('%value' => $walkMode))
);
@@ -194,18 +194,15 @@ class TemplateHelper
Tlog::getInstance()->debug("Strings found: ", $matches[2]);
foreach($matches[2] as $match) {
foreach ($matches[2] as $match) {
$hash = md5($match);
if (isset($strings[$hash]))
{
if (! in_array($short_path, $strings[$hash]['files']))
{
if (isset($strings[$hash])) {
if (! in_array($short_path, $strings[$hash]['files'])) {
$strings[$hash]['files'][] = $short_path;
}
}
else {
} else {
$num_texts++;
// remove \'
@@ -257,9 +254,7 @@ class TemplateHelper
fwrite($fp, ");\n");
@fclose($fp);
}
else
{
} else {
throw new \RuntimeException(
Translator::getInstance()->trans(
'Failed to open translation file %file. Please be sure that this file is writable by your Web server',

View File

@@ -49,7 +49,6 @@ use Thelia\Config\DefinePropel;
use Thelia\Core\Template\TemplateDefinition;
use Thelia\Core\TheliaContainerBuilder;
use Thelia\Core\DependencyInjection\Loader\XmlFileLoader;
use Thelia\Model\ConfigQuery;
use Symfony\Component\Config\FileLocator;
use Propel\Runtime\Propel;
@@ -120,7 +119,7 @@ class Thelia extends Kernel
->depth(0)
->in(THELIA_ROOT . "/core/lib/Thelia/Config/Resources");
foreach($finder as $file) {
foreach ($finder as $file) {
$loader->load($file->getBaseName());
}
@@ -142,7 +141,6 @@ class Thelia extends Kernel
$defintion
);
$code = ucfirst($module->getCode());
$loader = new XmlFileLoader($container, new FileLocator($module->getAbsoluteConfigPath()));

View File

@@ -215,7 +215,7 @@ class TheliaHttpKernel extends HttpKernel
protected function initSession(Request $request)
{
if(null === self::$session) {
if (null === self::$session) {
$storage = new Session\Storage\NativeSessionStorage();
if (Model\ConfigQuery::read("session_config.default")) {

View File

@@ -40,7 +40,7 @@ class Translator extends BaseTranslator
public function getLocale()
{
if($this->container->isScopeActive('request') && $this->container->has('request')) {
if ($this->container->isScopeActive('request') && $this->container->has('request')) {
return $this->container->get('request')->getSession()->getLang()->getLocale();
}