|
- <?php
-
- namespace Lc\ShopBundle\Services;
-
- use Doctrine\ORM\EntityManagerInterface;
- use Lc\ShopBundle\Context\PageInterface;
-
- class Utils
- {
- protected $em ;
-
- protected $unitsArray = [
- 'piece' => [
- 'unit' => 'piece',
- 'wording_unit' => 'la pièce',
- 'wording' => 'pièce(s)',
- 'wording_short' => 'p.',
- 'coefficient' => 1,
- 'ref' => 'piece'
- ],
- 'g' => [
- 'unit' => 'g',
- 'wording_unit' => 'le g',
- 'wording' => 'g',
- 'wording_short' => 'g',
- 'coefficient' => 1000,
- 'ref' => 'kg'
- ],
- 'kg' => [
- 'unit' => 'kg',
- 'wording_unit' => 'le kg',
- 'wording' => 'kg',
- 'wording_short' => 'kg',
- 'coefficient' => 1,
- 'ref' => 'kg'
- ],
- 'mL' => [
- 'unit' => 'mL',
- 'wording_unit' => 'le mL',
- 'wording' => 'mL',
- 'wording_short' => 'mL',
- 'coefficient' => 1000,
- 'ref' => 'L'
- ],
- 'cL' => [
- 'unit' => 'cL',
- 'wording_unit' => 'le cL',
- 'wording' => 'cL',
- 'wording_short' => 'cL',
- 'coefficient' => 100,
- 'ref' => 'L'
- ],
- 'L' => [
- 'unit' => 'L',
- 'wording_unit' => 'le litre',
- 'wording' => 'L',
- 'wording_short' => 'L',
- 'coefficient' => 1,
- 'ref' => 'L'
- ],
- ];
-
- public function __construct(EntityManagerInterface $em)
- {
- $this->em = $em ;
- }
-
- public static function getDayByNumber($number, $lang = 'fr')
- {
- if($lang == 'fr') {
- $daysArray = [
- 1 => 'Lundi',
- 2 => 'Mardi',
- 3 => 'Mercredi',
- 4 => 'Jeudi',
- 5 => 'Vendredi',
- 6 => 'Samedi',
- 7 => 'Dimanche'
- ] ;
- }
- else {
- $daysArray = [
- 1 => 'Monday',
- 2 => 'Tuesday',
- 3 => 'Wednesday',
- 4 => 'Thursday',
- 5 => 'Friday',
- 6 => 'Saturday',
- 7 => 'Sunday',
- ] ;
- }
-
- if(isset($daysArray[$number])) {
- return $daysArray[$number] ;
- }
-
- return '' ;
- }
-
- public function getUnitsListFormatedForType()
- {
- $choices = [] ;
- foreach ($this->unitsArray as $unit=>$unitInfo){
- $choices[$unitInfo['wording_unit']] = $unit;
- };
- return $choices;
- }
-
- public function getUnitsList()
- {
- return $this->unitsArray;
- }
-
- public function getUnitProperty($unit, $property)
- {
- $unitsArray = $this->getUnitsList() ;
-
- if(isset($unitsArray[$unit][$property])) {
- return $unitsArray[$unit][$property] ;
- }
-
- return false ;
- }
-
- public function getUnitWording($unit, $type = 'wording_short')
- {
- return $this->getUnitProperty($unit, $type) ;
- }
-
- public function getUnitRef($unit)
- {
- return $this->getUnitProperty($unit, 'ref') ;
- }
-
- public function getUnitCoefficient($unit)
- {
- return $this->getUnitProperty($unit, 'coefficient') ;
- }
-
- public function getElementByDevAlias($devAlias, $class = PageInterface::class)
- {
- $class = $this->em->getClassMetadata($class)->getName();
- return $this->em->getRepository($class)->findOneByDevAlias($devAlias) ;
- }
-
- public function isServerLocalhost()
- {
- return in_array($_SERVER['REMOTE_ADDR'], ['127.0.0.1', '::1']) ;
- }
-
- function limitText($text, $limit) {
- if (str_word_count($text, 0) > $limit) {
- $words = str_word_count($text, 2);
- $pos = array_keys($words);
- $text = substr($text, 0, $pos[$limit]) . '...';
- }
- return $text;
- }
-
- }
|