Example #1
0
 /**
  * @param array $sessionValues
  */
 public function setSessionValues($sessionValues)
 {
     if (is_array($sessionValues)) {
         foreach ($sessionValues as $key => $value) {
             $longKey = $this->namespace . $key;
             $this->session->set($longKey, $value);
         }
         $this->session->save();
     }
 }
Example #2
0
 /**
  * @Route("/", name="homepage")
  */
 public function indexAction(Request $request)
 {
     //start session
     $session = new Session(new PhpBridgeSessionStorage());
     $session->start();
     $session->set('date', time());
     //get products from DB
     $products = $this->getDoctrine()->getRepository('AppBundle:Cart')->findAll();
     //get session products
     $sessionProducts = $session->get('products');
     $productArray = null;
     //if post save to db && session
     if ($request->isMethod('post')) {
         $postProduct = [$request->request->get('product')];
         if (!empty($sessionProducts)) {
             $productArray = array_merge($sessionProducts, $postProduct);
         } else {
             $productArray = $postProduct;
         }
         $productArray = array_unique($productArray);
     }
     $session->set('products', $productArray);
     // this helps create cookie for session
     $session->save();
     return $this->render('default/index.html.twig', array('sessionProducts' => $productArray, 'products' => $products));
 }
Example #3
0
 /**
  * Remove all session variables upon logout
  */
 public function logout()
 {
     $this->session->remove('loggedIn');
     $this->session->remove('name');
     $this->session->remove('username');
     $this->session->remove('password');
     $this->session->remove('user_id');
     $this->session->save();
 }
Example #4
0
 /**
  * @Route("/map", name="map")
  * @Template()
  */
 public function mapAction(Request $request)
 {
     $session = new Session();
     $refer = $request->headers->get('referer');
     if ($request->query->get('my') == '0' && $session->get('referer') != null) {
         if ($session->get('referer') != $refer) {
             $refer = $session->get('referer');
             $session->set('referer', null);
             return $this->redirect($refer);
         }
     }
     if ($request->query->get('my') == 1 && $session->get('lists') == null) {
         return $this->redirect($this->generateUrl('map'));
     }
     $session->set('referer', $refer);
     $session->save();
     //        }
     $params = array('grpMin' => $request->query->get('grp-min'), 'grpMax' => $request->query->get('grp-max'), 'otsMin' => $request->query->get('ots-min'), 'otsMax' => $request->query->get('ots-max'), 'priceMin' => $request->query->get('price-min'), 'priceMax' => $request->query->get('price-max'), 'area' => $request->query->get('area'), 'formatS' => $request->query->get('formatS'), 'formatM' => $request->query->get('formatM'), 'formatL' => $request->query->get('formatL'), 'formatSB' => $request->query->get('formatSB'), 'light' => $request->query->get('light'), 'street' => $request->query->get('street'), 'city' => $request->query->get('city'), 'hot' => $request->query->get('hot'), 'dateStart' => $request->query->get('dateStart'), 'dateEnd' => $request->query->get('dateEnd'));
     if ($params['formatS'] == null) {
         $params['formatS'] = 1;
     }
     if ($params['formatM'] == null) {
         $params['formatM'] = 1;
     }
     if ($params['formatL'] == null) {
         $params['formatL'] = 1;
     }
     if ($params['formatSB'] == null) {
         $params['formatSB'] = 1;
     }
     if ($request->query->get('city')) {
         $city = $request->query->get('city') . ', ';
     } else {
         $city = 'Москва,';
     }
     if ($request->query->get('area')) {
         $area = $request->query->get('area') . ', ';
     } else {
         $area = '';
     }
     if ($request->query->get('my') == 1) {
         $basket = $session->get('lists');
         if (isset($basket) && $basket != null && isset(array_values($basket)[0])) {
             $val = array_values($basket)[0]['city'];
         } else {
             $val = 'Москва';
         }
     } else {
         $val = $city . ' ' . $area . ' ' . $request->query->get('street');
     }
     $url = 'http://geocode-maps.yandex.ru/1.x/?geocode=' . urlencode($val);
     $content = file_get_contents($url);
     $XmlObj = simplexml_load_string($content);
     if (isset($XmlObj->GeoObjectCollection->featureMember->GeoObject->Point->pos)) {
         $pos['x'] = explode(' ', $XmlObj->GeoObjectCollection->featureMember->GeoObject->Point->pos)[1];
         $pos['y'] = explode(' ', $XmlObj->GeoObjectCollection->featureMember->GeoObject->Point->pos)[0];
     } else {
         $pos['x'] = null;
         $pos['y'] = null;
     }
     $id = $request->query->get('bannerId');
     if ($id) {
         $thisBanner = $this->getDoctrine()->getRepository('AppBundle:Banner')->findOneById($id);
     } else {
         $thisBanner = null;
     }
     $lists = array();
     $i = 0;
     $grp = 0;
     $ots = 0;
     $ots2 = 0;
     $sideA = 0;
     $side = '';
     $sideB = 0;
     $price = 0;
     $price2 = 0;
     $fullprice = 0;
     $session = $request->getSession();
     $basket = $session->get('lists');
     if ($basket) {
         foreach ($basket as $key => $val) {
             $i++;
             //                $lists[] = $this->getDoctrine()->getRepository('AppBundle:Banner')->findOneById($key);
             $grp += $val['grp'];
             $ots += $val['ots'];
             if (strripos($val['side'], 'A') !== false || strripos($val['side'], 'А') !== false) {
                 $sideA++;
             } else {
                 $sideB++;
             }
             $price += $val['price'];
             $price2 += $val['price2'];
         }
         $lists = $basket;
         $grp = $grp / $i;
         $ots2 = $ots;
         $ots = $ots / $i;
         $fullprice = $price2;
         $price = $price / $i;
         $price2 = $price2 / $i;
         $grp = number_format($grp, 2, '.', '');
         $ots = number_format($ots, 2, '.', '');
         $price = number_format($price, 2, '.', '');
         $price2 = number_format($price2, 2, '.', '');
         $sideA = number_format(100 / $i * $sideA, 0, '.', '');
         $sideB = number_format(100 / $i * $sideB, 0, '.', '');
         $side = $sideA . '/' . $sideB;
     }
     $cities = $this->getDoctrine()->getRepository('AppBundle:City')->findBy(array('enabled' => true));
     return array('id' => $id, 'cities' => $cities, 'params' => $params, 'lists' => $lists, 'grp' => $grp, 'ots' => $ots, 'otsSum' => $ots2, 'price' => $price, 'price2' => $price2, 'count' => $i, 'side' => $side, 'fullPrice' => $fullprice, 'thisBanner' => $thisBanner, 'pos' => $pos, 'street' => $request->query->get('street'));
 }
 /**
  * Writes the session.
  *
  * @return void
  */
 protected function writeSession()
 {
     $this->session->save();
 }
