No longer used
This commit is contained in:
@@ -1,105 +0,0 @@
|
||||
<?php
|
||||
/*************************************************************************************/
|
||||
/* This file is part of the Thelia package. */
|
||||
/* */
|
||||
/* Copyright (c) OpenStudio */
|
||||
/* email : dev@thelia.net */
|
||||
/* web : http://www.thelia.net */
|
||||
/* */
|
||||
/* For the full copyright and license information, please view the LICENSE.txt */
|
||||
/* file that was distributed with this source code. */
|
||||
/*************************************************************************************/
|
||||
|
||||
namespace Thelia\Coupon;
|
||||
|
||||
use Symfony\Component\Form\DataTransformerInterface;
|
||||
use Symfony\Component\Form\Exception\TransformationFailedException;
|
||||
use Thelia\Model\LangQuery;
|
||||
|
||||
/**
|
||||
* @author Franck Allimant <franck@cqfdev.fr>
|
||||
*
|
||||
* Creation date: 02/05/14 15:20
|
||||
*/
|
||||
class ExpirationDateTransformer implements DataTransformerInterface
|
||||
{
|
||||
|
||||
/**
|
||||
* Transforms a value from the original representation to a transformed representation.
|
||||
*
|
||||
* This method is called on two occasions inside a form field:
|
||||
*
|
||||
* 1. When the form field is initialized with the data attached from the datasource (object or array).
|
||||
* 2. When data from a request is bound using {@link Form::bind()} to transform the new input data
|
||||
* back into the renderable format. For example if you have a date field and bind '2009-10-10' onto
|
||||
* it you might accept this value because its easily parsed, but the transformer still writes back
|
||||
* "2009/10/10" onto the form field (for further displaying or other purposes).
|
||||
*
|
||||
* This method must be able to deal with empty values. Usually this will
|
||||
* be NULL, but depending on your implementation other empty values are
|
||||
* possible as well (such as empty strings). The reasoning behind this is
|
||||
* that value transformers must be chainable. If the transform() method
|
||||
* of the first value transformer outputs NULL, the second value transformer
|
||||
* must be able to process that value.
|
||||
*
|
||||
* By convention, transform() should return an empty string if NULL is
|
||||
* passed.
|
||||
*
|
||||
* @param mixed $value The value in the original representation
|
||||
*
|
||||
* @return mixed The value in the transformed representation
|
||||
*
|
||||
* @throws TransformationFailedException When the transformation fails.
|
||||
*/
|
||||
public function transform($value)
|
||||
{
|
||||
if (empty($value)) return '';
|
||||
|
||||
// Get the default language
|
||||
$lang = LangQuery::create()->findOneByByDefault(1);
|
||||
|
||||
if (false !== $dt = \DateTime::createFromFormat($lang->getDateFormat(), $value)) {
|
||||
return $dt->format("Y-m-d");
|
||||
}
|
||||
|
||||
throw new TransformationFailedException(sprintf('Failed to transform "%s" using format "%s"', $value, $lang->getDateFormat()));
|
||||
}
|
||||
|
||||
/**
|
||||
* Transforms a value from the transformed representation to its original
|
||||
* representation.
|
||||
*
|
||||
* This method is called when {@link Form::bind()} is called to transform the requests tainted data
|
||||
* into an acceptable format for your data processing/model layer.
|
||||
*
|
||||
* This method must be able to deal with empty values. Usually this will
|
||||
* be an empty string, but depending on your implementation other empty
|
||||
* values are possible as well (such as empty strings). The reasoning behind
|
||||
* this is that value transformers must be chainable. If the
|
||||
* reverseTransform() method of the first value transformer outputs an
|
||||
* empty string, the second value transformer must be able to process that
|
||||
* value.
|
||||
*
|
||||
* By convention, reverseTransform() should return NULL if an empty string
|
||||
* is passed.
|
||||
*
|
||||
* @param mixed $value The value in the transformed representation
|
||||
*
|
||||
* @return mixed The value in the original representation
|
||||
*
|
||||
* @throws TransformationFailedException When the transformation fails.
|
||||
*/
|
||||
public function reverseTransform($value)
|
||||
{
|
||||
if (empty($value)) return '';
|
||||
|
||||
// Get the default language
|
||||
$lang = LangQuery::create()->findOneByByDefault(1);
|
||||
|
||||
if (false !== $dt = \DateTime::createFromFormat('Y-m-d', $value)) {
|
||||
return $dt->format($lang->getDateFormat());
|
||||
}
|
||||
|
||||
throw new TransformationFailedException(sprintf('Failed to reverse transform "%s" using format "%s"', $value, $lang->getDateFormat()));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user