You are here

class PHPExcel_DocumentProperties in Loft Data Grids 7.2

Same name and namespace in other branches
  1. 6.2 vendor/phpoffice/phpexcel/Classes/PHPExcel/DocumentProperties.php \PHPExcel_DocumentProperties

PHPExcel_DocumentProperties

@category PHPExcel @package PHPExcel @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel)

Hierarchy

Expanded class hierarchy of PHPExcel_DocumentProperties

File

vendor/phpoffice/phpexcel/Classes/PHPExcel/DocumentProperties.php, line 36

View source
class PHPExcel_DocumentProperties {

  /** constants */
  const PROPERTY_TYPE_BOOLEAN = 'b';
  const PROPERTY_TYPE_INTEGER = 'i';
  const PROPERTY_TYPE_FLOAT = 'f';
  const PROPERTY_TYPE_DATE = 'd';
  const PROPERTY_TYPE_STRING = 's';
  const PROPERTY_TYPE_UNKNOWN = 'u';

  /**
   * Creator
   *
   * @var string
   */
  private $_creator = 'Unknown Creator';

  /**
   * LastModifiedBy
   *
   * @var string
   */
  private $_lastModifiedBy;

  /**
   * Created
   *
   * @var datetime
   */
  private $_created;

  /**
   * Modified
   *
   * @var datetime
   */
  private $_modified;

  /**
   * Title
   *
   * @var string
   */
  private $_title = 'Untitled Spreadsheet';

  /**
   * Description
   *
   * @var string
   */
  private $_description = '';

  /**
   * Subject
   *
   * @var string
   */
  private $_subject = '';

  /**
   * Keywords
   *
   * @var string
   */
  private $_keywords = '';

  /**
   * Category
   *
   * @var string
   */
  private $_category = '';

  /**
   * Manager
   *
   * @var string
   */
  private $_manager = '';

  /**
   * Company
   *
   * @var string
   */
  private $_company = 'Microsoft Corporation';

  /**
   * Custom Properties
   *
   * @var string
   */
  private $_customProperties = array();

  /**
   * Create a new PHPExcel_DocumentProperties
   */
  public function __construct() {

    // Initialise values
    $this->_lastModifiedBy = $this->_creator;
    $this->_created = time();
    $this->_modified = time();
  }

  /**
   * Get Creator
   *
   * @return string
   */
  public function getCreator() {
    return $this->_creator;
  }

  /**
   * Set Creator
   *
   * @param string $pValue
   * @return PHPExcel_DocumentProperties
   */
  public function setCreator($pValue = '') {
    $this->_creator = $pValue;
    return $this;
  }

  /**
   * Get Last Modified By
   *
   * @return string
   */
  public function getLastModifiedBy() {
    return $this->_lastModifiedBy;
  }

  /**
   * Set Last Modified By
   *
   * @param string $pValue
   * @return PHPExcel_DocumentProperties
   */
  public function setLastModifiedBy($pValue = '') {
    $this->_lastModifiedBy = $pValue;
    return $this;
  }

  /**
   * Get Created
   *
   * @return datetime
   */
  public function getCreated() {
    return $this->_created;
  }

  /**
   * Set Created
   *
   * @param datetime $pValue
   * @return PHPExcel_DocumentProperties
   */
  public function setCreated($pValue = null) {
    if ($pValue === NULL) {
      $pValue = time();
    }
    elseif (is_string($pValue)) {
      if (is_numeric($pValue)) {
        $pValue = intval($pValue);
      }
      else {
        $pValue = strtotime($pValue);
      }
    }
    $this->_created = $pValue;
    return $this;
  }

  /**
   * Get Modified
   *
   * @return datetime
   */
  public function getModified() {
    return $this->_modified;
  }

  /**
   * Set Modified
   *
   * @param datetime $pValue
   * @return PHPExcel_DocumentProperties
   */
  public function setModified($pValue = null) {
    if ($pValue === NULL) {
      $pValue = time();
    }
    elseif (is_string($pValue)) {
      if (is_numeric($pValue)) {
        $pValue = intval($pValue);
      }
      else {
        $pValue = strtotime($pValue);
      }
    }
    $this->_modified = $pValue;
    return $this;
  }

  /**
   * Get Title
   *
   * @return string
   */
  public function getTitle() {
    return $this->_title;
  }

