Example #1
0
 /**
  *
  *
  * @param $template
  * @param null $variation
  *
  * @return $this|bool
  *
  * @throws \Exception
  */
 public function register($template, $variation = null)
 {
     $id = self::getVisitId();
     $uri = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';
     if (!Template::exists($template)) {
         return false;
     }
     if ($variation && !Template::isVariation($template, $variation)) {
         return false;
     }
     // Registro visita general
     $visit = new Visits();
     $visit->register($id, $uri, $template, $variation);
     // Registro visitas plantilla
     $this->load(array('template' => $template, 'variation' => $variation));
     if ($this->getId()) {
         $this->setData('views', $this->getViews() + 1);
         $conversions = new Conversions();
         $conversions->recalculateRates($template, $variation, $this->getViews());
     } else {
         $this->setData('template', $template);
         $this->setData('variation', $variation);
         $this->setData('views', 1);
         $this->setData('conversions', 0);
     }
     return $this->save();
 }
Example #2
0
 public function getSessionVariation($template)
 {
     $this->load(Stats::getVisitId());
     if ($this->getTemplate() == $template && Template::isVariation($template, $this->getVariation())) {
         return $this->getVariation();
     }
     return null;
 }