[ Index ]

PHP Cross Reference of moodle-2.8

title

Body

[close]

/lib/phpexcel/PHPExcel/Style/ -> Protection.php (source)

   1  <?php
   2  /**
   3   * PHPExcel
   4   *
   5   * Copyright (c) 2006 - 2014 PHPExcel
   6   *
   7   * This library is free software; you can redistribute it and/or
   8   * modify it under the terms of the GNU Lesser General Public
   9   * License as published by the Free Software Foundation; either
  10   * version 2.1 of the License, or (at your option) any later version.
  11   *
  12   * This library is distributed in the hope that it will be useful,
  13   * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  15   * Lesser General Public License for more details.
  16   *
  17   * You should have received a copy of the GNU Lesser General Public
  18   * License along with this library; if not, write to the Free Software
  19   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  20   *
  21   * @category   PHPExcel
  22   * @package    PHPExcel_Style
  23   * @copyright  Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel)
  24   * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt    LGPL
  25   * @version    1.4.5, 2007-08-23
  26   */
  27  
  28  
  29  /**
  30   * PHPExcel_Style_Protection
  31   *
  32   * @category   PHPExcel
  33   * @package    PHPExcel_Style
  34   * @copyright  Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel)
  35   */
  36  class PHPExcel_Style_Protection extends PHPExcel_Style_Supervisor implements PHPExcel_IComparable
  37  {
  38      /** Protection styles */
  39      const PROTECTION_INHERIT        = 'inherit';
  40      const PROTECTION_PROTECTED        = 'protected';
  41      const PROTECTION_UNPROTECTED    = 'unprotected';
  42  
  43      /**
  44       * Locked
  45       *
  46       * @var string
  47       */
  48      protected $_locked;
  49  
  50      /**
  51       * Hidden
  52       *
  53       * @var string
  54       */
  55      protected $_hidden;
  56  
  57      /**
  58       * Create a new PHPExcel_Style_Protection
  59       *
  60       * @param    boolean    $isSupervisor    Flag indicating if this is a supervisor or not
  61       *                                    Leave this value at default unless you understand exactly what
  62       *                                        its ramifications are
  63       * @param    boolean    $isConditional    Flag indicating if this is a conditional style or not
  64       *                                    Leave this value at default unless you understand exactly what
  65       *                                        its ramifications are
  66       */
  67      public function __construct($isSupervisor = FALSE, $isConditional = FALSE)
  68      {
  69          // Supervisor?
  70          parent::__construct($isSupervisor);
  71  
  72          // Initialise values
  73          if (!$isConditional) {
  74              $this->_locked            = self::PROTECTION_INHERIT;
  75              $this->_hidden            = self::PROTECTION_INHERIT;
  76          }
  77      }
  78  
  79      /**
  80       * Get the shared style component for the currently active cell in currently active sheet.
  81       * Only used for style supervisor
  82       *
  83       * @return PHPExcel_Style_Protection
  84       */
  85  	public function getSharedComponent()
  86      {
  87          return $this->_parent->getSharedComponent()->getProtection();
  88      }
  89  
  90      /**
  91       * Build style array from subcomponents
  92       *
  93       * @param array $array
  94       * @return array
  95       */
  96  	public function getStyleArray($array)
  97      {
  98          return array('protection' => $array);
  99      }
 100  
 101      /**
 102       * Apply styles from array
 103       *
 104       * <code>
 105       * $objPHPExcel->getActiveSheet()->getStyle('B2')->getLocked()->applyFromArray(
 106       *        array(
 107       *            'locked' => TRUE,
 108       *            'hidden' => FALSE
 109       *        )
 110       * );
 111       * </code>
 112       *
 113       * @param    array    $pStyles    Array containing style information
 114       * @throws    PHPExcel_Exception
 115       * @return PHPExcel_Style_Protection
 116       */
 117  	public function applyFromArray($pStyles = NULL) {
 118          if (is_array($pStyles)) {
 119              if ($this->_isSupervisor) {
 120                  $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($this->getStyleArray($pStyles));
 121              } else {
 122                  if (isset($pStyles['locked'])) {
 123                      $this->setLocked($pStyles['locked']);
 124                  }
 125                  if (isset($pStyles['hidden'])) {
 126                      $this->setHidden($pStyles['hidden']);
 127                  }
 128              }
 129          } else {
 130              throw new PHPExcel_Exception("Invalid style array passed.");
 131          }
 132          return $this;
 133      }
 134  
 135      /**
 136       * Get locked
 137       *
 138       * @return string
 139       */
 140      public function getLocked() {
 141          if ($this->_isSupervisor) {
 142              return $this->getSharedComponent()->getLocked();
 143          }
 144          return $this->_locked;
 145      }
 146  
 147      /**
 148       * Set locked
 149       *
 150       * @param string $pValue
 151       * @return PHPExcel_Style_Protection
 152       */
 153      public function setLocked($pValue = self::PROTECTION_INHERIT) {
 154          if ($this->_isSupervisor) {
 155              $styleArray = $this->getStyleArray(array('locked' => $pValue));
 156              $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray);
 157          } else {
 158              $this->_locked = $pValue;
 159          }
 160          return $this;
 161      }
 162  
 163      /**
 164       * Get hidden
 165       *
 166       * @return string
 167       */
 168      public function getHidden() {
 169          if ($this->_isSupervisor) {
 170              return $this->getSharedComponent()->getHidden();
 171          }
 172          return $this->_hidden;
 173      }
 174  
 175      /**
 176       * Set hidden
 177       *
 178       * @param string $pValue
 179       * @return PHPExcel_Style_Protection
 180       */
 181      public function setHidden($pValue = self::PROTECTION_INHERIT) {
 182          if ($this->_isSupervisor) {
 183              $styleArray = $this->getStyleArray(array('hidden' => $pValue));
 184              $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray);
 185          } else {
 186              $this->_hidden = $pValue;
 187          }
 188          return $this;
 189      }
 190  
 191      /**
 192       * Get hash code
 193       *
 194       * @return string    Hash code
 195       */
 196  	public function getHashCode() {
 197          if ($this->_isSupervisor) {
 198              return $this->getSharedComponent()->getHashCode();
 199          }
 200          return md5(
 201                $this->_locked
 202              . $this->_hidden
 203              . __CLASS__
 204          );
 205      }
 206  
 207  }


Generated: Fri Nov 28 20:29:05 2014 Cross-referenced by PHPXref 0.7.1