protected function getRandom($length) { if (is_callable(array('opToolkit', 'getRandom'))) { // for OpenPNE3.6 <= return opToolkit::getRandom($length); } mt_srand(); return substr(md5(mt_rand()), 0, $length); }
public function generateMobileUidCookie() { $request = sfContext::getInstance()->getRequest(); if (!$request->isMobile() || !$request->isCookie()) { return false; } $value = opToolkit::getRandom(); $this->setCookie(opWebRequest::MOBILE_UID_COOKIE_NAME, $value, strtotime('+20years')); return $value; }
public function generateApiKey() { $apiKey = opToolkit::getRandom(); $this->setConfig('api_key', $apiKey); return $apiKey; }
/** * set remember login cookie */ protected function setRememberLoginCookie($isDeleteCookie = false) { $key = md5(sfContext::getInstance()->getRequest()->getHost()); $path = sfContext::getInstance()->getRequest()->getRelativeUrlRoot(); if (!$path) { $path = '/'; } if ($isDeleteCookie) { if (!sfContext::getInstance()->getRequest()->getCookie($key)) { return; } if ($this->getMemberId()) { $this->getMember()->setConfig('remember_key', ''); } $value = null; $expire = time() - 3600; } else { $rememberKey = opToolkit::getRandom(); if (!$this->getMemberId()) { throw new LogicException('No login'); } $this->getMember()->setConfig('remember_key', $rememberKey); $value = base64_encode(serialize(array($this->getMemberId(), $rememberKey))); $expire = time() + sfConfig::get('op_remember_login_limit', 60*60*24*30); } sfContext::getInstance()->getResponse()->setCookie($key, $value, $expire, $path, '', false, true); }
/** * Executes location action * * @param sfWebRequest $request */ public function executeLocation(sfWebRequest $request) { try { $this->processLocation($request); } catch (LogicException $e) { return sfView::ERROR; } $this->forward404Unless(in_array($request->getParameter('type'), array('cell', 'gps'))); $params = array(); if ($request->hasParameter('callback')) { $params['callback'] = $request->getParameter('callback'); } $params['method'] = $request->isMethod(sfWebRequest::GET) ? 'GET' : 'POST'; $this->tk = opToolkit::getRandom('12'); $t = opToolkit::getRandom(); $this->getUser()->setFlash('op_opensocial_location_t_' . $this->tk, $t); $params['t'] = $t; $this->location->setParameters($params); }