<!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/zot.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 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><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 List</span></a></li>
<li><a href="globals.html"><span>File 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('zot_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"> </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="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">zot.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:ab22d67660702056bf3f4696dcebf5ce7"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#ab22d67660702056bf3f4696dcebf5ce7">zot_new_uid</a> ($channel_nick)</td></tr>
<tr class="separator:ab22d67660702056bf3f4696dcebf5ce7"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a0fc2211c5309d9f925ecc4115e3fdb75"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a0fc2211c5309d9f925ecc4115e3fdb75">make_xchan_hash</a> ($guid, $guid_sig)</td></tr>
<tr class="separator:a0fc2211c5309d9f925ecc4115e3fdb75"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ae7cec2b417b5858fd4a41070f843d1d7"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#ae7cec2b417b5858fd4a41070f843d1d7">zot_get_hublocs</a> ($hash)</td></tr>
<tr class="separator:ae7cec2b417b5858fd4a41070f843d1d7"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a084c581d534e7e3b759488b46602288f"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a084c581d534e7e3b759488b46602288f">zot_build_packet</a> ($channel, $type= 'notify', $recipients=null, $remote_key=null, $secret=null, $extra=null)</td></tr>
<tr class="separator:a084c581d534e7e3b759488b46602288f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab3e9b99ddb11353f37f265a05bb42142"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#ab3e9b99ddb11353f37f265a05bb42142">zot_zot</a> ($url, $data)</td></tr>
<tr class="separator:ab3e9b99ddb11353f37f265a05bb42142"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a95528377d7303131958c9f0b7158fdce"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a95528377d7303131958c9f0b7158fdce">zot_finger</a> ($webbie, $channel, $autofallback=true)</td></tr>
<tr class="separator:a95528377d7303131958c9f0b7158fdce"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a7ac30ff51274bf0b6d3eade37972145c"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c">zot_refresh</a> ($them, $channel=null, $force=false)</td></tr>
<tr class="separator:a7ac30ff51274bf0b6d3eade37972145c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a55056e863a7860bc0cf922e78fcce073"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a55056e863a7860bc0cf922e78fcce073">zot_gethub</a> ($arr)</td></tr>
<tr class="separator:a55056e863a7860bc0cf922e78fcce073"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a5bcdfef419b16075a0eca990956223dc"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a5bcdfef419b16075a0eca990956223dc">zot_register_hub</a> ($arr)</td></tr>
<tr class="separator:a5bcdfef419b16075a0eca990956223dc"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a528e97ca5d69c3b7f35c5d954afde315"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan</a> ($arr, $ud_flags=<a class="el" href="boot_8php.html#a9690d73434125ce594a1f5e7c2a4f7c0">UPDATE_FLAGS_UPDATED</a>, $ud_arr=null)</td></tr>
<tr class="separator:a528e97ca5d69c3b7f35c5d954afde315"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a928f5643ca66ae9635d85aeb2be62e03"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03">zot_process_response</a> ($hub, $arr, $outq)</td></tr>
<tr class="separator:a928f5643ca66ae9635d85aeb2be62e03"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a61cdc1ec843663c423ed2d8160ae5aea"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot_fetch</a> ($arr)</td></tr>
<tr class="separator:a61cdc1ec843663c423ed2d8160ae5aea"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aeea071f17e306fe3d0c488551906bfab"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import</a> ($arr, $sender_url)</td></tr>
<tr class="separator:aeea071f17e306fe3d0c488551906bfab"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a083aec6c900d244e1bfc1406f9461465"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips</a> ($msg)</td></tr>
<tr class="separator:a083aec6c900d244e1bfc1406f9461465"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a703f528ade8382cf374e4119bd6f7859"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a703f528ade8382cf374e4119bd6f7859">allowed_public_recips</a> ($msg)</td></tr>
<tr class="separator:a703f528ade8382cf374e4119bd6f7859"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4d9e6ca295e443b740d9960c304b3474"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a4d9e6ca295e443b740d9960c304b3474">process_delivery</a> ($sender, $arr, $deliveries, $relay, $public=false)</td></tr>
<tr class="separator:a4d9e6ca295e443b740d9960c304b3474"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aad25a3fe0e1566121d6fb8222979bc10"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag</a> ($sender, $arr, $uid)</td></tr>
<tr class="separator:aad25a3fe0e1566121d6fb8222979bc10"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a31aad56acf8ff8f2353e6ff8595544df"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a31aad56acf8ff8f2353e6ff8595544df">update_imported_item</a> ($sender, $item, $uid)</td></tr>
<tr class="separator:a31aad56acf8ff8f2353e6ff8595544df"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:adfeb9400ae6b726beec89f8f1e8fde72"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72">delete_imported_item</a> ($sender, $item, $uid)</td></tr>
<tr class="separator:adfeb9400ae6b726beec89f8f1e8fde72"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa6ae96db8cbbdbb10e6876d206bbf7cc"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc">process_mail_delivery</a> ($sender, $arr, $deliveries)</td></tr>
<tr class="separator:aa6ae96db8cbbdbb10e6876d206bbf7cc"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a9a57b40669351c9791126b925cb7ef3b"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a9a57b40669351c9791126b925cb7ef3b">process_profile_delivery</a> ($sender, $arr, $deliveries)</td></tr>
<tr class="separator:a9a57b40669351c9791126b925cb7ef3b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a8eeefdb0dad4c436bea9d1c06c0a7988"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a8eeefdb0dad4c436bea9d1c06c0a7988">process_location_delivery</a> ($sender, $arr, $deliveries)</td></tr>
<tr class="separator:a8eeefdb0dad4c436bea9d1c06c0a7988"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab15c04e7e5f44edf45ec50dd7d183254"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#ab15c04e7e5f44edf45ec50dd7d183254">sync_locations</a> ($sender, $arr, $absolute=false)</td></tr>
<tr class="separator:ab15c04e7e5f44edf45ec50dd7d183254"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ae26ce9f1ad74139193fb6319beac5fca"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#ae26ce9f1ad74139193fb6319beac5fca">zot_encode_locations</a> ($channel)</td></tr>
<tr class="separator:ae26ce9f1ad74139193fb6319beac5fca"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a20750dd2c36961013fd382fb34e1366c"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a20750dd2c36961013fd382fb34e1366c">import_directory_profile</a> ($hash, $profile, $addr, $ud_flags=<a class="el" href="boot_8php.html#a9690d73434125ce594a1f5e7c2a4f7c0">UPDATE_FLAGS_UPDATED</a>, $suppress_update=0)</td></tr>
<tr class="separator:a20750dd2c36961013fd382fb34e1366c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a3bf11286c2619b4ca28e49d5b5ab374a"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a3bf11286c2619b4ca28e49d5b5ab374a">import_directory_keywords</a> ($hash, $keywords)</td></tr>
<tr class="separator:a3bf11286c2619b4ca28e49d5b5ab374a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab319d1d9fff9c7775d9daef42d1f33dd"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#ab319d1d9fff9c7775d9daef42d1f33dd">update_modtime</a> ($hash, $guid, $addr, $flags=0)</td></tr>
<tr class="separator:ab319d1d9fff9c7775d9daef42d1f33dd"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a2657e141d62d5f67ad3c87651b585299"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site</a> ($arr, $pubkey)</td></tr>
<tr class="separator:a2657e141d62d5f67ad3c87651b585299"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa97b33b619dd7132a9274f852af6ceb5"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#aa97b33b619dd7132a9274f852af6ceb5">build_sync_packet</a> ($uid=0, $packet=null, $groups_changed=false)</td></tr>
<tr class="separator:aa97b33b619dd7132a9274f852af6ceb5"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac301c67864917c35922257950ae0f95c"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">process_channel_sync_delivery</a> ($sender, $arr, $deliveries)</td></tr>
<tr class="separator:ac301c67864917c35922257950ae0f95c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a8e22dbc6f884be3644a892a876cbd972"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a8e22dbc6f884be3644a892a876cbd972">get_rpost_path</a> ($observer)</td></tr>
<tr class="separator:a8e22dbc6f884be3644a892a876cbd972"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad149f1e98c0c5b88ff9147e6ee3f330d"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#ad149f1e98c0c5b88ff9147e6ee3f330d">import_author_zot</a> ($<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>)</td></tr>
<tr class="separator:ad149f1e98c0c5b88ff9147e6ee3f330d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a3920afe14fc1d82020161b4b86bcd9ac"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a3920afe14fc1d82020161b4b86bcd9ac">zot_process_message_request</a> ($data)</td></tr>
<tr class="separator:a3920afe14fc1d82020161b4b86bcd9ac"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a703f528ade8382cf374e4119bd6f7859"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">allowed_public_recips </td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname"><em>$msg</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Referenced by <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>.</p>
</div>
</div>
<a class="anchor" id="aa97b33b619dd7132a9274f852af6ceb5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">build_sync_packet </td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname"><em>$uid</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$packet</em> = <code>null</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$groups_changed</em> = <code>false</code> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a zot packet to all hubs where this channel is duplicated, refreshing such things as personal settings, channel permissions, address book updates, etc. </p>
<p>Referenced by <a class="el" href="connections_8php.html#a15af118efee9c948b6f8294e54a73bb2">connections_clone()</a>, <a class="el" href="connedit_8php.html#a707ea7e63cf9674025b1d6b081ae74f5">connedit_clone()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group_add()</a>, <a class="el" href="include_2group_8php.html#a0122ef312df2c5546b1a46b3e6c7b31b">group_add_member()</a>, <a class="el" href="include_2group_8php.html#a4118f498bbd1530c1d0136d016d197a5">group_rmv()</a>, <a class="el" href="include_2group_8php.html#a540e3ef36f47d47532646be4241f6518">group_rmv_member()</a>, <a class="el" href="notes_8php.html#a4dbd7b1f906440746af48b484d66535a">notes_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="adfeb9400ae6b726beec89f8f1e8fde72"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">delete_imported_item </td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname"><em>$sender</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$item</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$uid</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Referenced by <a class="el" href="zot_8php.html#a4d9e6ca295e443b740d9960c304b3474">process_delivery()</a>.</p>
</div>
</div>
<a class="anchor" id="a8e22dbc6f884be3644a892a876cbd972"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">get_rpost_path </td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname"><em>$observer</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Referenced by <a class="el" href="bbcode_8php.html#a5165a5221a52cf1bc1d7812ebd2069c7">rpost_callback()</a>, and <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>.</p>
</div>
</div>
<a class="anchor" id="ad149f1e98c0c5b88ff9147e6ee3f330d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">import_author_zot </td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname"><em>$x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Referenced by <a class="el" href="items_8php.html#ae73794179b62d39bb597ff670ab1c1e5">import_author_xchan()</a>.</p>
</div>
</div>
<a class="anchor" id="a3bf11286c2619b4ca28e49d5b5ab374a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">import_directory_keywords </td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname"><em>$hash</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$keywords</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Referenced by <a class="el" href="zot_8php.html#a20750dd2c36961013fd382fb34e1366c">import_directory_profile()</a>.</p>
</div>
</div>
<a class="anchor" id="a20750dd2c36961013fd382fb34e1366c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">import_directory_profile </td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname"><em>$hash</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$profile</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$addr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$ud_flags</em> = <code><a class="el" href="boot_8php.html#a9690d73434125ce594a1f5e7c2a4f7c0">UPDATE_FLAGS_UPDATED</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$suppress_update</em> = <code>0</code> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Referenced by <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="dir__fns_8php.html#acd37b17dce3bdec6d5a6344a20598c1e">local_dir_update()</a>, and <a class="el" href="zot_8php.html#a9a57b40669351c9791126b925cb7ef3b">process_profile_delivery()</a>.</p>
</div>
</div>
<a class="anchor" id="a2657e141d62d5f67ad3c87651b585299"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">import_site </td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname"><em>$arr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$pubkey</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Referenced by <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>.</p>
</div>
</div>
<a class="anchor" id="a528e97ca5d69c3b7f35c5d954afde315"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">import_xchan </td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname"><em>$arr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$ud_flags</em> = <code><a class="el" href="boot_8php.html#a9690d73434125ce594a1f5e7c2a4f7c0">UPDATE_FLAGS_UPDATED</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$ud_arr</em> = <code>null</code> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>import_xchan($arr,$ud_flags = UPDATE_FLAGS_UPDATED) Takes an associative array of a fetched discovery packet and updates all internal data structures which need to be updated as a result.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramtype">array</td><td class="paramname">$arr</td><td>=> json_decoded discovery packet </td></tr>
<tr><td class="paramtype">int</td><td class="paramname">$ud_flags</td><td>Determines whether to create a directory update record if any changes occur, default is UPDATE_FLAGS_UPDATED $ud_flags = UPDATE_FLAGS_FORCED indicates a forced refresh where we unconditionally create a directory update record this typically occurs once a month for each channel as part of a scheduled ping to notify the directory that the channel still exists </td></tr>
<tr><td class="paramtype">array</td><td class="paramname">$ud_arr</td><td>If set [typically by <a class="el" href="dir__fns_8php.html#a44062d4b471d1e83f92f6c184585aa13">update_directory_entry()</a>] indicates a specific update table row and more particularly contains a particular address (ud_addr) which needs to be updated in that table.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>array => 'success' (boolean true or false) 'message' (optional error string only if success is false) </dd></dl>
<p>Referenced by <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="include_2network_8php.html#a63e62946e194928eb17c5a9f2bbef0fe">discover_by_webbie()</a>, <a class="el" href="gprobe_8php.html#adf72cb0a70b5b9d99fdec1cc60e18ed1">gprobe_run()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">process_channel_sync_delivery()</a>, <a class="el" href="dir__fns_8php.html#a44062d4b471d1e83f92f6c184585aa13">update_directory_entry()</a>, <a class="el" href="zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c">zot_refresh()</a>, and <a class="el" href="zot_8php.html#a5bcdfef419b16075a0eca990956223dc">zot_register_hub()</a>.</p>
</div>
</div>
<a class="anchor" id="a0fc2211c5309d9f925ecc4115e3fdb75"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">make_xchan_hash </td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname"><em>$guid</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$guid_sig</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>function make_xchan_hash($guid,$guid_sig)</p>
<p>Generates a portable hash identifier for the channel identified by $guid and signed with $guid_sig This ID is portable across the network but MUST be calculated locally by verifying the signature and can not be trusted as an identity. </p>
<p>Referenced by <a class="el" href="zot_8php.html#a703f528ade8382cf374e4119bd6f7859">allowed_public_recips()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="zot_8php.html#ad149f1e98c0c5b88ff9147e6ee3f330d">import_author_zot()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>, <a class="el" href="zot_8php.html#a3920afe14fc1d82020161b4b86bcd9ac">zot_process_message_request()</a>, and <a class="el" href="zot_8php.html#a5bcdfef419b16075a0eca990956223dc">zot_register_hub()</a>.</p>
</div>
</div>
<a class="anchor" id="ac301c67864917c35922257950ae0f95c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">process_channel_sync_delivery </td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname"><em>$sender</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$arr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$deliveries</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Referenced by <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>.</p>
</div>
</div>
<a class="anchor" id="a4d9e6ca295e443b740d9960c304b3474"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">process_delivery </td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname"><em>$sender</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$arr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$deliveries</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$relay</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$public</em> = <code>false</code> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Referenced by <a class="el" href="externals_8php.html#a4df44079e6f915286088b7a0d44db926">externals_run()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, and <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>.</p>
</div>
</div>
<a class="anchor" id="a8eeefdb0dad4c436bea9d1c06c0a7988"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">process_location_delivery </td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname"><em>$sender</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$arr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$deliveries</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Referenced by <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>.</p>
</div>
</div>
<a class="anchor" id="aa6ae96db8cbbdbb10e6876d206bbf7cc"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">process_mail_delivery </td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname"><em>$sender</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$arr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$deliveries</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Referenced by <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>.</p>
</div>
</div>
<a class="anchor" id="a9a57b40669351c9791126b925cb7ef3b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">process_profile_delivery </td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname"><em>$sender</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$arr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$deliveries</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Referenced by <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>.</p>
</div>
</div>
<a class="anchor" id="a083aec6c900d244e1bfc1406f9461465"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">public_recips </td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname"><em>$msg</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Referenced by <a class="el" href="zot_8php.html#a703f528ade8382cf374e4119bd6f7859">allowed_public_recips()</a>.</p>
</div>
</div>
<a class="anchor" id="aad25a3fe0e1566121d6fb8222979bc10"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">remove_community_tag </td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname"><em>$sender</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$arr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$uid</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Referenced by <a class="el" href="zot_8php.html#a4d9e6ca295e443b740d9960c304b3474">process_delivery()</a>.</p>
</div>
</div>
<a class="anchor" id="ab15c04e7e5f44edf45ec50dd7d183254"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">sync_locations </td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname"><em>$sender</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$arr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$absolute</em> = <code>false</code> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Referenced by <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, and <a class="el" href="zot_8php.html#a8eeefdb0dad4c436bea9d1c06c0a7988">process_location_delivery()</a>.</p>
</div>
</div>
<a class="anchor" id="a31aad56acf8ff8f2353e6ff8595544df"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">update_imported_item </td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname"><em>$sender</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$item</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$uid</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Referenced by <a class="el" href="zot_8php.html#a4d9e6ca295e443b740d9960c304b3474">process_delivery()</a>.</p>
</div>
</div>
<a class="anchor" id="ab319d1d9fff9c7775d9daef42d1f33dd"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">update_modtime </td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname"><em>$hash</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$guid</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$addr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$flags</em> = <code>0</code> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Referenced by <a class="el" href="zot_8php.html#a20750dd2c36961013fd382fb34e1366c">import_directory_profile()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="dir__fns_8php.html#acd37b17dce3bdec6d5a6344a20598c1e">local_dir_update()</a>, and <a class="el" href="zot_8php.html#a8eeefdb0dad4c436bea9d1c06c0a7988">process_location_delivery()</a>.</p>
</div>
</div>
<a class="anchor" id="a084c581d534e7e3b759488b46602288f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">zot_build_packet </td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname"><em>$channel</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$type</em> = <code>'notify'</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$recipients</em> = <code>null</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$remote_key</em> = <code>null</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$secret</em> = <code>null</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$extra</em> = <code>null</code> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>zot_build_packet($channel,$type = 'notify',$recipients = null, $remote_key = null, $secret = null) builds a zot notification packet that you can either store in the queue with a message array or call zot_zot to immediately zot it to the other side</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramtype">array</td><td class="paramname">$channel</td><td>=> sender channel structure </td></tr>
<tr><td class="paramtype">string</td><td class="paramname">$type</td><td>=> packet type: one of 'ping', 'pickup', 'purge', 'refresh', 'force_refresh', 'notify', 'auth_check' </td></tr>
<tr><td class="paramtype">array</td><td class="paramname">$recipients</td><td>=> envelope information, array ( 'guid' => string, 'guid_sig' => string ); empty for public posts </td></tr>
<tr><td class="paramtype">string</td><td class="paramname">$remote_key</td><td>=> optional public site key of target hub used to encrypt entire packet NOTE: remote_key and encrypted packets are required for 'auth_check' packets, optional for all others </td></tr>
<tr><td class="paramtype">string</td><td class="paramname">$secret</td><td>=> random string, required for packets which require verification/callback e.g. 'pickup', 'purge', 'notify', 'auth_check'. Packet types 'ping', 'force_refresh', and 'refresh' do not require verification</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>string json encoded zot packet </dd></dl>
<p>Referenced by <a class="el" href="admin_8php.html#a60ba9783ad14545814919970bc3fb725">admin_page_hubloc_post()</a>, <a class="el" href="zot_8php.html#aa97b33b619dd7132a9274f852af6ceb5">build_sync_packet()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="zot_8php.html#a3920afe14fc1d82020161b4b86bcd9ac">zot_process_message_request()</a>, and <a class="el" href="zping_8php.html#a4d3a6b0b8b04ed6469015823e615ee75">zping_content()</a>.</p>
</div>
</div>
<a class="anchor" id="ae26ce9f1ad74139193fb6319beac5fca"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">zot_encode_locations </td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname"><em>$channel</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Referenced by <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
</div>
</div>
<a class="anchor" id="a61cdc1ec843663c423ed2d8160ae5aea"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">zot_fetch </td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname"><em>$arr</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>zot_fetch($arr) </p>
<pre class="fragment">We received a notification packet (in mod/post.php) that a message is waiting for us, and we've verified the sender.
Now send back a pickup message, using our message tracking ID ($arr['secret']), which we will sign with our site private key.
The entire pickup message is encrypted with the remote site's public key.
If everything checks out on the remote end, we will receive back a packet containing one or more messages,
which will be processed and delivered before this function ultimately returns.
</pre><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramtype">array</td><td class="paramname">$arr</td><td>decrypted and json decoded notify packet from remote site </td></tr>
</table>
</dd>
</dl>
<p>Referenced by <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>.</p>
</div>
</div>
<a class="anchor" id="a95528377d7303131958c9f0b7158fdce"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">zot_finger </td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname"><em>$webbie</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$channel</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$autofallback</em> = <code>true</code> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>: zot_finger</p>
<p>Look up information about channel </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname"></td><td>string $webbie does not have to be host qualified e.g. 'foo' is treated as 'foo' </td></tr>
<tr><td class="paramname"></td><td>array $channel (optional), if supplied permissions will be enumerated specifically for $channel </td></tr>
<tr><td class="paramname"></td><td>boolean $autofallback fallback/failover to http if https connection cannot be established. Default is true.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>: array => see z_post_url and <a class="el" href="zfinger_8php.html">mod/zfinger.php</a> </dd></dl>
<p>Referenced by <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="gprobe_8php.html#adf72cb0a70b5b9d99fdec1cc60e18ed1">gprobe_run()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="mod_2probe_8php.html#a1f1db3fa6038e451e737964c94bf5e99">probe_content()</a>, <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">process_channel_sync_delivery()</a>, and <a class="el" href="dir__fns_8php.html#a44062d4b471d1e83f92f6c184585aa13">update_directory_entry()</a>.</p>
</div>
</div>
<a class="anchor" id="ae7cec2b417b5858fd4a41070f843d1d7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">zot_get_hublocs </td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname"><em>$hash</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>zot_get_hublocs($hash) Given a zot hash, return all distinct hubs. This function is used in building the zot discovery packet and therefore should only be used by channels which are defined on this hub </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramtype">string</td><td class="paramname">$hash</td><td>- xchan_hash array of hubloc (hub location structures) hubloc_id int hubloc_guid char(255) hubloc_guid_sig text hubloc_hash char(255) hubloc_addr char(255) hubloc_flags int hubloc_status int hubloc_url char(255) hubloc_url_sig text hubloc_host char(255) hubloc_callback char(255) hubloc_connect char(255) hubloc_sitekey text hubloc_updated datetime hubloc_connected datetime </td></tr>
</table>
</dd>
</dl>
<p>Only search for active hublocs - e.g. those that haven't been marked deleted </p>
<p>Referenced by <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">process_channel_sync_delivery()</a>, and <a class="el" href="zot_8php.html#ae26ce9f1ad74139193fb6319beac5fca">zot_encode_locations()</a>.</p>
</div>
</div>
<a class="anchor" id="a55056e863a7860bc0cf922e78fcce073"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">zot_gethub </td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname"><em>$arr</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>: zot_gethub</p>
<p>A guid and a url, both signed by the sender, distinguish a known sender at a known location This function looks these up to see if the channel is known and therefore previously verified. If not, we will need to verify it.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramtype">array</td><td class="paramname">$arr</td><td>$arr must contain: string $arr['guid'] => guid of conversant string $arr['guid_sig'] => guid signed with conversant's private key string $arr['url'] => URL of the origination hub of this communication string $arr['url_sig'] => URL signed with conversant's private key</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>: array => hubloc record </dd></dl>
<p>Referenced by <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot_fetch()</a>, and <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>.</p>
</div>
</div>
<a class="anchor" id="aeea071f17e306fe3d0c488551906bfab"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">zot_import </td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname"><em>$arr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$sender_url</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>zot_import</p>
<p>Process an incoming array of messages which were obtained via pickup, and import, update, delete as directed.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramtype">array</td><td class="paramname">$arr</td><td>=> 'pickup' structure returned from remote site </td></tr>
<tr><td class="paramtype">string</td><td class="paramname">$sender_url</td><td>=> the url specified by the sender in the initial communication we will verify the sender and url in each returned message structure and also verify that all the messages returned match the site url that we are currently processing.</td></tr>
</table>
</dd>
</dl>
<p>The message types handled here are 'activity' (e.g. posts), 'mail' , 'profile', 'location', and 'channel_sync'</p>
<dl class="section return"><dt>Returns</dt><dd>array => array ( [0] => string $channel_hash, [1] => string $delivery_status, [2] => string $address ) suitable for logging remotely, enumerating the processing results of each message/recipient combination. </dd></dl>
<p>Referenced by <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, and <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot_fetch()</a>.</p>
</div>
</div>
<a class="anchor" id="ab22d67660702056bf3f4696dcebf5ce7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">zot_new_uid </td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname"><em>$channel_nick</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Red implementation of zot protocol.</p>
<p><a href="https://github.com/friendica/red/wiki/zot">https://github.com/friendica/red/wiki/zot</a> <a href="https://github.com/friendica/red/wiki/Zot—A-High-Level-Overview">https://github.com/friendica/red/wiki/Zot&mdash;A-High-Level-Overview</a></p>
<p>zot_new_uid($channel_nick)</p>
<p>Generates a unique string for use as a zot guid using our DNS-based url, the channel nickname and some entropy. The entropy ensures uniqueness against re-installs where the same URL and nickname are chosen. NOTE: zot doesn't require this to be unique. Internally we use a whirlpool hash of this guid and the signature of this guid signed with the channel private key. This can be verified and should make the probability of collision of the verified result negligible within the constraints of our immediate universe.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">string</td><td>channel_nickname = unique nickname of controlling entity</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>string </dd></dl>
<p>Referenced by <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, and <a class="el" href="dimport_8php.html#a581f040717941ce3e1868b0b5dceefd1">foofoo()</a>.</p>
</div>
</div>
<a class="anchor" id="a3920afe14fc1d82020161b4b86bcd9ac"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">zot_process_message_request </td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname"><em>$data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Referenced by <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>.</p>
</div>
</div>
<a class="anchor" id="a928f5643ca66ae9635d85aeb2be62e03"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">zot_process_response </td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname"><em>$hub</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$arr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$outq</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>zot_process_response($hub,$arr,$outq) { Called immediately after sending a zot message which is using queue processing Updates the queue item according to the response result and logs any information returned to aid communications troubleshooting.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramtype">string</td><td class="paramname">$hub</td><td>- url of site we just contacted </td></tr>
<tr><td class="paramtype">array</td><td class="paramname">$arr</td><td>- output of <a class="el" href="include_2network_8php.html#a9129fd55e7fc175b4ea9a195cccc16bc">z_post_url()</a> </td></tr>
<tr><td class="paramtype">array</td><td class="paramname">$outq</td><td>- The queue structure attached to this request</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>nothing </dd></dl>
<p>Referenced by <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, and <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue_run()</a>.</p>
</div>
</div>
<a class="anchor" id="a7ac30ff51274bf0b6d3eade37972145c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">zot_refresh </td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname"><em>$them</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$channel</em> = <code>null</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$force</em> = <code>false</code> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>: zot_refresh($them, $channel = null, $force = false)</p>
<p>zot_refresh is typically invoked when somebody has changed permissions of a channel and they are notified to fetch new permissions via a finger/discovery operation. This may result in a new connection (abook entry) being added to a local channel and it may result in auto-permissions being granted.</p>
<p>Friending in zot is accomplished by sending a refresh packet to a specific channel which indicates a permission change has been made by the sender which affects the target channel. The hub controlling the target channel does targetted discovery (a zot-finger request requesting permissions for the local channel). These are decoded here, and if necessary and abook structure (addressbook) is created to store the permissions assigned to this channel.</p>
<p>Initially these abook structures are created with a 'pending' flag, so that no reverse permissions are implied until this is approved by the owner channel. A channel can also auto-populate permissions in return and send back a refresh packet of its own. This is used by forum and group communication channels so that friending and membership in the channel's "club" is automatic.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramtype">array</td><td class="paramname">$them</td><td>=> xchan structure of sender </td></tr>
<tr><td class="paramtype">array</td><td class="paramname">$channel</td><td>=> local channel structure of target recipient, required for "friending" operations</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>boolean true if successful, else false </dd></dl>
<p>Referenced by <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="zot_8php.html#ad149f1e98c0c5b88ff9147e6ee3f330d">import_author_zot()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, and <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>.</p>
</div>
</div>
<a class="anchor" id="a5bcdfef419b16075a0eca990956223dc"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">zot_register_hub </td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname"><em>$arr</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>zot_register_hub($arr)</p>
<p>A communication has been received which has an unknown (to us) sender. Perform discovery based on our calculated hash of the sender at the origination address. This will fetch the discovery packet of the sender, which contains the public key we need to verify our guid and url signatures.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramtype">array</td><td class="paramname">$arr</td><td>$arr must contain: string $arr['guid'] => guid of conversant string $arr['guid_sig'] => guid signed with conversant's private key string $arr['url'] => URL of the origination hub of this communication string $arr['url_sig'] => URL signed with conversant's private key</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>array => 'success' (boolean true or false) 'message' (optional error string only if success is false) </dd></dl>
<p>Referenced by <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>.</p>
</div>
</div>
<a class="anchor" id="ab3e9b99ddb11353f37f265a05bb42142"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">zot_zot </td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname"><em>$url</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>$data</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>: zot_zot </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname"></td><td>string $url </td></tr>
<tr><td class="paramname"></td><td>array $data</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>: array => see z_post_url for returned data format </dd></dl>
<p>Referenced by <a class="el" href="admin_8php.html#a60ba9783ad14545814919970bc3fb725">admin_page_hubloc_post()</a>, <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue_run()</a>, <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot_fetch()</a>, and <a class="el" href="zping_8php.html#a4d3a6b0b8b04ed6469015823e615ee75">zping_content()</a>.</p>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->