/** * 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; }
/** * 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); }