aboutsummaryrefslogblamecommitdiffstats
path: root/doc/html/include_2attach_8php.html
blob: 281b41fed1a66718e6f444f0ba3ee066657c1f17 (plain) (tree)
1
2
3
4
5
6
7





                                                                                                                         
                                                                






















                                                                       
                                                             
                                   
                                       













































































                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             


                                                             



                                                                                                                                                                                                                                                                                           
                                                                                                                                                                                                                           

                                                                                                                                                                                                                                                                                                                                                
                                                                                                                                                                                                               

                                                                                                                                                                                                                                                                                                                                                                                               
                                                                                                                                                                                                                           

                                                                                                                                                                                                                                                                                          
                                                                                                                                                                                                                               

                                                                                                                                                                                                                                                                                                 
                                                                                                                                                                                                                               


                                                                                                                                                                                                                                                                                                                            

                                                                                                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                                                              
                                                                                                                                                                                                        
                                                                                                             
                                                                                                                                                                                                                                                                                                                                                                            
                                                                                                                                                                                                                     

                                                                                                                                                                                                                                                                                                  
                                                                                                                                                                                                                              

                                                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                                                                   
                                                                                                             
                                                                                                                                                                                                                                                                                                                          
                                                                                                                                                                                                                                                                                                                            

                                                                                                                                                                                                                                                                                                                      
                                                                                                                                                                                                                                 

                                                                                                                                                                                                                                                                                                            
                                                                                                                                                                                                                                                
                                                                                                             

                                                                                                                                                                                                                                                                                    



                                                                                                                                                                                                                                                                                                                                                                   
        



                                                                                                                                                                                                                                                                                                                                                                                       























                                                                         










                                                                                       



























                                                                                                                    










                                                                                                                                                                                                              
                                                                                                                                                                                                                     


      





















































                                                                                 













                                                            



                                                                                                                         









































                                                                               












                                                                                                                                                                                           

      























                                                             

                                                                                                                    

                                          

                                                                                                                


          
                                                              
 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                


      



























































                                                                                           















                                                                                                                                                                                      

      




























                                                                            

                         
                                                  

                                          


                                                                                                                                                                                                                                                                                                                                                             


          
 
                                                                                                                                                                              
 

      


































                                                                            








                                                                                        
 
                                                                                                                                                                                                                                                                                                                                                                                                                                                


      
                                                             












                                                           
                                                       
















































                                                                                                                                                                                                                                   























                                                               









                                                                                                                       



























                                                                                                                                 









                                                                                                                        



                                                                                                                                 













                                                             
                                                                                                                                    

                                          
                                                                                                                                                           


          
                                                                                           
 



                                                                                                                            

































                                                                                                                                                                                                                                   





























                                                               
                                                                                                                                             

                                          


                                                                                                                       


          
                                                                                          
 
                                                                                                                                                                                                                                                                                                                                           


      






















                                                             






                                                     
 

                                                                                                                    

      













                                                                 









                                                                                                         
                                                                                                                                                                                                                                                                                  


      






































                                                                                                               
                                                                                                                         








                                                                                                                                                                                                                                 

                          
 
