diff --git a/core/lib/Thelia/Action/BaseAction.php b/core/lib/Thelia/Action/BaseAction.php index b198dda6c..fde3607c8 100644 --- a/core/lib/Thelia/Action/BaseAction.php +++ b/core/lib/Thelia/Action/BaseAction.php @@ -22,15 +22,12 @@ /*************************************************************************************/ namespace Thelia\Action; - use Thelia\Form\BaseForm; use Thelia\Action\Exception\FormValidationException; use Thelia\Core\Event\ActionEvent; use Symfony\Component\Form\Form; use Symfony\Component\DependencyInjection\ContainerInterface; - - class BaseAction { @@ -39,16 +36,17 @@ class BaseAction */ protected $container; - public function __construct(ContainerInterface $container) { + public function __construct(ContainerInterface $container) + { $this->container = $container; } /** * Validate a BaseForm * - * @param BaseForm $aBaseForm the form - * @param string $expectedMethod the expected method, POST or GET, or null for any of them - * @throws FormValidationException is the form contains error, or the method is not the right one + * @param BaseForm $aBaseForm the form + * @param string $expectedMethod the expected method, POST or GET, or null for any of them + * @throws FormValidationException is the form contains error, or the method is not the right one * @return \Symfony\Component\Form\Form Form the symfony form object */ protected function validateForm(BaseForm $aBaseForm, $expectedMethod = null) @@ -60,14 +58,11 @@ class BaseAction $form->bind($aBaseForm->getRequest()); if ($form->isValid()) { - return $form; - } - else { + } else { throw new FormValidationException("Missing or invalid data"); } - } - else { + } else { throw new FormValidationException(sprintf("Wrong form method, %s expected.", $expectedMethod)); } } @@ -75,12 +70,12 @@ class BaseAction /** * Propagate a form error in the action event * - * @param BaseForm $aBaseForm the form - * @param string $error_message an error message that may be displayed to the customer - * @param ActionEvent $event the action event + * @param BaseForm $aBaseForm the form + * @param string $error_message an error message that may be displayed to the customer + * @param ActionEvent $event the action event */ - protected function propagateFormError(BaseForm $aBaseForm, $error_message, ActionEvent $event) { - + protected function propagateFormError(BaseForm $aBaseForm, $error_message, ActionEvent $event) + { // The form has an error $aBaseForm->setError(true); $aBaseForm->setErrorMessage($error_message); @@ -102,4 +97,4 @@ class BaseAction return $this->container->get('event_dispatcher'); } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Action/Cart.php b/core/lib/Thelia/Action/Cart.php index a5a98c63b..5090f0c3d 100755 --- a/core/lib/Thelia/Action/Cart.php +++ b/core/lib/Thelia/Action/Cart.php @@ -25,10 +25,8 @@ namespace Thelia\Action; use Propel\Runtime\Exception\PropelException; use Symfony\Component\Config\Definition\Exception\Exception; -use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\EventDispatcher\EventSubscriberInterface; -use Thelia\Core\Event\ActionEvent; use Thelia\Core\Event\CartEvent; use Thelia\Form\CartAdd; use Thelia\Model\ProductPrice; @@ -92,14 +90,13 @@ class Cart extends BaseAction implements EventSubscriberInterface $message = $e->getMessage(); } - if($message) { + if ($message) { // The form has errors, propagate it. $this->propagateFormError($cartAdd, $message, $event); } } - /** * * Delete specify article present into cart @@ -184,13 +181,11 @@ class Cart extends BaseAction implements EventSubscriberInterface ); } - - /** * increase the quantity for an existing cartItem * * @param CartItem $cartItem - * @param float $quantity + * @param float $quantity */ protected function updateQuantity(CartItem $cartItem, $quantity) { @@ -203,10 +198,10 @@ class Cart extends BaseAction implements EventSubscriberInterface * try to attach a new item to an existing cart * * @param \Thelia\Model\Cart $cart - * @param int $productId - * @param int $productSaleElementsId - * @param float $quantity - * @param ProductPrice $productPrice + * @param int $productId + * @param int $productSaleElementsId + * @param float $quantity + * @param ProductPrice $productPrice */ protected function addItem(\Thelia\Model\Cart $cart, $productId, $productSaleElementsId, $quantity, ProductPrice $productPrice) { @@ -227,9 +222,9 @@ class Cart extends BaseAction implements EventSubscriberInterface * find a specific record in CartItem table using the Cart id, the product id * and the product_sale_elements id * - * @param int $cartId - * @param int $productId - * @param int $productSaleElementsId + * @param int $cartId + * @param int $productId + * @param int $productSaleElementsId * @return ChildCartItem */ protected function findItem($cartId, $productId, $productSaleElementsId) @@ -244,7 +239,7 @@ class Cart extends BaseAction implements EventSubscriberInterface /** * Find the good way to construct the cart form * - * @param Request $request + * @param Request $request * @return CartAdd */ private function getAddCartForm(Request $request) diff --git a/core/lib/Thelia/Action/Category.php b/core/lib/Thelia/Action/Category.php index f6e6286b7..6e5b7ba00 100644 --- a/core/lib/Thelia/Action/Category.php +++ b/core/lib/Thelia/Action/Category.php @@ -40,15 +40,14 @@ use Propel\Runtime\Propel; use Thelia\Model\Map\CategoryTableMap; use Propel\Runtime\Exception\PropelException; - class Category extends BaseAction implements EventSubscriberInterface { public function create(ActionEvent $event) { - $this->checkAuth("ADMIN", "admin.category.create"); + $this->checkAuth("ADMIN", "admin.category.create"); - $request = $event->getRequest(); + $request = $event->getRequest(); try { $categoryCreationForm = new CategoryCreationForm($request); @@ -92,7 +91,7 @@ class Category extends BaseAction implements EventSubscriberInterface public function modify(ActionEvent $event) { - $this->checkAuth("ADMIN", "admin.category.delete"); + $this->checkAuth("ADMIN", "admin.category.delete"); $request = $event->getRequest(); @@ -163,9 +162,9 @@ class Category extends BaseAction implements EventSubscriberInterface public function delete(ActionEvent $event) { - $this->checkAuth("ADMIN", "admin.category.delete"); + $this->checkAuth("ADMIN", "admin.category.delete"); - $request = $event->getRequest(); + $request = $event->getRequest(); try { $categoryDeletionForm = new CategoryDeletionForm($request); @@ -214,11 +213,11 @@ class Category extends BaseAction implements EventSubscriberInterface public function toggleVisibility(ActionEvent $event) { - $this->checkAuth("ADMIN", "admin.category.edit"); + $this->checkAuth("ADMIN", "admin.category.edit"); - $request = $event->getRequest(); + $request = $event->getRequest(); - $category = CategoryQuery::create()->findPk($request->get('category_id', 0)); + $category = CategoryQuery::create()->findPk($request->get('category_id', 0)); if ($category !== null) { @@ -237,8 +236,9 @@ class Category extends BaseAction implements EventSubscriberInterface * * @param ActionEvent $event */ - public function changePositionUp(ActionEvent $event) { - return $this->exchangePosition($event, 'up'); + public function changePositionUp(ActionEvent $event) + { + return $this->exchangePosition($event, 'up'); } /** @@ -246,67 +246,65 @@ class Category extends BaseAction implements EventSubscriberInterface * * @param ActionEvent $event */ - public function changePositionDown(ActionEvent $event) { - return $this->exchangePosition($event, 'down'); + public function changePositionDown(ActionEvent $event) + { + return $this->exchangePosition($event, 'down'); } /** * Move up or down a category * * @param ActionEvent $event - * @param string $direction up to move up, down to move down + * @param string $direction up to move up, down to move down */ - protected function exchangePosition(ActionEvent $event, $direction) { + protected function exchangePosition(ActionEvent $event, $direction) + { + $this->checkAuth("ADMIN", "admin.category.edit"); - $this->checkAuth("ADMIN", "admin.category.edit"); + $request = $event->getRequest(); - $request = $event->getRequest(); + $category = CategoryQuery::create()->findPk($request->get('category_id', 0)); - $category = CategoryQuery::create()->findPk($request->get('category_id', 0)); + if ($category !== null) { - if ($category !== null) { + // The current position of the category + $my_position = $category->getPosition(); - // The current position of the category - $my_position = $category->getPosition(); + // Find category to exchange position with + $search = CategoryQuery::create() + ->filterByParent($category->getParent()); - // Find category to exchange position with - $search = CategoryQuery::create() - ->filterByParent($category->getParent()); + // Up or down ? + if ($direction == 'up') { + // Find the category immediately before me + $search->filterByPosition(array('max' => $my_position-1))->orderByPosition(Criteria::DESC); + } elseif ($direction == 'down') { + // Find the category immediately after me + $search->filterByPosition(array('min' => $my_position+1))->orderByPosition(Criteria::ASC); + } else - // Up or down ? - if ($direction == 'up') { - // Find the category immediately before me - $search->filterByPosition(array('max' => $my_position-1))->orderByPosition(Criteria::DESC); - } - else if ($direction == 'down') { - // Find the category immediately after me - $search->filterByPosition(array('min' => $my_position+1))->orderByPosition(Criteria::ASC); - } - else - return; + return; - $result = $search->findOne(); + $result = $search->findOne(); + // If we found the proper category, exchange their positions + if ($result) { - // If we found the proper category, exchange their positions - if ($result) { + $cnx = Propel::getWriteConnection(CategoryTableMap::DATABASE_NAME); - $cnx = Propel::getWriteConnection(CategoryTableMap::DATABASE_NAME); + $cnx->beginTransaction(); - $cnx->beginTransaction(); + try { + $category->setPosition($result->getPosition())->save(); - try { - $category->setPosition($result->getPosition())->save(); + $result->setPosition($my_position)->save(); - $result->setPosition($my_position)->save(); - - $cnx->commit(); - } - catch(Exception $e) { - $cnx->rollback(); - } - } - } + $cnx->commit(); + } catch (Exception $e) { + $cnx->rollback(); + } + } + } } /** @@ -314,61 +312,59 @@ class Category extends BaseAction implements EventSubscriberInterface * * @param ActionEvent $event */ - public function changePosition(ActionEvent $event) { + public function changePosition(ActionEvent $event) + { + $this->checkAuth("ADMIN", "admin.category.edit"); - $this->checkAuth("ADMIN", "admin.category.edit"); + $request = $event->getRequest(); - $request = $event->getRequest(); + $category = CategoryQuery::create()->findPk($request->get('category_id', 0)); - $category = CategoryQuery::create()->findPk($request->get('category_id', 0)); + if ($category !== null) { - if ($category !== null) { + // The required position + $new_position = $request->get('position', null); - // The required position - $new_position = $request->get('position', null); + // The current position + $current_position = $category->getPosition(); - // The current position - $current_position = $category->getPosition(); + if ($new_position != null && $new_position > 0 && $new_position != $current_position) { - if ($new_position != null && $new_position > 0 && $new_position != $current_position) { + // Find categories to offset + $search = CategoryQuery::create()->filterByParent($category->getParent()); - // Find categories to offset - $search = CategoryQuery::create()->filterByParent($category->getParent()); + if ($new_position > $current_position) { + // The new position is after the current position -> we will offset + 1 all categories located between us and the new position + $search->filterByPosition(array('min' => 1+$current_position, 'max' => $new_position)); - if ($new_position > $current_position) { - // The new position is after the current position -> we will offset + 1 all categories located between us and the new position - $search->filterByPosition(array('min' => 1+$current_position, 'max' => $new_position)); + $delta = -1; + } else { + // The new position is brefore the current position -> we will offset - 1 all categories located between us and the new position + $search->filterByPosition(array('min' => $new_position, 'max' => $current_position - 1)); - $delta = -1; - } - else { - // The new position is brefore the current position -> we will offset - 1 all categories located between us and the new position - $search->filterByPosition(array('min' => $new_position, 'max' => $current_position - 1)); + $delta = 1; + } - $delta = 1; - } + $results = $search->find(); - $results = $search->find(); + $cnx = Propel::getWriteConnection(CategoryTableMap::DATABASE_NAME); - $cnx = Propel::getWriteConnection(CategoryTableMap::DATABASE_NAME); + $cnx->beginTransaction(); - $cnx->beginTransaction(); + try { + foreach ($results as $result) { + $result->setPosition($result->getPosition() + $delta)->save($cnx); + } - try { - foreach($results as $result) { - $result->setPosition($result->getPosition() + $delta)->save($cnx); - } + $category->setPosition($new_position)->save($cnx); - $category->setPosition($new_position)->save($cnx); - - $cnx->commit(); - } - catch(Exception $e) { - $cnx->rollback(); - } - } - } - } + $cnx->commit(); + } catch (Exception $e) { + $cnx->rollback(); + } + } + } + } /** * Returns an array of event names this subscriber listens to. diff --git a/core/lib/Thelia/Action/Customer.php b/core/lib/Thelia/Action/Customer.php index bc2503ac4..c9bce7bb0 100755 --- a/core/lib/Thelia/Action/Customer.php +++ b/core/lib/Thelia/Action/Customer.php @@ -26,7 +26,6 @@ namespace Thelia\Action; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Thelia\Core\Event\ActionEvent; use Thelia\Core\Event\TheliaEvents; -use Thelia\Form\BaseForm; use Thelia\Form\CustomerCreation; use Thelia\Form\CustomerModification; use Thelia\Model\Customer as CustomerModel; @@ -34,7 +33,6 @@ use Thelia\Log\Tlog; use Thelia\Model\CustomerQuery; use Thelia\Form\CustomerLogin; use Thelia\Core\Security\Authentication\CustomerUsernamePasswordFormAuthenticator; -use Thelia\Core\Security\SecurityContext; use Symfony\Component\Validator\Exception\ValidatorException; use Thelia\Core\Security\Exception\AuthenticationException; use Thelia\Core\Security\Exception\UsernameNotFoundException; @@ -122,7 +120,6 @@ class Customer extends BaseAction implements EventSubscriberInterface $this->processSuccessfullLogin($event, $customer, $customerModification); } catch (PropelException $e) { - Tlog::getInstance()->error(sprintf('error during modifying customer on action/modifyCustomer with message "%s"', $e->getMessage())); $message = "Failed to change your account, please try again."; @@ -144,8 +141,7 @@ class Customer extends BaseAction implements EventSubscriberInterface { $event->getDispatcher()->dispatch(TheliaEvents::CUSTOMER_LOGOUT, $event); - - $this->getFrontSecurityContext()->clear(); + $this->getFrontSecurityContext()->clear(); } /** diff --git a/core/lib/Thelia/Cart/CartTrait.php b/core/lib/Thelia/Cart/CartTrait.php index 0cd0a2c6e..ed4f70374 100644 --- a/core/lib/Thelia/Cart/CartTrait.php +++ b/core/lib/Thelia/Cart/CartTrait.php @@ -22,10 +22,6 @@ /*************************************************************************************/ namespace Thelia\Cart; -use Thelia\Model\ProductPrice; -use Thelia\Model\ProductPriceQuery; -use Thelia\Model\CartItem; -use Thelia\Model\CartItemQuery; use Thelia\Model\CartQuery; use Thelia\Model\Cart as CartModel; use Thelia\Model\ConfigQuery; @@ -35,18 +31,19 @@ use Thelia\Core\HttpFoundation\Session\Session; use Thelia\Core\Event\Internal\CartEvent; use Thelia\Core\Event\TheliaEvents; -trait CartTrait { +trait CartTrait +{ /** * * search if cart already exists in session. If not try to create a new one or duplicate an old one. * - * @param \Symfony\Component\HttpFoundation\Request $request + * @param \Symfony\Component\HttpFoundation\Request $request * @return \Thelia\Model\Cart */ public function getCart(Request $request) { - if(null !== $cart = $request->getSession()->getCart()){ + if (null !== $cart = $request->getSession()->getCart()) { return $cart; } @@ -61,7 +58,7 @@ trait CartTrait { $customer = $request->getSession()->getCustomerUser(); if ($customer) { - if($cart->getCustomerId() != $customer->getId()) { + if ($cart->getCustomerId() != $customer->getId()) { //le customer du panier n'est pas le mm que celui connecté, il faut cloner le panier sans le customer_id $cart = $this->duplicateCart($cart, $request->getSession(), $customer); } @@ -84,7 +81,7 @@ trait CartTrait { } /** - * @param \Thelia\Core\HttpFoundation\Session\Session $session + * @param \Thelia\Core\HttpFoundation\Session\Session $session * @return \Thelia\Model\Cart */ protected function createCart(Session $session) @@ -92,7 +89,7 @@ trait CartTrait { $cart = new CartModel(); $cart->setToken($this->generateCookie()); - if(null !== $customer = $session->getCustomerUser()) { + if (null !== $customer = $session->getCustomerUser()) { $cart->setCustomer($customer); } @@ -103,13 +100,12 @@ trait CartTrait { return $cart; } - /** * try to duplicate existing Cart. Customer is here to determine if this cart belong to him. * - * @param \Thelia\Model\Cart $cart - * @param \Thelia\Core\HttpFoundation\Session\Session $session - * @param \Thelia\Model\Customer $customer + * @param \Thelia\Model\Cart $cart + * @param \Thelia\Core\HttpFoundation\Session\Session $session + * @param \Thelia\Model\Customer $customer * @return \Thelia\Model\Cart */ protected function duplicateCart(CartModel $cart, Session $session, Customer $customer = null) @@ -135,4 +131,4 @@ trait CartTrait { return $id; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Command/BaseModuleGenerate.php b/core/lib/Thelia/Command/BaseModuleGenerate.php index 420563c40..fab1b7707 100644 --- a/core/lib/Thelia/Command/BaseModuleGenerate.php +++ b/core/lib/Thelia/Command/BaseModuleGenerate.php @@ -22,12 +22,8 @@ /*************************************************************************************/ namespace Thelia\Command; -use Propel\Runtime\Propel; -use Symfony\Component\Console\Application; - - -abstract class BaseModuleGenerate extends ContainerAwareCommand { - +abstract class BaseModuleGenerate extends ContainerAwareCommand +{ protected $module; protected $moduleDirectory; @@ -53,6 +49,7 @@ abstract class BaseModuleGenerate extends ContainerAwareCommand { if (in_array(strtolower($name), $this->reservedKeyWords)) { throw new \RuntimeException(sprintf("%s module name is a reserved keyword", $name)); } + return ucfirst($name); } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Command/CacheClear.php b/core/lib/Thelia/Command/CacheClear.php index 485f479ce..ed1cca8a6 100755 --- a/core/lib/Thelia/Command/CacheClear.php +++ b/core/lib/Thelia/Command/CacheClear.php @@ -23,7 +23,6 @@ namespace Thelia\Command; -use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Filesystem\Filesystem; @@ -56,9 +55,9 @@ class CacheClear extends ContainerAwareCommand $fs->remove($cacheDir); $output->writeln("cache cleared successfully"); - } catch(IOException $e) { + } catch (IOException $e) { $output->writeln(sprintf("error during clearing cache : %s", $e->getMessage())); } } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Command/ContainerAwareCommand.php b/core/lib/Thelia/Command/ContainerAwareCommand.php index 2dc455edb..da903f509 100755 --- a/core/lib/Thelia/Command/ContainerAwareCommand.php +++ b/core/lib/Thelia/Command/ContainerAwareCommand.php @@ -32,7 +32,8 @@ use Symfony\Component\DependencyInjection\ContainerAwareInterface; * * @author Fabien Potencier */ -class ContainerAwareCommand extends Command implements ContainerAwareInterface { +class ContainerAwareCommand extends Command implements ContainerAwareInterface +{ /** * @var ContainerInterface */ @@ -57,4 +58,4 @@ class ContainerAwareCommand extends Command implements ContainerAwareInterface { { $this->container = $container; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Command/Install.php b/core/lib/Thelia/Command/Install.php index 48903c2a0..c151c44b7 100755 --- a/core/lib/Thelia/Command/Install.php +++ b/core/lib/Thelia/Command/Install.php @@ -29,7 +29,6 @@ use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Filesystem\Filesystem; use Thelia\Command\ContainerAwareCommand; - class Install extends ContainerAwareCommand { /** @@ -80,7 +79,6 @@ class Install extends ContainerAwareCommand $this->checkPermission($output); - $connectionInfo = array( "host" => $input->getOption("db_host"), "dbName" => $input->getOption("db_name"), @@ -88,9 +86,7 @@ class Install extends ContainerAwareCommand "password" => $input->getOption("db_password") ); - - - while(false === $connection = $this->tryConnection($connectionInfo, $output)) { + while (false === $connection = $this->tryConnection($connectionInfo, $output)) { $connectionInfo = $this->getConnectionInfo($input, $output); } @@ -164,8 +160,6 @@ class Install extends ContainerAwareCommand exit; } - - } /** @@ -180,7 +174,6 @@ class Install extends ContainerAwareCommand $sampleConfigFile = THELIA_ROOT . "/local/config/database.yml.sample"; $configFile = THELIA_ROOT . "/local/config/database.yml"; - $fs->copy($sampleConfigFile, $configFile, true); $configContent = file_get_contents($configFile); @@ -200,7 +193,6 @@ class Install extends ContainerAwareCommand $fs->remove($this->getContainer()->getParameter("kernel.cache_dir")); - } /** @@ -237,7 +229,7 @@ class Install extends ContainerAwareCommand $tab = explode(";", $sql); - for($i=0; $iwriteln(array( "Wrong connection information" )); + return false; } - - return $connection; } /** * Ask to user all needed information * - * @param InputInterface $input - * @param OutputInterface $output + * @param InputInterface $input + * @param OutputInterface $output * @return array */ protected function getConnectionInfo(InputInterface $input, OutputInterface $output) @@ -363,4 +354,4 @@ class Install extends ContainerAwareCommand return sprintf("%s", $text); } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Command/ModuleGenerateCommand.php b/core/lib/Thelia/Command/ModuleGenerateCommand.php index 0f456ea63..842d421af 100644 --- a/core/lib/Thelia/Command/ModuleGenerateCommand.php +++ b/core/lib/Thelia/Command/ModuleGenerateCommand.php @@ -22,16 +22,13 @@ /*************************************************************************************/ namespace Thelia\Command; - use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Filesystem\Filesystem; -class ModuleGenerateCommand extends BaseModuleGenerate { - - - +class ModuleGenerateCommand extends BaseModuleGenerate +{ protected function configure() { $this @@ -53,7 +50,7 @@ class ModuleGenerateCommand extends BaseModuleGenerate { $this->createDirectories(); $this->createFiles(); - if(method_exists($this, "renderBlock")) { + if (method_exists($this, "renderBlock")) { //impossible to change output class in CommandTester... $output->renderBlock(array( '', @@ -99,6 +96,4 @@ class ModuleGenerateCommand extends BaseModuleGenerate { file_put_contents($this->moduleDirectory . DIRECTORY_SEPARATOR . "Config". DIRECTORY_SEPARATOR . "schema.xml", $schemaContent); } - - -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Command/ModuleGenerateModelCommand.php b/core/lib/Thelia/Command/ModuleGenerateModelCommand.php index a42cb9065..28e96fa52 100644 --- a/core/lib/Thelia/Command/ModuleGenerateModelCommand.php +++ b/core/lib/Thelia/Command/ModuleGenerateModelCommand.php @@ -23,18 +23,16 @@ namespace Thelia\Command; - use Propel\Generator\Command\ModelBuildCommand; use Symfony\Component\Console\Input\ArrayInput; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Output\OutputInterface; -use Symfony\Component\Console\Output\StreamOutput; use Symfony\Component\Filesystem\Filesystem; -class ModuleGenerateModelCommand extends BaseModuleGenerate { - +class ModuleGenerateModelCommand extends BaseModuleGenerate +{ protected function configure() { $this @@ -124,7 +122,6 @@ class ModuleGenerateModelCommand extends BaseModuleGenerate { } } - } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Command/ModuleGenerateSqlCommand.php b/core/lib/Thelia/Command/ModuleGenerateSqlCommand.php index 95ee7a931..89d87cb6f 100644 --- a/core/lib/Thelia/Command/ModuleGenerateSqlCommand.php +++ b/core/lib/Thelia/Command/ModuleGenerateSqlCommand.php @@ -23,17 +23,15 @@ namespace Thelia\Command; - use Propel\Generator\Command\SqlBuildCommand; use Symfony\Component\Console\Input\ArrayInput; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; -use Symfony\Component\Console\Output\StreamOutput; use Symfony\Component\Filesystem\Filesystem; -class ModuleGenerateSqlCommand extends BaseModuleGenerate { - +class ModuleGenerateSqlCommand extends BaseModuleGenerate +{ public function configure() { $this @@ -82,4 +80,4 @@ class ModuleGenerateSqlCommand extends BaseModuleGenerate { ), 'bg=green;fg=black'); } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Command/Output/TheliaConsoleOutput.php b/core/lib/Thelia/Command/Output/TheliaConsoleOutput.php index 667a18087..fb53cc92e 100644 --- a/core/lib/Thelia/Command/Output/TheliaConsoleOutput.php +++ b/core/lib/Thelia/Command/Output/TheliaConsoleOutput.php @@ -23,11 +23,10 @@ namespace Thelia\Command\Output; - use Symfony\Component\Console\Output\ConsoleOutput; -class TheliaConsoleOutput extends ConsoleOutput{ - +class TheliaConsoleOutput extends ConsoleOutput +{ public function renderBlock(array $messages, $style = "info") { $strlen = function ($string) { @@ -53,4 +52,4 @@ class TheliaConsoleOutput extends ConsoleOutput{ $this->writeln($output); } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Command/Skeleton/Module/Class.php b/core/lib/Thelia/Command/Skeleton/Module/Class.php index ecf67646d..c9c7109ac 100644 --- a/core/lib/Thelia/Command/Skeleton/Module/Class.php +++ b/core/lib/Thelia/Command/Skeleton/Module/Class.php @@ -21,12 +21,11 @@ /* */ /*************************************************************************************/ - namespace %%NAMESPACE%%; use Thelia\Module\BaseModule; -class %%CLASSNAME%% extends BaseModule +class Class extends BaseModule { /** * YOU HAVE TO IMPLEMENT HERE ABSTRACT METHODD FROM BaseModule Class diff --git a/core/lib/Thelia/Config/DatabaseConfiguration.php b/core/lib/Thelia/Config/DatabaseConfiguration.php index 16d273738..1c0622623 100755 --- a/core/lib/Thelia/Config/DatabaseConfiguration.php +++ b/core/lib/Thelia/Config/DatabaseConfiguration.php @@ -69,4 +69,4 @@ class DatabaseConfiguration implements ConfigurationInterface return $treeBuilder; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Config/DefinePropel.php b/core/lib/Thelia/Config/DefinePropel.php index 434187144..3f7547fde 100755 --- a/core/lib/Thelia/Config/DefinePropel.php +++ b/core/lib/Thelia/Config/DefinePropel.php @@ -26,9 +26,8 @@ namespace Thelia\Config; use Symfony\Component\Config\Definition\Processor; use Symfony\Component\Config\Definition\ConfigurationInterface; - -class DefinePropel { - +class DefinePropel +{ private $processorConfig; public function __construct(ConfigurationInterface $configuration, array $propelConf) @@ -40,6 +39,7 @@ class DefinePropel { public function getConfig() { $connection = $this->processorConfig["connection"]; + return $conf = array( "dsn" => $connection["dsn"], "user" => $connection["user"], @@ -47,4 +47,4 @@ class DefinePropel { "classname" => $connection["classname"] ); } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Config/Resources/action.xml b/core/lib/Thelia/Config/Resources/action.xml index 9006f2362..988c86ce9 100755 --- a/core/lib/Thelia/Config/Resources/action.xml +++ b/core/lib/Thelia/Config/Resources/action.xml @@ -29,4 +29,4 @@ - \ No newline at end of file + diff --git a/core/lib/Thelia/Config/Resources/routing.xml b/core/lib/Thelia/Config/Resources/routing.xml index 1a6ab0752..ecb61e5bf 100755 --- a/core/lib/Thelia/Config/Resources/routing.xml +++ b/core/lib/Thelia/Config/Resources/routing.xml @@ -72,4 +72,4 @@ - \ No newline at end of file + diff --git a/core/lib/Thelia/Config/Resources/routing/admin.xml b/core/lib/Thelia/Config/Resources/routing/admin.xml index c205afd8f..ece222c22 100755 --- a/core/lib/Thelia/Config/Resources/routing/admin.xml +++ b/core/lib/Thelia/Config/Resources/routing/admin.xml @@ -41,4 +41,4 @@ Thelia\Controller\Admin\AdminController::processTemplateAction .* - \ No newline at end of file + diff --git a/core/lib/Thelia/Config/Resources/routing/front.xml b/core/lib/Thelia/Config/Resources/routing/front.xml index 593863bb6..1d7840dbd 100644 --- a/core/lib/Thelia/Config/Resources/routing/front.xml +++ b/core/lib/Thelia/Config/Resources/routing/front.xml @@ -26,4 +26,4 @@ Thelia\Controller\Front\CartController::deleteArticle - \ No newline at end of file + diff --git a/core/lib/Thelia/Controller/BaseController.php b/core/lib/Thelia/Controller/BaseController.php index 7cea0e861..abf7930cc 100755 --- a/core/lib/Thelia/Controller/BaseController.php +++ b/core/lib/Thelia/Controller/BaseController.php @@ -56,7 +56,7 @@ class BaseController extends ContainerAware /** * Create an action event * - * @param string $action + * @param string $action * @return EventDispatcher */ protected function dispatchEvent($action) diff --git a/core/lib/Thelia/Controller/Front/DefaultController.php b/core/lib/Thelia/Controller/Front/DefaultController.php index dcdd24671..235e1bb64 100755 --- a/core/lib/Thelia/Controller/Front/DefaultController.php +++ b/core/lib/Thelia/Controller/Front/DefaultController.php @@ -22,7 +22,6 @@ /*************************************************************************************/ namespace Thelia\Controller\Front; -use Thelia\Controller\NullControllerInterface; use Symfony\Component\HttpFoundation\Request; /** diff --git a/core/lib/Thelia/Core/Context.php b/core/lib/Thelia/Core/Context.php index 23c57ec2a..6fa5a638b 100644 --- a/core/lib/Thelia/Core/Context.php +++ b/core/lib/Thelia/Core/Context.php @@ -23,7 +23,6 @@ namespace Thelia\Core; - class Context { const CONTEXT_FRONT_OFFICE = 'front'; @@ -43,8 +42,7 @@ class Context public function setContext($context) { - if($this->isValidContext($context)) - { + if ($this->isValidContext($context)) { $this->currentContext = $context; } } @@ -53,4 +51,4 @@ class Context { return $this->currentContext; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/DependencyInjection/Compiler/RegisterRouterPass.php b/core/lib/Thelia/Core/DependencyInjection/Compiler/RegisterRouterPass.php index 40cfc043c..8a8005f8a 100644 --- a/core/lib/Thelia/Core/DependencyInjection/Compiler/RegisterRouterPass.php +++ b/core/lib/Thelia/Core/DependencyInjection/Compiler/RegisterRouterPass.php @@ -22,10 +22,8 @@ /*************************************************************************************/ namespace Thelia\Core\DependencyInjection\Compiler; - use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException; use Symfony\Component\DependencyInjection\Reference; @@ -43,7 +41,7 @@ class RegisterRouterPass implements CompilerPassInterface { try { $chainRouter = $container->getDefinition("router.chainRequest"); - } catch(InvalidArgumentException $e) { + } catch (InvalidArgumentException $e) { return; } @@ -55,8 +53,6 @@ class RegisterRouterPass implements CompilerPassInterface $chainRouter->addMethodCall("add", array(new Reference($id), $priority)); - - } } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Event/ActionEvent.php b/core/lib/Thelia/Core/Event/ActionEvent.php index 5285b9aaf..c5c188235 100755 --- a/core/lib/Thelia/Core/Event/ActionEvent.php +++ b/core/lib/Thelia/Core/Event/ActionEvent.php @@ -26,7 +26,6 @@ namespace Thelia\Core\Event; use Symfony\Component\EventDispatcher\Event; use Thelia\Core\HttpFoundation\Request; use Thelia\Form\BaseForm; -use Thelia\Core\Security\SecurityContext; /** * * Class thrown on Thelia.action event @@ -43,7 +42,6 @@ abstract class ActionEvent extends Event */ protected $request; - protected $errorForm = null; protected $parameters = array(); @@ -58,7 +56,6 @@ abstract class ActionEvent extends Event $this->request = $request; } - public function __set($name, $value) { $this->parameters[$name] = $value; @@ -82,17 +79,20 @@ abstract class ActionEvent extends Event return $this->request; } - public function setErrorForm(BaseForm $form) { - $this->errorForm = $form; + public function setErrorForm(BaseForm $form) + { + $this->errorForm = $form; - if ($form != null) $this->stopPropagation(); + if ($form != null) $this->stopPropagation(); } - public function getErrorForm() { - return $this->errorForm; + public function getErrorForm() + { + return $this->errorForm; } - public function hasErrorForm() { - return $this->errorForm != null ? true : false; + public function hasErrorForm() + { + return $this->errorForm != null ? true : false; } } diff --git a/core/lib/Thelia/Core/Event/CartEvent.php b/core/lib/Thelia/Core/Event/CartEvent.php index 9dff52ed9..a03a5679e 100644 --- a/core/lib/Thelia/Core/Event/CartEvent.php +++ b/core/lib/Thelia/Core/Event/CartEvent.php @@ -26,8 +26,8 @@ namespace Thelia\Core\Event; use Thelia\Core\HttpFoundation\Request; use Thelia\Model\Cart; -class CartEvent extends ActionEvent { - +class CartEvent extends ActionEvent +{ protected $cart; public function __construct(Request $request, Cart $cart) @@ -40,4 +40,4 @@ class CartEvent extends ActionEvent { { return $this->cart; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Event/CartItemEvent.php b/core/lib/Thelia/Core/Event/CartItemEvent.php index 710e44473..59deffb37 100644 --- a/core/lib/Thelia/Core/Event/CartItemEvent.php +++ b/core/lib/Thelia/Core/Event/CartItemEvent.php @@ -23,11 +23,10 @@ namespace Thelia\Core\Event; - use Thelia\Model\CartItem; -class CartItemEvent extends InternalEvent { - +class CartItemEvent extends InternalEvent +{ protected $cartItem; public function __construct(CartItem $cartItem) @@ -39,4 +38,4 @@ class CartItemEvent extends InternalEvent { { return $this->cartItem; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Event/CategoryEvent.php b/core/lib/Thelia/Core/Event/CategoryEvent.php index 6542197e5..44986e8b9 100644 --- a/core/lib/Thelia/Core/Event/CategoryEvent.php +++ b/core/lib/Thelia/Core/Event/CategoryEvent.php @@ -23,15 +23,14 @@ namespace Thelia\Core\Event; - use Thelia\Model\Category; -class CategoryEvent extends InternalEvent { - +class CategoryEvent extends InternalEvent +{ public $category; public function __construct(Category $category) { $this->category = $category; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Event/Internal/CartEvent.php b/core/lib/Thelia/Core/Event/Internal/CartEvent.php index e8e839487..7d35bea55 100644 --- a/core/lib/Thelia/Core/Event/Internal/CartEvent.php +++ b/core/lib/Thelia/Core/Event/Internal/CartEvent.php @@ -21,14 +21,12 @@ /* */ /*************************************************************************************/ - namespace Thelia\Core\Event\Internal; - use Thelia\Model\Cart; -class CartEvent extends InternalEvent { - +class CartEvent extends InternalEvent +{ public $cart; public function __construct(Cart $cart) @@ -36,6 +34,4 @@ class CartEvent extends InternalEvent { $this->cart = $cart; } - - -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Event/Internal/CustomerEvent.php b/core/lib/Thelia/Core/Event/Internal/CustomerEvent.php index 32fa8d6cd..ff73e038a 100644 --- a/core/lib/Thelia/Core/Event/Internal/CustomerEvent.php +++ b/core/lib/Thelia/Core/Event/Internal/CustomerEvent.php @@ -23,11 +23,10 @@ namespace Thelia\Core\Event\Internal; - use Thelia\Model\Customer; -class CustomerEvent extends InternalEvent { - +class CustomerEvent extends InternalEvent +{ public $customer; public function __construct(Customer $customer) @@ -35,4 +34,4 @@ class CustomerEvent extends InternalEvent { $this->customer = $customer; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Event/Internal/InternalEvent.php b/core/lib/Thelia/Core/Event/Internal/InternalEvent.php index 02e9b0b23..49273769f 100644 --- a/core/lib/Thelia/Core/Event/Internal/InternalEvent.php +++ b/core/lib/Thelia/Core/Event/Internal/InternalEvent.php @@ -23,7 +23,6 @@ namespace Thelia\Core\Event\Internal; - use Symfony\Component\EventDispatcher\Event; /** @@ -32,6 +31,6 @@ use Symfony\Component\EventDispatcher\Event; * Class InternalEvent * @package Thelia\Core\Event */ -abstract class InternalEvent extends Event { - -} \ No newline at end of file +abstract class InternalEvent extends Event +{ +} diff --git a/core/lib/Thelia/Core/Event/TheliaEvents.php b/core/lib/Thelia/Core/Event/TheliaEvents.php index d3a6a018d..1c6362ab3 100755 --- a/core/lib/Thelia/Core/Event/TheliaEvents.php +++ b/core/lib/Thelia/Core/Event/TheliaEvents.php @@ -65,8 +65,6 @@ final class TheliaEvents */ const ADMIN_LOGIN = "action.admin_login"; - - /** * Sent once the customer creation form has been successfully validated, and before customer insertion in the database. */ @@ -86,8 +84,6 @@ final class TheliaEvents */ const AFTER_CHANGECUSTOMER = "action.after_changecustomer"; - - /** * Sent once the category creation form has been successfully validated, and before category insertion in the database. */ @@ -112,7 +108,6 @@ final class TheliaEvents */ const AFTER_CHANGECATEGORY = "action.after_changecategory"; - /** * sent when a new existing cat id duplicated. This append when current customer is different from current cart */ @@ -139,4 +134,4 @@ final class TheliaEvents const CART_CHANGEITEM = "action.changeArticle"; const CART_DELETEITEM = "action.deleteArticle"; -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/EventListener/ControllerListener.php b/core/lib/Thelia/Core/EventListener/ControllerListener.php index 4bda0d064..9bb432e6a 100755 --- a/core/lib/Thelia/Core/EventListener/ControllerListener.php +++ b/core/lib/Thelia/Core/EventListener/ControllerListener.php @@ -39,14 +39,15 @@ use Thelia\Core\Template\ParserContext; */ class ControllerListener implements EventSubscriberInterface { - /** - * @var ParserContext the parser context - */ - protected $parserContext; + /** + * @var ParserContext the parser context + */ + protected $parserContext; - public function __construct(ParserContext $parserContext) { - $this->parserContext = $parserContext; - } + public function __construct(ParserContext $parserContext) + { + $this->parserContext = $parserContext; + } public function onKernelController(FilterControllerEvent $event) { @@ -61,7 +62,7 @@ class ControllerListener implements EventSubscriberInterface // Process form errors if ($actionEvent->hasErrorForm()) { - $this->parserContext->setErrorForm($actionEvent->getErrorForm()); + $this->parserContext->setErrorForm($actionEvent->getErrorForm()); } } } diff --git a/core/lib/Thelia/Core/EventListener/ViewListener.php b/core/lib/Thelia/Core/EventListener/ViewListener.php index 2017fe6ae..22c31a2e4 100755 --- a/core/lib/Thelia/Core/EventListener/ViewListener.php +++ b/core/lib/Thelia/Core/EventListener/ViewListener.php @@ -81,14 +81,12 @@ class ViewListener implements EventSubscriberInterface } else { $event->setResponse(new Response($content, $parser->getStatus() ?: 200)); } - } - catch (ResourceNotFoundException $e) { + } catch (ResourceNotFoundException $e) { $event->setResponse(new Response($e->getMessage(), 404)); - } - catch (AuthenticationException $ex) { + } catch (AuthenticationException $ex) { - // Redirect to the login template - $event->setResponse(Redirect::exec(URL::viewUrl($ex->getLoginTemplate()))); + // Redirect to the login template + $event->setResponse(Redirect::exec(URL::viewUrl($ex->getLoginTemplate()))); } } diff --git a/core/lib/Thelia/Core/HttpFoundation/Request.php b/core/lib/Thelia/Core/HttpFoundation/Request.php index 7621fa65d..a30806a4b 100755 --- a/core/lib/Thelia/Core/HttpFoundation/Request.php +++ b/core/lib/Thelia/Core/HttpFoundation/Request.php @@ -23,7 +23,6 @@ namespace Thelia\Core\HttpFoundation; use Symfony\Component\HttpFoundation\Request as BaseRequest; -use Thelia\Core\Context; class Request extends BaseRequest { @@ -46,6 +45,7 @@ class Request extends BaseRequest if ('' == $this->getQueryString()) { $additionalQs = '?'. ltrim($additionalQs, '&'); } + return $uri . $additionalQs; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/HttpFoundation/Session/Session.php b/core/lib/Thelia/Core/HttpFoundation/Session/Session.php index 578d681e3..784258ad3 100755 --- a/core/lib/Thelia/Core/HttpFoundation/Session/Session.php +++ b/core/lib/Thelia/Core/HttpFoundation/Session/Session.php @@ -120,7 +120,7 @@ class Session extends BaseSession /** * * - * @param \Thelia\Model\Cart $cart + * @param \Thelia\Model\Cart $cart * @throws \Thelia\Exception\InvalidCartException */ protected function verifyValidCart(Cart $cart) @@ -128,7 +128,7 @@ class Session extends BaseSession $customer = $this->getCustomerUser(); if ($customer && $cart->getCustomerId() != $customer->getId()) { throw new InvalidCartException("customer in session and customer_id in cart are not the same"); - } else if($customer === null && $cart->getCustomerId() !== null) { + } elseif ($customer === null && $cart->getCustomerId() !== null) { throw new InvalidCartException("Customer exists in cart and not in session"); } } diff --git a/core/lib/Thelia/Core/Security/Authentication/AdminUsernamePasswordFormAuthenticator.php b/core/lib/Thelia/Core/Security/Authentication/AdminUsernamePasswordFormAuthenticator.php index b1427f0fd..9b5205319 100644 --- a/core/lib/Thelia/Core/Security/Authentication/AdminUsernamePasswordFormAuthenticator.php +++ b/core/lib/Thelia/Core/Security/Authentication/AdminUsernamePasswordFormAuthenticator.php @@ -31,13 +31,14 @@ use Thelia\Core\Security\UserProvider\AdminUserProvider; use Thelia\Core\Security\Authentication\UsernamePasswordFormAuthenticator; use Thelia\Form\AdminLogin; -class AdminUsernamePasswordFormAuthenticator extends UsernamePasswordFormAuthenticator { - - public function __construct(Request $request, AdminLogin $loginForm) { - parent::__construct( - $request, - $loginForm, - new AdminUserProvider() - ); - } -} \ No newline at end of file +class AdminUsernamePasswordFormAuthenticator extends UsernamePasswordFormAuthenticator +{ + public function __construct(Request $request, AdminLogin $loginForm) + { + parent::__construct( + $request, + $loginForm, + new AdminUserProvider() + ); + } +} diff --git a/core/lib/Thelia/Core/Security/Authentication/AuthenticatorInterface.php b/core/lib/Thelia/Core/Security/Authentication/AuthenticatorInterface.php index 05d850bee..9e2079ce4 100644 --- a/core/lib/Thelia/Core/Security/Authentication/AuthenticatorInterface.php +++ b/core/lib/Thelia/Core/Security/Authentication/AuthenticatorInterface.php @@ -23,10 +23,10 @@ namespace Thelia\Core\Security\Authentication; -interface AuthenticatorInterface { - - /** - * Returns a UserInterface instance, authentified using the authenticator specific method - */ - public function getAuthentifiedUser(); -} \ No newline at end of file +interface AuthenticatorInterface +{ + /** + * Returns a UserInterface instance, authentified using the authenticator specific method + */ + public function getAuthentifiedUser(); +} diff --git a/core/lib/Thelia/Core/Security/Authentication/CustomerUsernamePasswordFormAuthenticator.php b/core/lib/Thelia/Core/Security/Authentication/CustomerUsernamePasswordFormAuthenticator.php index a5b1b32e4..cd3dd0800 100644 --- a/core/lib/Thelia/Core/Security/Authentication/CustomerUsernamePasswordFormAuthenticator.php +++ b/core/lib/Thelia/Core/Security/Authentication/CustomerUsernamePasswordFormAuthenticator.php @@ -29,16 +29,17 @@ use Thelia\Core\Security\Authentication\UsernamePasswordFormAuthenticator; use Thelia\Form\CustomerLogin; use Thelia\Core\Security\UserProvider\CustomerUserProvider; -class CustomerUsernamePasswordFormAuthenticator extends UsernamePasswordFormAuthenticator { - - public function __construct(Request $request, CustomerLogin $loginForm) { - parent::__construct( - $request, - $loginForm, - new CustomerUserProvider(), - array( - 'username_field_name' => 'email' - ) - ); - } -} \ No newline at end of file +class CustomerUsernamePasswordFormAuthenticator extends UsernamePasswordFormAuthenticator +{ + public function __construct(Request $request, CustomerLogin $loginForm) + { + parent::__construct( + $request, + $loginForm, + new CustomerUserProvider(), + array( + 'username_field_name' => 'email' + ) + ); + } +} diff --git a/core/lib/Thelia/Core/Security/Authentication/UsernamePasswordFormAuthenticator.php b/core/lib/Thelia/Core/Security/Authentication/UsernamePasswordFormAuthenticator.php index 77d54d682..6dc938d88 100644 --- a/core/lib/Thelia/Core/Security/Authentication/UsernamePasswordFormAuthenticator.php +++ b/core/lib/Thelia/Core/Security/Authentication/UsernamePasswordFormAuthenticator.php @@ -32,64 +32,65 @@ use Thelia\Core\Security\Exception\UsernameNotFoundException; use Symfony\Component\Validator\Exception\ValidatorException; use Thelia\Form\BaseForm; -class UsernamePasswordFormAuthenticator implements AuthenticatorInterface { +class UsernamePasswordFormAuthenticator implements AuthenticatorInterface +{ + protected $request; + protected $loginForm; + protected $userProvider; + protected $options; - protected $request; - protected $loginForm; - protected $userProvider; - protected $options; + protected $baseLoginForm; - protected $baseLoginForm; + public function __construct(Request $request, BaseForm $loginForm, UserProviderInterface $userProvider, array $options = array()) + { + $this->request = $request; + $this->baseLoginForm = $loginForm; + $this->loginForm = $this->baseLoginForm->getForm(); + $this->userProvider = $userProvider; - public function __construct(Request $request, BaseForm $loginForm, UserProviderInterface $userProvider, array $options = array()) { - $this->request = $request; - $this->baseLoginForm = $loginForm; - $this->loginForm = $this->baseLoginForm->getForm(); - $this->userProvider = $userProvider; + $defaults = array( + 'required_method' => 'POST', + 'username_field_name' => 'username', + 'password_field_name' => 'password' + ); - $defaults = array( - 'required_method' => 'POST', - 'username_field_name' => 'username', - 'password_field_name' => 'password' - ); + $this->options = array_merge($defaults, $options); - $this->options = array_merge($defaults, $options); + $this->loginForm->bind($this->request); + } - $this->loginForm->bind($this->request); - } + /** + * @return string the username value + */ + public function getUsername() + { + return $this->loginForm->get($this->options['username_field_name'])->getData(); + } - /** - * @return string the username value - */ - public function getUsername() { - return $this->loginForm->get($this->options['username_field_name'])->getData(); - } + /** + * @see \Thelia\Core\Security\Authentication\AuthenticatorInterface::getAuthentifiedUser() + */ + public function getAuthentifiedUser() + { + if ($this->request->isMethod($this->options['required_method'])) { - /** - * @see \Thelia\Core\Security\Authentication\AuthenticatorInterface::getAuthentifiedUser() - */ - public function getAuthentifiedUser() { + if (! $this->loginForm->isValid()) throw new ValidatorException("Form is not valid."); - if ($this->request->isMethod($this->options['required_method'])) { + // Retreive user + $username = $this->getUsername(); + $password = $this->loginForm->get($this->options['password_field_name'])->getData(); - if (! $this->loginForm->isValid()) throw new ValidatorException("Form is not valid."); + $user = $this->userProvider->getUser($username); - // Retreive user - $username = $this->getUsername(); - $password = $this->loginForm->get($this->options['password_field_name'])->getData(); + if ($user === null) throw new UsernameNotFoundException(sprintf("Username '%s' was not found.", $username)); - $user = $this->userProvider->getUser($username); + // Check user password + $authOk = $user->checkPassword($password) === true; - if ($user === null) throw new UsernameNotFoundException(sprintf("Username '%s' was not found.", $username)); + if ($authOk !== true) throw new WrongPasswordException(sprintf("Wrong password for user '%s'.", $username)); + return $user; + } - // Check user password - $authOk = $user->checkPassword($password) === true; - - if ($authOk !== true) throw new WrongPasswordException(sprintf("Wrong password for user '%s'.", $username)); - - return $user; - } - - throw new \RuntimeException("Invalid method."); - } -} \ No newline at end of file + throw new \RuntimeException("Invalid method."); + } +} diff --git a/core/lib/Thelia/Core/Security/Exception/AuthenticationException.php b/core/lib/Thelia/Core/Security/Exception/AuthenticationException.php index ad0e01a3b..93eed87d5 100644 --- a/core/lib/Thelia/Core/Security/Exception/AuthenticationException.php +++ b/core/lib/Thelia/Core/Security/Exception/AuthenticationException.php @@ -25,24 +25,26 @@ namespace Thelia\Core\Security\Exception; class AuthenticationException extends \Exception { - /** - * @var string The login template name - */ - protected $loginTemplate = "login"; + /** + * @var string The login template name + */ + protected $loginTemplate = "login"; - /** - * @return string the login template name - */ - public function getLoginTemplate() { - return $this->loginTemplate; - } + /** + * @return string the login template name + */ + public function getLoginTemplate() + { + return $this->loginTemplate; + } - /** - * Set the login template name - * - * @param string $loginPath the login template name - */ - public function setLoginTemplate($loginTemplate) { - $this->loginTemplate = $loginTemplate; - } + /** + * Set the login template name + * + * @param string $loginPath the login template name + */ + public function setLoginTemplate($loginTemplate) + { + $this->loginTemplate = $loginTemplate; + } } diff --git a/core/lib/Thelia/Core/Security/Role/Role.php b/core/lib/Thelia/Core/Security/Role/Role.php index 8776f9752..08b5d7c6a 100755 --- a/core/lib/Thelia/Core/Security/Role/Role.php +++ b/core/lib/Thelia/Core/Security/Role/Role.php @@ -39,7 +39,8 @@ class Role implements RoleInterface return $this->role; } - public function __toString() { - return $this->role; + public function __toString() + { + return $this->role; } } diff --git a/core/lib/Thelia/Core/Security/Role/RoleInterface.php b/core/lib/Thelia/Core/Security/Role/RoleInterface.php index 1a27ae092..2771d6e7d 100755 --- a/core/lib/Thelia/Core/Security/Role/RoleInterface.php +++ b/core/lib/Thelia/Core/Security/Role/RoleInterface.php @@ -32,4 +32,4 @@ interface RoleInterface * @return string|null A string representation of the role, or null */ public function getRole(); -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Security/SecurityContext.php b/core/lib/Thelia/Core/Security/SecurityContext.php index 588f705c1..9df25de9e 100755 --- a/core/lib/Thelia/Core/Security/SecurityContext.php +++ b/core/lib/Thelia/Core/Security/SecurityContext.php @@ -23,9 +23,6 @@ namespace Thelia\Core\Security; -use Thelia\Core\Security\Authentication\AuthenticationProviderInterface; -use Thelia\Core\Security\Exception\AuthenticationTokenNotFoundException; -use Thelia\Core\Security\Token\TokenInterface; use Thelia\Core\Security\User\UserInterface; use Thelia\Core\HttpFoundation\Request; @@ -34,73 +31,77 @@ use Thelia\Core\HttpFoundation\Request; * * @author Franck Allimant */ -class SecurityContext { +class SecurityContext +{ + const CONTEXT_FRONT_OFFICE = 'front'; + const CONTEXT_BACK_OFFICE = 'admin'; - const CONTEXT_FRONT_OFFICE = 'front'; - const CONTEXT_BACK_OFFICE = 'admin'; + private $request; + private $context; - private $request; - private $context; + public function __construct(Request $request) + { + $this->request = $request; - public function __construct(Request $request) { + $this->context = null; + } - $this->request = $request; + public function setContext($context) + { + if ($context !== self::CONTEXT_FRONT_OFFICE && $context !== self::CONTEXT_BACK_OFFICE) { + throw new \InvalidArgumentException(sprintf("Invalid or empty context identifier '%s'", $context)); + } - $this->context = null; - } + $this->context = $context; - public function setContext($context) { - if ($context !== self::CONTEXT_FRONT_OFFICE && $context !== self::CONTEXT_BACK_OFFICE) { - throw new \InvalidArgumentException(sprintf("Invalid or empty context identifier '%s'", $context)); - } + return $this; + } - $this->context = $context; + public function getContext($exception_if_context_undefined = false) + { + if (null === $this->context && $exception_if_context_undefined === true) + throw new \LogicException("No context defined. Please use setContext() first."); - return $this; - } + return $this->context; + } - public function getContext($exception_if_context_undefined = false) { - if (null === $this->context && $exception_if_context_undefined === true) - throw new \LogicException("No context defined. Please use setContext() first."); + private function getSession() + { + $session = $this->request->getSession(); - return $this->context; - } + if ($session === null) + throw new \LogicException("No session found."); - private function getSession() { - $session = $this->request->getSession(); - - if ($session === null) - throw new \LogicException("No session found."); - - return $session; - } + return $session; + } /** * Gets the currently authenticated user in the current context, or null if none is defined * * @return UserInterface|null A UserInterface instance or null if no user is available */ - public function getUser() { - $context = $this->getContext(true); + public function getUser() + { + $context = $this->getContext(true); - if ($context === self::CONTEXT_FRONT_OFFICE) - $user = $this->getSession()->getCustomerUser(); - else if ($context == self::CONTEXT_BACK_OFFICE) - $user = $this->getSession()->getAdminUser(); - else - $user = null; + if ($context === self::CONTEXT_FRONT_OFFICE) + $user = $this->getSession()->getCustomerUser(); + else if ($context == self::CONTEXT_BACK_OFFICE) + $user = $this->getSession()->getAdminUser(); + else + $user = null; - return $user; - } + return $user; + } - final public function isAuthenticated() - { - if (null !== $this->getUser()) { - return true; - } + final public function isAuthenticated() + { + if (null !== $this->getUser()) { + return true; + } - return false; - } + return false; + } /** * Checks if the current user is allowed @@ -111,51 +112,51 @@ class SecurityContext { { if ($this->isAuthenticated() === true) { - $user = $this->getUser(); + $user = $this->getUser(); - // Check if user's roles matches required roles - $userRoles = $user->getRoles(); + // Check if user's roles matches required roles + $userRoles = $user->getRoles(); - $roleFound = false; + $roleFound = false; - foreach($userRoles as $role) { - if (in_array($role, $roles)) { - $roleFound = true; + foreach ($userRoles as $role) { + if (in_array($role, $roles)) { + $roleFound = true; - break; - } - } + break; + } + } - if ($roleFound) { + if ($roleFound) { - if (empty($permissions)) { - return true; - } + if (empty($permissions)) { + return true; + } - // Get permissions from profile - // $userPermissions = $user->getPermissions(); FIXME + // Get permissions from profile + // $userPermissions = $user->getPermissions(); FIXME - // TODO: Finalize permissions system !; + // TODO: Finalize permissions system !; - $userPermissions = array('*'); // FIXME ! + $userPermissions = array('*'); // FIXME ! - $permissionsFound = true; + $permissionsFound = true; - // User have all permissions ? - if (in_array('*', $userPermissions)) - return true; + // User have all permissions ? + if (in_array('*', $userPermissions)) + return true; - // Check that user's permissions matches required permissions - foreach($permissions as $permission) { - if (! in_array($permission, $userPermissions)) { - $permissionsFound = false; + // Check that user's permissions matches required permissions + foreach ($permissions as $permission) { + if (! in_array($permission, $userPermissions)) { + $permissionsFound = false; - break; - } - } + break; + } + } - return $permissionsFound; - } + return $permissionsFound; + } } return false; @@ -168,25 +169,26 @@ class SecurityContext { */ public function setUser(UserInterface $user) { - $context = $this->getContext(true); + $context = $this->getContext(true); - $user->eraseCredentials(); + $user->eraseCredentials(); - if ($context === self::CONTEXT_FRONT_OFFICE) - $this->getSession()->setCustomerUser($user); - else if ($context == self::CONTEXT_BACK_OFFICE) - $this->getSession()->setAdminUser($user); + if ($context === self::CONTEXT_FRONT_OFFICE) + $this->getSession()->setCustomerUser($user); + else if ($context == self::CONTEXT_BACK_OFFICE) + $this->getSession()->setAdminUser($user); } /** * Clear the user from the security context */ - public function clear() { - $context = $this->getContext(true); + public function clear() + { + $context = $this->getContext(true); - if ($context === self::CONTEXT_FRONT_OFFICE) - $this->getSession()->clearCustomerUser(); - else if ($context == self::CONTEXT_BACK_OFFICE) - $this->getSession()->clearAdminUser(); + if ($context === self::CONTEXT_FRONT_OFFICE) + $this->getSession()->clearCustomerUser(); + else if ($context == self::CONTEXT_BACK_OFFICE) + $this->getSession()->clearAdminUser(); } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Security/User/UserInterface.php b/core/lib/Thelia/Core/Security/User/UserInterface.php index b6642ba47..12e07f431 100755 --- a/core/lib/Thelia/Core/Security/User/UserInterface.php +++ b/core/lib/Thelia/Core/Security/User/UserInterface.php @@ -8,8 +8,8 @@ namespace Thelia\Core\Security\User; * @author Franck Allimant * */ -interface UserInterface { - +interface UserInterface +{ /** * Return the user unique name */ @@ -48,4 +48,4 @@ interface UserInterface { * @return void */ public function eraseCredentials(); -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Security/UserProvider/AdminUserProvider.php b/core/lib/Thelia/Core/Security/UserProvider/AdminUserProvider.php index 162edf299..a889053c4 100755 --- a/core/lib/Thelia/Core/Security/UserProvider/AdminUserProvider.php +++ b/core/lib/Thelia/Core/Security/UserProvider/AdminUserProvider.php @@ -4,14 +4,14 @@ namespace Thelia\Core\Security\UserProvider; use Thelia\Model\Admin; use Thelia\Model\AdminQuery; -class AdminUserProvider implements UserProviderInterface { - - public function getUser($key) { - +class AdminUserProvider implements UserProviderInterface +{ + public function getUser($key) + { $admin = AdminQuery::create() ->filterByLogin($key) ->findOne(); return $admin; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Security/UserProvider/CustomerUserProvider.php b/core/lib/Thelia/Core/Security/UserProvider/CustomerUserProvider.php index 642056f77..371af73fc 100755 --- a/core/lib/Thelia/Core/Security/UserProvider/CustomerUserProvider.php +++ b/core/lib/Thelia/Core/Security/UserProvider/CustomerUserProvider.php @@ -1,17 +1,16 @@ filterByEmail($key) ->findOne(); return $customer; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Security/UserProvider/UserProviderInterface.php b/core/lib/Thelia/Core/Security/UserProvider/UserProviderInterface.php index 931fa6923..dd4232ade 100755 --- a/core/lib/Thelia/Core/Security/UserProvider/UserProviderInterface.php +++ b/core/lib/Thelia/Core/Security/UserProvider/UserProviderInterface.php @@ -2,7 +2,8 @@ namespace Thelia\Core\Security\UserProvider; -interface UserProviderInterface { +interface UserProviderInterface +{ /** * Returns a UserInterface instance * @@ -11,4 +12,3 @@ interface UserProviderInterface { */ public function getUser($key); } -?> \ No newline at end of file diff --git a/core/lib/Thelia/Core/Template/Element/BaseLoop.php b/core/lib/Thelia/Core/Template/Element/BaseLoop.php index bff6ea54d..bcc7837dc 100755 --- a/core/lib/Thelia/Core/Template/Element/BaseLoop.php +++ b/core/lib/Thelia/Core/Template/Element/BaseLoop.php @@ -51,7 +51,6 @@ abstract class BaseLoop */ protected $securityContext; - protected $args; /** @@ -77,11 +76,11 @@ abstract class BaseLoop */ protected function getDefaultArgs() { - return array( + return array( Argument::createIntTypeArgument('offset', 0), Argument::createIntTypeArgument('page'), Argument::createIntTypeArgument('limit', PHP_INT_MAX), - ); + ); } /** @@ -93,17 +92,17 @@ abstract class BaseLoop * @return null * @throws \InvalidArgumentException if the parameter is unknown or the method name is not supported. */ - public function __call($name, $arguments) { + public function __call($name, $arguments) + { + if (substr($name, 0, 3) == 'get') { - if (substr($name, 0, 3) == 'get') { + // camelCase to underscore: getNotEmpty -> not_empty + $argName = strtolower(preg_replace('/([^A-Z])([A-Z])/', "$1_$2", substr($name, 3))); - // camelCase to underscore: getNotEmpty -> not_empty - $argName = strtolower(preg_replace('/([^A-Z])([A-Z])/', "$1_$2", substr($name, 3))); + return $this->getArg($argName)->getValue(); + } - return $this->getArg($argName)->getValue(); - } - - throw new \InvalidArgumentException(sprintf("Unsupported magic method %s. only getArgname() is supported.", $name)); + throw new \InvalidArgumentException(sprintf("Unsupported magic method %s. only getArgname() is supported.", $name)); } /** @@ -113,8 +112,8 @@ abstract class BaseLoop * * @throws \InvalidArgumentException if somùe argument values are missing, or invalid */ - public function initializeArgs(array $nameValuePairs) { - + public function initializeArgs(array $nameValuePairs) + { $faultActor = array(); $faultDetails = array(); @@ -127,29 +126,26 @@ abstract class BaseLoop $value = isset($nameValuePairs[$argument->name]) ? $nameValuePairs[$argument->name] : null; /* check if mandatory */ - if($value === null && $argument->mandatory) { + if ($value === null && $argument->mandatory) { $faultActor[] = $argument->name; $faultDetails[] = sprintf('"%s" parameter is missing in loop type: %s, name: %s', $argument->name, $loopType, $loopName); - } - else if($value === '' && !$argument->empty) { - /* check if empty */ + } else if ($value === '' && !$argument->empty) { + /* check if empty */ $faultActor[] = $argument->name; $faultDetails[] = sprintf('"%s" parameter cannot be empty in loop type: %s, name: %s', $argument->name, $loopType, $loopName); - } - else if($value !== null && !$argument->type->isValid($value)) { - /* check type */ + } elseif ($value !== null && !$argument->type->isValid($value)) { + /* check type */ $faultActor[] = $argument->name; $faultDetails[] = sprintf('Invalid value for "%s" argument in loop type: %s, name: %s', $argument->name, $loopType, $loopName); - } - else { - /* set default */ - /* did it as last checking for we consider default value is acceptable no matter type or empty restriction */ - if($value === null) { - $value = $argument->default; - } + } else { + /* set default */ + /* did it as last checking for we consider default value is acceptable no matter type or empty restriction */ + if ($value === null) { + $value = $argument->default; + } - $argument->setValue($value); - } + $argument->setValue($value); + } } if (!empty($faultActor)) { @@ -165,16 +161,16 @@ abstract class BaseLoop * @param string $argumentName the argument name * * @throws \InvalidArgumentException if argument is not found in loop argument list - * @return Argument the loop argument. + * @return Argument the loop argument. */ - public function getArg($argumentName) { + public function getArg($argumentName) + { + $arg = $this->args->get($argumentName); - $arg = $this->args->get($argumentName); + if ($arg === null) + throw new \InvalidArgumentException("Undefined loop argument '$argumentName'"); - if ($arg === null) - throw new \InvalidArgumentException("Undefined loop argument '$argumentName'"); - - return $arg; + return $arg; } /** @@ -183,11 +179,11 @@ abstract class BaseLoop * @param string $argumentName the argument name * * @throws \InvalidArgumentException if argument is not found in loop argument list - * @return Argument the loop argument. + * @return Argument the loop argument. */ - public function getArgValue($argumentName) { - - return $this->getArg($argumentName)->getValue(); + public function getArgValue($argumentName) + { + return $this->getArg($argumentName)->getValue(); } /** @@ -198,7 +194,7 @@ abstract class BaseLoop */ public function search(ModelCriteria $search, &$pagination = null) { - if($this->getArgValue('page') !== null) { + if ($this->getArgValue('page') !== null) { return $this->searchWithPagination($search, $pagination); } else { return $this->searchWithOffset($search); @@ -212,7 +208,7 @@ abstract class BaseLoop */ public function searchWithOffset(ModelCriteria $search) { - if($this->getArgValue('limit') >= 0) { + if ($this->getArgValue('limit') >= 0) { $search->limit($this->getArgValue('limit')); } $search->offset($this->getArgValue('offset')); @@ -230,7 +226,7 @@ abstract class BaseLoop { $pagination = $search->paginate($this->getArgValue('page'), $this->getArgValue('limit')); - if($this->getArgValue('page') > $pagination->getLastPage()) { + if ($this->getArgValue('page') > $pagination->getLastPage()) { return array(); } else { return $pagination; diff --git a/core/lib/Thelia/Core/Template/Element/LoopResultRow.php b/core/lib/Thelia/Core/Template/Element/LoopResultRow.php index cb847b557..8485bd78c 100755 --- a/core/lib/Thelia/Core/Template/Element/LoopResultRow.php +++ b/core/lib/Thelia/Core/Template/Element/LoopResultRow.php @@ -46,7 +46,7 @@ class LoopResultRow public function getVars() { - return array_keys($this->substitution); + return array_keys($this->substitution); } } diff --git a/core/lib/Thelia/Core/Template/Loop/Accessory.php b/core/lib/Thelia/Core/Template/Loop/Accessory.php index 3a4ba94fa..69b2e09d9 100755 --- a/core/lib/Thelia/Core/Template/Loop/Accessory.php +++ b/core/lib/Thelia/Core/Template/Loop/Accessory.php @@ -26,19 +26,12 @@ namespace Thelia\Core\Template\Loop; use Thelia\Core\Template\Loop\Product; use Propel\Runtime\ActiveQuery\Criteria; -use Propel\Runtime\ActiveQuery\Join; -use Thelia\Core\Template\Element\BaseLoop; use Thelia\Core\Template\Element\LoopResult; -use Thelia\Core\Template\Element\LoopResultRow; use Thelia\Core\Template\Loop\Argument\ArgumentCollection; use Thelia\Core\Template\Loop\Argument\Argument; -use Thelia\Log\Tlog; use Thelia\Model\AccessoryQuery; -use Thelia\Model\ProductQuery; -use Thelia\Model\ConfigQuery; -use Thelia\Type\TypeCollection; use Thelia\Type; /** @@ -86,12 +79,12 @@ class Accessory extends Product $order = $this->getOrder(); $orderByAccessory = array_search('accessory', $order); $orderByAccessoryReverse = array_search('accessory_reverse', $order); - if($orderByAccessory !== false) { + if ($orderByAccessory !== false) { $search->orderByPosition(Criteria::ASC); $order[$orderByAccessory] = 'given_id'; $this->args->get('order')->setValue( implode(',', $order) ); } - if($orderByAccessoryReverse !== false) { + if ($orderByAccessoryReverse !== false) { $search->orderByPosition(Criteria::DESC); $order[$orderByAccessoryReverse] = 'given_id'; $this->args->get('order')->setValue( implode(',', $order) ); @@ -107,7 +100,7 @@ class Accessory extends Product $receivedIdList = $this->getId(); /* if an Id list is receive, loop will only match accessories from this list */ - if($receivedIdList === null) { + if ($receivedIdList === null) { $this->args->get('id')->setValue( implode(',', $accessoryIdList) ); } else { $this->args->get('id')->setValue( implode(',', array_intersect($receivedIdList, $accessoryIdList)) ); diff --git a/core/lib/Thelia/Core/Template/Loop/Address.php b/core/lib/Thelia/Core/Template/Loop/Address.php index 5a1a98479..eb837eb4b 100755 --- a/core/lib/Thelia/Core/Template/Loop/Address.php +++ b/core/lib/Thelia/Core/Template/Loop/Address.php @@ -30,10 +30,8 @@ use Thelia\Core\Template\Element\LoopResultRow; use Thelia\Core\Template\Loop\Argument\ArgumentCollection; use Thelia\Core\Template\Loop\Argument\Argument; -use Thelia\Log\Tlog; use Thelia\Model\AddressQuery; -use Thelia\Model\ConfigQuery; use Thelia\Type\TypeCollection; use Thelia\Type; @@ -77,7 +75,7 @@ class Address extends BaseLoop { $search = AddressQuery::create(); - $id = $this->getId(); + $id = $this->getId(); if (null !== $id) { $search->filterById($id, Criteria::IN); @@ -87,7 +85,7 @@ class Address extends BaseLoop if ($customer === 'current') { $currentCustomer = $this->request->getSession()->getCustomerUser(); - if($currentCustomer === null) { + if ($currentCustomer === null) { return new LoopResult(); } else { $search->filterByCustomerId($currentCustomer->getId(), Criteria::EQUAL); @@ -100,7 +98,7 @@ class Address extends BaseLoop if ($default === true) { $search->filterByIsDefault(1, Criteria::EQUAL); - } elseif($default === false) { + } elseif ($default === false) { $search->filterByIsDefault(1, Criteria::NOT_EQUAL); } @@ -138,4 +136,4 @@ class Address extends BaseLoop return $loopResult; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Template/Loop/Argument/Argument.php b/core/lib/Thelia/Core/Template/Loop/Argument/Argument.php index f927a4222..54c2e3bf2 100755 --- a/core/lib/Thelia/Core/Template/Loop/Argument/Argument.php +++ b/core/lib/Thelia/Core/Template/Loop/Argument/Argument.php @@ -51,12 +51,14 @@ class Argument $this->setValue($value); } - public function getValue() { - return $this->type->getFormattedValue($this->value); + public function getValue() + { + return $this->type->getFormattedValue($this->value); } - public function setValue($value) { - $this->value = $value === null ? null : (string)$value; + public function setValue($value) + { + $this->value = $value === null ? null : (string) $value; } public static function createAnyTypeArgument($name, $default=null, $mandatory=false, $empty=true) @@ -113,15 +115,15 @@ class Argument public static function createBooleanOrBothTypeArgument($name, $default=null, $mandatory=false, $empty=true) { - return new Argument( - $name, - new TypeCollection( - new Type\BooleanOrBothType() - ), - $default, - $mandatory, - $empty - ); + return new Argument( + $name, + new TypeCollection( + new Type\BooleanOrBothType() + ), + $default, + $mandatory, + $empty + ); } public static function createIntListTypeArgument($name, $default=null, $mandatory=false, $empty=true) diff --git a/core/lib/Thelia/Core/Template/Loop/Argument/ArgumentCollection.php b/core/lib/Thelia/Core/Template/Loop/Argument/ArgumentCollection.php index a679b8546..dc851098b 100755 --- a/core/lib/Thelia/Core/Template/Loop/Argument/ArgumentCollection.php +++ b/core/lib/Thelia/Core/Template/Loop/Argument/ArgumentCollection.php @@ -37,12 +37,14 @@ class ArgumentCollection implements \Iterator $this->addArguments(func_get_args(), true); } - public function hasKey($key) { - return isset($this->arguments[$key]); + public function hasKey($key) + { + return isset($this->arguments[$key]); } - public function get($key) { - return $this->hasKey($key) ? $this->arguments[$key] : null; + public function get($key) + { + return $this->hasKey($key) ? $this->arguments[$key] : null; } public function isEmpty() @@ -51,14 +53,14 @@ class ArgumentCollection implements \Iterator } /** - * @param array $argumentList - * @param $force + * @param array $argumentList + * @param $force * * @return ArgumentCollection */ public function addArguments(array $argumentList, $force = true) { - foreach($argumentList as $argument) { + foreach ($argumentList as $argument) { $this->addArgument($argument, $force); } @@ -73,7 +75,7 @@ class ArgumentCollection implements \Iterator */ public function addArgument(Argument $argument, $force = true) { - if(isset($this->arguments[$argument->name]) && ! $force) { + if (isset($this->arguments[$argument->name]) && ! $force) { return $this; } diff --git a/core/lib/Thelia/Core/Template/Loop/Auth.php b/core/lib/Thelia/Core/Template/Loop/Auth.php index 5adaf8286..b645a0f95 100755 --- a/core/lib/Thelia/Core/Template/Loop/Auth.php +++ b/core/lib/Thelia/Core/Template/Loop/Auth.php @@ -30,11 +30,6 @@ use Thelia\Core\Template\Element\LoopResultRow; use Thelia\Core\Template\Loop\Argument\ArgumentCollection; use Thelia\Core\Template\Loop\Argument\Argument; -use Thelia\Type\TypeCollection; -use Thelia\Type; - -use Symfony\Component\DependencyInjection\ContainerInterface; - /** * * @package Thelia\Core\Template\Loop @@ -46,24 +41,24 @@ class Auth extends BaseLoop public function getArgDefinitions() { return new ArgumentCollection( - Argument::createAnyTypeArgument('roles', null, true), - Argument::createAnyTypeArgument('permissions'), - Argument::createAnyTypeArgument('context', 'front', false) + Argument::createAnyTypeArgument('roles', null, true), + Argument::createAnyTypeArgument('permissions'), + Argument::createAnyTypeArgument('context', 'front', false) ); } private function _explode($commaSeparatedValues) { - $array = explode(',', $commaSeparatedValues); + $array = explode(',', $commaSeparatedValues); - if (array_walk($array, function(&$item) { - $item = strtoupper(trim($item)); - })) { - return $array; - } + if (array_walk($array, function(&$item) { + $item = strtoupper(trim($item)); + })) { + return $array; + } - return array(); + return array(); } /** @@ -73,25 +68,24 @@ class Auth extends BaseLoop */ public function exec(&$pagination) { - $context = $this->getContext(); - $roles = $this->_explode($this->getRoles()); - $permissions = $this->_explode($this->getPermissions()); + $context = $this->getContext(); + $roles = $this->_explode($this->getRoles()); + $permissions = $this->_explode($this->getPermissions()); - $loopResult = new LoopResult(); + $loopResult = new LoopResult(); - try { - $this->securityContext->setContext($context); + try { + $this->securityContext->setContext($context); - if (true === $this->securityContext->isGranted($roles, $permissions == null ? array() : $permissions)) { + if (true === $this->securityContext->isGranted($roles, $permissions == null ? array() : $permissions)) { - // Create an empty row: loop is no longer empty :) - $loopResult->addRow(new LoopResultRow()); - } - } - catch (\Exception $ex) { - // Not granted, loop is empty - } + // Create an empty row: loop is no longer empty :) + $loopResult->addRow(new LoopResultRow()); + } + } catch (\Exception $ex) { + // Not granted, loop is empty + } - return $loopResult; + return $loopResult; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Template/Loop/Cart.php b/core/lib/Thelia/Core/Template/Loop/Cart.php index 4e236caae..27f295ed1 100644 --- a/core/lib/Thelia/Core/Template/Loop/Cart.php +++ b/core/lib/Thelia/Core/Template/Loop/Cart.php @@ -9,13 +9,13 @@ namespace Thelia\Core\Template\Loop; - use Thelia\Core\Template\Element\BaseLoop; use Thelia\Core\Template\Element\LoopResult; use Thelia\Core\Template\Element\LoopResultRow; use Thelia\Core\Template\Loop\Argument\ArgumentCollection; -class Cart extends BaseLoop { +class Cart extends BaseLoop +{ use \Thelia\Cart\CartTrait; /** * @@ -74,11 +74,10 @@ class Cart extends BaseLoop { $result = new LoopResult(); $cart = $this->getCart($this->request); - if($cart === null) { + if ($cart === null) { return $result; } - $cartItems = $cart->getCartItems(); foreach ($cartItems as $cartItem) { @@ -99,5 +98,4 @@ class Cart extends BaseLoop { return $result; } - -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Template/Loop/Category.php b/core/lib/Thelia/Core/Template/Loop/Category.php index a3769150d..a0e636926 100755 --- a/core/lib/Thelia/Core/Template/Loop/Category.php +++ b/core/lib/Thelia/Core/Template/Loop/Category.php @@ -30,7 +30,6 @@ use Thelia\Core\Template\Element\LoopResultRow; use Thelia\Core\Template\Loop\Argument\ArgumentCollection; use Thelia\Core\Template\Loop\Argument\Argument; -use Thelia\Log\Tlog; use Thelia\Model\CategoryQuery; use Thelia\Model\ConfigQuery; @@ -95,7 +94,7 @@ class Category extends BaseLoop { $search = CategoryQuery::create(); - $id = $this->getId(); + $id = $this->getId(); if (!is_null($id)) { $search->filterById($id, Criteria::IN); @@ -107,8 +106,7 @@ class Category extends BaseLoop $search->filterByParent($parent); } - - $current = $this->getCurrent(); + $current = $this->getCurrent(); if ($current === true) { $search->filterById($this->request->get("category_id")); @@ -116,7 +114,6 @@ class Category extends BaseLoop $search->filterById($this->request->get("category_id"), Criteria::NOT_IN); } - $exclude = $this->getExclude(); if (!is_null($exclude)) { @@ -124,11 +121,11 @@ class Category extends BaseLoop } if ($this->getVisible() != BooleanOrBothType::ANY) - $search->filterByVisible($this->getVisible() ? 1 : 0); + $search->filterByVisible($this->getVisible() ? 1 : 0); $orders = $this->getOrder(); - foreach($orders as $order) { + foreach ($orders as $order) { switch ($order) { case "alpha": $search->addAscendingOrderByColumn(\Thelia\Model\Map\CategoryI18nTableMap::TITLE); @@ -171,31 +168,30 @@ class Category extends BaseLoop if ($this->getNotEmpty() && $category->countAllProducts() == 0) continue; - $loopResultRow = new LoopResultRow(); $loopResultRow - ->set("ID", $category->getId()) - ->set("TITLE",$category->getTitle()) - ->set("CHAPO", $category->getChapo()) - ->set("DESCRIPTION", $category->getDescription()) - ->set("POSTSCRIPTUM", $category->getPostscriptum()) - ->set("PARENT", $category->getParent()) - ->set("URL", $category->getUrl()) - ->set("PRODUCT_COUNT", $category->countChild()) - ->set("VISIBLE", $category->getVisible() ? "1" : "0") - ->set("POSITION", $category->getPosition()) + ->set("ID", $category->getId()) + ->set("TITLE",$category->getTitle()) + ->set("CHAPO", $category->getChapo()) + ->set("DESCRIPTION", $category->getDescription()) + ->set("POSTSCRIPTUM", $category->getPostscriptum()) + ->set("PARENT", $category->getParent()) + ->set("URL", $category->getUrl()) + ->set("PRODUCT_COUNT", $category->countChild()) + ->set("VISIBLE", $category->getVisible() ? "1" : "0") + ->set("POSITION", $category->getPosition()) - ->set("CREATE_DATE", $category->getCreatedAt()) - ->set("UPDATE_DATE", $category->getUpdatedAt()) - ->set("VERSION", $category->getVersion()) - ->set("VERSION_DATE", $category->getVersionCreatedAt()) - ->set("VERSION_AUTHOR", $category->getVersionCreatedBy()) - ; + ->set("CREATE_DATE", $category->getCreatedAt()) + ->set("UPDATE_DATE", $category->getUpdatedAt()) + ->set("VERSION", $category->getVersion()) + ->set("VERSION_DATE", $category->getVersionCreatedAt()) + ->set("VERSION_AUTHOR", $category->getVersionCreatedBy()) + ; $loopResult->addRow($loopResultRow); } return $loopResult; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Template/Loop/CategoryPath.php b/core/lib/Thelia/Core/Template/Loop/CategoryPath.php index bfcfa42ce..d6c0cd02c 100644 --- a/core/lib/Thelia/Core/Template/Loop/CategoryPath.php +++ b/core/lib/Thelia/Core/Template/Loop/CategoryPath.php @@ -23,18 +23,14 @@ namespace Thelia\Core\Template\Loop; -use Propel\Runtime\ActiveQuery\Criteria; use Thelia\Core\Template\Element\BaseLoop; use Thelia\Core\Template\Element\LoopResult; use Thelia\Core\Template\Element\LoopResultRow; use Thelia\Core\Template\Loop\Argument\ArgumentCollection; use Thelia\Core\Template\Loop\Argument\Argument; -use Thelia\Log\Tlog; use Thelia\Model\CategoryQuery; -use Thelia\Model\ConfigQuery; -use Thelia\Type\TypeCollection; use Thelia\Type; use Thelia\Type\BooleanOrBothType; @@ -69,7 +65,7 @@ class CategoryPath extends BaseLoop Argument::createIntTypeArgument('category', null, true), Argument::createIntTypeArgument('depth'), Argument::createIntTypeArgument('level'), - Argument::createBooleanOrBothTypeArgument('visible', true, false) + Argument::createBooleanOrBothTypeArgument('visible', true, false) ); } @@ -80,50 +76,49 @@ class CategoryPath extends BaseLoop */ public function exec(&$pagination) { - $id = $this->getCategory(); - $visible = $this->getVisible(); + $id = $this->getCategory(); + $visible = $this->getVisible(); $search = CategoryQuery::create(); - $search->filterById($id); - if ($visible != BooleanOrBothType::ANY) $search->filterByVisible($visible); + $search->filterById($id); + if ($visible != BooleanOrBothType::ANY) $search->filterByVisible($visible); - $results = array(); + $results = array(); - $ids = array(); + $ids = array(); - do { - $category = $search->findOne(); + do { + $category = $search->findOne(); - if ($category != null) { + if ($category != null) { - $loopResultRow = new LoopResultRow(); + $loopResultRow = new LoopResultRow(); - $loopResultRow - ->set("TITLE",$category->getTitle()) - ->set("URL", $category->getUrl()) - ->set("ID", $category->getId()) - ; + $loopResultRow + ->set("TITLE",$category->getTitle()) + ->set("URL", $category->getUrl()) + ->set("ID", $category->getId()) + ; - $results[] = $loopResultRow; + $results[] = $loopResultRow; - $parent = $category->getParent(); + $parent = $category->getParent(); - if ($parent > 0) { + if ($parent > 0) { - // Prevent circular refererences - if (in_array($parent, $ids)) { - throw new \LogicException(sprintf("Circular reference detected in category ID=%d hierarchy (category ID=%d appears more than one times in path)", $id, $parent)); - } + // Prevent circular refererences + if (in_array($parent, $ids)) { + throw new \LogicException(sprintf("Circular reference detected in category ID=%d hierarchy (category ID=%d appears more than one times in path)", $id, $parent)); + } - $ids[] = $parent; + $ids[] = $parent; - $search = CategoryQuery::create(); - $search->filterById($parent); - if ($visible == true) $search->filterByVisible($visible); - } - } - } - while ($category != null && $parent > 0); + $search = CategoryQuery::create(); + $search->filterById($parent); + if ($visible == true) $search->filterByVisible($visible); + } + } + } while ($category != null && $parent > 0); // Reverse list and build the final result $results = array_reverse($results); @@ -134,4 +129,4 @@ class CategoryPath extends BaseLoop return $loopResult; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Template/Loop/CategoryTree.php b/core/lib/Thelia/Core/Template/Loop/CategoryTree.php index f452d61bc..330466f49 100644 --- a/core/lib/Thelia/Core/Template/Loop/CategoryTree.php +++ b/core/lib/Thelia/Core/Template/Loop/CategoryTree.php @@ -30,11 +30,8 @@ use Thelia\Core\Template\Element\LoopResultRow; use Thelia\Core\Template\Loop\Argument\ArgumentCollection; use Thelia\Core\Template\Loop\Argument\Argument; -use Thelia\Log\Tlog; use Thelia\Model\CategoryQuery; -use Thelia\Model\ConfigQuery; -use Thelia\Type\TypeCollection; use Thelia\Type; use Thelia\Type\BooleanOrBothType; @@ -59,45 +56,45 @@ class CategoryTree extends BaseLoop return new ArgumentCollection( Argument::createIntTypeArgument('category', null, true), Argument::createIntTypeArgument('depth', PHP_INT_MAX), - Argument::createBooleanOrBothTypeArgument('visible', true, false), - Argument::createIntListTypeArgument('exclude', array()) + Argument::createBooleanOrBothTypeArgument('visible', true, false), + Argument::createIntListTypeArgument('exclude', array()) ); } // changement de rubrique - protected function buildCategoryTree($parent, $visible, $level, $max_level, array $exclude, LoopResult &$loopResult) { + protected function buildCategoryTree($parent, $visible, $level, $max_level, array $exclude, LoopResult &$loopResult) + { + if ($level > $max_level) return; - if ($level > $max_level) return; + $search = CategoryQuery::create(); - $search = CategoryQuery::create(); + $search->filterByParent($parent); - $search->filterByParent($parent); + if ($visible != BooleanOrBothType::ANY) $search->filterByVisible($visible); - if ($visible != BooleanOrBothType::ANY) $search->filterByVisible($visible); + $search->filterById($exclude, Criteria::NOT_IN); - $search->filterById($exclude, Criteria::NOT_IN); + $search->orderByPosition(Criteria::ASC); - $search->orderByPosition(Criteria::ASC); + $results = $search->find(); - $results = $search->find(); + foreach ($results as $result) { - foreach($results as $result) { + $loopResultRow = new LoopResultRow(); - $loopResultRow = new LoopResultRow(); + $loopResultRow + ->set("ID", $result->getId()) + ->set("TITLE",$result->getTitle()) + ->set("PARENT", $result->getParent()) + ->set("URL", $result->getUrl()) + ->set("VISIBLE", $result->getVisible() ? "1" : "0") + ->set("LEVEL", $level) + ; - $loopResultRow - ->set("ID", $result->getId()) - ->set("TITLE",$result->getTitle()) - ->set("PARENT", $result->getParent()) - ->set("URL", $result->getUrl()) - ->set("VISIBLE", $result->getVisible() ? "1" : "0") - ->set("LEVEL", $level) - ; + $loopResult->addRow($loopResultRow); - $loopResult->addRow($loopResultRow); - - $this->buildCategoryTree($result->getId(), $visible, 1 + $level, $max_level, $exclude, $loopResult); - } + $this->buildCategoryTree($result->getId(), $visible, 1 + $level, $max_level, $exclude, $loopResult); + } } /** @@ -107,17 +104,17 @@ class CategoryTree extends BaseLoop */ public function exec(&$pagination) { - $id = $this->getCategory(); - $depth = $this->getDepth(); - $visible = $this->getVisible(); - $exclude = $this->getExclude(); + $id = $this->getCategory(); + $depth = $this->getDepth(); + $visible = $this->getVisible(); + $exclude = $this->getExclude(); - //echo "exclude=".print_r($exclude); + //echo "exclude=".print_r($exclude); - $loopResult = new LoopResult(); + $loopResult = new LoopResult(); - $this->buildCategoryTree($id, $visible, 0, $depth, $exclude, $loopResult); + $this->buildCategoryTree($id, $visible, 0, $depth, $exclude, $loopResult); return $loopResult; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Template/Loop/Content.php b/core/lib/Thelia/Core/Template/Loop/Content.php index e58e98625..7131c1d7e 100755 --- a/core/lib/Thelia/Core/Template/Loop/Content.php +++ b/core/lib/Thelia/Core/Template/Loop/Content.php @@ -24,16 +24,13 @@ namespace Thelia\Core\Template\Loop; use Propel\Runtime\ActiveQuery\Criteria; -use Propel\Runtime\ActiveQuery\Join; use Thelia\Core\Template\Element\BaseLoop; use Thelia\Core\Template\Element\LoopResult; use Thelia\Core\Template\Element\LoopResultRow; use Thelia\Core\Template\Loop\Argument\ArgumentCollection; use Thelia\Core\Template\Loop\Argument\Argument; -use Thelia\Log\Tlog; -use Thelia\Model\Base\FeatureContentQuery; use Thelia\Model\FolderQuery; use Thelia\Model\Map\ContentTableMap; use Thelia\Model\ContentFolderQuery; @@ -101,8 +98,8 @@ class Content extends BaseLoop $depth = $this->getDepth(); - if(null !== $depth) { - foreach(FolderQuery::findAllChild($folder, $depth) as $subFolder) { + if (null !== $depth) { + foreach (FolderQuery::findAllChild($folder, $depth) as $subFolder) { $folders->prepend($subFolder); } } @@ -117,7 +114,7 @@ class Content extends BaseLoop if ($current === true) { $search->filterById($this->request->get("content_id")); - } elseif($current === false) { + } elseif ($current === false) { $search->filterById($this->request->get("content_id"), Criteria::NOT_IN); } @@ -134,7 +131,7 @@ class Content extends BaseLoop )->find(), Criteria::IN ); - } elseif($current_folder === false) { + } elseif ($current_folder === false) { $search->filterByFolder( FolderQuery::create()->filterByContent( ContentFolderQuery::create()->filterByContentId( @@ -153,7 +150,7 @@ class Content extends BaseLoop $orders = $this->getOrder(); - foreach($orders as $order) { + foreach ($orders as $order) { switch ($order) { case "alpha": $search->addAscendingOrderByColumn(\Thelia\Model\Map\ContentI18nTableMap::TITLE); @@ -174,7 +171,7 @@ class Content extends BaseLoop case "given_id": if(null === $id) throw new \InvalidArgumentException('Given_id order cannot be set without `id` argument'); - foreach($id as $singleId) { + foreach ($id as $singleId) { $givenIdMatched = 'given_id_matched_' . $singleId; $search->withColumn(ContentTableMap::ID . "='$singleId'", $givenIdMatched); $search->orderBy($givenIdMatched, Criteria::DESC); @@ -223,12 +220,12 @@ class Content extends BaseLoop $loopResultRow = new LoopResultRow(); $loopResultRow->set("ID", $content->getId()) - ->set("TITLE",$content->getTitle()) - ->set("CHAPO", $content->getChapo()) - ->set("DESCRIPTION", $content->getDescription()) - ->set("POSTSCRIPTUM", $content->getPostscriptum()) - ->set("POSITION", $content->getPosition()) - ; + ->set("TITLE",$content->getTitle()) + ->set("CHAPO", $content->getChapo()) + ->set("DESCRIPTION", $content->getDescription()) + ->set("POSTSCRIPTUM", $content->getPostscriptum()) + ->set("POSITION", $content->getPosition()) + ; $loopResult->addRow($loopResultRow); } diff --git a/core/lib/Thelia/Core/Template/Loop/Country.php b/core/lib/Thelia/Core/Template/Loop/Country.php index e947b7776..475a4608b 100755 --- a/core/lib/Thelia/Core/Template/Loop/Country.php +++ b/core/lib/Thelia/Core/Template/Loop/Country.php @@ -30,12 +30,9 @@ use Thelia\Core\Template\Element\LoopResultRow; use Thelia\Core\Template\Loop\Argument\ArgumentCollection; use Thelia\Core\Template\Loop\Argument\Argument; -use Thelia\Log\Tlog; use Thelia\Model\CountryQuery; use Thelia\Model\ConfigQuery; -use Thelia\Type\TypeCollection; -use Thelia\Type; /** * @@ -71,7 +68,7 @@ class Country extends BaseLoop { $search = CountryQuery::create(); - $id = $this->getId(); + $id = $this->getId(); if (null !== $id) { $search->filterById($id, Criteria::IN); @@ -131,4 +128,4 @@ class Country extends BaseLoop return $loopResult; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Template/Loop/Customer.php b/core/lib/Thelia/Core/Template/Loop/Customer.php index e36e18397..478c3d5bb 100755 --- a/core/lib/Thelia/Core/Template/Loop/Customer.php +++ b/core/lib/Thelia/Core/Template/Loop/Customer.php @@ -30,10 +30,8 @@ use Thelia\Core\Template\Element\LoopResultRow; use Thelia\Core\Template\Loop\Argument\ArgumentCollection; use Thelia\Core\Template\Loop\Argument\Argument; -use Thelia\Log\Tlog; use Thelia\Model\CustomerQuery; -use Thelia\Model\ConfigQuery; use Thelia\Type\TypeCollection; use Thelia\Type; @@ -76,18 +74,18 @@ class Customer extends BaseLoop { $search = CustomerQuery::create(); - $current = $this->getCurrent(); + $current = $this->getCurrent(); if ($current === true) { $currentCustomer = $this->request->getSession()->getCustomerUser(); - if($currentCustomer === null) { + if ($currentCustomer === null) { return new LoopResult(); } else { $search->filterById($currentCustomer->getId(), Criteria::EQUAL); } } - $id = $this->getId(); + $id = $this->getId(); if (null !== $id) { $search->filterById($id, Criteria::IN); @@ -103,7 +101,7 @@ class Customer extends BaseLoop if ($reseller === true) { $search->filterByReseller(1, Criteria::EQUAL); - } else if($reseller === false) { + } elseif ($reseller === false) { $search->filterByReseller(0, Criteria::EQUAL); } @@ -134,4 +132,4 @@ class Customer extends BaseLoop return $loopResult; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Template/Loop/Feature.php b/core/lib/Thelia/Core/Template/Loop/Feature.php index d35224384..15ef6af99 100755 --- a/core/lib/Thelia/Core/Template/Loop/Feature.php +++ b/core/lib/Thelia/Core/Template/Loop/Feature.php @@ -24,14 +24,12 @@ namespace Thelia\Core\Template\Loop; use Propel\Runtime\ActiveQuery\Criteria; -use Propel\Runtime\ActiveQuery\Join; use Thelia\Core\Template\Element\BaseLoop; use Thelia\Core\Template\Element\LoopResult; use Thelia\Core\Template\Element\LoopResultRow; use Thelia\Core\Template\Loop\Argument\ArgumentCollection; use Thelia\Core\Template\Loop\Argument\Argument; -use Thelia\Log\Tlog; use Thelia\Model\Base\CategoryQuery; use Thelia\Model\Base\ProductCategoryQuery; @@ -102,17 +100,17 @@ class Feature extends BaseLoop $product = $this->getProduct(); $category = $this->getCategory(); - if(null !== $product) { + if (null !== $product) { $productCategories = ProductCategoryQuery::create()->select(array(ProductCategoryTableMap::CATEGORY_ID))->filterByProductId($product, Criteria::IN)->find()->getData(); - if(null === $category) { + if (null === $category) { $category = $productCategories; } else { $category = array_merge($category, $productCategories); } } - if(null !== $category) { + if (null !== $category) { $search->filterByCategory( CategoryQuery::create()->filterById($category)->find(), Criteria::IN @@ -121,7 +119,7 @@ class Feature extends BaseLoop $orders = $this->getOrder(); - foreach($orders as $order) { + foreach ($orders as $order) { switch ($order) { case "alpha": $search->addAscendingOrderByColumn(\Thelia\Model\Map\FeatureI18nTableMap::TITLE); @@ -166,4 +164,4 @@ class Feature extends BaseLoop return $loopResult; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Template/Loop/FeatureAvailable.php b/core/lib/Thelia/Core/Template/Loop/FeatureAvailable.php index 595794bf4..2ef701cc9 100755 --- a/core/lib/Thelia/Core/Template/Loop/FeatureAvailable.php +++ b/core/lib/Thelia/Core/Template/Loop/FeatureAvailable.php @@ -24,14 +24,12 @@ namespace Thelia\Core\Template\Loop; use Propel\Runtime\ActiveQuery\Criteria; -use Propel\Runtime\ActiveQuery\Join; use Thelia\Core\Template\Element\BaseLoop; use Thelia\Core\Template\Element\LoopResult; use Thelia\Core\Template\Element\LoopResultRow; use Thelia\Core\Template\Loop\Argument\ArgumentCollection; use Thelia\Core\Template\Loop\Argument\Argument; -use Thelia\Log\Tlog; use Thelia\Model\Base\FeatureAvQuery; use Thelia\Model\ConfigQuery; @@ -91,13 +89,13 @@ class FeatureAvailable extends BaseLoop $feature = $this->getFeature(); - if(null !== $feature) { + if (null !== $feature) { $search->filterByFeatureId($feature, Criteria::IN); } $orders = $this->getOrder(); - foreach($orders as $order) { + foreach ($orders as $order) { switch ($order) { case "alpha": $search->addAscendingOrderByColumn(\Thelia\Model\Map\FeatureAvI18nTableMap::TITLE); @@ -142,4 +140,4 @@ class FeatureAvailable extends BaseLoop return $loopResult; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Template/Loop/FeatureValue.php b/core/lib/Thelia/Core/Template/Loop/FeatureValue.php index 403baf37a..43f6df506 100755 --- a/core/lib/Thelia/Core/Template/Loop/FeatureValue.php +++ b/core/lib/Thelia/Core/Template/Loop/FeatureValue.php @@ -24,14 +24,12 @@ namespace Thelia\Core\Template\Loop; use Propel\Runtime\ActiveQuery\Criteria; -use Propel\Runtime\ActiveQuery\Join; use Thelia\Core\Template\Element\BaseLoop; use Thelia\Core\Template\Element\LoopResult; use Thelia\Core\Template\Element\LoopResultRow; use Thelia\Core\Template\Loop\Argument\ArgumentCollection; use Thelia\Core\Template\Loop\Argument\Argument; -use Thelia\Log\Tlog; use Thelia\Model\Base\FeatureProductQuery; use Thelia\Model\ConfigQuery; @@ -94,18 +92,18 @@ class FeatureValue extends BaseLoop } $excludeFeatureAvailable = $this->getExclude_feature_available(); - if($excludeFeatureAvailable == true) { + if ($excludeFeatureAvailable == true) { $search->filterByFeatureAvId(null, Criteria::NULL); } $excludeDefaultValues = $this->getExclude_default_values(); - if($excludeDefaultValues == true) { + if ($excludeDefaultValues == true) { $search->filterByByDefault(null, Criteria::NULL); } $orders = $this->getOrder(); - foreach($orders as $order) { + foreach ($orders as $order) { switch ($order) { case "alpha": $search->addAscendingOrderByColumn(\Thelia\Model\Map\FeatureI18nTableMap::TITLE); @@ -150,4 +148,4 @@ class FeatureValue extends BaseLoop return $loopResult; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Template/Loop/Feed.php b/core/lib/Thelia/Core/Template/Loop/Feed.php index f76c0c049..8e155a666 100755 --- a/core/lib/Thelia/Core/Template/Loop/Feed.php +++ b/core/lib/Thelia/Core/Template/Loop/Feed.php @@ -30,9 +30,6 @@ use Thelia\Core\Template\Element\LoopResultRow; use Thelia\Core\Template\Loop\Argument\ArgumentCollection; use Thelia\Core\Template\Loop\Argument\Argument; -use Thelia\Type\TypeCollection; -use Thelia\Type; - /** * * @package Thelia\Core\Template\Loop @@ -44,8 +41,8 @@ class Feed extends BaseLoop public function getArgDefinitions() { return new ArgumentCollection( - Argument::createAnyTypeArgument('url', null, true), - Argument::createIntTypeArgument('timeout', 10) + Argument::createAnyTypeArgument('url', null, true), + Argument::createIntTypeArgument('timeout', 10) ); } @@ -56,13 +53,13 @@ class Feed extends BaseLoop */ public function exec(&$pagination) { - $cachedir = THELIA_ROOT . 'cache/feeds'; + $cachedir = THELIA_ROOT . 'cache/feeds'; - if (! is_dir($cachedir)) { - if (! mkdir($cachedir)) { - throw new \Exception(sprintf("Failed to create cache directory '%s'", $cachedir)); - } - } + if (! is_dir($cachedir)) { + if (! mkdir($cachedir)) { + throw new \Exception(sprintf("Failed to create cache directory '%s'", $cachedir)); + } + } $feed = new \SimplePie($this->getUrl(), THELIA_ROOT . 'cache/feeds'); @@ -78,29 +75,29 @@ class Feed extends BaseLoop $loopResult = new LoopResult(); - for($idx = 0; $idx < $limit; $idx++) { + for ($idx = 0; $idx < $limit; $idx++) { - $item = $items[$idx]; + $item = $items[$idx]; - $link = $item->get_permalink(); + $link = $item->get_permalink(); - $title = $item->get_title(); - $author = $item->get_author(); - $description = $item->get_description(); + $title = $item->get_title(); + $author = $item->get_author(); + $description = $item->get_description(); - $date = $item->get_date('d/m/Y'); + $date = $item->get_date('d/m/Y'); - $loopResultRow = new LoopResultRow(); + $loopResultRow = new LoopResultRow(); - $loopResultRow->set("URL", $item->get_permalink()); - $loopResultRow->set("TITLE", $item->get_title()); - $loopResultRow->set("AUTHOR", $item->get_author()); - $loopResultRow->set("DESCRIPTION", $item->get_description()); - $loopResultRow->set("DATE", $item->get_date('d/m/Y')); // FIXME - date format should be an intl parameter + $loopResultRow->set("URL", $item->get_permalink()); + $loopResultRow->set("TITLE", $item->get_title()); + $loopResultRow->set("AUTHOR", $item->get_author()); + $loopResultRow->set("DESCRIPTION", $item->get_description()); + $loopResultRow->set("DATE", $item->get_date('d/m/Y')); // FIXME - date format should be an intl parameter - $loopResult->addRow($loopResultRow); + $loopResult->addRow($loopResultRow); } return $loopResult; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Template/Loop/Folder.php b/core/lib/Thelia/Core/Template/Loop/Folder.php index 13d0409a6..7f4ee120d 100755 --- a/core/lib/Thelia/Core/Template/Loop/Folder.php +++ b/core/lib/Thelia/Core/Template/Loop/Folder.php @@ -30,7 +30,6 @@ use Thelia\Core\Template\Element\LoopResultRow; use Thelia\Core\Template\Loop\Argument\ArgumentCollection; use Thelia\Core\Template\Loop\Argument\Argument; -use Thelia\Log\Tlog; use Thelia\Model\FolderQuery; use Thelia\Model\ConfigQuery; @@ -77,7 +76,7 @@ class Folder extends BaseLoop { $search = FolderQuery::create(); - $id = $this->getId(); + $id = $this->getId(); if (!is_null($id)) { $search->filterById($id, Criteria::IN); @@ -89,8 +88,7 @@ class Folder extends BaseLoop $search->filterByParent($parent); } - - $current = $this->getCurrent(); + $current = $this->getCurrent(); if ($current === true) { $search->filterById($this->request->get("folder_id")); @@ -98,7 +96,6 @@ class Folder extends BaseLoop $search->filterById($this->request->get("folder_id"), Criteria::NOT_IN); } - $exclude = $this->getExclude(); if (!is_null($exclude)) { @@ -111,7 +108,7 @@ class Folder extends BaseLoop $orders = $this->getOrder(); - foreach($orders as $order) { + foreach ($orders as $order) { switch ($order) { case "alpha": $search->addAscendingOrderByColumn(\Thelia\Model\Map\FolderI18nTableMap::TITLE); @@ -157,26 +154,26 @@ class Folder extends BaseLoop $loopResultRow = new LoopResultRow(); $loopResultRow - ->set("ID", $folder->getId()) - ->set("TITLE",$folder->getTitle()) - ->set("CHAPO", $folder->getChapo()) - ->set("DESCRIPTION", $folder->getDescription()) - ->set("POSTSCRIPTUM", $folder->getPostscriptum()) - ->set("PARENT", $folder->getParent()) - ->set("CONTENT_COUNT", $folder->countChild()) - ->set("VISIBLE", $folder->getVisible() ? "1" : "0") - ->set("POSITION", $folder->getPosition()) + ->set("ID", $folder->getId()) + ->set("TITLE",$folder->getTitle()) + ->set("CHAPO", $folder->getChapo()) + ->set("DESCRIPTION", $folder->getDescription()) + ->set("POSTSCRIPTUM", $folder->getPostscriptum()) + ->set("PARENT", $folder->getParent()) + ->set("CONTENT_COUNT", $folder->countChild()) + ->set("VISIBLE", $folder->getVisible() ? "1" : "0") + ->set("POSITION", $folder->getPosition()) - ->set("CREATE_DATE", $folder->getCreatedAt()) - ->set("UPDATE_DATE", $folder->getUpdatedAt()) - ->set("VERSION", $folder->getVersion()) - ->set("VERSION_DATE", $folder->getVersionCreatedAt()) - ->set("VERSION_AUTHOR", $folder->getVersionCreatedBy()) - ; + ->set("CREATE_DATE", $folder->getCreatedAt()) + ->set("UPDATE_DATE", $folder->getUpdatedAt()) + ->set("VERSION", $folder->getVersion()) + ->set("VERSION_DATE", $folder->getVersionCreatedAt()) + ->set("VERSION_AUTHOR", $folder->getVersionCreatedBy()) + ; $loopResult->addRow($loopResultRow); } return $loopResult; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Template/Loop/Lang.php b/core/lib/Thelia/Core/Template/Loop/Lang.php index 2e7d2ce16..3986fdb56 100644 --- a/core/lib/Thelia/Core/Template/Loop/Lang.php +++ b/core/lib/Thelia/Core/Template/Loop/Lang.php @@ -30,8 +30,6 @@ use Thelia\Core\Template\Element\LoopResultRow; use Thelia\Core\Template\Loop\Argument\Argument; -use Thelia\Type\TypeCollection; -use Thelia\Type; use Thelia\Model\LangQuery; use Thelia\Core\Template\Loop\Argument\ArgumentCollection; @@ -66,20 +64,20 @@ class Lang extends BaseLoop */ public function exec(&$pagination) { - $id = $this->getId(); - $exclude = $this->getExclude(); - $default_only = $this->getDefaultOnly(); + $id = $this->getId(); + $exclude = $this->getExclude(); + $default_only = $this->getDefaultOnly(); $search = LangQuery::create(); if (! is_null($id)) - $search->filterById($id); + $search->filterById($id); if ($default_only) - $search->filterByByDefault(true); + $search->filterByByDefault(true); if (! is_null($exclude)) { - $search->filterById($exclude, Criteria::NOT_IN); + $search->filterById($exclude, Criteria::NOT_IN); } $search->orderByPosition(Criteria::ASC); @@ -90,25 +88,25 @@ class Lang extends BaseLoop foreach ($results as $result) { - $loopResultRow = new LoopResultRow(); + $loopResultRow = new LoopResultRow(); - $loopResultRow - ->set("ID", $result->getId()) - ->set("TITLE",$result->getTitle()) - ->set("CODE", $result->getCode()) - ->set("LOCALE", $result->getLocale()) - ->set("URL", $result->getUrl()) - ->set("IS_DEFAULT", $result->getByDefault()) - ->set("URL", $result->getUrl()) - ->set("POSITION", $result->getPosition()) + $loopResultRow + ->set("ID", $result->getId()) + ->set("TITLE",$result->getTitle()) + ->set("CODE", $result->getCode()) + ->set("LOCALE", $result->getLocale()) + ->set("URL", $result->getUrl()) + ->set("IS_DEFAULT", $result->getByDefault()) + ->set("URL", $result->getUrl()) + ->set("POSITION", $result->getPosition()) - ->set("CREATE_DATE", $result->getCreatedAt()) - ->set("UPDATE_DATE", $result->getUpdatedAt()) - ; + ->set("CREATE_DATE", $result->getCreatedAt()) + ->set("UPDATE_DATE", $result->getUpdatedAt()) + ; - $loopResult->addRow($loopResultRow); + $loopResult->addRow($loopResultRow); } return $loopResult; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Template/Loop/Order.php b/core/lib/Thelia/Core/Template/Loop/Order.php index 112a1b0f3..fd11d8d4c 100644 --- a/core/lib/Thelia/Core/Template/Loop/Order.php +++ b/core/lib/Thelia/Core/Template/Loop/Order.php @@ -25,14 +25,10 @@ namespace Thelia\Core\Template\Loop; use Thelia\Core\Template\Element\BaseLoop; use Thelia\Core\Template\Element\LoopResult; -use Thelia\Core\Template\Element\LoopResultRow; use Thelia\Core\Template\Loop\Argument\ArgumentCollection; use Thelia\Core\Template\Loop\Argument\Argument; -use Thelia\Type\TypeCollection; -use Thelia\Type; - /** * * @package Thelia\Core\Template\Loop @@ -53,7 +49,7 @@ class Order extends BaseLoop */ public function exec(&$pagination) { - // TODO : a coder ! + // TODO : a coder ! return new LoopResult(); } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Template/Loop/OrderStatus.php b/core/lib/Thelia/Core/Template/Loop/OrderStatus.php index e6787f003..7f0e97c4f 100644 --- a/core/lib/Thelia/Core/Template/Loop/OrderStatus.php +++ b/core/lib/Thelia/Core/Template/Loop/OrderStatus.php @@ -25,14 +25,10 @@ namespace Thelia\Core\Template\Loop; use Thelia\Core\Template\Element\BaseLoop; use Thelia\Core\Template\Element\LoopResult; -use Thelia\Core\Template\Element\LoopResultRow; use Thelia\Core\Template\Loop\Argument\ArgumentCollection; use Thelia\Core\Template\Loop\Argument\Argument; -use Thelia\Type\TypeCollection; -use Thelia\Type; - /** * * @package Thelia\Core\Template\Loop @@ -53,7 +49,7 @@ class OrderStatus extends BaseLoop */ public function exec(&$pagination) { - // TODO : a coder ! + // TODO : a coder ! return new LoopResult(); } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Template/Loop/Product.php b/core/lib/Thelia/Core/Template/Loop/Product.php index 8d892a446..1d93515cb 100755 --- a/core/lib/Thelia/Core/Template/Loop/Product.php +++ b/core/lib/Thelia/Core/Template/Loop/Product.php @@ -24,20 +24,14 @@ namespace Thelia\Core\Template\Loop; use Propel\Runtime\ActiveQuery\Criteria; -use Propel\Runtime\ActiveQuery\Join; use Thelia\Core\Template\Element\BaseLoop; use Thelia\Core\Template\Element\LoopResult; use Thelia\Core\Template\Element\LoopResultRow; use Thelia\Core\Template\Loop\Argument\ArgumentCollection; use Thelia\Core\Template\Loop\Argument\Argument; -use Thelia\Log\Tlog; -use Thelia\Model\Base\FeatureProductQuery; use Thelia\Model\CategoryQuery; -use Thelia\Model\FeatureAvQuery; -use Thelia\Model\FeatureQuery; -use Thelia\Model\Map\FeatureProductTableMap; use Thelia\Model\Map\ProductTableMap; use Thelia\Model\ProductCategoryQuery; use Thelia\Model\ProductQuery; @@ -130,15 +124,15 @@ class Product extends BaseLoop $search->filterByRef($ref, Criteria::IN); } - $category = $this->getCategory(); + $category = $this->getCategory(); if (!is_null($category)) { $categories = CategoryQuery::create()->filterById($category, Criteria::IN)->find(); $depth = $this->getDepth(); - if(null !== $depth) { - foreach(CategoryQuery::findAllChild($category, $depth) as $subCategory) { + if (null !== $depth) { + foreach (CategoryQuery::findAllChild($category, $depth) as $subCategory) { $categories->prepend($subCategory); } } @@ -153,7 +147,7 @@ class Product extends BaseLoop if ($new === true) { $search->filterByNewness(1, Criteria::EQUAL); - } else if($new === false) { + } elseif ($new === false) { $search->filterByNewness(0, Criteria::EQUAL); } @@ -161,7 +155,7 @@ class Product extends BaseLoop if ($promo === true) { $search->filterByPromo(1, Criteria::EQUAL); - } else if($promo === false) { + } elseif ($promo === false) { $search->filterByNewness(0, Criteria::EQUAL); } @@ -173,7 +167,7 @@ class Product extends BaseLoop $min_price = $this->getMin_price();*/ - //if(null !== $min_price) { + //if (null !== $min_price) { /** * Following should work but does not : * @@ -190,7 +184,7 @@ class Product extends BaseLoop $max_price = $this->getMax_price();*/ - //if(null !== $max_price) { + //if (null !== $max_price) { /** * Following should work but does not : * @@ -207,13 +201,13 @@ class Product extends BaseLoop /*$min_weight = $this->getMin_weight(); - if(null !== $min_weight) { + if (null !== $min_weight) { $search->filterByWeight($min_weight, Criteria::GREATER_EQUAL); } $max_weight = $this->getMax_weight(); - if(null !== $max_weight) { + if (null !== $max_weight) { $search->filterByWeight($max_weight, Criteria::LESS_EQUAL); }*/ @@ -221,7 +215,7 @@ class Product extends BaseLoop if ($current === true) { $search->filterById($this->request->get("product_id")); - } elseif($current === false) { + } elseif ($current === false) { $search->filterById($this->request->get("product_id"), Criteria::NOT_IN); } @@ -238,7 +232,7 @@ class Product extends BaseLoop )->find(), Criteria::IN ); - } elseif($current_category === false) { + } elseif ($current_category === false) { $search->filterByCategory( CategoryQuery::create()->filterByProduct( ProductCategoryQuery::create()->filterByProductId( @@ -257,7 +251,7 @@ class Product extends BaseLoop $orders = $this->getOrder(); - foreach($orders as $order) { + foreach ($orders as $order) { switch ($order) { case "alpha": $search->addAscendingOrderByColumn(\Thelia\Model\Map\ProductI18nTableMap::TITLE); @@ -293,7 +287,7 @@ class Product extends BaseLoop case "given_id": if(null === $id) throw new \InvalidArgumentException('Given_id order cannot be set without `id` argument'); - foreach($id as $singleId) { + foreach ($id as $singleId) { $givenIdMatched = 'given_id_matched_' . $singleId; $search->withColumn(ProductTableMap::ID . "='$singleId'", $givenIdMatched); $search->orderBy($givenIdMatched, Criteria::DESC); @@ -323,9 +317,9 @@ class Product extends BaseLoop $feature_available = $this->getFeature_available(); - if(null !== $feature_available) { - foreach($feature_available as $feature => $feature_choice) { - foreach($feature_choice['values'] as $feature_av) { + if (null !== $feature_available) { + foreach ($feature_available as $feature => $feature_choice) { + foreach ($feature_choice['values'] as $feature_av) { $featureAlias = 'fa_' . $feature; if($feature_av != '*') $featureAlias .= '_' . $feature_av; @@ -337,7 +331,7 @@ class Product extends BaseLoop /* format for mysql */ $sqlWhereString = $feature_choice['expression']; - if($sqlWhereString == '*') { + if ($sqlWhereString == '*') { $sqlWhereString = 'NOT ISNULL(`fa_' . $feature . '`.ID)'; } else { $sqlWhereString = preg_replace('#([0-9]+)#', 'NOT ISNULL(`fa_' . $feature . '_' . '\1`.ID)', $sqlWhereString); @@ -351,9 +345,9 @@ class Product extends BaseLoop $feature_values = $this->getFeature_values(); - if(null !== $feature_values) { - foreach($feature_values as $feature => $feature_choice) { - foreach($feature_choice['values'] as $feature_value) { + if (null !== $feature_values) { + foreach ($feature_values as $feature => $feature_choice) { + foreach ($feature_choice['values'] as $feature_value) { $featureAlias = 'fv_' . $feature; if($feature_value != '*') $featureAlias .= '_' . $feature_value; @@ -365,7 +359,7 @@ class Product extends BaseLoop /* format for mysql */ $sqlWhereString = $feature_choice['expression']; - if($sqlWhereString == '*') { + if ($sqlWhereString == '*') { $sqlWhereString = 'NOT ISNULL(`fv_' . $feature . '`.ID)'; } else { $sqlWhereString = preg_replace('#([a-zA-Z0-9_\-]+)#', 'NOT ISNULL(`fv_' . $feature . '_' . '\1`.ID)', $sqlWhereString); @@ -398,18 +392,18 @@ class Product extends BaseLoop $loopResultRow = new LoopResultRow(); $loopResultRow->set("ID", $product->getId()) - ->set("REF",$product->getRef()) - ->set("TITLE",$product->getTitle()) - ->set("CHAPO", $product->getChapo()) - ->set("DESCRIPTION", $product->getDescription()) - ->set("POSTSCRIPTUM", $product->getPostscriptum()) - //->set("PRICE", $product->getPrice()) - //->set("PROMO_PRICE", $product->getPrice2()) - //->set("WEIGHT", $product->getWeight()) - //->set("PROMO", $product->getPromo()) - //->set("NEW", $product->getNewness()) - ->set("POSITION", $product->getPosition()) - ; + ->set("REF",$product->getRef()) + ->set("TITLE",$product->getTitle()) + ->set("CHAPO", $product->getChapo()) + ->set("DESCRIPTION", $product->getDescription()) + ->set("POSTSCRIPTUM", $product->getPostscriptum()) + //->set("PRICE", $product->getPrice()) + //->set("PROMO_PRICE", $product->getPrice2()) + //->set("WEIGHT", $product->getWeight()) + //->set("PROMO", $product->getPromo()) + //->set("NEW", $product->getNewness()) + ->set("POSITION", $product->getPosition()) + ; $loopResult->addRow($loopResultRow); } diff --git a/core/lib/Thelia/Core/Template/Loop/Title.php b/core/lib/Thelia/Core/Template/Loop/Title.php index f02a7f217..b4b7c5421 100755 --- a/core/lib/Thelia/Core/Template/Loop/Title.php +++ b/core/lib/Thelia/Core/Template/Loop/Title.php @@ -30,12 +30,9 @@ use Thelia\Core\Template\Element\LoopResultRow; use Thelia\Core\Template\Loop\Argument\ArgumentCollection; use Thelia\Core\Template\Loop\Argument\Argument; -use Thelia\Log\Tlog; use Thelia\Model\CustomerTitleQuery; use Thelia\Model\ConfigQuery; -use Thelia\Type\TypeCollection; -use Thelia\Type; /** * @@ -67,7 +64,7 @@ class Title extends BaseLoop { $search = CustomerTitleQuery::create(); - $id = $this->getId(); + $id = $this->getId(); if (null !== $id) { $search->filterById($id, Criteria::IN); @@ -102,4 +99,4 @@ class Title extends BaseLoop return $loopResult; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Core/Template/ParserContext.php b/core/lib/Thelia/Core/Template/ParserContext.php index 85b2b73b9..efdf22280 100644 --- a/core/lib/Thelia/Core/Template/ParserContext.php +++ b/core/lib/Thelia/Core/Template/ParserContext.php @@ -35,62 +35,62 @@ use Thelia\Form\BaseForm; */ class ParserContext implements \IteratorAggregate { - private $store = array(); + private $store = array(); - public function __construct(Request $request) { + public function __construct(Request $request) + { + // Setup basic variables + $this + ->set('BASE_URL' , ConfigQuery::read('base_url', '/')) + ->set('INDEX_PAGE' , URL::getIndexPage()) + ->set('RETURN_TO_URL' , URL::absoluteUrl($request->getSession()->getReturnToUrl())) + ->set('THELIA_VERSION' , ConfigQuery::read('thelia_version', 'undefined')) + ; + } - // Setup basic variables - $this - ->set('BASE_URL' , ConfigQuery::read('base_url', '/')) - ->set('INDEX_PAGE' , URL::getIndexPage()) - ->set('RETURN_TO_URL' , URL::absoluteUrl($request->getSession()->getReturnToUrl())) - ->set('THELIA_VERSION' , ConfigQuery::read('thelia_version', 'undefined')) - ; - } + // -- Error form ----------------------------------------------------------- - // -- Error form ----------------------------------------------------------- + /** + * @param BaseForm $form the errored form + */ + public function setErrorForm(BaseForm $form) + { + $this->set('error_form', $form); + } - /** - * @param BaseForm $form the errored form - */ - public function setErrorForm(BaseForm $form) - { - $this->set('error_form', $form); - } + public function getErrorForm() + { + return $this->get('error_form', null); + } - public function getErrorForm() - { - return $this->get('error_form', null); - } + public function clearErrorForm() + { + return $this->remove('error_form'); + } - public function clearErrorForm() - { - return $this->remove('error_form'); - } + // -- Internal table manipulation ------------------------------------------ - // -- Internal table manipulation ------------------------------------------ + public function set($name, $value) + { + $this->store[$name] = $value; - public function set($name, $value) - { - $this->store[$name] = $value; + return $this; + } - return $this; - } + public function remove($name) + { + unset($this->store[$name]); - public function remove($name) - { - unset($this->store[$name]); + return $this; + } - return $this; - } + public function get($name, $default = null) + { + return isset($this->store[$name]) ? $this->store[$name] : $default; + } - public function get($name, $default = null) - { - return isset($this->store[$name]) ? $this->store[$name] : $default; - } - - public function getIterator() - { - return new \ArrayIterator( $this->store ); - } + public function getIterator() + { + return new \ArrayIterator( $this->store ); + } } diff --git a/core/lib/Thelia/Core/Template/Smarty/AbstractSmartyPlugin.php b/core/lib/Thelia/Core/Template/Smarty/AbstractSmartyPlugin.php index 8c1a83a71..8a7cace29 100755 --- a/core/lib/Thelia/Core/Template/Smarty/AbstractSmartyPlugin.php +++ b/core/lib/Thelia/Core/Template/Smarty/AbstractSmartyPlugin.php @@ -32,69 +32,67 @@ namespace Thelia\Core\Template\Smarty; */ abstract class AbstractSmartyPlugin { - /** - * Explode a comma separated list in a array, trimming all array elements - * - * @param unknown $commaSeparatedValues - * @return multitype: - */ - protected function _explode($commaSeparatedValues) - { - $array = explode(',', $commaSeparatedValues); + /** + * Explode a comma separated list in a array, trimming all array elements + * + * @param unknown $commaSeparatedValues + * @return multitype: + */ + protected function _explode($commaSeparatedValues) + { + $array = explode(',', $commaSeparatedValues); - if (array_walk($array, function(&$item) { - $item = strtoupper(trim($item)); - })) { - return $array; - } + if (array_walk($array, function(&$item) { + $item = strtoupper(trim($item)); + })) { + return $array; + } - return array(); - } + return array(); + } - /** - * Get a function or block parameter value, and normalize it, trimming balnks and - * making it lowercase - * - * @param array $params the parameters array - * @param mixed $name as single parameter name, or an array of names. In this case, the first defined parameter is returned. Use this for aliases (context, ctx, c) - * @param mixed $default the defaut value if parameter is missing (default to null) - * @return mixed the parameter value, or the default value if it is not found. - */ - public function getNormalizedParam($params, $name, $default = null) - { - $value = $this->getParam($params, $name, $default); + /** + * Get a function or block parameter value, and normalize it, trimming balnks and + * making it lowercase + * + * @param array $params the parameters array + * @param mixed $name as single parameter name, or an array of names. In this case, the first defined parameter is returned. Use this for aliases (context, ctx, c) + * @param mixed $default the defaut value if parameter is missing (default to null) + * @return mixed the parameter value, or the default value if it is not found. + */ + public function getNormalizedParam($params, $name, $default = null) + { + $value = $this->getParam($params, $name, $default); - if (is_string($value)) $value = strtolower(trim($value)); + if (is_string($value)) $value = strtolower(trim($value)); + return $value; + } - return $value; - } + /** + * Get a function or block parameter value + * + * @param array $params the parameters array + * @param mixed $name as single parameter name, or an array of names. In this case, the first defined parameter is returned. Use this for aliases (context, ctx, c) + * @param mixed $default the defaut value if parameter is missing (default to null) + * @return mixed the parameter value, or the default value if it is not found. + */ + public function getParam($params, $name, $default = null) + { + if (is_array($name)) { + foreach ($name as $test) { + if (isset($params[$test])) { + return $params[$test]; + } + } + } elseif (isset($params[$name])) { + return $params[$name]; + } - /** - * Get a function or block parameter value - * - * @param array $params the parameters array - * @param mixed $name as single parameter name, or an array of names. In this case, the first defined parameter is returned. Use this for aliases (context, ctx, c) - * @param mixed $default the defaut value if parameter is missing (default to null) - * @return mixed the parameter value, or the default value if it is not found. - */ - public function getParam($params, $name, $default = null) - { - if (is_array($name)) { - foreach($name as $test) { - if (isset($params[$test])) { - return $params[$test]; - } - } - } - else if (isset($params[$name])) { - return $params[$name]; - } - - return $default; - } + return $default; + } /** * @return an array of SmartyPluginDescriptor */ - public abstract function getPluginDescriptors(); + abstract public function getPluginDescriptors(); } diff --git a/core/lib/Thelia/Core/Template/Smarty/Assets/SmartyAssetsManager.php b/core/lib/Thelia/Core/Template/Smarty/Assets/SmartyAssetsManager.php index 1e594ae32..e3365be85 100755 --- a/core/lib/Thelia/Core/Template/Smarty/Assets/SmartyAssetsManager.php +++ b/core/lib/Thelia/Core/Template/Smarty/Assets/SmartyAssetsManager.php @@ -24,7 +24,6 @@ namespace Thelia\Core\Template\Smarty\Assets; use Thelia\Core\Template\Assets\AsseticHelper; -use Thelia\Model\ConfigQuery; use Thelia\Tools\URL; class SmartyAssetsManager @@ -50,7 +49,8 @@ class SmartyAssetsManager $this->assetic_manager = new AsseticHelper(); } - public function computeAssetUrl($assetType, $params, \Smarty_Internal_Template $template) { + public function computeAssetUrl($assetType, $params, \Smarty_Internal_Template $template) + { $file = $params['file']; $filters = isset($params['filters']) ? $params['filters'] : ''; $debug = isset($params['debug']) ? trim(strtolower($params['debug'])) == 'true' : false; @@ -83,7 +83,7 @@ class SmartyAssetsManager { // Opening tag (first call only) if ($repeat) { - $url = $this->computeAssetUrl($assetType, $params, $template); + $url = $this->computeAssetUrl($assetType, $params, $template); $template->assign('asset_url', $url); diff --git a/core/lib/Thelia/Core/Template/Smarty/Plugins/Assetic.php b/core/lib/Thelia/Core/Template/Smarty/Plugins/Assetic.php index 954bb58da..f8ea1c2ef 100755 --- a/core/lib/Thelia/Core/Template/Smarty/Plugins/Assetic.php +++ b/core/lib/Thelia/Core/Template/Smarty/Plugins/Assetic.php @@ -58,7 +58,7 @@ class Assetic extends AbstractSmartyPlugin public function functionImage($params, \Smarty_Internal_Template $template) { - return $this->assetManager->computeAssetUrl(SmartyAssetsManager::ASSET_TYPE_AUTO, $params, $template); + return $this->assetManager->computeAssetUrl(SmartyAssetsManager::ASSET_TYPE_AUTO, $params, $template); } /** diff --git a/core/lib/Thelia/Core/Template/Smarty/Plugins/DataAccessFunctions.php b/core/lib/Thelia/Core/Template/Smarty/Plugins/DataAccessFunctions.php index 93ef84e58..d9f08bbdf 100644 --- a/core/lib/Thelia/Core/Template/Smarty/Plugins/DataAccessFunctions.php +++ b/core/lib/Thelia/Core/Template/Smarty/Plugins/DataAccessFunctions.php @@ -35,24 +35,24 @@ use Thelia\Core\Template\Smarty\SmartyPluginDescriptor; */ class DataAccessFunctions extends AbstractSmartyPlugin { - private $securityContext; - protected $parserContext; + private $securityContext; + protected $parserContext; - public function __construct(SecurityContext $securityContext, ParserContext $parserContext) - { - $this->securityContext = $securityContext; - } + public function __construct(SecurityContext $securityContext, ParserContext $parserContext) + { + $this->securityContext = $securityContext; + } /** * Provides access to the current logged administrator attributes using the accessors. * - * @param array $params + * @param array $params * @param unknown $smarty - * @return string the value of the requested attribute + * @return string the value of the requested attribute */ public function adminDataAccess($params, &$smarty) { - return $this->userDataAccess("Admin User", SecurityContext::CONTEXT_BACK_OFFICE, $params); + return $this->userDataAccess("Admin User", SecurityContext::CONTEXT_BACK_OFFICE, $params); } /** @@ -64,38 +64,37 @@ class DataAccessFunctions extends AbstractSmartyPlugin */ public function customerDataAccess($params, &$smarty) { - return $this->userDataAccess("Customer User", SecurityContext::CONTEXT_FRONT_OFFICE, $params); + return $this->userDataAccess("Customer User", SecurityContext::CONTEXT_FRONT_OFFICE, $params); } - /** * Provides access to user attributes using the accessors. * - * @param array $params - * @param unknown $smarty - * @return string the value of the requested attribute + * @param array $params + * @param unknown $smarty + * @return string the value of the requested attribute * @throws InvalidArgumentException if the object does not have the requested attribute. */ protected function userDataAccess($objectLabel, $context, $params) { - $attribute = $this->getNormalizedParam($params, array('attribute', 'attrib', 'attr')); + $attribute = $this->getNormalizedParam($params, array('attribute', 'attrib', 'attr')); - if (! empty($attribute)) { - $user = $this->securityContext->setContext($context)->getUser(); + if (! empty($attribute)) { + $user = $this->securityContext->setContext($context)->getUser(); - if (null != $user) { - $getter = sprintf("get%s", ucfirst($attribute)); + if (null != $user) { + $getter = sprintf("get%s", ucfirst($attribute)); - if (method_exists($user, $getter)) { - return $user->$getter(); - } + if (method_exists($user, $getter)) { + return $user->$getter(); + } - throw new \InvalidArgumentException(sprintf("%s has no '%s' attribute", $objectLabel, $attribute)); + throw new \InvalidArgumentException(sprintf("%s has no '%s' attribute", $objectLabel, $attribute)); - } - } + } + } - return ''; + return ''; } /** * Define the various smarty plugins hendled by this class diff --git a/core/lib/Thelia/Core/Template/Smarty/Plugins/Form.php b/core/lib/Thelia/Core/Template/Smarty/Plugins/Form.php index 24d58a7da..5216dbfbe 100755 --- a/core/lib/Thelia/Core/Template/Smarty/Plugins/Form.php +++ b/core/lib/Thelia/Core/Template/Smarty/Plugins/Form.php @@ -28,7 +28,6 @@ use Thelia\Core\Template\Element\Exception\ElementNotFoundException; use Symfony\Component\HttpFoundation\Request; use Thelia\Core\Template\Smarty\SmartyPluginDescriptor; use Thelia\Core\Template\Smarty\AbstractSmartyPlugin; -use Thelia\Log\Tlog; use Thelia\Core\Template\ParserContext; /** @@ -85,7 +84,7 @@ class Form extends AbstractSmartyPlugin { if ($repeat) { - $name = $this->getParam($params, 'name'); + $name = $this->getParam($params, 'name'); if (null == $name) { throw new \InvalidArgumentException("Missing 'name' parameter in form arguments"); @@ -98,11 +97,11 @@ class Form extends AbstractSmartyPlugin if (null != $errorForm && $errorForm->getName() == $instance->getName()) { - // Re-use the errored form - $instance = $errorForm; + // Re-use the errored form + $instance = $errorForm; - // Don't do that, as we may want to use this form firther in the template code - //$this->parserContext->clearErrorForm(); + // Don't do that, as we may want to use this form firther in the template code + //$this->parserContext->clearErrorForm(); } $instance->createView(); @@ -111,8 +110,7 @@ class Form extends AbstractSmartyPlugin $template->assign("form_error", $instance->hasError() ? true : false); $template->assign("form_error_message", $instance->getErrorMessage()); - } - else { + } else { return $content; } } @@ -121,7 +119,7 @@ class Form extends AbstractSmartyPlugin { if ($repeat) { - $formFieldView = $this->getFormFieldView($params); + $formFieldView = $this->getFormFieldView($params); $template->assign("options", $formFieldView->vars); $template->assign("name", $formFieldView->vars["full_name"]); @@ -133,7 +131,7 @@ class Form extends AbstractSmartyPlugin $template->assign("error", empty($errors) ? false : true); if (! empty($errors)) { - $this->assignFieldErrorVars($template, $errors); + $this->assignFieldErrorVars($template, $errors); } $attr = array(); @@ -145,8 +143,7 @@ class Form extends AbstractSmartyPlugin $template->assign("attr", implode(" ", $attr)); $formFieldView->setRendered(); - } - else { + } else { return $content; } } @@ -155,7 +152,7 @@ class Form extends AbstractSmartyPlugin { $field = ''; - $instance = $this->getInstanceFromParams($params); + $instance = $this->getInstanceFromParams($params); $formView = $instance->getView(); @@ -172,7 +169,7 @@ class Form extends AbstractSmartyPlugin public function formEnctype($params, \Smarty_Internal_Template $template) { - $instance = $this->getInstanceFromParams($params); + $instance = $this->getInstanceFromParams($params); $formView = $instance->getForm(); @@ -183,18 +180,17 @@ class Form extends AbstractSmartyPlugin public function formError($params, $content, \Smarty_Internal_Template $template, &$repeat) { - $formFieldView = $this->getFormFieldView($params); + $formFieldView = $this->getFormFieldView($params); - $errors = $formFieldView->vars["errors"]; + $errors = $formFieldView->vars["errors"]; if (empty($errors)) { return ""; } if ($repeat) { - $this->assignFieldErrorVars($template, $errors); - } - else { + $this->assignFieldErrorVars($template, $errors); + } else { return $content; } } @@ -202,45 +198,46 @@ class Form extends AbstractSmartyPlugin protected function assignFieldErrorVars(\Smarty_Internal_Template $template, array $errors) { - $template->assign("message", $errors[0]->getMessage()); - $template->assign("parameters", $errors[0]->getMessageParameters()); - $template->assign("pluralization", $errors[0]->getMessagePluralization()); + $template->assign("message", $errors[0]->getMessage()); + $template->assign("parameters", $errors[0]->getMessageParameters()); + $template->assign("pluralization", $errors[0]->getMessagePluralization()); } protected function isHidden(FormView $formView) { - return array_search("hidden", $formView->vars["block_prefixes"]); + return array_search("hidden", $formView->vars["block_prefixes"]); } - protected function getFormFieldView($params) { - $instance = $this->getInstanceFromParams($params); + protected function getFormFieldView($params) + { + $instance = $this->getInstanceFromParams($params); - $fieldName = $this->getParam($params, 'field'); + $fieldName = $this->getParam($params, 'field'); - if (null == $fieldName) - throw new \InvalidArgumentException("'field' parameter is missing"); + if (null == $fieldName) + throw new \InvalidArgumentException("'field' parameter is missing"); if (empty($instance->getView()[$fieldName])) - throw new \InvalidArgumentException(sprintf("Field name '%s' not found in form %s", $fieldName, $instance->getName())); + throw new \InvalidArgumentException(sprintf("Field name '%s' not found in form %s", $fieldName, $instance->getName())); return $instance->getView()[$fieldName]; } - protected function getInstanceFromParams($params) { + protected function getInstanceFromParams($params) + { + $instance = $this->getParam($params, 'form'); - $instance = $this->getParam($params, 'form'); + if (null == $instance) { + throw new \InvalidArgumentException("Missing 'form' parameter in form arguments"); + } - if (null == $instance) { - throw new \InvalidArgumentException("Missing 'form' parameter in form arguments"); - } - - if (! $instance instanceof \Thelia\Form\BaseForm) { - throw new \InvalidArgumentException(sprintf("form parameter in form_field block must be an instance of + if (! $instance instanceof \Thelia\Form\BaseForm) { + throw new \InvalidArgumentException(sprintf("form parameter in form_field block must be an instance of \Thelia\Form\BaseForm, instance of %s found", get_class($instance))); - } + } - return $instance; + return $instance; } protected function createInstance($name) diff --git a/core/lib/Thelia/Core/Template/Smarty/Plugins/Security.php b/core/lib/Thelia/Core/Template/Smarty/Plugins/Security.php index c1d12feb1..eb19d97f5 100755 --- a/core/lib/Thelia/Core/Template/Smarty/Plugins/Security.php +++ b/core/lib/Thelia/Core/Template/Smarty/Plugins/Security.php @@ -25,54 +25,53 @@ namespace Thelia\Core\Template\Smarty\Plugins; use Thelia\Core\Template\Smarty\SmartyPluginDescriptor; use Thelia\Core\Template\Smarty\AbstractSmartyPlugin; -use Thelia\Core\Template\Smarty\Assets\SmartyAssetsManager; use Thelia\Core\Security\SecurityContext; use Thelia\Core\Security\Exception\AuthenticationException; class Security extends AbstractSmartyPlugin { - private $securityContext; + private $securityContext; - public function __construct(SecurityContext $securityContext) - { - $this->securityContext = $securityContext; - } + public function __construct(SecurityContext $securityContext) + { + $this->securityContext = $securityContext; + } /** * Process security check function * - * @param array $params + * @param array $params * @param unknown $smarty - * @return string no text is returned. + * @return string no text is returned. */ public function checkAuthFunction($params, &$smarty) { - // Context: 'front' or 'admin' - $context = $this->getNormalizedParam($params, 'context'); + // Context: 'front' or 'admin' + $context = $this->getNormalizedParam($params, 'context'); - $this->securityContext->setContext($context); + $this->securityContext->setContext($context); - $roles = $this->_explode($this->getParam($params, 'roles')); - $permissions = $this->_explode($this->getParam($params, 'permissions')); + $roles = $this->_explode($this->getParam($params, 'roles')); + $permissions = $this->_explode($this->getParam($params, 'permissions')); - if (! $this->securityContext->isGranted($roles, $permissions)) { + if (! $this->securityContext->isGranted($roles, $permissions)) { - $ex = new AuthenticationException( - sprintf("User not granted for roles '%s', permissions '%s' in context '%s'.", - implode(',', $roles), implode(',', $permissions), $context - ) - ); + $ex = new AuthenticationException( + sprintf("User not granted for roles '%s', permissions '%s' in context '%s'.", + implode(',', $roles), implode(',', $permissions), $context + ) + ); - $loginTpl = $this->getParam($params, 'login_tpl'); + $loginTpl = $this->getParam($params, 'login_tpl'); - if (null != $loginTpl) { - $ex->setLoginTemplate($loginTpl); - } + if (null != $loginTpl) { + $ex->setLoginTemplate($loginTpl); + } - throw $ex; - } + throw $ex; + } - return ''; + return ''; } /** diff --git a/core/lib/Thelia/Core/Template/Smarty/Plugins/TheliaLoop.php b/core/lib/Thelia/Core/Template/Smarty/Plugins/TheliaLoop.php index e1eefedb0..a6eaa2e56 100755 --- a/core/lib/Thelia/Core/Template/Smarty/Plugins/TheliaLoop.php +++ b/core/lib/Thelia/Core/Template/Smarty/Plugins/TheliaLoop.php @@ -61,7 +61,7 @@ class TheliaLoop extends AbstractSmartyPlugin */ public static function getPagination($loopId) { - if(!empty(self::$pagination[$loopId])) { + if (!empty(self::$pagination[$loopId])) { return self::$pagination[$loopId]; } else { return null; @@ -73,18 +73,18 @@ class TheliaLoop extends AbstractSmartyPlugin */ public function theliaCount($params, $template) { - $type = $this->getParam($params, 'type'); + $type = $this->getParam($params, 'type'); - if (null == $type) + if (null == $type) throw new \InvalidArgumentException("Missing 'type' parameter in count arguments"); $loop = $this->createLoopInstance($params); $dummy = null; - $loopResults = $loop->exec($dummy); + $loopResults = $loop->exec($dummy); - return $loopResults->valid() ? $loopResults->getCount() : 0; + return $loopResults->valid() ? $loopResults->getCount() : 0; } /** @@ -99,7 +99,7 @@ class TheliaLoop extends AbstractSmartyPlugin */ public function theliaLoop($params, $content, $template, &$repeat) { - $name = $this->getParam($params, 'name'); + $name = $this->getParam($params, 'name'); if (null == $name) throw new \InvalidArgumentException("Missing 'name' parameter in loop arguments"); @@ -112,14 +112,14 @@ class TheliaLoop extends AbstractSmartyPlugin if ($content === null) { // Check if a loop with the same name exists in the current scope, and abort if it's the case. if (array_key_exists($name, $this->varstack)) { - throw new \InvalidArgumentException("A loop named '$name' already exists in the current scope."); + throw new \InvalidArgumentException("A loop named '$name' already exists in the current scope."); } $loop = $this->createLoopInstance($params); self::$pagination[$name] = null; - $loopResults = $loop->exec(self::$pagination[$name]); + $loopResults = $loop->exec(self::$pagination[$name]); $this->loopstack[$name] = $loopResults; @@ -144,35 +144,35 @@ class TheliaLoop extends AbstractSmartyPlugin $varlist[] = 'LOOP_COUNT'; $varlist[] = 'LOOP_TOTAL'; - foreach($varlist as $var) { + foreach ($varlist as $var) { $saved_vars[$var] = $template->getTemplateVars($var); } $this->varstack[$name] = $saved_vars; } - foreach($loopResultRow->getVarVal() as $var => $val) { - $template->assign($var, $val); - } + foreach ($loopResultRow->getVarVal() as $var => $val) { + $template->assign($var, $val); + } - $repeat = true; - } + $repeat = true; + } // Assign meta information $template->assign('LOOP_COUNT', 1 + $loopResults->key()); $template->assign('LOOP_TOTAL', $loopResults->getCount()); - // Loop is terminated. Cleanup. - if (! $repeat) { - // Restore previous variables values before terminating - if (isset($this->varstack[$name])) { - foreach($this->varstack[$name] as $var => $value) { - $template->assign($var, $value); - } + // Loop is terminated. Cleanup. + if (! $repeat) { + // Restore previous variables values before terminating + if (isset($this->varstack[$name])) { + foreach ($this->varstack[$name] as $var => $value) { + $template->assign($var, $value); + } - unset($this->varstack[$name]); - } - } + unset($this->varstack[$name]); + } + } if ($content !== null) { if ($loopResults->isEmpty()) { @@ -195,10 +195,10 @@ class TheliaLoop extends AbstractSmartyPlugin public function theliaElseloop($params, $content, $template, &$repeat) { - // When encoutering close tag, check if loop has results. - if ($repeat === false) { - return $this->checkEmptyLoop($params, $template) ? $content : ''; - } + // When encoutering close tag, check if loop has results. + if ($repeat === false) { + return $this->checkEmptyLoop($params, $template) ? $content : ''; + } } /** @@ -212,10 +212,10 @@ class TheliaLoop extends AbstractSmartyPlugin */ public function theliaIfLoop($params, $content, $template, &$repeat) { - // When encountering close tag, check if loop has results. - if ($repeat === false) { - return $this->checkEmptyLoop($params, $template) ? '' : $content; - } + // When encountering close tag, check if loop has results. + if ($repeat === false) { + return $this->checkEmptyLoop($params, $template) ? '' : $content; + } } /** @@ -231,7 +231,7 @@ class TheliaLoop extends AbstractSmartyPlugin */ public function theliaPageLoop($params, $content, $template, &$repeat) { - $loopName = $this->getParam($params, 'rel'); + $loopName = $this->getParam($params, 'rel'); if (null == $loopName) throw new \InvalidArgumentException("Missing 'rel' parameter in page loop"); @@ -248,7 +248,7 @@ class TheliaLoop extends AbstractSmartyPlugin throw new \InvalidArgumentException("Loop $loopName is not defined"); } - if($pagination->getNbResults() == 0) { + if ($pagination->getNbResults() == 0) { return ''; } @@ -282,10 +282,10 @@ class TheliaLoop extends AbstractSmartyPlugin */ protected function checkEmptyLoop($params, $template) { - $loopName = $this->getParam($params, 'rel'); + $loopName = $this->getParam($params, 'rel'); - if (null == $loopName) - throw new \InvalidArgumentException("Missing 'rel' parameter in ifloop/elseloop arguments"); + if (null == $loopName) + throw new \InvalidArgumentException("Missing 'rel' parameter in ifloop/elseloop arguments"); if (! isset($this->loopstack[$loopName])) { throw new \InvalidArgumentException("Loop $loopName is not defined."); @@ -298,14 +298,14 @@ class TheliaLoop extends AbstractSmartyPlugin * * find the loop class with his name and construct an instance of this class * - * @param string $name + * @param string $name * @return \Thelia\Core\Template\Element\BaseLoop * @throws InvalidElementException * @throws ElementNotFoundException */ protected function createLoopInstance($smartyParams) { - $type = strtolower($smartyParams['type']); + $type = strtolower($smartyParams['type']); if (! isset($this->loopDefinition[$type])) { throw new ElementNotFoundException(sprintf("%s loop does not exists", $type)); @@ -321,7 +321,7 @@ class TheliaLoop extends AbstractSmartyPlugin $loop = $class->newInstance( $this->request, $this->dispatcher, - $this->securityContext + $this->securityContext ); $loop->initializeArgs($smartyParams); @@ -367,11 +367,11 @@ class TheliaLoop extends AbstractSmartyPlugin { return array( - new SmartyPluginDescriptor('function', 'count' , $this, 'theliaCount'), - new SmartyPluginDescriptor('block' , 'loop' , $this, 'theliaLoop'), - new SmartyPluginDescriptor('block' , 'elseloop' , $this, 'theliaElseloop'), - new SmartyPluginDescriptor('block' , 'ifloop' , $this, 'theliaIfLoop'), - new SmartyPluginDescriptor('block' , 'pageloop' , $this, 'theliaPageLoop'), + new SmartyPluginDescriptor('function', 'count' , $this, 'theliaCount'), + new SmartyPluginDescriptor('block' , 'loop' , $this, 'theliaLoop'), + new SmartyPluginDescriptor('block' , 'elseloop' , $this, 'theliaElseloop'), + new SmartyPluginDescriptor('block' , 'ifloop' , $this, 'theliaIfLoop'), + new SmartyPluginDescriptor('block' , 'pageloop' , $this, 'theliaPageLoop'), ); } } diff --git a/core/lib/Thelia/Core/Template/Smarty/Plugins/TheliaSyntax.php b/core/lib/Thelia/Core/Template/Smarty/Plugins/TheliaSyntax.php index 7881941ac..268055064 100755 --- a/core/lib/Thelia/Core/Template/Smarty/Plugins/TheliaSyntax.php +++ b/core/lib/Thelia/Core/Template/Smarty/Plugins/TheliaSyntax.php @@ -35,7 +35,7 @@ class TheliaSyntax extends AbstractSmartyPlugin { public function dieseCancel($value, $diese) { - if($value === null) { + if ($value === null) { return $diese; } diff --git a/core/lib/Thelia/Core/Template/Smarty/Plugins/Translation.php b/core/lib/Thelia/Core/Template/Smarty/Plugins/Translation.php index 43118b218..be319b73b 100755 --- a/core/lib/Thelia/Core/Template/Smarty/Plugins/Translation.php +++ b/core/lib/Thelia/Core/Template/Smarty/Plugins/Translation.php @@ -29,11 +29,12 @@ use Symfony\Component\Translation\TranslatorInterface; class Translation extends AbstractSmartyPlugin { - protected $translator; + protected $translator; - public function __construct(TranslatorInterface $translator) { - $this->translator = $translator; - } + public function __construct(TranslatorInterface $translator) + { + $this->translator = $translator; + } /** * Process translate function @@ -44,15 +45,15 @@ class Translation extends AbstractSmartyPlugin */ public function translate($params, &$smarty) { - // All parameters other than 'l' are supposed to be variables. Build an array of var => value pairs - // and pass it to the translator - $vars = array(); + // All parameters other than 'l' are supposed to be variables. Build an array of var => value pairs + // and pass it to the translator + $vars = array(); - foreach($params as $name => $value) { - if ($name != 'l') $vars["%$name"] = $value; - } + foreach ($params as $name => $value) { + if ($name != 'l') $vars["%$name"] = $value; + } - return $this->translator->trans($this->getParam($params, 'l'), $vars); + return $this->translator->trans($this->getParam($params, 'l'), $vars); } /** diff --git a/core/lib/Thelia/Core/Template/Smarty/Plugins/UrlGenerator.php b/core/lib/Thelia/Core/Template/Smarty/Plugins/UrlGenerator.php index ea39b6378..b3814f088 100644 --- a/core/lib/Thelia/Core/Template/Smarty/Plugins/UrlGenerator.php +++ b/core/lib/Thelia/Core/Template/Smarty/Plugins/UrlGenerator.php @@ -37,25 +37,24 @@ class UrlGenerator extends AbstractSmartyPlugin $this->request = $request; } - /** + /** * Process url generator function * - * @param array $params + * @param array $params * @param unknown $smarty - * @return string no text is returned. + * @return string no text is returned. */ public function generateUrlFunction($params, &$smarty) { - // the path to process - $path = $this->getParam($params, 'path'); + // the path to process + $path = $this->getParam($params, 'path'); - $target = $this->getParam($params, 'target', null); + $target = $this->getParam($params, 'target', null); - $url = URL::absoluteUrl($path, $this->getArgsFromParam($params, array('path', 'target'))); + $url = URL::absoluteUrl($path, $this->getArgsFromParam($params, array('path', 'target'))); - if ($target != null) $url .= '#'.$target; - - return $url; + if ($target != null) $url .= '#'.$target; + return $url; } /** @@ -67,7 +66,7 @@ class UrlGenerator extends AbstractSmartyPlugin */ public function generateFrontViewUrlFunction($params, &$smarty) { - return $this->generateViewUrlFunction($params, false); + return $this->generateViewUrlFunction($params, false); } /** @@ -79,22 +78,21 @@ class UrlGenerator extends AbstractSmartyPlugin */ public function generateAdminViewUrlFunction($params, &$smarty) { - return $this->generateViewUrlFunction($params, true); + return $this->generateViewUrlFunction($params, true); } protected function generateViewUrlFunction($params, $forAdmin) { - // the view name (without .html) - $view = $this->getParam($params,'view'); + // the view name (without .html) + $view = $this->getParam($params,'view'); - // the related action (optionale) - $action = $this->getParam($params, 'action'); + // the related action (optionale) + $action = $this->getParam($params, 'action'); - $args = $this->getArgsFromParam($params, array('view', 'action', 'target')); + $args = $this->getArgsFromParam($params, array('view', 'action', 'target')); - if (! empty($action)) $args['action'] = $action; - - return $forAdmin ? URL::adminViewUrl($view, $args) : URL::viewUrl($view, $args); + if (! empty($action)) $args['action'] = $action; + return $forAdmin ? URL::adminViewUrl($view, $args) : URL::viewUrl($view, $args); } /** @@ -103,18 +101,18 @@ class UrlGenerator extends AbstractSmartyPlugin * @param array $params Smarty function params * @return array the parameters array (either emply, of valued) */ - private function getArgsFromParam($params, $exclude = array()) { + private function getArgsFromParam($params, $exclude = array()) + { + $pairs = array(); - $pairs = array(); + foreach ($params as $name => $value) { - foreach($params as $name => $value) { + if (in_array($name, $exclude)) continue; - if (in_array($name, $exclude)) continue; + $pairs[$name] = $value; + } - $pairs[$name] = $value; - } - - return $pairs; + return $pairs; } /** diff --git a/core/lib/Thelia/Core/Template/Smarty/SmartyParser.php b/core/lib/Thelia/Core/Template/Smarty/SmartyParser.php index 65b82d88f..ed74fe3f0 100755 --- a/core/lib/Thelia/Core/Template/Smarty/SmartyParser.php +++ b/core/lib/Thelia/Core/Template/Smarty/SmartyParser.php @@ -41,8 +41,8 @@ class SmartyParser extends Smarty implements ParserInterface * @param bool $debug */ public function __construct( - Request $request, EventDispatcherInterface $dispatcher, ParserContext $parserContext, - $template = false, $env = "prod", $debug = false) + Request $request, EventDispatcherInterface $dispatcher, ParserContext $parserContext, + $template = false, $env = "prod", $debug = false) { parent::__construct(); @@ -69,7 +69,7 @@ class SmartyParser extends Smarty implements ParserInterface $this->error_reporting = E_ALL ^ E_NOTICE; // 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 === false) { + if ($debug === false) { $this->caching = Smarty::CACHING_LIFETIME_CURRENT; $this->cache_lifetime = 300; $this->compile_check = true; @@ -87,15 +87,15 @@ class SmartyParser extends Smarty implements ParserInterface public function preThelia($tpl_source, \Smarty_Internal_Template $template) { - $new_source = preg_replace('`{#([a-zA-Z][a-zA-Z0-9\-_]*)(.*)}`', '{\$$1$2}', $tpl_source); - $new_source = preg_replace('`#([a-zA-Z][a-zA-Z0-9\-_]*)`', '{\$$1|dieseCanceller:\'#$1\'}', $new_source); + $new_source = preg_replace('`{#([a-zA-Z][a-zA-Z0-9\-_]*)(.*)}`', '{\$$1$2}', $tpl_source); + $new_source = preg_replace('`#([a-zA-Z][a-zA-Z0-9\-_]*)`', '{\$$1|dieseCanceller:\'#$1\'}', $new_source); - return $new_source; + return $new_source; } public function removeBlankLines($tpl_source, \Smarty_Internal_Template $template) { - return preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $tpl_source); + return preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $tpl_source); } public function setTemplate($template_path_from_template_base) @@ -119,10 +119,10 @@ class SmartyParser extends Smarty implements ParserInterface */ public function render($realTemplateName, array $parameters = array()) { - // Assign the parserContext variables - foreach($this->parserContext as $var => $value) { - $this->assign($var, $value); - } + // Assign the parserContext variables + foreach ($this->parserContext as $var => $value) { + $this->assign($var, $value); + } $this->assign($parameters); @@ -138,8 +138,7 @@ class SmartyParser extends Smarty implements ParserInterface { try { $templateFile = $this->getTemplateFilePath(); - } - catch(\RuntimeException $e) { + } catch (\RuntimeException $e) { return new Response($e->getMessage(), "404"); } @@ -219,7 +218,7 @@ class SmartyParser extends Smarty implements ParserInterface if (!file_exists($fileName)) { $fileName .= ".html"; - if(!file_exists($fileName)) { + if (!file_exists($fileName)) { throw new ResourceNotFoundException(sprintf("%s file not found in %s template", $file, $this->template)); } } diff --git a/core/lib/Thelia/Core/Thelia.php b/core/lib/Thelia/Core/Thelia.php index 238c0df3b..54a3fd13c 100755 --- a/core/lib/Thelia/Core/Thelia.php +++ b/core/lib/Thelia/Core/Thelia.php @@ -39,7 +39,6 @@ use Symfony\Component\Yaml\Yaml; use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag; use Thelia\Core\Bundle; -use Thelia\Core\DependencyInjection\Loader\CollectionXmlFileLoader; use Thelia\Log\Tlog; use Thelia\Config\DatabaseConfiguration; use Thelia\Config\DefinePropel; diff --git a/core/lib/Thelia/Core/TheliaHttpKernel.php b/core/lib/Thelia/Core/TheliaHttpKernel.php index 6cbed2658..b34eb4bed 100755 --- a/core/lib/Thelia/Core/TheliaHttpKernel.php +++ b/core/lib/Thelia/Core/TheliaHttpKernel.php @@ -131,17 +131,17 @@ class TheliaHttpKernel extends HttpKernel } /** - * @param Request $request + * @param Request $request * @return null|\Thelia\Model\Lang */ protected function detectLang(Request $request) { $lang = null; //first priority => lang parameter present in request (get or post) - if($request->query->has("lang")) { + if ($request->query->has("lang")) { $lang = Model\LangQuery::create()->findOneByCode($request->query->get("lang")); - if(is_null($lang)) { + if (is_null($lang)) { return; } diff --git a/core/lib/Thelia/Core/Translation/Translator.php b/core/lib/Thelia/Core/Translation/Translator.php index f884b0c98..83114d478 100644 --- a/core/lib/Thelia/Core/Translation/Translator.php +++ b/core/lib/Thelia/Core/Translation/Translator.php @@ -3,26 +3,26 @@ namespace Thelia\Core\Translation; use Symfony\Component\Translation\Translator as BaseTranslator; -class Translator extends BaseTranslator { +class Translator extends BaseTranslator +{ + /** + * {@inheritdoc} + * + * @api + */ + public function trans($id, array $parameters = array(), $domain = 'messages', $locale = null) + { + if (null === $locale) { + $locale = $this->getLocale(); + } - /** - * {@inheritdoc} - * - * @api - */ - public function trans($id, array $parameters = array(), $domain = 'messages', $locale = null) - { - if (null === $locale) { - $locale = $this->getLocale(); - } + if (!isset($this->catalogues[$locale])) { + $this->loadCatalogue($locale); + } - if (!isset($this->catalogues[$locale])) { - $this->loadCatalogue($locale); - } - - if ($this->catalogues[$locale]->has((string) $id, $domain)) - return parent::trans($id, $parameters, $domain = 'messages', $locale = null); - else - return strtr($id, $parameters); - } -} \ No newline at end of file + if ($this->catalogues[$locale]->has((string) $id, $domain)) + return parent::trans($id, $parameters, $domain = 'messages', $locale = null); + else + return strtr($id, $parameters); + } +} diff --git a/core/lib/Thelia/Exception/InvalidCartException.php b/core/lib/Thelia/Exception/InvalidCartException.php index 7eceb47d0..67269df7b 100644 --- a/core/lib/Thelia/Exception/InvalidCartException.php +++ b/core/lib/Thelia/Exception/InvalidCartException.php @@ -21,10 +21,8 @@ /* */ /*************************************************************************************/ - namespace Thelia\Exception; - -class InvalidCartException extends \RuntimeException { - -} \ No newline at end of file +class InvalidCartException extends \RuntimeException +{ +} diff --git a/core/lib/Thelia/Form/AdminLogin.php b/core/lib/Thelia/Form/AdminLogin.php index 8644492b1..88b9964e4 100755 --- a/core/lib/Thelia/Form/AdminLogin.php +++ b/core/lib/Thelia/Form/AdminLogin.php @@ -22,13 +22,11 @@ /*************************************************************************************/ namespace Thelia\Form; - use Symfony\Component\Validator\Constraints\Length; use Symfony\Component\Validator\Constraints\NotBlank; -use Symfony\Component\Validator\Constraints\Choice; - -class AdminLogin extends BaseForm { +class AdminLogin extends BaseForm +{ protected function buildForm() { $this->formBuilder @@ -40,11 +38,11 @@ class AdminLogin extends BaseForm { )) ->add("password", "password", array( "constraints" => array( - new NotBlank() + new NotBlank() ) )) ->add("remember_me", "checkbox", array( - 'value' => 'yes' + 'value' => 'yes' )) ; } diff --git a/core/lib/Thelia/Form/BaseForm.php b/core/lib/Thelia/Form/BaseForm.php index 3ad55e213..e6a62defa 100755 --- a/core/lib/Thelia/Form/BaseForm.php +++ b/core/lib/Thelia/Form/BaseForm.php @@ -24,7 +24,6 @@ namespace Thelia\Form; use Symfony\Component\Form\Extension\Validator\ValidatorExtension; use Symfony\Component\Form\Forms; -use Symfony\Component\HttpFoundation\Session\Session; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Form\Extension\HttpFoundation\HttpFoundationExtension; use Symfony\Component\Form\Extension\Csrf\CsrfExtension; @@ -33,7 +32,8 @@ use Symfony\Component\Validator\Validation; use Thelia\Model\ConfigQuery; use Thelia\Tools\URL; -abstract class BaseForm { +abstract class BaseForm +{ /** * @var \Symfony\Component\Form\FormFactoryInterface */ @@ -46,33 +46,33 @@ abstract class BaseForm { protected $request; - private $view = null; + private $view = null; - /** - * true if the form has an error, false otherwise. - * @var boolean - */ - private $has_error = false; + /** + * true if the form has an error, false otherwise. + * @var boolean + */ + private $has_error = false; - /** - * The form error message. - * @var string - */ - private $error_message = ''; + /** + * The form error message. + * @var string + */ + private $error_message = ''; public function __construct(Request $request, $type= "form", $data = array(), $options = array()) { - $this->request = $request; + $this->request = $request; $validator = Validation::createValidator(); - if(!isset($options["attr"]["name"])) { + if (!isset($options["attr"]["name"])) { $options["attr"]["thelia_name"] = $this->getName(); } $builder = Forms::createFormFactoryBuilder() ->addExtension(new HttpFoundationExtension()); - if(!isset($options["csrf_protection"]) || $options["csrf_protection"] !== false) { + if (!isset($options["csrf_protection"]) || $options["csrf_protection"] !== false) { $builder->addExtension( new CsrfExtension( new SessionCsrfProvider( @@ -92,14 +92,15 @@ abstract class BaseForm { // If not already set, define the success_url field if (! $this->formBuilder->has('success_url')) { - $this->formBuilder->add("success_url", "text"); + $this->formBuilder->add("success_url", "text"); } $this->form = $this->formBuilder->getForm(); } - public function getRequest() { - return $this->request; + public function getRequest() + { + return $this->request; } protected function cleanOptions($options) @@ -116,28 +117,29 @@ abstract class BaseForm { * * @return string an absolute URL */ - public function getSuccessUrl($default = null) { + public function getSuccessUrl($default = null) + { + $successUrl = $this->form->get('success_url')->getData(); - $successUrl = $this->form->get('success_url')->getData(); + if (empty($successUrl)) { - if (empty($successUrl)) { + if ($default === null) $default = ConfigQuery::read('base_url', '/'); - if ($default === null) $default = ConfigQuery::read('base_url', '/'); + $successUrl = $default; + } - $successUrl = $default; - } - - return URL::absoluteUrl($successUrl); + return URL::absoluteUrl($successUrl); } - public function createView() { - $this->view = $this->form->createView(); + public function createView() + { + $this->view = $this->form->createView(); } - public function getView() { - if ($this->view === null) throw new \LogicException("View was not created. Please call BaseForm::createView() first."); - - return $this->view; + public function getView() + { + if ($this->view === null) throw new \LogicException("View was not created. Please call BaseForm::createView() first."); + return $this->view; } // -- Error and errro message ---------------------------------------------- @@ -149,7 +151,7 @@ abstract class BaseForm { */ public function setError($has_error = true) { - $this->has_error = $has_error; + $this->has_error = $has_error; } /** @@ -159,7 +161,7 @@ abstract class BaseForm { */ public function hasError() { - return $this->has_error; + return $this->has_error; } /** @@ -169,7 +171,7 @@ abstract class BaseForm { */ public function setErrorMessage($message) { - $this->error_message = $message; + $this->error_message = $message; } /** @@ -179,7 +181,7 @@ abstract class BaseForm { */ public function getErrorMessage() { - return $this->error_message; + return $this->error_message; } /** @@ -217,4 +219,3 @@ abstract class BaseForm { */ abstract public function getName(); } - diff --git a/core/lib/Thelia/Form/CartAdd.php b/core/lib/Thelia/Form/CartAdd.php index 46db7868d..d738ab0f7 100644 --- a/core/lib/Thelia/Form/CartAdd.php +++ b/core/lib/Thelia/Form/CartAdd.php @@ -22,7 +22,6 @@ /*************************************************************************************/ namespace Thelia\Form; -use Propel\Runtime\ActiveQuery\Criteria; use Symfony\Component\Validator\Constraints; use Symfony\Component\Validator\ExecutionContextInterface; use Thelia\Action\Exception\StockNotFoundException; @@ -135,4 +134,4 @@ class CartAdd extends BaseForm { return "thelia_cart_add"; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Form/CategoryCreationForm.php b/core/lib/Thelia/Form/CategoryCreationForm.php index 11d2851d7..9935eec19 100644 --- a/core/lib/Thelia/Form/CategoryCreationForm.php +++ b/core/lib/Thelia/Form/CategoryCreationForm.php @@ -22,11 +22,10 @@ /*************************************************************************************/ namespace Thelia\Form; -use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Validator\Constraints\NotBlank; -class CategoryCreationForm extends BaseForm { - +class CategoryCreationForm extends BaseForm +{ protected function buildForm() { $this->formBuilder @@ -37,13 +36,13 @@ class CategoryCreationForm extends BaseForm { )) ->add("parent", "integer", array( "constraints" => array( - new NotBlank() + new NotBlank() ) )) ->add("locale", "text", array( - "constraints" => array( - new NotBlank() - ) + "constraints" => array( + new NotBlank() + ) )) ; } diff --git a/core/lib/Thelia/Form/CategoryDeletionForm.php b/core/lib/Thelia/Form/CategoryDeletionForm.php index 13d8a77e4..47c130fdd 100644 --- a/core/lib/Thelia/Form/CategoryDeletionForm.php +++ b/core/lib/Thelia/Form/CategoryDeletionForm.php @@ -22,17 +22,16 @@ /*************************************************************************************/ namespace Thelia\Form; -use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Validator\Constraints\NotBlank; -class CategoryDeletionForm extends BaseForm { - +class CategoryDeletionForm extends BaseForm +{ protected function buildForm() { $this->formBuilder ->add("category_id", "integer", array( "constraints" => array( - new NotBlank() + new NotBlank() ) )) ; @@ -42,4 +41,4 @@ class CategoryDeletionForm extends BaseForm { { return "thelia_category_deletion"; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Form/CustomerCreation.php b/core/lib/Thelia/Form/CustomerCreation.php index 5e2d1f78e..0d7172510 100755 --- a/core/lib/Thelia/Form/CustomerCreation.php +++ b/core/lib/Thelia/Form/CustomerCreation.php @@ -34,7 +34,7 @@ class CustomerCreation extends BaseForm { $this->formBuilder ->add("auto_login", "integer") - ->add("firstname", "text", array( + ->add("firstname", "text", array( "constraints" => array( new Constraints\NotBlank() ), @@ -163,4 +163,4 @@ class CustomerCreation extends BaseForm { return "thelia_customer_creation"; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Form/CustomerLogin.php b/core/lib/Thelia/Form/CustomerLogin.php index e61781ee3..12b5a2775 100644 --- a/core/lib/Thelia/Form/CustomerLogin.php +++ b/core/lib/Thelia/Form/CustomerLogin.php @@ -22,15 +22,11 @@ /*************************************************************************************/ namespace Thelia\Form; - -use Symfony\Component\Form\FormBuilderInterface; -use Symfony\Component\Validator\Constraints\Length; use Symfony\Component\Validator\Constraints\NotBlank; -use Symfony\Component\Validator\Constraints\Choice; use Symfony\Component\Validator\Constraints\Email; -class CustomerLogin extends BaseForm { - +class CustomerLogin extends BaseForm +{ protected function buildForm() { $this->formBuilder @@ -42,7 +38,7 @@ class CustomerLogin extends BaseForm { )) ->add("password", "password", array( "constraints" => array( - new NotBlank() + new NotBlank() ) )) ->add("remember_me", "checkbox") diff --git a/core/lib/Thelia/Form/CustomerModification.php b/core/lib/Thelia/Form/CustomerModification.php index 4a78b5327..8f5167d52 100755 --- a/core/lib/Thelia/Form/CustomerModification.php +++ b/core/lib/Thelia/Form/CustomerModification.php @@ -24,11 +24,9 @@ namespace Thelia\Form; use Symfony\Component\Validator\Constraints; -use Thelia\Model\Customer; - - -class CustomerModification extends BaseForm { +class CustomerModification extends BaseForm +{ /** * * in this function you add all the fields you need for your Form. @@ -53,7 +51,7 @@ class CustomerModification extends BaseForm { { $this->formBuilder - ->add('update_logged_in_user', 'boolean') // In a front office context, update the in-memory logged-in user data + ->add('update_logged_in_user', 'boolean') // In a front office context, update the in-memory logged-in user data ->add("firstname", "text", array( "constraints" => array( new Constraints\NotBlank() @@ -118,4 +116,4 @@ class CustomerModification extends BaseForm { { return "thelia_customer_modification"; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Log/AbstractTlogDestination.php b/core/lib/Thelia/Log/AbstractTlogDestination.php index 5241bcdd8..582f57934 100755 --- a/core/lib/Thelia/Log/AbstractTlogDestination.php +++ b/core/lib/Thelia/Log/AbstractTlogDestination.php @@ -38,7 +38,7 @@ abstract class AbstractTlogDestination { $this->_configs = array(); $this->_logs = array(); - + // Initialiser les variables de configuration $this->_configs = $this->getConfigs(); diff --git a/core/lib/Thelia/Log/Destination/TlogDestinationFile.php b/core/lib/Thelia/Log/Destination/TlogDestinationFile.php index 2f9a0e5bc..6d2da2b52 100755 --- a/core/lib/Thelia/Log/Destination/TlogDestinationFile.php +++ b/core/lib/Thelia/Log/Destination/TlogDestinationFile.php @@ -56,7 +56,7 @@ class TlogDestinationFile extends AbstractTlogDestination if (! is_dir($dir)) { mkdir($dir, 0777, true); } - + touch($file_path); chmod($file_path, 0777); } diff --git a/core/lib/Thelia/Log/Tlog.php b/core/lib/Thelia/Log/Tlog.php index 907c0d8e7..a2396d31b 100755 --- a/core/lib/Thelia/Log/Tlog.php +++ b/core/lib/Thelia/Log/Tlog.php @@ -54,7 +54,7 @@ class Tlog Implements LoggerInterface const ALERT = 700; const EMERGENCY = 800; const MUET = PHP_INT_MAX; - + protected $levels = array( 100 => "DEBUG", 200 => "INFO", @@ -101,15 +101,16 @@ class Tlog Implements LoggerInterface public $dir_destinations = array(); /** - * + * */ private function __construct(){} /** - * + * * @return \Thelia\Log\Tlog */ - public static function getInstance() { + public static function getInstance() + { if (self::$instance == false) { self::$instance = new Tlog(); @@ -149,7 +150,7 @@ class Tlog Implements LoggerInterface // ------------- /** - * + * * @param string $destinations */ public function setDestinations($destinations) @@ -162,11 +163,11 @@ class Tlog Implements LoggerInterface $this->loadDestinations($this->destinations, $classes_destinations); } } - + /** - * + * * change the debug level. Use Tlog constant : \Thelia\Log\Tlog::DEBUG set level to Debug - * + * * @param int $level */ public function setLevel($level) @@ -221,26 +222,26 @@ class Tlog Implements LoggerInterface /** * Detailed debug information. * - * @param string $message - * @param array $context + * @param string $message + * @param array $context * @return null */ public function debug($message, array $context = array()) { $this->log(self::DEBUG, $message, $context); } - + /** - * + * * Alias of debug method. With this method you can put all parameter you want - * + * * ex : Tlog::getInstance()->addDebug($arg1, $arg2, $arg3); - * + * */ public function addDebug() { $args = func_get_args(); - + foreach ($args as $arg) { $this->log(self::DEBUG, $arg); } @@ -251,54 +252,54 @@ class Tlog Implements LoggerInterface * * Example: User logs in, SQL logs. * - * @param string $message - * @param array $context + * @param string $message + * @param array $context * @return null */ public function info($message, array $context = array()) { $this->log(self::INFO, $message, $context); } - + /** - * + * * Alias of info method. With this method you can put all parameter you want - * + * * ex : Tlog::getInstance()->addInfo($arg1, $arg2, $arg3); - * + * */ public function addInfo() { $args = func_get_args(); - + foreach ($args as $arg) { $this->log(self::INFO, $arg); } } - + /** * Normal but significant events. * - * @param string $message - * @param array $context + * @param string $message + * @param array $context * @return null */ public function notice($message, array $context = array()) { $this->log(self::NOTICE, $message, $context); } - + /** - * + * * Alias of notice method. With this method you can put all parameter you want - * + * * ex : Tlog::getInstance()->addNotice($arg1, $arg2, $arg3); - * + * */ public function addNotice() { $args = func_get_args(); - + foreach ($args as $arg) { $this->log(self::NOTICE, $arg); } @@ -310,26 +311,26 @@ class Tlog Implements LoggerInterface * Example: Use of deprecated APIs, poor use of an API, undesirable things * that are not necessarily wrong. * - * @param string $message - * @param array $context + * @param string $message + * @param array $context * @return null */ public function warning($message, array $context = array()) { $this->log(self::WARNING, $message, $context); } - + /** - * + * * Alias of warning method. With this method you can put all parameter you want - * + * * ex : Tlog::getInstance()->addWarning($arg1, $arg2, $arg3); - * + * */ public function addWarning() { $args = func_get_args(); - + foreach ($args as $arg) { $this->log(self::WARNING, $arg); } @@ -339,154 +340,156 @@ class Tlog Implements LoggerInterface * Runtime errors that do not require immediate action but should typically * be logged and monitored. * - * @param string $message - * @param array $context + * @param string $message + * @param array $context * @return null */ public function error($message, array $context = array()) { $this->log(self::ERROR, $message, $context); } - + /** - * + * * Alias of error method. With this method you can put all parameter you want - * + * * ex : Tlog::getInstance()->addError($arg1, $arg2, $arg3); - * + * */ public function addError() { $args = func_get_args(); - + foreach ($args as $arg) { $this->log(self::ERROR, $arg); } } - + /** - * + * * @see error() */ public function err($message, array $context = array()) { $this->error($message, $context); } - + /** * Critical conditions. * * Example: Application component unavailable, unexpected exception. * - * @param string $message - * @param array $context + * @param string $message + * @param array $context * @return null */ public function critical($message, array $context = array()) { $this->log(self::CRITICAL, $message, $context); } - + /** - * + * * Alias of critical method. With this method you can put all parameter you want - * + * * ex : Tlog::getInstance()->addCritical($arg1, $arg2, $arg3); - * + * */ public function addCritical() { $args = func_get_args(); - + foreach ($args as $arg) { $this->log(self::CRITICAL, $arg); } } - + /** - * + * * @see critical() */ public function crit($message, array $context = array()) { $this->critical($message, $context); } - + /** * Action must be taken immediately. * * Example: Entire website down, database unavailable, etc. This should * trigger the SMS alerts and wake you up. * - * @param string $message - * @param array $context + * @param string $message + * @param array $context * @return null */ public function alert($message, array $context = array()) { $this->log(self::ALERT, $message, $context); } - + /** - * + * * Alias of alert method. With this method you can put all parameter you want - * + * * ex : Tlog::getInstance()->addAlert($arg1, $arg2, $arg3); - * + * */ public function addAlert() { $args = func_get_args(); - + foreach ($args as $arg) { $this->log(self::ALERT, $arg); } } - + /** * System is unusable. * - * @param string $message - * @param array $context + * @param string $message + * @param array $context * @return null */ public function emergency($message, array $context = array()) { $this->log(self::EMERGENCY, $message, $context); } - + /** - * + * * Alias of emergency method. With this method you can put all parameter you want - * + * * ex : Tlog::getInstance()->addEmergency($arg1, $arg2, $arg3); - * + * */ public function addEmergency() { $args = func_get_args(); - + foreach ($args as $arg) { $this->log(self::EMERGENCY, $arg); } } - + /** * Logs with an arbitrary level. * - * @param mixed $level - * @param string $message - * @param array $context + * @param mixed $level + * @param string $message + * @param array $context * @return null */ - public function log($level, $message, array $context = array()) { + public function log($level, $message, array $context = array()) + { if($this->level > $level || array_key_exists($level, $this->levels) === false) + return; - + $this->out($this->levels[$level], $message, $context); } - + // Mode back office public static function SetBackOfficeMode($booleen) @@ -497,10 +500,10 @@ class Tlog Implements LoggerInterface } /** - * + * * final end method. Write log for each destination handler - * - * @param string $res + * + * @param string $res * @return void */ public function write(&$res) @@ -550,10 +553,10 @@ class Tlog Implements LoggerInterface } /** - * + * * check if level is activated and control if current file is activated - * - * @param int $level + * + * @param int $level * @return boolean */ public function isActivated($level) @@ -571,12 +574,12 @@ class Tlog Implements LoggerInterface return false; } - + /** - * + * * check if $file is in authorized files - * - * @param string $file + * + * @param string $file * @return boolean */ public function isActivedFile($file) @@ -586,7 +589,6 @@ class Tlog Implements LoggerInterface /* -- Methodes privees ---------------------------------------- */ - private function findOrigin() { $origine = array(); @@ -629,7 +631,7 @@ class Tlog Implements LoggerInterface return $origine; } - + protected function interpolate($message, array $context = array()) { // build a replacement array with braces around the context keys @@ -645,7 +647,7 @@ class Tlog Implements LoggerInterface private function out($level, $message, array $context = array()) { $text = ''; - + /*if (is_array($message)) { foreach ($message as $arg) { $text .= is_scalar($arg) ? $arg : print_r($arg, true); @@ -655,7 +657,7 @@ class Tlog Implements LoggerInterface } else { $text = $message; } - + $text = $this->interpolate($text, $context); $origine = $this->findOrigin(); diff --git a/core/lib/Thelia/Log/TlogDestinationConfig.php b/core/lib/Thelia/Log/TlogDestinationConfig.php index 1f60ba08e..1bcbd9960 100755 --- a/core/lib/Thelia/Log/TlogDestinationConfig.php +++ b/core/lib/Thelia/Log/TlogDestinationConfig.php @@ -24,7 +24,6 @@ namespace Thelia\Log; use Thelia\Model\Config; -use Thelia\Model\ConfigDesc; use Thelia\Model\ConfigQuery; class TlogDestinationConfig @@ -51,11 +50,9 @@ class TlogDestinationConfig $this->load(); } - public function load() { - if (null === $config = ConfigQuery::create()->findOneByName($this->name)) - { + if (null === $config = ConfigQuery::create()->findOneByName($this->name)) { $config = new Config(); $config->setName($this->name); $config->setValue($this->default); @@ -63,7 +60,7 @@ class TlogDestinationConfig $config->setSecured(1); $config->save(); } - + $this->value = $config->getValue(); } } diff --git a/core/lib/Thelia/Module/BaseModule.php b/core/lib/Thelia/Module/BaseModule.php index 14777d331..07cc1d116 100644 --- a/core/lib/Thelia/Module/BaseModule.php +++ b/core/lib/Thelia/Module/BaseModule.php @@ -40,4 +40,4 @@ abstract class BaseModule abstract public function install(); abstract public function destroy(); -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Tests/Cart/CartTraitTest.php b/core/lib/Thelia/Tests/Cart/CartTraitTest.php index e09f60294..586de3d11 100644 --- a/core/lib/Thelia/Tests/Cart/CartTraitTest.php +++ b/core/lib/Thelia/Tests/Cart/CartTraitTest.php @@ -23,13 +23,10 @@ namespace Thelia\Tests\Cart\CartTraitTest; use Symfony\Component\HttpFoundation\Session\Storage\MockArraySessionStorage; -use Thelia\Core\Event\DefaultActionEvent; use Thelia\Core\HttpFoundation\Request; use Thelia\Core\HttpFoundation\Session\Session; use Thelia\Model\Cart; use Thelia\Model\Customer; -use Thelia\Model\ProductQuery; -use Thelia\Model\ProductSaleElementsQuery; /** * phpunit 3.8 needed for mcking a Trait and there is conflict with php version. @@ -180,7 +177,6 @@ class CartTraitTest extends \PHPUnit_Framework_TestCase $request = $this->request; - //create a fake customer just for test. If not persists test fails ! $customer = new Customer(); $customer->setFirstname("john"); @@ -219,7 +215,6 @@ class CartTraitTest extends \PHPUnit_Framework_TestCase $request = $this->request; - //create a fake customer just for test. If not persists test fails ! $customer = new Customer(); $customer->setFirstname("john"); @@ -278,4 +273,4 @@ class MockCartTrait return $this->container->get("event_dispatcher"); } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Tests/Command/BaseCommandTest.php b/core/lib/Thelia/Tests/Command/BaseCommandTest.php index 356478ab9..09a84d54e 100644 --- a/core/lib/Thelia/Tests/Command/BaseCommandTest.php +++ b/core/lib/Thelia/Tests/Command/BaseCommandTest.php @@ -22,12 +22,12 @@ /*************************************************************************************/ namespace Thelia\Tests\Command; - -abstract class BaseCommandTest extends \PHPUnit_Framework_TestCase { +abstract class BaseCommandTest extends \PHPUnit_Framework_TestCase +{ public function getKernel() { $kernel = $this->getMock("Symfony\Component\HttpKernel\KernelInterface"); return $kernel; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Tests/Command/CacheClearTest.php b/core/lib/Thelia/Tests/Command/CacheClearTest.php index f29d600ed..8d0fbb925 100755 --- a/core/lib/Thelia/Tests/Command/CacheClearTest.php +++ b/core/lib/Thelia/Tests/Command/CacheClearTest.php @@ -62,7 +62,6 @@ class CacheClearTest extends \PHPUnit_Framework_TestCase $this->assertFalse($fs->exists($this->cache_dir)); - } /** @@ -104,4 +103,4 @@ class CacheClearTest extends \PHPUnit_Framework_TestCase return $container; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Tests/Command/ModuleGenerateCommandTest.php b/core/lib/Thelia/Tests/Command/ModuleGenerateCommandTest.php index dcbc98fff..f1167fe09 100644 --- a/core/lib/Thelia/Tests/Command/ModuleGenerateCommandTest.php +++ b/core/lib/Thelia/Tests/Command/ModuleGenerateCommandTest.php @@ -22,14 +22,13 @@ /*************************************************************************************/ namespace Thelia\Tests\Command; - use Symfony\Component\Console\Tester\CommandTester; use Symfony\Component\Filesystem\Filesystem; use Thelia\Core\Application; use Thelia\Command\ModuleGenerateCommand; -class ModuleGenerateCommandTest extends BaseCommandTest { - +class ModuleGenerateCommandTest extends BaseCommandTest +{ protected $command; protected $commandTester; @@ -105,4 +104,4 @@ class ModuleGenerateCommandTest extends BaseCommandTest { "name" => "thelia" )); } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Tests/Controller/DefaultControllerTest.php b/core/lib/Thelia/Tests/Controller/DefaultControllerTest.php index 30ab72138..e787403df 100755 --- a/core/lib/Thelia/Tests/Controller/DefaultControllerTest.php +++ b/core/lib/Thelia/Tests/Controller/DefaultControllerTest.php @@ -28,37 +28,37 @@ use Thelia\Controller\Front\DefaultController; class DefaultControllerTest extends \PHPUnit_Framework_TestCase { - + public function testNoAction() { $defaultController = new DefaultController(); $request = new Request(); $defaultController->noAction($request); - + $this->assertEquals($request->attributes->get('_view'), "index"); } - + public function testNoActionWithQuery() { $defaultController = new DefaultController(); $request = new Request(array( "view" => "foo" )); - + $defaultController->noAction($request); - + $this->assertEquals($request->attributes->get('_view'), 'foo'); } - + public function testNoActionWithRequest() { $defaultController = new DefaultController(); $request = new Request(array(), array( "view" => "foo" )); - + $defaultController->noAction($request); - + $this->assertEquals($request->attributes->get('_view'), 'foo'); } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Tests/Core/HttpFoundation/RequestTest.php b/core/lib/Thelia/Tests/Core/HttpFoundation/RequestTest.php index 1745da6f7..f94b5607f 100644 --- a/core/lib/Thelia/Tests/Core/HttpFoundation/RequestTest.php +++ b/core/lib/Thelia/Tests/Core/HttpFoundation/RequestTest.php @@ -4,7 +4,6 @@ namespace Thelia\Tests\Core\HttpFoundation; use Thelia\Core\HttpFoundation\Request; - class RequestTest extends \PHPUnit_Framework_TestCase { @@ -37,7 +36,6 @@ class RequestTest extends \PHPUnit_Framework_TestCase $this->assertEquals("http://localhost/?test=fu&foo=bar", $result); - } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Tests/Core/HttpFoundation/Session/SessionTest.php b/core/lib/Thelia/Tests/Core/HttpFoundation/Session/SessionTest.php index 67fbfd1c2..7efebdedf 100644 --- a/core/lib/Thelia/Tests/Core/HttpFoundation/Session/SessionTest.php +++ b/core/lib/Thelia/Tests/Core/HttpFoundation/Session/SessionTest.php @@ -133,4 +133,4 @@ class SessionTest extends \PHPUnit_Framework_TestCase $this->assertInstanceOf("\Thelia\Model\Cart", $cart, '$cart must be an instance of Thelia\Model\Cart'); } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Tests/Core/Template/Element/BaseLoopTestor.php b/core/lib/Thelia/Tests/Core/Template/Element/BaseLoopTestor.php index bad6dc428..c4b0192bc 100755 --- a/core/lib/Thelia/Tests/Core/Template/Element/BaseLoopTestor.php +++ b/core/lib/Thelia/Tests/Core/Template/Element/BaseLoopTestor.php @@ -46,10 +46,12 @@ abstract class BaseLoopTestor extends \PHPUnit_Framework_TestCase abstract public function getTestedInstance(); abstract public function getMandatoryArguments(); - protected function getMethod($name) { + protected function getMethod($name) + { $class = new \ReflectionClass($this->getTestedClassName()); $method = $class->getMethod($name); $method->setAccessible(true); + return $method; } diff --git a/core/lib/Thelia/Tests/Core/Template/Loop/Argument/ArgumentCollectionTest.php b/core/lib/Thelia/Tests/Core/Template/Loop/Argument/ArgumentCollectionTest.php index e8dc69d99..df83d5d9a 100755 --- a/core/lib/Thelia/Tests/Core/Template/Loop/Argument/ArgumentCollectionTest.php +++ b/core/lib/Thelia/Tests/Core/Template/Loop/Argument/ArgumentCollectionTest.php @@ -99,10 +99,9 @@ class ArgumentTest extends \PHPUnit_Framework_TestCase ) ); - $arguments = \PHPUnit_Framework_Assert::readAttribute($collection, 'arguments'); - foreach($collection as $key => $argument) { + foreach ($collection as $key => $argument) { $this->assertEquals( $argument, $arguments[$key] diff --git a/core/lib/Thelia/Tests/Fixtures/Dumper/Config/Empty.php b/core/lib/Thelia/Tests/Fixtures/Dumper/Config/Empty.php index 749fc1896..9e8bab2c8 100755 --- a/core/lib/Thelia/Tests/Fixtures/Dumper/Config/Empty.php +++ b/core/lib/Thelia/Tests/Fixtures/Dumper/Config/Empty.php @@ -22,4 +22,4 @@ class TpexConfig { return array(); } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Tests/Form/CartAddTest.php b/core/lib/Thelia/Tests/Form/CartAddTest.php index d584c45d3..12612f507 100644 --- a/core/lib/Thelia/Tests/Form/CartAddTest.php +++ b/core/lib/Thelia/Tests/Form/CartAddTest.php @@ -22,7 +22,6 @@ /*************************************************************************************/ namespace Thelia\Tests\Form; - class CartAddTest extends \PHPUnit_Framework_TestCase { @@ -30,4 +29,4 @@ class CartAddTest extends \PHPUnit_Framework_TestCase { } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Tests/Log/TlogTest.php b/core/lib/Thelia/Tests/Log/TlogTest.php index f94b759be..d99b1f14d 100755 --- a/core/lib/Thelia/Tests/Log/TlogTest.php +++ b/core/lib/Thelia/Tests/Log/TlogTest.php @@ -32,11 +32,10 @@ class TlogTest extends \PHPUnit_Framework_TestCase protected $regex = "/[0-9]+:[\s](%s)+[\s]\[[a-zA-Z\.]+:[a-zA-Z]+\(\)\][\s]\{[0-9]+\}[\s][0-9]{4}-[0-9]{2}-[0-9]{2}[\s][0-9]{1,2}:[0-9]{2}:[0-9]{2}:[\s](%s).*$/is"; public static function setUpBeforeClass() - { + { - self::$logger = Tlog::getInstance(); - + self::$logger->setDestinations("Thelia\Log\Destination\TlogDestinationText"); self::$logger->setLevel(Tlog::DEBUG); self::$logger->setFiles("*"); @@ -61,7 +60,7 @@ class TlogTest extends \PHPUnit_Framework_TestCase $this->expectOutputRegex("/^$/"); $logger->debug("foo"); } - + public function testDebugWithInfoLevel() { @@ -81,7 +80,7 @@ class TlogTest extends \PHPUnit_Framework_TestCase $this->expectOutputRegex("/^$/"); $logger->info("foo"); } - + public function testDebugWithNoticeLevel() { @@ -141,7 +140,7 @@ class TlogTest extends \PHPUnit_Framework_TestCase $this->expectOutputRegex("/^$/"); $logger->error("foo"); } - + public function testErrorWithCriticalLevel() { @@ -161,7 +160,7 @@ class TlogTest extends \PHPUnit_Framework_TestCase $this->expectOutputRegex("/^$/"); $logger->critical("foo"); } - + public function testErrorWithAlertLevel() { @@ -181,7 +180,7 @@ class TlogTest extends \PHPUnit_Framework_TestCase $this->expectOutputRegex("/^$/"); $logger->alert("foo"); } - + public function testErrorWithEmergencyLevel() { diff --git a/core/lib/Thelia/Tests/Type/TypeCollectionTest.php b/core/lib/Thelia/Tests/Type/TypeCollectionTest.php index 0aaec01df..c223b2a5d 100755 --- a/core/lib/Thelia/Tests/Type/TypeCollectionTest.php +++ b/core/lib/Thelia/Tests/Type/TypeCollectionTest.php @@ -63,10 +63,9 @@ class TypeTest extends \PHPUnit_Framework_TestCase new Type\FloatType() ); - $types = \PHPUnit_Framework_Assert::readAttribute($collection, 'types'); - foreach($collection as $key => $type) { + foreach ($collection as $key => $type) { $this->assertEquals( $type, $types[$key] diff --git a/core/lib/Thelia/Tests/bootstrap.php b/core/lib/Thelia/Tests/bootstrap.php index 1d6317dd3..86f6d8355 100755 --- a/core/lib/Thelia/Tests/bootstrap.php +++ b/core/lib/Thelia/Tests/bootstrap.php @@ -11,7 +11,3 @@ require_once __DIR__ . '/../../../bootstrap.php'; use Thelia\Core\Thelia; $thelia = new Thelia("test", true); - - - - diff --git a/core/lib/Thelia/Tools/Redirect.php b/core/lib/Thelia/Tools/Redirect.php index 66898b0ad..6908892f7 100755 --- a/core/lib/Thelia/Tools/Redirect.php +++ b/core/lib/Thelia/Tools/Redirect.php @@ -30,9 +30,9 @@ class Redirect public static function exec($url, $status = 302) { - $response = new RedirectResponse($url, $status); + $response = new RedirectResponse($url, $status); $response->send(); exit; } -} \ No newline at end of file +} diff --git a/core/lib/Thelia/Tools/URL.php b/core/lib/Thelia/Tools/URL.php index cf0800e07..accd4fd8b 100644 --- a/core/lib/Thelia/Tools/URL.php +++ b/core/lib/Thelia/Tools/URL.php @@ -27,73 +27,72 @@ use Thelia\Model\ConfigQuery; class URL { - public static function getIndexPage() { - return ConfigQuery::read('base_url', '/') . "index_dev.php"; // FIXME ! - } + public static function getIndexPage() + { + return ConfigQuery::read('base_url', '/') . "index_dev.php"; // FIXME ! + } - /** - * Returns the Absolute URL for a given path relative to web root. By default, - * the index.php (or index_dev.php) script name is added to the URL, use - * $path_only = true to get a path without the index script. + /** + * Returns the Absolute URL for a given path relative to web root. By default, + * the index.php (or index_dev.php) script name is added to the URL, use + * $path_only = true to get a path without the index script. * - * @param string $path the relative path - * @param array $parameters An array of parameters - * @param boolean $path_only if true, getIndexPage() will not be added + * @param string $path the relative path + * @param array $parameters An array of parameters + * @param boolean $path_only if true, getIndexPage() will not be added * * @return string The generated URL */ public static function absoluteUrl($path, array $parameters = array(), $path_only = false) { - // Already absolute ? - if (substr($path, 0, 4) != 'http') { + // Already absolute ? + if (substr($path, 0, 4) != 'http') { - $root = $path_only ? ConfigQuery::read('base_url', '/') : self::getIndexPage(); + $root = $path_only ? ConfigQuery::read('base_url', '/') : self::getIndexPage(); - $base = $root . '/' . ltrim($path, '/'); - } - else - $base = $path; + $base = $root . '/' . ltrim($path, '/'); + } else + $base = $path; - $queryString = ''; + $queryString = ''; - foreach($parameters as $name => $value) { - $queryString .= sprintf("%s=%s&", urlencode($name), urlencode($value)); - } + foreach ($parameters as $name => $value) { + $queryString .= sprintf("%s=%s&", urlencode($name), urlencode($value)); + } - $sepChar = strstr($base, '?') === false ? '?' : '&'; + $sepChar = strstr($base, '?') === false ? '?' : '&'; - if ('' !== $queryString = rtrim($queryString, "&")) $queryString = $sepChar . $queryString; - - return $base . $queryString; + if ('' !== $queryString = rtrim($queryString, "&")) $queryString = $sepChar . $queryString; + return $base . $queryString; } /** * Returns the Absolute URL to a administration view * - * @param string $viewName the view name (e.g. login for login.html) - * @param mixed $parameters An array of parameters + * @param string $viewName the view name (e.g. login for login.html) + * @param mixed $parameters An array of parameters * * @return string The generated URL */ - public static function adminViewUrl($viewName, array $parameters = array()) { + public static function adminViewUrl($viewName, array $parameters = array()) + { + $path = sprintf("%s/admin/%s", self::getIndexPage(), $viewName); // FIXME ! view= should not be required, check routing parameters - $path = sprintf("%s/admin/%s", self::getIndexPage(), $viewName); // FIXME ! view= should not be required, check routing parameters - - return self::absoluteUrl($path, $parameters); + return self::absoluteUrl($path, $parameters); } - /** - * Returns the Absolute URL to a view + /** + * Returns the Absolute URL to a view * - * @param string $viewName the view name (e.g. login for login.html) - * @param mixed $parameters An array of parameters + * @param string $viewName the view name (e.g. login for login.html) + * @param mixed $parameters An array of parameters * * @return string The generated URL */ - public static function viewUrl($viewName, array $parameters = array()) { + public static function viewUrl($viewName, array $parameters = array()) + { + $path = sprintf("%s?view=%s", self::getIndexPage(), $viewName); - $path = sprintf("%s?view=%s", self::getIndexPage(), $viewName); - - return self::absoluteUrl($path, $parameters); + return self::absoluteUrl($path, $parameters); } } diff --git a/core/lib/Thelia/Type/AlphaNumStringListType.php b/core/lib/Thelia/Type/AlphaNumStringListType.php index 4f24eb274..d8e53cd95 100755 --- a/core/lib/Thelia/Type/AlphaNumStringListType.php +++ b/core/lib/Thelia/Type/AlphaNumStringListType.php @@ -37,8 +37,9 @@ class AlphaNumStringListType implements TypeInterface public function isValid($values) { - foreach(explode(',', $values) as $value) { + foreach (explode(',', $values) as $value) { if(!preg_match('#^[a-zA-Z0-9\-_]+$#', $value)) + return false; } diff --git a/core/lib/Thelia/Type/BooleanOrBothType.php b/core/lib/Thelia/Type/BooleanOrBothType.php index 13c76e254..210201e26 100644 --- a/core/lib/Thelia/Type/BooleanOrBothType.php +++ b/core/lib/Thelia/Type/BooleanOrBothType.php @@ -32,7 +32,7 @@ namespace Thelia\Type; class BooleanOrBothType implements TypeInterface { - const ANY = '*'; + const ANY = '*'; public function getType() { @@ -46,8 +46,7 @@ class BooleanOrBothType implements TypeInterface public function getFormattedValue($value) { - if ($value === self::ANY) return $value; - + if ($value === self::ANY) return $value; return $value === null ? null : filter_var($value, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE); } } diff --git a/core/lib/Thelia/Type/EnumListType.php b/core/lib/Thelia/Type/EnumListType.php index b1fc5eb79..2c37929a8 100755 --- a/core/lib/Thelia/Type/EnumListType.php +++ b/core/lib/Thelia/Type/EnumListType.php @@ -51,8 +51,9 @@ class EnumListType implements TypeInterface public function isValid($values) { - foreach(explode(',', $values) as $value) { + foreach (explode(',', $values) as $value) { if(!$this->isSingleValueValid($value)) + return false; } diff --git a/core/lib/Thelia/Type/IntListType.php b/core/lib/Thelia/Type/IntListType.php index d07e5e18f..28590472e 100755 --- a/core/lib/Thelia/Type/IntListType.php +++ b/core/lib/Thelia/Type/IntListType.php @@ -37,8 +37,9 @@ class IntListType implements TypeInterface public function isValid($values) { - foreach(explode(',', $values) as $value) { + foreach (explode(',', $values) as $value) { if(filter_var($value, FILTER_VALIDATE_INT) === false) + return false; } diff --git a/core/lib/Thelia/Type/IntToCombinedIntsListType.php b/core/lib/Thelia/Type/IntToCombinedIntsListType.php index d4e9ec561..b2dc6b068 100755 --- a/core/lib/Thelia/Type/IntToCombinedIntsListType.php +++ b/core/lib/Thelia/Type/IntToCombinedIntsListType.php @@ -37,27 +37,31 @@ class IntToCombinedIntsListType implements TypeInterface public function isValid($values) { - foreach(explode(',', $values) as $intToCombinedInts) { + foreach (explode(',', $values) as $intToCombinedInts) { $parts = explode(':', $intToCombinedInts); if(count($parts) != 2) + return false; if(filter_var($parts[0], FILTER_VALIDATE_INT) === false) + return false; if(false === $this->checkLogicalFormat($parts[1])) + return false; } $x = 3; + return true; } public function getFormattedValue($values) { - if( $this->isValid($values) ) { + if ( $this->isValid($values) ) { $return = ''; $values = preg_replace('#[\s]#', '', $values); - foreach(explode(',', $values) as $intToCombinedInts) { + foreach (explode(',', $values) as $intToCombinedInts) { $parts = explode(':', $intToCombinedInts); $return[trim($parts[0])] = array( @@ -79,26 +83,27 @@ class IntToCombinedIntsListType implements TypeInterface $noParentheseString = preg_replace('#[\(\)]#', '', $noSpaceString); if(!preg_match('#^([0-9]+([\&\|][0-9]+)*|\*)$#', $noParentheseString)) + return false; /* check parenteses use */ $openingParenthesesCount = 0; $closingParenthesesCount = 0; - for($i=0; $icheckLogicalFormat($parts[1])) + return false; } $x = 3; + return true; } public function getFormattedValue($values) { - if( $this->isValid($values) ) { + if ( $this->isValid($values) ) { $return = ''; $values = preg_replace('#[\s]#', '', $values); - foreach(explode(',', $values) as $intToCombinedStrings) { + foreach (explode(',', $values) as $intToCombinedStrings) { $parts = explode(':', $intToCombinedStrings); $return[trim($parts[0])] = array( @@ -79,26 +83,27 @@ class IntToCombinedStringsListType implements TypeInterface $noParentheseString = preg_replace('#[\(\)]#', '', $noSpaceString); if(!preg_match('#^([a-zA-Z0-9_\-]+([\&\|][a-zA-Z0-9_\-]+)*|\*)$#', $noParentheseString)) + return false; /* check parenteses use */ $openingParenthesesCount = 0; $closingParenthesesCount = 0; - for($i=0; $iaddType($type); } } @@ -53,6 +53,7 @@ class TypeCollection implements \Iterator public function addType(TypeInterface $type) { $this->types[] = $type; + return $this; } @@ -124,8 +125,8 @@ class TypeCollection implements \Iterator */ public function isValid($value) { - foreach($this as $type) { - if($type->isValid($value)) { + foreach ($this as $type) { + if ($type->isValid($value)) { return true; } } @@ -133,9 +134,10 @@ class TypeCollection implements \Iterator return false; } - public function getFormattedValue($value) { - foreach($this as $type) { - if($type->isValid($value)) { + public function getFormattedValue($value) + { + foreach ($this as $type) { + if ($type->isValid($value)) { return $type->getFormattedValue($value); } }