• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP ezcWebdavServer类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了PHP中ezcWebdavServer的典型用法代码示例。如果您正苦于以下问题:PHP ezcWebdavServer类的具体用法?PHP ezcWebdavServer怎么用?PHP ezcWebdavServer使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了ezcWebdavServer类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。

示例1: serializeLiveProperty

 /**
  * Returns the XML representation of a live property.
  *
  * Returns a DOMElement, representing the content of the given $property.
  * The newly created element is also appended as a child to the given
  * $parentElement.
  *
  * This method only takes care for {@link ezcWebdavGetContentTypeProperty}
  * and does not add the "charset=..." part to the generated XML output,
  * since Nautilus does not display this nicely. All other properties are
  * dispatched to the default {@link ezcWebdavPropertyHandler}.
  * 
  * @param ezcWebdavLiveProperty $property 
  * @param DOMElement $parentElement 
  * @return DOMElement
  */
 protected function serializeLiveProperty(ezcWebdavLiveProperty $property, DOMElement $parentElement)
 {
     switch (get_class($property)) {
         case 'ezcWebdavGetContentTypeProperty':
             $elementName = 'getcontenttype';
             $elementValue = $property->mime !== null ? $property->mime : null;
             break;
         default:
             return parent::serializeLiveProperty($property, $parentElement);
     }
     $propertyElement = $parentElement->appendChild(ezcWebdavServer::getInstance()->xmlTool->createDomElement($parentElement->ownerDocument, $elementName, $property->namespace));
     if ($elementValue instanceof DOMDocument) {
         $propertyElement->appendChild($dom->importNode($elementValue->documentElement, true));
     } else {
         if (is_array($elementValue)) {
             foreach ($elementValue as $subValue) {
                 $propertyElement->appendChild($subValue);
             }
         } else {
             if (is_scalar($elementValue)) {
                 $propertyElement->nodeValue = $elementValue;
             }
         }
     }
     return $propertyElement;
 }
开发者ID:jordanmanning,项目名称:ezpublish,代码行数:42,代码来源:nautilus.php


示例2: testAuthentication

 /**
  * testAuthentication 
  * 
  * @param mixed $input 
  * @param mixed $output 
  * @return void
  *
  * @dataProvider provideTestData
  */
 public function testAuthentication($input, $output)
 {
     static $num = 0;
     $num++;
     $GLOBALS['EZC_WEBDAV_TRANSPORT_TEST_BODY'] = $input['body'];
     $_SERVER = array_merge($this->serverBase, $input['server']);
     $backend = $this->getBackend();
     ezcWebdavServer::getInstance()->handle($backend);
     if (isset($GLOBALS['EZC_WEBDAV_TRANSPORT_TEST_RESPONSE_HEADERS']['WWW-Authenticate'])) {
         // Replace nounce value with standard one, since this should not be predictable
         $GLOBALS['EZC_WEBDAV_TRANSPORT_TEST_RESPONSE_HEADERS']['WWW-Authenticate']['digest'] = preg_replace('(nonce="[^"]+")', 'nonce="testnonce"', $GLOBALS['EZC_WEBDAV_TRANSPORT_TEST_RESPONSE_HEADERS']['WWW-Authenticate']['digest']);
     }
     // Check for broken DateTime in PHP versions (timestamp time zone issue)
     if (version_compare(PHP_VERSION, '5.2.6', '<')) {
         if ($input['server']['REQUEST_METHOD'] === 'PROPFIND') {
             // PROPFIND responses contain dates in XML
             $this->markTestSkipped('PHP DateTime broken in versions < 5.2.6');
             return;
         }
         if (isset($output['headers']['ETag'])) {
             unset($output['headers']['ETag']);
             unset($GLOBALS['EZC_WEBDAV_TRANSPORT_TEST_RESPONSE_HEADERS']['ETag']);
         }
     }
     $this->assertEquals($output['status'], $GLOBALS['EZC_WEBDAV_TRANSPORT_TEST_RESPONSE_STATUS']);
     $this->assertEquals($output['headers'], $GLOBALS['EZC_WEBDAV_TRANSPORT_TEST_RESPONSE_HEADERS']);
     $this->assertEquals($output['body'], $GLOBALS['EZC_WEBDAV_TRANSPORT_TEST_RESPONSE_BODY']);
 }
