public function onAfterDelete()
 {
     parent::onAfterDelete();
     foreach ($this->Answers() as $answer) {
         $answer->delete();
     }
 }
示例#2
0
 function onAfterDelete()
 {
     parent::onAfterDelete();
     // Force thread to recalculate it's most recent.
     if ($this->ThreadID) {
         $this->Thread()->updateLastPost();
     }
 }
 public function onAfterDelete()
 {
     parent::onAfterDelete();
     // Trigger Deletion Of All Related MCListSegments On Event Deletion
     $segments = $this->owner->getComponents("MCListSegments");
     foreach ($segments as $segment) {
         $segment->delete();
     }
 }
示例#4
0
 public function onAfterDelete()
 {
     parent::onAfterDelete();
     // Delete associated permission codes
     $codes = $this->Codes();
     foreach ($codes as $code) {
         $code->delete();
     }
 }
 public function onAfterDelete()
 {
     parent::onAfterDelete();
     if ($values = $this->Perms->getValues()) {
         foreach ($values as $perm) {
             singleton('PermissionService')->clearPermCacheFor($this->getItem(), $perm);
         }
     }
 }
示例#6
0
 function onAfterDelete()
 {
     // Need to flush cache to avoid outdated versionnumber references
     $this->flushCache();
     // Need to mark pages depending to this one as broken
     $dependentPages = $this->DependentPages();
     if ($dependentPages) {
         foreach ($dependentPages as $page) {
             // $page->write() calls syncLinkTracking, which does all the hard work for us.
             $page->write();
         }
     }
     parent::onAfterDelete();
 }
 /**
  *
  */
 protected function onAfterDelete()
 {
     parent::onAfterDelete();
     if (isset($this->dataSource)) {
         $this->dataSource->delete();
     }
 }
示例#8
0
 /**
  * Delete any related config files
  */
 public function onAfterDelete()
 {
     parent::onAfterDelete();
     // Create a basic new environment config from a template
     if ($this->config()->get('allow_web_editing') && $this->envFileExists()) {
         unlink($this->getConfigFilename());
     }
     $deployments = $this->Deployments();
     if ($deployments && $deployments->exists()) {
         foreach ($deployments as $deployment) {
             $deployment->delete();
         }
     }
     $archives = $this->DataArchives();
     if ($archives && $archives->exists()) {
         foreach ($archives as $archive) {
             $archive->delete();
         }
     }
     $transfers = $this->DataTransfers();
     if ($transfers && $transfers->exists()) {
         foreach ($transfers as $transfer) {
             $transfer->delete();
         }
     }
     $pings = $this->Pings();
     if ($pings && $pings->exists()) {
         foreach ($pings as $ping) {
             $ping->delete();
         }
     }
     $create = $this->CreateEnvironment();
     if ($create && $create->exists()) {
         $create->delete();
     }
 }
示例#9
0
 /**
  * Delete any related config files
  */
 public function onAfterDelete()
 {
     parent::onAfterDelete();
     // Create a basic new environment config from a template
     if ($this->config()->get('allow_web_editing') && $this->envFileExists()) {
         unlink($this->getConfigFilename());
     }
     $create = $this->CreateEnvironment();
     if ($create && $create->exists()) {
         $create->delete();
     }
 }
示例#10
0
 public function onAfterDelete()
 {
     parent::onAfterDelete();
     if (Versioned::current_stage() == 'Stage') {
         $this->Pages()->removeAll();
         $this->BlockSets()->removeAll();
     }
 }
 /**
  * Updates link tracking.
  */
 protected function onAfterDelete()
 {
     parent::onAfterDelete();
     $brokenPages = $this->BackLinkTracking();
     if ($brokenPages) {
         $origStage = Versioned::current_stage();
         // This will syncLinkTracking on draft
         Versioned::reading_stage('Stage');
         foreach ($brokenPages as $brokenPage) {
             $brokenPage->write();
         }
         // This will syncLinkTracking on published
         Versioned::reading_stage('Live');
         foreach ($brokenPages as $brokenPage) {
             $brokenPage->write();
         }
         Versioned::reading_stage($origStage);
     }
 }
 /**
  * API Callback after this object is removed from to the DB
  *
  */
 public function onAfterDelete()
 {
     parent::onAfterDelete();
     foreach ($this->Items() as $item) {
         $item->delete();
     }
 }
 /**
  * When deleting an action from a workflow definition, make sure that workflows currently paused on that action
  * are deleted
  * Also removes all outbound transitions
  */
 public function onAfterDelete()
 {
     parent::onAfterDelete();
     $wfActionInstances = WorkflowActionInstance::get()->leftJoin("WorkflowInstance", '"WorkflowInstance"."ID" = "WorkflowActionInstance"."WorkflowID"')->where(sprintf('"BaseActionID" = %d AND ("WorkflowStatus" IN (\'Active\',\'Paused\'))', $this->ID));
     foreach ($wfActionInstances as $wfActionInstance) {
         $wfInstances = WorkflowInstance::get()->filter('CurrentActionID', $wfActionInstance->ID);
         foreach ($wfInstances as $wfInstance) {
             $wfInstance->Groups()->removeAll();
             $wfInstance->Users()->removeAll();
             $wfInstance->delete();
         }
         $wfActionInstance->delete();
     }
     // Delete outbound transitions
     $transitions = WorkflowTransition::get()->filter('ActionID', $this->ID);
     foreach ($transitions as $transition) {
         $transition->Groups()->removeAll();
         $transition->Users()->removeAll();
         $transition->delete();
     }
 }
