public function delete() { if (!empty($this->id) && $this->id != 1) { $is_ok = true; $list = languages::getAll(); while (list($key, $val) = each($list)) { // Удаление страниц $tmp = ormPages::delAllFor($this->id, $val['id']); if (!$tmp) { $is_ok = $tmp; } else { // Удаление прав на домен db::q('DELETE FROM <<modules_rights>> WHERE mr_name = "' . $val['id'] . ' ' . $this->id . '" and mr_mod_id = "3";'); } } // Удаление домена if ($is_ok) { $is_ok = db::q('DELETE FROM <<domains>> WHERE d_id = "' . $this->id . '";'); if ($is_ok !== false) { // Удаление настроек reg::delKey('/structure/' . $this->id); system::log('Удален домен "' . $this->values['d_name'] . '" (id:' . $this->id . ')', warning); return true; } else { system::log('Произошла ошибка при удалении домена "' . $this->values['d_name'] . '" (id:' . $this->id . ')', error); $this->newError(12, 'Произошла ошибка при удалении домена "' . $this->values['d_name'] . '"!'); } } else { system::log('Пользователь пытался удалить домен "' . $this->values['d_name'] . '" (id:' . $this->id . '), но ему не хватило прав на удаление всех страниц!', error); $this->newError(63, 'Вы не можете удалить домен "' . $this->values['d_name'] . '", т.к. не имеете прав на удаление некоторых страниц!'); } } return false; }
public function delete() { if (!empty($this->id) && $this->id != 1) { $is_ok = true; // Удаляем права, настройки и страницы связанные с данным языком $domain = domains::getAll(); while (list($key, $val) = each($domain)) { // Удаление страниц $tmp = ormPages::delAllFor($val['id'], $this->id); if (!$tmp) { $is_ok = $tmp; } else { // Удаление настроек reg::delKey('/structure/' . $val['id'] . '/' . $this->id); // Удаление прав db::q('DELETE FROM <<modules_rights>> WHERE mr_name = "' . $this->id . ' ' . $val['id'] . '" and mr_mod_id = "3";'); } } // Удаляем сам язык if ($is_ok) { // У все доменов приязанных к текущему языку, меняем "язык по умолчанию". $domain = db::q('SELECT d_id FROM <<domains>> WHERE d_def_lang = "' . $this->id . '";', records); while (list($key, $val) = each($domain)) { if (!empty($val['d_id'])) { $domain = domains::get($val['d_id']); if ($domain instanceof domain) { $domain->setDefLang(1); $domain->save(); } } } $is_ok = db::q('DELETE FROM <<langs>> WHERE l_id = "' . $this->id . '";'); if ($is_ok !== false) { system::log('Удалена языковая версия сайта "' . $this->values['l_name'] . '" (id:' . $this->id . ')!', warning); return true; } else { system::log('Произошла ошибка при удалении языка "' . $this->values['l_name'] . '" (id:' . $this->id . ')!', error); $this->newError(54, 'Произошла ошибка при удалении языка "' . $this->values['l_name'] . '"!'); } } else { system::log('Пользователь пытался удалить языковую версию "' . $this->values['l_name'] . '" (id:' . $this->id . '), но у него не хватило прав на удаление всех страниц!', error); $this->newError(55, 'Вы не можете удалить язык сайта "' . $this->values['l_name'] . '", т.к. не имеете прав на удаление некоторых страниц!'); } } return false; }