Jedoch greift der Hook nicht..
Durch den Hook soll die master.less Datei mitgespeichert werden, sobald an einer .less Datei etwas geändert wird.
Alter Hook (funktionierte bis Barrhorn):
Code: Alles auswählen
<?php
function weCustomHook_save($param){
$hookHandler = $param['hookHandler'];
$resave = $param['resave'];
$obj = $param[0];
switch(get_class($obj)){
// Mitspeichern der Master-Datei, bei Speicherung von Less/SCSS-Dateien aus den Ordnern $lesspath
case 'we_textDocument':
$parentpath = array(0); // <= IDs aller Elternordner
if ( in_array($obj->ParentID, $parentpath) && in_array($obj->Extension, array('.less','.scss')) ) {
$aMasterIDs = array(0); // <= ID der master.less, master.scss
foreach($aMasterIDs as $iID) {
$masterfile = new we_textDocument();
$masterfile->initByID($iID);
$masterfile->we_save(false, true); // we_save() kann die beiden Parameter $resave und $skipHook verarbeiten. durch das $skipHook=true wird eine Endlosschleife verhindert
}
}
break;
}
}
?>
Code: Alles auswählen
<?php
declare(strict_types=1);
class we_customhook_shrink extends we_hook_base{
/** @var we_document_base */
protected $obj;
/** @var bool */
protected $resave;
public function __construct(we_hook_handler $handler, array $params){
parent::__construct($handler, $params);
$this->resave = $params['resave'];
$this->obj = $params['obj'];
}
public function execute(): bool{
switch(get_class($this->obj)){
// Mitspeichern der Master-Datei, bei Speicherung von Less/SCSS-Dateien aus den Ordnern $lesspath
case 'we_document_text':
$parentpath = array(0); // <= IDs aller Elternordner
if(in_array($this->obj->ParentID, $parentpath) && in_array($this->obj->Extension, array('.less', '.scss'))) {
$masterIDs = array(0); // <= ID der master.less/master.scss
foreach($masterIDs as $id){
$masterfile = new we_document_text();
$masterfile->initByID($id);
$masterfile->we_save(false, true); // we_save() kann die beiden Parameter $resave und $skipHook verarbeiten. durch das $skipHook=true wird eine Endlosschleife verhindert
}
}
break;
}
return true;
}
}
Oliver