示例#14
0
	function onAfterDelete() {
		// Need to flush cache to avoid outdated versionnumber references
		$this->flushCache();
		
		parent::onAfterDelete();
	}
 public function onAfterDelete()
 {
     parent::onAfterDelete();
     $this->ScheduledJob()->delete();
 }
示例#16
0
 /**
  * We make this method extendable here.
  *
  * @return void
  *
  * @author Sascha Koehler <*****@*****.**>
  * @since 17.11.2011
  */
 public function onAfterDelete()
 {
     parent::onAfterDelete();
     $this->extend('updateOnAfterDelete');
 }
示例#17
0
 /**
  * Delete related environments and folders
  */
 public function onAfterDelete()
 {
     parent::onAfterDelete();
     // Delete related environments
     foreach ($this->Environments() as $env) {
         $env->delete();
     }
     if (!file_exists($this->getProjectFolderPath())) {
         return;
     }
     // Create a basic new environment config from a template
     if (Config::inst()->get('DNEnvironment', 'allow_web_editing')) {
         FileSystem::removeFolder($this->getProjectFolderPath());
     }
 }
 /**
  * standard SS method
  */
 function onAfterDelete()
 {
     parent::onAfterDelete();
     $this->requireDefaultRecords();
 }
 /**
  * Delete related environments and folders
  */
 public function onAfterDelete()
 {
     parent::onAfterDelete();
     // Delete related environments
     foreach ($this->Environments() as $env) {
         $env->delete();
     }
     // Delete local repository
     if (file_exists($this->getLocalCVSPath())) {
         Filesystem::removeFolder($this->getLocalCVSPath());
     }
     // Delete project template
     if (file_exists($this->getProjectFolderPath()) && Config::inst()->get('DNEnvironment', 'allow_web_editing')) {
         Filesystem::removeFolder($this->getProjectFolderPath());
     }
     // Delete the deploy key
     if (file_exists($this->getKeyDir())) {
         Filesystem::removeFolder($this->getKeyDir());
     }
 }
示例#20
0
 public function onAfterDelete()
 {
     parent::onAfterDelete();
     //prevent orphaned records remaining in the DB
     $this->deletePasswordLogs();
 }
示例#21
0
 /**
  * Delete the file from the S3 bucket when the S3File DataObject gets
  * deleted.
  * @return
  */
 protected function onAfterDelete()
 {
     $s3 = $this->getS3Client();
     $cmd = $s3->getCommand('DeleteObject', ['Bucket' => $this->Bucket, 'Key' => $this->Key]);
     $s3->execute($cmd);
     return parent::onAfterDelete();
 }
 /**
  *
  */
 protected function onAfterDelete()
 {
     parent::onAfterDelete();
     $this->dataSource->delete();
 }
示例#23
0
 function onAfterDelete()
 {
     parent::onAfterDelete();
     // Delete associated permissions
     $permissions = $this->Permissions();
     foreach ($permissions as $permission) {
         $permission->delete();
     }
 }
 protected function onAfterDelete()
 {
     /**
      * Delete all has_many relationships associated with this controller.
      */
     $items = $this->Items();
     foreach ($items as $key => $item) {
         DataObject::delete_by_id('PageBuilderItem', $item->ID);
     }
     parent::onAfterDelete();
 }