Example #6
0
 /**
  * {@inheritDoc}
  *
  * Also persists container services.
  *
  * @see peristServices
  */
 public function save()
 {
     $this->persistServices();
     parent::save();
 }
Example #7
0
 /**
  * {@inheritdoc}
  */
 public function save()
 {
     $this->ageFlashData();
     return parent::save();
 }
Example #8
0
 /**
  * {@inheritdoc}
  */
 public function processResponse(Request $request, Response $response)
 {
     if ($this->session->isStarted()) {
         $this->session->save();
     }
 }
Example #9
0
/**
 * \brief send a string to a user as a download file
 *
 * \param $text - text to download as file
 * \param $name - file name
 * \param $contentType - download file Content-Type
 * 
 * \return True on success, error message on failure.
 */
function DownloadString2File($text, $name, $contentType)
{
    $connstat = connection_status();
    if ($connstat != 0) {
        return _("Lost connection.");
    }
    $session = new Session();
    $session->save();
    ob_end_clean();
    header("Expires: " . gmdate("D, d M Y H:i:s", mktime(date("H") + 2, date("i"), date("s"), date("m"), date("d"), date("Y"))) . " GMT");
    header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
    header('Content-Description: File Transfer');
    header("Content-Type: {$contentType}");
    header("Content-Length: " . (string) strlen($text));
    header("Content-Disposition: attachment; filename=\"{$name}\"");
    header("Content-Transfer-Encoding: binary\n");
    echo $text;
    if (connection_status() == 0 and !connection_aborted()) {
        return True;
    }
    return _("Lost connection.");
}
Example #10
0
 /**
  * {@inheritdoc}
  */
 public function impersonate(UserInterface $user)
 {
     $token = new UsernamePasswordToken($user, $user->getPassword(), $this->sessionTokenParameter, $user->getRoles());
     $this->session->set($this->sessionTokenParameter, serialize($token));
     $this->session->save();
 }
Example #11
0
 /**
  * Set the feature to the enclosed status, under the given context
  *
  * @param ContextInterface $context
  * @param FeatureInterface $feature
  * @return void
  */
 public function setFeature(ContextInterface $context, FeatureInterface $feature)
 {
     $this->bag->set($feature->getName(), $feature->getConfiguration());
     $this->session->save();
 }