/** * Добавление копии удалённого объекта в корзину * * @global User $my - объект текущего пользователя * @param stdClass $obj - удаляемый объект * * @return boolean результат сохранения копии удаляемого объекта в корзину */ public static function add($obj_original) { $obj = clone $obj_original; // ключевое индексное поле объекта $_tbl_key = $obj->_tbl_key; // если у удаляемого объекта отсутствует ключ - то объет не определён if (!$obj_original->{$_tbl_key}) { return false; } // удаляем объект базы данных unset($obj->_db, $obj->_error); // собираем данные для сохранения резервной копии $trash = new self(); $trash->obj_id = $obj->{$_tbl_key}; $trash->obj_table = $obj->_tbl; $trash->title = isset($obj->title) ? $obj->title : $obj->{$_tbl_key}; $trash->data = json_encode($obj); $trash->user_id = modelUsers::instance()->id; $trash->deleted_at = JCURRENT_SERVER_TIME; return (bool) $trash->store(); }
/** * Получение инстанции текущего авторизованного пользователя * Функция поддерживает работу и на фронте и в панели управления сайта * * @tutorial joosCore::user() => Объект пользователя modelUsers * * @return modelUsers */ public static function user() { return self::$is_admin ? joosCoreAdmin::user() : modelUsers::instance(); }