Overview

Namespaces

  • Kotchasan
    • Cache
    • Database
    • Http
    • Log
    • Orm
  • None
  • PHP
  • Psr
    • Cache
    • Http
      • Message
    • Log

Classes

  • ArrayIterator
  • DateInterval
  • DOMNode
  • Kotchasan
  • Kotchasan\Accordion
  • Kotchasan\ApiController
  • Kotchasan\ArrayTool
  • Kotchasan\Cache\ApcCache
  • Kotchasan\Cache\Cache
  • Kotchasan\Cache\CacheItem
  • Kotchasan\Cache\FileCache
  • Kotchasan\CKEditor
  • Kotchasan\Collection
  • Kotchasan\Config
  • Kotchasan\Controller
  • Kotchasan\Country
  • Kotchasan\Csv
  • Kotchasan\Curl
  • Kotchasan\Currency
  • Kotchasan\Database
  • Kotchasan\Database\Db
  • Kotchasan\Database\DbCache
  • Kotchasan\Database\Driver
  • Kotchasan\Database\PdoMysqlDriver
  • Kotchasan\Database\Query
  • Kotchasan\Database\QueryBuilder
  • Kotchasan\Database\Schema
  • Kotchasan\Database\Sql
  • Kotchasan\DataTable
  • Kotchasan\Date
  • Kotchasan\DOMNode
  • Kotchasan\DOMParser
  • Kotchasan\Email
  • Kotchasan\File
  • Kotchasan\Files
  • Kotchasan\Form
  • Kotchasan\Grid
  • Kotchasan\Html
  • Kotchasan\Htmldoc
  • Kotchasan\HtmlTable
  • Kotchasan\Http\AbstractMessage
  • Kotchasan\Http\AbstractRequest
  • Kotchasan\Http\Message
  • Kotchasan\Http\NotFound
  • Kotchasan\Http\Request
  • Kotchasan\Http\Response
  • Kotchasan\Http\Stream
  • Kotchasan\Http\UploadedFile
  • Kotchasan\Http\Uri
  • Kotchasan\Image
  • Kotchasan\InputItem
  • Kotchasan\Inputs
  • Kotchasan\KBase
  • Kotchasan\Language
  • Kotchasan\ListItem
  • Kotchasan\Log\AbstractLogger
  • Kotchasan\Log\Logger
  • Kotchasan\Login
  • Kotchasan\Menu
  • Kotchasan\Mime
  • Kotchasan\Model
  • Kotchasan\Number
  • Kotchasan\ObjectTool
  • Kotchasan\Orm\Field
  • Kotchasan\Orm\Recordset
  • Kotchasan\Password
  • Kotchasan\Pdf
  • Kotchasan\Province
  • Kotchasan\Router
  • Kotchasan\Session
  • Kotchasan\Singleton
  • Kotchasan\Tab
  • Kotchasan\TableRow
  • Kotchasan\Template
  • Kotchasan\Text
  • Kotchasan\Validator
  • Kotchasan\View
  • PHPMailer
  • Psr\Log\AbstractLogger
  • Psr\Log\LogLevel
  • Psr\Log\NullLogger
  • SMTP

Interfaces

  • ArrayAccess
  • Countable
  • DateTimeInterface
  • Iterator
  • IteratorAggregate
  • Psr\Cache\CacheItemInterface
  • Psr\Cache\CacheItemPoolInterface
  • Psr\Http\Message\MessageInterface
  • Psr\Http\Message\RequestInterface
  • Psr\Http\Message\ResponseInterface
  • Psr\Http\Message\ServerRequestInterface
  • Psr\Http\Message\StreamInterface
  • Psr\Http\Message\UploadedFileInterface
  • Psr\Http\Message\UriInterface
  • Psr\Log\LoggerAwareInterface
  • Psr\Log\LoggerInterface
  • SeekableIterator
  • Serializable
  • Traversable

Traits

  • Psr\Log\LoggerTrait

Exceptions

  • Exception
  • InvalidArgumentException
  • Kotchasan\ApiException
  • Kotchasan\Cache\Exception
  • Kotchasan\Database\Exception
  • Kotchasan\InputItemException
  • LogicException
  • phpmailerException
  • RuntimeException

Functions

  • createClass
  • debug
  • getClassPath
  • Overview
  • Namespace
  • Class
  • Tree
  1: <?php
  2: /**
  3:  * @filesource Kotchasan/Session.php
  4:  *
  5:  * @copyright 2016 Goragod.com
  6:  * @license http://www.kotchasan.com/license/
  7:  *
  8:  * @see http://www.kotchasan.com/
  9:  */
 10: 
 11: namespace Kotchasan;
 12: 
 13: class Session extends \Kotchasan\Model
 14: {
 15:     /**
 16:      * @var Object
 17:      */
 18:     private $database;
 19:     /**
 20:      * @var string
 21:      */
 22:     private $table;
 23: 
 24:     /**
 25:      * @return bool
 26:      */
 27:     public function _open()
 28:     {
 29:         $model = new static;
 30:         $this->database = $model->db();
 31:         $this->table = $model->getTableName('sessions');
 32:         return true;
 33:     }
 34: 
 35:     /**
 36:      * @return bool
 37:      */
 38:     public function _close()
 39:     {
 40:         return true;
 41:     }
 42: 
 43:     /**
 44:      * @param string $sess_id
 45:      *
 46:      * @return string
 47:      */
 48:     public function _read($sess_id)
 49:     {
 50:         $search = $this->database->first($this->table, array('sess_id', $sess_id), true);
 51:         if ($search) {
 52:             return $search->data;
 53:         } else {
 54:             return '';
 55:         }
 56:     }
 57: 
 58:     /**
 59:      * @param string $sess_id
 60:      * @param string $data
 61:      *
 62:      * @return bool
 63:      */
 64:     public function _write($sess_id, $data)
 65:     {
 66:         $search = $this->database->first($this->table, array('sess_id', $sess_id), true);
 67:         if ($search) {
 68:             $this->database->update($this->table, array('sess_id', $sess_id), array(
 69:                 'access' => time(),
 70:                 'data' => $data,
 71:             ));
 72:         } else {
 73:             $this->database->insert($this->table, array(
 74:                 'sess_id' => $sess_id,
 75:                 'access' => time(),
 76:                 'data' => $data,
 77:                 'create_date' => date('Y-m-d H:i:s'),
 78:             ));
 79:         }
 80:         return true;
 81:     }
 82: 
 83:     /**
 84:      * @param string $sess_id
 85:      *
 86:      * @return bool
 87:      */
 88:     public function _destroy($sess_id)
 89:     {
 90:         $this->database->delete($this->table, array('sess_id', $sess_id));
 91:         return true;
 92:     }
 93: 
 94:     /**
 95:      * @param $max
 96:      *
 97:      * @return bool
 98:      */
 99:     public function _gc($max)
100:     {
101:         $old = time() - $max;
102:         $this->database->delete($this->table, array('access', '<', $old));
103:         return true;
104:     }
105: }
106: 
Kotchasan API documentation generated by ApiGen