You are here

public function PrivateTempStore::delete in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/modules/user/src/PrivateTempStore.php \Drupal\user\PrivateTempStore::delete()

Deletes data from the store for a given key and releases the lock on it.

Parameters

string $key: The key of the data to delete.

Return value

bool TRUE if the object was deleted or does not exist, FALSE if it exists but is not owned by $this->owner.

File

core/modules/user/src/PrivateTempStore.php, line 168
Contains \Drupal\user\PrivateTempStore.

Class

PrivateTempStore
Stores and retrieves temporary data for a given owner.

Namespace

Drupal\user

Code

public function delete($key) {
  $key = $this
    ->createkey($key);
  if (!($object = $this->storage
    ->get($key))) {
    return TRUE;
  }
  elseif ($object->owner != $this
    ->getOwner()) {
    return FALSE;
  }
  if (!$this->lockBackend
    ->acquire($key)) {
    $this->lockBackend
      ->wait($key);
    if (!$this->lockBackend
      ->acquire($key)) {
      throw new TempStoreException("Couldn't acquire lock to delete item '{$key}' from '{$this->storage->getCollectionName()}' temporary storage.");
    }
  }
  $this->storage
    ->delete($key);
  $this->lockBackend
    ->release($key);
  return TRUE;
}