<!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: include/attach.php File 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&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><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="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;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('include_2attach_8php.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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</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="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">attach.php File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>File/attach API with the potential for revision control.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a6fdd92775f31c07d2863e16e0026018a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2attach_8php.html#a6fdd92775f31c07d2863e16e0026018a">z_mime_content_type</a> ($filename)</td></tr>
<tr class="memdesc:a6fdd92775f31c07d2863e16e0026018a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Guess the mimetype from file ending.  <a href="#a6fdd92775f31c07d2863e16e0026018a">More...</a><br/></td></tr>
<tr class="separator:a6fdd92775f31c07d2863e16e0026018a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a887d2d44a3ef18dcb6624e7fb58dc8e3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2attach_8php.html#a887d2d44a3ef18dcb6624e7fb58dc8e3">attach_count_files</a> ($channel_id, $observer, $hash= '', $filename= '', $filetype= '')</td></tr>
<tr class="memdesc:a887d2d44a3ef18dcb6624e7fb58dc8e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Count files/attachments.  <a href="#a887d2d44a3ef18dcb6624e7fb58dc8e3">More...</a><br/></td></tr>
<tr class="separator:a887d2d44a3ef18dcb6624e7fb58dc8e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3634af95f11a023dd8e882c3c7a3600d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2attach_8php.html#a3634af95f11a023dd8e882c3c7a3600d">attach_list_files</a> ($channel_id, $observer, $hash= '', $filename= '', $filetype= '', $orderby= 'created desc', $start=0, $entries=0)</td></tr>
<tr class="memdesc:a3634af95f11a023dd8e882c3c7a3600d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a list of files/attachments.  <a href="#a3634af95f11a023dd8e882c3c7a3600d">More...</a><br/></td></tr>
<tr class="separator:a3634af95f11a023dd8e882c3c7a3600d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d07c5b83d3d54e186f752e571847b36"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2attach_8php.html#a0d07c5b83d3d54e186f752e571847b36">attach_by_hash</a> ($hash, $rev=0)</td></tr>
<tr class="memdesc:a0d07c5b83d3d54e186f752e571847b36"><td class="mdescLeft">&#160;</td><td class="mdescRight">Find an attachment by hash and revision.  <a href="#a0d07c5b83d3d54e186f752e571847b36">More...</a><br/></td></tr>
<tr class="separator:a0d07c5b83d3d54e186f752e571847b36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad991208ce939387e2f93a3bce7d09932"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2attach_8php.html#ad991208ce939387e2f93a3bce7d09932">attach_by_hash_nodata</a> ($hash, $rev=0)</td></tr>
<tr class="memdesc:ad991208ce939387e2f93a3bce7d09932"><td class="mdescLeft">&#160;</td><td class="mdescRight">Find an attachment by hash and revision.  <a href="#ad991208ce939387e2f93a3bce7d09932">More...</a><br/></td></tr>
<tr class="separator:ad991208ce939387e2f93a3bce7d09932"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84a8a64c4805e1525b42d4add464833f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store</a> ($channel, $observer_hash, $options= '', $arr=null)</td></tr>
<tr class="separator:a84a8a64c4805e1525b42d4add464833f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb07968990e66a88c95483ca09a7f909"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2attach_8php.html#aeb07968990e66a88c95483ca09a7f909">z_readdir</a> ($channel_id, $observer_hash, $pathname, $parent_hash= '')</td></tr>
<tr class="separator:aeb07968990e66a88c95483ca09a7f909"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6830b3ab74a5d284876141ac80f6cbc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir</a> ($channel, $observer_hash, $arr=null)</td></tr>
<tr class="memdesc:ab6830b3ab74a5d284876141ac80f6cbc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create directory.  <a href="#ab6830b3ab74a5d284876141ac80f6cbc">More...</a><br/></td></tr>
<tr class="separator:ab6830b3ab74a5d284876141ac80f6cbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c0875eafb8c0f8a0620ff7a875a2221"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2attach_8php.html#a5c0875eafb8c0f8a0620ff7a875a2221">attach_change_permissions</a> ($channel_id, $resource, $allow_cid, $allow_gid, $deny_cid, $deny_gid, $recurse=false)</td></tr>
<tr class="memdesc:a5c0875eafb8c0f8a0620ff7a875a2221"><td class="mdescLeft">&#160;</td><td class="mdescRight">Changes permissions of a file.  <a href="#a5c0875eafb8c0f8a0620ff7a875a2221">More...</a><br/></td></tr>
<tr class="separator:a5c0875eafb8c0f8a0620ff7a875a2221"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70bd666e080c2af5a91f5d14c297b8cd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2attach_8php.html#a70bd666e080c2af5a91f5d14c297b8cd">attach_delete</a> ($channel_id, $resource)</td></tr>
<tr class="memdesc:a70bd666e080c2af5a91f5d14c297b8cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete a file/directory from a channel.  <a href="#a70bd666e080c2af5a91f5d14c297b8cd">More...</a><br/></td></tr>
<tr class="separator:a70bd666e080c2af5a91f5d14c297b8cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6aa00ea010ea030110faefb75eafc1ce"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2attach_8php.html#a6aa00ea010ea030110faefb75eafc1ce">get_cloudpath</a> ($arr)</td></tr>
<tr class="memdesc:a6aa00ea010ea030110faefb75eafc1ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns path to file in cloud/. This function cannot be used with mod/dav as it always returns a path valid under mod/cloud.  <a href="#a6aa00ea010ea030110faefb75eafc1ce">More...</a><br/></td></tr>
<tr class="separator:a6aa00ea010ea030110faefb75eafc1ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d72ef7cb940f6868e3e2a841cadfe8f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2attach_8php.html#a1d72ef7cb940f6868e3e2a841cadfe8f">get_parent_cloudpath</a> ($channel_id, $channel_name, $attachHash)</td></tr>
<tr class="memdesc:a1d72ef7cb940f6868e3e2a841cadfe8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns path to parent folder in cloud/. This function cannot be used with mod/dav as it always returns a path valid under mod/cloud.  <a href="#a1d72ef7cb940f6868e3e2a841cadfe8f">More...</a><br/></td></tr>
<tr class="separator:a1d72ef7cb940f6868e3e2a841cadfe8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a052f14487ff2ce72f62a09fac8d7e997"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2attach_8php.html#a052f14487ff2ce72f62a09fac8d7e997">find_folder_hash_by_attach_hash</a> ($channel_id, $attachHash)</td></tr>
<tr class="memdesc:a052f14487ff2ce72f62a09fac8d7e997"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the hash of an attachment's folder.  <a href="#a052f14487ff2ce72f62a09fac8d7e997">More...</a><br/></td></tr>
<tr class="separator:a052f14487ff2ce72f62a09fac8d7e997"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4dbfd7e1cef52aa9ef52f4b88929fa86"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2attach_8php.html#a4dbfd7e1cef52aa9ef52f4b88929fa86">find_filename_by_hash</a> ($channel_id, $attachHash)</td></tr>
<tr class="memdesc:a4dbfd7e1cef52aa9ef52f4b88929fa86"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the filename of an attachment in a given channel.  <a href="#a4dbfd7e1cef52aa9ef52f4b88929fa86">More...</a><br/></td></tr>
<tr class="separator:a4dbfd7e1cef52aa9ef52f4b88929fa86"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d484de2d19a93071571d6499a50ae34"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2attach_8php.html#a5d484de2d19a93071571d6499a50ae34">pipe_streams</a> ($in, $out)</td></tr>
<tr class="separator:a5d484de2d19a93071571d6499a50ae34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa23ba65e5bb732be71fdd27ccff7d46e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2attach_8php.html#aa23ba65e5bb732be71fdd27ccff7d46e">file_activity</a> ($channel_id, $object, $allow_cid, $allow_gid, $deny_cid, $deny_gid, $verb, $no_activity)</td></tr>
<tr class="separator:aa23ba65e5bb732be71fdd27ccff7d46e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa784c064ae323710f4ef68771a4a38db"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2attach_8php.html#aa784c064ae323710f4ef68771a4a38db">get_file_activity_object</a> ($channel_id, $hash, $cloudpath)</td></tr>
<tr class="separator:aa784c064ae323710f4ef68771a4a38db"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>File/attach API with the potential for revision control. </p>
<p>TODO: a filesystem storage abstraction which maintains security (and 'data' contains a system filename which is inaccessible from the web). This could get around PHP storage limits and store videos and larger items, using fread or OS methods or native code to read/write or chunk it through. Also an 'append' option to the storage function might be a useful addition. </p>
</div><h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a0d07c5b83d3d54e186f752e571847b36"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">attach_by_hash </td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$hash</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$rev</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Find an attachment by hash and revision. </p>
<p>Returns the entire attach structure including data.</p>
<p>This could exhaust memory so most useful only when immediately sending the data.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">$hash</td><td></td></tr>
    <tr><td class="paramname">$rev</td><td></td></tr>
  </table>
  </dd>
