src/Mm/Beton/Planungsatlas/AtlasBundle/Entity/Main/AtlasSession.php line 26

Open in your IDE?
  1. <?php
  2. /**
  3.  * Created by PhpStorm.
  4.  * User: waldemar.abich
  5.  * Date: 12.12.14
  6.  * Time: 10:49
  7.  */
  8. namespace Mm\Beton\Planungsatlas\AtlasBundle\Entity\Main;
  9. use Symfony\Component\HttpFoundation\Session\Session;
  10. class AtlasSession
  11. {
  12.     private $user;
  13.     /** @var CartElement[] $cartElements */
  14.     private $cartElements = array();
  15.     private $cartElementsSum 0.0;
  16.     private $aGes 0.0;
  17.     private $uWb 0.0;
  18.     function __construct($user null$cartElements = array())
  19.     {
  20.         if (session_status() == PHP_SESSION_NONE) {
  21.             $session = new Session();
  22.             $session->start();
  23.         }
  24.         $this->cartElements $cartElements;
  25.         $this->user $user;
  26.     }
  27.     /**
  28.      * @param integer $cartElementId
  29.      */
  30.     public function removeCartElementById($cartElementId)
  31.     {
  32.         unset($this->cartElements[$cartElementId]);
  33.         $this->sumCartElements();
  34.     }
  35.     /**
  36.      * @param $cartElementId
  37.      * @param $cartElementLength
  38.      * @param $cartElementPsiValue
  39.      */
  40.     public function setElementLengthById($cartElementId$cartElementLength$cartElementPsiValue)
  41.     {
  42.         $cartElement $this->getCartElementById($cartElementId);
  43.         $cartElement->setLength($cartElementLength);
  44.         $cartElement->setPsiValue($cartElementPsiValue);
  45.         $cartElement->multiplyLengthWithPsiValue();
  46.         $this->sumCartElements();
  47.     }
  48.     /**
  49.      * @param $aGes
  50.      * @return AtlasSession
  51.      */
  52.     public function setAges($aGes)
  53.     {
  54.         $this->aGes $aGes;
  55.         if ($aGes != 0) {
  56.             $uWb $this->cartElementsSum $aGes;
  57.             $this->setUwb(round($uWb2));
  58.         } else {
  59.             $this->setUwb(0.0);
  60.         }
  61.         return $this;
  62.     }
  63.     /**
  64.      * @return float
  65.      */
  66.     public function getAges()
  67.     {
  68.         return $this->aGes;
  69.     }
  70.     /**
  71.      * @param $uWb
  72.      */
  73.     public function setUwb($uWb)
  74.     {
  75.         $this->uWb $uWb;
  76.     }
  77.     /**
  78.      * @return float
  79.      */
  80.     public function getUwb()
  81.     {
  82.         return $this->uWb;
  83.     }
  84.     /**
  85.      * @param $cartElementSum
  86.      */
  87.     private function setCartElementsSum($cartElementSum)
  88.     {
  89.         $this->cartElementsSum $cartElementSum;
  90.     }
  91.     /**
  92.      * @return float
  93.      */
  94.     public function getCartElementsSum()
  95.     {
  96.         return $this->cartElementsSum;
  97.     }
  98.     /**
  99.      * @param CartElement[] $cartElements
  100.      */
  101.     public function setCartElements($cartElements)
  102.     {
  103.         $this->cartElements $cartElements;
  104.     }
  105.     /**
  106.      * @return CartElement[]
  107.      */
  108.     public function getCartElements()
  109.     {
  110.         return $this->cartElements;
  111.     }
  112.     /**
  113.      * @param mixed $user
  114.      */
  115.     public function setUser($user)
  116.     {
  117.         $this->user $user;
  118.     }
  119.     /**
  120.      * @return mixed
  121.      */
  122.     public function getUser()
  123.     {
  124.         return $this->user;
  125.     }
  126.     /**
  127.      * @param CartElement $cartElement
  128.      */
  129.     public function addCartElement($cartElement)
  130.     {
  131.         $this->cartElements[] = $cartElement;
  132.     }
  133.     /**
  134.      * @param integer $cartElementId
  135.      * @return CartElement
  136.      */
  137.     public function getCartElementById($cartElementId)
  138.     {
  139.         return $this->cartElements[$cartElementId];
  140.     }
  141.     /**
  142.      * @param $cartElementId
  143.      * @param $cartElementName
  144.      */
  145.     public function setCartElementNameById($cartElementId$cartElementName)
  146.     {
  147.         $this->getCartElementById($cartElementId)->setCartElementName($cartElementName);
  148.     }
  149.     /**
  150.      * @return float
  151.      */
  152.     private function sumCartElements()
  153.     {
  154.         $sum 0;
  155.         foreach ($this->cartElements as $cartElement) {
  156.             $sum $sum $cartElement->getResult();
  157.         }
  158.         $this->cartElementsSum round($sum2);
  159.         return $this->getCartElementsSum();
  160.     }
  161.     public function saveToSession()
  162.     {
  163.         $_SESSION['atlasSession'] = $this;
  164.     }
  165.     public function loadFromSession()
  166.     {
  167.         if (isset($_SESSION['atlasSession'])) {
  168.             $this->setUser($_SESSION['atlasSession']->getUser());
  169.             $this->setCartElements($_SESSION['atlasSession']->getCartElements());
  170.             $this->setCartElementsSum($_SESSION['atlasSession']->getCartElementsSum());
  171.             $this->setAges($_SESSION['atlasSession']->getAges());
  172.             $this->setUwb($_SESSION['atlasSession']->getUwb());
  173.         }
  174.     }
  175.     public function createFromSession()
  176.     {
  177.         if (!empty($_SESSION['atlasSession'])) {
  178.             $this->loadFromSession();
  179.         }
  180.         return $this;
  181.     }
  182. }