aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorzotlabs <mike@macgirvin.com>2018-10-04 19:20:10 -0700
committerzotlabs <mike@macgirvin.com>2018-10-04 19:20:10 -0700
commit3a0a611f15f2789099acf57c6ca93828f5edae46 (patch)
treed928cd86bc856ae80a95a9738fc8a96b8fa23e5b /include
parentd33c331abd3ae500fc7cdac206ea647c4c71905e (diff)
parent1eaf6df842184743ee20ec69931be1ff7136f34e (diff)
downloadvolse-hubzilla-3a0a611f15f2789099acf57c6ca93828f5edae46.tar.gz
volse-hubzilla-3a0a611f15f2789099acf57c6ca93828f5edae46.tar.bz2
volse-hubzilla-3a0a611f15f2789099acf57c6ca93828f5edae46.zip
Merge branch 'dev'
Diffstat (limited to 'include')
-rw-r--r--include/account.php13
-rw-r--r--include/acl_selectors.php2
-rw-r--r--include/api_zot.php8
-rw-r--r--include/bbcode.php3
-rw-r--r--include/channel.php10
-rw-r--r--include/connections.php4
-rw-r--r--include/conversation.php20
-rw-r--r--include/features.php236
-rw-r--r--include/group.php44
-rwxr-xr-xinclude/items.php2
-rw-r--r--include/nav.php4
-rw-r--r--include/security.php2
-rw-r--r--include/text.php4
-rw-r--r--include/xchan.php2
-rw-r--r--include/zot.php26
15 files changed, 149 insertions, 231 deletions
diff --git a/include/account.php b/include/account.php
index 51118c3c5..2ab99ce19 100644
--- a/include/account.php
+++ b/include/account.php
@@ -124,7 +124,7 @@ function account_store_lowlevel($arr) {
'account_expires' => ((array_key_exists('account_expires',$arr)) ? $arr['account_expires'] : '0001-01-01 00:00:00'),
'account_expire_notified' => ((array_key_exists('account_expire_notified',$arr)) ? $arr['account_expire_notified'] : '0001-01-01 00:00:00'),
'account_service_class' => ((array_key_exists('account_service_class',$arr)) ? $arr['account_service_class'] : ''),
- 'account_level' => ((array_key_exists('account_level',$arr)) ? $arr['account_level'] : '0'),
+ 'account_level' => '5',
'account_password_changed' => ((array_key_exists('account_password_changed',$arr)) ? $arr['account_password_changed'] : '0001-01-01 00:00:00')
];
@@ -215,7 +215,7 @@ function create_account($arr) {
'account_created' => datetime_convert(),
'account_flags' => intval($flags),
'account_roles' => intval($roles),
- 'account_level' => intval($techlevel),
+ 'account_level' => 5,
'account_expires' => $expires,
'account_service_class' => $default_service_class
]
@@ -821,13 +821,6 @@ function upgrade_bool_message($bbcode = false) {
function get_account_techlevel($account_id = 0) {
- if(! $account_id) {
- $x = \App::get_account();
- }
- else {
- $x = get_account_by_id($account_id);
- }
-
- return (($x) ? intval($x['account_level']) : 0);
+ return (5);
}
diff --git a/include/acl_selectors.php b/include/acl_selectors.php
index bada3e528..c7a87afee 100644
--- a/include/acl_selectors.php
+++ b/include/acl_selectors.php
@@ -89,7 +89,7 @@ function populate_acl($defaults = null,$show_jotnets = true, $emptyACL_descripti
}
}
- $r = q("SELECT id, hash, gname FROM groups WHERE deleted = 0 AND uid = %d ORDER BY gname ASC",
+ $r = q("SELECT id, hash, gname FROM pgrp WHERE deleted = 0 AND uid = %d ORDER BY gname ASC",
intval(local_channel())
);
diff --git a/include/api_zot.php b/include/api_zot.php
index 921242152..6a5b9a268 100644
--- a/include/api_zot.php
+++ b/include/api_zot.php
@@ -350,20 +350,20 @@
$r = null;
if($_REQUEST['group_id']) {
- $r = q("select * from groups where uid = %d and id = %d limit 1",
+ $r = q("select * from pgrp where uid = %d and id = %d limit 1",
intval(api_user()),
intval($_REQUEST['group_id'])
);
}
elseif($_REQUEST['group_name']) {
- $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(api_user()),
dbesc($_REQUEST['group_name'])
);
}
if($r) {
- $x = q("select * from group_member left join abook on abook_xchan = xchan and abook_channel = group_member.uid left join xchan on group_member.xchan = xchan.xchan_hash
+ $x = q("select * from pgrp_member left join abook on abook_xchan = xchan and abook_channel = pgrp_member.uid left join xchan on pgrp_member.xchan = xchan.xchan_hash
where gid = %d",
intval($r[0]['id'])
);
@@ -376,7 +376,7 @@
if(api_user() === false)
return false;
- $r = q("select * from groups where uid = %d",
+ $r = q("select * from pgrp where uid = %d",
intval(api_user())
);
json_return_and_die($r);
diff --git a/include/bbcode.php b/include/bbcode.php
index 6f22509e6..137e25a9c 100644
--- a/include/bbcode.php
+++ b/include/bbcode.php
@@ -968,9 +968,6 @@ function bbcode($Text, $options = []) {
$Text = preg_replace("/\[zrl\=([$URLSearchString]*)\](.*?)\[\/zrl\]/ism", '<a class="zrl" href="$1" ' . $target . ' rel="nofollow noopener" >$2</a>', $Text);
}
- if (get_account_techlevel() < 2)
- $Text = str_replace('<span class="bookmark-identifier">#^</span>', '', $Text);
-
// Perform MAIL Search
if (strpos($Text,'[/mail]') !== false) {
$Text = preg_replace("/\[mail\]([$MAILSearchString]*)\[\/mail\]/", '<a href="mailto:$1" ' . $target . ' rel="nofollow noopener" >$1</a>', $Text);
diff --git a/include/channel.php b/include/channel.php
index 74c213fcd..6a934cb82 100644
--- a/include/channel.php
+++ b/include/channel.php
@@ -447,7 +447,7 @@ function create_identity($arr) {
// if our role_permissions indicate that we're using a default collection ACL, add it.
if(is_array($role_permissions) && $role_permissions['default_collection']) {
- $r = q("select hash from groups where uid = %d and gname = '%s' limit 1",
+ $r = q("select hash from pgrp where uid = %d and gname = '%s' limit 1",
intval($newuid),
dbesc( t('Friends') )
);
@@ -837,14 +837,14 @@ function identity_basic_export($channel_id, $sections = null) {
$ret['hubloc'] = $r;
}
- $r = q("select * from groups where uid = %d ",
+ $r = q("select * from pgrp where uid = %d ",
intval($channel_id)
);
if($r)
$ret['group'] = $r;
- $r = q("select * from group_member where uid = %d ",
+ $r = q("select * from pgrp_member where uid = %d ",
intval($channel_id)
);
if($r)
@@ -2579,8 +2579,8 @@ function channel_remove($channel_id, $local = true, $unset_session = false) {
q("DELETE FROM chatroom WHERE cr_uid = %d", intval($channel_id));
q("DELETE FROM conv WHERE uid = %d", intval($channel_id));
- q("DELETE FROM groups WHERE uid = %d", intval($channel_id));
- q("DELETE FROM group_member WHERE uid = %d", intval($channel_id));
+ q("DELETE FROM pgrp WHERE uid = %d", intval($channel_id));
+ q("DELETE FROM pgrp_member WHERE uid = %d", intval($channel_id));
q("DELETE FROM event WHERE uid = %d", intval($channel_id));
q("DELETE FROM mail WHERE channel_id = %d", intval($channel_id));
q("DELETE FROM menu WHERE menu_channel_id = %d", intval($channel_id));
diff --git a/include/connections.php b/include/connections.php
index 129bcdc8d..d97ea3887 100644
--- a/include/connections.php
+++ b/include/connections.php
@@ -296,7 +296,7 @@ function remove_all_xchan_resources($xchan, $channel_id = 0) {
$r = q("delete from event where event_xchan = '%s'",
dbesc($xchan)
);
- $r = q("delete from group_member where xchan = '%s'",
+ $r = q("delete from pgrp_member where xchan = '%s'",
dbesc($xchan)
);
$r = q("delete from mail where ( from_xchan = '%s' or to_xchan = '%s' )",
@@ -402,7 +402,7 @@ function contact_remove($channel_id, $abook_id) {
intval($channel_id)
);
- $r = q("delete from group_member where xchan = '%s' and uid = %d",
+ $r = q("delete from pgrp_member where xchan = '%s' and uid = %d",
dbesc($abook['abook_xchan']),
intval($channel_id)
);
diff --git a/include/conversation.php b/include/conversation.php
index 28a339479..041994b90 100644
--- a/include/conversation.php
+++ b/include/conversation.php
@@ -888,6 +888,7 @@ function conversation($items, $mode, $update, $page_mode = 'traditional', $prepa
'$user' => App::$user,
'$threads' => $threads,
'$wait' => t('Loading...'),
+ '$conversation_tools' => t('Conversation Tools'),
'$dropping' => ($page_dropping?t('Delete Selected Items'):False),
));
@@ -1231,13 +1232,27 @@ function format_like($cnt, $arr, $type, $id) {
return $o;
}
+
+/**
+ * Wrapper to allow addons to replace the status editor if desired.
+ */
+function status_editor($a, $x, $popup = false, $module='') {
+ $hook_info = ['editor_html' => '', 'x' => $x, 'popup' => $popup, 'module' => $module];
+ call_hooks('status_editor',$hook_info);
+ if ($hook_info['editor_html'] == '') {
+ return hz_status_editor($a, $x, $popup);
+ } else {
+ return $hook_info['editor_html'];
+ }
+}
+
/**
* This is our general purpose content editor.
* It was once nicknamed "jot" and you may see references to "jot" littered throughout the code.
* They are referring to the content editor or components thereof.
*/
-function status_editor($a, $x, $popup = false) {
+function hz_status_editor($a, $x, $popup = false) {
$o = '';
@@ -1447,7 +1462,8 @@ function status_editor($a, $x, $popup = false) {
'$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),
- '$reset' => $reset
+ '$reset' => $reset,
+ '$is_owner' => ((local_channel() && (local_channel() == $x['profile_uid'])) ? true : false)
));
if ($popup === true) {
diff --git a/include/features.php b/include/features.php
index 37445c643..05ce3db32 100644
--- a/include/features.php
+++ b/include/features.php
@@ -47,7 +47,15 @@ function feature_level($feature,$def) {
function process_module_features_get($uid, $features) {
unset($features[0]);
foreach($features as $f) {
- $arr[] = array('feature_' . $f[0],$f[1],((intval(feature_enabled($uid, $f[0]))) ? "1" : ''),$f[2],array(t('Off'),t('On')));
+ $arr[] = [
+ 'feature_' . $f[0],
+ $f[1],
+ ((intval(feature_enabled($uid, $f[0]))) ? "1" : ''),
+ $f[2],
+ [t('Off'),t('On')],
+ (($f[4] === false) ? '' : 'disabled'),
+ $f[5]
+ ];
}
return $arr;
}
@@ -61,8 +69,6 @@ function process_module_features_post($uid, $features, $post_arr) {
else
set_pconfig($uid,'feature', $k, '');
}
- if($post_arr['rpath'])
- goaway($post_arr['rpath']);
}
function get_features($filtered = true, $level = (-1)) {
@@ -71,123 +77,65 @@ function get_features($filtered = true, $level = (-1)) {
$arr = [
- // General
- 'general' => [
-
- t('General Features'),
-
- [
- 'start_menu',
- t('New Member Links'),
- t('Display new member quick links menu'),
- (($account['account_created'] > datetime_convert('','','now - 60 days')) ? true : false),
- get_config('feature_lock','start_menu'),
- feature_level('start_menu',1),
- ],
+ 'calendar' => [
-/*
- [
- 'hide_rating',
- t('Hide Rating'),
- t('Hide the rating buttons on your channel and profile pages. Note: People can still rate you somewhere else.'),
- false,
- get_config('feature_lock','hide_rating'),
- feature_level('hide_rating',3),
- ],
-*/
- [
- 'private_notes',
- t('Private Notes'),
- t('Enables a tool to store notes and reminders (note: not encrypted)'),
- false,
- get_config('feature_lock','private_notes'),
- feature_level('private_notes',1),
- ],
+ t('CalDAV'),
[
- 'premium_channel',
- t('Premium Channel'),
- t('Allows you to set restrictions and terms on those that connect with your channel'),
+ 'cal_first_day',
+ t('Start calendar week on Monday'),
+ t('Default is Sunday'),
false,
- get_config('feature_lock','premium_channel'),
- feature_level('premium_channel',4),
- ],
-
- [
- 'advanced_dirsearch',
- t('Advanced Directory Search'),
- t('Allows creation of complex directory search queries'),
- false,
- get_config('feature_lock','advanced_dirsearch'),
- feature_level('advanced_dirsearch',4),
- ],
+ get_config('feature_lock','cal_first_day')
+ ]
- [
- 'advanced_theming',
- t('Advanced Theme and Layout Settings'),
- t('Allows fine tuning of themes and page layouts'),
- false,
- get_config('feature_lock','advanced_theming'),
- feature_level('advanced_theming',4),
- ],
],
+ 'channel_home' => [
- 'access_control' => [
- t('Access Control and Permissions'),
-
- [
- 'groups',
- t('Privacy Groups'),
- t('Enable management and selection of privacy groups'),
- true,
- get_config('feature_lock','groups'),
- feature_level('groups',0),
- ],
+ t('Channel Home'),
[
- 'permcats',
- t('Permission Categories'),
- t('Create custom connection permission limits'),
+ 'archives',
+ t('Search by Date'),
+ t('Ability to select posts by date ranges'),
false,
- get_config('feature_lock','permcats'),
- feature_level('permcats',2),
+ get_config('feature_lock','archives')
],
[
- 'oauth_clients',
- t('OAuth1 Clients'),
- t('Manage OAuth1 authenticatication tokens for mobile and remote apps.'),
+ 'tagadelic',
+ t('Tag Cloud'),
+ t('Provide a personal tag cloud on your channel page'),
false,
- get_config('feature_lock','oauth_clients'),
- feature_level('oauth_clients',1),
+ get_config('feature_lock','tagadelic'),
],
[
- 'oauth2_clients',
- t('OAuth2 Clients'),
- t('Manage OAuth2 authenticatication tokens for mobile and remote apps.'),
+ 'channel_list_mode',
+ t('Use blog/list mode'),
+ t('Comments will be displayed separately'),
false,
- get_config('feature_lock','oauth2_clients'),
- feature_level('oauth2_clients',1),
- ],
+ get_config('feature_lock','channel_list_mode'),
+ ]
+ ],
+
+ 'connections' => [
+
+ t('Connections'),
[
- 'access_tokens',
- t('Access Tokens'),
- t('Create access tokens so that non-members can access private content.'),
+ 'connfilter',
+ t('Connection Filtering'),
+ t('Filter incoming posts from connections based on keywords/content'),
false,
- get_config('feature_lock','access_tokens'),
- feature_level('access_tokens',2),
- ],
-
+ get_config('feature_lock','connfilter')
+ ]
],
+ 'conversation' => [
- // Item tools
- 'tools' => [
-
- t('Post/Comment Tools'),
+ t('Conversation'),
[
'commtag',
@@ -195,16 +143,6 @@ function get_features($filtered = true, $level = (-1)) {
t('Ability to tag existing posts'),
false,
get_config('feature_lock','commtag'),
- feature_level('commtag',1),
- ],
-
- [
- 'categories',
- t('Post Categories'),
- t('Add categories to your posts'),
- false,
- get_config('feature_lock','categories'),
- feature_level('categories',1),
],
[
@@ -213,16 +151,6 @@ function get_features($filtered = true, $level = (-1)) {
t('Add emoji reaction ability to posts'),
true,
get_config('feature_lock','emojis'),
- feature_level('emojis',1),
- ],
-
- [
- 'filing',
- t('Saved Folders'),
- t('Ability to file posts under folders'),
- false,
- get_config('feature_lock','filing'),
- feature_level('filing',2),
],
[
@@ -231,7 +159,6 @@ function get_features($filtered = true, $level = (-1)) {
t('Ability to dislike posts/comments'),
false,
get_config('feature_lock','dislike'),
- feature_level('dislike',1),
],
[
@@ -240,52 +167,36 @@ function get_features($filtered = true, $level = (-1)) {
t('Ability to mark special posts with a star indicator'),
false,
get_config('feature_lock','star_posts'),
- feature_level('star_posts',1),
- ],
+ ]
- [
- 'tagadelic',
- t('Tag Cloud'),
- t('Provide a personal tag cloud on your channel page'),
- false,
- get_config('feature_lock','tagadelic'),
- feature_level('tagadelic',2),
- ],
],
-############################################
-############################################
+ 'directory' => [
- 'calendar' => [
-
- t('CalDAV'),
+ t('Directory'),
[
- 'cal_first_day',
- t('Start calendar week on Monday'),
- t('Default is Sunday'),
+ 'advanced_dirsearch',
+ t('Advanced Directory Search'),
+ t('Allows creation of complex directory search queries'),
false,
- get_config('feature_lock','cal_first_day')
+ get_config('feature_lock','advanced_dirsearch'),
]
],
- 'connections' => [
+ 'editor' => [
- t('Connections'),
+ t('Editor'),
[
- 'connfilter',
- t('Connection Filtering'),
- t('Filter incoming posts from connections based on keywords/content'),
+ 'categories',
+ t('Post Categories'),
+ t('Add categories to your posts'),
false,
- get_config('feature_lock','connfilter')
- ]
- ],
-
- 'editor' => [
-
- t('Editor'),
+ get_config('feature_lock','categories'),
+ feature_level('categories',1),
+ ],
[
'large_photos',
@@ -391,7 +302,7 @@ function get_features($filtered = true, $level = (-1)) {
'nav_channel_select',
t('Navigation Channel Select'),
t('Change channels directly from within the navigation dropdown menu'),
- true,
+ false,
get_config('feature_lock','nav_channel_select'),
]
@@ -402,14 +313,6 @@ function get_features($filtered = true, $level = (-1)) {
t('Network'),
[
- 'archives',
- t('Search by Date'),
- t('Ability to select posts by date ranges'),
- false,
- get_config('feature_lock','archives')
- ],
-
- [
'savedsearch',
t('Saved Searches'),
t('Save search terms for re-use'),
@@ -418,6 +321,14 @@ function get_features($filtered = true, $level = (-1)) {
],
[
+ 'filing',
+ t('Saved Folders'),
+ t('Ability to file posts under folders'),
+ false,
+ get_config('feature_lock','filing'),
+ ],
+
+ [
'order_tab',
t('Alternate Stream Order'),
t('Ability to order the stream by last post date, last comment date or unthreaded activities'),
@@ -463,6 +374,14 @@ function get_features($filtered = true, $level = (-1)) {
t('Show friend and connection suggestions'),
false,
get_config('feature_lock','suggest')
+ ],
+
+ [
+ 'network_list_mode',
+ t('Use blog/list mode'),
+ t('Comments will be displayed separately'),
+ false,
+ get_config('feature_lock','network_list_mode'),
]
],
@@ -519,8 +438,6 @@ function get_features($filtered = true, $level = (-1)) {
$arr = $x['features'];
- $techlevel = (($level >= 0) ? $level : get_account_techlevel());
-
// removed any locked features and remove the entire category if this makes it empty
if($filtered) {
@@ -531,9 +448,6 @@ function get_features($filtered = true, $level = (-1)) {
for($y = 0; $y < count($arr[$k]); $y ++) {
$disabled = false;
if(is_array($arr[$k][$y])) {
- if($arr[$k][$y][5] > $techlevel) {
- $disabled = true;
- }
if($arr[$k][$y][4] !== false) {
$disabled = true;
}
diff --git a/include/group.php b/include/group.php
index 56bf210ff..6011af08f 100644
--- a/include/group.php
+++ b/include/group.php
@@ -14,11 +14,11 @@ function group_add($uid,$name,$public = 0) {
// 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 <strong>may</strong> 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;
@@ -28,13 +28,13 @@ function group_add($uid,$name,$public = 0) {
$dups = false;
$hash = random_string() . $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),
@@ -53,7 +53,7 @@ function group_add($uid,$name,$public = 0) {
function group_rmv($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)
);
@@ -98,13 +98,13 @@ function group_rmv($uid,$name) {
}
// 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)
);
@@ -121,7 +121,7 @@ function group_rmv($uid,$name) {
function group_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)
);
@@ -134,7 +134,7 @@ function group_byname($uid,$name) {
function group_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)
);
@@ -149,7 +149,7 @@ function group_rmv_member($uid,$name,$member) {
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)
@@ -169,7 +169,7 @@ function group_add_member($uid,$name,$member,$gid = 0) {
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)
@@ -179,7 +179,7 @@ function group_add_member($uid,$name,$member,$gid = 0) {
// 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),
@@ -194,9 +194,9 @@ function group_add_member($uid,$name,$member,$gid = 0) {
function group_get_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())
@@ -210,7 +210,7 @@ function group_get_members($gid) {
function group_get_members_xchan($gid) {
$ret = array();
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())
);
@@ -248,7 +248,7 @@ function mini_group_select($uid,$group = '') {
$grps = array();
$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' => '');
@@ -274,13 +274,13 @@ function group_side($every="connections",$each="group",$edit = false, $group_id
$o = '';
- if(! (local_channel() && feature_enabled(local_channel(),'groups'))) {
+ if(! (local_channel() && \Zotlabs\Lib\Apps::system_app_installed(local_channel(), 'Privacy Groups'))) {
return '';
}
$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();
@@ -361,7 +361,7 @@ function expand_groups($g) {
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'];
@@ -375,7 +375,7 @@ function expand_groups($g) {
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)
);
@@ -385,7 +385,7 @@ function member_of($c) {
function groups_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/include/items.php b/include/items.php
index c817c5afb..58461cc3a 100755
--- a/include/items.php
+++ b/include/items.php
@@ -4159,7 +4159,7 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
$sql_extra .= protect_sprintf(term_query('item', $arr['cat'], TERM_CATEGORY));
if($arr['gid'] && $uid) {
- $r = q("SELECT * FROM groups WHERE id = %d AND uid = %d LIMIT 1",
+ $r = q("SELECT * FROM pgrp WHERE id = %d AND uid = %d LIMIT 1",
intval($arr['group']),
intval($uid)
);
diff --git a/include/nav.php b/include/nav.php
index 1eef8dc07..b5592d7aa 100644
--- a/include/nav.php
+++ b/include/nav.php
@@ -60,8 +60,6 @@ function nav($template = 'default') {
//we could additionally use this to display important system notifications e.g. for updates
));
- $techlevel = get_account_techlevel();
-
// nav links: array of array('href', 'text', 'extra css classes', 'title')
$nav = [];
@@ -93,7 +91,7 @@ function nav($template = 'default') {
if(! $_SESSION['delegate']) {
$nav['manage'] = array('manage', t('Channel Manager'), "", t('Manage your channels'),'manage_nav_btn');
}
- if(feature_enabled(local_channel(),'groups'))
+ if(Apps::system_app_installed(local_channel(), 'Privacy Groups'))
$nav['group'] = array('group', t('Privacy Groups'),"", t('Manage your privacy groups'),'group_nav_btn');
$nav['settings'] = array('settings', t('Settings'),"", t('Account/Channel Settings'),'settings_nav_btn');
diff --git a/include/security.php b/include/security.php
index ffdd1d7ea..493d34699 100644
--- a/include/security.php
+++ b/include/security.php
@@ -577,7 +577,7 @@ function init_groups_visitor($contact_id) {
// physical groups this channel is a member of
- $r = q("SELECT hash FROM groups left join group_member on groups.id = group_member.gid WHERE xchan = '%s' ",
+ $r = q("SELECT hash FROM pgrp left join pgrp_member on pgrp.id = pgrp_member.gid WHERE xchan = '%s' ",
dbesc($contact_id)
);
if($r) {
diff --git a/include/text.php b/include/text.php
index 4b5442985..f03d0b860 100644
--- a/include/text.php
+++ b/include/text.php
@@ -41,7 +41,7 @@ function replace_macros($s, $r) {
try {
$output = $t->replace_macros($arr['template'], $arr['params']);
} catch (Exception $e) {
- logger("Unable to render template: ",$e->getMessage());
+ logger("Unable to render template: ".$e->getMessage());
$output = "<h3>ERROR: there was an error creating the output.</h3>";
}
@@ -2737,7 +2737,7 @@ function handle_tag($a, &$body, &$access_tag, &$str_tags, $profile_uid, $tag, $i
$grp = group_byname($profile_uid,$name);
if($grp) {
- $g = q("select hash from groups where id = %d and visible = 1 limit 1",
+ $g = q("select hash from pgrp where id = %d and visible = 1 limit 1",
intval($grp)
);
if($g && $exclusive) {
diff --git a/include/xchan.php b/include/xchan.php
index 8c9c09c72..aad56063f 100644
--- a/include/xchan.php
+++ b/include/xchan.php
@@ -176,7 +176,7 @@ function xchan_change_key($oldx,$newx,$data) {
$tables = [
'abook' => 'abook_xchan',
'abconfig' => 'xchan',
- 'group_member' => 'xchan',
+ 'pgrp_member' => 'xchan',
'chat' => 'chat_xchan',
'chatpresence' => 'cp_xchan',
'event' => 'event_xchan',
diff --git a/include/zot.php b/include/zot.php
index e31d650d2..1a632cf87 100644
--- a/include/zot.php
+++ b/include/zot.php
@@ -3320,13 +3320,13 @@ function build_sync_packet($uid = 0, $packet = null, $groups_changed = false) {
}
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)
@@ -3734,7 +3734,7 @@ function process_channel_sync_delivery($sender, $arr, $deliveries) {
// 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) {
@@ -3750,7 +3750,7 @@ function process_channel_sync_delivery($sender, $arr, $deliveries) {
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']),
@@ -3759,14 +3759,14 @@ function process_channel_sync_delivery($sender, $arr, $deliveries) {
);
}
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']),
@@ -3790,10 +3790,10 @@ function process_channel_sync_delivery($sender, $arr, $deliveries) {
}
}
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'])
);
@@ -3803,7 +3803,7 @@ function process_channel_sync_delivery($sender, $arr, $deliveries) {
}
// 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'])
);
@@ -3830,7 +3830,7 @@ function process_channel_sync_delivery($sender, $arr, $deliveries) {
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)
@@ -3841,7 +3841,7 @@ function process_channel_sync_delivery($sender, $arr, $deliveries) {
// 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']),
@@ -3852,7 +3852,7 @@ function process_channel_sync_delivery($sender, $arr, $deliveries) {
}
// 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'])
);
@@ -3860,7 +3860,7 @@ function process_channel_sync_delivery($sender, $arr, $deliveries) {
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'])