</dl>

<p>Referenced by <a class="el" href="mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1">attach_init()</a>.</p>

</div>
</div>
<a class="anchor" id="ad991208ce939387e2f93a3bce7d09932"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">attach_by_hash_nodata </td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$hash</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$rev</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Find an attachment by hash and revision. </p>
<p>Returns the entire attach structure excluding data.</p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="include_2attach_8php.html#a0d07c5b83d3d54e186f752e571847b36" title="Find an attachment by hash and revision.">attach_by_hash()</a> </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">$hash</td><td></td></tr>
    <tr><td class="paramname">$ref</td><td></td></tr>
  </table>
  </dd>
</dl>

<p>Referenced by <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, and <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>.</p>

</div>
</div>
<a class="anchor" id="a5c0875eafb8c0f8a0620ff7a875a2221"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">attach_change_permissions </td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$channel_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$resource</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$allow_cid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$allow_gid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$deny_cid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$deny_gid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$recurse</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Changes permissions of a file. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">$channel_id</td><td></td></tr>
    <tr><td class="paramname">$resource</td><td></td></tr>
    <tr><td class="paramname">$allow_cid</td><td></td></tr>
    <tr><td class="paramname">$allow_gid</td><td></td></tr>
    <tr><td class="paramname">$deny_cid</td><td></td></tr>
    <tr><td class="paramname">$deny_gid</td><td></td></tr>
    <tr><td class="paramname">$recurse</td><td></td></tr>
  </table>
  </dd>
