/** * Удаляет лист */ public function delete() { if (empty($this->nId)) { throw new SystemRegisterException('Deletion failed! Attribute `id` empty'); } SystemRegisterSample::delete($this->parent, $this->nId, false); }
public function delete($key) { // $aNewPath = SystemRegisterHelper::responsePath($key); // Если путь больше чем 1 if (sizeof($aNewPath) > 1) { return SystemRegisterHelper::delegate($this->aCurrentPath, $aNewPath, 'delete', array()); } else { // Если текущий уровень - первый, то вставки и обновления запрещены $this->checkFirstLevel(); // Получаем элемент $element = $this->get($key); // Если это просто лист if ($element instanceof SystemRegisterPrimitive) { $element->delete(); } else { // Из папки $aChilds = SystemRegisterSample::selectChild($element->getId()); // Удаляем из бд foreach ($aChilds as $key => $element2) { $element->delete($element2['name']); } SystemRegisterSample::delete($this, $element->getId()); } } }