fix cs
This commit is contained in:
@@ -30,7 +30,6 @@ use Thelia\Core\Event\UpdateSeoEvent;
|
|||||||
|
|
||||||
use Thelia\Exception\UrlRewritingException;
|
use Thelia\Exception\UrlRewritingException;
|
||||||
use Thelia\Form\Exception\FormValidationException;
|
use Thelia\Form\Exception\FormValidationException;
|
||||||
use \Thelia\Model\Tools\UrlRewritingTrait;
|
|
||||||
|
|
||||||
class BaseAction
|
class BaseAction
|
||||||
{
|
{
|
||||||
@@ -82,8 +81,8 @@ class BaseAction
|
|||||||
/**
|
/**
|
||||||
* Changes SEO Fields for an object.
|
* Changes SEO Fields for an object.
|
||||||
*
|
*
|
||||||
* @param ModelCriteria $query
|
* @param ModelCriteria $query
|
||||||
* @param UpdateSeoEvent $event
|
* @param UpdateSeoEvent $event
|
||||||
*
|
*
|
||||||
* @return mixed
|
* @return mixed
|
||||||
*/
|
*/
|
||||||
@@ -105,7 +104,7 @@ class BaseAction
|
|||||||
// Update the rewritten URL, if required
|
// Update the rewritten URL, if required
|
||||||
try {
|
try {
|
||||||
$object->setRewrittenUrl($event->getLocale(), $event->getUrl());
|
$object->setRewrittenUrl($event->getLocale(), $event->getUrl());
|
||||||
} catch(UrlRewritingException $e) {
|
} catch (UrlRewritingException $e) {
|
||||||
throw new FormValidationException($e->getMessage(), $e->getCode());
|
throw new FormValidationException($e->getMessage(), $e->getCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -138,7 +138,6 @@ class Coupon extends BaseAction implements EventSubscriberInterface
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$event->setIsValid($isValid);
|
$event->setIsValid($isValid);
|
||||||
$event->setDiscount($totalDiscount);
|
$event->setDiscount($totalDiscount);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ class MailingSystem extends BaseAction implements EventSubscriberInterface
|
|||||||
*/
|
*/
|
||||||
public function update(MailingSystemEvent $event)
|
public function update(MailingSystemEvent $event)
|
||||||
{
|
{
|
||||||
if($event->getEnabled()) {
|
if ($event->getEnabled()) {
|
||||||
ConfigQuery::enableSmtp();
|
ConfigQuery::enableSmtp();
|
||||||
} else {
|
} else {
|
||||||
ConfigQuery::disableSmtp();
|
ConfigQuery::disableSmtp();
|
||||||
|
|||||||
@@ -290,7 +290,7 @@ class Order extends BaseAction implements EventSubscriberInterface
|
|||||||
{
|
{
|
||||||
$contact_email = ConfigQuery::read('contact_email');
|
$contact_email = ConfigQuery::read('contact_email');
|
||||||
|
|
||||||
if($contact_email) {
|
if ($contact_email) {
|
||||||
|
|
||||||
$message = MessageQuery::create()
|
$message = MessageQuery::create()
|
||||||
->filterByName('order_confirmation')
|
->filterByName('order_confirmation')
|
||||||
|
|||||||
@@ -131,7 +131,6 @@ class Product extends BaseAction implements EventSubscriberInterface
|
|||||||
return $this->genericUpdateSeo(ProductQuery::create(), $event);
|
return $this->genericUpdateSeo(ProductQuery::create(), $event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete a product entry
|
* Delete a product entry
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -209,8 +209,7 @@ class ProductSaleElement extends BaseAction implements EventSubscriberInterface
|
|||||||
if ($product->countSaleElements() <= 0) {
|
if ($product->countSaleElements() <= 0) {
|
||||||
// If we just deleted the last PSE, create a default one
|
// If we just deleted the last PSE, create a default one
|
||||||
$product->createProductSaleElement($con, 0, 0, 0, $event->getCurrencyId(), true);
|
$product->createProductSaleElement($con, 0, 0, 0, $event->getCurrencyId(), true);
|
||||||
}
|
} elseif ($pse->getIsDefault()) {
|
||||||
elseif ($pse->getIsDefault()) {
|
|
||||||
|
|
||||||
// If we deleted the default PSE, make the last created one the default
|
// If we deleted the default PSE, make the last created one the default
|
||||||
$pse = ProductSaleElementsQuery::create()
|
$pse = ProductSaleElementsQuery::create()
|
||||||
@@ -238,8 +237,8 @@ class ProductSaleElement extends BaseAction implements EventSubscriberInterface
|
|||||||
*
|
*
|
||||||
* @param ProductCombinationGenerationEvent $event
|
* @param ProductCombinationGenerationEvent $event
|
||||||
*/
|
*/
|
||||||
public function generateCombinations(ProductCombinationGenerationEvent $event) {
|
public function generateCombinations(ProductCombinationGenerationEvent $event)
|
||||||
|
{
|
||||||
$con = Propel::getWriteConnection(ProductSaleElementsTableMap::DATABASE_NAME);
|
$con = Propel::getWriteConnection(ProductSaleElementsTableMap::DATABASE_NAME);
|
||||||
|
|
||||||
$con->beginTransaction();
|
$con->beginTransaction();
|
||||||
@@ -252,7 +251,7 @@ class ProductSaleElement extends BaseAction implements EventSubscriberInterface
|
|||||||
$isDefault = true;
|
$isDefault = true;
|
||||||
|
|
||||||
// Create all combinations
|
// Create all combinations
|
||||||
foreach($event->getCombinations() as $combinationAttributesAvIds) {
|
foreach ($event->getCombinations() as $combinationAttributesAvIds) {
|
||||||
|
|
||||||
// Create the PSE
|
// Create the PSE
|
||||||
$saleElement = $event->getProduct()->createProductSaleElement(
|
$saleElement = $event->getProduct()->createProductSaleElement(
|
||||||
@@ -276,8 +275,7 @@ class ProductSaleElement extends BaseAction implements EventSubscriberInterface
|
|||||||
|
|
||||||
// Store all the stuff !
|
// Store all the stuff !
|
||||||
$con->commit();
|
$con->commit();
|
||||||
}
|
} catch (\Exception $ex) {
|
||||||
catch (\Exception $ex) {
|
|
||||||
|
|
||||||
$con->rollback();
|
$con->rollback();
|
||||||
|
|
||||||
@@ -288,9 +286,9 @@ class ProductSaleElement extends BaseAction implements EventSubscriberInterface
|
|||||||
/**
|
/**
|
||||||
* Create a combination for a given product sale element
|
* Create a combination for a given product sale element
|
||||||
*
|
*
|
||||||
* @param ConnectionInterface $con the Propel connection
|
* @param ConnectionInterface $con the Propel connection
|
||||||
* @param ProductSaleElement $salesElement the product sale element
|
* @param ProductSaleElement $salesElement the product sale element
|
||||||
* @param unknown $combinationAttributes an array oif attributes av IDs
|
* @param unknown $combinationAttributes an array oif attributes av IDs
|
||||||
*/
|
*/
|
||||||
protected function createCombination(ConnectionInterface $con, ProductSaleElements $salesElement, $combinationAttributes)
|
protected function createCombination(ConnectionInterface $con, ProductSaleElements $salesElement, $combinationAttributes)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -32,7 +32,6 @@ use Thelia\Core\Event\TheliaEvents;
|
|||||||
use Thelia\Model\AdminQuery;
|
use Thelia\Model\AdminQuery;
|
||||||
use Thelia\Tools\Password;
|
use Thelia\Tools\Password;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* command line for updating admin password
|
* command line for updating admin password
|
||||||
*
|
*
|
||||||
@@ -72,18 +71,15 @@ class AdminUpdatePasswordCommand extends ContainerAwareCommand
|
|||||||
{
|
{
|
||||||
$login = $input->getArgument('login');
|
$login = $input->getArgument('login');
|
||||||
|
|
||||||
|
|
||||||
if (null === $admin = AdminQuery::create()->filterByLogin($login)->findOne()) {
|
if (null === $admin = AdminQuery::create()->filterByLogin($login)->findOne()) {
|
||||||
throw new \RuntimeException(sprintf('Admin with login %s does not exists', $login));
|
throw new \RuntimeException(sprintf('Admin with login %s does not exists', $login));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$password = $input->getOption('password') ?: Password::generateRandom();
|
$password = $input->getOption('password') ?: Password::generateRandom();
|
||||||
|
|
||||||
$event = new AdministratorUpdatePasswordEvent($admin);
|
$event = new AdministratorUpdatePasswordEvent($admin);
|
||||||
$event->setPassword($password);
|
$event->setPassword($password);
|
||||||
|
|
||||||
|
|
||||||
$this->
|
$this->
|
||||||
getContainer()
|
getContainer()
|
||||||
->get('event_dispatcher')
|
->get('event_dispatcher')
|
||||||
@@ -99,4 +95,3 @@ class AdminUpdatePasswordCommand extends ContainerAwareCommand
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
return array(
|
return array(
|
||||||
'Delivery module' => 'Delivery module',
|
'Delivery module' => 'Delivery module',
|
||||||
'Quantity' => 'Quantity',
|
'Quantity' => 'Quantity',
|
||||||
'Product' => 'Product',
|
'Product' => 'Product',
|
||||||
'Unit. price' => 'Unit. price',
|
'Unit. price' => 'Unit. price',
|
||||||
'Tax' => 'Tax',
|
'Tax' => 'Tax',
|
||||||
'Unit taxed price' => 'Unit taxed price',
|
'Unit taxed price' => 'Unit taxed price',
|
||||||
'Taxed total' => 'Taxed total',
|
'Taxed total' => 'Taxed total',
|
||||||
'Payment module' => 'Payment module',
|
'Payment module' => 'Payment module',
|
||||||
'Postage' => 'Postage',
|
'Postage' => 'Postage',
|
||||||
'Total' => 'Total',
|
'Total' => 'Total',
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -1,36 +1,36 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
return array(
|
return array(
|
||||||
'Combination builder' => 'Combination builder',
|
'Combination builder' => 'Combination builder',
|
||||||
'Title' => 'Title',
|
'Title' => 'Title',
|
||||||
'City' => 'City',
|
'City' => 'City',
|
||||||
'Zip code' => 'Zip code',
|
'Zip code' => 'Zip code',
|
||||||
'Country' => 'Country',
|
'Country' => 'Country',
|
||||||
'Phone' => 'Phone',
|
'Phone' => 'Phone',
|
||||||
'Login' => 'Login',
|
'Login' => 'Login',
|
||||||
'Password' => 'Password',
|
'Password' => 'Password',
|
||||||
'Profile' => 'Profile',
|
'Profile' => 'Profile',
|
||||||
'Postage' => 'Postage',
|
'Postage' => 'Postage',
|
||||||
'Add to all product templates' => 'Add to all product templates',
|
'Add to all product templates' => 'Add to all product templates',
|
||||||
'Quantity' => 'Quantity',
|
'Quantity' => 'Quantity',
|
||||||
'Name' => 'Name',
|
'Name' => 'Name',
|
||||||
'Value' => 'Value',
|
'Value' => 'Value',
|
||||||
'Subject' => 'Subject',
|
'Subject' => 'Subject',
|
||||||
'Company' => 'Company',
|
'Company' => 'Company',
|
||||||
'Description' => 'Description',
|
'Description' => 'Description',
|
||||||
'Language name' => 'Language name',
|
'Language name' => 'Language name',
|
||||||
'ISO 639 Code' => 'ISO 639 Code',
|
'ISO 639 Code' => 'ISO 639 Code',
|
||||||
'If a translation is missing or incomplete :' => 'If a translation is missing or incomplete :',
|
'If a translation is missing or incomplete :' => 'If a translation is missing or incomplete :',
|
||||||
'Host' => 'Host',
|
'Host' => 'Host',
|
||||||
'Port' => 'Port',
|
'Port' => 'Port',
|
||||||
'Encryption' => 'Encryption',
|
'Encryption' => 'Encryption',
|
||||||
'Username' => 'Username',
|
'Username' => 'Username',
|
||||||
'Timeout' => 'Timeout',
|
'Timeout' => 'Timeout',
|
||||||
'Source IP' => 'Source IP',
|
'Source IP' => 'Source IP',
|
||||||
'Email address' => 'Email address',
|
'Email address' => 'Email address',
|
||||||
'Firstname' => 'Firstname',
|
'Firstname' => 'Firstname',
|
||||||
'Lastname' => 'Lastname',
|
'Lastname' => 'Lastname',
|
||||||
'Additional address' => 'Additional address',
|
'Additional address' => 'Additional address',
|
||||||
'Reference' => 'Reference',
|
'Reference' => 'Reference',
|
||||||
'EAN Code' => 'EAN Code',
|
'EAN Code' => 'EAN Code',
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -443,7 +443,6 @@ abstract class AbstractCrudController extends BaseAdminController
|
|||||||
$ex
|
$ex
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
//return $this->renderEditionTemplate();
|
//return $this->renderEditionTemplate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ abstract class AbstractSeoCrudController extends AbstractCrudController
|
|||||||
*
|
*
|
||||||
* @param string $visibilityToggleEventIdentifier the dispatched visibility toggle TheliaEvent identifier, or null if the object has no visible options. Example: TheliaEvents::MESSAGE_TOGGLE_VISIBILITY
|
* @param string $visibilityToggleEventIdentifier the dispatched visibility toggle TheliaEvent identifier, or null if the object has no visible options. Example: TheliaEvents::MESSAGE_TOGGLE_VISIBILITY
|
||||||
* @param string $changePositionEventIdentifier the dispatched position change TheliaEvent identifier, or null if the object has no position. Example: TheliaEvents::MESSAGE_UPDATE_POSITION
|
* @param string $changePositionEventIdentifier the dispatched position change TheliaEvent identifier, or null if the object has no position. Example: TheliaEvents::MESSAGE_UPDATE_POSITION
|
||||||
* @param string $updateSeoEventIdentifier the dispatched update SEO change TheliaEvent identifier, or null if the object has no SEO. Example: TheliaEvents::MESSAGE_UPDATE_SEO
|
* @param string $updateSeoEventIdentifier the dispatched update SEO change TheliaEvent identifier, or null if the object has no SEO. Example: TheliaEvents::MESSAGE_UPDATE_SEO
|
||||||
*/
|
*/
|
||||||
public function __construct(
|
public function __construct(
|
||||||
$objectName,
|
$objectName,
|
||||||
@@ -134,7 +134,8 @@ abstract class AbstractSeoCrudController extends AbstractCrudController
|
|||||||
*
|
*
|
||||||
* @param unknown $object
|
* @param unknown $object
|
||||||
*/
|
*/
|
||||||
protected function hydrateSeoForm($object){
|
protected function hydrateSeoForm($object)
|
||||||
|
{
|
||||||
// The "SEO" tab form
|
// The "SEO" tab form
|
||||||
$locale = $object->getLocale();
|
$locale = $object->getLocale();
|
||||||
$data = array(
|
$data = array(
|
||||||
@@ -227,8 +228,6 @@ abstract class AbstractSeoCrudController extends AbstractCrudController
|
|||||||
$ex
|
$ex
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// At this point, the form has errors, and should be redisplayed.
|
// At this point, the form has errors, and should be redisplayed.
|
||||||
return $this->renderEditionTemplate();
|
return $this->renderEditionTemplate();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -98,7 +98,7 @@ class AddressController extends AbstractCrudController
|
|||||||
/**
|
/**
|
||||||
* Fills in the form data array
|
* Fills in the form data array
|
||||||
*
|
*
|
||||||
* @param unknown $object
|
* @param unknown $object
|
||||||
* @return multitype:NULL
|
* @return multitype:NULL
|
||||||
*/
|
*/
|
||||||
protected function createFormDataArray($object)
|
protected function createFormDataArray($object)
|
||||||
@@ -309,7 +309,8 @@ class AddressController extends AbstractCrudController
|
|||||||
$this->redirectToEditionTemplate();
|
$this->redirectToEditionTemplate();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function getCustomerId() {
|
protected function getCustomerId()
|
||||||
|
{
|
||||||
if (null !== $address = $this->getExistingObject())
|
if (null !== $address = $this->getExistingObject())
|
||||||
return $address->getCustomerId();
|
return $address->getCustomerId();
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -34,7 +34,6 @@ use Thelia\Form\AttributeModificationForm;
|
|||||||
use Thelia\Form\AttributeCreationForm;
|
use Thelia\Form\AttributeCreationForm;
|
||||||
use Thelia\Core\Event\UpdatePositionEvent;
|
use Thelia\Core\Event\UpdatePositionEvent;
|
||||||
use Thelia\Model\AttributeAv;
|
use Thelia\Model\AttributeAv;
|
||||||
use Thelia\Model\AttributeAvQuery;
|
|
||||||
use Thelia\Core\Event\Attribute\AttributeAvUpdateEvent;
|
use Thelia\Core\Event\Attribute\AttributeAvUpdateEvent;
|
||||||
use Thelia\Core\Event\Attribute\AttributeEvent;
|
use Thelia\Core\Event\Attribute\AttributeEvent;
|
||||||
|
|
||||||
|
|||||||
@@ -309,6 +309,7 @@ class BaseAdminController extends BaseController
|
|||||||
{
|
{
|
||||||
// Check if the functionality is activated
|
// Check if the functionality is activated
|
||||||
if(!ConfigQuery::read("one_domain_foreach_lang", false))
|
if(!ConfigQuery::read("one_domain_foreach_lang", false))
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// If we don't have a locale value, use the locale value in the session
|
// If we don't have a locale value, use the locale value in the session
|
||||||
@@ -390,8 +391,8 @@ class BaseAdminController extends BaseController
|
|||||||
* Render the given template, and returns the result as an Http Response.
|
* Render the given template, and returns the result as an Http Response.
|
||||||
*
|
*
|
||||||
* @param $templateName the complete template name, with extension
|
* @param $templateName the complete template name, with extension
|
||||||
* @param array $args the template arguments
|
* @param array $args the template arguments
|
||||||
* @param int $status http code status
|
* @param int $status http code status
|
||||||
* @return \Thelia\Core\HttpFoundation\Response
|
* @return \Thelia\Core\HttpFoundation\Response
|
||||||
*/
|
*/
|
||||||
protected function render($templateName, $args = array(), $status = 200)
|
protected function render($templateName, $args = array(), $status = 200)
|
||||||
|
|||||||
@@ -201,15 +201,12 @@ class CategoryController extends AbstractSeoCrudController
|
|||||||
|
|
||||||
protected function redirectToListTemplateWithId($category_id)
|
protected function redirectToListTemplateWithId($category_id)
|
||||||
{
|
{
|
||||||
if($category_id > 0)
|
if ($category_id > 0) {
|
||||||
{
|
|
||||||
$this->redirectToRoute(
|
$this->redirectToRoute(
|
||||||
'admin.categories.default',
|
'admin.categories.default',
|
||||||
array('category_id' => $category_id)
|
array('category_id' => $category_id)
|
||||||
);
|
);
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
$this->redirectToRoute(
|
$this->redirectToRoute(
|
||||||
'admin.catalog'
|
'admin.catalog'
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -23,11 +23,9 @@
|
|||||||
|
|
||||||
namespace Thelia\Controller\Admin;
|
namespace Thelia\Controller\Admin;
|
||||||
|
|
||||||
|
|
||||||
use Thelia\Core\Security\Resource\AdminResources;
|
use Thelia\Core\Security\Resource\AdminResources;
|
||||||
use Thelia\Core\Security\AccessManager;
|
use Thelia\Core\Security\AccessManager;
|
||||||
use Thelia\Form\ConfigStoreForm;
|
use Thelia\Form\ConfigStoreForm;
|
||||||
use Thelia\Log\Tlog;
|
|
||||||
use Thelia\Model\ConfigQuery;
|
use Thelia\Model\ConfigQuery;
|
||||||
/**
|
/**
|
||||||
* Class ConfigStoreController
|
* Class ConfigStoreController
|
||||||
@@ -80,7 +78,7 @@ class ConfigStoreController extends BaseAdminController
|
|||||||
$data = $form->getData();
|
$data = $form->getData();
|
||||||
|
|
||||||
// Update store
|
// Update store
|
||||||
foreach($data as $name => $value) {
|
foreach ($data as $name => $value) {
|
||||||
if(! in_array($name , array('success_url', 'error_message')))
|
if(! in_array($name , array('success_url', 'error_message')))
|
||||||
ConfigQuery::write($name, $value, false);
|
ConfigQuery::write($name, $value, false);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,19 +23,14 @@
|
|||||||
|
|
||||||
namespace Thelia\Controller\Admin;
|
namespace Thelia\Controller\Admin;
|
||||||
|
|
||||||
use Propel\Runtime\Exception\PropelException;
|
|
||||||
use Thelia\Core\Security\Resource\AdminResources;
|
use Thelia\Core\Security\Resource\AdminResources;
|
||||||
use Thelia\Core\Event\Customer\CustomerCreateOrUpdateEvent;
|
use Thelia\Core\Event\Customer\CustomerCreateOrUpdateEvent;
|
||||||
use Thelia\Core\Event\Customer\CustomerEvent;
|
use Thelia\Core\Event\Customer\CustomerEvent;
|
||||||
use Thelia\Core\Event\TheliaEvents;
|
use Thelia\Core\Event\TheliaEvents;
|
||||||
use Thelia\Core\Security\AccessManager;
|
|
||||||
use Thelia\Form\CustomerCreateForm;
|
use Thelia\Form\CustomerCreateForm;
|
||||||
use Thelia\Form\CustomerUpdateForm;
|
use Thelia\Form\CustomerUpdateForm;
|
||||||
use Thelia\Form\Exception\FormValidationException;
|
|
||||||
use Thelia\Model\CustomerQuery;
|
use Thelia\Model\CustomerQuery;
|
||||||
use Thelia\Core\Translation\Translator;
|
|
||||||
use Thelia\Tools\Password;
|
use Thelia\Tools\Password;
|
||||||
use Thelia\Model\AddressQuery;
|
|
||||||
use Thelia\Model\Address;
|
use Thelia\Model\Address;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -34,7 +34,6 @@ use Thelia\Form\FeatureModificationForm;
|
|||||||
use Thelia\Form\FeatureCreationForm;
|
use Thelia\Form\FeatureCreationForm;
|
||||||
use Thelia\Core\Event\UpdatePositionEvent;
|
use Thelia\Core\Event\UpdatePositionEvent;
|
||||||
use Thelia\Model\FeatureAv;
|
use Thelia\Model\FeatureAv;
|
||||||
use Thelia\Model\FeatureAvQuery;
|
|
||||||
use Thelia\Core\Event\Feature\FeatureAvUpdateEvent;
|
use Thelia\Core\Event\Feature\FeatureAvUpdateEvent;
|
||||||
use Thelia\Core\Event\Feature\FeatureEvent;
|
use Thelia\Core\Event\Feature\FeatureEvent;
|
||||||
|
|
||||||
|
|||||||
@@ -584,7 +584,7 @@ class FileController extends BaseAdminController
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(null === $message) {
|
if (null === $message) {
|
||||||
$message = $this->getTranslator()
|
$message = $this->getTranslator()
|
||||||
->trans(
|
->trans(
|
||||||
'Images deleted successfully',
|
'Images deleted successfully',
|
||||||
@@ -638,7 +638,7 @@ class FileController extends BaseAdminController
|
|||||||
) . $e->getMessage();
|
) . $e->getMessage();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(null === $message) {
|
if (null === $message) {
|
||||||
$message = $this->getTranslator()
|
$message = $this->getTranslator()
|
||||||
->trans(
|
->trans(
|
||||||
'Image position updated',
|
'Image position updated',
|
||||||
@@ -692,7 +692,7 @@ class FileController extends BaseAdminController
|
|||||||
) . $e->getMessage();
|
) . $e->getMessage();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(null === $message) {
|
if (null === $message) {
|
||||||
$message = $this->getTranslator()
|
$message = $this->getTranslator()
|
||||||
->trans(
|
->trans(
|
||||||
'Document position updated',
|
'Document position updated',
|
||||||
|
|||||||
@@ -88,7 +88,6 @@ class HomeController extends BaseAdminController
|
|||||||
array(5)
|
array(5)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
$data->series = array(
|
$data->series = array(
|
||||||
$saleSeries,
|
$saleSeries,
|
||||||
$newCustomerSeries,
|
$newCustomerSeries,
|
||||||
|
|||||||
@@ -31,7 +31,6 @@ use Thelia\Model\MessageQuery;
|
|||||||
use Thelia\Form\MessageModificationForm;
|
use Thelia\Form\MessageModificationForm;
|
||||||
use Thelia\Form\MessageCreationForm;
|
use Thelia\Form\MessageCreationForm;
|
||||||
use Symfony\Component\Finder\Finder;
|
use Symfony\Component\Finder\Finder;
|
||||||
use Thelia\Model\ConfigQuery;
|
|
||||||
use Thelia\Core\Template\TemplateHelper;
|
use Thelia\Core\Template\TemplateHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -164,8 +163,8 @@ class MessageController extends AbstractCrudController
|
|||||||
return $this->render('messages');
|
return $this->render('messages');
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function listDirectoryContent($requiredExtension) {
|
protected function listDirectoryContent($requiredExtension)
|
||||||
|
{
|
||||||
$list = array();
|
$list = array();
|
||||||
|
|
||||||
$dir = TemplateHelper::getInstance()->getActiveMailTemplate()->getAbsolutePath();
|
$dir = TemplateHelper::getInstance()->getActiveMailTemplate()->getAbsolutePath();
|
||||||
|
|||||||
@@ -123,7 +123,6 @@ class ModuleController extends AbstractCrudController
|
|||||||
->findOneById($this->getRequest()->get('module_id'));
|
->findOneById($this->getRequest()->get('module_id'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
protected function getObjectLabel($object)
|
protected function getObjectLabel($object)
|
||||||
{
|
{
|
||||||
return $object->getTitle();
|
return $object->getTitle();
|
||||||
@@ -192,12 +191,11 @@ class ModuleController extends AbstractCrudController
|
|||||||
{
|
{
|
||||||
$module = ModuleQuery::create()->findOneByCode($module_code);
|
$module = ModuleQuery::create()->findOneByCode($module_code);
|
||||||
|
|
||||||
if(null === $module) {
|
if (null === $module) {
|
||||||
throw new \InvalidArgumentException(sprintf("Module `%s` does not exists", $module_code));
|
throw new \InvalidArgumentException(sprintf("Module `%s` does not exists", $module_code));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (null !== $response = $this->checkAuth(array(), $module_code, AccessManager::VIEW)) return $response;
|
if (null !== $response = $this->checkAuth(array(), $module_code, AccessManager::VIEW)) return $response;
|
||||||
|
|
||||||
return $this->render(
|
return $this->render(
|
||||||
"module-configure",
|
"module-configure",
|
||||||
array(
|
array(
|
||||||
|
|||||||
@@ -27,7 +27,6 @@ use Thelia\Core\HttpFoundation\Response;
|
|||||||
use Thelia\Core\Security\Resource\AdminResources;
|
use Thelia\Core\Security\Resource\AdminResources;
|
||||||
use Thelia\Core\Event\Order\OrderAddressEvent;
|
use Thelia\Core\Event\Order\OrderAddressEvent;
|
||||||
use Thelia\Core\Event\Order\OrderEvent;
|
use Thelia\Core\Event\Order\OrderEvent;
|
||||||
use Thelia\Core\Event\PdfEvent;
|
|
||||||
use Thelia\Core\Event\TheliaEvents;
|
use Thelia\Core\Event\TheliaEvents;
|
||||||
use Thelia\Core\Security\AccessManager;
|
use Thelia\Core\Security\AccessManager;
|
||||||
use Thelia\Form\OrderUpdateAddress;
|
use Thelia\Form\OrderUpdateAddress;
|
||||||
@@ -36,7 +35,6 @@ use Thelia\Model\Base\OrderAddressQuery;
|
|||||||
use Thelia\Model\OrderQuery;
|
use Thelia\Model\OrderQuery;
|
||||||
use Thelia\Model\OrderStatusQuery;
|
use Thelia\Model\OrderStatusQuery;
|
||||||
use Thelia\Tools\URL;
|
use Thelia\Tools\URL;
|
||||||
use Thelia\Core\Template\TemplateHelper;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class OrderController
|
* Class OrderController
|
||||||
@@ -203,20 +201,18 @@ class OrderController extends BaseAdminController
|
|||||||
public function generateInvoicePdf($order_id)
|
public function generateInvoicePdf($order_id)
|
||||||
{
|
{
|
||||||
if (null !== $response = $this->checkAuth(AdminResources::ORDER, array(), AccessManager::UPDATE)) return $response;
|
if (null !== $response = $this->checkAuth(AdminResources::ORDER, array(), AccessManager::UPDATE)) return $response;
|
||||||
|
|
||||||
return $this->generateBackOfficeOrderPdf($order_id, ConfigQuery::read('pdf_invoice_file', 'invoice'));
|
return $this->generateBackOfficeOrderPdf($order_id, ConfigQuery::read('pdf_invoice_file', 'invoice'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function generateDeliveryPdf($order_id)
|
public function generateDeliveryPdf($order_id)
|
||||||
{
|
{
|
||||||
if (null !== $response = $this->checkAuth(AdminResources::ORDER, array(), AccessManager::UPDATE)) return $response;
|
if (null !== $response = $this->checkAuth(AdminResources::ORDER, array(), AccessManager::UPDATE)) return $response;
|
||||||
|
|
||||||
return $this->generateBackOfficeOrderPdf($order_id, ConfigQuery::read('pdf_delivery_file', 'delivery'));
|
return $this->generateBackOfficeOrderPdf($order_id, ConfigQuery::read('pdf_delivery_file', 'delivery'));
|
||||||
}
|
}
|
||||||
|
|
||||||
private function generateBackOfficeOrderPdf($order_id, $fileName)
|
private function generateBackOfficeOrderPdf($order_id, $fileName)
|
||||||
{
|
{
|
||||||
if(null === $response = $this->generateOrderPdf($order_id, $fileName)){
|
if (null === $response = $this->generateOrderPdf($order_id, $fileName)) {
|
||||||
$this->redirect(URL::getInstance()->absoluteUrl($this->getRoute("admin.order.update.view", array(
|
$this->redirect(URL::getInstance()->absoluteUrl($this->getRoute("admin.order.update.view", array(
|
||||||
'order_id' => $order_id
|
'order_id' => $order_id
|
||||||
))));
|
))));
|
||||||
@@ -225,5 +221,4 @@ class OrderController extends BaseAdminController
|
|||||||
return $response;
|
return $response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -72,7 +72,6 @@ use Thelia\Form\ProductCombinationGenerationForm;
|
|||||||
use Thelia\TaxEngine\Calculator;
|
use Thelia\TaxEngine\Calculator;
|
||||||
use Thelia\Tools\NumberFormat;
|
use Thelia\Tools\NumberFormat;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Manages products
|
* Manages products
|
||||||
*
|
*
|
||||||
@@ -1037,17 +1036,18 @@ class ProductController extends AbstractSeoCrudController
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Create combinations
|
// Create combinations
|
||||||
protected function combine($input, &$output, &$tmp) {
|
protected function combine($input, &$output, &$tmp)
|
||||||
|
{
|
||||||
$current = array_shift($input);
|
$current = array_shift($input);
|
||||||
|
|
||||||
if (count($input) > 0) {
|
if (count($input) > 0) {
|
||||||
foreach($current as $element) {
|
foreach ($current as $element) {
|
||||||
$tmp[] = $element;
|
$tmp[] = $element;
|
||||||
$this->combine($input, $output, $tmp);
|
$this->combine($input, $output, $tmp);
|
||||||
array_pop($tmp);
|
array_pop($tmp);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
foreach($current as $element) {
|
foreach ($current as $element) {
|
||||||
$tmp[] = $element;
|
$tmp[] = $element;
|
||||||
$output[] = $tmp;
|
$output[] = $tmp;
|
||||||
array_pop($tmp);
|
array_pop($tmp);
|
||||||
@@ -1058,8 +1058,8 @@ class ProductController extends AbstractSeoCrudController
|
|||||||
/**
|
/**
|
||||||
* Build combinations from the combination output builder
|
* Build combinations from the combination output builder
|
||||||
*/
|
*/
|
||||||
public function buildCombinationsAction() {
|
public function buildCombinationsAction()
|
||||||
|
{
|
||||||
// Check current user authorization
|
// Check current user authorization
|
||||||
if (null !== $response = $this->checkAuth($this->resourceCode, array(), AccessManager::UPDATE)) return $response;
|
if (null !== $response = $this->checkAuth($this->resourceCode, array(), AccessManager::UPDATE)) return $response;
|
||||||
|
|
||||||
@@ -1082,7 +1082,7 @@ class ProductController extends AbstractSeoCrudController
|
|||||||
// from the list of attribute_id:attributes_av ID from the form.
|
// from the list of attribute_id:attributes_av ID from the form.
|
||||||
$combinations = $attributes_av_list = array();
|
$combinations = $attributes_av_list = array();
|
||||||
|
|
||||||
foreach($data['attribute_av'] as $item) {
|
foreach ($data['attribute_av'] as $item) {
|
||||||
list($attribute_id, $attribute_av_id) = explode(':', $item);
|
list($attribute_id, $attribute_av_id) = explode(':', $item);
|
||||||
|
|
||||||
if (! isset($attributes_av_list[$attribute_id]))
|
if (! isset($attributes_av_list[$attribute_id]))
|
||||||
|
|||||||
@@ -23,7 +23,6 @@
|
|||||||
|
|
||||||
namespace Thelia\Controller\Admin;
|
namespace Thelia\Controller\Admin;
|
||||||
|
|
||||||
|
|
||||||
use Thelia\Core\Security\Resource\AdminResources;
|
use Thelia\Core\Security\Resource\AdminResources;
|
||||||
use Thelia\Core\Security\AccessManager;
|
use Thelia\Core\Security\AccessManager;
|
||||||
use Thelia\Form\SystemLogConfigurationForm;
|
use Thelia\Form\SystemLogConfigurationForm;
|
||||||
@@ -43,7 +42,7 @@ class SystemLogController extends BaseAdminController
|
|||||||
|
|
||||||
$destination_directories = Tlog::getInstance()->getDestinationsDirectories();
|
$destination_directories = Tlog::getInstance()->getDestinationsDirectories();
|
||||||
|
|
||||||
foreach($destination_directories as $dir) {
|
foreach ($destination_directories as $dir) {
|
||||||
$this->loadDefinedDestinations($dir, $destinations);
|
$this->loadDefinedDestinations($dir, $destinations);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -58,8 +57,8 @@ class SystemLogController extends BaseAdminController
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function loadDefinedDestinations($directory, &$destinations) {
|
protected function loadDefinedDestinations($directory, &$destinations)
|
||||||
|
{
|
||||||
try {
|
try {
|
||||||
foreach (new \DirectoryIterator($directory) as $fileInfo) {
|
foreach (new \DirectoryIterator($directory) as $fileInfo) {
|
||||||
|
|
||||||
@@ -144,7 +143,7 @@ class SystemLogController extends BaseAdminController
|
|||||||
|
|
||||||
$active_destinations = array();
|
$active_destinations = array();
|
||||||
|
|
||||||
foreach($destinations as $classname => $destination) {
|
foreach ($destinations as $classname => $destination) {
|
||||||
|
|
||||||
if (isset($destination['active'])) {
|
if (isset($destination['active'])) {
|
||||||
$active_destinations[] = $destination['classname'];
|
$active_destinations[] = $destination['classname'];
|
||||||
@@ -153,7 +152,7 @@ class SystemLogController extends BaseAdminController
|
|||||||
if (isset($configs[$classname])) {
|
if (isset($configs[$classname])) {
|
||||||
|
|
||||||
// Update destinations configuration
|
// Update destinations configuration
|
||||||
foreach($configs[$classname] as $var => $value) {
|
foreach ($configs[$classname] as $var => $value) {
|
||||||
ConfigQuery::write($var, $value, true, true);
|
ConfigQuery::write($var, $value, true, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,12 +23,8 @@
|
|||||||
|
|
||||||
namespace Thelia\Controller\Admin;
|
namespace Thelia\Controller\Admin;
|
||||||
|
|
||||||
|
|
||||||
use Thelia\Core\Security\Resource\AdminResources;
|
use Thelia\Core\Security\Resource\AdminResources;
|
||||||
use Thelia\Core\Security\AccessManager;
|
use Thelia\Core\Security\AccessManager;
|
||||||
use Thelia\Form\SystemLogConfigurationForm;
|
|
||||||
use Thelia\Log\Tlog;
|
|
||||||
use Thelia\Model\ConfigQuery;
|
|
||||||
use Thelia\Model\ModuleQuery;
|
use Thelia\Model\ModuleQuery;
|
||||||
use Thelia\Core\Template\TemplateHelper;
|
use Thelia\Core\Template\TemplateHelper;
|
||||||
use Thelia\Core\Template\TemplateDefinition;
|
use Thelia\Core\Template\TemplateDefinition;
|
||||||
@@ -67,7 +63,7 @@ class TranslationsController extends BaseAdminController
|
|||||||
|
|
||||||
if (! empty($item_id) || $item_to_translate == 'co') {
|
if (! empty($item_id) || $item_to_translate == 'co') {
|
||||||
|
|
||||||
switch($item_to_translate) {
|
switch ($item_to_translate) {
|
||||||
|
|
||||||
case 'mo' :
|
case 'mo' :
|
||||||
if (null !== $module = ModuleQuery::create()->findPk($item_id)) {
|
if (null !== $module = ModuleQuery::create()->findPk($item_id)) {
|
||||||
@@ -149,8 +145,7 @@ class TranslationsController extends BaseAdminController
|
|||||||
$templateArguments['max_input_vars_warning'] = true;
|
$templateArguments['max_input_vars_warning'] = true;
|
||||||
$templateArguments['required_max_input_vars'] = $stringsCount;
|
$templateArguments['required_max_input_vars'] = $stringsCount;
|
||||||
$templateArguments['current_max_input_vars'] = ini_get('max_input_vars');
|
$templateArguments['current_max_input_vars'] = ini_get('max_input_vars');
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
$templateArguments['all_strings'] = $all_strings;
|
$templateArguments['all_strings'] = $all_strings;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -162,14 +157,12 @@ class TranslationsController extends BaseAdminController
|
|||||||
public function defaultAction()
|
public function defaultAction()
|
||||||
{
|
{
|
||||||
if (null !== $response = $this->checkAuth(AdminResources::TRANSLATIONS, array(), AccessManager::VIEW)) return $response;
|
if (null !== $response = $this->checkAuth(AdminResources::TRANSLATIONS, array(), AccessManager::VIEW)) return $response;
|
||||||
|
|
||||||
return $this->renderTemplate();
|
return $this->renderTemplate();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function updateAction()
|
public function updateAction()
|
||||||
{
|
{
|
||||||
if (null !== $response = $this->checkAuth(AdminResources::LANGUAGE, array(), AccessManager::UPDATE)) return $response;
|
if (null !== $response = $this->checkAuth(AdminResources::LANGUAGE, array(), AccessManager::UPDATE)) return $response;
|
||||||
|
|
||||||
return $this->renderTemplate();
|
return $this->renderTemplate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ abstract class BaseController extends ContainerAware
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Return an empty response (after an ajax request, for example)
|
* Return an empty response (after an ajax request, for example)
|
||||||
* @param int $status
|
* @param int $status
|
||||||
* @return \Thelia\Core\HttpFoundation\Response
|
* @return \Thelia\Core\HttpFoundation\Response
|
||||||
*/
|
*/
|
||||||
protected function nullResponse($status = 200)
|
protected function nullResponse($status = 200)
|
||||||
@@ -252,7 +252,6 @@ abstract class BaseController extends ContainerAware
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -367,8 +366,8 @@ abstract class BaseController extends ContainerAware
|
|||||||
* Render the given template, and returns the result as an Http Response.
|
* Render the given template, and returns the result as an Http Response.
|
||||||
*
|
*
|
||||||
* @param $templateName the complete template name, with extension
|
* @param $templateName the complete template name, with extension
|
||||||
* @param array $args the template arguments
|
* @param array $args the template arguments
|
||||||
* @param int $status http code status
|
* @param int $status http code status
|
||||||
* @return \Thelia\Core\HttpFoundation\Response
|
* @return \Thelia\Core\HttpFoundation\Response
|
||||||
*/
|
*/
|
||||||
abstract protected function render($templateName, $args = array(), $status = 200);
|
abstract protected function render($templateName, $args = array(), $status = 200);
|
||||||
|
|||||||
@@ -25,10 +25,8 @@ namespace Thelia\Controller\Front;
|
|||||||
use Symfony\Component\Routing\Router;
|
use Symfony\Component\Routing\Router;
|
||||||
use Thelia\Controller\BaseController;
|
use Thelia\Controller\BaseController;
|
||||||
use Thelia\Core\HttpFoundation\Response;
|
use Thelia\Core\HttpFoundation\Response;
|
||||||
use Thelia\Core\Security\Exception\AuthenticationException;
|
|
||||||
use Thelia\Core\Template\TemplateHelper;
|
use Thelia\Core\Template\TemplateHelper;
|
||||||
use Thelia\Model\AddressQuery;
|
use Thelia\Model\AddressQuery;
|
||||||
use Thelia\Model\ConfigQuery;
|
|
||||||
use Thelia\Model\ModuleQuery;
|
use Thelia\Model\ModuleQuery;
|
||||||
use Thelia\Tools\Redirect;
|
use Thelia\Tools\Redirect;
|
||||||
use Thelia\Tools\URL;
|
use Thelia\Tools\URL;
|
||||||
@@ -106,8 +104,8 @@ class BaseFrontController extends BaseController
|
|||||||
* Render the given template, and returns the result as an Http Response.
|
* Render the given template, and returns the result as an Http Response.
|
||||||
*
|
*
|
||||||
* @param $templateName the complete template name, with extension
|
* @param $templateName the complete template name, with extension
|
||||||
* @param array $args the template arguments
|
* @param array $args the template arguments
|
||||||
* @param int $status http code status
|
* @param int $status http code status
|
||||||
* @return \Thelia\Core\HttpFoundation\Response
|
* @return \Thelia\Core\HttpFoundation\Response
|
||||||
*/
|
*/
|
||||||
protected function render($templateName, $args = array(), $status = 200)
|
protected function render($templateName, $args = array(), $status = 200)
|
||||||
|
|||||||
@@ -26,7 +26,6 @@ use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
|
|||||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||||
use Symfony\Component\DependencyInjection\Reference;
|
use Symfony\Component\DependencyInjection\Reference;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class TranslatorPass
|
* Class TranslatorPass
|
||||||
* @package Thelia\Core\DependencyInjection\Compiler
|
* @package Thelia\Core\DependencyInjection\Compiler
|
||||||
@@ -50,7 +49,7 @@ class TranslatorPass implements CompilerPassInterface
|
|||||||
|
|
||||||
$translator = $container->getDefinition('thelia.translator');
|
$translator = $container->getDefinition('thelia.translator');
|
||||||
|
|
||||||
foreach($container->findTaggedServiceIds('translation.loader') as $id => $attributes) {
|
foreach ($container->findTaggedServiceIds('translation.loader') as $id => $attributes) {
|
||||||
$translator->addMethodCall('addLoader', array($attributes[0]['alias'], new Reference($id)));
|
$translator->addMethodCall('addLoader', array($attributes[0]['alias'], new Reference($id)));
|
||||||
if (isset($attributes[0]['legacy-alias'])) {
|
if (isset($attributes[0]['legacy-alias'])) {
|
||||||
$translator->addMethodCall('addLoader', array($attributes[0]['legacy-alias'], new Reference($id)));
|
$translator->addMethodCall('addLoader', array($attributes[0]['legacy-alias'], new Reference($id)));
|
||||||
|
|||||||
@@ -25,7 +25,6 @@ namespace Thelia\Core\Event\Administrator;
|
|||||||
use Thelia\Core\Event\ActionEvent;
|
use Thelia\Core\Event\ActionEvent;
|
||||||
use Thelia\Model\Admin;
|
use Thelia\Model\Admin;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class AdministratorUpdatePasswordEvent
|
* Class AdministratorUpdatePasswordEvent
|
||||||
* @package Thelia\Core\Event\Administrator
|
* @package Thelia\Core\Event\Administrator
|
||||||
@@ -82,4 +81,3 @@ class AdministratorUpdatePasswordEvent extends ActionEvent
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,6 @@
|
|||||||
namespace Thelia\Core\Event\Customer;
|
namespace Thelia\Core\Event\Customer;
|
||||||
|
|
||||||
use Symfony\Component\EventDispatcher\Event;
|
use Symfony\Component\EventDispatcher\Event;
|
||||||
use Thelia\Core\Event\ActionEvent;
|
|
||||||
use Thelia\Model\Customer;
|
use Thelia\Model\Customer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -23,7 +23,6 @@
|
|||||||
|
|
||||||
namespace Thelia\Core\Event\Customer;
|
namespace Thelia\Core\Event\Customer;
|
||||||
|
|
||||||
use Thelia\Core\Event\ActionEvent;
|
|
||||||
use Thelia\Model\Customer;
|
use Thelia\Model\Customer;
|
||||||
|
|
||||||
class CustomerLoginEvent extends CustomerEvent
|
class CustomerLoginEvent extends CustomerEvent
|
||||||
|
|||||||
@@ -65,6 +65,7 @@ class ProductCombinationGenerationEvent extends ProductEvent
|
|||||||
public function setReference($reference)
|
public function setReference($reference)
|
||||||
{
|
{
|
||||||
$this->reference = $reference;
|
$this->reference = $reference;
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -76,6 +77,7 @@ class ProductCombinationGenerationEvent extends ProductEvent
|
|||||||
public function setPrice($price)
|
public function setPrice($price)
|
||||||
{
|
{
|
||||||
$this->price = $price;
|
$this->price = $price;
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -87,6 +89,7 @@ class ProductCombinationGenerationEvent extends ProductEvent
|
|||||||
public function setWeight($weight)
|
public function setWeight($weight)
|
||||||
{
|
{
|
||||||
$this->weight = $weight;
|
$this->weight = $weight;
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -98,6 +101,7 @@ class ProductCombinationGenerationEvent extends ProductEvent
|
|||||||
public function setQuantity($quantity)
|
public function setQuantity($quantity)
|
||||||
{
|
{
|
||||||
$this->quantity = $quantity;
|
$this->quantity = $quantity;
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -109,6 +113,7 @@ class ProductCombinationGenerationEvent extends ProductEvent
|
|||||||
public function setSalePrice($sale_price)
|
public function setSalePrice($sale_price)
|
||||||
{
|
{
|
||||||
$this->sale_price = $sale_price;
|
$this->sale_price = $sale_price;
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -120,6 +125,7 @@ class ProductCombinationGenerationEvent extends ProductEvent
|
|||||||
public function setOnsale($onsale)
|
public function setOnsale($onsale)
|
||||||
{
|
{
|
||||||
$this->onsale = $onsale;
|
$this->onsale = $onsale;
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -131,6 +137,7 @@ class ProductCombinationGenerationEvent extends ProductEvent
|
|||||||
public function setIsnew($isnew)
|
public function setIsnew($isnew)
|
||||||
{
|
{
|
||||||
$this->isnew = $isnew;
|
$this->isnew = $isnew;
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -142,6 +149,7 @@ class ProductCombinationGenerationEvent extends ProductEvent
|
|||||||
public function setEanCode($ean_code)
|
public function setEanCode($ean_code)
|
||||||
{
|
{
|
||||||
$this->ean_code = $ean_code;
|
$this->ean_code = $ean_code;
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
@@ -154,6 +162,7 @@ class ProductCombinationGenerationEvent extends ProductEvent
|
|||||||
public function setCombinations($combinations)
|
public function setCombinations($combinations)
|
||||||
{
|
{
|
||||||
$this->combinations = $combinations;
|
$this->combinations = $combinations;
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -22,7 +22,6 @@
|
|||||||
/*************************************************************************************/
|
/*************************************************************************************/
|
||||||
|
|
||||||
namespace Thelia\Core\Event\ProductSaleElement;
|
namespace Thelia\Core\Event\ProductSaleElement;
|
||||||
use Thelia\Model\Product;
|
|
||||||
|
|
||||||
class ProductSaleElementDeleteEvent extends ProductSaleElementEvent
|
class ProductSaleElementDeleteEvent extends ProductSaleElementEvent
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -184,5 +184,4 @@ class UpdateSeoEvent extends ActionEvent
|
|||||||
return $this->object;
|
return $this->object;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,12 +30,10 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
|
|||||||
use Symfony\Component\HttpFoundation\Request;
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
use Thelia\Core\HttpFoundation\Response;
|
use Thelia\Core\HttpFoundation\Response;
|
||||||
use Symfony\Component\Routing\Router;
|
use Symfony\Component\Routing\Router;
|
||||||
use Thelia\Core\HttpKernel\Exception\NotFountHttpException;
|
|
||||||
use Thelia\Core\Template\Exception\ResourceNotFoundException;
|
use Thelia\Core\Template\Exception\ResourceNotFoundException;
|
||||||
use Thelia\Core\Template\ParserInterface;
|
use Thelia\Core\Template\ParserInterface;
|
||||||
use Thelia\Core\Template\TemplateHelper;
|
use Thelia\Core\Template\TemplateHelper;
|
||||||
use Thelia\Exception\OrderException;
|
use Thelia\Exception\OrderException;
|
||||||
use Thelia\Model\ConfigQuery;
|
|
||||||
use Thelia\Tools\Redirect;
|
use Thelia\Tools\Redirect;
|
||||||
use Thelia\Tools\URL;
|
use Thelia\Tools\URL;
|
||||||
use Thelia\Core\Security\Exception\AuthenticationException;
|
use Thelia\Core\Security\Exception\AuthenticationException;
|
||||||
|
|||||||
@@ -39,8 +39,8 @@ class Response extends BaseResponse
|
|||||||
*
|
*
|
||||||
* @see \Thelia\Core\HttpFoundation\Response::sendContent()
|
* @see \Thelia\Core\HttpFoundation\Response::sendContent()
|
||||||
*/
|
*/
|
||||||
public function sendContent() {
|
public function sendContent()
|
||||||
|
{
|
||||||
Tlog::getInstance()->write($this->content);
|
Tlog::getInstance()->write($this->content);
|
||||||
|
|
||||||
parent::sendContent();
|
parent::sendContent();
|
||||||
|
|||||||
@@ -65,6 +65,7 @@ class HttpCache extends BaseHttpCache implements HttpKernelInterface
|
|||||||
$request->getContent()
|
$request->getContent()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return parent::handle($request, $type, $catch);
|
return parent::handle($request, $type, $catch);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -177,7 +177,7 @@ class SecurityContext
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!array_key_exists('module', $userPermissions)) {
|
if (!array_key_exists('module', $userPermissions)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -23,12 +23,13 @@
|
|||||||
|
|
||||||
namespace Thelia\Core\Template\Assets;
|
namespace Thelia\Core\Template\Assets;
|
||||||
|
|
||||||
interface AssetManagerInterface {
|
interface AssetManagerInterface
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Prepare an asset directory.
|
* Prepare an asset directory.
|
||||||
*
|
*
|
||||||
* @param string $source_assets_directory the full path to the source asstes directory
|
* @param string $source_assets_directory the full path to the source asstes directory
|
||||||
* @param string $web_assets_directory_base the base directory of the web based asset directory
|
* @param string $web_assets_directory_base the base directory of the web based asset directory
|
||||||
* @throws \RuntimeException if something goes wrong.
|
* @throws \RuntimeException if something goes wrong.
|
||||||
*/
|
*/
|
||||||
public function prepareAssets($source_assets_directory, $web_assets_directory_base);
|
public function prepareAssets($source_assets_directory, $web_assets_directory_base);
|
||||||
@@ -36,15 +37,15 @@ interface AssetManagerInterface {
|
|||||||
/**
|
/**
|
||||||
* Generates assets from $asset_path in $output_path, using $filters.
|
* Generates assets from $asset_path in $output_path, using $filters.
|
||||||
*
|
*
|
||||||
* @param string $asset_path the full path to the asset file (or file collection, e.g. *.less)
|
* @param string $asset_path the full path to the asset file (or file collection, e.g. *.less)
|
||||||
*
|
*
|
||||||
* @param string $web_assets_directory_base the full disk path to the base assets output directory in the web space
|
* @param string $web_assets_directory_base the full disk path to the base assets output directory in the web space
|
||||||
* @param string $output_url the URL to the base assets output directory in the web space
|
* @param string $output_url the URL to the base assets output directory in the web space
|
||||||
*
|
*
|
||||||
* @param string $asset_type the asset type: css, js, ... The generated files will have this extension. Pass an empty string to use the asset source extension.
|
* @param string $asset_type the asset type: css, js, ... The generated files will have this extension. Pass an empty string to use the asset source extension.
|
||||||
* @param array $filters a list of filters, as defined below (see switch($filter_name) ...)
|
* @param array $filters a list of filters, as defined below (see switch($filter_name) ...)
|
||||||
*
|
*
|
||||||
* @param boolean $debug the debug mode, true or false
|
* @param boolean $debug the debug mode, true or false
|
||||||
*
|
*
|
||||||
* @throws \InvalidArgumentException if an invalid filter name is found
|
* @throws \InvalidArgumentException if an invalid filter name is found
|
||||||
* @return string The URL to the generated asset file.
|
* @return string The URL to the generated asset file.
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ class AsseticAssetManager implements AssetManagerInterface
|
|||||||
/**
|
/**
|
||||||
* Create a stamp form the modification time of the content of the given directory and all of its subdirectories
|
* Create a stamp form the modification time of the content of the given directory and all of its subdirectories
|
||||||
*
|
*
|
||||||
* @param string $directory ther directory name
|
* @param string $directory ther directory name
|
||||||
* @return string the stamp of this directory
|
* @return string the stamp of this directory
|
||||||
*/
|
*/
|
||||||
protected function getStamp($directory)
|
protected function getStamp($directory)
|
||||||
@@ -75,7 +75,8 @@ class AsseticAssetManager implements AssetManagerInterface
|
|||||||
*
|
*
|
||||||
* @param \DirectoryIterator $fileInfo
|
* @param \DirectoryIterator $fileInfo
|
||||||
*/
|
*/
|
||||||
protected function isSourceFile(\SplFileInfo $fileInfo) {
|
protected function isSourceFile(\SplFileInfo $fileInfo)
|
||||||
|
{
|
||||||
return in_array($fileInfo->getExtension(), $this->source_file_extensions);
|
return in_array($fileInfo->getExtension(), $this->source_file_extensions);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -83,8 +84,8 @@ class AsseticAssetManager implements AssetManagerInterface
|
|||||||
* Recursively copy assets from the source directory to the destination
|
* Recursively copy assets from the source directory to the destination
|
||||||
* directory in the web space, ommiting source files.
|
* directory in the web space, ommiting source files.
|
||||||
*
|
*
|
||||||
* @param string $from_directory the source
|
* @param string $from_directory the source
|
||||||
* @param string $to_directory the destination
|
* @param string $to_directory the destination
|
||||||
* @throws \RuntimeException if a problem occurs.
|
* @throws \RuntimeException if a problem occurs.
|
||||||
*/
|
*/
|
||||||
protected function copyAssets(Filesystem $fs, $from_directory, $to_directory)
|
protected function copyAssets(Filesystem $fs, $from_directory, $to_directory)
|
||||||
@@ -124,9 +125,9 @@ class AsseticAssetManager implements AssetManagerInterface
|
|||||||
/**
|
/**
|
||||||
* Compite the assets path relative to the base template directory
|
* Compite the assets path relative to the base template directory
|
||||||
*
|
*
|
||||||
* @param string $source_assets_directory the source directory
|
* @param string $source_assets_directory the source directory
|
||||||
* @param string $web_assets_directory_base base directory of the web assets
|
* @param string $web_assets_directory_base base directory of the web assets
|
||||||
* @return the full path of the destination directory
|
* @return the full path of the destination directory
|
||||||
*/
|
*/
|
||||||
protected function getRelativeDirectoryPath($source_assets_directory, $web_assets_directory_base)
|
protected function getRelativeDirectoryPath($source_assets_directory, $web_assets_directory_base)
|
||||||
{
|
{
|
||||||
@@ -145,9 +146,9 @@ class AsseticAssetManager implements AssetManagerInterface
|
|||||||
* Compute the destination directory path, from the source directory and the
|
* Compute the destination directory path, from the source directory and the
|
||||||
* base directory of the web assets
|
* base directory of the web assets
|
||||||
*
|
*
|
||||||
* @param string $source_assets_directory the source directory
|
* @param string $source_assets_directory the source directory
|
||||||
* @param string $web_assets_directory_base base directory of the web assets
|
* @param string $web_assets_directory_base base directory of the web assets
|
||||||
* @return the full path of the destination directory
|
* @return the full path of the destination directory
|
||||||
*/
|
*/
|
||||||
protected function getDestinationDirectory($source_assets_directory, $web_assets_directory_base)
|
protected function getDestinationDirectory($source_assets_directory, $web_assets_directory_base)
|
||||||
{
|
{
|
||||||
@@ -160,12 +161,12 @@ class AsseticAssetManager implements AssetManagerInterface
|
|||||||
* the source directory. If any change is detected, the whole asset directory
|
* the source directory. If any change is detected, the whole asset directory
|
||||||
* is copied in the web space.
|
* is copied in the web space.
|
||||||
*
|
*
|
||||||
* @param string $source_assets_directory the full path to the source asstes directory
|
* @param string $source_assets_directory the full path to the source asstes directory
|
||||||
* @param string $web_assets_directory_base the base directory of the web based asset directory
|
* @param string $web_assets_directory_base the base directory of the web based asset directory
|
||||||
* @throws \RuntimeException if something goes wrong.
|
* @throws \RuntimeException if something goes wrong.
|
||||||
*/
|
*/
|
||||||
public function prepareAssets($source_assets_directory, $web_assets_directory_base) {
|
public function prepareAssets($source_assets_directory, $web_assets_directory_base)
|
||||||
|
{
|
||||||
// Compute the absolute path of the output directory
|
// Compute the absolute path of the output directory
|
||||||
$to_directory = $this->getDestinationDirectory($source_assets_directory, $web_assets_directory_base);
|
$to_directory = $this->getDestinationDirectory($source_assets_directory, $web_assets_directory_base);
|
||||||
|
|
||||||
@@ -217,8 +218,7 @@ class AsseticAssetManager implements AssetManagerInterface
|
|||||||
throw new \RuntimeException(
|
throw new \RuntimeException(
|
||||||
"Failed to create asset stamp file $stamp_file_path. Please check that your web server has the proper access rights to do that.");
|
"Failed to create asset stamp file $stamp_file_path. Please check that your web server has the proper access rights to do that.");
|
||||||
}
|
}
|
||||||
/* }
|
/* } else {
|
||||||
else {
|
|
||||||
@fclose($fp);
|
@fclose($fp);
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
@@ -228,13 +228,13 @@ class AsseticAssetManager implements AssetManagerInterface
|
|||||||
/**
|
/**
|
||||||
* Decode the filters names, and initialize the Assetic FilterManager
|
* Decode the filters names, and initialize the Assetic FilterManager
|
||||||
*
|
*
|
||||||
* @param FilterManager $filterManager the Assetic filter manager
|
* @param FilterManager $filterManager the Assetic filter manager
|
||||||
* @param string $filters a comma separated list of filter names
|
* @param string $filters a comma separated list of filter names
|
||||||
* @throws \InvalidArgumentException if a wrong filter is passed
|
* @throws \InvalidArgumentException if a wrong filter is passed
|
||||||
* @return an array of filter names
|
* @return an array of filter names
|
||||||
*/
|
*/
|
||||||
protected function decodeAsseticFilters(FilterManager $filterManager, $filters) {
|
protected function decodeAsseticFilters(FilterManager $filterManager, $filters)
|
||||||
|
{
|
||||||
if (!empty($filters)) {
|
if (!empty($filters)) {
|
||||||
|
|
||||||
$filter_list = explode(',', $filters);
|
$filter_list = explode(',', $filters);
|
||||||
@@ -273,8 +273,7 @@ class AsseticAssetManager implements AssetManagerInterface
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
$filter_list = array();
|
$filter_list = array();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -284,15 +283,15 @@ class AsseticAssetManager implements AssetManagerInterface
|
|||||||
/**
|
/**
|
||||||
* Generates assets from $asset_path in $output_path, using $filters.
|
* Generates assets from $asset_path in $output_path, using $filters.
|
||||||
*
|
*
|
||||||
* @param string $asset_path the full path to the asset file (or file collection, e.g. *.less)
|
* @param string $asset_path the full path to the asset file (or file collection, e.g. *.less)
|
||||||
*
|
*
|
||||||
* @param string $web_assets_directory_base the full disk path to the base assets output directory in the web space
|
* @param string $web_assets_directory_base the full disk path to the base assets output directory in the web space
|
||||||
* @param string $output_url the URL to the base assets output directory in the web space
|
* @param string $output_url the URL to the base assets output directory in the web space
|
||||||
*
|
*
|
||||||
* @param string $asset_type the asset type: css, js, ... The generated files will have this extension. Pass an empty string to use the asset source extension.
|
* @param string $asset_type the asset type: css, js, ... The generated files will have this extension. Pass an empty string to use the asset source extension.
|
||||||
* @param array $filters a list of filters, as defined below (see switch($filter_name) ...)
|
* @param array $filters a list of filters, as defined below (see switch($filter_name) ...)
|
||||||
*
|
*
|
||||||
* @param boolean $debug true / false
|
* @param boolean $debug true / false
|
||||||
* @throws \InvalidArgumentException if an invalid filter name is found
|
* @throws \InvalidArgumentException if an invalid filter name is found
|
||||||
* @return string The URL to the generated asset file.
|
* @return string The URL to the generated asset file.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -277,7 +277,6 @@ abstract class BaseLoop
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
protected function searchArray(array $search, &$pagination = null)
|
protected function searchArray(array $search, &$pagination = null)
|
||||||
{
|
{
|
||||||
if (false === $this->countable) {
|
if (false === $this->countable) {
|
||||||
@@ -286,7 +285,7 @@ abstract class BaseLoop
|
|||||||
if ($this->getArgValue('page') !== null) {
|
if ($this->getArgValue('page') !== null) {
|
||||||
|
|
||||||
$nbPage = ceil(count($search)/$this->getArgValue('limit'));
|
$nbPage = ceil(count($search)/$this->getArgValue('limit'));
|
||||||
if($this->getArgValue('page') > $nbPage || $this->getArgValue('page') <= 0) {
|
if ($this->getArgValue('page') > $nbPage || $this->getArgValue('page') <= 0) {
|
||||||
return array();
|
return array();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -338,9 +337,9 @@ abstract class BaseLoop
|
|||||||
*/
|
*/
|
||||||
public function exec(&$pagination)
|
public function exec(&$pagination)
|
||||||
{
|
{
|
||||||
if($this instanceof PropelSearchLoopInterface) {
|
if ($this instanceof PropelSearchLoopInterface) {
|
||||||
$searchModelCriteria = $this->buildModelCriteria();
|
$searchModelCriteria = $this->buildModelCriteria();
|
||||||
if(null === $searchModelCriteria) {
|
if (null === $searchModelCriteria) {
|
||||||
$results = array();
|
$results = array();
|
||||||
} else {
|
} else {
|
||||||
$results = $this->search(
|
$results = $this->search(
|
||||||
@@ -350,7 +349,7 @@ abstract class BaseLoop
|
|||||||
}
|
}
|
||||||
} elseif ($this instanceof ArraySearchLoopInterface) {
|
} elseif ($this instanceof ArraySearchLoopInterface) {
|
||||||
$searchArray = $this->buildArray();
|
$searchArray = $this->buildArray();
|
||||||
if(null === $searchArray) {
|
if (null === $searchArray) {
|
||||||
$results = array();
|
$results = array();
|
||||||
} else {
|
} else {
|
||||||
$results = $this->searchArray(
|
$results = $this->searchArray(
|
||||||
@@ -362,13 +361,13 @@ abstract class BaseLoop
|
|||||||
|
|
||||||
$loopResult = new LoopResult($results);
|
$loopResult = new LoopResult($results);
|
||||||
|
|
||||||
if(true === $this->countable) {
|
if (true === $this->countable) {
|
||||||
$loopResult->setCountable();
|
$loopResult->setCountable();
|
||||||
}
|
}
|
||||||
if(true === $this->timestampable) {
|
if (true === $this->timestampable) {
|
||||||
$loopResult->setTimestamped();
|
$loopResult->setTimestamped();
|
||||||
}
|
}
|
||||||
if(true === $this->versionable) {
|
if (true === $this->versionable) {
|
||||||
$loopResult->setVersioned();
|
$loopResult->setVersioned();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -382,29 +381,29 @@ abstract class BaseLoop
|
|||||||
* - ArraySearchLoopInterface
|
* - ArraySearchLoopInterface
|
||||||
*/
|
*/
|
||||||
$searchInterface = false;
|
$searchInterface = false;
|
||||||
if($this instanceof PropelSearchLoopInterface) {
|
if ($this instanceof PropelSearchLoopInterface) {
|
||||||
if(true === $searchInterface) {
|
if (true === $searchInterface) {
|
||||||
throw new LoopException('Loop cannot implements multiple Search Interfaces : `PropelSearchLoopInterface`, `ArraySearchLoopInterface`', LoopException::MULTIPLE_SEARCH_INTERFACE);
|
throw new LoopException('Loop cannot implements multiple Search Interfaces : `PropelSearchLoopInterface`, `ArraySearchLoopInterface`', LoopException::MULTIPLE_SEARCH_INTERFACE);
|
||||||
}
|
}
|
||||||
$searchInterface = true;
|
$searchInterface = true;
|
||||||
}
|
}
|
||||||
if($this instanceof ArraySearchLoopInterface) {
|
if ($this instanceof ArraySearchLoopInterface) {
|
||||||
if(true === $searchInterface) {
|
if (true === $searchInterface) {
|
||||||
throw new LoopException('Loop cannot implements multiple Search Interfaces : `PropelSearchLoopInterface`, `ArraySearchLoopInterface`', LoopException::MULTIPLE_SEARCH_INTERFACE);
|
throw new LoopException('Loop cannot implements multiple Search Interfaces : `PropelSearchLoopInterface`, `ArraySearchLoopInterface`', LoopException::MULTIPLE_SEARCH_INTERFACE);
|
||||||
}
|
}
|
||||||
$searchInterface = true;
|
$searchInterface = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(false === $searchInterface) {
|
if (false === $searchInterface) {
|
||||||
throw new LoopException('Loop must implements one of the following interfaces : `PropelSearchLoopInterface`, `ArraySearchLoopInterface`', LoopException::SEARCH_INTERFACE_NOT_FOUND);
|
throw new LoopException('Loop must implements one of the following interfaces : `PropelSearchLoopInterface`, `ArraySearchLoopInterface`', LoopException::SEARCH_INTERFACE_NOT_FOUND);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Only PropelSearch allows timestamp and version */
|
/* Only PropelSearch allows timestamp and version */
|
||||||
if(!$this instanceof PropelSearchLoopInterface) {
|
if (!$this instanceof PropelSearchLoopInterface) {
|
||||||
if(true === $this->timestampable) {
|
if (true === $this->timestampable) {
|
||||||
throw new LoopException("Loop must implements 'PropelSearchLoopInterface' to be timestampable", LoopException::NOT_TIMESTAMPED);
|
throw new LoopException("Loop must implements 'PropelSearchLoopInterface' to be timestampable", LoopException::NOT_TIMESTAMPED);
|
||||||
}
|
}
|
||||||
if(true === $this->versionable) {
|
if (true === $this->versionable) {
|
||||||
throw new LoopException("Loop must implements 'PropelSearchLoopInterface' to be versionable", LoopException::NOT_VERSIONED);
|
throw new LoopException("Loop must implements 'PropelSearchLoopInterface' to be versionable", LoopException::NOT_VERSIONED);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,7 +33,6 @@ use Thelia\Core\Template\Loop\Argument\ArgumentCollection;
|
|||||||
use Thelia\Core\Template\Loop\Argument\Argument;
|
use Thelia\Core\Template\Loop\Argument\Argument;
|
||||||
|
|
||||||
use Thelia\Model\AdminQuery;
|
use Thelia\Model\AdminQuery;
|
||||||
use Thelia\Type;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ class Auth extends BaseLoop implements ArraySearchLoopInterface
|
|||||||
$module = $this->getModule();
|
$module = $this->getModule();
|
||||||
$access = $this->getAccess();
|
$access = $this->getAccess();
|
||||||
|
|
||||||
if(null !== $module) {
|
if (null !== $module) {
|
||||||
$in = true;
|
$in = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,6 @@
|
|||||||
namespace Thelia\Core\Template\Loop;
|
namespace Thelia\Core\Template\Loop;
|
||||||
use Propel\Runtime\ActiveQuery\Criteria;
|
use Propel\Runtime\ActiveQuery\Criteria;
|
||||||
use Thelia\Core\Template\Element\BaseI18nLoop;
|
use Thelia\Core\Template\Element\BaseI18nLoop;
|
||||||
use Thelia\Core\Template\Element\LoopResult;
|
|
||||||
use Thelia\Core\Template\Element\PropelSearchLoopInterface;
|
use Thelia\Core\Template\Element\PropelSearchLoopInterface;
|
||||||
use Thelia\Core\Template\Loop\Argument\Argument;
|
use Thelia\Core\Template\Loop\Argument\Argument;
|
||||||
use Thelia\Core\Template\Loop\Argument\ArgumentCollection;
|
use Thelia\Core\Template\Loop\Argument\ArgumentCollection;
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ class Cart extends BaseLoop implements ArraySearchLoopInterface
|
|||||||
{
|
{
|
||||||
$cart = $this->getCart($this->request);
|
$cart = $this->getCart($this->request);
|
||||||
|
|
||||||
if(null === $cart) {
|
if (null === $cart) {
|
||||||
return array();
|
return array();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -80,7 +80,7 @@ class Cart extends BaseLoop implements ArraySearchLoopInterface
|
|||||||
{
|
{
|
||||||
$taxCountry = CountryQuery::create()->findPk(64); // @TODO : make it magic;
|
$taxCountry = CountryQuery::create()->findPk(64); // @TODO : make it magic;
|
||||||
|
|
||||||
foreach($loopResult->getResultDataCollection() as $cartItem) {
|
foreach ($loopResult->getResultDataCollection() as $cartItem) {
|
||||||
$product = $cartItem->getProduct();
|
$product = $cartItem->getProduct();
|
||||||
$productSaleElement = $cartItem->getProductSaleElements();
|
$productSaleElement = $cartItem->getProductSaleElements();
|
||||||
|
|
||||||
|
|||||||
@@ -125,9 +125,9 @@ class CategoryPath extends BaseI18nLoop implements ArraySearchLoopInterface
|
|||||||
|
|
||||||
public function parseResults(LoopResult $loopResult)
|
public function parseResults(LoopResult $loopResult)
|
||||||
{
|
{
|
||||||
foreach($loopResult->getResultDataCollection() as $result) {
|
foreach ($loopResult->getResultDataCollection() as $result) {
|
||||||
$loopResultRow = new LoopResultRow($result);
|
$loopResultRow = new LoopResultRow($result);
|
||||||
foreach($result as $output => $outputValue) {
|
foreach ($result as $output => $outputValue) {
|
||||||
$loopResultRow->set($output, $outputValue);
|
$loopResultRow->set($output, $outputValue);
|
||||||
}
|
}
|
||||||
$loopResult->addRow($loopResultRow);
|
$loopResult->addRow($loopResultRow);
|
||||||
|
|||||||
@@ -99,9 +99,9 @@ class CategoryTree extends BaseI18nLoop implements ArraySearchLoopInterface
|
|||||||
|
|
||||||
public function parseResults(LoopResult $loopResult)
|
public function parseResults(LoopResult $loopResult)
|
||||||
{
|
{
|
||||||
foreach($loopResult->getResultDataCollection() as $result) {
|
foreach ($loopResult->getResultDataCollection() as $result) {
|
||||||
$loopResultRow = new LoopResultRow($result);
|
$loopResultRow = new LoopResultRow($result);
|
||||||
foreach($result as $output => $outputValue) {
|
foreach ($result as $output => $outputValue) {
|
||||||
$loopResultRow->set($output, $outputValue);
|
$loopResultRow->set($output, $outputValue);
|
||||||
}
|
}
|
||||||
$loopResult->addRow($loopResultRow);
|
$loopResult->addRow($loopResultRow);
|
||||||
|
|||||||
@@ -24,7 +24,6 @@
|
|||||||
namespace Thelia\Core\Template\Loop;
|
namespace Thelia\Core\Template\Loop;
|
||||||
|
|
||||||
use Propel\Runtime\ActiveQuery\Criteria;
|
use Propel\Runtime\ActiveQuery\Criteria;
|
||||||
use Propel\Runtime\Util\PropelModelPager;
|
|
||||||
use Thelia\Condition\ConditionFactory;
|
use Thelia\Condition\ConditionFactory;
|
||||||
use Thelia\Condition\Implementation\ConditionInterface;
|
use Thelia\Condition\Implementation\ConditionInterface;
|
||||||
use Thelia\Core\HttpFoundation\Request;
|
use Thelia\Core\HttpFoundation\Request;
|
||||||
|
|||||||
@@ -158,6 +158,7 @@ class Currency extends BaseI18nLoop implements PropelSearchLoopInterface
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* perform search */
|
/* perform search */
|
||||||
|
|
||||||
return $search;
|
return $search;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,9 +36,6 @@ use Thelia\Core\Template\Loop\Argument\Argument;
|
|||||||
use Thelia\Model\CustomerQuery;
|
use Thelia\Model\CustomerQuery;
|
||||||
use Thelia\Type\TypeCollection;
|
use Thelia\Type\TypeCollection;
|
||||||
use Thelia\Type;
|
use Thelia\Type;
|
||||||
use Thelia\Model\OrderQuery;
|
|
||||||
use Thelia\Model\Map\OrderAddressTableMap;
|
|
||||||
use Thelia\Model\Map\OrderTableMap;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -208,7 +205,6 @@ class Customer extends BaseLoop implements SearchLoopInterface, PropelSearchLoop
|
|||||||
$search->orderByCreatedAt(Criteria::DESC);
|
$search->orderByCreatedAt(Criteria::DESC);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -73,8 +73,8 @@ class Delivery extends BaseSpecificModule
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
$postage = $moduleInstance->getPostage($country);
|
$postage = $moduleInstance->getPostage($country);
|
||||||
} catch(OrderException $e) {
|
} catch (OrderException $e) {
|
||||||
switch($e->getCode()) {
|
switch ($e->getCode()) {
|
||||||
case OrderException::DELIVERY_MODULE_UNAVAILABLE:
|
case OrderException::DELIVERY_MODULE_UNAVAILABLE:
|
||||||
/* do not show this delivery module */
|
/* do not show this delivery module */
|
||||||
continue(2);
|
continue(2);
|
||||||
|
|||||||
@@ -126,7 +126,6 @@ class Folder extends BaseI18nLoop implements PropelSearchLoopInterface
|
|||||||
|
|
||||||
if ($visible !== BooleanOrBothType::ANY) $search->filterByVisible($visible ? 1 : 0);
|
if ($visible !== BooleanOrBothType::ANY) $search->filterByVisible($visible ? 1 : 0);
|
||||||
|
|
||||||
|
|
||||||
$orders = $this->getOrder();
|
$orders = $this->getOrder();
|
||||||
|
|
||||||
foreach ($orders as $order) {
|
foreach ($orders as $order) {
|
||||||
|
|||||||
@@ -135,9 +135,9 @@ class FolderPath extends BaseI18nLoop implements ArraySearchLoopInterface
|
|||||||
|
|
||||||
public function parseResults(LoopResult $loopResult)
|
public function parseResults(LoopResult $loopResult)
|
||||||
{
|
{
|
||||||
foreach($loopResult->getResultDataCollection() as $result) {
|
foreach ($loopResult->getResultDataCollection() as $result) {
|
||||||
$loopResultRow = new LoopResultRow($result);
|
$loopResultRow = new LoopResultRow($result);
|
||||||
foreach($result as $output => $outputValue) {
|
foreach ($result as $output => $outputValue) {
|
||||||
$loopResultRow->set($output, $outputValue);
|
$loopResultRow->set($output, $outputValue);
|
||||||
}
|
}
|
||||||
$loopResult->addRow($loopResultRow);
|
$loopResult->addRow($loopResultRow);
|
||||||
|
|||||||
@@ -100,9 +100,9 @@ class FolderTree extends BaseI18nLoop implements ArraySearchLoopInterface
|
|||||||
|
|
||||||
public function parseResults(LoopResult $loopResult)
|
public function parseResults(LoopResult $loopResult)
|
||||||
{
|
{
|
||||||
foreach($loopResult->getResultDataCollection() as $result) {
|
foreach ($loopResult->getResultDataCollection() as $result) {
|
||||||
$loopResultRow = new LoopResultRow($result);
|
$loopResultRow = new LoopResultRow($result);
|
||||||
foreach($result as $output => $outputValue) {
|
foreach ($result as $output => $outputValue) {
|
||||||
$loopResultRow->set($output, $outputValue);
|
$loopResultRow->set($output, $outputValue);
|
||||||
}
|
}
|
||||||
$loopResult->addRow($loopResultRow);
|
$loopResult->addRow($loopResultRow);
|
||||||
|
|||||||
@@ -236,7 +236,6 @@ class Image extends BaseI18nLoop implements PropelSearchLoopInterface
|
|||||||
$search->filterById($exclude, Criteria::NOT_IN);
|
$search->filterById($exclude, Criteria::NOT_IN);
|
||||||
|
|
||||||
// echo "sql=".$search->toString();
|
// echo "sql=".$search->toString();
|
||||||
|
|
||||||
return $search;
|
return $search;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -153,19 +153,19 @@ class Module extends BaseI18nLoop implements PropelSearchLoopInterface
|
|||||||
|
|
||||||
/* first test if module defines it's own config route */
|
/* first test if module defines it's own config route */
|
||||||
$routerId = "router." . $module->getBaseDir();
|
$routerId = "router." . $module->getBaseDir();
|
||||||
if($this->container->has($routerId)) {
|
if ($this->container->has($routerId)) {
|
||||||
try {
|
try {
|
||||||
if($this->container->get($routerId)->match('/admin/module/' . $module->getCode())) {
|
if ($this->container->get($routerId)->match('/admin/module/' . $module->getCode())) {
|
||||||
$hasConfigurationInterface = true;
|
$hasConfigurationInterface = true;
|
||||||
}
|
}
|
||||||
} catch(ResourceNotFoundException $e) {
|
} catch (ResourceNotFoundException $e) {
|
||||||
/* $hasConfigurationInterface stays false */
|
/* $hasConfigurationInterface stays false */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* if not ; test if it uses admin inclusion : module_configuration.html */
|
/* if not ; test if it uses admin inclusion : module_configuration.html */
|
||||||
if(false === $hasConfigurationInterface) {
|
if (false === $hasConfigurationInterface) {
|
||||||
if(file_exists( sprintf("%s/AdminIncludes/%s.html", $module->getAbsoluteBaseDir(), "module_configuration"))) {
|
if (file_exists( sprintf("%s/AdminIncludes/%s.html", $module->getAbsoluteBaseDir(), "module_configuration"))) {
|
||||||
$hasConfigurationInterface = true;
|
$hasConfigurationInterface = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ use Thelia\Type;
|
|||||||
*/
|
*/
|
||||||
class Order extends BaseLoop implements SearchLoopInterface, PropelSearchLoopInterface
|
class Order extends BaseLoop implements SearchLoopInterface, PropelSearchLoopInterface
|
||||||
{
|
{
|
||||||
protected $countable = true;
|
protected $countable = true;
|
||||||
protected $timestampable = true;
|
protected $timestampable = true;
|
||||||
protected $versionable = false;
|
protected $versionable = false;
|
||||||
|
|
||||||
|
|||||||
@@ -33,7 +33,6 @@ use Thelia\Core\Template\Loop\Argument\ArgumentCollection;
|
|||||||
use Thelia\Core\Template\Loop\Argument\Argument;
|
use Thelia\Core\Template\Loop\Argument\Argument;
|
||||||
|
|
||||||
use Thelia\Model\ProfileQuery;
|
use Thelia\Model\ProfileQuery;
|
||||||
use Thelia\Type;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -23,19 +23,12 @@
|
|||||||
|
|
||||||
namespace Thelia\Core\Template\Loop;
|
namespace Thelia\Core\Template\Loop;
|
||||||
|
|
||||||
use Propel\Runtime\ActiveQuery\Criteria;
|
|
||||||
use Thelia\Core\Security\AccessManager;
|
|
||||||
use Thelia\Core\Template\Element\BaseI18nLoop;
|
|
||||||
use Thelia\Core\Template\Element\LoopResult;
|
use Thelia\Core\Template\Element\LoopResult;
|
||||||
use Thelia\Core\Template\Element\LoopResultRow;
|
use Thelia\Core\Template\Element\LoopResultRow;
|
||||||
|
|
||||||
use Thelia\Core\Template\Element\PropelSearchLoopInterface;
|
|
||||||
use Thelia\Core\Template\Loop\Argument\ArgumentCollection;
|
use Thelia\Core\Template\Loop\Argument\ArgumentCollection;
|
||||||
use Thelia\Core\Template\Loop\Argument\Argument;
|
use Thelia\Core\Template\Loop\Argument\Argument;
|
||||||
|
|
||||||
use Thelia\Model\ModuleQuery;
|
|
||||||
|
|
||||||
use Thelia\Module\BaseModule;
|
|
||||||
use Thelia\Type;
|
use Thelia\Type;
|
||||||
use Thelia\Core\Template\TemplateHelper;
|
use Thelia\Core\Template\TemplateHelper;
|
||||||
use Thelia\Core\Template\TemplateDefinition;
|
use Thelia\Core\Template\TemplateDefinition;
|
||||||
@@ -72,7 +65,8 @@ class Template extends BaseLoop implements ArraySearchLoopInterface
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function buildArray() {
|
public function buildArray()
|
||||||
|
{
|
||||||
$type = $this->getArg(template_type);
|
$type = $this->getArg(template_type);
|
||||||
|
|
||||||
if ($type == 'front-office')
|
if ($type == 'front-office')
|
||||||
|
|||||||
@@ -23,7 +23,6 @@
|
|||||||
|
|
||||||
namespace Thelia\Core\Template\Smarty\Assets;
|
namespace Thelia\Core\Template\Smarty\Assets;
|
||||||
|
|
||||||
use Thelia\Core\Template\Assets\AsseticHelper;
|
|
||||||
use Thelia\Tools\URL;
|
use Thelia\Tools\URL;
|
||||||
use Thelia\Core\Template\Assets\AssetManagerInterface;
|
use Thelia\Core\Template\Assets\AssetManagerInterface;
|
||||||
|
|
||||||
@@ -39,9 +38,9 @@ class SmartyAssetsManager
|
|||||||
/**
|
/**
|
||||||
* Creates a new SmartyAssetsManager instance
|
* Creates a new SmartyAssetsManager instance
|
||||||
*
|
*
|
||||||
* @param AssetManagerInterface $assetsManager an asset manager instance
|
* @param AssetManagerInterface $assetsManager an asset manager instance
|
||||||
* @param string $web_root the disk path to the web root (with final /)
|
* @param string $web_root the disk path to the web root (with final /)
|
||||||
* @param string $path_relative_to_web_root the path (relative to web root) where the assets will be generated
|
* @param string $path_relative_to_web_root the path (relative to web root) where the assets will be generated
|
||||||
*/
|
*/
|
||||||
public function __construct(AssetManagerInterface $assetsManager, $web_root, $path_relative_to_web_root)
|
public function __construct(AssetManagerInterface $assetsManager, $web_root, $path_relative_to_web_root)
|
||||||
{
|
{
|
||||||
@@ -51,8 +50,8 @@ class SmartyAssetsManager
|
|||||||
$this->assetsManager = $assetsManager;
|
$this->assetsManager = $assetsManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function prepareAssets($assets_directory, \Smarty_Internal_Template $template) {
|
public function prepareAssets($assets_directory, \Smarty_Internal_Template $template)
|
||||||
|
{
|
||||||
$tpl_dir = dirname($template->source->filepath);
|
$tpl_dir = dirname($template->source->filepath);
|
||||||
|
|
||||||
$asset_dir_absolute_path = realpath($tpl_dir . DS . $assets_directory);
|
$asset_dir_absolute_path = realpath($tpl_dir . DS . $assets_directory);
|
||||||
|
|||||||
@@ -27,8 +27,6 @@ use Thelia\Core\Template\Smarty\SmartyPluginDescriptor;
|
|||||||
use Thelia\Core\Template\Smarty\AbstractSmartyPlugin;
|
use Thelia\Core\Template\Smarty\AbstractSmartyPlugin;
|
||||||
use Thelia\Tools\URL;
|
use Thelia\Tools\URL;
|
||||||
use Thelia\Core\Security\SecurityContext;
|
use Thelia\Core\Security\SecurityContext;
|
||||||
use Thelia\Model\Config;
|
|
||||||
use Thelia\Model\ConfigQuery;
|
|
||||||
use Thelia\Core\Template\TemplateHelper;
|
use Thelia\Core\Template\TemplateHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -45,8 +43,8 @@ class AdminUtilities extends AbstractSmartyPlugin
|
|||||||
$this->securityContext = $securityContext;
|
$this->securityContext = $securityContext;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function fetch_snippet($smarty, $templateName, $variablesArray) {
|
protected function fetch_snippet($smarty, $templateName, $variablesArray)
|
||||||
|
{
|
||||||
$data = '';
|
$data = '';
|
||||||
|
|
||||||
$snippet_path = sprintf('%s/%s/%s.html',
|
$snippet_path = sprintf('%s/%s/%s.html',
|
||||||
@@ -99,7 +97,6 @@ class AdminUtilities extends AbstractSmartyPlugin
|
|||||||
$module === null ? array() : array($module),
|
$module === null ? array() : array($module),
|
||||||
array($access))
|
array($access))
|
||||||
) {
|
) {
|
||||||
|
|
||||||
return $this->fetch_snippet($smarty, 'includes/admin-utilities-position-block', array(
|
return $this->fetch_snippet($smarty, 'includes/admin-utilities-position-block', array(
|
||||||
'admin_utilities_go_up_url' => URL::getInstance()->absoluteUrl($path, array('mode' => 'up', $url_parameter => $id)),
|
'admin_utilities_go_up_url' => URL::getInstance()->absoluteUrl($path, array('mode' => 'up', $url_parameter => $id)),
|
||||||
'admin_utilities_in_place_edit_class' => $in_place_edit_class,
|
'admin_utilities_in_place_edit_class' => $in_place_edit_class,
|
||||||
|
|||||||
@@ -56,10 +56,11 @@ class Assets extends AbstractSmartyPlugin
|
|||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
return $this->assetManager->processSmartyPluginCall('js', $params, $content, $template, $repeat);
|
return $this->assetManager->processSmartyPluginCall('js', $params, $content, $template, $repeat);
|
||||||
} catch(\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
$catchException = $this->getNormalizedParam($params, array('catchException'));
|
$catchException = $this->getNormalizedParam($params, array('catchException'));
|
||||||
if($catchException == "true") {
|
if ($catchException == "true") {
|
||||||
$repeat = false;
|
$repeat = false;
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
} else {
|
} else {
|
||||||
throw $e;
|
throw $e;
|
||||||
|
|||||||
@@ -266,69 +266,69 @@ class DataAccessFunctions extends AbstractSmartyPlugin
|
|||||||
$includeShipping = true;
|
$includeShipping = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if($params['startDate'] == 'today') {
|
if ($params['startDate'] == 'today') {
|
||||||
$startDate = new \DateTime();
|
$startDate = new \DateTime();
|
||||||
$startDate->setTime(0, 0, 0);
|
$startDate->setTime(0, 0, 0);
|
||||||
} elseif($params['startDate'] == 'yesterday') {
|
} elseif ($params['startDate'] == 'yesterday') {
|
||||||
$startDate = new \DateTime();
|
$startDate = new \DateTime();
|
||||||
$startDate->setTime(0, 0, 0);
|
$startDate->setTime(0, 0, 0);
|
||||||
$startDate->modify('-1 day');
|
$startDate->modify('-1 day');
|
||||||
} elseif($params['startDate'] == 'this_month') {
|
} elseif ($params['startDate'] == 'this_month') {
|
||||||
$startDate = new \DateTime();
|
$startDate = new \DateTime();
|
||||||
$startDate->modify('first day of this month');
|
$startDate->modify('first day of this month');
|
||||||
$startDate->setTime(0, 0, 0);
|
$startDate->setTime(0, 0, 0);
|
||||||
} elseif($params['startDate'] == 'last_month') {
|
} elseif ($params['startDate'] == 'last_month') {
|
||||||
$startDate = new \DateTime();
|
$startDate = new \DateTime();
|
||||||
$startDate->modify('first day of last month');
|
$startDate->modify('first day of last month');
|
||||||
$startDate->setTime(0, 0, 0);
|
$startDate->setTime(0, 0, 0);
|
||||||
} elseif($params['startDate'] == 'this_year') {
|
} elseif ($params['startDate'] == 'this_year') {
|
||||||
$startDate = new \DateTime();
|
$startDate = new \DateTime();
|
||||||
$startDate->modify('first day of January this year');
|
$startDate->modify('first day of January this year');
|
||||||
$startDate->setTime(0, 0, 0);
|
$startDate->setTime(0, 0, 0);
|
||||||
} elseif($params['startDate'] == 'last_year') {
|
} elseif ($params['startDate'] == 'last_year') {
|
||||||
$startDate = new \DateTime();
|
$startDate = new \DateTime();
|
||||||
$startDate->modify('first day of December last year');
|
$startDate->modify('first day of December last year');
|
||||||
$startDate->setTime(0, 0, 0);
|
$startDate->setTime(0, 0, 0);
|
||||||
} else {
|
} else {
|
||||||
try {
|
try {
|
||||||
$startDate = new \DateTime($params['startDate']);
|
$startDate = new \DateTime($params['startDate']);
|
||||||
} catch(\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
throw new \InvalidArgumentException(sprintf("invalid startDate attribute '%s' in stats access function", $params['startDate']));
|
throw new \InvalidArgumentException(sprintf("invalid startDate attribute '%s' in stats access function", $params['startDate']));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if($params['endDate'] == 'today') {
|
if ($params['endDate'] == 'today') {
|
||||||
$endDate = new \DateTime();
|
$endDate = new \DateTime();
|
||||||
$endDate->setTime(0, 0, 0);
|
$endDate->setTime(0, 0, 0);
|
||||||
} elseif($params['endDate'] == 'yesterday') {
|
} elseif ($params['endDate'] == 'yesterday') {
|
||||||
$endDate = new \DateTime();
|
$endDate = new \DateTime();
|
||||||
$endDate->setTime(0, 0, 0);
|
$endDate->setTime(0, 0, 0);
|
||||||
$endDate->modify('-1 day');
|
$endDate->modify('-1 day');
|
||||||
} elseif($params['endDate'] == 'this_month') {
|
} elseif ($params['endDate'] == 'this_month') {
|
||||||
$endDate = new \DateTime();
|
$endDate = new \DateTime();
|
||||||
$endDate->modify('last day of this month');
|
$endDate->modify('last day of this month');
|
||||||
$endDate->setTime(0, 0, 0);
|
$endDate->setTime(0, 0, 0);
|
||||||
} elseif($params['endDate'] == 'last_month') {
|
} elseif ($params['endDate'] == 'last_month') {
|
||||||
$endDate = new \DateTime();
|
$endDate = new \DateTime();
|
||||||
$endDate->modify('last day of last month');
|
$endDate->modify('last day of last month');
|
||||||
$endDate->setTime(0, 0, 0);
|
$endDate->setTime(0, 0, 0);
|
||||||
} elseif($params['endDate'] == 'this_year') {
|
} elseif ($params['endDate'] == 'this_year') {
|
||||||
$endDate = new \DateTime();
|
$endDate = new \DateTime();
|
||||||
$endDate->modify('last day of December this year');
|
$endDate->modify('last day of December this year');
|
||||||
$endDate->setTime(0, 0, 0);
|
$endDate->setTime(0, 0, 0);
|
||||||
} elseif($params['endDate'] == 'last_year') {
|
} elseif ($params['endDate'] == 'last_year') {
|
||||||
$endDate = new \DateTime();
|
$endDate = new \DateTime();
|
||||||
$endDate->modify('last day of January last year');
|
$endDate->modify('last day of January last year');
|
||||||
$endDate->setTime(0, 0, 0);
|
$endDate->setTime(0, 0, 0);
|
||||||
} else {
|
} else {
|
||||||
try {
|
try {
|
||||||
$endDate = new \DateTime($params['endDate']);
|
$endDate = new \DateTime($params['endDate']);
|
||||||
} catch(\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
throw new \InvalidArgumentException(sprintf("invalid endDate attribute '%s' in stats access function", $params['endDate']));
|
throw new \InvalidArgumentException(sprintf("invalid endDate attribute '%s' in stats access function", $params['endDate']));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
switch( $params['key'] ) {
|
switch ($params['key']) {
|
||||||
case 'sales' :
|
case 'sales' :
|
||||||
return OrderQuery::getSaleStats($startDate, $endDate, $includeShipping);
|
return OrderQuery::getSaleStats($startDate, $endDate, $includeShipping);
|
||||||
case 'orders' :
|
case 'orders' :
|
||||||
|
|||||||
@@ -28,7 +28,6 @@ use Thelia\Core\Template\Smarty\AbstractSmartyPlugin;
|
|||||||
use Thelia\Core\Template\Smarty\an;
|
use Thelia\Core\Template\Smarty\an;
|
||||||
use Thelia\Core\Template\Smarty\SmartyPluginDescriptor;
|
use Thelia\Core\Template\Smarty\SmartyPluginDescriptor;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class Esi
|
* Class Esi
|
||||||
* @package Thelia\Core\Template\Smarty\Plugins
|
* @package Thelia\Core\Template\Smarty\Plugins
|
||||||
@@ -53,7 +52,7 @@ class Esi extends AbstractSmartyPlugin
|
|||||||
$ignore_errors = $this->getParam($params, 'ignore_errors');
|
$ignore_errors = $this->getParam($params, 'ignore_errors');
|
||||||
$comment = $this->getParam($params, 'comment');
|
$comment = $this->getParam($params, 'comment');
|
||||||
|
|
||||||
if(null === $path) {
|
if (null === $path) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ class Module extends AbstractSmartyPlugin
|
|||||||
/**
|
/**
|
||||||
* Process theliaModule template inclusion function
|
* Process theliaModule template inclusion function
|
||||||
*
|
*
|
||||||
* @param unknown $params
|
* @param unknown $params
|
||||||
* @param \Smarty_Internal_Template $template
|
* @param \Smarty_Internal_Template $template
|
||||||
* @internal param \Thelia\Core\Template\Smarty\Plugins\unknown $smarty
|
* @internal param \Thelia\Core\Template\Smarty\Plugins\unknown $smarty
|
||||||
*
|
*
|
||||||
@@ -60,7 +60,7 @@ class Module extends AbstractSmartyPlugin
|
|||||||
|
|
||||||
if (false !== $location = $this->getParam($params, 'location', false)) {
|
if (false !== $location = $this->getParam($params, 'location', false)) {
|
||||||
|
|
||||||
if($this->debug === true && $this->request->get('SHOW_INCLUDE')) {
|
if ($this->debug === true && $this->request->get('SHOW_INCLUDE')) {
|
||||||
echo sprintf('<div style="background-color: #C82D26; border-color: #000000; border: solid;">%s</div>', $location);
|
echo sprintf('<div style="background-color: #C82D26; border-color: #000000; border: solid;">%s</div>', $location);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -70,7 +70,7 @@ class Module extends AbstractSmartyPlugin
|
|||||||
|
|
||||||
foreach ($modules as $module) {
|
foreach ($modules as $module) {
|
||||||
|
|
||||||
if(null !== $moduleLimit && $moduleLimit != $module->getCode()) {
|
if (null !== $moduleLimit && $moduleLimit != $module->getCode()) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -14,8 +14,6 @@ use Thelia\Core\Template\Smarty\AbstractSmartyPlugin;
|
|||||||
use Thelia\Core\Template\Exception\ResourceNotFoundException;
|
use Thelia\Core\Template\Exception\ResourceNotFoundException;
|
||||||
use Thelia\Core\Template\ParserContext;
|
use Thelia\Core\Template\ParserContext;
|
||||||
use Thelia\Core\Template\TemplateDefinition;
|
use Thelia\Core\Template\TemplateDefinition;
|
||||||
use Thelia\Model\ConfigQuery;
|
|
||||||
use Thelia\Core\Template\TemplateHelper;
|
|
||||||
use Thelia\Core\Translation\Translator;
|
use Thelia\Core\Translation\Translator;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -66,7 +64,6 @@ class SmartyParser extends Smarty implements ParserInterface
|
|||||||
$this->setCompileDir($compile_dir);
|
$this->setCompileDir($compile_dir);
|
||||||
$this->setCacheDir($cache_dir);
|
$this->setCacheDir($cache_dir);
|
||||||
|
|
||||||
|
|
||||||
$this->debugging = $debug;
|
$this->debugging = $debug;
|
||||||
|
|
||||||
// Prevent smarty ErrorException: Notice: Undefined index bla bla bla...
|
// Prevent smarty ErrorException: Notice: Undefined index bla bla bla...
|
||||||
@@ -74,7 +71,7 @@ class SmartyParser extends Smarty implements ParserInterface
|
|||||||
|
|
||||||
// Si on n'est pas en mode debug, activer le cache, avec une lifetime de 15mn, et en vérifiant que les templates sources n'ont pas été modifiés.
|
// Si on n'est pas en mode debug, activer le cache, avec une lifetime de 15mn, et en vérifiant que les templates sources n'ont pas été modifiés.
|
||||||
|
|
||||||
if($debug) {
|
if ($debug) {
|
||||||
$this->setCaching(Smarty::CACHING_OFF);
|
$this->setCaching(Smarty::CACHING_OFF);
|
||||||
$this->setForceCompile(true);
|
$this->setForceCompile(true);
|
||||||
} else {
|
} else {
|
||||||
@@ -83,7 +80,6 @@ class SmartyParser extends Smarty implements ParserInterface
|
|||||||
|
|
||||||
//$this->enableSecurity();
|
//$this->enableSecurity();
|
||||||
|
|
||||||
|
|
||||||
// The default HTTP status
|
// The default HTTP status
|
||||||
$this->status = 200;
|
$this->status = 200;
|
||||||
|
|
||||||
@@ -133,11 +129,11 @@ class SmartyParser extends Smarty implements ParserInterface
|
|||||||
$this->setConfigDir($configDirectory);
|
$this->setConfigDir($configDirectory);
|
||||||
|
|
||||||
/* add modules template directories */
|
/* add modules template directories */
|
||||||
switch($templateDefinition->getType()) {
|
switch ($templateDefinition->getType()) {
|
||||||
case TemplateDefinition::FRONT_OFFICE:
|
case TemplateDefinition::FRONT_OFFICE:
|
||||||
/* do not pass array directly to addTemplateDir since we cant control on keys */
|
/* do not pass array directly to addTemplateDir since we cant control on keys */
|
||||||
if(isset($this->frontOfficeTemplateDirectories[$templateDefinition->getName()])) {
|
if (isset($this->frontOfficeTemplateDirectories[$templateDefinition->getName()])) {
|
||||||
foreach($this->frontOfficeTemplateDirectories[$templateDefinition->getName()] as $key => $directory) {
|
foreach ($this->frontOfficeTemplateDirectories[$templateDefinition->getName()] as $key => $directory) {
|
||||||
$this->addTemplateDir($directory, $key);
|
$this->addTemplateDir($directory, $key);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -145,8 +141,8 @@ class SmartyParser extends Smarty implements ParserInterface
|
|||||||
|
|
||||||
case TemplateDefinition::BACK_OFFICE:
|
case TemplateDefinition::BACK_OFFICE:
|
||||||
/* do not pass array directly to addTemplateDir since we cant control on keys */
|
/* do not pass array directly to addTemplateDir since we cant control on keys */
|
||||||
if(isset($this->backOfficeTemplateDirectories[$templateDefinition->getName()])) {
|
if (isset($this->backOfficeTemplateDirectories[$templateDefinition->getName()])) {
|
||||||
foreach($this->backOfficeTemplateDirectories[$templateDefinition->getName()] as $key => $directory) {
|
foreach ($this->backOfficeTemplateDirectories[$templateDefinition->getName()] as $key => $directory) {
|
||||||
$this->addTemplateDir($directory, $key);
|
$this->addTemplateDir($directory, $key);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -168,9 +164,9 @@ class SmartyParser extends Smarty implements ParserInterface
|
|||||||
/**
|
/**
|
||||||
* Return a rendered template, either from file or ftom a string
|
* Return a rendered template, either from file or ftom a string
|
||||||
*
|
*
|
||||||
* @param string $resourceType either 'string' (rendering from a string) or 'file' (rendering a file)
|
* @param string $resourceType either 'string' (rendering from a string) or 'file' (rendering a file)
|
||||||
* @param string $resourceContent the resource content (a text, or a template file name)
|
* @param string $resourceContent the resource content (a text, or a template file name)
|
||||||
* @param array $parameters an associative array of names / value pairs
|
* @param array $parameters an associative array of names / value pairs
|
||||||
*
|
*
|
||||||
* @return string the rendered template text
|
* @return string the rendered template text
|
||||||
*/
|
*/
|
||||||
@@ -186,7 +182,6 @@ class SmartyParser extends Smarty implements ParserInterface
|
|||||||
return $this->fetch(sprintf("%s:%s", $resourceType, $resourceContent));
|
return $this->fetch(sprintf("%s:%s", $resourceType, $resourceContent));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return a rendered template file
|
* Return a rendered template file
|
||||||
*
|
*
|
||||||
@@ -194,9 +189,9 @@ class SmartyParser extends Smarty implements ParserInterface
|
|||||||
* @param array $parameters an associative array of names / value pairs
|
* @param array $parameters an associative array of names / value pairs
|
||||||
* @return string the rendered template text
|
* @return string the rendered template text
|
||||||
*/
|
*/
|
||||||
public function render($realTemplateName, array $parameters = array()) {
|
public function render($realTemplateName, array $parameters = array())
|
||||||
|
{
|
||||||
if(false === $this->templateExists($realTemplateName)) {
|
if (false === $this->templateExists($realTemplateName)) {
|
||||||
throw new ResourceNotFoundException(Translator::getInstance()->trans("Template file %file cannot be found.", array('%file', $realTemplateName)));
|
throw new ResourceNotFoundException(Translator::getInstance()->trans("Template file %file cannot be found.", array('%file', $realTemplateName)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -210,7 +205,8 @@ class SmartyParser extends Smarty implements ParserInterface
|
|||||||
* @param array $parameters an associative array of names / value pairs
|
* @param array $parameters an associative array of names / value pairs
|
||||||
* @return string the rendered template text
|
* @return string the rendered template text
|
||||||
*/
|
*/
|
||||||
public function renderString($templateText, array $parameters = array()) {
|
public function renderString($templateText, array $parameters = array())
|
||||||
|
{
|
||||||
return $this->internalRenderer('string', $templateText, $parameters);
|
return $this->internalRenderer('string', $templateText, $parameters);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -50,13 +50,12 @@ class TemplateDefinition
|
|||||||
*/
|
*/
|
||||||
protected $type;
|
protected $type;
|
||||||
|
|
||||||
|
|
||||||
public function __construct($name, $type)
|
public function __construct($name, $type)
|
||||||
{
|
{
|
||||||
$this->name = $name;
|
$this->name = $name;
|
||||||
$this->type = $type;
|
$this->type = $type;
|
||||||
|
|
||||||
switch($type) {
|
switch ($type) {
|
||||||
case TemplateDefinition::FRONT_OFFICE:
|
case TemplateDefinition::FRONT_OFFICE:
|
||||||
$this->path = self::FRONT_OFFICE_SUBDIR . $name;
|
$this->path = self::FRONT_OFFICE_SUBDIR . $name;
|
||||||
break;
|
break;
|
||||||
@@ -83,14 +82,17 @@ class TemplateDefinition
|
|||||||
public function setName($name)
|
public function setName($name)
|
||||||
{
|
{
|
||||||
$this->name = $name;
|
$this->name = $name;
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getI18nPath() {
|
public function getI18nPath()
|
||||||
|
{
|
||||||
return $this->getPath() . DS . 'I18n';
|
return $this->getPath() . DS . 'I18n';
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getAbsoluteI18nPath() {
|
public function getAbsoluteI18nPath()
|
||||||
|
{
|
||||||
return THELIA_TEMPLATE_DIR . $this->getI18nPath();
|
return THELIA_TEMPLATE_DIR . $this->getI18nPath();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -99,7 +101,8 @@ class TemplateDefinition
|
|||||||
return $this->path;
|
return $this->path;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getAbsolutePath() {
|
public function getAbsolutePath()
|
||||||
|
{
|
||||||
return THELIA_TEMPLATE_DIR . $this->getPath();
|
return THELIA_TEMPLATE_DIR . $this->getPath();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -108,13 +111,15 @@ class TemplateDefinition
|
|||||||
return $this->getPath() . DS . 'configs';
|
return $this->getPath() . DS . 'configs';
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getAbsoluteConfigPath() {
|
public function getAbsoluteConfigPath()
|
||||||
|
{
|
||||||
return THELIA_TEMPLATE_DIR . $this->getConfigPath();
|
return THELIA_TEMPLATE_DIR . $this->getConfigPath();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setPath($path)
|
public function setPath($path)
|
||||||
{
|
{
|
||||||
$this->path = $path;
|
$this->path = $path;
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -126,6 +131,7 @@ class TemplateDefinition
|
|||||||
public function setType($type)
|
public function setType($type)
|
||||||
{
|
{
|
||||||
$this->type = $type;
|
$this->type = $type;
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -40,16 +40,17 @@ class TemplateHelper
|
|||||||
|
|
||||||
private function __construct() {}
|
private function __construct() {}
|
||||||
|
|
||||||
public static function getInstance() {
|
public static function getInstance()
|
||||||
|
{
|
||||||
if (self::$instance == null) self::$instance = new TemplateHelper();
|
if (self::$instance == null) self::$instance = new TemplateHelper();
|
||||||
|
|
||||||
return self::$instance;
|
return self::$instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return TemplateDefinition
|
* @return TemplateDefinition
|
||||||
*/
|
*/
|
||||||
public function getActiveMailTemplate() {
|
public function getActiveMailTemplate()
|
||||||
|
{
|
||||||
return new TemplateDefinition(
|
return new TemplateDefinition(
|
||||||
ConfigQuery::read('active-mail-template', 'default'),
|
ConfigQuery::read('active-mail-template', 'default'),
|
||||||
TemplateDefinition::EMAIL
|
TemplateDefinition::EMAIL
|
||||||
@@ -59,7 +60,8 @@ class TemplateHelper
|
|||||||
/**
|
/**
|
||||||
* @return TemplateDefinition
|
* @return TemplateDefinition
|
||||||
*/
|
*/
|
||||||
public function getActivePdfTemplate() {
|
public function getActivePdfTemplate()
|
||||||
|
{
|
||||||
return new TemplateDefinition(
|
return new TemplateDefinition(
|
||||||
ConfigQuery::read('active-pdf-template', 'default'),
|
ConfigQuery::read('active-pdf-template', 'default'),
|
||||||
TemplateDefinition::PDF
|
TemplateDefinition::PDF
|
||||||
@@ -69,7 +71,8 @@ class TemplateHelper
|
|||||||
/**
|
/**
|
||||||
* @return TemplateDefinition
|
* @return TemplateDefinition
|
||||||
*/
|
*/
|
||||||
public function getActiveAdminTemplate() {
|
public function getActiveAdminTemplate()
|
||||||
|
{
|
||||||
return new TemplateDefinition(
|
return new TemplateDefinition(
|
||||||
ConfigQuery::read('active-admin-template', 'default'),
|
ConfigQuery::read('active-admin-template', 'default'),
|
||||||
TemplateDefinition::BACK_OFFICE
|
TemplateDefinition::BACK_OFFICE
|
||||||
@@ -79,24 +82,23 @@ class TemplateHelper
|
|||||||
/**
|
/**
|
||||||
* @return TemplateDefinition
|
* @return TemplateDefinition
|
||||||
*/
|
*/
|
||||||
public function getActiveFrontTemplate() {
|
public function getActiveFrontTemplate()
|
||||||
|
{
|
||||||
return new TemplateDefinition(
|
return new TemplateDefinition(
|
||||||
ConfigQuery::read('active-front-template', 'default'),
|
ConfigQuery::read('active-front-template', 'default'),
|
||||||
TemplateDefinition::FRONT_OFFICE
|
TemplateDefinition::FRONT_OFFICE
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getList($templateType) {
|
public function getList($templateType)
|
||||||
|
{
|
||||||
$list = $exclude = array();
|
$list = $exclude = array();
|
||||||
|
|
||||||
if ($templateType == TemplateDefinition::BACK_OFFICE) {
|
if ($templateType == TemplateDefinition::BACK_OFFICE) {
|
||||||
$baseDir = THELIA_TEMPLATE_DIR.TemplateDefinition::BACK_OFFICE_SUBDIR;
|
$baseDir = THELIA_TEMPLATE_DIR.TemplateDefinition::BACK_OFFICE_SUBDIR;
|
||||||
}
|
} elseif ($templateType == TemplateDefinition::PDF) {
|
||||||
else if ($templateType == TemplateDefinition::PDF) {
|
|
||||||
$baseDir = THELIA_TEMPLATE_DIR.TemplateDefinition::PDF_SUBDIR;
|
$baseDir = THELIA_TEMPLATE_DIR.TemplateDefinition::PDF_SUBDIR;
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
$baseDir = THELIA_TEMPLATE_DIR.TemplateDefinition::FRONT_OFFICE_SUBDIR;
|
$baseDir = THELIA_TEMPLATE_DIR.TemplateDefinition::FRONT_OFFICE_SUBDIR;
|
||||||
|
|
||||||
$exclude = array(TemplateDefinition::BACK_OFFICE_SUBDIR, TemplateDefinition::PDF_SUBDIR);
|
$exclude = array(TemplateDefinition::BACK_OFFICE_SUBDIR, TemplateDefinition::PDF_SUBDIR);
|
||||||
@@ -118,7 +120,6 @@ class TemplateHelper
|
|||||||
return $list;
|
return $list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
protected function normalize_path($path)
|
protected function normalize_path($path)
|
||||||
{
|
{
|
||||||
$path = str_replace(
|
$path = str_replace(
|
||||||
@@ -139,28 +140,27 @@ class TemplateHelper
|
|||||||
* 'translation' => the text translation, or an empty string if none available.
|
* 'translation' => the text translation, or an empty string if none available.
|
||||||
* 'dollar' => true if the translatable text contains a $
|
* 'dollar' => true if the translatable text contains a $
|
||||||
*
|
*
|
||||||
* @param string $directory the path to the directory to examine
|
* @param string $directory the path to the directory to examine
|
||||||
* @param string $walkMode type of file scanning: WALK_MODE_PHP or WALK_MODE_TEMPLATE
|
* @param string $walkMode type of file scanning: WALK_MODE_PHP or WALK_MODE_TEMPLATE
|
||||||
* @param \Thelia\Core\Translation\Translator $translator the current translator
|
* @param \Thelia\Core\Translation\Translator $translator the current translator
|
||||||
* @param string $currentLocale the current locale
|
* @param string $currentLocale the current locale
|
||||||
* @param array $strings the list of strings
|
* @param array $strings the list of strings
|
||||||
* @throws \InvalidArgumentException if $walkMode contains an invalid value
|
* @throws \InvalidArgumentException if $walkMode contains an invalid value
|
||||||
* @return number the total number of translatable texts
|
* @return number the total number of translatable texts
|
||||||
*/
|
*/
|
||||||
public function walkDir($directory, $walkMode, Translator $translator, $currentLocale, &$strings) {
|
public function walkDir($directory, $walkMode, Translator $translator, $currentLocale, &$strings)
|
||||||
|
{
|
||||||
$num_texts = 0;
|
$num_texts = 0;
|
||||||
|
|
||||||
if ($walkMode == self::WALK_MODE_PHP) {
|
if ($walkMode == self::WALK_MODE_PHP) {
|
||||||
$prefix = '\-\>[\s]*trans[\s]*\(';
|
$prefix = '\-\>[\s]*trans[\s]*\(';
|
||||||
|
|
||||||
$allowed_exts = array('php');
|
$allowed_exts = array('php');
|
||||||
} else if ($walkMode == self::WALK_MODE_TEMPLATE) {
|
} elseif ($walkMode == self::WALK_MODE_TEMPLATE) {
|
||||||
$prefix = '\{intl[\s]l=';
|
$prefix = '\{intl[\s]l=';
|
||||||
|
|
||||||
$allowed_exts = array('html', 'tpl', 'xml');
|
$allowed_exts = array('html', 'tpl', 'xml');
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
throw new \InvalidArgumentException(
|
throw new \InvalidArgumentException(
|
||||||
Translator::getInstance()->trans('Invalid value for walkMode parameter: %value', array('%value' => $walkMode))
|
Translator::getInstance()->trans('Invalid value for walkMode parameter: %value', array('%value' => $walkMode))
|
||||||
);
|
);
|
||||||
@@ -194,18 +194,15 @@ class TemplateHelper
|
|||||||
|
|
||||||
Tlog::getInstance()->debug("Strings found: ", $matches[2]);
|
Tlog::getInstance()->debug("Strings found: ", $matches[2]);
|
||||||
|
|
||||||
foreach($matches[2] as $match) {
|
foreach ($matches[2] as $match) {
|
||||||
|
|
||||||
$hash = md5($match);
|
$hash = md5($match);
|
||||||
|
|
||||||
if (isset($strings[$hash]))
|
if (isset($strings[$hash])) {
|
||||||
{
|
if (! in_array($short_path, $strings[$hash]['files'])) {
|
||||||
if (! in_array($short_path, $strings[$hash]['files']))
|
|
||||||
{
|
|
||||||
$strings[$hash]['files'][] = $short_path;
|
$strings[$hash]['files'][] = $short_path;
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
$num_texts++;
|
$num_texts++;
|
||||||
|
|
||||||
// remove \'
|
// remove \'
|
||||||
@@ -257,9 +254,7 @@ class TemplateHelper
|
|||||||
fwrite($fp, ");\n");
|
fwrite($fp, ");\n");
|
||||||
|
|
||||||
@fclose($fp);
|
@fclose($fp);
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
throw new \RuntimeException(
|
throw new \RuntimeException(
|
||||||
Translator::getInstance()->trans(
|
Translator::getInstance()->trans(
|
||||||
'Failed to open translation file %file. Please be sure that this file is writable by your Web server',
|
'Failed to open translation file %file. Please be sure that this file is writable by your Web server',
|
||||||
|
|||||||
@@ -49,7 +49,6 @@ use Thelia\Config\DefinePropel;
|
|||||||
use Thelia\Core\Template\TemplateDefinition;
|
use Thelia\Core\Template\TemplateDefinition;
|
||||||
use Thelia\Core\TheliaContainerBuilder;
|
use Thelia\Core\TheliaContainerBuilder;
|
||||||
use Thelia\Core\DependencyInjection\Loader\XmlFileLoader;
|
use Thelia\Core\DependencyInjection\Loader\XmlFileLoader;
|
||||||
use Thelia\Model\ConfigQuery;
|
|
||||||
use Symfony\Component\Config\FileLocator;
|
use Symfony\Component\Config\FileLocator;
|
||||||
|
|
||||||
use Propel\Runtime\Propel;
|
use Propel\Runtime\Propel;
|
||||||
@@ -120,7 +119,7 @@ class Thelia extends Kernel
|
|||||||
->depth(0)
|
->depth(0)
|
||||||
->in(THELIA_ROOT . "/core/lib/Thelia/Config/Resources");
|
->in(THELIA_ROOT . "/core/lib/Thelia/Config/Resources");
|
||||||
|
|
||||||
foreach($finder as $file) {
|
foreach ($finder as $file) {
|
||||||
$loader->load($file->getBaseName());
|
$loader->load($file->getBaseName());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -142,7 +141,6 @@ class Thelia extends Kernel
|
|||||||
$defintion
|
$defintion
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
$code = ucfirst($module->getCode());
|
$code = ucfirst($module->getCode());
|
||||||
|
|
||||||
$loader = new XmlFileLoader($container, new FileLocator($module->getAbsoluteConfigPath()));
|
$loader = new XmlFileLoader($container, new FileLocator($module->getAbsoluteConfigPath()));
|
||||||
|
|||||||
@@ -215,7 +215,7 @@ class TheliaHttpKernel extends HttpKernel
|
|||||||
|
|
||||||
protected function initSession(Request $request)
|
protected function initSession(Request $request)
|
||||||
{
|
{
|
||||||
if(null === self::$session) {
|
if (null === self::$session) {
|
||||||
$storage = new Session\Storage\NativeSessionStorage();
|
$storage = new Session\Storage\NativeSessionStorage();
|
||||||
|
|
||||||
if (Model\ConfigQuery::read("session_config.default")) {
|
if (Model\ConfigQuery::read("session_config.default")) {
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ class Translator extends BaseTranslator
|
|||||||
|
|
||||||
public function getLocale()
|
public function getLocale()
|
||||||
{
|
{
|
||||||
if($this->container->isScopeActive('request') && $this->container->has('request')) {
|
if ($this->container->isScopeActive('request') && $this->container->has('request')) {
|
||||||
return $this->container->get('request')->getSession()->getLang()->getLocale();
|
return $this->container->get('request')->getSession()->getLang()->getLocale();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,6 @@
|
|||||||
namespace Thelia\Form;
|
namespace Thelia\Form;
|
||||||
|
|
||||||
use Symfony\Component\Validator\ExecutionContextInterface;
|
use Symfony\Component\Validator\ExecutionContextInterface;
|
||||||
use Thelia\Core\Translation\Translator;
|
|
||||||
use Thelia\Model\CustomerQuery;
|
use Thelia\Model\CustomerQuery;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -23,7 +23,6 @@
|
|||||||
namespace Thelia\Form;
|
namespace Thelia\Form;
|
||||||
|
|
||||||
use Symfony\Component\Validator\Constraints;
|
use Symfony\Component\Validator\Constraints;
|
||||||
use Symfony\Component\Validator\Constraints\NotBlank;
|
|
||||||
use Symfony\Component\Validator\ExecutionContextInterface;
|
use Symfony\Component\Validator\ExecutionContextInterface;
|
||||||
use Thelia\Core\Translation\Translator;
|
use Thelia\Core\Translation\Translator;
|
||||||
use Thelia\Model\ProfileQuery;
|
use Thelia\Model\ProfileQuery;
|
||||||
|
|||||||
@@ -23,7 +23,6 @@
|
|||||||
namespace Thelia\Form;
|
namespace Thelia\Form;
|
||||||
|
|
||||||
use Symfony\Component\Validator\Constraints\GreaterThan;
|
use Symfony\Component\Validator\Constraints\GreaterThan;
|
||||||
use Symfony\Component\Validator\Constraints\NotBlank;
|
|
||||||
use Thelia\Model\Currency;
|
use Thelia\Model\Currency;
|
||||||
use Thelia\Core\Translation\Translator;
|
use Thelia\Core\Translation\Translator;
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,6 @@ namespace Thelia\Form;
|
|||||||
use Symfony\Component\Validator\Constraints\GreaterThan;
|
use Symfony\Component\Validator\Constraints\GreaterThan;
|
||||||
use Thelia\Core\Translation\Translator;
|
use Thelia\Core\Translation\Translator;
|
||||||
|
|
||||||
|
|
||||||
class ProductModificationForm extends ProductCreationForm
|
class ProductModificationForm extends ProductCreationForm
|
||||||
{
|
{
|
||||||
use StandardDescriptionFieldsTrait;
|
use StandardDescriptionFieldsTrait;
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ trait SeoFieldsTrait
|
|||||||
/**
|
/**
|
||||||
* Add seo meta title, meta description and meta keywords fields
|
* Add seo meta title, meta description and meta keywords fields
|
||||||
*
|
*
|
||||||
* @param array $exclude name of the fields that should not be added to the form
|
* @param array $exclude name of the fields that should not be added to the form
|
||||||
*/
|
*/
|
||||||
protected function addSeoFields($exclude = array())
|
protected function addSeoFields($exclude = array())
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -23,8 +23,6 @@
|
|||||||
namespace Thelia\Form;
|
namespace Thelia\Form;
|
||||||
|
|
||||||
use Symfony\Component\Validator\Constraints;
|
use Symfony\Component\Validator\Constraints;
|
||||||
use Thelia\Model\ConfigQuery;
|
|
||||||
use Symfony\Component\Validator\ExecutionContextInterface;
|
|
||||||
use Thelia\Log\Tlog;
|
use Thelia\Log\Tlog;
|
||||||
use Thelia\Core\Translation\Translator;
|
use Thelia\Core\Translation\Translator;
|
||||||
|
|
||||||
|
|||||||
@@ -25,27 +25,29 @@ namespace Thelia\Log\Destination;
|
|||||||
|
|
||||||
use Thelia\Log\AbstractTlogDestination;
|
use Thelia\Log\AbstractTlogDestination;
|
||||||
|
|
||||||
class TlogDestinationJavascriptConsole extends AbstractTlogDestination {
|
class TlogDestinationJavascriptConsole extends AbstractTlogDestination
|
||||||
|
{
|
||||||
|
public function getTitle()
|
||||||
|
{
|
||||||
|
return "Browser's Javascript console";
|
||||||
|
}
|
||||||
|
|
||||||
public function getTitle() {
|
public function getDescription()
|
||||||
return "Browser's Javascript console";
|
{
|
||||||
}
|
return "The Thelia logs are displayed in your browser's Javascript console.";
|
||||||
|
}
|
||||||
|
|
||||||
public function getDescription() {
|
public function write(&$res)
|
||||||
return "The Thelia logs are displayed in your browser's Javascript console.";
|
{
|
||||||
}
|
$content = '<script>try {'."\n";
|
||||||
|
|
||||||
public function write(&$res) {
|
foreach ($this->_logs as $line) {
|
||||||
|
$content .= "console.log('".str_replace("'", "\\'", str_replace(array("\r\n", "\r", "\n"), '\\n', $line))."');\n";
|
||||||
|
}
|
||||||
|
|
||||||
$content = '<script>try {'."\n";
|
$content .= '} catch (ex) { alert("Les logs Thelia ne peuvent être affichés dans la console javascript:" + ex); }</script>'."\n";
|
||||||
|
|
||||||
foreach($this->_logs as $line) {
|
if (preg_match("|</body>|i", $res))
|
||||||
$content .= "console.log('".str_replace("'", "\\'", str_replace(array("\r\n", "\r", "\n"), '\\n', $line))."');\n";
|
$res = preg_replace("|</body>|i", "$content</html>", $res);
|
||||||
}
|
|
||||||
|
|
||||||
$content .= '} catch(ex) { alert("Les logs Thelia ne peuvent être affichés dans la console javascript:" + ex); }</script>'."\n";
|
|
||||||
|
|
||||||
if (preg_match("|</body>|i", $res))
|
|
||||||
$res = preg_replace("|</body>|i", "$content</html>", $res);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -26,86 +26,88 @@ namespace Thelia\Log\Destination;
|
|||||||
use Thelia\Log\AbstractTlogDestination;
|
use Thelia\Log\AbstractTlogDestination;
|
||||||
use Thelia\Log\TlogDestinationConfig;
|
use Thelia\Log\TlogDestinationConfig;
|
||||||
|
|
||||||
class TlogDestinationPopup extends AbstractTlogDestination {
|
class TlogDestinationPopup extends AbstractTlogDestination
|
||||||
|
{
|
||||||
|
// Nom des variables de configuration
|
||||||
|
// ----------------------------------
|
||||||
|
const VAR_POPUP_WIDTH = "tlog_destinationpopup_width";
|
||||||
|
const VALEUR_POPUP_WIDTH_DEFAUT = "600";
|
||||||
|
|
||||||
// Nom des variables de configuration
|
const VAR_POPUP_HEIGHT = "tlog_destinationpopup_height";
|
||||||
// ----------------------------------
|
const VALEUR_POPUP_HEIGHT_DEFAUT = "600";
|
||||||
const VAR_POPUP_WIDTH = "tlog_destinationpopup_width";
|
|
||||||
const VALEUR_POPUP_WIDTH_DEFAUT = "600";
|
|
||||||
|
|
||||||
const VAR_POPUP_HEIGHT = "tlog_destinationpopup_height";
|
const VAR_POPUP_TPL = "tlog_destinationpopup_template";
|
||||||
const VALEUR_POPUP_HEIGHT_DEFAUT = "600";
|
// Ce fichier doit se trouver dans le même répertoire que TlogDestinationPopup.class.php
|
||||||
|
const VALEUR_POPUP_TPL_DEFAUT = "TlogDestinationPopup.tpl";
|
||||||
|
|
||||||
const VAR_POPUP_TPL = "tlog_destinationpopup_template";
|
public function getTitle()
|
||||||
// Ce fichier doit se trouver dans le même répertoire que TlogDestinationPopup.class.php
|
{
|
||||||
const VALEUR_POPUP_TPL_DEFAUT = "TlogDestinationPopup.tpl";
|
return "Javascript popup window";
|
||||||
|
}
|
||||||
|
|
||||||
public function getTitle() {
|
public function getDescription()
|
||||||
return "Javascript popup window";
|
{
|
||||||
}
|
return "Display logs in a popup window, separate from the main window .";
|
||||||
|
}
|
||||||
|
|
||||||
public function getDescription() {
|
public function getConfigs()
|
||||||
return "Display logs in a popup window, separate from the main window .";
|
{
|
||||||
}
|
return array(
|
||||||
|
new TlogDestinationConfig(
|
||||||
|
self::VAR_POPUP_TPL,
|
||||||
|
"Popup windows template",
|
||||||
|
"Put #LOGTEXT in the template text where you want to display logs..",
|
||||||
|
file_get_contents(__DIR__.DS. self::VALEUR_POPUP_TPL_DEFAUT),
|
||||||
|
TlogDestinationConfig::TYPE_TEXTAREA
|
||||||
|
),
|
||||||
|
new TlogDestinationConfig(
|
||||||
|
self::VAR_POPUP_HEIGHT,
|
||||||
|
"Height of the popup window",
|
||||||
|
"In pixels",
|
||||||
|
self::VALEUR_POPUP_HEIGHT_DEFAUT,
|
||||||
|
TlogDestinationConfig::TYPE_TEXTFIELD
|
||||||
|
),
|
||||||
|
new TlogDestinationConfig(
|
||||||
|
self::VAR_POPUP_WIDTH,
|
||||||
|
"Width of the popup window",
|
||||||
|
"In pixels",
|
||||||
|
self::VALEUR_POPUP_WIDTH_DEFAUT,
|
||||||
|
TlogDestinationConfig::TYPE_TEXTFIELD
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
public function getConfigs() {
|
public function write(&$res)
|
||||||
return array(
|
{
|
||||||
new TlogDestinationConfig(
|
$content = ""; $count = 1;
|
||||||
self::VAR_POPUP_TPL,
|
|
||||||
"Popup windows template",
|
|
||||||
"Put #LOGTEXT in the template text where you want to display logs..",
|
|
||||||
file_get_contents(__DIR__.DS. self::VALEUR_POPUP_TPL_DEFAUT),
|
|
||||||
TlogDestinationConfig::TYPE_TEXTAREA
|
|
||||||
),
|
|
||||||
new TlogDestinationConfig(
|
|
||||||
self::VAR_POPUP_HEIGHT,
|
|
||||||
"Height of the popup window",
|
|
||||||
"In pixels",
|
|
||||||
self::VALEUR_POPUP_HEIGHT_DEFAUT,
|
|
||||||
TlogDestinationConfig::TYPE_TEXTFIELD
|
|
||||||
),
|
|
||||||
new TlogDestinationConfig(
|
|
||||||
self::VAR_POPUP_WIDTH,
|
|
||||||
"Width of the popup window",
|
|
||||||
"In pixels",
|
|
||||||
self::VALEUR_POPUP_WIDTH_DEFAUT,
|
|
||||||
TlogDestinationConfig::TYPE_TEXTFIELD
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function write(&$res) {
|
foreach ($this->_logs as $line) {
|
||||||
|
$content .= "<div class=\"".($count++ % 2 ? "paire" : "impaire")."\">".htmlspecialchars($line)."</div>";
|
||||||
|
}
|
||||||
|
|
||||||
$content = ""; $count = 1;
|
$tpl = $this->getConfig(self::VAR_POPUP_TPL);
|
||||||
|
|
||||||
foreach($this->_logs as $line) {
|
$tpl = str_replace('#LOGTEXT', $content, $tpl);
|
||||||
$content .= "<div class=\"".($count++ % 2 ? "paire" : "impaire")."\">".htmlspecialchars($line)."</div>";
|
$tpl = str_replace(array("\r\n", "\r", "\n"), '\\n', $tpl);
|
||||||
}
|
|
||||||
|
|
||||||
$tpl = $this->getConfig(self::VAR_POPUP_TPL);
|
$wop = sprintf('
|
||||||
|
<script>
|
||||||
|
_thelia_console = window.open("","thelia_console","width=%s,height=%s,resizable,scrollbars=yes");
|
||||||
|
if (_thelia_console == null) {
|
||||||
|
alert("The log popup window could not be opened. Please disable your popup blocker for this site.");
|
||||||
|
} else {
|
||||||
|
_thelia_console.document.write("%s");
|
||||||
|
_thelia_console.document.close();
|
||||||
|
}
|
||||||
|
</script>',
|
||||||
|
$this->getConfig(self::VAR_POPUP_WIDTH),
|
||||||
|
$this->getConfig(self::VAR_POPUP_HEIGHT),
|
||||||
|
str_replace('"', '\\"', $tpl)
|
||||||
|
);
|
||||||
|
|
||||||
$tpl = str_replace('#LOGTEXT', $content, $tpl);
|
if (preg_match("|</body>|i", $res))
|
||||||
$tpl = str_replace(array("\r\n", "\r", "\n"), '\\n', $tpl);
|
$res = preg_replace("|</body>|i", "$wop\n</body>", $res);
|
||||||
|
else
|
||||||
$wop = sprintf('
|
$res .= $wop;
|
||||||
<script>
|
|
||||||
_thelia_console = window.open("","thelia_console","width=%s,height=%s,resizable,scrollbars=yes");
|
|
||||||
if (_thelia_console == null) {
|
|
||||||
alert("The log popup window could not be opened. Please disable your popup blocker for this site.");
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
_thelia_console.document.write("%s");
|
|
||||||
_thelia_console.document.close();
|
|
||||||
}
|
|
||||||
</script>',
|
|
||||||
$this->getConfig(self::VAR_POPUP_WIDTH),
|
|
||||||
$this->getConfig(self::VAR_POPUP_HEIGHT),
|
|
||||||
str_replace('"', '\\"', $tpl)
|
|
||||||
);
|
|
||||||
|
|
||||||
if (preg_match("|</body>|i", $res))
|
|
||||||
$res = preg_replace("|</body>|i", "$wop\n</body>", $res);
|
|
||||||
else
|
|
||||||
$res .= $wop;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -171,7 +171,8 @@ class Tlog Implements LoggerInterface
|
|||||||
*
|
*
|
||||||
* @return array of directories
|
* @return array of directories
|
||||||
*/
|
*/
|
||||||
public function getDestinationsDirectories() {
|
public function getDestinationsDirectories()
|
||||||
|
{
|
||||||
return $this->dir_destinations;
|
return $this->dir_destinations;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -22,7 +22,6 @@
|
|||||||
/*************************************************************************************/
|
/*************************************************************************************/
|
||||||
|
|
||||||
namespace Thelia\Log;
|
namespace Thelia\Log;
|
||||||
use Thelia\Model\Config;
|
|
||||||
use Thelia\Model\ConfigQuery;
|
use Thelia\Model\ConfigQuery;
|
||||||
|
|
||||||
class TlogDestinationConfig
|
class TlogDestinationConfig
|
||||||
|
|||||||
@@ -39,7 +39,6 @@ use Thelia\Model\Module;
|
|||||||
use Thelia\Model\ModuleImage;
|
use Thelia\Model\ModuleImage;
|
||||||
use Thelia\Model\ModuleQuery;
|
use Thelia\Model\ModuleQuery;
|
||||||
|
|
||||||
|
|
||||||
class BaseModule extends ContainerAware implements BaseModuleInterface
|
class BaseModule extends ContainerAware implements BaseModuleInterface
|
||||||
{
|
{
|
||||||
const CLASSIC_MODULE_TYPE = 1;
|
const CLASSIC_MODULE_TYPE = 1;
|
||||||
@@ -115,16 +114,18 @@ class BaseModule extends ContainerAware implements BaseModuleInterface
|
|||||||
return $this->container;
|
return $this->container;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function hasRequest()
|
||||||
public function hasRequest() {
|
{
|
||||||
return null !== $this->request;
|
return null !== $this->request;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setRequest(Request $request) {
|
public function setRequest(Request $request)
|
||||||
|
{
|
||||||
$this->request = $request;
|
$this->request = $request;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getRequest() {
|
public function getRequest()
|
||||||
|
{
|
||||||
if ($this->hasRequest() === false) {
|
if ($this->hasRequest() === false) {
|
||||||
throw new \RuntimeException("Sorry, the request is not available in this context");
|
throw new \RuntimeException("Sorry, the request is not available in this context");
|
||||||
}
|
}
|
||||||
@@ -132,16 +133,18 @@ class BaseModule extends ContainerAware implements BaseModuleInterface
|
|||||||
return $this->request;
|
return $this->request;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function hasDispatcher()
|
||||||
public function hasDispatcher() {
|
{
|
||||||
return null !== $this->dispatcher;
|
return null !== $this->dispatcher;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setDispatcher(EventDispatcherInterface $dispatcher) {
|
public function setDispatcher(EventDispatcherInterface $dispatcher)
|
||||||
|
{
|
||||||
$this->dispatcher = $dispatcher;
|
$this->dispatcher = $dispatcher;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getDispatcher() {
|
public function getDispatcher()
|
||||||
|
{
|
||||||
if ($this->hasDispatcher() === false) {
|
if ($this->hasDispatcher() === false) {
|
||||||
throw new \RuntimeException("Sorry, the dispatcher is not available in this context");
|
throw new \RuntimeException("Sorry, the dispatcher is not available in this context");
|
||||||
}
|
}
|
||||||
@@ -149,7 +152,6 @@ class BaseModule extends ContainerAware implements BaseModuleInterface
|
|||||||
return $this->dispatcher;
|
return $this->dispatcher;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public function setTitle(Module $module, $titles)
|
public function setTitle(Module $module, $titles)
|
||||||
{
|
{
|
||||||
if (is_array($titles)) {
|
if (is_array($titles)) {
|
||||||
|
|||||||
@@ -24,8 +24,6 @@
|
|||||||
namespace Thelia\Module;
|
namespace Thelia\Module;
|
||||||
|
|
||||||
use Propel\Runtime\Connection\ConnectionInterface;
|
use Propel\Runtime\Connection\ConnectionInterface;
|
||||||
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
|
|
||||||
use Symfony\Component\HttpFoundation\Request;
|
|
||||||
|
|
||||||
interface BaseModuleInterface
|
interface BaseModuleInterface
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ class ContentTest extends TestCaseWithURLToolSetup
|
|||||||
|
|
||||||
public function getUpdateEvent(&$content)
|
public function getUpdateEvent(&$content)
|
||||||
{
|
{
|
||||||
if(!$content instanceof \Thelia\Model\Content) {
|
if (!$content instanceof \Thelia\Model\Content) {
|
||||||
$content = $this->getRandomContent();
|
$content = $this->getRandomContent();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ class FolderTest extends TestCaseWithURLToolSetup
|
|||||||
|
|
||||||
public function getUpdateEvent(&$folder)
|
public function getUpdateEvent(&$folder)
|
||||||
{
|
{
|
||||||
if(!$folder instanceof \Thelia\Model\Folder) {
|
if (!$folder instanceof \Thelia\Model\Folder) {
|
||||||
$folder = $this->getRandomFolder();
|
$folder = $this->getRandomFolder();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -65,7 +65,7 @@ class FolderTest extends TestCaseWithURLToolSetup
|
|||||||
|
|
||||||
public function getUpdateSeoEvent(&$folder)
|
public function getUpdateSeoEvent(&$folder)
|
||||||
{
|
{
|
||||||
if(!$folder instanceof \Thelia\Model\Folder) {
|
if (!$folder instanceof \Thelia\Model\Folder) {
|
||||||
$folder = $this->getRandomFolder();
|
$folder = $this->getRandomFolder();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -83,6 +83,7 @@ class FolderTest extends TestCaseWithURLToolSetup
|
|||||||
public function processUpdateSeoAction($event)
|
public function processUpdateSeoAction($event)
|
||||||
{
|
{
|
||||||
$contentAction = new Folder($this->getContainer());
|
$contentAction = new Folder($this->getContainer());
|
||||||
|
|
||||||
return $contentAction->updateSeo($event);
|
return $contentAction->updateSeo($event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,6 @@
|
|||||||
namespace Thelia\Tests\Action;
|
namespace Thelia\Tests\Action;
|
||||||
use Propel\Runtime\ActiveQuery\Criteria;
|
use Propel\Runtime\ActiveQuery\Criteria;
|
||||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||||
use Symfony\Component\DependencyInjection\Definition;
|
|
||||||
use Symfony\Component\HttpFoundation\Session\Storage\MockArraySessionStorage;
|
use Symfony\Component\HttpFoundation\Session\Storage\MockArraySessionStorage;
|
||||||
use Thelia\Core\Event\Order\OrderAddressEvent;
|
use Thelia\Core\Event\Order\OrderAddressEvent;
|
||||||
use Thelia\Core\Event\Order\OrderEvent;
|
use Thelia\Core\Event\Order\OrderEvent;
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ trait RewrittenUrlTestTrait
|
|||||||
->filterByView(ConfigQuery::getObsoleteRewrittenUrlView(), Criteria::NOT_EQUAL)
|
->filterByView(ConfigQuery::getObsoleteRewrittenUrlView(), Criteria::NOT_EQUAL)
|
||||||
->findOne();
|
->findOne();
|
||||||
|
|
||||||
if(null === $existingUrl) {
|
if (null === $existingUrl) {
|
||||||
$this->fail('use fixtures before launching test, there is not enough rewritten url');
|
$this->fail('use fixtures before launching test, there is not enough rewritten url');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -56,12 +56,12 @@ trait RewrittenUrlTestTrait
|
|||||||
|
|
||||||
/* get a brand new URL */
|
/* get a brand new URL */
|
||||||
$exist = true;
|
$exist = true;
|
||||||
while(true === $exist) {
|
while (true === $exist) {
|
||||||
$newUrl = md5(rand(1, 999999)) . ".html";
|
$newUrl = md5(rand(1, 999999)) . ".html";
|
||||||
try {
|
try {
|
||||||
new RewritingResolver($newUrl);
|
new RewritingResolver($newUrl);
|
||||||
} catch(UrlRewritingException $e) {
|
} catch (UrlRewritingException $e) {
|
||||||
if($e->getCode() === UrlRewritingException::URL_NOT_FOUND) {
|
if ($e->getCode() === UrlRewritingException::URL_NOT_FOUND) {
|
||||||
/* It's all good if URL is not found */
|
/* It's all good if URL is not found */
|
||||||
$exist = false;
|
$exist = false;
|
||||||
} else {
|
} else {
|
||||||
@@ -92,7 +92,7 @@ trait RewrittenUrlTestTrait
|
|||||||
try {
|
try {
|
||||||
$aRandomProduct->setRewrittenUrl($aRandomProduct->getLocale(), $currentUrl);
|
$aRandomProduct->setRewrittenUrl($aRandomProduct->getLocale(), $currentUrl);
|
||||||
$failReassign = false;
|
$failReassign = false;
|
||||||
} catch(\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->assertFalse($failReassign);
|
$this->assertFalse($failReassign);
|
||||||
|
|||||||
@@ -52,7 +52,6 @@ class ConditionCollectionTest extends \PHPUnit_Framework_TestCase
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generate adapter stub
|
* Generate adapter stub
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -431,12 +431,10 @@ class ConditionFactoryTest extends \PHPUnit_Framework_TestCase
|
|||||||
->method('getContainer')
|
->method('getContainer')
|
||||||
->will($this->returnValue($stubContainer));
|
->will($this->returnValue($stubContainer));
|
||||||
|
|
||||||
|
|
||||||
$conditions = new ConditionCollection();
|
$conditions = new ConditionCollection();
|
||||||
|
|
||||||
$conditionFactory = new ConditionFactory($stubContainer);
|
$conditionFactory = new ConditionFactory($stubContainer);
|
||||||
|
|
||||||
|
|
||||||
$conditionNone = new MatchForEveryone($stubFacade);
|
$conditionNone = new MatchForEveryone($stubFacade);
|
||||||
$expectedCollection = new ConditionCollection();
|
$expectedCollection = new ConditionCollection();
|
||||||
$expectedCollection->add($conditionNone);
|
$expectedCollection->add($conditionNone);
|
||||||
|
|||||||
@@ -197,6 +197,5 @@ class MatchForEveryoneTest extends \PHPUnit_Framework_TestCase
|
|||||||
$this->assertEquals($expected1, $actual1);
|
$this->assertEquals($expected1, $actual1);
|
||||||
$this->assertEquals($expected2, $actual2);
|
$this->assertEquals($expected2, $actual2);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -633,7 +633,6 @@ class MatchForTotalAmountTest extends \PHPUnit_Framework_TestCase
|
|||||||
->method('getAvailableCurrencies')
|
->method('getAvailableCurrencies')
|
||||||
->will($this->returnValue($currencies));
|
->will($this->returnValue($currencies));
|
||||||
|
|
||||||
|
|
||||||
$condition1 = new MatchForTotalAmount($stubFacade);
|
$condition1 = new MatchForTotalAmount($stubFacade);
|
||||||
$operators = array(
|
$operators = array(
|
||||||
MatchForTotalAmount::INPUT1 => Operators::EQUAL,
|
MatchForTotalAmount::INPUT1 => Operators::EQUAL,
|
||||||
@@ -644,7 +643,6 @@ class MatchForTotalAmountTest extends \PHPUnit_Framework_TestCase
|
|||||||
MatchForTotalAmount::INPUT2 => 'UNK');
|
MatchForTotalAmount::INPUT2 => 'UNK');
|
||||||
$condition1->setValidatorsFromForm($operators, $values);
|
$condition1->setValidatorsFromForm($operators, $values);
|
||||||
|
|
||||||
|
|
||||||
$stubContainer = $this->getMockBuilder('\Symfony\Component\DependencyInjection\Container')
|
$stubContainer = $this->getMockBuilder('\Symfony\Component\DependencyInjection\Container')
|
||||||
->disableOriginalConstructor()
|
->disableOriginalConstructor()
|
||||||
->getMock();
|
->getMock();
|
||||||
@@ -700,7 +698,6 @@ class MatchForTotalAmountTest extends \PHPUnit_Framework_TestCase
|
|||||||
->method('getAvailableCurrencies')
|
->method('getAvailableCurrencies')
|
||||||
->will($this->returnValue($currencies));
|
->will($this->returnValue($currencies));
|
||||||
|
|
||||||
|
|
||||||
$condition1 = new MatchForTotalAmount($stubFacade);
|
$condition1 = new MatchForTotalAmount($stubFacade);
|
||||||
$operators = array(
|
$operators = array(
|
||||||
MatchForTotalAmount::INPUT1 => Operators::EQUAL,
|
MatchForTotalAmount::INPUT1 => Operators::EQUAL,
|
||||||
@@ -711,7 +708,6 @@ class MatchForTotalAmountTest extends \PHPUnit_Framework_TestCase
|
|||||||
MatchForTotalAmount::INPUT2 => 'EUR');
|
MatchForTotalAmount::INPUT2 => 'EUR');
|
||||||
$condition1->setValidatorsFromForm($operators, $values);
|
$condition1->setValidatorsFromForm($operators, $values);
|
||||||
|
|
||||||
|
|
||||||
$stubContainer = $this->getMockBuilder('\Symfony\Component\DependencyInjection\Container')
|
$stubContainer = $this->getMockBuilder('\Symfony\Component\DependencyInjection\Container')
|
||||||
->disableOriginalConstructor()
|
->disableOriginalConstructor()
|
||||||
->getMock();
|
->getMock();
|
||||||
@@ -767,7 +763,6 @@ class MatchForTotalAmountTest extends \PHPUnit_Framework_TestCase
|
|||||||
->method('getAvailableCurrencies')
|
->method('getAvailableCurrencies')
|
||||||
->will($this->returnValue($currencies));
|
->will($this->returnValue($currencies));
|
||||||
|
|
||||||
|
|
||||||
$condition1 = new MatchForTotalAmount($stubFacade);
|
$condition1 = new MatchForTotalAmount($stubFacade);
|
||||||
$operators = array(
|
$operators = array(
|
||||||
MatchForTotalAmount::INPUT1 => Operators::EQUAL,
|
MatchForTotalAmount::INPUT1 => Operators::EQUAL,
|
||||||
@@ -778,7 +773,6 @@ class MatchForTotalAmountTest extends \PHPUnit_Framework_TestCase
|
|||||||
MatchForTotalAmount::INPUT2 => 'EUR');
|
MatchForTotalAmount::INPUT2 => 'EUR');
|
||||||
$condition1->setValidatorsFromForm($operators, $values);
|
$condition1->setValidatorsFromForm($operators, $values);
|
||||||
|
|
||||||
|
|
||||||
$stubContainer = $this->getMockBuilder('\Symfony\Component\DependencyInjection\Container')
|
$stubContainer = $this->getMockBuilder('\Symfony\Component\DependencyInjection\Container')
|
||||||
->disableOriginalConstructor()
|
->disableOriginalConstructor()
|
||||||
->getMock();
|
->getMock();
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ class CategoryTest extends BaseLoopTestor
|
|||||||
public function testSearchById()
|
public function testSearchById()
|
||||||
{
|
{
|
||||||
$category = CategoryQuery::create()->findOne();
|
$category = CategoryQuery::create()->findOne();
|
||||||
if(null === $category) {
|
if (null === $category) {
|
||||||
$category = new \Thelia\Model\Category();
|
$category = new \Thelia\Model\Category();
|
||||||
$category->setParent(0);
|
$category->setParent(0);
|
||||||
$category->setVisible(1);
|
$category->setVisible(1);
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ class ContentTest extends BaseLoopTestor
|
|||||||
public function testSearchById()
|
public function testSearchById()
|
||||||
{
|
{
|
||||||
$content = ContentQuery::create()->findOne();
|
$content = ContentQuery::create()->findOne();
|
||||||
if(null === $content) {
|
if (null === $content) {
|
||||||
$content = new \Thelia\Model\Content();
|
$content = new \Thelia\Model\Content();
|
||||||
$content->setDefaultFolder(0);
|
$content->setDefaultFolder(0);
|
||||||
$content->setVisible(1);
|
$content->setVisible(1);
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ class FolderTest extends BaseLoopTestor
|
|||||||
public function testSearchById()
|
public function testSearchById()
|
||||||
{
|
{
|
||||||
$folder = FolderQuery::create()->findOne();
|
$folder = FolderQuery::create()->findOne();
|
||||||
if(null === $folder) {
|
if (null === $folder) {
|
||||||
$folder = new \Thelia\Model\Folder();
|
$folder = new \Thelia\Model\Folder();
|
||||||
$folder->setParent(0);
|
$folder->setParent(0);
|
||||||
$folder->setVisible(1);
|
$folder->setVisible(1);
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ class ProductTest extends BaseLoopTestor
|
|||||||
public function testSearchById()
|
public function testSearchById()
|
||||||
{
|
{
|
||||||
$product = ProductQuery::create()->orderById(Criteria::ASC)->findOne();
|
$product = ProductQuery::create()->orderById(Criteria::ASC)->findOne();
|
||||||
if(null === $product) {
|
if (null === $product) {
|
||||||
$product = new \Thelia\Model\Product();
|
$product = new \Thelia\Model\Product();
|
||||||
$product->setDefaultCategory(0);
|
$product->setDefaultCategory(0);
|
||||||
$product->setVisible(1);
|
$product->setVisible(1);
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ class TaxRuleTest extends BaseLoopTestor
|
|||||||
public function testSearchById()
|
public function testSearchById()
|
||||||
{
|
{
|
||||||
$tr = TaxRuleQuery::create()->findOne();
|
$tr = TaxRuleQuery::create()->findOne();
|
||||||
if(null === $tr) {
|
if (null === $tr) {
|
||||||
$tr = new \Thelia\Model\TaxRule();
|
$tr = new \Thelia\Model\TaxRule();
|
||||||
$tr->setTitle('foo');
|
$tr->setTitle('foo');
|
||||||
$tr->save();
|
$tr->save();
|
||||||
|
|||||||
@@ -156,7 +156,6 @@ Sed facilisis pellentesque nisl, eu tincidunt erat scelerisque a. Nullam malesua
|
|||||||
$serializedConditions = $conditionFactory->serializeConditionCollection($conditions);
|
$serializedConditions = $conditionFactory->serializeConditionCollection($conditions);
|
||||||
$coupon1->setSerializedConditions($serializedConditions);
|
$coupon1->setSerializedConditions($serializedConditions);
|
||||||
|
|
||||||
|
|
||||||
$coupon1->setMaxUsage(40);
|
$coupon1->setMaxUsage(40);
|
||||||
$coupon1->setIsCumulative(true);
|
$coupon1->setIsCumulative(true);
|
||||||
$coupon1->setIsRemovingPostage(false);
|
$coupon1->setIsRemovingPostage(false);
|
||||||
@@ -190,7 +189,6 @@ Sed facilisis pellentesque nisl, eu tincidunt erat scelerisque a. Nullam malesua
|
|||||||
|
|
||||||
$couponManager = new RemoveXAmount($stubFacade);
|
$couponManager = new RemoveXAmount($stubFacade);
|
||||||
|
|
||||||
|
|
||||||
$condition1 = new MatchForTotalAmount($stubFacade);
|
$condition1 = new MatchForTotalAmount($stubFacade);
|
||||||
$operators = array(
|
$operators = array(
|
||||||
MatchForTotalAmount::INPUT1 => Operators::SUPERIOR,
|
MatchForTotalAmount::INPUT1 => Operators::SUPERIOR,
|
||||||
@@ -223,7 +221,6 @@ Sed facilisis pellentesque nisl, eu tincidunt erat scelerisque a. Nullam malesua
|
|||||||
->method('unserializeConditionCollection')
|
->method('unserializeConditionCollection')
|
||||||
->will($this->returnValue($conditions));
|
->will($this->returnValue($conditions));
|
||||||
|
|
||||||
|
|
||||||
$stubContainer->expects($this->any())
|
$stubContainer->expects($this->any())
|
||||||
->method('get')
|
->method('get')
|
||||||
->will($this->onConsecutiveCalls($stubFacade, $couponManager, $stubConditionFactory));
|
->will($this->onConsecutiveCalls($stubFacade, $couponManager, $stubConditionFactory));
|
||||||
@@ -255,8 +252,6 @@ Sed facilisis pellentesque nisl, eu tincidunt erat scelerisque a. Nullam malesua
|
|||||||
|
|
||||||
$couponManager = new RemoveXAmount($stubFacade);
|
$couponManager = new RemoveXAmount($stubFacade);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$stubContainer->expects($this->any())
|
$stubContainer->expects($this->any())
|
||||||
->method('get')
|
->method('get')
|
||||||
->will($this->onConsecutiveCalls($stubFacade, $couponManager));
|
->will($this->onConsecutiveCalls($stubFacade, $couponManager));
|
||||||
@@ -293,7 +288,6 @@ Sed facilisis pellentesque nisl, eu tincidunt erat scelerisque a. Nullam malesua
|
|||||||
|
|
||||||
$couponManager = new RemoveXAmount($stubFacade);
|
$couponManager = new RemoveXAmount($stubFacade);
|
||||||
|
|
||||||
|
|
||||||
$condition1 = new MatchForTotalAmount($stubFacade);
|
$condition1 = new MatchForTotalAmount($stubFacade);
|
||||||
$operators = array(
|
$operators = array(
|
||||||
MatchForTotalAmount::INPUT1 => Operators::SUPERIOR,
|
MatchForTotalAmount::INPUT1 => Operators::SUPERIOR,
|
||||||
@@ -326,7 +320,6 @@ Sed facilisis pellentesque nisl, eu tincidunt erat scelerisque a. Nullam malesua
|
|||||||
->method('unserializeConditionCollection')
|
->method('unserializeConditionCollection')
|
||||||
->will($this->returnValue($conditions));
|
->will($this->returnValue($conditions));
|
||||||
|
|
||||||
|
|
||||||
$stubContainer->expects($this->any())
|
$stubContainer->expects($this->any())
|
||||||
->method('get')
|
->method('get')
|
||||||
->will($this->onConsecutiveCalls($stubFacade, $couponManager, $stubConditionFactory));
|
->will($this->onConsecutiveCalls($stubFacade, $couponManager, $stubConditionFactory));
|
||||||
@@ -358,7 +351,6 @@ Sed facilisis pellentesque nisl, eu tincidunt erat scelerisque a. Nullam malesua
|
|||||||
|
|
||||||
$couponManager = new RemoveXAmount($stubFacade);
|
$couponManager = new RemoveXAmount($stubFacade);
|
||||||
|
|
||||||
|
|
||||||
$condition1 = new MatchForTotalAmount($stubFacade);
|
$condition1 = new MatchForTotalAmount($stubFacade);
|
||||||
$operators = array(
|
$operators = array(
|
||||||
MatchForTotalAmount::INPUT1 => Operators::SUPERIOR,
|
MatchForTotalAmount::INPUT1 => Operators::SUPERIOR,
|
||||||
@@ -389,7 +381,6 @@ Sed facilisis pellentesque nisl, eu tincidunt erat scelerisque a. Nullam malesua
|
|||||||
->method('unserializeConditionCollection')
|
->method('unserializeConditionCollection')
|
||||||
->will($this->returnValue($conditions));
|
->will($this->returnValue($conditions));
|
||||||
|
|
||||||
|
|
||||||
$stubContainer->expects($this->any())
|
$stubContainer->expects($this->any())
|
||||||
->method('get')
|
->method('get')
|
||||||
->will($this->onConsecutiveCalls($stubFacade, $couponManager, $stubConditionFactory));
|
->will($this->onConsecutiveCalls($stubFacade, $couponManager, $stubConditionFactory));
|
||||||
|
|||||||
@@ -62,7 +62,6 @@ class CouponManagerTest extends \PHPUnit_Framework_TestCase
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generate a valid Coupon model
|
* Generate a valid Coupon model
|
||||||
*/
|
*/
|
||||||
@@ -118,7 +117,6 @@ Sed facilisis pellentesque nisl, eu tincidunt erat scelerisque a. Nullam malesua
|
|||||||
$serializedConditions = $conditionFactory->serializeConditionCollection($conditions);
|
$serializedConditions = $conditionFactory->serializeConditionCollection($conditions);
|
||||||
$coupon1->setSerializedConditions($serializedConditions);
|
$coupon1->setSerializedConditions($serializedConditions);
|
||||||
|
|
||||||
|
|
||||||
$coupon1->setMaxUsage(40);
|
$coupon1->setMaxUsage(40);
|
||||||
$coupon1->setIsCumulative(true);
|
$coupon1->setIsCumulative(true);
|
||||||
$coupon1->setIsRemovingPostage(true);
|
$coupon1->setIsRemovingPostage(true);
|
||||||
@@ -307,8 +305,6 @@ Sed facilisis pellentesque nisl, eu tincidunt erat scelerisque a. Nullam malesua
|
|||||||
|
|
||||||
$conditionFactory = new ConditionFactory($stubContainer);
|
$conditionFactory = new ConditionFactory($stubContainer);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$stubFacade->expects($this->any())
|
$stubFacade->expects($this->any())
|
||||||
->method('getCurrentCoupons')
|
->method('getCurrentCoupons')
|
||||||
->will($this->returnValue(array()));
|
->will($this->returnValue(array()));
|
||||||
@@ -334,7 +330,6 @@ Sed facilisis pellentesque nisl, eu tincidunt erat scelerisque a. Nullam malesua
|
|||||||
$coupon1 = $couponFactory->buildCouponFromModel($model1);
|
$coupon1 = $couponFactory->buildCouponFromModel($model1);
|
||||||
$coupon2 = clone $coupon1;
|
$coupon2 = clone $coupon1;
|
||||||
|
|
||||||
|
|
||||||
$couponManager = new CouponManager($stubContainer);
|
$couponManager = new CouponManager($stubContainer);
|
||||||
$couponManager->addAvailableCoupon($coupon1);
|
$couponManager->addAvailableCoupon($coupon1);
|
||||||
$couponManager->addAvailableCoupon($coupon2);
|
$couponManager->addAvailableCoupon($coupon2);
|
||||||
@@ -387,7 +382,6 @@ Sed facilisis pellentesque nisl, eu tincidunt erat scelerisque a. Nullam malesua
|
|||||||
->method('get')
|
->method('get')
|
||||||
->will($this->onConsecutiveCalls($stubFacade));
|
->will($this->onConsecutiveCalls($stubFacade));
|
||||||
|
|
||||||
|
|
||||||
$couponManager = new CouponManager($stubContainer);
|
$couponManager = new CouponManager($stubContainer);
|
||||||
$couponManager->addAvailableCondition($condition1);
|
$couponManager->addAvailableCondition($condition1);
|
||||||
$couponManager->addAvailableCondition($condition2);
|
$couponManager->addAvailableCondition($condition2);
|
||||||
@@ -444,10 +438,8 @@ Sed facilisis pellentesque nisl, eu tincidunt erat scelerisque a. Nullam malesua
|
|||||||
->method('get')
|
->method('get')
|
||||||
->will($this->onConsecutiveCalls($stubFacade));
|
->will($this->onConsecutiveCalls($stubFacade));
|
||||||
|
|
||||||
|
|
||||||
$couponManager = new CouponManager($stubContainer);
|
$couponManager = new CouponManager($stubContainer);
|
||||||
|
|
||||||
|
|
||||||
$stubModel = $this->getMockBuilder('\Thelia\Model\Coupon')
|
$stubModel = $this->getMockBuilder('\Thelia\Model\Coupon')
|
||||||
->disableOriginalConstructor()
|
->disableOriginalConstructor()
|
||||||
->getMock();
|
->getMock();
|
||||||
@@ -511,10 +503,8 @@ Sed facilisis pellentesque nisl, eu tincidunt erat scelerisque a. Nullam malesua
|
|||||||
->method('get')
|
->method('get')
|
||||||
->will($this->onConsecutiveCalls($stubFacade));
|
->will($this->onConsecutiveCalls($stubFacade));
|
||||||
|
|
||||||
|
|
||||||
$couponManager = new CouponManager($stubContainer);
|
$couponManager = new CouponManager($stubContainer);
|
||||||
|
|
||||||
|
|
||||||
$stubModel = $this->getMockBuilder('\Thelia\Model\Coupon')
|
$stubModel = $this->getMockBuilder('\Thelia\Model\Coupon')
|
||||||
->disableOriginalConstructor()
|
->disableOriginalConstructor()
|
||||||
->getMock();
|
->getMock();
|
||||||
|
|||||||
@@ -23,7 +23,6 @@
|
|||||||
|
|
||||||
namespace Thelia\Tests\Model;
|
namespace Thelia\Tests\Model;
|
||||||
|
|
||||||
|
|
||||||
use Thelia\Model\ConfigQuery;
|
use Thelia\Model\ConfigQuery;
|
||||||
use Symfony\Component\Filesystem\Filesystem;
|
use Symfony\Component\Filesystem\Filesystem;
|
||||||
use Thelia\Model\Message;
|
use Thelia\Model\Message;
|
||||||
@@ -324,8 +323,8 @@ class MessageTest extends \PHPUnit_Framework_TestCase
|
|||||||
$this->assertEquals("TEXT Layout 6: TEXT <template> & content v=my-value", $instance->getChildren()[0]->getBody());
|
$this->assertEquals("TEXT Layout 6: TEXT <template> & content v=my-value", $instance->getChildren()[0]->getBody());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function tearDown() {
|
protected function tearDown()
|
||||||
|
{
|
||||||
$dir = TemplateHelper::getInstance()->getActiveMailTemplate()->getAbsolutePath();
|
$dir = TemplateHelper::getInstance()->getActiveMailTemplate()->getAbsolutePath();
|
||||||
|
|
||||||
ConfigQuery::write('active-mail-template', $this->backup_mail_template);
|
ConfigQuery::write('active-mail-template', $this->backup_mail_template);
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user