</dl>

<p>Referenced by <a class="el" href="filestorage_8php.html#ad3b64e3ece9831f9d3a9f00c0ae983cd">filestorage_post()</a>.</p>

</div>
</div>
<a class="anchor" id="a887d2d44a3ef18dcb6624e7fb58dc8e3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">attach_count_files </td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$channel_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$observer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$hash</em> = <code>''</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$filename</em> = <code>''</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$filetype</em> = <code>''</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Count files/attachments. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">$channel_id</td><td></td></tr>
    <tr><td class="paramname">$observer</td><td></td></tr>
    <tr><td class="paramname">$hash</td><td>(optional) </td></tr>
    <tr><td class="paramname">$filename</td><td>(optional) </td></tr>
    <tr><td class="paramname">$filetype</td><td>(optional) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>array $ret['success'] boolean $ret['results'] amount of found results, or false $ret['message'] string with error messages if any </dd></dl>

</div>
</div>
<a class="anchor" id="a70bd666e080c2af5a91f5d14c297b8cd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">attach_delete </td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$channel_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$resource</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Delete a file/directory from a channel. </p>
<p>If the provided resource hash is from a directory it will delete everything recursively under this directory.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramtype">int</td><td class="paramname">$channel_id</td><td>The id of the channel </td></tr>
    <tr><td class="paramtype">string</td><td class="paramname">$resource</td><td>The hash to delete </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

<p>Referenced by <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a58e750256cdc2f0f79fbe8d5463ffefe">RedMatrix\RedDAV\RedDirectory\createFile()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#ab7ab7ba81fab28eb02382cfdfd80ecfe">RedMatrix\RedDAV\RedFile\delete()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, and <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a709ec1288d21ddf1353524435ab916f0">RedMatrix\RedDAV\RedFile\put()</a>.</p>

