Example #1
0
 private function __actionFile()
 {
     $FileManager =& $this->_Parent->ExtensionManager->create('filemanager');
     $context = $this->_context;
     array_shift($context);
     $path = DOCROOT . $FileManager->getStartLocation() . (is_array($context) && !empty($context) ? '/' . implode('/', $context) . '/' : NULL);
     $permission = $_POST['fields']['file']['permissions'];
     $content = $_POST['fields']['file']['contents'];
     $filename = $_POST['fields']['file']['name'];
     $file = new File($path . '/' . $filename);
     $file->setContents($content);
     $file->setPermissions($permission);
     return $file->isFile();
 }
 function action()
 {
     $FileManager =& $this->_Parent->ExtensionManager->create('filemanager');
     $file = new File(DOCROOT . $FileManager->getStartLocation() . $_GET['file']);
     if (isset($_POST['action']['save'])) {
         $fields = $_POST['fields'];
         $file->setName($fields['name']);
         if (isset($fields['contents'])) {
             $file->setContents($fields['contents']);
         }
         $file->setPermissions($fields['permissions']);
         $relpath = str_replace(DOCROOT . $FileManager->getStartLocation(), NULL, dirname($_GET['file']));
         if ($file->isWritable()) {
             redirect($FileManager->baseURL() . 'properties/?file=' . rtrim(dirname($_GET['file']), '/') . '/' . $file->name() . '&result=saved');
         } else {
             redirect($FileManager->baseURL() . 'browse/' . $relpath);
         }
     } elseif (isset($_POST['action']['delete'])) {
         General::deleteFile($file->path() . '/' . $file->name());
         $relpath = str_replace(DOCROOT . $FileManager->getStartLocation(), NULL, dirname($_GET['file']));
         redirect($FileManager->baseURL() . 'browse/' . $relpath);
     }
 }
Example #3
0
 /**
  * Replace the current file contents with the given string
  *
  * @param string $contents The contents to write to the file.
  * @return File The file object (allows chaining).
  */
 public function setContents($contents)
 {
     return $this->originalFile->setContents($contents);
 }