예제 #1
0
 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;
 }
예제 #2
0
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");