</div>
</div>
<a class="anchor" id="a3634af95f11a023dd8e882c3c7a3600d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">attach_list_files </td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$channel_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$observer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$hash</em> = <code>''</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$filename</em> = <code>''</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$filetype</em> = <code>''</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$orderby</em> = <code>'created&#160;desc'</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$start</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$entries</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns a list of files/attachments. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">$channel_id</td><td></td></tr>
    <tr><td class="paramname">$observer</td><td></td></tr>
    <tr><td class="paramname">$hash</td><td>(optional) </td></tr>
    <tr><td class="paramname">$filename</td><td>(optional) </td></tr>
    <tr><td class="paramname">$filetype</td><td>(optional) </td></tr>
    <tr><td class="paramname">$orderby</td><td></td></tr>
    <tr><td class="paramname">$start</td><td></td></tr>
    <tr><td class="paramname">$entries</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>array $ret['success'] boolean $ret['results'] array with results, or false $ret['message'] string with error messages if any </dd></dl>

</div>
</div>
<a class="anchor" id="ab6830b3ab74a5d284876141ac80f6cbc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">attach_mkdir </td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$channel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$observer_hash</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$arr</em> = <code>null</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create directory. </p>
<p>attach_mkdir($channel,$observer_hash,$arr);</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramtype">array</td><td class="paramname">$channel</td><td>channel array of owner </td></tr>
    <tr><td class="paramtype">string</td><td class="paramname">$observer_hash</td><td>hash of current observer </td></tr>
    <tr><td class="paramtype">array</td><td class="paramname">$arr</td><td>parameter array to fulfil request Required: $arr['filename'] $arr['folder'] // hash of parent directory, empty string for root directory Optional: $arr['hash'] // precumputed hash for this node $arr['allow_cid'] $arr['allow_gid'] $arr['deny_cid'] $arr['deny_gid'] </td></tr>
  </table>
  </dd>
</dl>

<p>Referenced by <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#aca0e8d574ea66a0e210f571700663c62">RedMatrix\RedDAV\RedDirectory\createDirectory()</a>.</p>

</div>
</div>
<a class="anchor" id="a84a8a64c4805e1525b42d4add464833f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">attach_store </td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$channel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$observer_hash</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$options</em> = <code>''</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$arr</em> = <code>null</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">$channel</td><td>channel array of owner </td></tr>
    <tr><td class="paramname">$observer_hash</td><td>hash of current observer </td></tr>
    <tr><td class="paramname">$options</td><td>(optional) </td></tr>
    <tr><td class="paramname">$arr</td><td>(optional) </td></tr>
  </table>
  </dd>
</dl>

<p>Referenced by <a class="el" href="item_8php.html#a3daae7944f737bd30412a0d042207c0f">fix_attached_file_permissions()</a>, <a class="el" href="importelm_8php.html#a1a4f71e6d76ace6add5e9659845f5e5f">importelm_post()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, and <a class="el" href="wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653">wall_attach_post()</a>.</p>

</div>
</div>
<a class="anchor" id="aa23ba65e5bb732be71fdd27ccff7d46e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">file_activity </td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$channel_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$object</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$allow_cid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$allow_gid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$deny_cid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$deny_gid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$verb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$no_activity</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="include_2attach_8php.html#a70bd666e080c2af5a91f5d14c297b8cd">attach_delete()</a>, and <a class="el" href="filestorage_8php.html#ad3b64e3ece9831f9d3a9f00c0ae983cd">filestorage_post()</a>.</p>

</div>
</div>
<a class="anchor" id="a4dbfd7e1cef52aa9ef52f4b88929fa86"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">find_filename_by_hash </td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$channel_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$attachHash</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the filename of an attachment in a given channel. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramtype">mixed</td><td class="paramname">$channel_id</td><td>The id of the channel </td></tr>
    <tr><td class="paramtype">mixed</td><td class="paramname">$attachHash</td><td>The hash of the attachment </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>string The filename of the attachment </dd></dl>

<p>Referenced by <a class="el" href="include_2attach_8php.html#a1d72ef7cb940f6868e3e2a841cadfe8f">get_parent_cloudpath()</a>.</p>

