/**
  * returns array with the filter settings of this filter
  *
  * @param  bool $_valueToJson resolve value for json api?
  * @return array
  */
 public function toArray($_valueToJson = false)
 {
     $result = Tinebase_Model_Filter_Text::toArray($_valueToJson);
     if ($this->_value === '/' || $this->_value === '') {
         $node = new Tinebase_Model_Tree_Node(array('name' => 'root', 'path' => '/'), TRUE);
     } else {
         $node = new Tinebase_Model_Tree_Node(array('path' => $this->_value, 'name' => 'nodeName', 'object_id' => 1));
     }
     $result['value'] = $node->toArray();
     return $result;
 }
Beispiel #2
0
 /**
  * update node
  * 
  * @param Tinebase_Model_Tree_Node $_node
  * @return Tinebase_Model_Tree_Node
  */
 public function updateNode(Tinebase_Model_Tree_Node $_node)
 {
     $currentNodeObject = $this->_treeNodeBackend->get($_node->getId());
     $modLog = Tinebase_Timemachine_ModificationLog::getInstance();
     $modLog->setRecordMetaData($_node, 'update', $currentNodeObject);
     return $this->_treeNodeBackend->update($_node);
 }
 /**
  * update node
  * 
  * @param Tinebase_Model_Tree_Node $_node
  * @return Tinebase_Model_Tree_Node
  */
 public function update(Tinebase_Model_Tree_Node $_node)
 {
     $currentNodeObject = $this->get($_node->getId());
     $fileObject = $this->_fileObjectBackend->get($currentNodeObject->object_id);
     Tinebase_Timemachine_ModificationLog::setRecordMetaData($_node, 'update', $currentNodeObject);
     Tinebase_Timemachine_ModificationLog::setRecordMetaData($fileObject, 'update', $fileObject);
     // quick hack for 2014.11 - will be resolved correctly in 2015.11-develop
     if (isset($_SERVER['HTTP_X_OC_MTIME'])) {
         $fileObject->last_modified_time = new Tinebase_DateTime($_SERVER['HTTP_X_OC_MTIME']);
         Tinebase_Server_WebDAV::getResponse()->setHeader('X-OC-MTime', 'accepted');
         if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) {
             Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . " using X-OC-MTIME: {$fileObject->last_modified_time->format(Tinebase_Record_Abstract::ISO8601LONG)} for {$_node->name}");
         }
     }
     // update file object
     $fileObject->description = $_node->description;
     $this->_updateFileObject($fileObject, $_node->hash);
     return $this->_treeNodeBackend->update($_node);
 }
 public function getId()
 {
     return $this->_node->getId();
 }
 /**
  * download (fpassthru) file node
  * 
  * @param Tinebase_Model_Tree_Node $node
  * @param string $filesystemPath
  */
 protected function _downloadFileNode($node, $filesystemPath)
 {
     $oldMaxExcecutionTime = Tinebase_Core::setExecutionLifeTime(0);
     if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) {
         Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' Download file node ' . print_r($node->toArray(), TRUE));
     }
     // cache for 3600 seconds
     $maxAge = 3600;
     header('Cache-Control: private, max-age=' . $maxAge);
     header("Expires: " . gmdate('D, d M Y H:i:s', Tinebase_DateTime::now()->addSecond($maxAge)->getTimestamp()) . " GMT");
     // overwrite Pragma header from session
     header("Pragma: cache");
     header('Content-Disposition: attachment; filename="' . $node->name . '"');
     header("Content-Type: " . $node->contenttype);
     $handle = fopen($filesystemPath, 'r');
     fpassthru($handle);
     fclose($handle);
     Tinebase_Core::setExecutionLifeTime($oldMaxExcecutionTime);
 }
 /**
  * update node
  * 
  * @param Tinebase_Model_Tree_Node $_node
  * @return Tinebase_Model_Tree_Node
  */
 public function update(Tinebase_Model_Tree_Node $_node)
 {
     $currentNodeObject = $this->get($_node->getId());
     Tinebase_Timemachine_ModificationLog::setRecordMetaData($_node, 'update', $currentNodeObject);
     // update file object
     $fileObject = $this->_fileObjectBackend->get($currentNodeObject->object_id);
     $fileObject->description = $_node->description;
     $this->_updateFileObject($fileObject, $_node->hash);
     return $this->_treeNodeBackend->update($_node);
 }