开发者ID:bmdevel,项目名称:ezc,代码行数:37,代码来源:server_auth_test.php


示例3: tearDown

 public function tearDown()
 {
     $server = ezcWebdavServer::getInstance();
     $server->auth = null;
     $server->pluginRegistry->unregisterPlugin(new ezcWebdavLockPluginConfiguration());
     $this->backend = null;
     $this->removeTempDir();
 }
开发者ID:zetacomponents,项目名称:webdav,代码行数:8,代码来源:lock_administrator_test.php


示例4: getServer

 protected function getServer(ezcWebdavPathFactory $pathFactory)
 {
     $server = ezcWebdavServer::getInstance();
     $server->reset();
     foreach ($server->configurations as $id => $cfg) {
         // Prepare mock classes, if not done, yet
         if (!class_exists($mockClass = "{$cfg->transportClass}Mock")) {
             eval(sprintf($this->mockClassSource, $cfg->transportClass, $cfg->transportClass));
         }
         // Mock all transports
         $server->configurations[$id]->transportClass = "{$cfg->transportClass}Mock";
         $server->configurations[$id]->pathFactory = $pathFactory;
     }
     $server->auth = new ezcWebdavTestAuth();
     return $server;
 }
开发者ID:zetacomponents,项目名称:webdav,代码行数:16,代码来源:client_test_setup.php


示例5: generatedResponse

 /**
  * Handles responses generated by the backend.
  * 
  * @param ezcWebdavPluginParameters $params 
  * @return ezcWebdavResponse|null
  */
 public function generatedResponse(ezcWebdavPluginParameters $params)
 {
     if (isset($this->handler)) {
         $res = null;
         try {
             $res = $this->handler->generatedResponse($params['response']);
         } catch (Exception $e) {
             if ($this->handler->needsBackendLock) {
                 ezcWebdavServer::getInstance()->backend->unlock();
             }
             throw $e;
         }
         if ($this->handler->needsBackendLock) {
             ezcWebdavServer::getInstance()->backend->unlock();
         }
         return $res;
     }
 }
开发者ID:jacomyma,项目名称:GEXF-Atlas,代码行数:24,代码来源:main.php


示例6: init

 /**
  * Initialize the plugin.
  *
  * This method is called after the server has be initialized to make the
  * plugin setup necessary objects and to retreive necessary information
  * from the server.
  * 
  * @return void
  */
 public function init()
 {
     $srv = ezcWebdavServer::getInstance();
     if (!$srv->backend instanceof ezcWebdavLockBackend) {
         throw new ezcWebdavPluginPreconditionFailedException($this->getNamespace(), 'Backend does not implement ezcWebdavLockBackend.');
     }
     if (!is_object($srv->auth) || !$srv->auth instanceof ezcWebdavLockAuthorizer) {
         throw new ezcWebdavPluginPreconditionFailedException($this->getNamespace(), 'No authorizer available or authorizer does not implement ezcWebdavLockAuthorizer.');
     }
     // @TODO: Check if more sanity checks must be tested?
 }
开发者ID:jacomyma,项目名称:GEXF-Atlas,代码行数:20,代码来源:config.php


示例7: assertSetPropertyFailure

 protected function assertSetPropertyFailure($propertyName, array $propertyValues, $exceptionClass)
 {
     foreach ($propertyValues as $value) {
         try {
             $srv = ezcWebdavServer::getInstance();
             $srv->{$propertyName} = $value;
             $this->fail("Exception not thrown on invalid ___set() value for property '{$propertyName}'.");
         } catch (Exception $e) {
             $this->assertTrue($e instanceof $exceptionClass, "Exception thrown on invalid value set for property '{$propertyName}'. '" . get_class($e) . "' instead of '{$exceptionClass}'.");
         }
     }
 }
开发者ID:zetacomponents,项目名称:webdav,代码行数:12,代码来源:server_test.php


