/** * Destroy a specific session * * @param int $id Session Id * @return boolean */ public function destroy($id) { try { $sessionRecord = $this->_tableStorage->retrieveEntityById($this->_sessionTable, $this->_sessionTablePartition, $id); $this->_tableStorage->deleteEntity($this->_sessionTable, $sessionRecord); return true; } catch (Zend_Service_WindowsAzure_Exception $ex) { return false; } }
/** * Fetch single document by ID * * @param string $collectionName Collection name * @param mixed $documentId Document ID, adapter-dependent * @param array $options * @return Zend_Cloud_DocumentService_Document */ public function fetchDocument($collectionName, $documentId, $options = null) { $documentId = $this->_validateDocumentId($documentId, $collectionName); try { $entity = $this->_storageClient->retrieveEntityById($collectionName, $documentId[0], $documentId[1]); $documentClass = $this->getDocumentClass(); return new $documentClass($this->_resolveAttributes($entity), array($entity->getPartitionKey(), $entity->getRowKey())); } catch (Zend_Service_WindowsAzure_Exception $e) { if (strpos($e->getMessage(), "does not exist") !== false) { return false; } throw new Zend_Cloud_DocumentService_Exception('Error on document fetch: ' . $e->getMessage(), $e->getCode(), $e); } }
/** * Destroy a specific session * * @param int $id Session Id * @return boolean */ public function destroy($id) { // Destroy data if ($this->_storageType == self::STORAGE_TYPE_TABLE) { // In table storage try { $sessionRecord = $this->_storage->retrieveEntityById($this->_sessionContainer, $this->_sessionContainerPartition, $id); $this->_storage->deleteEntity($this->_sessionContainer, $sessionRecord); return true; } catch (Zend_Service_WindowsAzure_Exception $ex) { return false; } } elseif ($this->_storageType == self::STORAGE_TYPE_BLOB) { // In blob storage try { $this->_storage->deleteBlob($this->_sessionContainer, $this->_sessionContainerPartition . '/' . $id); return true; } catch (Zend_Service_WindowsAzure_Exception $ex) { return false; } } }