  /**
   * Set Title
   *
   * @param string $pValue
   * @return PHPExcel_DocumentProperties
   */
  public function setTitle($pValue = '') {
    $this->_title = $pValue;
    return $this;
  }

  /**
   * Get Description
   *
   * @return string
   */
  public function getDescription() {
    return $this->_description;
  }

  /**
   * Set Description
   *
   * @param string $pValue
   * @return PHPExcel_DocumentProperties
   */
  public function setDescription($pValue = '') {
    $this->_description = $pValue;
    return $this;
  }

  /**
   * Get Subject
   *
   * @return string
   */
  public function getSubject() {
    return $this->_subject;
  }

  /**
   * Set Subject
   *
   * @param string $pValue
   * @return PHPExcel_DocumentProperties
   */
  public function setSubject($pValue = '') {
    $this->_subject = $pValue;
    return $this;
  }

  /**
   * Get Keywords
   *
   * @return string
   */
  public function getKeywords() {
    return $this->_keywords;
  }

  /**
   * Set Keywords
   *
   * @param string $pValue
   * @return PHPExcel_DocumentProperties
   */
  public function setKeywords($pValue = '') {
    $this->_keywords = $pValue;
    return $this;
  }

  /**
   * Get Category
   *
   * @return string
   */
  public function getCategory() {
    return $this->_category;
  }

  /**
   * Set Category
   *
   * @param string $pValue
   * @return PHPExcel_DocumentProperties
   */
  public function setCategory($pValue = '') {
    $this->_category = $pValue;
    return $this;
  }

  /**
   * Get Company
   *
   * @return string
   */
  public function getCompany() {
    return $this->_company;
  }

  /**
   * Set Company
   *
   * @param string $pValue
   * @return PHPExcel_DocumentProperties
   */
  public function setCompany($pValue = '') {
    $this->_company = $pValue;
    return $this;
  }

  /**
   * Get Manager
   *
   * @return string
   */
  public function getManager() {
    return $this->_manager;
  }

  /**
   * Set Manager
   *
   * @param string $pValue
   * @return PHPExcel_DocumentProperties
   */
  public function setManager($pValue = '') {
    $this->_manager = $pValue;
    return $this;
  }

  /**
   * Get a List of Custom Property Names
   *
   * @return array of string
   */
  public function getCustomProperties() {
    return array_keys($this->_customProperties);
  }

  /**
   * Check if a Custom Property is defined
   *
   * @param string $propertyName
   * @return boolean
   */
  public function isCustomPropertySet($propertyName) {
    return isset($this->_customProperties[$propertyName]);
  }

  /**
   * Get a Custom Property Value
   *
   * @param string $propertyName
   * @return string
   */
  public function getCustomPropertyValue($propertyName) {
    if (isset($this->_customProperties[$propertyName])) {
      return $this->_customProperties[$propertyName]['value'];
    }
  }

  /**
   * Get a Custom Property Type
   *
   * @param string $propertyName
   * @return string
   */
  public function getCustomPropertyType($propertyName) {
    if (isset($this->_customProperties[$propertyName])) {
      return $this->_customProperties[$propertyName]['type'];
    }
  }

  /**
   * Set a Custom Property
   *
   * @param string $propertyName
   * @param mixed $propertyValue
   * @param string $propertyType
   * 	 'i'    : Integer
   *   'f' : Floating Point
   *   's' : String
   *   'd' : Date/Time
   *   'b' : Boolean
   * @return PHPExcel_DocumentProperties
   */
  public function setCustomProperty($propertyName, $propertyValue = '', $propertyType = NULL) {
    if ($propertyType === NULL || !in_array($propertyType, array(
      self::PROPERTY_TYPE_INTEGER,
      self::PROPERTY_TYPE_FLOAT,
      self::PROPERTY_TYPE_STRING,
      self::PROPERTY_TYPE_DATE,
      self::PROPERTY_TYPE_BOOLEAN,
    ))) {
      if ($propertyValue === NULL) {
        $propertyType = self::PROPERTY_TYPE_STRING;
      }
      elseif (is_float($propertyValue)) {
        $propertyType = self::PROPERTY_TYPE_FLOAT;
      }
      elseif (is_int($propertyValue)) {
        $propertyType = self::PROPERTY_TYPE_INTEGER;
      }
      elseif (is_bool($propertyValue)) {
        $propertyType = self::PROPERTY_TYPE_BOOLEAN;
      }
      else {
        $propertyType = self::PROPERTY_TYPE_STRING;
      }
    }
    $this->_customProperties[$propertyName] = array(
      'value' => $propertyValue,
      'type' => $propertyType,
    );
    return $this;
  }