</div>
</div>
<a class="anchor" id="a052f14487ff2ce72f62a09fac8d7e997"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">find_folder_hash_by_attach_hash </td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$channel_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$attachHash</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return the hash of an attachment's folder. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramtype">int</td><td class="paramname">$channel_id</td><td>The id of the channel </td></tr>
    <tr><td class="paramtype">string</td><td class="paramname">$attachHash</td><td>The hash 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="include_2attach_8php.html#a1d72ef7cb940f6868e3e2a841cadfe8f">get_parent_cloudpath()</a>.</p>

</div>
</div>
<a class="anchor" id="a6aa00ea010ea030110faefb75eafc1ce"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">get_cloudpath </td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$arr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns path to file in cloud/. This function cannot be used with mod/dav as it always returns a path valid under mod/cloud. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramtype">array</td><td class="paramname">$arr,[uid]</td><td>int the channels uid $arr[folder] string $arr[filename]] string </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>string path to the file in cloud/ </dd></dl>

<p>Referenced by <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>.</p>

</div>
</div>
<a class="anchor" id="aa784c064ae323710f4ef68771a4a38db"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">get_file_activity_object </td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$channel_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$hash</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$cloudpath</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="include_2attach_8php.html#a70bd666e080c2af5a91f5d14c297b8cd">attach_delete()</a>, and <a class="el" href="filestorage_8php.html#ad3b64e3ece9831f9d3a9f00c0ae983cd">filestorage_post()</a>.</p>

</div>
</div>
<a class="anchor" id="a1d72ef7cb940f6868e3e2a841cadfe8f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">get_parent_cloudpath </td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$channel_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$channel_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$attachHash</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns path to parent folder in cloud/. This function cannot be used with mod/dav as it always returns a path valid under mod/cloud. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramtype">int</td><td class="paramname">$channel_id</td><td>The id of the channel </td></tr>
    <tr><td class="paramtype">string</td><td class="paramname">$channel_name</td><td>The name of the channel </td></tr>
    <tr><td class="paramtype">string</td><td class="paramname">$attachHash</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>string with the full folder path </dd></dl>

<p>Referenced by <a class="el" href="include_2attach_8php.html#a70bd666e080c2af5a91f5d14c297b8cd">attach_delete()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, and <a class="el" href="filestorage_8php.html#ad3b64e3ece9831f9d3a9f00c0ae983cd">filestorage_post()</a>.</p>

</div>
</div>
<a class="anchor" id="a5d484de2d19a93071571d6499a50ae34"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">pipe_streams </td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$in</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$out</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">$in</td><td></td></tr>
    <tr><td class="paramname">$out</td><td></td></tr>
  </table>
  </dd>
</dl>

<p>Referenced by <a class="el" href="mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1">attach_init()</a>.</p>

</div>
</div>
<a class="anchor" id="a6fdd92775f31c07d2863e16e0026018a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">z_mime_content_type </td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$filename</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Guess the mimetype from file ending. </p>
<p>This function takes a file name and guess the mimetype from the filename extension.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">$filename</td><td>a string filename </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>string The mimetype according to a file ending. </dd></dl>

<p>Referenced by <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, and <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a58e750256cdc2f0f79fbe8d5463ffefe">RedMatrix\RedDAV\RedDirectory\createFile()</a>.</p>

</div>
</div>
<a class="anchor" id="aeb07968990e66a88c95483ca09a7f909"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">z_readdir </td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$channel_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$observer_hash</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$pathname</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$parent_hash</em> = <code>''</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Read a virtual directory and return contents, checking permissions of all parent components.  z_readdir </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramtype">integer</td><td class="paramname">$channel_id</td><td></td></tr>
    <tr><td class="paramtype">string</td><td class="paramname">$observer_hash</td><td>hash of current observer </td></tr>
    <tr><td class="paramtype">string</td><td class="paramname">$pathname</td><td></td></tr>
    <tr><td class="paramtype">string</td><td class="paramname">$parent_hash</td><td>(optional)</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>array $ret $ret['success'] = boolean true or false $ret['message'] = error message if success is false $ret['data'] = array of attach DB entries without data component </dd></dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->