initial commit of SVN release repo
This commit is contained in:
189
inc/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Protection.php
vendored
Normal file
189
inc/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Protection.php
vendored
Normal file
@ -0,0 +1,189 @@
|
||||
<?php
|
||||
|
||||
namespace PhpOffice\PhpSpreadsheet\Style;
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Exception as PhpSpreadsheetException;
|
||||
|
||||
class Protection extends Supervisor
|
||||
{
|
||||
/** Protection styles */
|
||||
const PROTECTION_INHERIT = 'inherit';
|
||||
const PROTECTION_PROTECTED = 'protected';
|
||||
const PROTECTION_UNPROTECTED = 'unprotected';
|
||||
|
||||
/**
|
||||
* Locked.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $locked;
|
||||
|
||||
/**
|
||||
* Hidden.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $hidden;
|
||||
|
||||
/**
|
||||
* Create a new Protection.
|
||||
*
|
||||
* @param bool $isSupervisor Flag indicating if this is a supervisor or not
|
||||
* Leave this value at default unless you understand exactly what
|
||||
* its ramifications are
|
||||
* @param bool $isConditional Flag indicating if this is a conditional style or not
|
||||
* Leave this value at default unless you understand exactly what
|
||||
* its ramifications are
|
||||
*/
|
||||
public function __construct($isSupervisor = false, $isConditional = false)
|
||||
{
|
||||
// Supervisor?
|
||||
parent::__construct($isSupervisor);
|
||||
|
||||
// Initialise values
|
||||
if (!$isConditional) {
|
||||
$this->locked = self::PROTECTION_INHERIT;
|
||||
$this->hidden = self::PROTECTION_INHERIT;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the shared style component for the currently active cell in currently active sheet.
|
||||
* Only used for style supervisor.
|
||||
*
|
||||
* @return Protection
|
||||
*/
|
||||
public function getSharedComponent()
|
||||
{
|
||||
return $this->parent->getSharedComponent()->getProtection();
|
||||
}
|
||||
|
||||
/**
|
||||
* Build style array from subcomponents.
|
||||
*
|
||||
* @param array $array
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getStyleArray($array)
|
||||
{
|
||||
return ['protection' => $array];
|
||||
}
|
||||
|
||||
/**
|
||||
* Apply styles from array.
|
||||
* <code>
|
||||
* $spreadsheet->getActiveSheet()->getStyle('B2')->getLocked()->applyFromArray(
|
||||
* array(
|
||||
* 'locked' => TRUE,
|
||||
* 'hidden' => FALSE
|
||||
* )
|
||||
* );
|
||||
* </code>.
|
||||
*
|
||||
* @param array $pStyles Array containing style information
|
||||
*
|
||||
* @throws PhpSpreadsheetException
|
||||
*
|
||||
* @return Protection
|
||||
*/
|
||||
public function applyFromArray(array $pStyles)
|
||||
{
|
||||
if ($this->isSupervisor) {
|
||||
$this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($this->getStyleArray($pStyles));
|
||||
} else {
|
||||
if (isset($pStyles['locked'])) {
|
||||
$this->setLocked($pStyles['locked']);
|
||||
}
|
||||
if (isset($pStyles['hidden'])) {
|
||||
$this->setHidden($pStyles['hidden']);
|
||||
}
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get locked.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getLocked()
|
||||
{
|
||||
if ($this->isSupervisor) {
|
||||
return $this->getSharedComponent()->getLocked();
|
||||
}
|
||||
|
||||
return $this->locked;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set locked.
|
||||
*
|
||||
* @param string $pValue see self::PROTECTION_*
|
||||
*
|
||||
* @return Protection
|
||||
*/
|
||||
public function setLocked($pValue)
|
||||
{
|
||||
if ($this->isSupervisor) {
|
||||
$styleArray = $this->getStyleArray(['locked' => $pValue]);
|
||||
$this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray);
|
||||
} else {
|
||||
$this->locked = $pValue;
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get hidden.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getHidden()
|
||||
{
|
||||
if ($this->isSupervisor) {
|
||||
return $this->getSharedComponent()->getHidden();
|
||||
}
|
||||
|
||||
return $this->hidden;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set hidden.
|
||||
*
|
||||
* @param string $pValue see self::PROTECTION_*
|
||||
*
|
||||
* @return Protection
|
||||
*/
|
||||
public function setHidden($pValue)
|
||||
{
|
||||
if ($this->isSupervisor) {
|
||||
$styleArray = $this->getStyleArray(['hidden' => $pValue]);
|
||||
$this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray);
|
||||
} else {
|
||||
$this->hidden = $pValue;
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get hash code.
|
||||
*
|
||||
* @return string Hash code
|
||||
*/
|
||||
public function getHashCode()
|
||||
{
|
||||
if ($this->isSupervisor) {
|
||||
return $this->getSharedComponent()->getHashCode();
|
||||
}
|
||||
|
||||
return md5(
|
||||
$this->locked .
|
||||
$this->hidden .
|
||||
__CLASS__
|
||||
);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user