public function PHPExcel_Worksheet_AutoFilter::__clone in Loft Data Grids 7.2
Same name and namespace in other branches
- 6.2 vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/AutoFilter.php \PHPExcel_Worksheet_AutoFilter::__clone()
* Implement PHP __clone to create a deep clone, not just a shallow copy.
File
- vendor/
phpoffice/ phpexcel/ Classes/ PHPExcel/ Worksheet/ AutoFilter.php, line 830
Class
- PHPExcel_Worksheet_AutoFilter
- PHPExcel_Worksheet_AutoFilter
Code
public function __clone() {
$vars = get_object_vars($this);
foreach ($vars as $key => $value) {
if (is_object($value)) {
if ($key == '_workSheet') {
// Detach from worksheet
$this->{$key} = NULL;
}
else {
$this->{$key} = clone $value;
}
}
elseif (is_array($value) && $key == '_columns') {
// The columns array of PHPExcel_Worksheet_AutoFilter objects
$this->{$key} = array();
foreach ($value as $k => $v) {
$this->{$key}[$k] = clone $v;
// attach the new cloned Column to this new cloned Autofilter object
$this->{$key}[$k]
->setParent($this);
}
}
else {
$this->{$key} = $value;
}
}
}