  /**
   * Implement PHP __clone to create a deep clone, not just a shallow copy.
   */
  public function __clone() {
    $vars = get_object_vars($this);
    foreach ($vars as $key => $value) {
      if (is_object($value)) {
        $this->{$key} = clone $value;
      }
      else {
        $this->{$key} = $value;
      }
    }
  }
  public static function convertProperty($propertyValue, $propertyType) {
    switch ($propertyType) {
      case 'empty':

        //    Empty
        return '';
        break;
      case 'null':

        //    Null
        return NULL;
        break;
      case 'i1':

      //    1-Byte Signed Integer
      case 'i2':

      //    2-Byte Signed Integer
      case 'i4':

      //    4-Byte Signed Integer
      case 'i8':

      //    8-Byte Signed Integer
      case 'int':

        //    Integer
        return (int) $propertyValue;
        break;
      case 'ui1':

      //    1-Byte Unsigned Integer
      case 'ui2':

      //    2-Byte Unsigned Integer
      case 'ui4':

      //    4-Byte Unsigned Integer
      case 'ui8':

      //    8-Byte Unsigned Integer
      case 'uint':

        //    Unsigned Integer
        return abs((int) $propertyValue);
        break;
      case 'r4':

      //    4-Byte Real Number
      case 'r8':

      //    8-Byte Real Number
      case 'decimal':

        //    Decimal
        return (double) $propertyValue;
        break;
      case 'lpstr':

      //    LPSTR
      case 'lpwstr':

      //    LPWSTR
      case 'bstr':

        //    Basic String
        return $propertyValue;
        break;
      case 'date':

      //    Date and Time
      case 'filetime':

        //    File Time
        return strtotime($propertyValue);
        break;
      case 'bool':

        //    Boolean
        return $propertyValue == 'true' ? True : False;
        break;
      case 'cy':

      //    Currency
      case 'error':

      //    Error Status Code
      case 'vector':

      //    Vector
      case 'array':

      //    Array
      case 'blob':

      //    Binary Blob
      case 'oblob':

      //    Binary Blob Object
      case 'stream':

      //    Binary Stream
      case 'ostream':

      //    Binary Stream Object
      case 'storage':

      //    Binary Storage
      case 'ostorage':

      //    Binary Storage Object
      case 'vstream':

      //    Binary Versioned Stream
      case 'clsid':

      //    Class ID
      case 'cf':

        //    Clipboard Data
        return $propertyValue;
        break;
    }
    return $propertyValue;
  }
  public static function convertPropertyType($propertyType) {
    switch ($propertyType) {
      case 'i1':

      //    1-Byte Signed Integer
      case 'i2':

      //    2-Byte Signed Integer
      case 'i4':

      //    4-Byte Signed Integer
      case 'i8':

      //    8-Byte Signed Integer
      case 'int':

      //    Integer
      case 'ui1':

      //    1-Byte Unsigned Integer
      case 'ui2':

      //    2-Byte Unsigned Integer
      case 'ui4':

      //    4-Byte Unsigned Integer
      case 'ui8':

      //    8-Byte Unsigned Integer
      case 'uint':

        //    Unsigned Integer
        return self::PROPERTY_TYPE_INTEGER;
        break;
      case 'r4':

      //    4-Byte Real Number
      case 'r8':

      //    8-Byte Real Number
      case 'decimal':

        //    Decimal
        return self::PROPERTY_TYPE_FLOAT;
        break;
      case 'empty':

      //    Empty
      case 'null':

      //    Null
      case 'lpstr':

      //    LPSTR
      case 'lpwstr':

      //    LPWSTR
      case 'bstr':

        //    Basic String
        return self::PROPERTY_TYPE_STRING;
        break;
      case 'date':

      //    Date and Time
      case 'filetime':

        //    File Time
        return self::PROPERTY_TYPE_DATE;
        break;
      case 'bool':

        //    Boolean
        return self::PROPERTY_TYPE_BOOLEAN;
        break;
      case 'cy':

      //    Currency
      case 'error':

      //    Error Status Code
      case 'vector':

      //    Vector
      case 'array':

      //    Array
      case 'blob':

      //    Binary Blob
      case 'oblob':

      //    Binary Blob Object
      case 'stream':

      //    Binary Stream
      case 'ostream':

      //    Binary Stream Object
      case 'storage':

      //    Binary Storage
      case 'ostorage':

      //    Binary Storage Object
      case 'vstream':

      //    Binary Versioned Stream
      case 'clsid':

      //    Class ID
      case 'cf':

        //    Clipboard Data
        return self::PROPERTY_TYPE_UNKNOWN;
        break;
    }
    return self::PROPERTY_TYPE_UNKNOWN;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
PHPExcel_DocumentProperties::$_category private property Category
PHPExcel_DocumentProperties::$_company private property Company
PHPExcel_DocumentProperties::$_created private property Created
PHPExcel_DocumentProperties::$_creator private property Creator
PHPExcel_DocumentProperties::$_customProperties private property Custom Properties
PHPExcel_DocumentProperties::$_description private property Description
PHPExcel_DocumentProperties::$_keywords private property Keywords
PHPExcel_DocumentProperties::$_lastModifiedBy private property LastModifiedBy
PHPExcel_DocumentProperties::$_manager private property Manager
PHPExcel_DocumentProperties::$_modified private property Modified
PHPExcel_DocumentProperties::$_subject private property Subject
PHPExcel_DocumentProperties::$_title private property Title
PHPExcel_DocumentProperties::convertProperty public static function
PHPExcel_DocumentProperties::convertPropertyType public static function
PHPExcel_DocumentProperties::getCategory public function Get Category
PHPExcel_DocumentProperties::getCompany public function Get Company
PHPExcel_DocumentProperties::getCreated public function Get Created
PHPExcel_DocumentProperties::getCreator public function Get Creator
PHPExcel_DocumentProperties::getCustomProperties public function Get a List of Custom Property Names
PHPExcel_DocumentProperties::getCustomPropertyType public function Get a Custom Property Type
PHPExcel_DocumentProperties::getCustomPropertyValue public function Get a Custom Property Value
PHPExcel_DocumentProperties::getDescription public function Get Description
PHPExcel_DocumentProperties::getKeywords public function Get Keywords
PHPExcel_DocumentProperties::getLastModifiedBy public function Get Last Modified By
PHPExcel_DocumentProperties::getManager public function Get Manager
PHPExcel_DocumentProperties::getModified public function Get Modified
PHPExcel_DocumentProperties::getSubject public function Get Subject
PHPExcel_DocumentProperties::getTitle public function Get Title
PHPExcel_DocumentProperties::isCustomPropertySet public function Check if a Custom Property is defined
PHPExcel_DocumentProperties::PROPERTY_TYPE_BOOLEAN constant constants
PHPExcel_DocumentProperties::PROPERTY_TYPE_DATE constant
PHPExcel_DocumentProperties::PROPERTY_TYPE_FLOAT constant
PHPExcel_DocumentProperties::PROPERTY_TYPE_INTEGER constant
PHPExcel_DocumentProperties::PROPERTY_TYPE_STRING constant
PHPExcel_DocumentProperties::PROPERTY_TYPE_UNKNOWN constant
PHPExcel_DocumentProperties::setCategory public function Set Category
PHPExcel_DocumentProperties::setCompany public function Set Company
PHPExcel_DocumentProperties::setCreated public function Set Created
PHPExcel_DocumentProperties::setCreator public function Set Creator
PHPExcel_DocumentProperties::setCustomProperty public function Set a Custom Property
PHPExcel_DocumentProperties::setDescription public function Set Description
PHPExcel_DocumentProperties::setKeywords public function Set Keywords
PHPExcel_DocumentProperties::setLastModifiedBy public function Set Last Modified By
PHPExcel_DocumentProperties::setManager public function Set Manager
PHPExcel_DocumentProperties::setModified public function Set Modified
PHPExcel_DocumentProperties::setSubject public function Set Subject
PHPExcel_DocumentProperties::setTitle public function Set Title
PHPExcel_DocumentProperties::__clone public function Implement PHP __clone to create a deep clone, not just a shallow copy.
PHPExcel_DocumentProperties::__construct public function Create a new PHPExcel_DocumentProperties