Beispiel #1
0
 /**
  * Getting a single instance of Miao_Session
  *
  * @return Miao_Session
  */
 public static function getInstance()
 {
     if (!isset(self::$_instance)) {
         self::$_instance = new self();
     }
     return self::$_instance;
 }
Beispiel #2
0
 public function execute()
 {
     $captcha = new Miao_Form_KCaptcha();
     $captcha->generate();
     $value = $captcha->getKeyString();
     Miao_Session::getInstance()->saveScalar(Miao_Form_Control_Captcha::SKEY_NAME, $value);
 }
Beispiel #3
0
 public function __construct(array $opts, array $remainingArgs)
 {
     $this->_opts = $opts;
     $this->_remainingArgs = $remainingArgs;
     $this->_init();
     $this->_testSuite = new PHPUnit_Framework_TestSuite();
     Miao_Session::getInstance()->start();
     $this->_log = Miao_Log::easyFactory('', true, 7);
 }
Beispiel #4
0
 public function __construct(array $opts, array $remainingArgs)
 {
     $this->_opts = $opts;
     $this->_remainingArgs = $remainingArgs;
     $this->_init();
     $this->_testSuite = new PHPUnit_Framework_TestSuite();
     //can't isolate session
     Miao_Session::getInstance();
 }
Beispiel #5
0
 public function testHandler()
 {
     $session = Miao_Session::getInstance();
     $sessionNamespace = Miao_Session::getNamespace('Test');
     $sessionNamespace->habr = 'habr';
     $this->assertTrue(!empty($_SESSION));
     $handlerClassNameActual = get_class($session->getHandler());
     $config = Miao_Config::Libs('Miao_Session');
     $handlerConfig = $config->get('Handler');
     $handlerClassNameExpected = 'Miao_Session_Handler_' . key($handlerConfig);
     $this->assertEquals($handlerClassNameExpected, $handlerClassNameActual);
 }
Beispiel #6
0
 public function isValid($value)
 {
     if (!is_string($value)) {
         $this->_error(self::INVALID);
         return false;
     }
     $result = false;
     $valueRight = Miao_Session::getInstance()->load(Miao_Form_Control_Captcha::SKEY_NAME, null, true);
     if (!empty($valueRight)) {
         if ($value === $valueRight) {
             $result = true;
         } else {
             $this->_error(self::INVALID);
         }
     }
     return $result;
 }
 protected function __construct()
 {
     $this->_generateFid();
     $session = Miao_Session::getInstance();
     $form = $session->loadObject($this->_fid, null, true);
     $session->saveObject($this->_fid, null);
     if (is_null($form)) {
         $this->_form = $this->buildForm();
     } else {
         $this->_form = $form;
         $this->_isRedirect = true;
         $request = Miao_Office_Request::getInstance();
         $data = $request->getVars();
         $this->_isValid = $this->_form->isValid($data);
     }
     $this->save();
 }
Beispiel #8
0
 public function testIterator()
 {
     $namespace = 'LLL';
     $sessionNamespace = Miao_Session::getNamespace($namespace);
     $nick = Miao_Session_Namespace::getNick($namespace);
     $sessionNamespace->a = 1;
     $sessionNamespace->b = 2;
     $sessionNamespace->c = 3;
     $expected = array('a' => 1, 'b' => 2, 'c' => 3);
     foreach ($sessionNamespace as $key => $value) {
         $this->assertTrue(isset($expected[$key]));
         $this->assertEquals($expected[$key], $value);
     }
     $this->assertFalse(isset($sessionNamespace['d']));
     $this->assertTrue(isset($sessionNamespace['a']));
     unset($sessionNamespace['a']);
     $this->assertFalse(isset($sessionNamespace['a']));
     $sessionNamespace->clear();
 }
Beispiel #9
0
 /**
  *
  * @param $options array
  * @param $handler unknown_type
  * @return Miao_Session
  */
 public static function getInstance(array $options = array(), $handler = null)
 {
     if (is_null(self::$_instance)) {
         if (empty($options)) {
             $config = Miao_Config::Libs('Miao_Session');
             $options = $config->get('options', false);
             if (!$options) {
                 $options = array();
             }
         }
         if (is_null($handler)) {
             $config = Miao_Config::Libs('Miao_Session');
             $handlerConfig = $config->get('Handler', false);
             if (empty($handlerConfig)) {
                 $handler = new Miao_Session_Handler_None();
             } else {
                 $handlerClassName = 'Miao_Session_Handler_' . key($handlerConfig);
                 $handler = Miao_Config_Instance::get($handlerClassName);
             }
         }
         self::$_instance = new self($options, $handler);
     }
     return self::$_instance;
 }
Beispiel #10
0
 protected function __construct()
 {
     $this->_sessionName = __CLASS__;
     $this->_session = Miao_Session::getNamespace(__CLASS__);
 }
Beispiel #11
0
 protected function _generateFid()
 {
     $session = Miao_Session::getInstance();
     $this->_fid = md5($session->getSessionId() . '_form_' . get_class($this));
 }
Beispiel #12
0
 /**
  * Sets session storage options and initializes session namespace object
  *
  * @param  mixed $namespace
  * @param  mixed $member
  * @return void
  */
 public function __construct($namespace = self::NAMESPACE_DEFAULT, $member = self::MEMBER_DEFAULT)
 {
     $this->_session = Miao_Session::getNamespace($namespace);
     $this->_member = $member;
 }
Beispiel #13
0
 public function testSessionVar()
 {
     $session = Miao_Session::getInstance();
     $session->start();
     $_SESSION['var'] = 'value';
     $this->assertEquals('value', $_SESSION['var']);
 }
Beispiel #14
0
 protected function _load()
 {
     $session = Miao_Session::getInstance();
     $this->_messages = $session->loadObject($this->_sessionName, array());
 }
Beispiel #15
0
 public function testSaveObjectException()
 {
     $this->setExpectedException('Miao_Session_Exception');
     Miao_Session::getInstance()->saveObject('non_object', 'non_object');
     Miao_Session::getInstance()->saveObject('non_object', null);
 }