diff --git a/Zotlabs/Access/PermissionRoles.php b/Zotlabs/Access/PermissionRoles.php index 9deee1042..e3f957bb0 100644 --- a/Zotlabs/Access/PermissionRoles.php +++ b/Zotlabs/Access/PermissionRoles.php @@ -173,10 +173,10 @@ class PermissionRoles { 'forum_moderated' => t('Group - Moderated') ], -// t('Collection') => [ -// 'collection' => t('Collection - Normal'), -// 'collection_restricted' => t('Collection - Restricted') -// ], + t('Collection') => [ + 'collection' => t('Collection - Normal'), + 'collection_restricted' => t('Collection - Restricted') + ], t('Feed Republish') => [ 'feed' => t('Feed Republish') diff --git a/Zotlabs/Lib/Activity.php b/Zotlabs/Lib/Activity.php index d30150643..d421dd79d 100644 --- a/Zotlabs/Lib/Activity.php +++ b/Zotlabs/Lib/Activity.php @@ -424,6 +424,10 @@ class Activity { $ret[] = [ 'ttype' => TERM_HASHTAG, 'url' => $t['href'], 'term' => escape_tags((substr($t['name'],0,1) === '#') ? substr($t['name'],1) : $t['name']) ]; break; + case 'topicalCollection': + $ret[] = [ 'ttype' => TERM_PCATEGORY, 'url' => $t['href'], 'term' => escape_tags($t['name']) ]; + break; + case 'Mention': $mention_type = substr($t['name'],0,1); if($mention_type === '!') { @@ -462,6 +466,12 @@ class Activity { } break; + case TERM_PCATEGORY: + if($t['url'] && $t['term']) { + $ret[] = [ 'type' => 'topicalCollection', 'href' => $t['url'], 'name' => $t['term'] ]; + } + break; + case TERM_FORUM: $term = self::lookup_term_addr($t['url'],$t['term']); $ret[] = [ 'type' => 'Mention', 'href' => $t['url'], 'name' => '!' . (($term) ? $term : $t['term']) ]; diff --git a/Zotlabs/Lib/Connect.php b/Zotlabs/Lib/Connect.php index df629db0c..5f85be066 100644 --- a/Zotlabs/Lib/Connect.php +++ b/Zotlabs/Lib/Connect.php @@ -20,7 +20,7 @@ class Connect { * This function does NOT send sync packets to clones. The caller is responsible for doing this */ - static function connect($channel,$url) { + static function connect($channel, $url, $sub_channel = false) { $uid = $channel['channel_id']; @@ -188,8 +188,20 @@ class Connect { $p = Permissions::connect_perms($uid); - $my_perms = Permissions::serialise($p['perms']); + // parent channels have unencumbered write permission + + if ($sub_channel) { + $p['perms']['post_wall'] = 1; + $p['perms']['post_comments'] = 1; + $p['perms']['write_storage'] = 1; + $p['perms']['post_like'] = 1; + $p['perms']['delegate'] = 0; + $p['perms']['moderated'] = 0; + } + + $my_perms = Permissions::serialise($p['perms']); + $profile_assign = get_pconfig($uid,'system','profile_assign',''); diff --git a/Zotlabs/Lib/Libzot.php b/Zotlabs/Lib/Libzot.php index e4f1623ec..9e7dc0d46 100644 --- a/Zotlabs/Lib/Libzot.php +++ b/Zotlabs/Lib/Libzot.php @@ -7,6 +7,7 @@ namespace Zotlabs\Lib; * */ +use App; use Zotlabs\Web\HTTPSig; use Zotlabs\Access\Permissions; use Zotlabs\Access\PermissionLimits; @@ -389,6 +390,22 @@ class Libzot { $closeness = get_pconfig($channel['channel_id'],'system','new_abook_closeness',80); + // check if it is a sub-channel (collection) and auto-friend if it is + + $is_collection = false; + + $cl = q("select channel_id from channel where channel_hash = '%s' and channel_parent = '%s' and channel_account_id = %d limit 1", + dbesc($x['hash']), + dbesc($channel['channel_hash']), + intval($channel['channel_account_id']) + ); + if($cl) { + $is_collection = true; + $automatic = true; + $closeness = 10; + } + + $y = abook_store_lowlevel( [ 'abook_account' => intval($channel['channel_account_id']), @@ -417,14 +434,17 @@ class Libzot { if($new_connection) { if(! Permissions::PermsCompare($new_perms,$previous_perms)) Master::Summon([ 'Notifier', 'permissions_create', $new_connection[0]['abook_id'] ]); - Enotify::submit( - [ - 'type' => NOTIFY_INTRO, - 'from_xchan' => $x['hash'], - 'to_xchan' => $channel['channel_hash'], - 'link' => z_root() . '/connedit/' . $new_connection[0]['abook_id'] - ] - ); + + if(! $is_collection) { + Enotify::submit( + [ + 'type' => NOTIFY_INTRO, + 'from_xchan' => $x['hash'], + 'to_xchan' => $channel['channel_hash'], + 'link' => z_root() . '/connedit/' . $new_connection[0]['abook_id'] + ] + ); + } if(intval($permissions['view_stream'])) { if(intval(get_pconfig($channel['channel_id'],'perm_limits','send_stream') & PERMS_PENDING) @@ -1437,6 +1457,20 @@ class Libzot { } } } + + if($tag['type'] === 'topicalCollection' && strpos($tag['name'],App::get_hostname())) { + $address = substr($tag['name'],0,strpos($tag['name'],'@')); + if($address) { + $z = q("select channel_hash as hash from channel where channel_address = '%s' + and channel_hash != '%s' and channel_removed = 0 limit 1", + dbesc($address), + dbesc($msg['sender']) + ); + if($z) { + $r[] = $z[0]['hash']; + } + } + } } } } diff --git a/Zotlabs/Lib/Queue.php b/Zotlabs/Lib/Queue.php index 574dea31b..c0cde13d9 100644 --- a/Zotlabs/Lib/Queue.php +++ b/Zotlabs/Lib/Queue.php @@ -303,6 +303,22 @@ class Queue { logger('returned_json: ' . json_encode($result,JSON_PRETTY_PRINT|JSON_UNESCAPED_SLASHES), LOGGER_DATA); logger('deliver: local zot delivery succeeded to ' . $outq['outq_posturl']); Libzot::process_response($outq['outq_posturl'],[ 'success' => true, 'body' => json_encode($result) ], $outq); + + if(! $immediate) { + $x = q("select outq_hash from outq where outq_posturl = '%s' and outq_delivered = 0", + dbesc($outq['outq_posturl']) + ); + + $piled_up = array(); + if($x) { + foreach($x as $xx) { + $piled_up[] = $xx['outq_hash']; + } + } + if($piled_up) { + do_delivery($piled_up,true); + } + } } else { logger('remote'); diff --git a/Zotlabs/Module/Acl.php b/Zotlabs/Module/Acl.php index cf322a9b8..c6680ba93 100644 --- a/Zotlabs/Module/Acl.php +++ b/Zotlabs/Module/Acl.php @@ -122,7 +122,7 @@ class Acl extends \Zotlabs\Web\Controller { "name" => t('Profile','acl') . ' ' . $rv['profile_name'], "id" => 'vp' . $rv['id'], "xid" => 'vp.' . $rv['profile_guid'], - "uids" => Zgroup::members_profile_xchan(local_channel(), $rv['id']), + "uids" => AccessList::members_profile_xchan(local_channel(), $rv['id']), "link" => '' ); } diff --git a/Zotlabs/Module/Apschema.php b/Zotlabs/Module/Apschema.php index b35d2f29b..044e9c1b2 100644 --- a/Zotlabs/Module/Apschema.php +++ b/Zotlabs/Module/Apschema.php @@ -18,7 +18,8 @@ class Apschema extends \Zotlabs\Web\Controller { 'conversation' => 'ostatus:conversation', 'sensitive' => 'as:sensitive', 'inheritPrivacy' => 'as:inheritPrivacy', - 'commentPolicy' => 'as:commentPolicy' + 'commentPolicy' => 'as:commentPolicy', + 'topicalCollection' => 'as:topicalCollection' ] ]; diff --git a/Zotlabs/Module/Dirsearch.php b/Zotlabs/Module/Dirsearch.php index d269f1fbc..9b8a4f374 100644 --- a/Zotlabs/Module/Dirsearch.php +++ b/Zotlabs/Module/Dirsearch.php @@ -312,7 +312,7 @@ class Dirsearch extends \Zotlabs\Web\Controller { $ret['results'] = $entries; if($kw) { - $k = dir_tagadelic($kw, $hub); + $k = dir_tagadelic($kw, $hub, $type); if($k) { $ret['keywords'] = array(); foreach($k as $kv) { diff --git a/Zotlabs/Module/Editpost.php b/Zotlabs/Module/Editpost.php index e1f5c6baf..4d4997a9c 100644 --- a/Zotlabs/Module/Editpost.php +++ b/Zotlabs/Module/Editpost.php @@ -53,18 +53,27 @@ class Editpost extends \Zotlabs\Web\Controller { $channel = \App::get_channel(); $category = ''; + $collections = []; $catsenabled = ((Apps::system_app_installed($owner_uid,'Categories')) ? 'categories' : ''); - if ($catsenabled){ - $itm = fetch_post_tags($itm); - - $cats = get_terms_oftype($itm[0]['term'], TERM_CATEGORY); - - foreach ($cats as $cat) { - if (strlen($category)) - $category .= ', '; - $category .= $cat['term']; - } + $itm = fetch_post_tags($itm); + + if($catsenabled) { + $cats = get_terms_oftype($itm[0]['term'], TERM_CATEGORY); + if($cats) { + foreach ($cats as $cat) { + if (strlen($category)) + $category .= ', '; + $category .= $cat['term']; + } + } + } + + $clcts = get_terms_oftype($itm[0]['term'], TERM_PCATEGORY); + if($clcts) { + foreach ($clcts as $clct) { + $collections[] = $clct['term']; + } } if($itm[0]['attach']) { @@ -98,6 +107,8 @@ class Editpost extends \Zotlabs\Web\Controller { 'showacl' => false, 'profile_uid' => $owner_uid, 'catsenabled' => $catsenabled, + 'collections' => $collections, + 'jotnets' => true, 'hide_expire' => true, 'bbcode' => true ); diff --git a/Zotlabs/Module/Item.php b/Zotlabs/Module/Item.php index 6ff51dfa3..08cdf13ee 100644 --- a/Zotlabs/Module/Item.php +++ b/Zotlabs/Module/Item.php @@ -415,6 +415,25 @@ class Item extends Controller { $pagetitle = strtolower(\URLify::transliterate($pagetitle)); } + if (array_key_exists('collections',$_REQUEST) && is_array($_REQUEST['collections']) && count($_REQUEST['collections'])) { + foreach ($_REQUEST['collections'] as $clct) { + $r = q("select xchan_url, xchan_hash from xchan left join hubloc on hubloc_hash = xchan_hash where hubloc_addr = '%s' limit 1", + dbesc($clct) + ); + if ($r) { + if (! isset($post_tags)) { + $post_tags = []; + } + $post_tags[] = [ + 'uid' => $profile_uid, + 'ttype' => TERM_PCATEGORY, + 'otype' => TERM_OBJ_POST, + 'term' => $clct, + 'url' => $r[0]['xchan_url'] + ]; + } + } + } $item_flags = $item_restrict = 0; $expires = NULL_DATE; @@ -841,7 +860,9 @@ class Item extends Controller { // Set permissions based on tag replacements set_linkified_perms($results, $str_contact_allow, $str_group_allow, $profile_uid, $parent_item, $private); - $post_tags = array(); + if (! isset($post_tags)) { + $post_tags = []; + } foreach($results as $result) { $success = $result['success']; if($success['replaced']) { @@ -933,7 +954,10 @@ class Item extends Controller { // BBCODE end alert if(strlen($categories)) { - + if (! isset($post_tags)) { + $post_tags = []; + } + $cats = explode(',',$categories); foreach($cats as $cat) { @@ -968,6 +992,10 @@ class Item extends Controller { intval(TERM_COMMUNITYTAG) ); if($t) { + if (! isset($post_tags)) { + $post_tags = []; + } + foreach($t as $t1) { $post_tags[] = array( 'uid' => $profile_uid, diff --git a/Zotlabs/Module/Manage.php b/Zotlabs/Module/Manage.php index 9ec2e5c08..1c500f95c 100644 --- a/Zotlabs/Module/Manage.php +++ b/Zotlabs/Module/Manage.php @@ -11,7 +11,7 @@ class Manage extends \Zotlabs\Web\Controller { return; } - nav_set_selected('Channel Manager'); + nav_set_selected('Channels'); require_once('include/security.php'); @@ -60,7 +60,8 @@ class Manage extends \Zotlabs\Web\Controller { $channels[$x]['link'] = 'manage/' . intval($channels[$x]['channel_id']); $channels[$x]['default'] = (($channels[$x]['channel_id'] == $account['account_default_channel']) ? "1" : ''); $channels[$x]['default_links'] = '1'; - + $channels[$x]['collections_label'] = t('Collection'); + $channels[$x]['forum_label'] = t('Group'); $c = q("SELECT id, item_wall FROM item WHERE item_unseen = 1 and uid = %d " . item_normal(), @@ -161,6 +162,9 @@ class Manage extends \Zotlabs\Web\Controller { . '&delegate=' . urlencode($delegates[$x]['xchan_addr']); $delegates[$x]['channel_name'] = $delegates[$x]['xchan_name']; $delegates[$x]['delegate'] = 1; + $delegates[$x]['collections_label'] = t('Collection'); + $delegates[$x]['forum_label'] = t('Group'); + } } else { @@ -168,7 +172,7 @@ class Manage extends \Zotlabs\Web\Controller { } $o = replace_macros(get_markup_template('channels.tpl'), array( - '$header' => t('Channel Manager'), + '$header' => t('Channels'), '$msg_selected' => t('Current Channel'), '$selected' => local_channel(), '$desc' => t('Switch to one of your channels by selecting it.'), diff --git a/Zotlabs/Module/Network.php b/Zotlabs/Module/Network.php index be2c83df4..00e7170b3 100644 --- a/Zotlabs/Module/Network.php +++ b/Zotlabs/Module/Network.php @@ -160,9 +160,7 @@ class Network extends \Zotlabs\Web\Controller { goaway(z_root() . '/network'); // NOTREACHED } - if($pf) - $deftag = '!{' . (($cid_r[0]['xchan_addr']) ? $cid_r[0]['xchan_addr'] : $cid_r[0]['xchan_url']) . '}'; - else + if(! $pf) $def_acl = [ 'allow_cid' => '<' . $cid_r[0]['abook_xchan'] . '>', 'allow_gid' => '', 'deny_cid' => '', 'deny_gid' => '' ]; } diff --git a/Zotlabs/Module/Pconfig.php b/Zotlabs/Module/Pconfig.php index d236fb6b8..3417b76b8 100644 --- a/Zotlabs/Module/Pconfig.php +++ b/Zotlabs/Module/Pconfig.php @@ -35,7 +35,7 @@ class Pconfig extends Controller { } if(strpos($k,'password') !== false) { - $v = z_obscure($v); + $v = obscurify($v); } set_pconfig(local_channel(),$cat,$k,$v); @@ -106,7 +106,7 @@ class Pconfig extends Controller { $v = get_pconfig(local_channel(),$cat,$k); if(strpos($k,'password') !== false) - $v = z_unobscure($v); + $v = unobscurify($v); $o .= ''; $o .= ''; diff --git a/Zotlabs/Module/Settings/Tokens.php b/Zotlabs/Module/Settings/Tokens.php index 0f040a8dd..4722e7341 100644 --- a/Zotlabs/Module/Settings/Tokens.php +++ b/Zotlabs/Module/Settings/Tokens.php @@ -2,13 +2,15 @@ namespace Zotlabs\Module\Settings; - +use App; +use Zotlabs\Access\Permissions; +use Zotlabs\Access\PermissionLimits; class Tokens { function post() { - $channel = \App::get_channel(); + $channel = App::get_channel(); check_form_security_token_redirectOnErr('/settings/tokens', 'settings_tokens'); $token_errs = 0; @@ -60,7 +62,7 @@ class Tokens { $atoken_xchan = substr($channel['channel_hash'],0,16) . '.' . $name; - $all_perms = \Zotlabs\Access\Permissions::Perms(); + $all_perms = Permissions::Perms(); $p = EMPTY_STR; @@ -117,7 +119,7 @@ class Tokens { $desc2 = t('You may also provide dropbox style access links to friends and associates by adding the Login Password to any specific site URL as shown. Examples:'); - $global_perms = \Zotlabs\Access\Permissions::Perms(); + $global_perms = Permissions::Perms(); $existing = get_all_perms(local_channel(),(($atoken_xchan) ? $atoken_xchan : EMPTY_STR)); $theirs = get_abconfig(local_channel(),$atoken_xchan,'system','their_perms',EMPTY_STR); @@ -133,7 +135,7 @@ class Tokens { foreach($global_perms as $k => $v) { $thisperm = ((in_array($k,$my_perms)) ? 1 : 0); - $checkinherited = \Zotlabs\Access\PermissionLimits::Get(local_channel(),$k); + $checkinherited = PermissionLimits::Get(local_channel(),$k); // For auto permissions (when $self is true) we don't want to look at existing // permissions because they are enabled for the channel owner @@ -151,6 +153,7 @@ class Tokens { '$desc2' => $desc2, '$tokens' => $t, '$atoken' => $atoken, + '$atoken_xchan' => $atoken_chan, '$url1' => z_root() . '/channel/' . $channel['channel_address'], '$url2' => z_root() . '/photos/' . $channel['channel_address'], '$name' => array('name', t('Login Name') . ' *', (($atoken) ? $atoken['atoken_name'] : ''),''), diff --git a/Zotlabs/Widget/Activity_filter.php b/Zotlabs/Widget/Activity_filter.php index 9d0d607fc..e859a7f06 100644 --- a/Zotlabs/Widget/Activity_filter.php +++ b/Zotlabs/Widget/Activity_filter.php @@ -112,7 +112,7 @@ class Activity_filter { $forum_active = ((x($_GET,'pf') && $_GET['cid'] == $f['abook_id']) ? 'active' : ''); $filter_active = 'forums'; } - $fsub[] = [ + $csub[] = [ 'label' => $f['xchan_name'], 'img' => $f['xchan_photo_s'], 'url' => z_root() . '/' . $cmd . '/?f=&pf=1&cid=' . $f['abook_id'], @@ -131,7 +131,7 @@ class Activity_filter { 'url' => '#', 'sel' => (($filter_active == 'collections') ? true : false), 'title' => t('Show collections'), - 'sub' => $fsub + 'sub' => $csub ]; } diff --git a/boot.php b/boot.php index 33fe9f457..6386d9c10 100755 --- a/boot.php +++ b/boot.php @@ -448,7 +448,7 @@ define ( 'NAMESPACE_YMEDIA', 'http://search.yahoo.com/mrss/' ); define ( 'ACTIVITYSTREAMS_JSONLD_REV', 'https://www.w3.org/ns/activitystreams' ); -define ( 'ZOT_APSCHEMA_REV', '/apschema/v1.4' ); +define ( 'ZOT_APSCHEMA_REV', '/apschema/v1.5' ); /** * activity stream defines */ diff --git a/include/channel.php b/include/channel.php index 56f1cd440..52f4beb06 100644 --- a/include/channel.php +++ b/include/channel.php @@ -464,7 +464,7 @@ function create_identity($arr) { if($parent_channel_hash) { $ch = channelx_by_hash($parent_channel_hash); if($ch) { - connect_and_sync($ret['channel'],channel_reddress($ch)); + connect_and_sync($ret['channel'],channel_reddress($ch), true); } } @@ -513,13 +513,13 @@ function create_identity($arr) { -function connect_and_sync($channel,$address) { +function connect_and_sync($channel,$address, $sub_channel = false) { if((! $channel) || (! $address)) { return false; } - $f = Connect::connect($channel,$address); + $f = Connect::connect($channel,$address, $sub_channel); if($f['success']) { $clone = []; foreach($f['abook'] as $k => $v) { diff --git a/include/conversation.php b/include/conversation.php index 6a63ed1ac..edef97c98 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -1335,7 +1335,12 @@ function z_status_editor($a, $x, $popup = false) { $jotplugins = ''; call_hooks('jot_tool', $jotplugins); - $jotnets = ''; + $jotcoll = jot_collections($c,((array_key_exists('collections',$x)) ? $x['collections'] : [])); + if(! $jotcoll) { + $jotcoll = EMPTY_STR; + } + + $jotnets = EMPTY_STR; if(x($x,'jotnets')) { call_hooks('jot_networks', $jotnets); } @@ -1402,8 +1407,10 @@ function z_status_editor($a, $x, $popup = false) { '$preview' => $preview, '$source' => ((x($x, 'source')) ? $x['source'] : ''), '$jotplugins' => $jotplugins, + '$jotcoll' => $jotcoll, '$jotnets' => $jotnets, '$jotnets_label' => t('Other networks and post services'), + '$jotcoll_label' => t('Collections'), '$defexpire' => $defexpire, '$feature_expire' => $feature_expire, '$expires' => t('Set expiration date'), @@ -1417,6 +1424,7 @@ function z_status_editor($a, $x, $popup = false) { '$expiryModalCANCEL' => t('Cancel'), '$linkModalOK' => t('OK'), '$linkModalCANCEL' => t('Cancel'), + '$close' => t('Close'), '$expanded' => ((x($x, 'expanded')) ? $x['expanded'] : false), '$bbcode' => ((x($x, 'bbcode')) ? $x['bbcode'] : false), '$parent' => ((array_key_exists('parent',$x) && $x['parent']) ? $x['parent'] : 0), @@ -1434,6 +1442,31 @@ function z_status_editor($a, $x, $popup = false) { } +function jot_collections($channel,$collections) { + + $output = EMPTY_STR; + + $r = q("select channel_address, channel_name from channel where channel_parent = '%s' and channel_removed = 0 order by channel_name asc", + dbesc($channel['channel_hash']) + ); + if(! $r) { + return $output; + } + + $size = ((count($r) < 4) ? count($r) : 4); + + $output .= t('Post to Collections'); + $output .= ''; + + return $output; + +} + function get_item_children($arr, $parent) { $children = array(); foreach($arr as $item) { diff --git a/include/items.php b/include/items.php index cc3d3d3cb..e652c956c 100644 --- a/include/items.php +++ b/include/items.php @@ -2550,19 +2550,18 @@ function tag_deliver($uid, $item_id) { * Now we've got those out of the way. Let's see if this is a post that's tagged for re-delivery */ - $terms = array_merge(get_terms_oftype($item['term'],TERM_MENTION),get_terms_oftype($item['term'],TERM_PCATEGORY)); + $terms = get_terms_oftype($item['term'],TERM_MENTION); + + $pterms = get_terms_oftype($item['term'],TERM_PCATEGORY); if($terms) logger('Post mentions: ' . print_r($terms,true), LOGGER_DATA); - - $max_forums = get_config('system','max_tagged_forums',2); - $matched_forums = 0; - + if($pterms) + logger('Post collections: ' . print_r($pterms,true), LOGGER_DATA); $link = normalise_link($u[0]['xchan_url']); - if($terms) { foreach($terms as $term) { @@ -2585,7 +2584,6 @@ function tag_deliver($uid, $item_id) { $body = preg_replace('/\[share(.*?)\[\/share\]/','',$item['body']); $tagged = false; - $ptagged = false; $matches = array(); $pattern = '/[\!@]\!?\[[uz]rl\=' . preg_quote($term['url'],'/') . '\]' . preg_quote($term['term'],'/') . '\[\/[uz]rl\]/'; @@ -2597,8 +2595,8 @@ function tag_deliver($uid, $item_id) { $tagged = true; - if(! ($tagged || $ptagged)) { - logger('Mention was in a reshare or exceeded max_tagged_forums - ignoring'); + if(! $tagged ) { + logger('Mention was in a reshare - ignoring'); continue; } @@ -2630,31 +2628,32 @@ function tag_deliver($uid, $item_id) { 'otype' => 'item' )); - // Just a normal tag? + } + } + if($pterms) { + foreach($pterms as $term) { - if(! $ptagged) { - logger('Not a ptag', LOGGER_DEBUG); + $ptagged = false; + + if(! link_compare($term['url'],$link)) { continue; } + $ptagged = true; + + logger('Collection post found for ' . $u[0]['channel_name']); + // ptagged - keep going, next check permissions - // @fixme - if(! perm_is_allowed($uid,$item['author_xchan'],'write_collection')) { + + if((! perm_is_allowed($uid,$item['author_xchan'],'write_collection')) && ($item['author_xchan'] !== $u[0]['channel_parent'])) { logger('tag_delivery denied for uid ' . $uid . ' and xchan ' . $item['author_xchan']); continue; } - - if(! $mention) { - logger('No mention for ' . $u[0]['channel_name']); - continue; - } - // tgroup delivery - setup a second delivery chain // prevent delivery looping - only proceed // if the message originated elsewhere and is a top-level post - if(intval($item['item_wall']) || intval($item['item_origin']) || (! intval($item['item_thread_top'])) || ($item['id'] != $item['parent'])) { logger('Item was local or a comment. rejected.'); continue; @@ -2773,9 +2772,6 @@ function tgroup_check($uid, $item) { if($r) return true; - if(! perm_is_allowed($uid,$item['author_xchan'],'tag_deliver')) - return false; - $u = q("select * from channel left join xchan on channel_hash = xchan_hash where channel_id = %d limit 1", intval($uid) ); @@ -2783,14 +2779,16 @@ function tgroup_check($uid, $item) { if(! $u) return false; + if((! perm_is_allowed($uid,$item['author_xchan'],'write_collection')) && ($item['author_xchan'] !== $u[0]['channel_parent'])) { + logger('tgroup_check delivery denied for uid ' . $uid . ' and xchan ' . $item['author_xchan']); + return false; + } - $terms = array_merge(get_terms_oftype($item['term'],TERM_MENTION),get_terms_oftype($item['term'],TERM_PCATEGORY)); + $terms = get_terms_oftype($item['term'],TERM_PCATEGORY); if($terms) logger('tgroup_check: post mentions: ' . print_r($terms,true), LOGGER_DATA); - $max_forums = get_config('system','max_tagged_forums',2); - $matched_forums = 0; $link = normalise_link($u[0]['xchan_url']); @@ -2800,106 +2798,13 @@ function tgroup_check($uid, $item) { continue; } - $mention = true; logger('tgroup_check: mention found for ' . $u[0]['channel_name']); - // At this point we've determined that the person receiving this post was mentioned in it. - // Now let's check if this mention was inside a reshare so we don't spam a forum - // note: $term has been set to the matching term - - - $body = preg_replace('/\[share(.*?)\[\/share\]/','',$item['body']); - - $forumpattern = '/\!\!?\[[uz]rl\=([^\]]*?)\]((?:.(?!\[[uz]rl\=))*?)\[\/[uz]rl\]/'; - - $found = false; - - $matches = array(); - - if(preg_match_all($forumpattern,$body,$matches,PREG_SET_ORDER)) { - foreach($matches as $match) { - $matched_forums ++; - if($term['url'] === $match[1] && intval($term['ttype']) === TERM_FORUM) { - if($matched_forums <= $max_forums) { - $found = true; - break; - } - logger('forum ' . $term['term'] . ' exceeded max_tagged_forums - ignoring'); - } - } - } - - $forumpattern = '/\[[uz]rl\=([^\]]*?)\]\!((?:.(?!\[[uz]rl\=))*?)\[\/[uz]rl\]/'; - - $matches = array(); - - if(preg_match_all($forumpattern,$body,$matches,PREG_SET_ORDER)) { - foreach($matches as $match) { - $matched_forums ++; - if($term['url'] === $match[1] && intval($term['ttype']) === TERM_FORUM) { - if($matched_forums <= $max_forums) { - $found = true; - break; - } - logger('forum ' . $term['term'] . ' exceeded max_tagged_forums - ignoring'); - } - } - } - - - - if(intval(get_pconfig($uid,'system','anymention'))) { - - // allow @mentions for forums - - $forumpattern = '/\@\!?\[[uz]rl\=([^\]]*?)\]((?:.(?!\[[uz]rl\=))*?)\[\/[uz]rl\]/'; - - $matches = array(); - - if(preg_match_all($forumpattern,$body,$matches,PREG_SET_ORDER)) { - foreach($matches as $match) { - $matched_forums ++; - if($term['url'] === $match[1] && intval($term['ttype']) === TERM_MENTION) { - if($matched_forums <= $max_forums) { - $found = true; - break; - } - logger('forum ' . $term['term'] . ' exceeded max_tagged_forums - ignoring'); - } - } - } - - $forumpattern = '/\[[uz]rl\=([^\]]*?)\]\@((?:.(?!\[[uz]rl\=))*?)\[\/[uz]rl\]/'; - - $matches = array(); - - if(preg_match_all($forumpattern,$body,$matches,PREG_SET_ORDER)) { - foreach($matches as $match) { - $matched_forums ++; - if($term['url'] === $match[1] && intval($term['ttype']) === TERM_MENTION) { - if($matched_forums <= $max_forums) { - $found = true; - break; - } - logger('forum ' . $term['term'] . ' exceeded max_tagged_forums - ignoring'); - } - } - } - - } - - - if(! $found) { - logger('tgroup_check: mention was in a reshare or exceeded max_tagged_forums - ignoring'); - continue; - } - return true; } } return false; - } /** diff --git a/include/nav.php b/include/nav.php index f621396cf..db8c38699 100644 --- a/include/nav.php +++ b/include/nav.php @@ -84,7 +84,7 @@ function nav($template = 'default') { if(local_channel()) { if(! $_SESSION['delegate']) { - $nav['manage'] = array('manage', t('Channel Manager'), "", t('Manage your channels'),'manage_nav_btn'); + $nav['manage'] = array('manage', t('Channels'), "", t('Manage your channels'),'manage_nav_btn'); } $nav['group'] = array('alist', t('Access Lists'),"", t('Manage your access lists'),'group_nav_btn'); diff --git a/include/oembed.php b/include/oembed.php index 3b7ff7d0b..2dbc46c4e 100644 --- a/include/oembed.php +++ b/include/oembed.php @@ -381,7 +381,7 @@ function oembed_iframe($src,$width,$height) { // Make sure any children are sandboxed within their own iframe. - return ''; } diff --git a/include/permissions.php b/include/permissions.php index 6562cda44..a32618a5f 100644 --- a/include/permissions.php +++ b/include/permissions.php @@ -75,7 +75,8 @@ function get_all_perms($uid, $observer_xchan, $check_siteblock = true, $default_ } if(! $abook_checked) { - $x = q("select abook_blocked, abook_ignored, abook_pending, xchan_network from abook left join xchan on abook_xchan = xchan_hash + $x = q("select abook_blocked, abook_ignored, abook_pending, xchan_network from abook + left join xchan on abook_xchan = xchan_hash where abook_channel = %d and abook_xchan = '%s' and abook_self = 0 limit 1", intval($uid), dbesc($observer_xchan) @@ -84,18 +85,8 @@ function get_all_perms($uid, $observer_xchan, $check_siteblock = true, $default_ // see if they've got a guest access token; these are treated as connections $y = atoken_abook($uid,$observer_xchan); if($y) - $x = array($y); + $x = [ $y ]; - if(! $x) { - // not in address book and no guest token, see if they've got an xchan - // these *may* have individual (PERMS_SPECIFIC) permissions, but are not connections - $y = q("select xchan_network from xchan where xchan_hash = '%s' limit 1", - dbesc($observer_xchan) - ); - if($y) { - $x = array(pseudo_abook($y[0])); - } - } } $abook_checked = true; @@ -204,13 +195,7 @@ function get_all_perms($uid, $observer_xchan, $check_siteblock = true, $default_ // They're a contact, so they have permission - if($channel_perm & PERMS_CONTACTS) { - // it was a fake abook entry, not really a connection - if(array_key_exists('abook_pseudo',$x[0]) && intval($x[0]['abook_pseudo'])) { - $ret[$perm_name] = false; - continue; - } - + if($channel_perm & PERMS_CONTACTS) { $ret[$perm_name] = true; continue; } @@ -315,17 +300,8 @@ function perm_is_allowed($uid, $observer_xchan, $permission, $check_siteblock = // see if they've got a guest access token $y = atoken_abook($uid,$observer_xchan); if($y) - $x = array($y); + $x = [ $y ]; - if(! $x) { - // not in address book and no guest token, see if they've got an xchan - $y = q("select xchan_network from xchan where xchan_hash = '%s' limit 1", - dbesc($observer_xchan) - ); - if($y) { - $x = array(pseudo_abook($y[0])); - } - } } $abperms = get_abconfig($uid,$observer_xchan,'system','my_perms',''); @@ -360,7 +336,7 @@ function perm_is_allowed($uid, $observer_xchan, $permission, $check_siteblock = // If we're still here, we have an observer, check the network. if($channel_perm & PERMS_NETWORK) { - if (($x && $x[0]['xchan_network'] === 'zot6') || ($y && $y[0]['xchan_network'] === 'zot6')) + if ($x && $x[0]['xchan_network'] === 'zot6') return true; } @@ -396,10 +372,6 @@ function perm_is_allowed($uid, $observer_xchan, $permission, $check_siteblock = // They're a contact, so they have permission if($channel_perm & PERMS_CONTACTS) { - // it was a fake abook entry, not really a connection - if(array_key_exists('abook_pseudo',$x[0]) && intval($x[0]['abook_pseudo'])) { - return false; - } return true; } diff --git a/include/taxonomy.php b/include/taxonomy.php index 8eb940c5e..4990c2569 100644 --- a/include/taxonomy.php +++ b/include/taxonomy.php @@ -376,14 +376,21 @@ function pub_tagadelic($net,$site,$limit,$recent,$safemode,$type) { } -function dir_tagadelic($count = 0, $hub = '') { +function dir_tagadelic($count = 0, $hub = '', $type = 0) { $count = intval($count); + $sql_extra = EMPTY_STR; + + if($type) { + return []; + } + if($hub) { $r = q("select xtag_term as term, count(xtag_term) as total from xtag left join hubloc on xtag_hash = hubloc_hash where xtag_flags = 0 and xtag_hash in (select hubloc_hash from hubloc where hubloc_host = '%s' ) + $sql_extra group by xtag_term order by total desc %s", dbesc($hub), ((intval($count)) ? "limit $count" : '') @@ -391,6 +398,7 @@ function dir_tagadelic($count = 0, $hub = '') { } else { $r = q("select xtag_term as term, count(xtag_term) as total from xtag where xtag_flags = 0 + $sql_extra group by xtag_term order by total desc %s", ((intval($count)) ? "limit $count" : '') ); diff --git a/include/text.php b/include/text.php index 29100aa0b..973a154fb 100644 --- a/include/text.php +++ b/include/text.php @@ -3491,4 +3491,14 @@ function unserialise($x) { } $y = ((substr($x,0,5) === 'json:') ? json_decode(substr($x,5),true) : ''); return ((is_array($y)) ? $y : $x); -} \ No newline at end of file +} + + +function obscurify($s) { + return str_rot47(base64url_encode($s)); +} + + +function unobscurify($s) { + return base64url_decode(str_rot47($s)); +} diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php index 52e9e5006..3a55f7e76 100644 --- a/vendor/composer/autoload_classmap.php +++ b/vendor/composer/autoload_classmap.php @@ -852,11 +852,12 @@ return array( 'Text_LanguageDetect_ISO639' => $vendorDir . '/pear/text_languagedetect/Text/LanguageDetect/ISO639.php', 'Text_LanguageDetect_Parser' => $vendorDir . '/pear/text_languagedetect/Text/LanguageDetect/Parser.php', 'UploadHandler' => $vendorDir . '/blueimp/jquery-file-upload/server/php/UploadHandler.php', - 'Zotlabs\\Access\\AccessList' => $baseDir . '/Zotlabs/Access/AccessList.php', + 'Zotlabs\\Access\\AccessControl' => $baseDir . '/Zotlabs/Access/AccessControl.php', 'Zotlabs\\Access\\PermissionLimits' => $baseDir . '/Zotlabs/Access/PermissionLimits.php', 'Zotlabs\\Access\\PermissionRoles' => $baseDir . '/Zotlabs/Access/PermissionRoles.php', 'Zotlabs\\Access\\Permissions' => $baseDir . '/Zotlabs/Access/Permissions.php', 'Zotlabs\\Daemon\\Addon' => $baseDir . '/Zotlabs/Daemon/Addon.php', + 'Zotlabs\\Daemon\\Cache_embeds' => $baseDir . '/Zotlabs/Daemon/Cache_embeds.php', 'Zotlabs\\Daemon\\Checksites' => $baseDir . '/Zotlabs/Daemon/Checksites.php', 'Zotlabs\\Daemon\\Cli_suggest' => $baseDir . '/Zotlabs/Daemon/Cli_suggest.php', 'Zotlabs\\Daemon\\Cron' => $baseDir . '/Zotlabs/Daemon/Cron.php', @@ -866,6 +867,7 @@ return array( 'Zotlabs\\Daemon\\CurlAuth' => $baseDir . '/Zotlabs/Daemon/CurlAuth.php', 'Zotlabs\\Daemon\\Deliver' => $baseDir . '/Zotlabs/Daemon/Deliver.php', 'Zotlabs\\Daemon\\Deliver_hooks' => $baseDir . '/Zotlabs/Daemon/Deliver_hooks.php', + 'Zotlabs\\Daemon\\Delxitems' => $baseDir . '/Zotlabs/Daemon/Delxitems.php', 'Zotlabs\\Daemon\\Directory' => $baseDir . '/Zotlabs/Daemon/Directory.php', 'Zotlabs\\Daemon\\Expire' => $baseDir . '/Zotlabs/Daemon/Expire.php', 'Zotlabs\\Daemon\\Externals' => $baseDir . '/Zotlabs/Daemon/Externals.php', @@ -889,6 +891,7 @@ return array( 'Zotlabs\\Identity\\ProfilePhoto\\ProfilePhoto' => $baseDir . '/Zotlabs/Identity/ProfilePhoto.php', 'Zotlabs\\Lib\\AConfig' => $baseDir . '/Zotlabs/Lib/AConfig.php', 'Zotlabs\\Lib\\AbConfig' => $baseDir . '/Zotlabs/Lib/AbConfig.php', + 'Zotlabs\\Lib\\AccessList' => $baseDir . '/Zotlabs/Lib/AccessList.php', 'Zotlabs\\Lib\\Activity' => $baseDir . '/Zotlabs/Lib/Activity.php', 'Zotlabs\\Lib\\ActivityPub' => $baseDir . '/Zotlabs/Lib/ActivityPub.php', 'Zotlabs\\Lib\\ActivityStreams' => $baseDir . '/Zotlabs/Lib/ActivityStreams.php', @@ -897,15 +900,17 @@ return array( 'Zotlabs\\Lib\\Cache' => $baseDir . '/Zotlabs/Lib/Cache.php', 'Zotlabs\\Lib\\Chatroom' => $baseDir . '/Zotlabs/Lib/Chatroom.php', 'Zotlabs\\Lib\\Config' => $baseDir . '/Zotlabs/Lib/Config.php', + 'Zotlabs\\Lib\\Connect' => $baseDir . '/Zotlabs/Lib/Connect.php', + 'Zotlabs\\Lib\\Crypto' => $baseDir . '/Zotlabs/Lib/Crypto.php', 'Zotlabs\\Lib\\DB_Upgrade' => $baseDir . '/Zotlabs/Lib/DB_Upgrade.php', 'Zotlabs\\Lib\\DReport' => $baseDir . '/Zotlabs/Lib/DReport.php', 'Zotlabs\\Lib\\Discover' => $baseDir . '/Zotlabs/Lib/Discover.php', 'Zotlabs\\Lib\\Enotify' => $baseDir . '/Zotlabs/Lib/Enotify.php', 'Zotlabs\\Lib\\ExtendedZip' => $baseDir . '/Zotlabs/Lib/ExtendedZip.php', - 'Zotlabs\\Lib\\Group' => $baseDir . '/Zotlabs/Lib/Group.php', 'Zotlabs\\Lib\\IConfig' => $baseDir . '/Zotlabs/Lib/IConfig.php', 'Zotlabs\\Lib\\Img_filesize' => $baseDir . '/Zotlabs/Lib/Img_filesize.php', 'Zotlabs\\Lib\\JSalmon' => $baseDir . '/Zotlabs/Lib/JSalmon.php', + 'Zotlabs\\Lib\\Keyutils' => $baseDir . '/Zotlabs/Lib/Keyutils.php', 'Zotlabs\\Lib\\LDSignatures' => $baseDir . '/Zotlabs/Lib/LDSignatures.php', 'Zotlabs\\Lib\\Libsync' => $baseDir . '/Zotlabs/Lib/Libsync.php', 'Zotlabs\\Lib\\Libzot' => $baseDir . '/Zotlabs/Lib/Libzot.php', @@ -927,6 +932,7 @@ return array( 'Zotlabs\\Lib\\Verify' => $baseDir . '/Zotlabs/Lib/Verify.php', 'Zotlabs\\Lib\\Webfinger' => $baseDir . '/Zotlabs/Lib/Webfinger.php', 'Zotlabs\\Lib\\XConfig' => $baseDir . '/Zotlabs/Lib/XConfig.php', + 'Zotlabs\\Lib\\ZotURL' => $baseDir . '/Zotlabs/Lib/ZotURL.php', 'Zotlabs\\Lib\\Zotfinger' => $baseDir . '/Zotlabs/Lib/Zotfinger.php', 'Zotlabs\\Module\\Acl' => $baseDir . '/Zotlabs/Module/Acl.php', 'Zotlabs\\Module\\Activity' => $baseDir . '/Zotlabs/Module/Activity.php', @@ -944,6 +950,7 @@ return array( 'Zotlabs\\Module\\Admin\\Site' => $baseDir . '/Zotlabs/Module/Admin/Site.php', 'Zotlabs\\Module\\Admin\\Themes' => $baseDir . '/Zotlabs/Module/Admin/Themes.php', 'Zotlabs\\Module\\Affinity' => $baseDir . '/Zotlabs/Module/Affinity.php', + 'Zotlabs\\Module\\Alist' => $baseDir . '/Zotlabs/Module/Alist.php', 'Zotlabs\\Module\\Ap_probe' => $baseDir . '/Zotlabs/Module/Ap_probe.php', 'Zotlabs\\Module\\Api' => $baseDir . '/Zotlabs/Module/Api.php', 'Zotlabs\\Module\\Appman' => $baseDir . '/Zotlabs/Module/Appman.php', @@ -954,11 +961,11 @@ return array( 'Zotlabs\\Module\\Authorize' => $baseDir . '/Zotlabs/Module/Authorize.php', 'Zotlabs\\Module\\Block' => $baseDir . '/Zotlabs/Module/Block.php', 'Zotlabs\\Module\\Blocks' => $baseDir . '/Zotlabs/Module/Blocks.php', - 'Zotlabs\\Module\\Bookmarks' => $baseDir . '/Zotlabs/Module/Bookmarks.php', 'Zotlabs\\Module\\Branchtopic' => $baseDir . '/Zotlabs/Module/Branchtopic.php', 'Zotlabs\\Module\\Cal' => $baseDir . '/Zotlabs/Module/Cal.php', 'Zotlabs\\Module\\Card_edit' => $baseDir . '/Zotlabs/Module/Card_edit.php', 'Zotlabs\\Module\\Cards' => $baseDir . '/Zotlabs/Module/Cards.php', + 'Zotlabs\\Module\\Categories' => $baseDir . '/Zotlabs/Module/Categories.php', 'Zotlabs\\Module\\Cdav' => $baseDir . '/Zotlabs/Module/Cdav.php', 'Zotlabs\\Module\\Changeaddr' => $baseDir . '/Zotlabs/Module/Changeaddr.php', 'Zotlabs\\Module\\Channel' => $baseDir . '/Zotlabs/Module/Channel.php', @@ -972,6 +979,7 @@ return array( 'Zotlabs\\Module\\Connections' => $baseDir . '/Zotlabs/Module/Connections.php', 'Zotlabs\\Module\\Connedit' => $baseDir . '/Zotlabs/Module/Connedit.php', 'Zotlabs\\Module\\Contactgroup' => $baseDir . '/Zotlabs/Module/Contactgroup.php', + 'Zotlabs\\Module\\Content_filter' => $baseDir . '/Zotlabs/Module/Content_filter.php', 'Zotlabs\\Module\\Cover_photo' => $baseDir . '/Zotlabs/Module/Cover_photo.php', 'Zotlabs\\Module\\Dav' => $baseDir . '/Zotlabs/Module/Dav.php', 'Zotlabs\\Module\\Defperms' => $baseDir . '/Zotlabs/Module/Defperms.php', @@ -985,9 +993,11 @@ return array( 'Zotlabs\\Module\\Editwebpage' => $baseDir . '/Zotlabs/Module/Editwebpage.php', 'Zotlabs\\Module\\Email_resend' => $baseDir . '/Zotlabs/Module/Email_resend.php', 'Zotlabs\\Module\\Email_validation' => $baseDir . '/Zotlabs/Module/Email_validation.php', + 'Zotlabs\\Module\\Embed' => $baseDir . '/Zotlabs/Module/Embed.php', 'Zotlabs\\Module\\Embedphotos' => $baseDir . '/Zotlabs/Module/Embedphotos.php', 'Zotlabs\\Module\\Event' => $baseDir . '/Zotlabs/Module/Event.php', 'Zotlabs\\Module\\Events' => $baseDir . '/Zotlabs/Module/Events.php', + 'Zotlabs\\Module\\Expire' => $baseDir . '/Zotlabs/Module/Expire.php', 'Zotlabs\\Module\\Fbrowser' => $baseDir . '/Zotlabs/Module/Fbrowser.php', 'Zotlabs\\Module\\Feed' => $baseDir . '/Zotlabs/Module/Feed.php', 'Zotlabs\\Module\\File_upload' => $baseDir . '/Zotlabs/Module/File_upload.php', @@ -999,17 +1009,16 @@ return array( 'Zotlabs\\Module\\Followers' => $baseDir . '/Zotlabs/Module/Followers.php', 'Zotlabs\\Module\\Following' => $baseDir . '/Zotlabs/Module/Following.php', 'Zotlabs\\Module\\Getfile' => $baseDir . '/Zotlabs/Module/Getfile.php', - 'Zotlabs\\Module\\Group' => $baseDir . '/Zotlabs/Module/Group.php', 'Zotlabs\\Module\\Hashtags' => $baseDir . '/Zotlabs/Module/Hashtags.php', 'Zotlabs\\Module\\Hcard' => $baseDir . '/Zotlabs/Module/Hcard.php', 'Zotlabs\\Module\\Help' => $baseDir . '/Zotlabs/Module/Help.php', 'Zotlabs\\Module\\Home' => $baseDir . '/Zotlabs/Module/Home.php', 'Zotlabs\\Module\\Hostxrd' => $baseDir . '/Zotlabs/Module/Hostxrd.php', 'Zotlabs\\Module\\Hq' => $baseDir . '/Zotlabs/Module/Hq.php', + 'Zotlabs\\Module\\Id' => $baseDir . '/Zotlabs/Module/Id.php', 'Zotlabs\\Module\\Impel' => $baseDir . '/Zotlabs/Module/Impel.php', 'Zotlabs\\Module\\Import' => $baseDir . '/Zotlabs/Module/Import.php', 'Zotlabs\\Module\\Import_items' => $baseDir . '/Zotlabs/Module/Import_items.php', - 'Zotlabs\\Module\\Inbox' => $baseDir . '/Zotlabs/Module/Inbox.php', 'Zotlabs\\Module\\Invite' => $baseDir . '/Zotlabs/Module/Invite.php', 'Zotlabs\\Module\\Item' => $baseDir . '/Zotlabs/Module/Item.php', 'Zotlabs\\Module\\Lang' => $baseDir . '/Zotlabs/Module/Lang.php', @@ -1035,13 +1044,11 @@ return array( 'Zotlabs\\Module\\Notifications' => $baseDir . '/Zotlabs/Module/Notifications.php', 'Zotlabs\\Module\\Notify' => $baseDir . '/Zotlabs/Module/Notify.php', 'Zotlabs\\Module\\Nullbox' => $baseDir . '/Zotlabs/Module/Nullbox.php', - 'Zotlabs\\Module\\OAuth2TestVehicle' => $baseDir . '/Zotlabs/Module/Oauth2testvehicle.php', 'Zotlabs\\Module\\Oauthinfo' => $baseDir . '/Zotlabs/Module/Oauthinfo.php', 'Zotlabs\\Module\\Oembed' => $baseDir . '/Zotlabs/Module/Oembed.php', 'Zotlabs\\Module\\Oep' => $baseDir . '/Zotlabs/Module/Oep.php', 'Zotlabs\\Module\\Oexchange' => $baseDir . '/Zotlabs/Module/Oexchange.php', 'Zotlabs\\Module\\Online' => $baseDir . '/Zotlabs/Module/Online.php', - 'Zotlabs\\Module\\Outbox' => $baseDir . '/Zotlabs/Module/Outbox.php', 'Zotlabs\\Module\\Owa' => $baseDir . '/Zotlabs/Module/Owa.php', 'Zotlabs\\Module\\Page' => $baseDir . '/Zotlabs/Module/Page.php', 'Zotlabs\\Module\\Pconfig' => $baseDir . '/Zotlabs/Module/Pconfig.php', @@ -1060,8 +1067,8 @@ return array( 'Zotlabs\\Module\\Profperm' => $baseDir . '/Zotlabs/Module/Profperm.php', 'Zotlabs\\Module\\Pubsites' => $baseDir . '/Zotlabs/Module/Pubsites.php', 'Zotlabs\\Module\\Pubstream' => $baseDir . '/Zotlabs/Module/Pubstream.php', + 'Zotlabs\\Module\\Q' => $baseDir . '/Zotlabs/Module/Q.php', 'Zotlabs\\Module\\Randprof' => $baseDir . '/Zotlabs/Module/Randprof.php', - 'Zotlabs\\Module\\Rbmark' => $baseDir . '/Zotlabs/Module/Rbmark.php', 'Zotlabs\\Module\\React' => $baseDir . '/Zotlabs/Module/React.php', 'Zotlabs\\Module\\Regdir' => $baseDir . '/Zotlabs/Module/Regdir.php', 'Zotlabs\\Module\\Register' => $baseDir . '/Zotlabs/Module/Register.php', @@ -1101,7 +1108,6 @@ return array( 'Zotlabs\\Module\\Tasks' => $baseDir . '/Zotlabs/Module/Tasks.php', 'Zotlabs\\Module\\Theme_info' => $baseDir . '/Zotlabs/Module/Theme_info.php', 'Zotlabs\\Module\\Thing' => $baseDir . '/Zotlabs/Module/Thing.php', - 'Zotlabs\\Module\\Toggle_mobile' => $baseDir . '/Zotlabs/Module/Toggle_mobile.php', 'Zotlabs\\Module\\Toggle_safesearch' => $baseDir . '/Zotlabs/Module/Toggle_safesearch.php', 'Zotlabs\\Module\\Token' => $baseDir . '/Zotlabs/Module/Token.php', 'Zotlabs\\Module\\Uexport' => $baseDir . '/Zotlabs/Module/Uexport.php', @@ -1362,6 +1368,15 @@ return array( 'Zotlabs\\Update\\_1219' => $baseDir . '/Zotlabs/Update/_1219.php', 'Zotlabs\\Update\\_1220' => $baseDir . '/Zotlabs/Update/_1220.php', 'Zotlabs\\Update\\_1221' => $baseDir . '/Zotlabs/Update/_1221.php', + 'Zotlabs\\Update\\_1222' => $baseDir . '/Zotlabs/Update/_1222.php', + 'Zotlabs\\Update\\_1223' => $baseDir . '/Zotlabs/Update/_1223.php', + 'Zotlabs\\Update\\_1224' => $baseDir . '/Zotlabs/Update/_1224.php', + 'Zotlabs\\Update\\_1225' => $baseDir . '/Zotlabs/Update/_1225.php', + 'Zotlabs\\Update\\_1226' => $baseDir . '/Zotlabs/Update/_1226.php', + 'Zotlabs\\Update\\_1227' => $baseDir . '/Zotlabs/Update/_1227.php', + 'Zotlabs\\Update\\_1228' => $baseDir . '/Zotlabs/Update/_1228.php', + 'Zotlabs\\Update\\_1229' => $baseDir . '/Zotlabs/Update/_1229.php', + 'Zotlabs\\Update\\_1230' => $baseDir . '/Zotlabs/Update/_1230.php', 'Zotlabs\\Web\\CheckJS' => $baseDir . '/Zotlabs/Web/CheckJS.php', 'Zotlabs\\Web\\Controller' => $baseDir . '/Zotlabs/Web/Controller.php', 'Zotlabs\\Web\\HTTPHeaders' => $baseDir . '/Zotlabs/Web/HTTPHeaders.php', @@ -1400,8 +1415,8 @@ return array( 'Zotlabs\\Widget\\Filer' => $baseDir . '/Zotlabs/Widget/Filer.php', 'Zotlabs\\Widget\\Findpeople' => $baseDir . '/Zotlabs/Widget/Findpeople.php', 'Zotlabs\\Widget\\Follow' => $baseDir . '/Zotlabs/Widget/Follow.php', - 'Zotlabs\\Widget\\Forums' => $baseDir . '/Zotlabs/Widget/Forums.php', 'Zotlabs\\Widget\\Fullprofile' => $baseDir . '/Zotlabs/Widget/Fullprofile.php', + 'Zotlabs\\Widget\\Groups' => $baseDir . '/Zotlabs/Widget/Groups.php', 'Zotlabs\\Widget\\Helpindex' => $baseDir . '/Zotlabs/Widget/Helpindex.php', 'Zotlabs\\Widget\\Hq_controls' => $baseDir . '/Zotlabs/Widget/Hq_controls.php', 'Zotlabs\\Widget\\Item' => $baseDir . '/Zotlabs/Widget/Item.php', @@ -1436,9 +1451,4 @@ return array( 'Zotlabs\\Zot6\\IHandler' => $baseDir . '/Zotlabs/Zot6/IHandler.php', 'Zotlabs\\Zot6\\Receiver' => $baseDir . '/Zotlabs/Zot6/Receiver.php', 'Zotlabs\\Zot6\\Zot6Handler' => $baseDir . '/Zotlabs/Zot6/Zot6Handler.php', - 'Zotlabs\\Zot\\Auth' => $baseDir . '/Zotlabs/Zot/Auth.php', - 'Zotlabs\\Zot\\Finger' => $baseDir . '/Zotlabs/Zot/Finger.php', - 'Zotlabs\\Zot\\IHandler' => $baseDir . '/Zotlabs/Zot/IHandler.php', - 'Zotlabs\\Zot\\Receiver' => $baseDir . '/Zotlabs/Zot/Receiver.php', - 'Zotlabs\\Zot\\ZotHandler' => $baseDir . '/Zotlabs/Zot/ZotHandler.php', ); diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php index e1f61fa7e..b4e2df1ea 100644 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -1027,11 +1027,12 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d 'Text_LanguageDetect_ISO639' => __DIR__ . '/..' . '/pear/text_languagedetect/Text/LanguageDetect/ISO639.php', 'Text_LanguageDetect_Parser' => __DIR__ . '/..' . '/pear/text_languagedetect/Text/LanguageDetect/Parser.php', 'UploadHandler' => __DIR__ . '/..' . '/blueimp/jquery-file-upload/server/php/UploadHandler.php', - 'Zotlabs\\Access\\AccessList' => __DIR__ . '/../..' . '/Zotlabs/Access/AccessList.php', + 'Zotlabs\\Access\\AccessControl' => __DIR__ . '/../..' . '/Zotlabs/Access/AccessControl.php', 'Zotlabs\\Access\\PermissionLimits' => __DIR__ . '/../..' . '/Zotlabs/Access/PermissionLimits.php', 'Zotlabs\\Access\\PermissionRoles' => __DIR__ . '/../..' . '/Zotlabs/Access/PermissionRoles.php', 'Zotlabs\\Access\\Permissions' => __DIR__ . '/../..' . '/Zotlabs/Access/Permissions.php', 'Zotlabs\\Daemon\\Addon' => __DIR__ . '/../..' . '/Zotlabs/Daemon/Addon.php', + 'Zotlabs\\Daemon\\Cache_embeds' => __DIR__ . '/../..' . '/Zotlabs/Daemon/Cache_embeds.php', 'Zotlabs\\Daemon\\Checksites' => __DIR__ . '/../..' . '/Zotlabs/Daemon/Checksites.php', 'Zotlabs\\Daemon\\Cli_suggest' => __DIR__ . '/../..' . '/Zotlabs/Daemon/Cli_suggest.php', 'Zotlabs\\Daemon\\Cron' => __DIR__ . '/../..' . '/Zotlabs/Daemon/Cron.php', @@ -1041,6 +1042,7 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d 'Zotlabs\\Daemon\\CurlAuth' => __DIR__ . '/../..' . '/Zotlabs/Daemon/CurlAuth.php', 'Zotlabs\\Daemon\\Deliver' => __DIR__ . '/../..' . '/Zotlabs/Daemon/Deliver.php', 'Zotlabs\\Daemon\\Deliver_hooks' => __DIR__ . '/../..' . '/Zotlabs/Daemon/Deliver_hooks.php', + 'Zotlabs\\Daemon\\Delxitems' => __DIR__ . '/../..' . '/Zotlabs/Daemon/Delxitems.php', 'Zotlabs\\Daemon\\Directory' => __DIR__ . '/../..' . '/Zotlabs/Daemon/Directory.php', 'Zotlabs\\Daemon\\Expire' => __DIR__ . '/../..' . '/Zotlabs/Daemon/Expire.php', 'Zotlabs\\Daemon\\Externals' => __DIR__ . '/../..' . '/Zotlabs/Daemon/Externals.php', @@ -1064,6 +1066,7 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d 'Zotlabs\\Identity\\ProfilePhoto\\ProfilePhoto' => __DIR__ . '/../..' . '/Zotlabs/Identity/ProfilePhoto.php', 'Zotlabs\\Lib\\AConfig' => __DIR__ . '/../..' . '/Zotlabs/Lib/AConfig.php', 'Zotlabs\\Lib\\AbConfig' => __DIR__ . '/../..' . '/Zotlabs/Lib/AbConfig.php', + 'Zotlabs\\Lib\\AccessList' => __DIR__ . '/../..' . '/Zotlabs/Lib/AccessList.php', 'Zotlabs\\Lib\\Activity' => __DIR__ . '/../..' . '/Zotlabs/Lib/Activity.php', 'Zotlabs\\Lib\\ActivityPub' => __DIR__ . '/../..' . '/Zotlabs/Lib/ActivityPub.php', 'Zotlabs\\Lib\\ActivityStreams' => __DIR__ . '/../..' . '/Zotlabs/Lib/ActivityStreams.php', @@ -1072,15 +1075,17 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d 'Zotlabs\\Lib\\Cache' => __DIR__ . '/../..' . '/Zotlabs/Lib/Cache.php', 'Zotlabs\\Lib\\Chatroom' => __DIR__ . '/../..' . '/Zotlabs/Lib/Chatroom.php', 'Zotlabs\\Lib\\Config' => __DIR__ . '/../..' . '/Zotlabs/Lib/Config.php', + 'Zotlabs\\Lib\\Connect' => __DIR__ . '/../..' . '/Zotlabs/Lib/Connect.php', + 'Zotlabs\\Lib\\Crypto' => __DIR__ . '/../..' . '/Zotlabs/Lib/Crypto.php', 'Zotlabs\\Lib\\DB_Upgrade' => __DIR__ . '/../..' . '/Zotlabs/Lib/DB_Upgrade.php', 'Zotlabs\\Lib\\DReport' => __DIR__ . '/../..' . '/Zotlabs/Lib/DReport.php', 'Zotlabs\\Lib\\Discover' => __DIR__ . '/../..' . '/Zotlabs/Lib/Discover.php', 'Zotlabs\\Lib\\Enotify' => __DIR__ . '/../..' . '/Zotlabs/Lib/Enotify.php', 'Zotlabs\\Lib\\ExtendedZip' => __DIR__ . '/../..' . '/Zotlabs/Lib/ExtendedZip.php', - 'Zotlabs\\Lib\\Group' => __DIR__ . '/../..' . '/Zotlabs/Lib/Group.php', 'Zotlabs\\Lib\\IConfig' => __DIR__ . '/../..' . '/Zotlabs/Lib/IConfig.php', 'Zotlabs\\Lib\\Img_filesize' => __DIR__ . '/../..' . '/Zotlabs/Lib/Img_filesize.php', 'Zotlabs\\Lib\\JSalmon' => __DIR__ . '/../..' . '/Zotlabs/Lib/JSalmon.php', + 'Zotlabs\\Lib\\Keyutils' => __DIR__ . '/../..' . '/Zotlabs/Lib/Keyutils.php', 'Zotlabs\\Lib\\LDSignatures' => __DIR__ . '/../..' . '/Zotlabs/Lib/LDSignatures.php', 'Zotlabs\\Lib\\Libsync' => __DIR__ . '/../..' . '/Zotlabs/Lib/Libsync.php', 'Zotlabs\\Lib\\Libzot' => __DIR__ . '/../..' . '/Zotlabs/Lib/Libzot.php', @@ -1102,6 +1107,7 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d 'Zotlabs\\Lib\\Verify' => __DIR__ . '/../..' . '/Zotlabs/Lib/Verify.php', 'Zotlabs\\Lib\\Webfinger' => __DIR__ . '/../..' . '/Zotlabs/Lib/Webfinger.php', 'Zotlabs\\Lib\\XConfig' => __DIR__ . '/../..' . '/Zotlabs/Lib/XConfig.php', + 'Zotlabs\\Lib\\ZotURL' => __DIR__ . '/../..' . '/Zotlabs/Lib/ZotURL.php', 'Zotlabs\\Lib\\Zotfinger' => __DIR__ . '/../..' . '/Zotlabs/Lib/Zotfinger.php', 'Zotlabs\\Module\\Acl' => __DIR__ . '/../..' . '/Zotlabs/Module/Acl.php', 'Zotlabs\\Module\\Activity' => __DIR__ . '/../..' . '/Zotlabs/Module/Activity.php', @@ -1119,6 +1125,7 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d 'Zotlabs\\Module\\Admin\\Site' => __DIR__ . '/../..' . '/Zotlabs/Module/Admin/Site.php', 'Zotlabs\\Module\\Admin\\Themes' => __DIR__ . '/../..' . '/Zotlabs/Module/Admin/Themes.php', 'Zotlabs\\Module\\Affinity' => __DIR__ . '/../..' . '/Zotlabs/Module/Affinity.php', + 'Zotlabs\\Module\\Alist' => __DIR__ . '/../..' . '/Zotlabs/Module/Alist.php', 'Zotlabs\\Module\\Ap_probe' => __DIR__ . '/../..' . '/Zotlabs/Module/Ap_probe.php', 'Zotlabs\\Module\\Api' => __DIR__ . '/../..' . '/Zotlabs/Module/Api.php', 'Zotlabs\\Module\\Appman' => __DIR__ . '/../..' . '/Zotlabs/Module/Appman.php', @@ -1129,11 +1136,11 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d 'Zotlabs\\Module\\Authorize' => __DIR__ . '/../..' . '/Zotlabs/Module/Authorize.php', 'Zotlabs\\Module\\Block' => __DIR__ . '/../..' . '/Zotlabs/Module/Block.php', 'Zotlabs\\Module\\Blocks' => __DIR__ . '/../..' . '/Zotlabs/Module/Blocks.php', - 'Zotlabs\\Module\\Bookmarks' => __DIR__ . '/../..' . '/Zotlabs/Module/Bookmarks.php', 'Zotlabs\\Module\\Branchtopic' => __DIR__ . '/../..' . '/Zotlabs/Module/Branchtopic.php', 'Zotlabs\\Module\\Cal' => __DIR__ . '/../..' . '/Zotlabs/Module/Cal.php', 'Zotlabs\\Module\\Card_edit' => __DIR__ . '/../..' . '/Zotlabs/Module/Card_edit.php', 'Zotlabs\\Module\\Cards' => __DIR__ . '/../..' . '/Zotlabs/Module/Cards.php', + 'Zotlabs\\Module\\Categories' => __DIR__ . '/../..' . '/Zotlabs/Module/Categories.php', 'Zotlabs\\Module\\Cdav' => __DIR__ . '/../..' . '/Zotlabs/Module/Cdav.php', 'Zotlabs\\Module\\Changeaddr' => __DIR__ . '/../..' . '/Zotlabs/Module/Changeaddr.php', 'Zotlabs\\Module\\Channel' => __DIR__ . '/../..' . '/Zotlabs/Module/Channel.php', @@ -1147,6 +1154,7 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d 'Zotlabs\\Module\\Connections' => __DIR__ . '/../..' . '/Zotlabs/Module/Connections.php', 'Zotlabs\\Module\\Connedit' => __DIR__ . '/../..' . '/Zotlabs/Module/Connedit.php', 'Zotlabs\\Module\\Contactgroup' => __DIR__ . '/../..' . '/Zotlabs/Module/Contactgroup.php', + 'Zotlabs\\Module\\Content_filter' => __DIR__ . '/../..' . '/Zotlabs/Module/Content_filter.php', 'Zotlabs\\Module\\Cover_photo' => __DIR__ . '/../..' . '/Zotlabs/Module/Cover_photo.php', 'Zotlabs\\Module\\Dav' => __DIR__ . '/../..' . '/Zotlabs/Module/Dav.php', 'Zotlabs\\Module\\Defperms' => __DIR__ . '/../..' . '/Zotlabs/Module/Defperms.php', @@ -1160,9 +1168,11 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d 'Zotlabs\\Module\\Editwebpage' => __DIR__ . '/../..' . '/Zotlabs/Module/Editwebpage.php', 'Zotlabs\\Module\\Email_resend' => __DIR__ . '/../..' . '/Zotlabs/Module/Email_resend.php', 'Zotlabs\\Module\\Email_validation' => __DIR__ . '/../..' . '/Zotlabs/Module/Email_validation.php', + 'Zotlabs\\Module\\Embed' => __DIR__ . '/../..' . '/Zotlabs/Module/Embed.php', 'Zotlabs\\Module\\Embedphotos' => __DIR__ . '/../..' . '/Zotlabs/Module/Embedphotos.php', 'Zotlabs\\Module\\Event' => __DIR__ . '/../..' . '/Zotlabs/Module/Event.php', 'Zotlabs\\Module\\Events' => __DIR__ . '/../..' . '/Zotlabs/Module/Events.php', + 'Zotlabs\\Module\\Expire' => __DIR__ . '/../..' . '/Zotlabs/Module/Expire.php', 'Zotlabs\\Module\\Fbrowser' => __DIR__ . '/../..' . '/Zotlabs/Module/Fbrowser.php', 'Zotlabs\\Module\\Feed' => __DIR__ . '/../..' . '/Zotlabs/Module/Feed.php', 'Zotlabs\\Module\\File_upload' => __DIR__ . '/../..' . '/Zotlabs/Module/File_upload.php', @@ -1174,17 +1184,16 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d 'Zotlabs\\Module\\Followers' => __DIR__ . '/../..' . '/Zotlabs/Module/Followers.php', 'Zotlabs\\Module\\Following' => __DIR__ . '/../..' . '/Zotlabs/Module/Following.php', 'Zotlabs\\Module\\Getfile' => __DIR__ . '/../..' . '/Zotlabs/Module/Getfile.php', - 'Zotlabs\\Module\\Group' => __DIR__ . '/../..' . '/Zotlabs/Module/Group.php', 'Zotlabs\\Module\\Hashtags' => __DIR__ . '/../..' . '/Zotlabs/Module/Hashtags.php', 'Zotlabs\\Module\\Hcard' => __DIR__ . '/../..' . '/Zotlabs/Module/Hcard.php', 'Zotlabs\\Module\\Help' => __DIR__ . '/../..' . '/Zotlabs/Module/Help.php', 'Zotlabs\\Module\\Home' => __DIR__ . '/../..' . '/Zotlabs/Module/Home.php', 'Zotlabs\\Module\\Hostxrd' => __DIR__ . '/../..' . '/Zotlabs/Module/Hostxrd.php', 'Zotlabs\\Module\\Hq' => __DIR__ . '/../..' . '/Zotlabs/Module/Hq.php', + 'Zotlabs\\Module\\Id' => __DIR__ . '/../..' . '/Zotlabs/Module/Id.php', 'Zotlabs\\Module\\Impel' => __DIR__ . '/../..' . '/Zotlabs/Module/Impel.php', 'Zotlabs\\Module\\Import' => __DIR__ . '/../..' . '/Zotlabs/Module/Import.php', 'Zotlabs\\Module\\Import_items' => __DIR__ . '/../..' . '/Zotlabs/Module/Import_items.php', - 'Zotlabs\\Module\\Inbox' => __DIR__ . '/../..' . '/Zotlabs/Module/Inbox.php', 'Zotlabs\\Module\\Invite' => __DIR__ . '/../..' . '/Zotlabs/Module/Invite.php', 'Zotlabs\\Module\\Item' => __DIR__ . '/../..' . '/Zotlabs/Module/Item.php', 'Zotlabs\\Module\\Lang' => __DIR__ . '/../..' . '/Zotlabs/Module/Lang.php', @@ -1210,13 +1219,11 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d 'Zotlabs\\Module\\Notifications' => __DIR__ . '/../..' . '/Zotlabs/Module/Notifications.php', 'Zotlabs\\Module\\Notify' => __DIR__ . '/../..' . '/Zotlabs/Module/Notify.php', 'Zotlabs\\Module\\Nullbox' => __DIR__ . '/../..' . '/Zotlabs/Module/Nullbox.php', - 'Zotlabs\\Module\\OAuth2TestVehicle' => __DIR__ . '/../..' . '/Zotlabs/Module/Oauth2testvehicle.php', 'Zotlabs\\Module\\Oauthinfo' => __DIR__ . '/../..' . '/Zotlabs/Module/Oauthinfo.php', 'Zotlabs\\Module\\Oembed' => __DIR__ . '/../..' . '/Zotlabs/Module/Oembed.php', 'Zotlabs\\Module\\Oep' => __DIR__ . '/../..' . '/Zotlabs/Module/Oep.php', 'Zotlabs\\Module\\Oexchange' => __DIR__ . '/../..' . '/Zotlabs/Module/Oexchange.php', 'Zotlabs\\Module\\Online' => __DIR__ . '/../..' . '/Zotlabs/Module/Online.php', - 'Zotlabs\\Module\\Outbox' => __DIR__ . '/../..' . '/Zotlabs/Module/Outbox.php', 'Zotlabs\\Module\\Owa' => __DIR__ . '/../..' . '/Zotlabs/Module/Owa.php', 'Zotlabs\\Module\\Page' => __DIR__ . '/../..' . '/Zotlabs/Module/Page.php', 'Zotlabs\\Module\\Pconfig' => __DIR__ . '/../..' . '/Zotlabs/Module/Pconfig.php', @@ -1235,8 +1242,8 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d 'Zotlabs\\Module\\Profperm' => __DIR__ . '/../..' . '/Zotlabs/Module/Profperm.php', 'Zotlabs\\Module\\Pubsites' => __DIR__ . '/../..' . '/Zotlabs/Module/Pubsites.php', 'Zotlabs\\Module\\Pubstream' => __DIR__ . '/../..' . '/Zotlabs/Module/Pubstream.php', + 'Zotlabs\\Module\\Q' => __DIR__ . '/../..' . '/Zotlabs/Module/Q.php', 'Zotlabs\\Module\\Randprof' => __DIR__ . '/../..' . '/Zotlabs/Module/Randprof.php', - 'Zotlabs\\Module\\Rbmark' => __DIR__ . '/../..' . '/Zotlabs/Module/Rbmark.php', 'Zotlabs\\Module\\React' => __DIR__ . '/../..' . '/Zotlabs/Module/React.php', 'Zotlabs\\Module\\Regdir' => __DIR__ . '/../..' . '/Zotlabs/Module/Regdir.php', 'Zotlabs\\Module\\Register' => __DIR__ . '/../..' . '/Zotlabs/Module/Register.php', @@ -1276,7 +1283,6 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d 'Zotlabs\\Module\\Tasks' => __DIR__ . '/../..' . '/Zotlabs/Module/Tasks.php', 'Zotlabs\\Module\\Theme_info' => __DIR__ . '/../..' . '/Zotlabs/Module/Theme_info.php', 'Zotlabs\\Module\\Thing' => __DIR__ . '/../..' . '/Zotlabs/Module/Thing.php', - 'Zotlabs\\Module\\Toggle_mobile' => __DIR__ . '/../..' . '/Zotlabs/Module/Toggle_mobile.php', 'Zotlabs\\Module\\Toggle_safesearch' => __DIR__ . '/../..' . '/Zotlabs/Module/Toggle_safesearch.php', 'Zotlabs\\Module\\Token' => __DIR__ . '/../..' . '/Zotlabs/Module/Token.php', 'Zotlabs\\Module\\Uexport' => __DIR__ . '/../..' . '/Zotlabs/Module/Uexport.php', @@ -1537,6 +1543,15 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d 'Zotlabs\\Update\\_1219' => __DIR__ . '/../..' . '/Zotlabs/Update/_1219.php', 'Zotlabs\\Update\\_1220' => __DIR__ . '/../..' . '/Zotlabs/Update/_1220.php', 'Zotlabs\\Update\\_1221' => __DIR__ . '/../..' . '/Zotlabs/Update/_1221.php', + 'Zotlabs\\Update\\_1222' => __DIR__ . '/../..' . '/Zotlabs/Update/_1222.php', + 'Zotlabs\\Update\\_1223' => __DIR__ . '/../..' . '/Zotlabs/Update/_1223.php', + 'Zotlabs\\Update\\_1224' => __DIR__ . '/../..' . '/Zotlabs/Update/_1224.php', + 'Zotlabs\\Update\\_1225' => __DIR__ . '/../..' . '/Zotlabs/Update/_1225.php', + 'Zotlabs\\Update\\_1226' => __DIR__ . '/../..' . '/Zotlabs/Update/_1226.php', + 'Zotlabs\\Update\\_1227' => __DIR__ . '/../..' . '/Zotlabs/Update/_1227.php', + 'Zotlabs\\Update\\_1228' => __DIR__ . '/../..' . '/Zotlabs/Update/_1228.php', + 'Zotlabs\\Update\\_1229' => __DIR__ . '/../..' . '/Zotlabs/Update/_1229.php', + 'Zotlabs\\Update\\_1230' => __DIR__ . '/../..' . '/Zotlabs/Update/_1230.php', 'Zotlabs\\Web\\CheckJS' => __DIR__ . '/../..' . '/Zotlabs/Web/CheckJS.php', 'Zotlabs\\Web\\Controller' => __DIR__ . '/../..' . '/Zotlabs/Web/Controller.php', 'Zotlabs\\Web\\HTTPHeaders' => __DIR__ . '/../..' . '/Zotlabs/Web/HTTPHeaders.php', @@ -1575,8 +1590,8 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d 'Zotlabs\\Widget\\Filer' => __DIR__ . '/../..' . '/Zotlabs/Widget/Filer.php', 'Zotlabs\\Widget\\Findpeople' => __DIR__ . '/../..' . '/Zotlabs/Widget/Findpeople.php', 'Zotlabs\\Widget\\Follow' => __DIR__ . '/../..' . '/Zotlabs/Widget/Follow.php', - 'Zotlabs\\Widget\\Forums' => __DIR__ . '/../..' . '/Zotlabs/Widget/Forums.php', 'Zotlabs\\Widget\\Fullprofile' => __DIR__ . '/../..' . '/Zotlabs/Widget/Fullprofile.php', + 'Zotlabs\\Widget\\Groups' => __DIR__ . '/../..' . '/Zotlabs/Widget/Groups.php', 'Zotlabs\\Widget\\Helpindex' => __DIR__ . '/../..' . '/Zotlabs/Widget/Helpindex.php', 'Zotlabs\\Widget\\Hq_controls' => __DIR__ . '/../..' . '/Zotlabs/Widget/Hq_controls.php', 'Zotlabs\\Widget\\Item' => __DIR__ . '/../..' . '/Zotlabs/Widget/Item.php', @@ -1611,11 +1626,6 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d 'Zotlabs\\Zot6\\IHandler' => __DIR__ . '/../..' . '/Zotlabs/Zot6/IHandler.php', 'Zotlabs\\Zot6\\Receiver' => __DIR__ . '/../..' . '/Zotlabs/Zot6/Receiver.php', 'Zotlabs\\Zot6\\Zot6Handler' => __DIR__ . '/../..' . '/Zotlabs/Zot6/Zot6Handler.php', - 'Zotlabs\\Zot\\Auth' => __DIR__ . '/../..' . '/Zotlabs/Zot/Auth.php', - 'Zotlabs\\Zot\\Finger' => __DIR__ . '/../..' . '/Zotlabs/Zot/Finger.php', - 'Zotlabs\\Zot\\IHandler' => __DIR__ . '/../..' . '/Zotlabs/Zot/IHandler.php', - 'Zotlabs\\Zot\\Receiver' => __DIR__ . '/../..' . '/Zotlabs/Zot/Receiver.php', - 'Zotlabs\\Zot\\ZotHandler' => __DIR__ . '/../..' . '/Zotlabs/Zot/ZotHandler.php', ); public static function getInitializer(ClassLoader $loader) diff --git a/view/theme/redbasic/css/style.css b/view/theme/redbasic/css/style.css index 2359652f3..d05f55899 100644 --- a/view/theme/redbasic/css/style.css +++ b/view/theme/redbasic/css/style.css @@ -1814,4 +1814,8 @@ dl.bb-dl > dd > li { .threadlevel.even { color: #888; -} \ No newline at end of file +} + +.channel-active { + border: 3px solid #0275d8; +} \ No newline at end of file diff --git a/view/tpl/channel.tpl b/view/tpl/channel.tpl index 0ff52831d..1f8766415 100755 --- a/view/tpl/channel.tpl +++ b/view/tpl/channel.tpl @@ -16,14 +16,15 @@ {{/if}}

- {{if $selected == $channel.channel_id}} + {{*if $selected == $channel.channel_id}} - {{/if}} + {{/if*}} {{if $channel.delegate}} {{/if}} + {{if $channel.xchan_type == 2}} {{elseif $channel.xchan_type == 1}} {{/if}} {{if $selected != $channel.channel_id}}{{/if}} - {{$channel.channel_name}} + {{$channel.channel_name}} {{if $selected != $channel.channel_id}}{{/if}}

@@ -31,7 +32,7 @@
{{if $selected != $channel.channel_id}}{{/if}} - {{$channel.channel_name}} + {{$channel.channel_name}} {{if $selected != $channel.channel_id}}{{/if}}
diff --git a/view/tpl/jot.tpl b/view/tpl/jot.tpl index 727bff00b..06e593560 100755 --- a/view/tpl/jot.tpl +++ b/view/tpl/jot.tpl @@ -191,6 +191,11 @@ {{/if}} + {{if $jotcoll}} + + {{/if}} {{if $showacl}}
+
+ + + {{/if}} + {{if $jotcoll}} +