Page MenuHomePhorge

DeleteJob.php
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

DeleteJob.php

<?php
namespace App\Jobs\Resource;
use App\Jobs\ResourceJob;
class DeleteJob extends ResourceJob
{
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
$resource = $this->getResource();
if (!$resource) {
return;
}
// sanity checks
if ($resource->isDeleted()) {
$this->fail(new \Exception("Resource {$this->resourceId} is already marked as deleted."));
return;
}
if (\config('app.with_ldap') && $resource->isLdapReady()) {
\App\Backends\LDAP::deleteResource($resource);
$resource->status ^= \App\Resource::STATUS_LDAP_READY;
$resource->save();
}
if ($resource->isImapReady()) {
if (\config('app.with_imap')) {
if (!\App\Backends\IMAP::deleteResource($resource)) {
throw new \Exception("Failed to delete mailbox for resource {$this->resourceId}.");
}
}
$resource->status ^= \App\Resource::STATUS_IMAP_READY;
}
$resource->status |= \App\Resource::STATUS_DELETED;
$resource->save();
}
}

File Metadata

Mime Type
text/x-php
Expires
Fri, Nov 21, 7:09 AM (1 d, 13 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
387404
Default Alt Text
DeleteJob.php (1 KB)

Event Timeline