示例8: move

 public function move(ezcWebdavMoveRequest $request)
 {
     global $prefs;
     global $filegallib;
     include_once 'lib/filegals/filegallib.php';
     print_debug("-- HTTP method: MOVE --\n");
     $this->acquireLock();
     // Indicates wheather a destiantion resource has been replaced or not.
     // The success response code depends on this.
     $replaced = false;
     // Extract paths from request
     $source = $request->requestUri;
     $dest = $request->getHeader('Destination');
     // Check authorization
     // Need to do this before checking of node existence is checked, to
     // avoid leaking information
     if (!ezcWebdavServer::getInstance()->isAuthorized($dest, $request->getHeader('Authorization'), ezcWebdavAuthorizer::ACCESS_WRITE)) {
         $this->freeLock();
         return $this->createUnauthorizedResponse($dest, $request->getHeader('Authorization'));
     }
     // Check if resource is available
     if (!$this->nodeExists($source)) {
         $this->freeLock();
         return new ezcWebdavErrorResponse(ezcWebdavResponse::STATUS_404, $source);
     }
     // If source and destination are equal, the request should always fail.
     if ($source === $dest) {
         $this->freeLock();
         return new ezcWebdavErrorResponse(ezcWebdavResponse::STATUS_403, $source);
     }
     // Check if destination resource exists and throw error, when
     // overwrite header is F
     if ($request->getHeader('Overwrite') === 'F' && $this->nodeExists($dest)) {
         $this->freeLock();
         return new ezcWebdavErrorResponse(ezcWebdavResponse::STATUS_412, $dest);
     }
     // Check if the destination parent directory already exists, otherwise
     // bail out.
     if (!$this->nodeExists($destDir = dirname($dest))) {
         $this->freeLock();
         return new ezcWebdavErrorResponse(ezcWebdavResponse::STATUS_409, $dest);
     }
     // Verify If-[None-]Match headers on the $dest if it exists
     if ($this->nodeExists($dest) && ($res = $this->checkIfMatchHeaders($request, $dest)) !== null) {
         $this->freeLock();
         return $res;
     } elseif (($res = $this->checkIfMatchHeaders($request, $destDir)) !== null) {
         // Verify If-[None-]Match headers on the on $dests parent dir, if it
         // does not exist
         $this->freeLock();
         return $res;
     }
     // The destination resource should be deleted if it exists and the
     // overwrite headers is T
     if ($request->getHeader('Overwrite') === 'T' && $this->nodeExists($dest)) {
         // Check sub-sequent authorization on destination
         $authState = $this->recursiveAuthCheck($request, $dest, ezcWebdavAuthorizer::ACCESS_WRITE, true);
         if (count($authState['errors']) !== 0) {
             // Permission denied on deleting destination
             $this->freeLock();
             return $authState['errors'][0];
         }
         $replaced = true;
         if (count($delteErrors = $this->performDelete($dest)) > 0) {
             $this->freeLock();
             return new ezcWebdavMultistatusResponse($delteErrors);
         }
     }
     // All checks are passed, we can actually move now.
     $infos = array();
     $doRename = false;
     $doMove = false;
     foreach (array('source', 'dest') as $k) {
         // Get source and dest infos
         if (($infos[$k] = $filegallib->get_objectid_from_virtual_path(${$k})) !== false) {
             switch ($infos[$k]['type']) {
                 case 'filegal':
                     $infos[$k]['infos'] = $filegallib->get_file_gallery_info($infos[$k]['id']);
                     $infos[$k]['parentId'] = $infos[$k]['infos']['parentId'];
                     $infos[$k]['name'] = $infos[$k]['infos']['name'];
                     break;
                 case 'file':
                     ///TODO: Throw an error if dest is a file, but source is a filegal
                     $infos[$k]['infos'] = $filegallib->get_file($infos[$k]['id']);
                     $infos[$k]['parentId'] = $infos[$k]['infos']['galleryId'];
                     $infos[$k]['name'] = $infos[$k]['infos']['filename'];
                     break;
             }
         } elseif ($k == 'dest') {
             // If dest doesn't exist, it usually means that the file / filegal has to be renamed
             ///TODO: Throw an error if dest is a new filegal, but source is a file
             if (($objectId = $filegallib->get_objectid_from_virtual_path(dirname(${$k}))) !== false && $objectId['type'] == 'filegal') {
                 $infos[$k] = array('id' => $infos['source']['id'], 'type' => $infos['source']['type'], 'infos' => $infos['source']['infos'], 'parentId' => $objectId['id'], 'name' => basename(${$k}));
                 switch ($infos[$k]['type']) {
                     case 'filegal':
                         $infos[$k]['infos']['name'] = $infos[$k]['name'];
                         $infos[$k]['infos']['parentId'] = $infos[$k]['parentId'];
                         break;
                     case 'file':
                         $infos[$k]['infos']['name'] = $infos[$k]['name'];
//.........这里部分代码省略.........
开发者ID:jkimdon,项目名称:cohomeals,代码行数:101,代码来源:File.php


示例9: initServer

 /**
  * Initialializes the WebDAV server used for capturing.
  * 
  * Retrieves the global server singleton and replaces all configured
  * transports with their corresponding mock.
  *
  * @param ezcWebdavPathFactory $pathFactory 
  * @return void
  */
 protected function initServer($ie, $lockPlugin)
 {
     $pathFactory = new ezcWebdavBasicPathFactory('http://' . $_SERVER['HTTP_HOST'] . $this->baseUri);
     $this->server = ezcWebdavServer::getInstance();
     foreach ($this->server->configurations as $id => $transportCfg) {
         // Prepare mock classes, if not done, yet
         if (!class_exists($mockClass = $transportCfg->transportClass . 'Mock', false)) {
             eval(sprintf($this->mockClassSource, $mockClass, $transportCfg->transportClass));
         }
         // Replace with mock config
         $this->server->configurations[$id]->transportClass = $mockClass;
         $this->server->configurations[$id]->pathFactory = $pathFactory;
     }
     $this->server->auth = $ie ? new ezcWebdavTestAuthIe() : new ezcWebdavTestAuth();
     if ($lockPlugin) {
         $this->server->pluginRegistry->registerPlugin(new ezcWebdavLockPluginConfiguration(new ezcWebdavLockPluginOptions(array('backendLockTimeout' => 2000000))));
     }
     $this->server->auth->tokenAssignement = file_exists($this->tokenFile = TMP_DIR . '/tokens.ser') ? unserialize(file_get_contents($this->tokenFile)) : array();
 }
开发者ID:zetacomponents,项目名称:webdav,代码行数:28,代码来源:test_generator.php


示例10: setUp

 protected function setUp()
 {
     ezcWebdavServer::getInstance()->reset();
 }
开发者ID:jacomyma,项目名称:GEXF-Atlas,代码行数:4,代码来源:test_case.php


示例11: authenticateAnonymous

 public function authenticateAnonymous(ezcWebdavAnonymousAuth $data)
 {
     // added by @ds to fix problems with IE6 SP2
     $path = ezcWebdavServer::getInstance()->pathFactory->parseUriToPath($_SERVER['REQUEST_URI']);
     return $path === '/';
 }
开发者ID:runelangseid,项目名称:ezpublish,代码行数:6,代码来源:ezwebdavcontentbackendauth.php


示例12: tearDown

 protected function tearDown()
 {
     ezcWebdavServer::getInstance()->reset();
 }
开发者ID:bmdevel,项目名称:ezc,代码行数:4,代码来源:lock_header_handler_test.php


示例13: extractActiveTokens

 /**
  * Extracts active lock tokens from a lockdiscovery property.
  *
  * Returns an array of string lock tokens, that are active on the affected
  * resource and owned by the currently active user.
  * 
  * @param ezcWebdavLockDiscoveryProperty $lockDiscovery 
  * @param ezcWebdavAuth $authHeader 
  * @return array(string)
  */
 protected function extractActiveTokens(ezcWebdavLockDiscoveryProperty $lockDiscovery = null, ezcWebdavAuth $authHeader)
 {
     $auth = ezcWebdavServer::getInstance()->auth;
     $activeLockTokens = array();
     foreach ($lockDiscovery->activeLock as $activeLock) {
         $token = (string) $activeLock->token;
         if ($auth->ownsLock($authHeader->username, $token)) {
             $activeLockTokens[] = $token;
         }
     }
     return $activeLockTokens;
 }
开发者ID:jacomyma,项目名称:GEXF-Atlas,代码行数:22,代码来源:tools.php


示例14: updateLockProperties

 /**
  * Updates the lock properties on the target.
  *
  * Performs the neccessary PROPPATCH requests to update the lock properties
  * on the target (parent is locked or was lock null before).
  */
 protected function updateLockProperties()
 {
     if (!$this->isParentProp) {
         // No need to update
         return null;
     }
     $lockDiscoveryProp = $this->lockDiscoveryProp !== null ? clone $this->lockDiscoveryProp : new ezcWebdavLockDiscoveryProperty();
     $destParent = dirname($this->request->requestUri);
     foreach ($lockDiscoveryProp->activeLock as $id => $activeLock) {
         if ($activeLock->depth !== ezcWebdavRequest::DEPTH_INFINITY) {
             unset($lockDiscoveryProp->activeLock[$id]);
             continue;
         }
         if ($activeLock->baseUri === null) {
             $activeLock->baseUri = $destParent;
             $activeLock->lastAccess = null;
         }
     }
     $propPatchReq = new ezcWebdavPropPatchRequest($this->request->requestUri);
     ezcWebdavLockTools::cloneRequestHeaders($this->request, $propPatchReq);
     $propPatchReq->validateHeaders();
     $propPatchReq->updates->attach($lockDiscoveryProp, ezcWebdavPropPatchRequest::SET);
     $propPatchRes = ezcWebdavServer::getInstance()->backend->propPatch($propPatchReq);
     if (!$propPatchRes instanceof ezcWebdavPropPatchResponse) {
         throw new ezcWebdavInconsistencyException('Could not patch lock properties on newly created resource/collection.');
     }
 }
开发者ID:jacomyma,项目名称:GEXF-Atlas,代码行数:33,代码来源:mkcol.php


示例15: serializeProperties

 /**
  * Serializes an object of new ezcWebdavPropertyStorage to XML.
  *
  * Attaches all properties of the $storage to the $parentElement XML
  * element in their XML representation.
  * 
  * @param ezcWebdavPropertyStorage $storage 
  * @param DOMElement $parentElement 
  * @return void
  */
 public final function serializeProperties(ezcWebdavPropertyStorage $storage, DOMElement $parentElement)
 {
     foreach ($storage as $property) {
         if ($property instanceof ezcWebdavLiveProperty) {
             $propertyElement = $this->serializeLiveProperty($property, $parentElement);
             // Attempt plugins to parse an unknown live property
             if ($propertyElement === null) {
                 // Plugin hook beforeSerializeLiveProperty
                 $propertyElement = ezcWebdavServer::getInstance()->pluginRegistry->announceHook(__CLASS__, 'serializeUnknownLiveProperty', new ezcWebdavPluginParameters(array('property' => $property, 'xmlTool' => $this->getXmlTool(), 'parentElement' => $parentElement)));
             }
         } else {
             // Plugin hook serializeDeadProperty
             $propertyElement = ezcWebdavServer::getInstance()->pluginRegistry->announceHook(__CLASS__, 'serializeDeadProperty', new ezcWebdavPluginParameters(array('property' => $property, 'xmlTool' => $this->getXmlTool())));
             // No plugin wanted to serialize the propery
             if ($propertyElement === null) {
                 if ($property === false) {
                     var_dump($storage);
                 }
                 $propertyElement = $this->serializeDeadProperty($property, $parentElement);
             }
         }
         if ($propertyElement instanceof DOMNode) {
             $parentElement->appendChild($propertyElement);
         }
     }
 }
开发者ID:jkimdon,项目名称:cohomeals,代码行数:36,代码来源:property_handler.php


示例16: configure

 /**
  * Configures the server for handling a request.
  *
  * This method takes the instance of {@link ezcWebdavServer} in $server and
  * configures this instance according to the configuration represented.
  * After calling this method, the {@link ezcWebdavServer} instance in
  * $server is ready to handle a request.
  *
  * This method is not intended to be called directly, but by {@link
  * ezcWebdavServerConfigurationManager}, when requested to configure the
  * server.
  * 
  * @param ezcWebdavServer $server
  * @return void
  */
 public function configure(ezcWebdavServer $server)
 {
     $this->checkClasses();
     $xmlTool = new $this->xmlToolClass();
     $propertyHandler = new $this->propertyHandlerClass();
     $headerHandler = new $this->headerHandlerClass();
     $transport = new $this->transportClass();
     $pathFactory = $this->pathFactory;
     $server->init($pathFactory, $xmlTool, $propertyHandler, $headerHandler, $transport);
 }
开发者ID:jacomyma,项目名称:GEXF-Atlas,代码行数:25,代码来源:server_configuration.php


示例17: testGetTransportInstanceSuccessNonDefaultCtor

 public function testGetTransportInstanceSuccessNonDefaultCtor()
 {
     $cfg = new ezcWebdavServerConfiguration('(.*Nautilus.*)', 'fooCustomTransport', 'fooCustomXmlTool', 'fooCustomPropertyHandler', 'fooCustomHeaderHandler', new ezcWebdavBasicPathFactory('http://foo.example.com/webdav/'));
     $server = ezcWebdavServer::getInstance();
     $cfg->configure($server);
     $xmlTool = new fooCustomXmlTool();
     $pathFactory = new ezcWebdavBasicPathFactory('http://foo.example.com/webdav/');
     $propertyHandler = new fooCustomPropertyHandler();
     $headerHandler = new fooCustomHeaderHandler();
     $transport = new fooCustomTransport();
     $this->assertEquals($xmlTool, $server->xmlTool);
     $this->assertEquals($pathFactory, $server->pathFactory);
     $this->assertEquals($propertyHandler, $server->propertyHandler);
     $this->assertEquals($transport, $server->transport);
 }
开发者ID:bmdevel,项目名称:ezc,代码行数:15,代码来源:server_configuration_test.php


示例18: performUnlock

 /**
  * Performs unlocking.
  *
  * Performs a PROPFIND request with the $depth of the lock with $token on
  * the given $path (which must be the lock base). All affected resources
  * get the neccessary properties updated to reflect the change. Lock null
  * resources in the lock are removed.
  * 
  * @param ezcWebdavUnlockRequest $request
  * @param string $token 
  * @param int $depth 
  * @return ezcWebdavResponse
  */
 protected function performUnlock(ezcWebdavUnlockRequest $request, $token, $depth)
 {
     $path = $request->requestUri;
     $backend = ezcWebdavServer::getInstance()->backend;
     // Find alle resources affected by the unlock, including affected properties
     $propFindReq = new ezcWebdavPropFindRequest($path);
     $propFindReq->prop = new ezcWebdavBasicPropertyStorage();
     $propFindReq->prop->attach(new ezcWebdavLockDiscoveryProperty());
     ezcWebdavLockTools::cloneRequestHeaders($request, $propFindReq);
     $propFindReq->setHeader('Depth', $depth);
     $propFindReq->validateHeaders();
     $propFindMultistatusRes = $backend->propFind($propFindReq);
     // Remove lock information for the lock identified by $token from each affected resource
     foreach ($propFindMultistatusRes->responses as $propFindRes) {
         // Takes properties to be updated
         $changeProps = new ezcWebdavFlaggedPropertyStorage();
         foreach ($propFindRes->responses as $propStatRes) {
             if ($propStatRes->status === ezcWebdavResponse::STATUS_200) {
                 // Remove affected active lock part from lockdiscovery property
                 if ($propStatRes->storage->contains('lockdiscovery')) {
                     $lockDiscoveryProp = clone $propStatRes->storage->get('lockdiscovery');
                     foreach ($lockDiscoveryProp->activeLock as $id => $activeLock) {
                         if ($activeLock->token == $token) {
                             $lockDiscoveryProp->activeLock->offsetUnset($id);
                             $changeProps->attach($lockDiscoveryProp, ezcWebdavPropPatchRequest::SET);
                             break;
                         }
                     }
                 }
             }
         }
         // Perform the PROPPATCH
         if (count($changeProps) > 0) {
             $propPatchReq = new ezcWebdavPropPatchRequest($propFindRes->node->path);
             $propPatchReq->updates = $changeProps;
             ezcWebdavLockTools::cloneRequestHeaders($request, $propPatchReq);
             $propPatchReq->validateHeaders();
             $propPatchRes = $backend->propPatch($propPatchReq);
             if (!$propPatchRes instanceof ezcWebdavPropPatchResponse) {
                 throw new ezcWebdavInconsistencyException("Lock token {$token} could not be unlocked on resource {$propFindRes->node->path}.");
             }
         }
     }
     return new ezcWebdavUnlockResponse(ezcWebdavResponse::STATUS_204);
 }
开发者ID:jordanmanning,项目名称:ezpublish,代码行数:58,代码来源:unlock.php


示例19: getPropertyStorage

 protected function getPropertyStorage($path)
 {
     print_debug('getPropertyStorage ' . $path . "\n");
     if (@file_exists($storagePath = $this->options->propertyStoragePath . '/properties-' . md5($path))) {
         $xml = ezcWebdavServer::getInstance()->xmlTool->createDom(@file_get_contents($storagePath));
     } else {
         $xml = ezcWebdavServer::getInstance()->xmlTool->createDom();
     }
     $handler = new ezcWebdavPropertyHandler(new ezcWebdavXmlTool());
     try {
         $handler->extractProperties($xml->getElementsByTagNameNS('DAV:', '*'), $this->propertyStorage);
     } catch (Exception $e) {
     }
     return $this->propertyStorage;
 }
开发者ID:rjsmelo,项目名称:tiki,代码行数:15,代码来源:Wiki.php


示例20: createLockNullResource

 /**
  * Creates a lock-null resource.
  *
  * In case a LOCK request is issued on a resource, that does not exists, a
  * so-called lock-null resource is created. This resource must support some
  * of the WebDAV requests, but not all. In case an MKCOL or PUT request is
  * issued to such a resource, it is switched to be a real resource. In case
  * the lock is released, all null-lock resources in it are removed.
  * 
  * @param ezcWebdavLockRequest $request 
  * @return ezcWebdavResponse
  */
 protected function createLockNullResource(ezcWebdavLockRequest $request)
 {
     $backend = ezcWebdavServer::getInstance()->backend;
     // Check parent directory for locks and other violations
     $violation = $this->tools->checkViolations(new ezcWebdavLockCheckInfo(dirname($request->requestUri), ezcWebdavRequest::DEPTH_ZERO, $request->getHeader('If'), $request->getHeader('Authorization'), ezcWebdavAuthorizer::ACCESS_WRITE));
     if ($violation !== null) {
         return $this->createLockError($violation);
     }
     // Create lock null resource
     $putReq = new ezcWebdavPutRequest($request->requestUri, '');
     ezcWebdavLockTools::cloneRequestHeaders($request, $putReq, array('If'));
     $putReq->setHeader('Content-Length', '0');
     $putReq->validateHeaders();
     $putRes = $backend->put($putReq);
     if (!$putRes instanceof ezcWebdavPutResponse) {
         return $this->createLockError($putRes);
     }
     // Attention, recursion!
     $res = $this->acquireLock($request);
     if ($res->status !== ezcWebdavResponse::STATUS_200) {
         return $res;
     }
     $res->status = ezcWebdavResponse::STATUS_201;
     return $res;
 }
开发者ID:crodriguezn,项目名称:administrator-files,代码行数:37,代码来源:lock.php



注:本文中的ezcWebdavServer类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP ezpDatabaseTestCase类代码示例发布时间:2022-05-23
下一篇:
PHP ezcTemplateStatementAstNode类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap