private function _buildTreeArrayRecursive(Tree $model, $filter)
{
$is_filter_set = !empty($filter);
if ($model->isNewRecord) {
$childs = static::findRoots()->all();
} else {
$childs = $model->children;
}
foreach ($childs as $child) {
$level = $child->level;
$id = $child->id;
if (!$is_filter_set || in_array($id, $filter)) {
$name = $child->name;
if ($level == 0) {
$name = "[" . $child->site->name . "] " . $child->name;
}
$child->name = str_repeat($this->repeat, $level) . $name;
$this->_tmpResult[$id] = $child;
}
$this->_buildTreeArrayRecursive($child, $filter);
}
return $this->_tmpResult;
}