diff --git a/Zotlabs/Daemon/Cron.php b/Zotlabs/Daemon/Cron.php
index d1c516f96..25e49b817 100644
--- a/Zotlabs/Daemon/Cron.php
+++ b/Zotlabs/Daemon/Cron.php
@@ -60,7 +60,7 @@ class Cron {
drop_item($rr['id'],false,(($rr['item_wall']) ? DROPITEM_PHASE1 : DROPITEM_NORMAL));
if($rr['item_wall']) {
// The notifier isn't normally invoked unless item_drop is interactive.
- Zotlabs\Daemon\Master::Summon( [ 'Notifier', 'drop', $rr['id'] ] );
+ Master::Summon( [ 'Notifier', 'drop', $rr['id'] ] );
}
}
}
diff --git a/Zotlabs/Daemon/Notifier.php b/Zotlabs/Daemon/Notifier.php
index fa2368a92..f74c8f11c 100644
--- a/Zotlabs/Daemon/Notifier.php
+++ b/Zotlabs/Daemon/Notifier.php
@@ -559,6 +559,8 @@ class Notifier {
foreach($dhubs as $hub) {
+ logger('notifier_hub: ' . $hub['hubloc_url'],LOGGER_DEBUG);
+
if($hub['hubloc_network'] !== 'zot') {
$narr = [
'channel' => $channel,
diff --git a/Zotlabs/Lib/Apps.php b/Zotlabs/Lib/Apps.php
index 1d9fe48e6..aef6756b5 100644
--- a/Zotlabs/Lib/Apps.php
+++ b/Zotlabs/Lib/Apps.php
@@ -303,7 +303,7 @@ class Apps {
'Admin' => t('Site Admin'),
'Report Bug' => t('Report Bug'),
'View Bookmarks' => t('View Bookmarks'),
- 'My Chatrooms' => t('My Chatrooms'),
+ 'Chatrooms' => t('Chatrooms'),
'Connections' => t('Connections'),
'Remote Diagnostics' => t('Remote Diagnostics'),
'Suggest Channels' => t('Suggest Channels'),
@@ -337,7 +337,20 @@ class Apps {
'Profiles' => t('Profiles'),
'Privacy Groups' => t('Privacy Groups'),
'Notifications' => t('Notifications'),
- 'Order Apps' => t('Order Apps')
+ 'Order Apps' => t('Order Apps'),
+ 'CalDAV' => t('CalDAV'),
+ 'CardDAV' => t('CardDAV'),
+ 'Channel Sources' => t('Channel Sources'),
+ 'Gallery' => t('Gallery'),
+ 'Guest Access' => t('Guest Access'),
+ 'Notes' => t('Notes'),
+ 'OAuth Apps Manager' => t('OAuth Apps Manager'),
+ 'OAuth2 Apps Manager' => t('OAuth2 Apps Manager'),
+ 'PDL Editor' => t('PDL Editor'),
+ 'Permission Categories' => t('Permission Categories'),
+ 'Premium Channel' => t('Premium Channel'),
+ 'Public Stream' => t('Public Stream'),
+ 'My Chatrooms' => t('My Chatrooms')
);
if(array_key_exists('name',$arr)) {
@@ -349,6 +362,9 @@ class Apps {
for($x = 0; $x < count($arr); $x++) {
if(array_key_exists($arr[$x]['name'],$apps)) {
$arr[$x]['name'] = $apps[$arr[$x]['name']];
+ } else {
+ // Try to guess by app name if not in list
+ $arr[$x]['name'] = t(trim($arr[$x]['name']));
}
}
}
@@ -388,18 +404,23 @@ class Apps {
// This will catch somebody clicking on a system "available" app that hasn't had the path macros replaced
// and they are allowed to see the app
-
-
- if(strstr($papp['url'],'$baseurl') || strstr($papp['url'],'$nick') || strstr($papp['photo'],'$baseurl') || strstr($pap['photo'],'$nick')) {
+ if(strpos($papp['url'],'$baseurl') !== false || strpos($papp['url'],'$nick') !== false || strpos($papp['photo'],'$baseurl') !== false || strpos($papp['photo'],'$nick') !== false) {
$view_channel = local_channel();
if(! $view_channel) {
+
$sys = get_sys_channel();
$view_channel = $sys['channel_id'];
}
self::app_macros($view_channel,$papp);
}
- if(! strstr($papp['url'],'://'))
+ if(strpos($papp['url'], ',')) {
+ $urls = explode(',', $papp['url']);
+ $papp['url'] = trim($urls[0]);
+ $papp['settings_url'] = trim($urls[1]);
+ }
+
+ if(! strpos($papp['url'],'://'))
$papp['url'] = z_root() . ((strpos($papp['url'],'/') === 0) ? '' : '/') . $papp['url'];
@@ -468,7 +489,9 @@ class Apps {
$hosturl = '';
if(local_channel()) {
- $installed = self::app_installed(local_channel(),$papp);
+ if(self::app_installed(local_channel(),$papp) && !$papp['deleted'])
+ $installed = true;
+
$hosturl = z_root() . '/';
}
elseif(remote_channel()) {
@@ -495,18 +518,21 @@ class Apps {
if($mode === 'install') {
$papp['embed'] = true;
}
+
return replace_macros(get_markup_template('app.tpl'),array(
'$app' => $papp,
'$icon' => $icon,
'$hosturl' => $hosturl,
'$purchase' => (($papp['page'] && (! $installed)) ? t('Purchase') : ''),
- '$install' => (($hosturl && in_array($mode, ['view','install'])) ? $install_action : ''),
+ '$installed' => $installed,
+ '$action_label' => (($hosturl && in_array($mode, ['view','install'])) ? $install_action : ''),
'$edit' => ((local_channel() && $installed && $mode == 'edit') ? t('Edit') : ''),
- '$delete' => ((local_channel() && $installed && $mode == 'edit') ? t('Delete') : ''),
- '$undelete' => ((local_channel() && $installed && $mode == 'edit') ? t('Undelete') : ''),
+ '$delete' => ((local_channel() && $mode == 'edit') ? t('Delete') : ''),
+ '$undelete' => ((local_channel() && $mode == 'edit') ? t('Undelete') : ''),
+ '$settings_url' => ((local_channel() && $installed && $mode == 'list') ? $papp['settings_url'] : ''),
'$deleted' => $papp['deleted'],
- '$feature' => (($papp['embed']) ? false : true),
- '$pin' => (($papp['embed']) ? false : true),
+ '$feature' => (($papp['embed'] || $mode == 'edit') ? false : true),
+ '$pin' => (($papp['embed'] || $mode == 'edit') ? false : true),
'$featured' => ((strpos($papp['categories'], 'nav_featured_app') === false) ? false : true),
'$pinned' => ((strpos($papp['categories'], 'nav_pinned_app') === false) ? false : true),
'$navapps' => (($mode == 'nav') ? true : false),
@@ -514,14 +540,15 @@ class Apps {
'$add' => t('Add to app-tray'),
'$remove' => t('Remove from app-tray'),
'$add_nav' => t('Pin to navbar'),
- '$remove_nav' => t('Unpin from navbar')
+ '$remove_nav' => t('Unpin from navbar'),
+ '$rpath' => z_root() . '/apps'
));
}
static public function app_install($uid,$app) {
$app['uid'] = $uid;
- if(self::app_installed($uid,$app))
+ if(self::app_installed($uid,$app,true))
$x = self::app_update($app);
else
$x = self::app_store($app);
@@ -649,33 +676,60 @@ class Apps {
}
}
- static public function app_installed($uid,$app) {
+ static public function app_installed($uid,$app,$bypass_filter=false) {
$r = q("select id from app where app_id = '%s' and app_channel = %d limit 1",
dbesc((array_key_exists('guid',$app)) ? $app['guid'] : ''),
intval($uid)
);
+ if (!$bypass_filter) {
+ $filter_arr = [
+ 'uid'=>$uid,
+ 'app'=>$app,
+ 'installed'=>$r
+ ];
+ call_hooks('app_installed_filter',$filter_arr);
+ $r = $filter_arr['installed'];
+ }
return(($r) ? true : false);
}
- static public function addon_app_installed($uid,$app) {
+ static public function addon_app_installed($uid,$app,$bypass_filter=false) {
$r = q("select id from app where app_plugin = '%s' and app_channel = %d limit 1",
dbesc($app),
intval($uid)
);
+ if (!$bypass_filter) {
+ $filter_arr = [
+ 'uid'=>$uid,
+ 'app'=>$app,
+ 'installed'=>$r
+ ];
+ call_hooks('addon_app_installed_filter',$filter_arr);
+ $r = $filter_arr['installed'];
+ }
return(($r) ? true : false);
}
- static public function system_app_installed($uid,$app) {
+ static public function system_app_installed($uid,$app,$bypass_filter=false) {
$r = q("select id from app where app_id = '%s' and app_channel = %d limit 1",
dbesc(hash('whirlpool',$app)),
intval($uid)
);
+ if (!$bypass_filter) {
+ $filter_arr = [
+ 'uid'=>$uid,
+ 'app'=>$app,
+ 'installed'=>$r
+ ];
+ call_hooks('system_app_installed_filter',$filter_arr);
+ $r = $filter_arr['installed'];
+ }
return(($r) ? true : false);
}
@@ -721,6 +775,9 @@ class Apps {
);
if($r) {
+ $hookinfo = Array('uid'=>$uid,'deleted'=>$deleted,'cats'=>$cats,'apps'=>$r);
+ call_hooks('app_list',$hookinfo);
+ $r = $hookinfo['apps'];
for($x = 0; $x < count($r); $x ++) {
if(! $r[$x]['app_system'])
$r[$x]['type'] = 'personal';
@@ -908,7 +965,7 @@ class Apps {
$arr['author'] = $sys['channel_hash'];
}
- if($arr['photo'] && (strpos($arr['photo'],'icon:') === false) && (! strstr($arr['photo'],z_root()))) {
+ if($arr['photo'] && (strpos($arr['photo'],'icon:') === false) && (! strpos($arr['photo'],z_root()))) {
$x = import_xchan_photo(str_replace('$baseurl',z_root(),$arr['photo']),get_observer_hash(),true);
$arr['photo'] = $x[1];
}
@@ -994,7 +1051,7 @@ class Apps {
if((! $darray['app_url']) || (! $darray['app_id']))
return $ret;
- if($arr['photo'] && (strpos($arr['photo'],'icon:') === false) && (! strstr($arr['photo'],z_root()))) {
+ if($arr['photo'] && (strpos($arr['photo'],'icon:') === false) && (! strpos($arr['photo'],z_root()))) {
$x = import_xchan_photo(str_replace('$baseurl',z_root(),$arr['photo']),get_observer_hash(),true);
$arr['photo'] = $x[1];
}
diff --git a/Zotlabs/Lib/Group.php b/Zotlabs/Lib/Group.php
index f136a3614..a4ff4fced 100644
--- a/Zotlabs/Lib/Group.php
+++ b/Zotlabs/Lib/Group.php
@@ -20,11 +20,11 @@ class Group {
// access lists. What we're doing here is reviving the dead group, but old content which
// was restricted to this group may now be seen by the new group members.
- $z = q("SELECT * FROM groups WHERE id = %d LIMIT 1",
+ $z = q("SELECT * FROM pgrp WHERE id = %d LIMIT 1",
intval($r)
);
if(($z) && $z[0]['deleted']) {
- q('UPDATE groups SET deleted = 0 WHERE id = %d', intval($z[0]['id']));
+ q('UPDATE pgrp SET deleted = 0 WHERE id = %d', intval($z[0]['id']));
notice( t('A deleted group with this name was revived. Existing item permissions may apply to this group and any future members. If this is not what you intended, please create another group with a different name.') . EOL);
}
return true;
@@ -34,13 +34,13 @@ class Group {
$dups = false;
$hash = random_string(32) . str_replace(['<','>'],['.','.'], $name);
- $r = q("SELECT id FROM groups WHERE hash = '%s' LIMIT 1", dbesc($hash));
+ $r = q("SELECT id FROM pgrp WHERE hash = '%s' LIMIT 1", dbesc($hash));
if($r)
$dups = true;
} while($dups == true);
- $r = q("INSERT INTO groups ( hash, uid, visible, gname )
+ $r = q("INSERT INTO pgrp ( hash, uid, visible, gname )
VALUES( '%s', %d, %d, '%s' ) ",
dbesc($hash),
intval($uid),
@@ -58,7 +58,7 @@ class Group {
static function remove($uid,$name) {
$ret = false;
if(x($uid) && x($name)) {
- $r = q("SELECT id, hash FROM groups WHERE uid = %d AND gname = '%s' LIMIT 1",
+ $r = q("SELECT id, hash FROM pgrp WHERE uid = %d AND gname = '%s' LIMIT 1",
intval($uid),
dbesc($name)
);
@@ -103,13 +103,13 @@ class Group {
}
// remove all members
- $r = q("DELETE FROM group_member WHERE uid = %d AND gid = %d ",
+ $r = q("DELETE FROM pgrp_member WHERE uid = %d AND gid = %d ",
intval($uid),
intval($group_id)
);
// remove group
- $r = q("UPDATE groups SET deleted = 1 WHERE uid = %d AND gname = '%s'",
+ $r = q("UPDATE pgrp SET deleted = 1 WHERE uid = %d AND gname = '%s'",
intval($uid),
dbesc($name)
);
@@ -127,7 +127,7 @@ class Group {
static function byname($uid,$name) {
if((! $uid) || (! strlen($name)))
return false;
- $r = q("SELECT * FROM groups WHERE uid = %d AND gname = '%s' LIMIT 1",
+ $r = q("SELECT * FROM pgrp WHERE uid = %d AND gname = '%s' LIMIT 1",
intval($uid),
dbesc($name)
);
@@ -140,7 +140,7 @@ class Group {
static function rec_byhash($uid,$hash) {
if((! $uid) || (! strlen($hash)))
return false;
- $r = q("SELECT * FROM groups WHERE uid = %d AND hash = '%s' LIMIT 1",
+ $r = q("SELECT * FROM pgrp WHERE uid = %d AND hash = '%s' LIMIT 1",
intval($uid),
dbesc($hash)
);
@@ -156,7 +156,7 @@ class Group {
return false;
if(! ( $uid && $gid && $member))
return false;
- $r = q("DELETE FROM group_member WHERE uid = %d AND gid = %d AND xchan = '%s' ",
+ $r = q("DELETE FROM pgrp_member WHERE uid = %d AND gid = %d AND xchan = '%s' ",
intval($uid),
intval($gid),
dbesc($member)
@@ -174,7 +174,7 @@ class Group {
if((! $gid) || (! $uid) || (! $member))
return false;
- $r = q("SELECT * FROM group_member WHERE uid = %d AND gid = %d AND xchan = '%s' LIMIT 1",
+ $r = q("SELECT * FROM pgrp_member WHERE uid = %d AND gid = %d AND xchan = '%s' LIMIT 1",
intval($uid),
intval($gid),
dbesc($member)
@@ -184,7 +184,7 @@ class Group {
// we indicate success because the group member was in fact created
// -- It was just created at another time
if(! $r)
- $r = q("INSERT INTO group_member (uid, gid, xchan)
+ $r = q("INSERT INTO pgrp_member (uid, gid, xchan)
VALUES( %d, %d, '%s' ) ",
intval($uid),
intval($gid),
@@ -200,9 +200,9 @@ class Group {
static function members($gid) {
$ret = array();
if(intval($gid)) {
- $r = q("SELECT * FROM group_member
- LEFT JOIN abook ON abook_xchan = group_member.xchan left join xchan on xchan_hash = abook_xchan
- WHERE gid = %d AND abook_channel = %d and group_member.uid = %d and xchan_deleted = 0 and abook_self = 0 and abook_blocked = 0 and abook_pending = 0 ORDER BY xchan_name ASC ",
+ $r = q("SELECT * FROM pgrp_member
+ LEFT JOIN abook ON abook_xchan = pgrp_member.xchan left join xchan on xchan_hash = abook_xchan
+ WHERE gid = %d AND abook_channel = %d and pgrp_member.uid = %d and xchan_deleted = 0 and abook_self = 0 and abook_blocked = 0 and abook_pending = 0 ORDER BY xchan_name ASC ",
intval($gid),
intval(local_channel()),
intval(local_channel())
@@ -216,7 +216,7 @@ class Group {
static function members_xchan($gid) {
$ret = [];
if(intval($gid)) {
- $r = q("SELECT xchan FROM group_member WHERE gid = %d AND uid = %d",
+ $r = q("SELECT xchan FROM pgrp_member WHERE gid = %d AND uid = %d",
intval($gid),
intval(local_channel())
);
@@ -254,7 +254,7 @@ class Group {
$grps = [];
$o = '';
- $r = q("SELECT * FROM groups WHERE deleted = 0 AND uid = %d ORDER BY gname ASC",
+ $r = q("SELECT * FROM pgrp WHERE deleted = 0 AND uid = %d ORDER BY gname ASC",
intval($uid)
);
$grps[] = array('name' => '', 'hash' => '0', 'selected' => '');
@@ -286,7 +286,7 @@ class Group {
$groups = array();
- $r = q("SELECT * FROM groups WHERE deleted = 0 AND uid = %d ORDER BY gname ASC",
+ $r = q("SELECT * FROM pgrp WHERE deleted = 0 AND uid = %d ORDER BY gname ASC",
intval($_SESSION['uid'])
);
$member_of = array();
@@ -366,7 +366,7 @@ class Group {
stringify_array_elms($x,true);
$groups = implode(',', $x);
if($groups) {
- $r = q("SELECT xchan FROM group_member WHERE gid IN ( select id from groups where hash in ( $groups ))");
+ $r = q("SELECT xchan FROM pgrp_member WHERE gid IN ( select id from pgrp where hash in ( $groups ))");
if($r) {
foreach($r as $rr) {
$ret[] = $rr['xchan'];
@@ -379,7 +379,7 @@ class Group {
static function member_of($c) {
- $r = q("SELECT groups.gname, groups.id FROM groups LEFT JOIN group_member ON group_member.gid = groups.id WHERE group_member.xchan = '%s' AND groups.deleted = 0 ORDER BY groups.gname ASC ",
+ $r = q("SELECT pgrp.gname, pgrp.id FROM pgrp LEFT JOIN pgrp_member ON pgrp_member.gid = pgrp.id WHERE pgrp_member.xchan = '%s' AND pgrp.deleted = 0 ORDER BY pgrp.gname ASC ",
dbesc($c)
);
@@ -389,7 +389,7 @@ class Group {
static function containing($uid,$c) {
- $r = q("SELECT gid FROM group_member WHERE uid = %d AND group_member.xchan = '%s' ",
+ $r = q("SELECT gid FROM pgrp_member WHERE uid = %d AND pgrp_member.xchan = '%s' ",
intval($uid),
dbesc($c)
);
diff --git a/Zotlabs/Lib/Libsync.php b/Zotlabs/Lib/Libsync.php
index 938d484b7..d037a0058 100644
--- a/Zotlabs/Lib/Libsync.php
+++ b/Zotlabs/Lib/Libsync.php
@@ -122,13 +122,13 @@ class Libsync {
}
if($groups_changed) {
- $r = q("select hash as collection, visible, deleted, gname as name from groups where uid = %d",
+ $r = q("select hash as collection, visible, deleted, gname as name from pgrp where uid = %d",
intval($uid)
);
if($r)
$info['collections'] = $r;
- $r = q("select groups.hash as collection, group_member.xchan as member from groups left join group_member on groups.id = group_member.gid where group_member.uid = %d",
+ $r = q("select pgrp.hash as collection, pgrp_member.xchan as member from pgrp left join pgrp_member on pgrp.id = pgrp_member.gid where pgrp_member.uid = %d",
intval($uid)
);
if($r)
@@ -464,7 +464,7 @@ class Libsync {
// sync collections (privacy groups) oh joy...
if(array_key_exists('collections',$arr) && is_array($arr['collections']) && count($arr['collections'])) {
- $x = q("select * from groups where uid = %d",
+ $x = q("select * from pgrp where uid = %d",
intval($channel['channel_id'])
);
foreach($arr['collections'] as $cl) {
@@ -480,7 +480,7 @@ class Libsync {
if(($y['gname'] != $cl['name'])
|| ($y['visible'] != $cl['visible'])
|| ($y['deleted'] != $cl['deleted'])) {
- q("update groups set gname = '%s', visible = %d, deleted = %d where hash = '%s' and uid = %d",
+ q("update pgrp set gname = '%s', visible = %d, deleted = %d where hash = '%s' and uid = %d",
dbesc($cl['name']),
intval($cl['visible']),
intval($cl['deleted']),
@@ -489,14 +489,14 @@ class Libsync {
);
}
if(intval($cl['deleted']) && (! intval($y['deleted']))) {
- q("delete from group_member where gid = %d",
+ q("delete from pgrp_member where gid = %d",
intval($y['id'])
);
}
}
}
if(! $found) {
- $r = q("INSERT INTO groups ( hash, uid, visible, deleted, gname )
+ $r = q("INSERT INTO pgrp ( hash, uid, visible, deleted, gname )
VALUES( '%s', %d, %d, %d, '%s' ) ",
dbesc($cl['collection']),
intval($channel['channel_id']),
@@ -520,10 +520,10 @@ class Libsync {
}
}
if(! $found_local) {
- q("delete from group_member where gid = %d",
+ q("delete from pgrp_member where gid = %d",
intval($y['id'])
);
- q("update groups set deleted = 1 where id = %d and uid = %d",
+ q("update pgrp set deleted = 1 where id = %d and uid = %d",
intval($y['id']),
intval($channel['channel_id'])
);
@@ -533,7 +533,7 @@ class Libsync {
}
// reload the group list with any updates
- $x = q("select * from groups where uid = %d",
+ $x = q("select * from pgrp where uid = %d",
intval($channel['channel_id'])
);
@@ -560,7 +560,7 @@ class Libsync {
if(isset($y['hash']) && isset($members[$y['hash']])) {
foreach($members[$y['hash']] as $member) {
$found = false;
- $z = q("select xchan from group_member where gid = %d and uid = %d and xchan = '%s' limit 1",
+ $z = q("select xchan from pgrp_member where gid = %d and uid = %d and xchan = '%s' limit 1",
intval($y['id']),
intval($channel['channel_id']),
dbesc($member)
@@ -571,7 +571,7 @@ class Libsync {
// if somebody is in the group that wasn't before - add them
if(! $found) {
- q("INSERT INTO group_member (uid, gid, xchan)
+ q("INSERT INTO pgrp_member (uid, gid, xchan)
VALUES( %d, %d, '%s' ) ",
intval($channel['channel_id']),
intval($y['id']),
@@ -582,7 +582,7 @@ class Libsync {
}
// now retrieve a list of members we have on this site
- $m = q("select xchan from group_member where gid = %d and uid = %d",
+ $m = q("select xchan from pgrp_member where gid = %d and uid = %d",
intval($y['id']),
intval($channel['channel_id'])
);
@@ -590,7 +590,7 @@ class Libsync {
foreach($m as $mm) {
// if the local existing member isn't in the list we just received - remove them
if(! in_array($mm['xchan'],$members[$y['hash']])) {
- q("delete from group_member where xchan = '%s' and gid = %d and uid = %d",
+ q("delete from pgrp_member where xchan = '%s' and gid = %d and uid = %d",
dbesc($mm['xchan']),
intval($y['id']),
intval($channel['channel_id'])
diff --git a/Zotlabs/Lib/ThreadItem.php b/Zotlabs/Lib/ThreadItem.php
index ed78ae00b..ac24806a6 100644
--- a/Zotlabs/Lib/ThreadItem.php
+++ b/Zotlabs/Lib/ThreadItem.php
@@ -259,7 +259,7 @@ class ThreadItem {
$forged = ((($item['sig']) && (! intval($item['item_verified']))) ? t('Message signature incorrect') : '');
$unverified = '' ; // (($this->is_wall_to_wall() && (! intval($item['item_verified']))) ? t('Message cannot be verified') : '');
-
+ $settings = '';
// FIXME - check this permission
if($conv->get_profile_owner() == local_channel()) {
@@ -267,6 +267,8 @@ class ThreadItem {
'tagit' => t("Add Tag"),
'classtagger' => "",
);
+
+ $settings = t('Conversation Tools');
}
$has_bookmarks = false;
@@ -325,6 +327,10 @@ class ThreadItem {
$has_tags = (($body['tags'] || $body['categories'] || $body['mentions'] || $body['attachments'] || $body['folders']) ? true : false);
+ $dropdown_extras_arr = [ 'item' => $item , 'dropdown_extras' => '' ];
+ call_hooks('dropdown_extras',$dropdown_extras_arr);
+ $dropdown_extras = $dropdown_extras_arr['dropdown_extras'];
+
$tmp_item = array(
'template' => $this->get_template(),
'mode' => $mode,
@@ -404,6 +410,7 @@ class ThreadItem {
'addtocal' => (($has_event) ? t('Add to Calendar') : ''),
'drop' => $drop,
'multidrop' => ((feature_enabled($conv->get_profile_owner(),'multi_delete')) ? $multidrop : ''),
+ 'dropdown_extras' => $dropdown_extras,
// end toolbar buttons
'unseen_comments' => $unseen_comments,
@@ -431,7 +438,8 @@ class ThreadItem {
'preview_lbl' => t('This is an unsaved preview'),
'wait' => t('Please wait'),
'submid' => str_replace(['+','='], ['',''], base64_encode($item['mid'])),
- 'thread_level' => $thread_level
+ 'thread_level' => $thread_level,
+ 'settings' => $settings
);
$arr = array('item' => $item, 'output' => $tmp_item);
diff --git a/Zotlabs/Module/Acl.php b/Zotlabs/Module/Acl.php
index 0c2ad7522..ea131e08c 100644
--- a/Zotlabs/Module/Acl.php
+++ b/Zotlabs/Module/Acl.php
@@ -81,7 +81,7 @@ class Acl extends \Zotlabs\Web\Controller {
if($search) {
- $sql_extra = " AND groups.gname LIKE " . protect_sprintf( "'%" . dbesc($search) . "%'" ) . " ";
+ $sql_extra = " AND pgrp.gname LIKE " . protect_sprintf( "'%" . dbesc($search) . "%'" ) . " ";
$sql_extra2 = "AND ( xchan_name LIKE " . protect_sprintf( "'%" . dbesc($search) . "%'" ) . " OR xchan_addr LIKE " . protect_sprintf( "'%" . dbesc(punify($search)) . ((strpos($search,'@') === false) ? "%@%'" : "%'")) . ") ";
// This horrible mess is needed because position also returns 0 if nothing is found.
@@ -128,13 +128,13 @@ class Acl extends \Zotlabs\Web\Controller {
// Normal privacy groups
- $r = q("SELECT groups.id, groups.hash, groups.gname
- FROM groups, group_member
- WHERE groups.deleted = 0 AND groups.uid = %d
- AND group_member.gid = groups.id
+ $r = q("SELECT pgrp.id, pgrp.hash, pgrp.gname
+ FROM pgrp, pgrp_member
+ WHERE pgrp.deleted = 0 AND pgrp.uid = %d
+ AND pgrp_member.gid = pgrp.id
$sql_extra
- GROUP BY groups.id
- ORDER BY groups.gname
+ GROUP BY pgrp.id
+ ORDER BY pgrp.gname
LIMIT %d OFFSET %d",
intval(local_channel()),
intval($count),
diff --git a/Zotlabs/Module/Admin.php b/Zotlabs/Module/Admin.php
index 2df8dc25d..6edced9b5 100644
--- a/Zotlabs/Module/Admin.php
+++ b/Zotlabs/Module/Admin.php
@@ -109,7 +109,7 @@ class Admin extends \Zotlabs\Web\Controller {
// available channels, primary and clones
$channels = array();
- $r = q("SELECT COUNT(*) AS total, COUNT(CASE WHEN channel_primary = 1 THEN 1 ELSE NULL END) AS main, COUNT(CASE WHEN channel_primary = 0 THEN 1 ELSE NULL END) AS clones FROM channel WHERE channel_removed = 0");
+ $r = q("SELECT COUNT(*) AS total, COUNT(CASE WHEN channel_primary = 1 THEN 1 ELSE NULL END) AS main, COUNT(CASE WHEN channel_primary = 0 THEN 1 ELSE NULL END) AS clones FROM channel WHERE channel_removed = 0 and channel_system = 0");
if ($r) {
$channels['total'] = array('label' => t('Channels'), 'val' => $r[0]['total']);
$channels['main'] = array('label' => t('Primary'), 'val' => $r[0]['main']);
diff --git a/Zotlabs/Module/Apps.php b/Zotlabs/Module/Apps.php
index 78c8d99ae..05b4495fc 100644
--- a/Zotlabs/Module/Apps.php
+++ b/Zotlabs/Module/Apps.php
@@ -47,11 +47,11 @@ class Apps extends \Zotlabs\Web\Controller {
return replace_macros(get_markup_template('myapps.tpl'), array(
'$sitename' => get_config('system','sitename'),
'$cat' => $cat,
- '$title' => t('Apps'),
+ '$title' => (($available) ? t('Available Apps') : t('Installed Apps')),
'$apps' => $apps,
'$authed' => ((local_channel()) ? true : false),
- '$manage' => (($available) ? '' : t('Manage apps')),
- '$create' => (($mode == 'edit') ? t('Create new app') : '')
+ '$manage' => (($available) ? '' : t('Manage Apps')),
+ '$create' => (($mode == 'edit') ? t('Create Custom App') : '')
));
}
diff --git a/Zotlabs/Module/Articles.php b/Zotlabs/Module/Articles.php
index e1f0b4ab0..7af1ab6b8 100644
--- a/Zotlabs/Module/Articles.php
+++ b/Zotlabs/Module/Articles.php
@@ -1,12 +1,17 @@
Articles App (Not Installed):
';
+ $o .= t('Create interactive articles');
+ return $o;
}
- nav_set_selected(t('Articles'));
+ nav_set_selected('Articles');
head_add_link([
'rel' => 'alternate',
'type' => 'application/json+oembed',
- 'href' => z_root() . '/oep?f=&url=' . urlencode(z_root() . '/' . \App::$query_string),
+ 'href' => z_root() . '/oep?f=&url=' . urlencode(z_root() . '/' . App::$query_string),
'title' => 'oembed'
]);
@@ -48,7 +58,7 @@ class Articles extends \Zotlabs\Web\Controller {
$category = (($_REQUEST['cat']) ? escape_tags(trim($_REQUEST['cat'])) : '');
if($category) {
- $sql_extra2 .= protect_sprintf(term_item_parent_query(\App::$profile['profile_uid'],'item', $category, TERM_CATEGORY));
+ $sql_extra2 .= protect_sprintf(term_item_parent_query(App::$profile['profile_uid'],'item', $category, TERM_CATEGORY));
}
$datequery = ((x($_GET,'dend') && is_a_date_arg($_GET['dend'])) ? notags($_GET['dend']) : '');
@@ -58,11 +68,11 @@ class Articles extends \Zotlabs\Web\Controller {
$selected_card = ((argc() > 2) ? argv(2) : '');
- $_SESSION['return_url'] = \App::$query_string;
+ $_SESSION['return_url'] = App::$query_string;
$uid = local_channel();
- $owner = \App::$profile_uid;
- $observer = \App::get_observer();
+ $owner = App::$profile_uid;
+ $observer = App::get_observer();
$ob_hash = (($observer) ? $observer['xchan_hash'] : '');
@@ -100,7 +110,7 @@ class Articles extends \Zotlabs\Web\Controller {
'lockstate' => (($channel['channel_allow_cid'] || $channel['channel_allow_gid']
|| $channel['channel_deny_cid'] || $channel['channel_deny_gid']) ? 'lock' : 'unlock'),
'acl' => (($is_owner) ? populate_acl($channel_acl, false,
- \Zotlabs\Lib\PermissionDescription::fromGlobalPermission('view_pages')) : ''),
+ PermissionDescription::fromGlobalPermission('view_pages')) : ''),
'permissions' => $channel_acl,
'showacl' => (($is_owner) ? true : false),
'visitor' => true,
@@ -130,8 +140,8 @@ class Articles extends \Zotlabs\Web\Controller {
}
$itemspage = get_pconfig(local_channel(),'system','itemspage');
- \App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 20));
- $pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(\App::$pager['itemspage']), intval(\App::$pager['start']));
+ App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 20));
+ $pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(App::$pager['itemspage']), intval(App::$pager['start']));
$sql_extra = item_permissions_sql($owner);
@@ -179,7 +189,7 @@ class Articles extends \Zotlabs\Web\Controller {
WHERE item.uid = %d $item_normal
AND item.parent IN ( %s )
$sql_extra $sql_extra2 ",
- intval(\App::$profile['profile_uid']),
+ intval(App::$profile['profile_uid']),
dbesc($parents_str)
);
if($items) {
diff --git a/Zotlabs/Module/Bookmarks.php b/Zotlabs/Module/Bookmarks.php
index e147ffe6c..cee86a47d 100644
--- a/Zotlabs/Module/Bookmarks.php
+++ b/Zotlabs/Module/Bookmarks.php
@@ -59,7 +59,7 @@ class Bookmarks extends \Zotlabs\Web\Controller {
killme();
}
- function get() {
+ function get() {
if(! local_channel()) {
notice( t('Permission denied.') . EOL);
return;
@@ -71,7 +71,6 @@ class Bookmarks extends \Zotlabs\Web\Controller {
$channel = \App::get_channel();
- //$o = profile_tabs($a,true,$channel['channel_address']);
$o = '';
$o .= '
' . t('Current Revision') . ' | ' . t('Selected Revision') . ' |
Function | Source File | Arg |
$a->module . _mod_aftercontent | index.php | $arr |
$a->module . _mod_content | index.php | $arr |
$a->module . _mod_init | index.php | $placeholder |
$a->module . _mod_post | index.php | $_POST |
$a->module . _post_ . $selname | include/acl_selectors.php | $o |
$a->module . _post_ . $selname | include/acl_selectors.php | $o |
$a->module . _post_ . $selname | include/acl_selectors.php | $o |
$a->module . _pre_ . $selname | include/acl_selectors.php | $arr |
$a->module . _pre_ . $selname | include/acl_selectors.php | $arr |
$a->module . _pre_ . $selname | include/acl_selectors.php | $arr |
$name | include/plugin.php | &$data = null |
about_hook | mod/siteinfo.php | $o |
accept_follow | mod/connedit.php | $arr |
account_downgrade | include/account.php | $ret |
account_downgrade | include/account.php | $ret |
account_settings | mod/settings.php | $account_settings |
activity_received | include/zot.php | $parr |
affinity_labels | include/widgets.php | $labels |
affinity_labels | mod/connedit.php | $labels |
api_perm_is_allowed | include/permissions.php | $arr |
app_menu | index.php | $arr |
atom_author | include/items.php | $o |
atom_entry | include/items.php | $o |
atom_feed | include/items.php | $atom |
atom_feed_end | include/items.php | $atom |
attach_upload_file | include/attach.php | $f |
authenticate | include/auth.php | $addon_auth |
avatar_lookup | include/network.php | $avatar |
bb2diaspora | include/markdown.php | $Text |
bbcode | include/bbcode.php | $Text |
channel_remove | include/Contact.php | $r[0] |
chat_message | include/chat.php | $arr |
chat_post | mod/chatsvc.php | $arr |
check_account_email | include/account.php | $arr |
check_account_invite | include/account.php | $arr |
check_account_password | include/account.php | $arr |
connect_premium | mod/connect.php | $arr |
connector_settings | mod/settings.php | $settings_connectors |
construct_page | boot.php | $arr |
contact_block_end | include/text.php | $arr |
contact_edit | mod/connedit.php | $arr |
contact_edit_post | mod/connedit.php | $_POST |
contact_select_options | include/acl_selectors.php | $x |
conversation_start | include/conversation.php | $cb |
create_identity | include/channel.php | $newuid |
cron | include/cronhooks.php | $d |
cron_daily | include/poller.php | datetime_convert() |
cron_weekly | include/poller.php | datetime_convert() |
directory_item | mod/directory.php | $arr |
discover_by_webbie | include/network.php | $arr |
display_item | include/ItemObject.php | $arr |
display_item | include/conversation.php | $arr |
display_settings | mod/settings.php | $o |
display_settings_post | mod/settings.php | $_POST |
donate_contributors | extend/addon/matrix/donate/donate.php | $contributors |
donate_plugin | extend/addon/matrix/donate/donate.php | $o |
donate_sponsors | extend/addon/matrix/donate/donate.php | $sponsors |
dreport_is_storable | include/zot.php | $dr |
drop_item | include/items.php | $arr |
enotify | include/enotify.php | $h |
enotify_mail | include/enotify.php | $datarray |
enotify_store | include/enotify.php | $datarray |
event_created | include/event.php | $event[id] |
event_updated | include/event.php | $event[id] |
externals_url_select | include/externals.php | $arr |
feature_enabled | include/features.php | $arr |
feature_settings | mod/settings.php | $settings_addons |
feature_settings_post | mod/settings.php | $_POST |
follow | include/follow.php | $arr |
follow | include/follow.php | $arr |
follow_allow | include/follow.php | $x |
gender_selector | include/profile_selectors.php | $select |
gender_selector_min | include/profile_selectors.php | $select |
generate_map | include/text.php | $arr |
generate_named_map | include/text.php | $arr |
get_all_api_perms | include/permissions.php | $arr |
get_all_perms | include/permissions.php | $arr |
get_features | include/features.php | $arr |
get_role_perms | include/permissions.php | $ret |
get_widgets | boot.php | $arr |
get_widgets | boot.php | $arr |
global_permissions | include/permissions.php | $ret |
home_content | mod/home.php | $o |
home_init | mod/home.php | $ret |
hostxrd | mod/hostxrd.php | $arr |
html2bbcode | include/html2bbcode.php | $message |
identity_basic_export | include/channel.php | $addon |
import_author_xchan | include/items.php | $arr |
import_channel | mod/import.php | $addon |
import_directory_profile | include/zot.php | $d |
import_xchan | include/zot.php | $arr |
item_photo_menu | include/conversation.php | $args |
item_store | include/items.php | $d |
item_store | include/items.php | $arr |
item_store_update | include/items.php | $d |
item_translate | include/items.php | $translate |
item_translate | include/items.php | $translate |
jot_networks | include/acl_selectors.php | $jotnets |
jot_networks | include/conversation.php | $jotnets |
jot_networks | mod/editblock.php | $jotnets |
jot_networks | mod/editpost.php | $jotnets |
jot_networks | mod/editwebpage.php | $jotnets |
jot_networks | mod/editlayout.php | $jotnets |
jot_tool | include/conversation.php | $jotplugins |
jot_tool | mod/editblock.php | $jotplugins |
jot_tool | mod/editpost.php | $jotplugins |
jot_tool | mod/editwebpage.php | $jotplugins |
jot_tool | mod/editlayout.php | $jotplugins |
load_pdl | boot.php | $arr |
local_dir_update | include/dir_fns.php | $arr |
logged_in | include/oauth.php | $a->user |
logged_in | include/api.php | $a->user |
logged_in | include/security.php | $a->account |
logged_in | include/security.php | $user_record |
logging_out | include/auth.php | $args |
login_hook | boot.php | $o |
magic_auth | mod/magic.php | $arr |
magic_auth_openid_success | mod/openid.php | $arr |
magic_auth_openid_success | mod/openid.php | $arr |
magic_auth_success | mod/post.php | $arr |
main_slider | include/widgets.php | $arr |
marital_selector | include/profile_selectors.php | $select |
marital_selector_min | include/profile_selectors.php | $select |
module_loaded | index.php | $x |
mood_verbs | include/text.php | $arr |
nav | include/nav.php | $x |
network_content_init | mod/network.php | $arr |
network_ping | mod/ping.php | $arr |
network_tabs | include/conversation.php | $arr |
network_to_name | include/contact_selectors.php | $nets |
notifier_end | include/notifier.php | $target_item |
notifier_hub | include/notifier.php | $narr |
notifier_normal | include/deliver_hooks.php | $r[0] |
obj_verbs | include/taxonomy.php | $arr |
oembed_probe | include/oembed.php | $x |
page_content_top | index.php | $a->page[content] |
page_end | index.php | $a->page[content] |
page_header | include/nav.php | $a->page[nav] |
parse_atom | include/items.php | $arr |
parse_link | mod/linkinfo.php | $arr |
pdl_selector | include/comanche.php | $arr |
perm_is_allowed | include/permissions.php | $arr |
permissions_create | include/notifier.php | $perm_update |
permissions_update | include/notifier.php | $perm_update |
personal_xrd | mod/xrd.php | $arr |
photo_post_end | include/photos.php | $ret |
photo_post_end | include/photos.php | $ret |
photo_upload_begin | include/attach.php | $arr |
photo_upload_begin | include/photos.php | $args |
photo_upload_end | include/attach.php | $ret |
photo_upload_end | include/attach.php | $ret |
photo_upload_end | include/attach.php | $ret |
photo_upload_end | include/attach.php | $ret |
photo_upload_end | include/attach.php | $ret |
photo_upload_end | include/photos.php | $ret |
photo_upload_end | include/photos.php | $ret |
photo_upload_end | include/photos.php | $ret |
photo_upload_end | include/photos.php | $ret |
photo_upload_file | include/attach.php | $f |
photo_upload_file | include/photos.php | $f |
photo_upload_form | mod/photos.php | $ret |
poke_verbs | include/text.php | $arr |
post_local | include/zot.php | $arr |
post_local | include/items.php | $arr |
post_local | mod/item.php | $datarray |
post_local_end | include/items.php | $arr |
post_local_end | include/attach.php | $arr |
post_local_end | include/attach.php | $arr |
post_local_end | extend/addon/matrix/randpost/randpost.php | $x |
post_local_end | extend/addon/matrix/randpost/randpost.php | $x |
post_local_end | mod/mood.php | $arr |
post_local_end | mod/like.php | $arr |
post_local_end | mod/item.php | $datarray |
post_local_end | mod/subthread.php | $arr |
post_local_start | mod/item.php | $_REQUEST |
post_mail | include/items.php | $arr |
post_mail_end | include/items.php | $arr |
post_remote | include/items.php | $arr |
post_remote_end | include/items.php | $arr |
post_remote_update | include/items.php | $arr |
post_remote_update_end | include/items.php | $arr |
prepare_body | include/text.php | $prep_arr |
prepare_body_final | include/text.php | $prep_arr |
prepare_body_init | include/text.php | $item |
probe_well_known | include/probe.php | $ret |
proc_run | boot.php | $arr |
process_channel_sync_delivery | include/zot.php | $addon |
profile_advanced | mod/profile.php | $o |
profile_edit | mod/profiles.php | $arr |
profile_photo_content_end | mod/profile_photo.php | $o |
profile_post | mod/profiles.php | $_POST |
profile_sidebar | include/channel.php | $arr |
profile_sidebar_enter | include/channel.php | $profile |
profile_tabs | include/conversation.php | $arr |
register_account | include/account.php | $result |
render_location | include/conversation.php | $locate |
replace_macros | include/text.php | $arr |
reverse_magic_auth | mod/rmagic.php | $arr |
settings_account | mod/settings.php | $_POST |
settings_form | mod/settings.php | $o |
settings_post | mod/settings.php | $_POST |
sexpref_selector | include/profile_selectors.php | $select |
sexpref_selector_min | include/profile_selectors.php | $select |
smilie | include/text.php | $params |
smilie | extend/addon/matrix/smileybutton/smileybutton.php | $params |
tagged | include/items.php | $arr |
validate_channelname | include/channel.php | $arr |
webfinger | mod/wfinger.php | $arr |
well_known | mod/_well_known.php | $arr |
zid | include/channel.php | $arr |
zid_init | include/channel.php | $arr |
zot_finger | include/zot.php | $ret |
Generated Tue Nov 03 21:19:02 PST 2015
Function | Source File | Arg |
$a->module . _mod_aftercontent | index.php | $arr |
$a->module . _mod_content | index.php | $arr |
$a->module . _mod_init | index.php | $placeholder |
$a->module . _mod_post | index.php | $_POST |
$a->module . _post_ . $selname | include/acl_selectors.php | $o |
$a->module . _post_ . $selname | include/acl_selectors.php | $o |
$a->module . _post_ . $selname | include/acl_selectors.php | $o |
$a->module . _pre_ . $selname | include/acl_selectors.php | $arr |
$a->module . _pre_ . $selname | include/acl_selectors.php | $arr |
$a->module . _pre_ . $selname | include/acl_selectors.php | $arr |
$name | include/plugin.php | &$data = null |
about_hook | mod/siteinfo.php | $o |
accept_follow | mod/connedit.php | $arr |
account_downgrade | include/account.php | $ret |
account_downgrade | include/account.php | $ret |
account_settings | mod/settings.php | $account_settings |
activity_received | include/zot.php | $parr |
affinity_labels | include/widgets.php | $labels |
affinity_labels | mod/connedit.php | $labels |
api_perm_is_allowed | include/permissions.php | $arr |
app_menu | index.php | $arr |
atom_author | include/items.php | $o |
atom_entry | include/items.php | $o |
atom_feed | include/items.php | $atom |
atom_feed_end | include/items.php | $atom |
attach_upload_file | include/attach.php | $f |
authenticate | include/auth.php | $addon_auth |
avatar_lookup | include/network.php | $avatar |
bb2diaspora | include/markdown.php | $Text |
bbcode | include/bbcode.php | $Text |
channel_remove | include/Contact.php | $r[0] |
chat_message | include/chat.php | $arr |
chat_post | mod/chatsvc.php | $arr |
check_account_email | include/account.php | $arr |
check_account_invite | include/account.php | $arr |
check_account_password | include/account.php | $arr |
connect_premium | mod/connect.php | $arr |
connector_settings | mod/settings.php | $settings_connectors |
construct_page | boot.php | $arr |
contact_block_end | include/text.php | $arr |
contact_edit | mod/connedit.php | $arr |
contact_edit_post | mod/connedit.php | $_POST |
contact_select_options | include/acl_selectors.php | $x |
conversation_start | include/conversation.php | $cb |
create_identity | include/channel.php | $newuid |
cron | include/cronhooks.php | $d |
cron_daily | include/poller.php | datetime_convert() |
cron_weekly | include/poller.php | datetime_convert() |
directory_item | mod/directory.php | $arr |
discover_by_webbie | include/network.php | $arr |
display_item | include/ItemObject.php | $arr |
display_item | include/conversation.php | $arr |
display_settings | mod/settings.php | $o |
display_settings_post | mod/settings.php | $_POST |
donate_contributors | extend/addon/matrix/donate/donate.php | $contributors |
donate_plugin | extend/addon/matrix/donate/donate.php | $o |
donate_sponsors | extend/addon/matrix/donate/donate.php | $sponsors |
dreport_is_storable | include/zot.php | $dr |
drop_item | include/items.php | $arr |
enotify | include/enotify.php | $h |
enotify_mail | include/enotify.php | $datarray |
enotify_store | include/enotify.php | $datarray |
event_created | include/event.php | $event[id] |
event_updated | include/event.php | $event[id] |
externals_url_select | include/externals.php | $arr |
feature_enabled | include/features.php | $arr |
feature_settings | mod/settings.php | $settings_addons |
feature_settings_post | mod/settings.php | $_POST |
follow | include/follow.php | $arr |
follow | include/follow.php | $arr |
follow_allow | include/follow.php | $x |
gender_selector | include/profile_selectors.php | $select |
gender_selector_min | include/profile_selectors.php | $select |
generate_map | include/text.php | $arr |
generate_named_map | include/text.php | $arr |
get_all_api_perms | include/permissions.php | $arr |
get_all_perms | include/permissions.php | $arr |
get_features | include/features.php | $arr |
get_role_perms | include/permissions.php | $ret |
get_widgets | boot.php | $arr |
get_widgets | boot.php | $arr |
global_permissions | include/permissions.php | $ret |
home_content | mod/home.php | $o |
home_init | mod/home.php | $ret |
hostxrd | mod/hostxrd.php | $arr |
html2bbcode | include/html2bbcode.php | $message |
identity_basic_export | include/channel.php | $addon |
import_author_xchan | include/items.php | $arr |
import_channel | mod/import.php | $addon |
import_directory_profile | include/zot.php | $d |
import_xchan | include/zot.php | $arr |
item_photo_menu | include/conversation.php | $args |
item_store | include/items.php | $d |
item_store | include/items.php | $arr |
item_store_update | include/items.php | $d |
item_translate | include/items.php | $translate |
item_translate | include/items.php | $translate |
jot_networks | include/acl_selectors.php | $jotnets |
jot_networks | include/conversation.php | $jotnets |
jot_networks | mod/editblock.php | $jotnets |
jot_networks | mod/editpost.php | $jotnets |
jot_networks | mod/editwebpage.php | $jotnets |
jot_networks | mod/editlayout.php | $jotnets |
jot_tool | include/conversation.php | $jotplugins |
jot_tool | mod/editblock.php | $jotplugins |
jot_tool | mod/editpost.php | $jotplugins |
jot_tool | mod/editwebpage.php | $jotplugins |
jot_tool | mod/editlayout.php | $jotplugins |
load_pdl | boot.php | $arr |
local_dir_update | include/dir_fns.php | $arr |
logged_in | include/oauth.php | $a->user |
logged_in | include/api.php | $a->user |
logged_in | include/security.php | $a->account |
logged_in | include/security.php | $user_record |
logging_out | include/auth.php | $args |
login_hook | boot.php | $o |
magic_auth | mod/magic.php | $arr |
magic_auth_openid_success | mod/openid.php | $arr |
magic_auth_openid_success | mod/openid.php | $arr |
magic_auth_success | mod/post.php | $arr |
main_slider | include/widgets.php | $arr |
marital_selector | include/profile_selectors.php | $select |
marital_selector_min | include/profile_selectors.php | $select |
module_loaded | index.php | $x |
mood_verbs | include/text.php | $arr |
nav | include/nav.php | $x |
network_content_init | mod/network.php | $arr |
network_ping | mod/ping.php | $arr |
network_tabs | include/conversation.php | $arr |
network_to_name | include/contact_selectors.php | $nets |
notifier_end | include/notifier.php | $target_item |
notifier_hub | include/notifier.php | $narr |
notifier_normal | include/deliver_hooks.php | $r[0] |
obj_verbs | include/taxonomy.php | $arr |
oembed_probe | include/oembed.php | $x |
page_content_top | index.php | $a->page[content] |
page_end | index.php | $a->page[content] |
page_header | include/nav.php | $a->page[nav] |
parse_atom | include/items.php | $arr |
parse_link | mod/linkinfo.php | $arr |
pdl_selector | include/comanche.php | $arr |
perm_is_allowed | include/permissions.php | $arr |
permissions_create | include/notifier.php | $perm_update |
permissions_update | include/notifier.php | $perm_update |
personal_xrd | mod/xrd.php | $arr |
photo_post_end | include/photos.php | $ret |
photo_post_end | include/photos.php | $ret |
photo_upload_begin | include/attach.php | $arr |
photo_upload_begin | include/photos.php | $args |
photo_upload_end | include/attach.php | $ret |
photo_upload_end | include/attach.php | $ret |
photo_upload_end | include/attach.php | $ret |
photo_upload_end | include/attach.php | $ret |
photo_upload_end | include/attach.php | $ret |
photo_upload_end | include/photos.php | $ret |
photo_upload_end | include/photos.php | $ret |
photo_upload_end | include/photos.php | $ret |
photo_upload_end | include/photos.php | $ret |
photo_upload_file | include/attach.php | $f |
photo_upload_file | include/photos.php | $f |
photo_upload_form | mod/photos.php | $ret |
poke_verbs | include/text.php | $arr |
post_local | include/zot.php | $arr |
post_local | include/items.php | $arr |
post_local | mod/item.php | $datarray |
post_local_end | include/items.php | $arr |
post_local_end | include/attach.php | $arr |
post_local_end | include/attach.php | $arr |
post_local_end | extend/addon/matrix/randpost/randpost.php | $x |
post_local_end | extend/addon/matrix/randpost/randpost.php | $x |
post_local_end | mod/mood.php | $arr |
post_local_end | mod/like.php | $arr |
post_local_end | mod/item.php | $datarray |
post_local_end | mod/subthread.php | $arr |
post_local_start | mod/item.php | $_REQUEST |
post_mail | include/items.php | $arr |
post_mail_end | include/items.php | $arr |
post_remote | include/items.php | $arr |
post_remote_end | include/items.php | $arr |
post_remote_update | include/items.php | $arr |
post_remote_update_end | include/items.php | $arr |
prepare_body | include/text.php | $prep_arr |
prepare_body_final | include/text.php | $prep_arr |
prepare_body_init | include/text.php | $item |
probe_well_known | include/probe.php | $ret |
proc_run | boot.php | $arr |
process_channel_sync_delivery | include/zot.php | $addon |
profile_advanced | mod/profile.php | $o |
profile_edit | mod/profiles.php | $arr |
profile_photo_content_end | mod/profile_photo.php | $o |
profile_post | mod/profiles.php | $_POST |
profile_sidebar | include/channel.php | $arr |
profile_sidebar_enter | include/channel.php | $profile |
register_account | include/account.php | $result |
render_location | include/conversation.php | $locate |
replace_macros | include/text.php | $arr |
reverse_magic_auth | mod/rmagic.php | $arr |
settings_account | mod/settings.php | $_POST |
settings_form | mod/settings.php | $o |
settings_post | mod/settings.php | $_POST |
sexpref_selector | include/profile_selectors.php | $select |
sexpref_selector_min | include/profile_selectors.php | $select |
smilie | include/text.php | $params |
smilie | extend/addon/matrix/smileybutton/smileybutton.php | $params |
tagged | include/items.php | $arr |
validate_channelname | include/channel.php | $arr |
webfinger | mod/wfinger.php | $arr |
well_known | mod/_well_known.php | $arr |
zid | include/channel.php | $arr |
zid_init | include/channel.php | $arr |
zot_finger | include/zot.php | $ret |
Generated Tue Nov 03 21:19:02 PST 2015
`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Remove the bottom border in Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Duplicate behavior to the data-* attribute for our tooltip plugin\n\nabbr[title],\nabbr[data-original-title] { // 4\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 1\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic; // Add the correct font style in Android 4.3-\n}\n\n// stylelint-disable font-weight-notation\nb,\nstrong {\n font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n// stylelint-enable font-weight-notation\n\nsmall {\n font-size: 80%; // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n -webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\n// stylelint-disable font-family-no-duplicate-names\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; // Correct the inheritance and scaling of font size in all browsers.\n font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n}\n// stylelint-enable font-family-no-duplicate-names\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // We have @viewport set which causes scrollbars to overlap content in IE11 and Edge, so\n // we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg:not(:root) {\n overflow: hidden; // Hide the overflow in IE\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `
`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Remove the bottom border in Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Duplicate behavior to the data-* attribute for our tooltip plugin\n\nabbr[title],\nabbr[data-original-title] { // 4\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 1\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic; // Add the correct font style in Android 4.3-\n}\n\n// stylelint-disable font-weight-notation\nb,\nstrong {\n font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n// stylelint-enable font-weight-notation\n\nsmall {\n font-size: 80%; // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n -webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\n// stylelint-disable font-family-no-duplicate-names\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; // Correct the inheritance and scaling of font size in all browsers.\n font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n}\n// stylelint-enable font-family-no-duplicate-names\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // We have @viewport set which causes scrollbars to overlap content in IE11 and Edge, so\n // we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg:not(:root) {\n overflow: hidden; // Hide the overflow in IE\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `
`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Remove the bottom border in Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Duplicate behavior to the data-* attribute for our tooltip plugin\n\nabbr[title],\nabbr[data-original-title] { // 4\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 1\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic; // Add the correct font style in Android 4.3-\n}\n\n// stylelint-disable font-weight-notation\nb,\nstrong {\n font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n// stylelint-enable font-weight-notation\n\nsmall {\n font-size: 80%; // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n -webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\n// stylelint-disable font-family-no-duplicate-names\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; // Correct the inheritance and scaling of font size in all browsers.\n font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n}\n// stylelint-enable font-family-no-duplicate-names\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // We have @viewport set which causes scrollbars to overlap content in IE11 and Edge, so\n // we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg:not(:root) {\n overflow: hidden; // Hide the overflow in IE\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `