Пример #1
0
 function webdav()
 {
     /* webdav list URL */
     // session id
     $session = JRequest::getString('s');
     // parent folder path
     $path = JoomDOCRequest::getPath();
     if (!$session) {
         /* webdav edit url */
         // file path
         $file = JRequest::getString('file');
         // file path segments
         $segments = explode('/', $file);
         // cleanup
         $segments = array_map('JString::trim', $segments);
         $segments = array_filter($segments);
         // reindexing
         $segments = array_merge($segments);
         // session id is first file path segment
         $session = $segments[0];
         // remove session id
         unset($segments[0]);
         // file path in JoomDOC standard
         $path = implode(DIRECTORY_SEPARATOR, $segments);
         //$model = JModelLegacy::getInstance(JOOMDOC_FILE, JOOMDOC_MODEL_PREFIX);
         /* @var $model JoomDOCSiteModelFile */
         //$path = $model->getPathById($path); // since 4.0.3 is path as ID
         //$segments = explode(DIRECTORY_SEPARATOR, $path);
         // file path in webdav framework usage (with slash on the begin)
         $file = '/' . implode('/', $segments);
         // set file param in get for webdav framework
         JRequest::setVar('path', $file, 'get');
     }
     $webDavUser = JFactory::getUser(JoomDOCUser::getUserIdBySessionId($session));
     if (JoomDOCAccessFileSystem::editWebDav(null, JoomDOCFileSystem::clean($path), $session)) {
         if (!JRequest::getVar('path')) {
             JRequest::setVar('path', '/');
         }
         require_once JOOMDOC_WEBDAV . DIRECTORY_SEPARATOR . 'index.php';
     } else {
         die('{"error":"","files":""}');
     }
 }