For God so loved the world, that He gave His only begotten Son, that all who believe in Him should not perish but have everlasting life
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

581 lines
11 KiB

<?php
/**
* PHPExcel
*
* Copyright (c) 2006 - 2015 PHPExcel
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* @category PHPExcel
* @package PHPExcel_Worksheet
* @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel)
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
* @version ##VERSION##, ##DATE##
*/
/**
* PHPExcel_Worksheet_Protection
*
* @category PHPExcel
* @package PHPExcel_Worksheet
* @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel)
*/
class PHPExcel_Worksheet_Protection
{
/**
* Sheet
*
* @var boolean
*/
private $sheet = false;
/**
* Objects
*
* @var boolean
*/
private $objects = false;
/**
* Scenarios
*
* @var boolean
*/
private $scenarios = false;
/**
* Format cells
*
* @var boolean
*/
private $formatCells = false;
/**
* Format columns
*
* @var boolean
*/
private $formatColumns = false;
/**
* Format rows
*
* @var boolean
*/
private $formatRows = false;
/**
* Insert columns
*
* @var boolean
*/
private $insertColumns = false;
/**
* Insert rows
*
* @var boolean
*/
private $insertRows = false;
/**
* Insert hyperlinks
*
* @var boolean
*/
private $insertHyperlinks = false;
/**
* Delete columns
*
* @var boolean
*/
private $deleteColumns = false;
/**
* Delete rows
*
* @var boolean
*/
private $deleteRows = false;
/**
* Select locked cells
*
* @var boolean
*/
private $selectLockedCells = false;
/**
* Sort
*
* @var boolean
*/
private $sort = false;
/**
* AutoFilter
*
* @var boolean
*/
private $autoFilter = false;
/**
* Pivot tables
*
* @var boolean
*/
private $pivotTables = false;
/**
* Select unlocked cells
*
* @var boolean
*/
private $selectUnlockedCells = false;
/**
* Password
*
* @var string
*/
private $password = '';
/**
* Create a new PHPExcel_Worksheet_Protection
*/
public function __construct()
{
}
/**
* Is some sort of protection enabled?
*
* @return boolean
*/
public function isProtectionEnabled()
{
return $this->sheet ||
$this->objects ||
$this->scenarios ||
$this->formatCells ||
$this->formatColumns ||
$this->formatRows ||
$this->insertColumns ||
$this->insertRows ||
$this->insertHyperlinks ||
$this->deleteColumns ||
$this->deleteRows ||
$this->selectLockedCells ||
$this->sort ||
$this->autoFilter ||
$this->pivotTables ||
$this->selectUnlockedCells;
}
/**
* Get Sheet
*
* @return boolean
*/
public function getSheet()
{
return $this->sheet;
}
/**
* Set Sheet
*
* @param boolean $pValue
* @return PHPExcel_Worksheet_Protection
*/
public function setSheet($pValue = false)
{
$this->sheet = $pValue;
return $this;
}
/**
* Get Objects
*
* @return boolean
*/
public function getObjects()
{
return $this->objects;
}
/**
* Set Objects
*
* @param boolean $pValue
* @return PHPExcel_Worksheet_Protection
*/
public function setObjects($pValue = false)
{
$this->objects = $pValue;
return $this;
}
/**
* Get Scenarios
*
* @return boolean
*/
public function getScenarios()
{
return $this->scenarios;
}
/**
* Set Scenarios
*
* @param boolean $pValue
* @return PHPExcel_Worksheet_Protection
*/
public function setScenarios($pValue = false)
{
$this->scenarios = $pValue;
return $this;
}
/**
* Get FormatCells
*
* @return boolean
*/
public function getFormatCells()
{
return $this->formatCells;
}
/**
* Set FormatCells
*
* @param boolean $pValue
* @return PHPExcel_Worksheet_Protection
*/
public function setFormatCells($pValue = false)
{
$this->formatCells = $pValue;
return $this;
}
/**
* Get FormatColumns
*
* @return boolean
*/
public function getFormatColumns()
{
return $this->formatColumns;
}
/**
* Set FormatColumns
*
* @param boolean $pValue
* @return PHPExcel_Worksheet_Protection
*/
public function setFormatColumns($pValue = false)
{
$this->formatColumns = $pValue;
return $this;
}
/**
* Get FormatRows
*
* @return boolean
*/
public function getFormatRows()
{
return $this->formatRows;
}
/**
* Set FormatRows
*
* @param boolean $pValue
* @return PHPExcel_Worksheet_Protection
*/
public function setFormatRows($pValue = false)
{
$this->formatRows = $pValue;
return $this;
}
/**
* Get InsertColumns
*
* @return boolean
*/
public function getInsertColumns()
{
return $this->insertColumns;
}
/**
* Set InsertColumns
*
* @param boolean $pValue
* @return PHPExcel_Worksheet_Protection
*/
public function setInsertColumns($pValue = false)
{
$this->insertColumns = $pValue;
return $this;
}
/**
* Get InsertRows
*
* @return boolean
*/
public function getInsertRows()
{
return $this->insertRows;
}
/**
* Set InsertRows
*
* @param boolean $pValue
* @return PHPExcel_Worksheet_Protection
*/
public function setInsertRows($pValue = false)
{
$this->insertRows = $pValue;
return $this;
}
/**
* Get InsertHyperlinks
*
* @return boolean
*/
public function getInsertHyperlinks()
{
return $this->insertHyperlinks;
}
/**
* Set InsertHyperlinks
*
* @param boolean $pValue
* @return PHPExcel_Worksheet_Protection
*/
public function setInsertHyperlinks($pValue = false)
{
$this->insertHyperlinks = $pValue;
return $this;
}
/**
* Get DeleteColumns
*
* @return boolean
*/
public function getDeleteColumns()
{
return $this->deleteColumns;
}
/**
* Set DeleteColumns
*
* @param boolean $pValue
* @return PHPExcel_Worksheet_Protection
*/
public function setDeleteColumns($pValue = false)
{
$this->deleteColumns = $pValue;
return $this;
}
/**
* Get DeleteRows
*
* @return boolean
*/
public function getDeleteRows()
{
return $this->deleteRows;
}
/**
* Set DeleteRows
*
* @param boolean $pValue
* @return PHPExcel_Worksheet_Protection
*/
public function setDeleteRows($pValue = false)
{
$this->deleteRows = $pValue;
return $this;
}
/**
* Get SelectLockedCells
*
* @return boolean
*/
public function getSelectLockedCells()
{
return $this->selectLockedCells;
}
/**
* Set SelectLockedCells
*
* @param boolean $pValue
* @return PHPExcel_Worksheet_Protection
*/
public function setSelectLockedCells($pValue = false)
{
$this->selectLockedCells = $pValue;
return $this;
}
/**
* Get Sort
*
* @return boolean
*/
public function getSort()
{
return $this->sort;
}
/**
* Set Sort
*
* @param boolean $pValue
* @return PHPExcel_Worksheet_Protection
*/
public function setSort($pValue = false)
{
$this->sort = $pValue;
return $this;
}
/**
* Get AutoFilter
*
* @return boolean
*/
public function getAutoFilter()
{
return $this->autoFilter;
}
/**
* Set AutoFilter
*
* @param boolean $pValue
* @return PHPExcel_Worksheet_Protection
*/
public function setAutoFilter($pValue = false)
{
$this->autoFilter = $pValue;
return $this;
}
/**
* Get PivotTables
*
* @return boolean
*/
public function getPivotTables()
{
return $this->pivotTables;
}
/**
* Set PivotTables
*
* @param boolean $pValue
* @return PHPExcel_Worksheet_Protection
*/
public function setPivotTables($pValue = false)
{
$this->pivotTables = $pValue;
return $this;
}
/**
* Get SelectUnlockedCells
*
* @return boolean
*/
public function getSelectUnlockedCells()
{
return $this->selectUnlockedCells;
}
/**
* Set SelectUnlockedCells
*
* @param boolean $pValue
* @return PHPExcel_Worksheet_Protection
*/
public function setSelectUnlockedCells($pValue = false)
{
$this->selectUnlockedCells = $pValue;
return $this;
}
/**
* Get Password (hashed)
*
* @return string
*/
public function getPassword()
{
return $this->password;
}
/**
* Set Password
*
* @param string $pValue
* @param boolean $pAlreadyHashed If the password has already been hashed, set this to true
* @return PHPExcel_Worksheet_Protection
*/
public function setPassword($pValue = '', $pAlreadyHashed = false)
{
if (!$pAlreadyHashed) {
$pValue = PHPExcel_Shared_PasswordHasher::hashPassword($pValue);
}
$this->password = $pValue;
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;
}
}
}
}