Exemple #1
0
 /**
  * Garbage Collection
  *
  * @param int $maxlifetime
  * @return true
  */
 public function gc($maxlifetime)
 {
     $this->delete($this->getAdapter()->quoteIdentifier($this->options->getModifiedColumn()) . ' + '
                 . $this->getAdapter()->quoteIdentifier($this->options->getLifetimeColumn()) . ' < '
                 . $this->getAdapter()->quote(time()));
     return true;
 }
 public function testSetters()
 {
     $options = new DbTableGatewayOptions();
     $options->setIdColumn('testId')->setNameColumn('testName')->setModifiedColumn('testModified')->setLifetimeColumn('testLifetime')->setDataColumn('testData');
     $this->assertEquals('testId', $options->getIdColumn());
     $this->assertEquals('testName', $options->getNameColumn());
     $this->assertEquals('testModified', $options->getModifiedColumn());
     $this->assertEquals('testLifetime', $options->getLifetimeColumn());
     $this->assertEquals('testData', $options->getDataColumn());
 }
 /**
  * Garbage Collection
  *
  * @param int $maxlifetime
  * @return true
  */
 public function gc($maxlifetime)
 {
     $platform = $this->tableGateway->getAdapter()->getPlatform();
     return (bool) $this->tableGateway->delete(sprintf('%s + %s < %d', $platform->quoteIdentifier($this->options->getModifiedColumn()), $platform->quoteIdentifier($this->options->getLifetimeColumn()), time()));
 }
    /**
     * Sets up the database connection and creates the table for session data
     *
     * @param  Zend\Session\SaveHandler\DbTableGatewayOptions $options
     * @return void
     */
    protected function setupDb(DbTableGatewayOptions $options)
    {
        $this->adapter = new Adapter(array(
            'driver' => 'pdo_sqlite',
            'database' => ':memory:',
        ));


        $query = <<<EOD
CREATE TABLE `sessions` (
    `{$options->getIdColumn()}` text NOT NULL,
    `{$options->getNameColumn()}` text NOT NULL,
    `{$options->getModifiedColumn()}` int(11) default NULL,
    `{$options->getLifetimeColumn()}` int(11) default NULL,
    `{$options->getDataColumn()}` text,
    PRIMARY KEY (`{$options->getIdColumn()}`, `{$options->getNameColumn()}`)
);
EOD;
        $this->adapter->query($query, Adapter::QUERY_MODE_EXECUTE);
        $this->tableGateway = new TableGateway('sessions', $this->adapter);
    }