Overview

Namespaces

  • Charcoal
    • Object
    • User
      • Acl

Classes

  • Charcoal\Object\Content
  • Charcoal\Object\ObjectRevision
  • Charcoal\Object\ObjectRoute
  • Charcoal\Object\ObjectSchedule
  • Charcoal\Object\UserData
  • Charcoal\User\AbstractUser
  • Charcoal\User\Acl\Manager
  • Charcoal\User\Acl\Permission
  • Charcoal\User\Acl\PermissionCategory
  • Charcoal\User\Acl\Role
  • Charcoal\User\Authenticator
  • Charcoal\User\Authorizer
  • Charcoal\User\AuthToken
  • Charcoal\User\AuthTokenMetadata
  • Charcoal\User\GenericUser

Interfaces

  • Charcoal\Object\ArchivableInterface
  • Charcoal\Object\CategorizableInterface
  • Charcoal\Object\CategorizableMultipleInterface
  • Charcoal\Object\CategoryInterface
  • Charcoal\Object\ContentInterface
  • Charcoal\Object\HierarchicalInterface
  • Charcoal\Object\ObjectRevisionInterface
  • Charcoal\Object\ObjectRouteInterface
  • Charcoal\Object\ObjectScheduleInterface
  • Charcoal\Object\PublishableInterface
  • Charcoal\Object\RevisionableInterface
  • Charcoal\Object\RoutableInterface
  • Charcoal\Object\UserDataInterface
  • Charcoal\User\UserInterface

Traits

  • Charcoal\Object\ArchivableTrait
  • Charcoal\Object\CategorizableMultipleTrait
  • Charcoal\Object\CategorizableTrait
  • Charcoal\Object\CategoryTrait
  • Charcoal\Object\HierarchicalTrait
  • Charcoal\Object\PublishableTrait
  • Charcoal\Object\RevisionableTrait
  • Charcoal\Object\RoutableTrait
  • Overview
  • Namespace
  • Class
  1: <?php
  2: 
  3: namespace Charcoal\User;
  4: 
  5: use InvalidArgumentException;
  6: 
  7: // From `charcoal-core`
  8: use Charcoal\Model\ModelMetadata;
  9: 
 10: /**
 11:  * User Auth Token metadata
 12:  */
 13: class AuthTokenMetadata extends ModelMetadata
 14: {
 15:     /**
 16:      * @var boolean $enabled
 17:      */
 18:     private $enabled;
 19: 
 20:     /**
 21:      * @var string $cookieName
 22:      */
 23:     private $cookieName;
 24: 
 25:     /**
 26:      * @var string $cookieDuration
 27:      */
 28:     private $cookieDuration;
 29: 
 30:     /**
 31:      * @var bool $httpsOnly
 32:      */
 33:     private $httpsOnly;
 34: 
 35:     /**
 36:      *
 37:      * @return array
 38:      * @see \Charcoal\Config\ConfigInterface::defaults()
 39:      */
 40:     public function defaults()
 41:     {
 42:         $parentDefaults = parent::defaults();
 43: 
 44:         $defaults = array_replace_recursive($parentDefaults, [
 45:             'enabled'         => true,
 46:             'cookie_name'     => 'charcoal_user_login',
 47:             'cookie_duration' => '15 days',
 48:             'https_only'      => false
 49:         ]);
 50:         return $defaults;
 51:     }
 52: 
 53:     /**
 54:      * @param boolean $enabled The enabled flag.
 55:      * @return AuthTokenMetadata Chainable
 56:      */
 57:     public function setEnabled($enabled)
 58:     {
 59:         $this->enabled = !!$enabled;
 60:         return $this;
 61:     }
 62: 
 63:     /**
 64:      * @return boolean
 65:      */
 66:     public function enabled()
 67:     {
 68:         return $this->enabled;
 69:     }
 70: 
 71:     /**
 72:      * @param string $name The cookie name.
 73:      * @throws InvalidArgumentException If the cookie name is not a string.
 74:      * @return AuthTokenMetadata Chainable
 75:      */
 76:     public function setCookieName($name)
 77:     {
 78:         if (!is_string($name)) {
 79:             throw new InvalidArgumentException(
 80:                 'Can not set auth token\'s cookie  name: must be a string'
 81:             );
 82:         }
 83:         $this->cookieName = $name;
 84:         return $this;
 85:     }
 86: 
 87:     /**
 88:      * @return string
 89:      */
 90:     public function cookieName()
 91:     {
 92:         return $this->cookieName;
 93:     }
 94: 
 95:     /**
 96:      * @param string $duration The cookie duration, or duration. Ex: "15 days".
 97:      * @throws InvalidArgumentException If the cookie name is not a string.
 98:      * @return AuthTokenMetadata Chainable
 99:      */
100:     public function setCookieDuration($duration)
101:     {
102:         if (!is_string($duration)) {
103:             throw new InvalidArgumentException(
104:                 'Can not set auth token\'s cookie duration: must be a string'
105:             );
106:         }
107:         $this->cookieDuration = $duration;
108:         return $this;
109:     }
110: 
111:     /**
112:      * @return string
113:      */
114:     public function cookieDuration()
115:     {
116:         return $this->cookieDuration;
117:     }
118: 
119:     /**
120:      * @param boolean $httpsOnly The "https only" flag.
121:      * @return AuthTokenMetadata Chainable
122:      */
123:     public function setHttpsOnly($httpsOnly)
124:     {
125:         $this->httpsOnly = !!$httpsOnly;
126:         return $this;
127:     }
128: 
129:     /**
130:      * @return boolean
131:      */
132:     public function httpsOnly()
133:     {
134:         return $this->httpsOnly;
135:     }
136: }
137: 
API documentation generated by ApiGen