No longer used

This commit is contained in:
Franck Allimant
2014-05-02 18:25:31 +02:00
parent 207911492e
commit 8bf94517f2

View File

@@ -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()));
}
}