Example #1
0
 public function getValueFromRequest(\Symfony\Component\HttpFoundation\ParameterBag $request)
 {
     $color = $request->get($this->getVariable());
     if (!$color['color']) {
         // transparent
         return false;
     }
     $cv = new \Primal\Color\Parser($color['color']);
     $result = $cv->getResult();
     $alpha = false;
     if (is_numeric($result->alpha) && $result->alpha >= 0 && $result->alpha < 1) {
         $alpha = $result->alpha;
     }
     $cv = new ColorValue($this->getVariable());
     $cv->setRed($result->red);
     $cv->setGreen($result->green);
     $cv->setBlue($result->blue);
     $cv->setAlpha($alpha);
     return $cv;
 }
 public function getValueFromRequest(\Symfony\Component\HttpFoundation\ParameterBag $request)
 {
     $type = $request->get($this->getVariable());
     $tv = new TypeValue($this->getVariable());
     if ($type['font-family']) {
         $tv->setFontFamily($type['font-family']);
     }
     if ($type['font-weight']) {
         $tv->setFontWeight($type['font-weight']);
     }
     if ($type['italic']) {
         $tv->setFontStyle('italic');
     } else {
         if (isset($type['italic'])) {
             $tv->setFontStyle('none');
         }
     }
     if ($type['underline']) {
         $tv->setTextDecoration('underline');
     } else {
         if (isset($type['underline'])) {
             $tv->setDecoration('none');
         }
     }
     if ($type['uppercase']) {
         $tv->setTextTransform('uppercase');
     } else {
         if (isset($type['uppercase'])) {
             $tv->setTextTransform('none');
         }
     }
     if ($type['color']) {
         $cv = new \Primal\Color\Parser($type['color']);
         $result = $cv->getResult();
         $alpha = false;
         if ($result->alpha && $result->alpha < 1) {
             $alpha = $result->alpha;
         }
         $cvv = new ColorValue();
         $cvv->setRed($result->red);
         $cvv->setGreen($result->green);
         $cvv->setBlue($result->blue);
         $cvv->setAlpha($alpha);
         $tv->setColor($cvv);
     }
     if ($type['font-size']) {
         $sv = new SizeValue();
         $sv->setSize($type['font-size']['size']);
         if ($type['font-size']['unit']) {
             $sv->setUnit($type['font-size']['unit']);
         }
         $tv->setFontSize($sv);
     }
     if ($type['letter-spacing']) {
         $sv = new SizeValue();
         $sv->setSize($type['letter-spacing']['size']);
         if ($type['letter-spacing']['unit']) {
             $sv->setUnit($type['letter-spacing']['unit']);
         }
         $tv->setLetterSpacing($sv);
     }
     if ($type['line-height']) {
         $sv = new SizeValue();
         $sv->setSize($type['line-height']['size']);
         if ($type['line-height']['unit']) {
             $sv->setUnit($type['line-height']['unit']);
         }
         $tv->setLineHeight($sv);
     }
     return $tv;
 }