aboutsummaryrefslogtreecommitdiffstats
path: root/doc/html/security_8php.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/html/security_8php.html')
-rw-r--r--doc/html/security_8php.html452
1 files changed, 452 insertions, 0 deletions
diff --git a/doc/html/security_8php.html b/doc/html/security_8php.html
new file mode 100644
index 000000000..4805bbc8d
--- /dev/null
+++ b/doc/html/security_8php.html
@@ -0,0 +1,452 @@
+<!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 Project: include/security.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="fred-48.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">The Red Project
+ </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('security_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">security.php File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:adc7bf51e3b8d67bd80e9348f9ab03733"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success</a> ($user_record, $login_initial=false, $interactive=false, $return=false, $update_lastlog=false)</td></tr>
+<tr class="separator:adc7bf51e3b8d67bd80e9348f9ab03733"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8d23d2597aae380a3341872fe9513380"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel</a> ($change_channel)</td></tr>
+<tr class="separator:a8d23d2597aae380a3341872fe9513380"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afa683bc025a1d2fe9065e2f6cd71a22f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="security_8php.html#afa683bc025a1d2fe9065e2f6cd71a22f">permissions_sql</a> ($owner_id, $remote_verified=false, $groups=null)</td></tr>
+<tr class="separator:afa683bc025a1d2fe9065e2f6cd71a22f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9355488460ab11d6058656ff919e5cf9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="security_8php.html#a9355488460ab11d6058656ff919e5cf9">item_permissions_sql</a> ($owner_id, $remote_verified=false, $groups=null)</td></tr>
+<tr class="separator:a9355488460ab11d6058656ff919e5cf9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab3bdd30dc60d9ee72370b866aa4a2d01"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="security_8php.html#ab3bdd30dc60d9ee72370b866aa4a2d01">public_permissions_sql</a> ($observer_hash)</td></tr>
+<tr class="separator:ab3bdd30dc60d9ee72370b866aa4a2d01"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acd06ef411116115c2f0a92633700db8a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="security_8php.html#acd06ef411116115c2f0a92633700db8a">get_form_security_token</a> ($typename= '')</td></tr>
+<tr class="separator:acd06ef411116115c2f0a92633700db8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c6180e82150a5a9af91a1255d096b5c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="security_8php.html#a9c6180e82150a5a9af91a1255d096b5c">check_form_security_token</a> ($typename= '', $formname= 'form_security_token')</td></tr>
+<tr class="separator:a9c6180e82150a5a9af91a1255d096b5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a20f8b9851f23ee8894b8925584ef6821"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="security_8php.html#a20f8b9851f23ee8894b8925584ef6821">check_form_security_std_err_msg</a> ()</td></tr>
+<tr class="separator:a20f8b9851f23ee8894b8925584ef6821"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a77ba0d1889a39cf32434c5ce96fe1433"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="security_8php.html#a77ba0d1889a39cf32434c5ce96fe1433">check_form_security_token_redirectOnErr</a> ($err_redirect, $typename= '', $formname= 'form_security_token')</td></tr>
+<tr class="separator:a77ba0d1889a39cf32434c5ce96fe1433"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a444ac867dfa8c37cf0a7a226412bee28"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="security_8php.html#a444ac867dfa8c37cf0a7a226412bee28">check_form_security_token_ForbiddenOnErr</a> ($typename= '', $formname= 'form_security_token')</td></tr>
+<tr class="separator:a444ac867dfa8c37cf0a7a226412bee28"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae92c5c1a1cbbc49ddbb8b3265d2db809"><td class="memItemLeft" align="right" valign="top"><a class="el" href="style_8php.html#a0a473a25349f07563d6c56d14031f02a">if</a>(!function_exists('init_groups_visitor'))&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="security_8php.html#ae92c5c1a1cbbc49ddbb8b3265d2db809">stream_perms_api_uids</a> ($perms_min=<a class="el" href="boot_8php.html#a9ff652e5cb83cd11cbb0350844e7b28f">PERMS_SITE</a>)</td></tr>
+<tr class="separator:ae92c5c1a1cbbc49ddbb8b3265d2db809"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="adc7bf51e3b8d67bd80e9348f9ab03733"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">authenticate_success </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$user_record</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$login_initial</em> = <code>false</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$interactive</em> = <code>false</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$return</em> = <code>false</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$update_lastlog</em> = <code>false</code>&#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_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73">api_login()</a>, and <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8d23d2597aae380a3341872fe9513380"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">change_channel </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$change_channel</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="include_2api_8php.html#afb99daa6b731bf497b81f2128084852c">api_user()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, and <a class="el" href="new__channel_8php.html#a180b0646957db8290482f02454ad7f23">new_channel_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a20f8b9851f23ee8894b8925584ef6821"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">check_form_security_std_err_msg </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="security_8php.html#a77ba0d1889a39cf32434c5ce96fe1433">check_form_security_token_redirectOnErr()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9c6180e82150a5a9af91a1255d096b5c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">check_form_security_token </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$typename</em> = <code>''</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$formname</em> = <code>'form_security_token'</code>&#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="security_8php.html#a444ac867dfa8c37cf0a7a226412bee28">check_form_security_token_ForbiddenOnErr()</a>, and <a class="el" href="security_8php.html#a77ba0d1889a39cf32434c5ce96fe1433">check_form_security_token_redirectOnErr()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a444ac867dfa8c37cf0a7a226412bee28"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">check_form_security_token_ForbiddenOnErr </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$typename</em> = <code>''</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$formname</em> = <code>'form_security_token'</code>&#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="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a77ba0d1889a39cf32434c5ce96fe1433"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">check_form_security_token_redirectOnErr </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$err_redirect</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$typename</em> = <code>''</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$formname</em> = <code>'form_security_token'</code>&#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="admin_8php.html#a233b7c8c31776b7020532003c6e44e1c">admin_page_logs_post()</a>, <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f">admin_page_site_post()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="admin_8php.html#a5a696706a3869800e65fb365214241b7">admin_page_users_post()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, and <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="acd06ef411116115c2f0a92633700db8a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_form_security_token </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$typename</em> = <code>''</code></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin_page_logs()</a>, <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e">admin_page_site()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, and <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9355488460ab11d6058656ff919e5cf9"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">item_permissions_sql </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$owner_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$remote_verified</em> = <code>false</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$groups</em> = <code>null</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Construct permissions</p>
+<p>default permissions - anonymous user</p>
+<p>Profile owner - everything is visible</p>
+<p>Authenticated visitor. Unless pre-verified, check that the contact belongs to this $owner_id and load the groups the visitor belongs to. If pre-verified, the caller is expected to have already done this and passed the groups into this function.</p>
+
+<p>Referenced by <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, and <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="afa683bc025a1d2fe9065e2f6cd71a22f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">permissions_sql </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$owner_id</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$remote_verified</em> = <code>false</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$groups</em> = <code>null</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Construct permissions</p>
+<p>default permissions - anonymous user</p>
+<p>Profile owner - everything is visible</p>
+<p>Authenticated visitor. Unless pre-verified, check that the contact belongs to this $owner_id and load the groups the visitor belongs to. If pre-verified, the caller is expected to have already done this and passed the groups into this function.</p>
+
+<p>Referenced by <a class="el" href="include_2attach_8php.html#a0d07c5b83d3d54e186f752e571847b36">attach_by_hash()</a>, <a class="el" href="include_2attach_8php.html#ad991208ce939387e2f93a3bce7d09932">attach_by_hash_nodata()</a>, <a class="el" href="include_2attach_8php.html#a887d2d44a3ef18dcb6624e7fb58dc8e3">attach_count_files()</a>, <a class="el" href="include_2attach_8php.html#a3634af95f11a023dd8e882c3c7a3600d">attach_list_files()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="include_2photos_8php.html#aedccaf18282b26899d9549c29bd9d1b9">photos_albums_list()</a>, and <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab3bdd30dc60d9ee72370b866aa4a2d01"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">public_permissions_sql </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$observer_hash</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae92c5c1a1cbbc49ddbb8b3265d2db809"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="style_8php.html#a0a473a25349f07563d6c56d14031f02a">if</a> (!function_exists('init_groups_visitor')) stream_perms_api_uids </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$perms_min</em> = <code><a class="el" href="boot_8php.html#a9ff652e5cb83cd11cbb0350844e7b28f">PERMS_SITE</a></code></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="include_2api_8php.html#a645397787618b5c548a31e8686e8cca4">api_status_show()</a>, <a class="el" href="include_2api_8php.html#ad24ce1bf20867add4c9211a8eaf93f22">api_statuses_public_timeline()</a>, <a class="el" href="include_2api_8php.html#abe8e929e93f7ab134b1cb1fb30f19a76">api_users_show()</a>, and <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="security_8php.html">security.php</a></li>
+ <li class="footer">Generated on Tue Feb 26 2013 15:43:21 for The Red Project by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.3.1 </li>
+ </ul>
+</div>
+</body>
+</html>