public function deleteElement($table, $id) { $fileFields = $this->fileFields; $ele = new $table(); $ele->Load('id = ?', array($id)); $this->checkSecureAccess("delete", $ele); if (isset($this->nonDeletables[$table])) { $nonDeletableTable = $this->nonDeletables[$table]; if (!empty($nonDeletableTable)) { foreach ($nonDeletableTable as $field => $value) { if ($ele->{$field} == $value) { return "This item can not be deleted"; } } } } $ok = $ele->Delete(); if (!$ok) { $error = $ele->ErrorMsg(); LogManager::getInstance()->info($error); return $this->findError($error); } else { //Backup if ($table == "Profile") { $newObj = $this->cleanUpAdoDB($ele); $dataEntryBackup = new DataEntryBackup(); $dataEntryBackup->tableType = $table; $dataEntryBackup->data = json_encode($newObj); $dataEntryBackup->Save(); } $this->audit(IceConstants::AUDIT_DELETE, "Deleted an object in " . $table . " [id:" . $ele->id . "]"); } if (isset($fileFields[$table])) { foreach ($fileFields[$table] as $k => $v) { if (!empty($ele->{$k})) { FileService::getInstance()->deleteFileByField($ele->{$k}, $v); } } } return null; }
include APP_BASE_PATH . "classes/UIManager.php"; include APP_BASE_PATH . "classes/RestApiManager.php"; include APP_BASE_PATH . "classes/ModuleBuilder.php"; include APP_BASE_PATH . "classes/SimpleImage.php"; include APP_BASE_PATH . "classes/crypt/Aes.php"; include APP_BASE_PATH . "classes/crypt/AesCtr.php"; include APP_BASE_PATH . "model/models.base.php"; include APP_BASE_PATH . "model/models.inc.php"; include APP_BASE_PATH . 'admin/users/api/UsersAdminManager.php'; include APP_BASE_PATH . 'admin/modules/api/ModulesAdminManager.php'; include APP_BASE_PATH . 'admin/permissions/api/PermissionsAdminManager.php'; $dbLocal = NewADOConnection(APP_CON_STR); File::SetDatabaseAdapter($dbLocal); Setting::SetDatabaseAdapter($dbLocal); Report::SetDatabaseAdapter($dbLocal); DataEntryBackup::SetDatabaseAdapter($dbLocal); Audit::SetDatabaseAdapter($dbLocal); Notification::SetDatabaseAdapter($dbLocal); RestAccessToken::SetDatabaseAdapter($dbLocal); include APP_BASE_PATH . "model/custom.models.inc.php"; $baseService = BaseService::getInstance(); BaseService::getInstance()->setNonDeletables("User", "id", 1); BaseService::getInstance()->setCurrentUser($user); BaseService::getInstance()->setDB($dbLocal); $reportHandler = new ReportHandler(); $settingsManager = SettingsManager::getInstance(); $notificationManager = new NotificationManager(); BaseService::getInstance()->setNotificationManager($notificationManager); BaseService::getInstance()->setSettingsManager($settingsManager); $notificationManager->setBaseService($baseService); $noJSONRequests = SettingsManager::getInstance()->getSetting("System: Do not pass JSON in request");