Joostina CMS / CMF v2.* API
  • Docs
  • Package
  • Class
  • Tree
  • Todo
Overview

Packages

  • Components
    • Acls
      • Models
        • Admin
        • Site
    • BlogCategory
      • Models
        • Admin
        • Site
    • Blogs
      • Controllers
        • Admin
        • Site
      • Helpers
      • Models
        • Admin
        • Site
    • Coder
      • Controllers
        • Admin
      • Models
        • Admin
    • Comments
      • Controllers
        • Admin
        • Site
      • Helpers
      • Models
        • Admin
        • Site
    • CommentsCounter
      • Models
        • Admin
        • Site
    • Mainpage
      • Controllers
        • Site
    • News
      • Controllers
        • Admin
        • Site
      • Helpers
      • Models
        • Admin
        • Site
    • Pages
      • Controllers
        • Admin
        • Site
      • Models
        • Site
    • Search
      • Controllers
        • Site
    • Site
      • Controllers
        • Admin
        • Site
    • Sitemap
      • Controllers
        • Admin
        • Site
      • Models
        • Admin
        • Site
    • Test
      • Controllers
        • Site
    • Torrents
      • Controllers
        • Site
    • Users
      • Controllers
        • Admin
        • Site
      • Models
        • Admin
        • Site
  • Compression
  • Core
    • Libraries
      • Arhive
      • Array
      • Attached
      • Autoadmin
      • Autoloader
      • Benchmark
      • Breadcrumbs
      • Cache
      • Config
      • Cookie
      • Csrf
      • Database
        • Drivers
          • Interfaces
      • Datetime
      • Debug
      • Editor
      • Events
      • File
      • Filter
      • Flashmessage
      • Folder
      • Hit
      • Html
      • Image
      • Inflector
      • Inputfilter
      • Libraries
      • Mail
      • Module
      • Nestedset
      • Pager
      • Pages
      • Params
      • Randomizer
      • Request
      • RobotLoader
      • Route
      • Security
      • Session
      • Static
      • String
      • Text
      • Trash
      • Validate
  • Email
  • Extra
    • Libraries
      • Basket
  • Joostina
    • Controller
    • Core
    • Document
  • JSMin
  • Libraries
    • Extra
      • Basket
        • Models
          • Site
  • None
  • Plugins
    • Autoadmin
    • Editor
    • Sitemap
  • SimpleMail
  • Vendors
    • Libraries
      • Email

Classes

  • joosCookie
 1: <?php defined('_JOOS_CORE') or exit();
 2: 
 3: /**
 4:  * Работа с куками
 5:  *
 6:  * @version    1.0
 7:  * @package    Core\Libraries
 8:  * @subpackage Cookie
 9:  * @category   Libraries
10:  * @author     Joostina Team <info@joostina.ru>
11:  * @copyright  (C) 2007-2012 Joostina Team
12:  * @license    MIT License http://www.opensource.org/licenses/mit-license.php
13:  * Информация об авторах и лицензиях стороннего кода в составе Joostina CMS: docs/copyrights
14:  *
15:  * */
16: class joosCookie
17: {
18:     /**
19:      * Установка куки
20:      *
21:      * @tutorial joosCookie::set('cookie_name', 'cookie_value'); // просто установка куки с названием cookie_name и значением cookie_value
22:      * @tutorial joosCookie::set('cookie_name', 'cookie_value', array( 'expires'=>'next day' ) ); // установка куки со временем жизни - 1 день
23:      * @tutorial joosCookie::set('cookie_name', 'cookie_value', array( 'expires' => '+1 ', 'secure' => true, 'httponly' => true));
24:      *
25:      * @param string $name   название куки
26:      * @param string $value  значение куки
27:      * @param array  $params массив необязательных параметров, имеет ключи:
28:      *      expires - время жизни куки, помимо указания точного времени в секундах, можно использовать логические обозначения принимаемые стандартной php-функцией strtotime
29:      *      path - путь установки куки, по умолчанию кука ставится в / - корень сайта
30:      *      domain - адрес домена на который ставится кука, по умолчанию - на текущий
31:      *      secure - показывает, что кука должна быть передана через защищенное HTTPS соединение
32:      *      httponly - означает, что кука не будет доступна на скриптовых языках, таких как JavaScript. Предпологается что данный параметр может помочь уменьшить кражи личных данных через XSS-атаки (хотя это не поддерживается всеми браузерами)
33:      */
34:     public static function set($name, $value, array $params = array())
35:     {
36:         $expires = isset($params['expires']) ? $params['expires'] : NULL;
37:         $path = isset($params['path']) ? $params['path'] : '/';
38:         $domain = isset($params['domain']) ? $params['domain'] : JPATH_COOKIE;
39:         $secure = isset($params['secure']) ? $params['secure'] : false;
40:         $httponly = isset($params['httponly']) ? $params['httponly'] : false;
41: 
42:         if ($expires && !is_numeric($expires)) {
43:             $expires = strtotime($expires);
44:         }
45: 
46:         setcookie($name, $value, $expires, $path, $domain, $secure, ($httponly ? true : null));
47:     }
48: 
49:     /**
50:      * Получение значения куки по ключу
51:      *
52:      * @tutorial joosCookie::get('cookie_name'); // получение куки с названием cookie_name
53:      * @tutorial joosCookie::get('cookie_name','default_data');  // получение куки с названием cookie_name, если она отсутствует - то будет использовано значение default_data
54:      *
55:      * @param string $name          название куки
56:      * @param string $default_value значение куки по умолчанию
57:      *
58:      * @return string имеющееся значение куки, либо значение переданное в функцию по умолчанию
59:      */
60:     public static function get($name, $default_value = NULL)
61:     {
62:         return isset($_COOKIE[$name]) ? $_COOKIE[$name] : $default_value;
63:     }
64: 
65:     /**
66:      * Удаление куки
67:      *
68:      * @tutorial joosCookie::delete( 'cookie_name' ); // удалит куку с названием cookie_name
69:      *
70:      * @param string $name   название куки для удаления
71:      * @param array  $params массив необязательных параметров, имеет ключи полностью аналогичные необязательным параметрам joosCookie::set
72:      */
73:     public static function delete($name, array $params = array())
74:     {
75:         $params['expires'] = isset($params['expires']) ? $params['expires'] : time() - 3600;
76:         self::set($name, false, $params);
77:     }
78: 
79: }
80: 
Joostina CMS / CMF v2.* API API documentation generated by ApiGen 2.6.1 – Template adapted by @olvlv and Joostina Team