blob: 5f0a97269f72c68b4b558eed661a95125537b302 (
plain) (
tree)
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.3.1"/>
<title>The Red Matrix: RedMatrix\RedDAV\RedBrowser Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
$(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
<td style="padding-left: 0.5em;">
<div id="projectname">The Red Matrix
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.3.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
<li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class List</span></a></li>
<li><a href="classes.html"><span>Class Index</span></a></li>
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classRedMatrix_1_1RedDAV_1_1RedBrowser.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> |
<a href="#pro-methods">Protected Member Functions</a> |
<a href="#pri-attribs">Private Attributes</a> |
<a href="classRedMatrix_1_1RedDAV_1_1RedBrowser-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">RedMatrix\RedDAV\RedBrowser Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Provides a DAV frontend for the webbrowser.
<a href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#details">More...</a></p>
<div class="dynheader">
Inheritance diagram for RedMatrix\RedDAV\RedBrowser:</div>
<div class="dyncontent">
<div class="center">
<img src="classRedMatrix_1_1RedDAV_1_1RedBrowser.png" usemap="#RedMatrix\RedDAV\RedBrowser_map" alt=""/>
<map id="RedMatrix\RedDAV\RedBrowser_map" name="RedMatrix\RedDAV\RedBrowser_map">
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a8161f2a0be205412e263c947b5ec46c5"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a8161f2a0be205412e263c947b5ec46c5">__construct</a> (&$auth)</td></tr>
<tr class="memdesc:a8161f2a0be205412e263c947b5ec46c5"><td class="mdescLeft"> </td><td class="mdescRight">Constructor for <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html" title="Provides a DAV frontend for the webbrowser.">RedBrowser</a> class. <a href="#a8161f2a0be205412e263c947b5ec46c5">More...</a><br/></td></tr>
<tr class="separator:a8161f2a0be205412e263c947b5ec46c5"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa1607857cb59738c4dce2fe8e73d8f19"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#aa1607857cb59738c4dce2fe8e73d8f19">set_writeable</a> ()</td></tr>
<tr class="separator:aa1607857cb59738c4dce2fe8e73d8f19"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:af764d5f14df751f9ec86c34fab300c09"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#af764d5f14df751f9ec86c34fab300c09">generateDirectoryIndex</a> ($path)</td></tr>
<tr class="memdesc:af764d5f14df751f9ec86c34fab300c09"><td class="mdescLeft"> </td><td class="mdescRight">Creates the directory listing for the given path. <a href="#af764d5f14df751f9ec86c34fab300c09">More...</a><br/></td></tr>
<tr class="separator:af764d5f14df751f9ec86c34fab300c09"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a242ce69a2fe5a5fdf9c2b8d3954accfd"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a242ce69a2fe5a5fdf9c2b8d3954accfd">userReadableSize</a> ($size)</td></tr>
<tr class="separator:a242ce69a2fe5a5fdf9c2b8d3954accfd"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a3bd98af2d1cdfd8f26deb914596176cf"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a3bd98af2d1cdfd8f26deb914596176cf">htmlActionsPanel</a> (DAV\INode $node, &$output)</td></tr>
<tr class="memdesc:a3bd98af2d1cdfd8f26deb914596176cf"><td class="mdescLeft"> </td><td class="mdescRight">Creates a form to add new folders and upload files. <a href="#a3bd98af2d1cdfd8f26deb914596176cf">More...</a><br/></td></tr>
<tr class="separator:a3bd98af2d1cdfd8f26deb914596176cf"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:acaa792c08d24e9dc2919759e92ba037d"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#acaa792c08d24e9dc2919759e92ba037d">getAssetUrl</a> ($assetName)</td></tr>
<tr class="separator:acaa792c08d24e9dc2919759e92ba037d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad4bc0516533c62733f38043a37267d78"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#ad4bc0516533c62733f38043a37267d78">findAttachHash</a> ($owner, $parentHash, $attachName)</td></tr>
<tr class="memdesc:ad4bc0516533c62733f38043a37267d78"><td class="mdescLeft"> </td><td class="mdescRight">Return the hash of an attachment. <a href="#ad4bc0516533c62733f38043a37267d78">More...</a><br/></td></tr>
<tr class="separator:ad4bc0516533c62733f38043a37267d78"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a0733e38e254474d9a456825e72f1ddfd"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a0733e38e254474d9a456825e72f1ddfd">findAttachIdByHash</a> ($attachHash)</td></tr>
<tr class="memdesc:a0733e38e254474d9a456825e72f1ddfd"><td class="mdescLeft"> </td><td class="mdescRight">Returns an attachment's id for a given hash. <a href="#a0733e38e254474d9a456825e72f1ddfd">More...</a><br/></td></tr>
<tr class="separator:a0733e38e254474d9a456825e72f1ddfd"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:ad19179bf4ac7f18fafa7e2e3df800142"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#ad19179bf4ac7f18fafa7e2e3df800142">$auth</a></td></tr>
<tr class="separator:ad19179bf4ac7f18fafa7e2e3df800142"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Provides a DAV frontend for the webbrowser. </p>
<p><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html" title="Provides a DAV frontend for the webbrowser.">RedBrowser</a> is a SabreDAV server-plugin to provide a view to the DAV storage for the webbrowser.</p>
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
<a class="anchor" id="a8161f2a0be205412e263c947b5ec46c5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">RedMatrix\RedDAV\RedBrowser::__construct </td>
<td>(</td>
<td class="paramtype">& </td>
<td class="paramname"><em>$auth</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructor for <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html" title="Provides a DAV frontend for the webbrowser.">RedBrowser</a> class. </p>
<p>$enablePost will be activated through <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#aa1607857cb59738c4dce2fe8e73d8f19">set_writeable()</a> in a later stage. At the moment the write_storage permission is only valid for the whole folder. No file specific permissions yet.</p>
<p>Disable assets with $enableAssets = false. Should get some thumbnail views anyway.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramtype"><a class="el" href="classRedBasicAuth.html" title="Authentication backend class for RedDAV.">RedBasicAuth</a></td><td class="paramname">&$auth</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ad4bc0516533c62733f38043a37267d78"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">RedMatrix\RedDAV\RedBrowser::findAttachHash </td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname"><em>$owner</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$parentHash</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$attachName</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the hash of an attachment. </p>
<p>Given the owner, the parent folder and and attach name get the attachment hash.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramtype">int</td><td class="paramname">$owner</td><td>The owner_id </td></tr>
<tr><td class="paramtype">string</td><td class="paramname">$hash</td><td>The parent's folder hash </td></tr>
<tr><td class="paramtype">string</td><td class="paramname">$attachName</td><td>The name of the attachment </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>string </dd></dl>
<p>Referenced by <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#af764d5f14df751f9ec86c34fab300c09">RedMatrix\RedDAV\RedBrowser\generateDirectoryIndex()</a>.</p>
</div>
</div>
<a class="anchor" id="a0733e38e254474d9a456825e72f1ddfd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">RedMatrix\RedDAV\RedBrowser::findAttachIdByHash </td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname"><em>$attachHash</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns an attachment's id for a given hash. </p>
<p>This id is used to access the attachment in filestorage/</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramtype">string</td><td class="paramname">$attachHash</td><td>The hash of an attachment </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>string </dd></dl>
<p>Referenced by <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#af764d5f14df751f9ec86c34fab300c09">RedMatrix\RedDAV\RedBrowser\generateDirectoryIndex()</a>.</p>
</div>
</div>
<a class="anchor" id="af764d5f14df751f9ec86c34fab300c09"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">RedMatrix\RedDAV\RedBrowser::generateDirectoryIndex </td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname"><em>$path</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates the directory listing for the given path. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramtype">string</td><td class="paramname">$path</td><td>which should be displayed </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="acaa792c08d24e9dc2919759e92ba037d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">RedMatrix\RedDAV\RedBrowser::getAssetUrl </td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname"><em>$assetName</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This method takes a path/name of an asset and turns it into url suiteable for http access.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramtype">string</td><td class="paramname">$assetName</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>string </dd></dl>
<p>Referenced by <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#af764d5f14df751f9ec86c34fab300c09">RedMatrix\RedDAV\RedBrowser\generateDirectoryIndex()</a>.</p>
</div>
</div>
<a class="anchor" id="a3bd98af2d1cdfd8f26deb914596176cf"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">RedMatrix\RedDAV\RedBrowser::htmlActionsPanel </td>
<td>(</td>
<td class="paramtype">DAV\INode </td>
<td class="paramname"><em>$node</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">& </td>
<td class="paramname"><em>$output</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a form to add new folders and upload files. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramtype">\Sabre\DAV\INode</td><td class="paramname">$node</td><td></td></tr>
<tr><td class="paramtype">string</td><td class="paramname">&$output</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="aa1607857cb59738c4dce2fe8e73d8f19"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">RedMatrix\RedDAV\RedBrowser::set_writeable </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>The DAV browser is instantiated after the auth module and directory classes but before we know the current directory and who the owner and observer are. So we add a pointer to the browser into the auth module and vice versa. Then when we've figured out what directory is actually being accessed, we call the following function to decide whether or not to show web elements which include writeable objects.</p>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000002">Todo:</a></b></dt><dd>Maybe this can be solved with some $server->subscribeEvent()? </dd></dl>
</div>
</div>
<a class="anchor" id="a242ce69a2fe5a5fdf9c2b8d3954accfd"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">RedMatrix\RedDAV\RedBrowser::userReadableSize </td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname"><em>$size</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Referenced by <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#af764d5f14df751f9ec86c34fab300c09">RedMatrix\RedDAV\RedBrowser\generateDirectoryIndex()</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="ad19179bf4ac7f18fafa7e2e3df800142"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">RedMatrix\RedDAV\RedBrowser::$auth</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Referenced by <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a8161f2a0be205412e263c947b5ec46c5">RedMatrix\RedDAV\RedBrowser\__construct()</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/RedDAV/<a class="el" href="RedBrowser_8php.html">RedBrowser.php</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
|