aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/Contact.php18
-rw-r--r--include/bbcode.php6
-rw-r--r--include/contact_selectors.php2
-rw-r--r--include/dir_fns.php61
-rwxr-xr-xinclude/items.php7
-rw-r--r--include/security.php6
-rw-r--r--include/taxonomy.php4
-rw-r--r--include/text.php2
-rw-r--r--include/widgets.php4
-rw-r--r--include/zot.php26
10 files changed, 77 insertions, 59 deletions
diff --git a/include/Contact.php b/include/Contact.php
index 9490fd2da..035e83a82 100644
--- a/include/Contact.php
+++ b/include/Contact.php
@@ -311,6 +311,24 @@ function channel_remove($channel_id, $local = true, $unset_session=true) {
intval(PAGE_REMOVED),
intval($channel_id)
);
+ // if this was the default channel, set another one as default
+ if($a->account['account_default_channel'] == $channel_id) {
+ $r = q("select channel_id from channel where channel_account_id = %d and not ( channel_pageflags & %d)>0 limit 1",
+ intval($a->account['account_id']),
+ intval(PAGE_REMOVED));
+ if ($r) {
+ $rr = q("update account set account_default_channel = %d where account_id = %d",
+ intval($r[0]['channel_id']),
+ intval($a->account['account_id']));
+ logger("Default channel deleted, changing default to channel_id " . $r[0]['channel_id']);
+ }
+ else {
+ $rr = q("update account set account_default_channel = 0 where account_id = %d",
+ intval($r[0]['channel_id']),
+ intval($a->account['account_id']));
+ }
+ }
+
$r = q("update hubloc set hubloc_flags = (hubloc_flags | %d) where hubloc_hash = '%s' and hubloc_url = '%s' ",
intval(HUBLOC_FLAGS_DELETED),
diff --git a/include/bbcode.php b/include/bbcode.php
index e248c3771..ba9592a51 100644
--- a/include/bbcode.php
+++ b/include/bbcode.php
@@ -174,10 +174,14 @@ function bb_parse_app($match) {
function bb_parse_element($match) {
$j = json_decode(base64url_decode($match[1]),true);
- if ($j) {
+ if ($j && local_channel()) {
$text = sprintf( t('Install %s element: '), translate_design_element($j['type'])) . $j['pagetitle'];
$o = EOL . '<a href="#" onclick="importElement(\'' . $match[1] . '\'); return false;" >' . $text . '</a>' . EOL;
}
+ else {
+ $text = sprintf( t('This post contains an installable %s element, however you lack permissions to install it on this site.' ), translate_design_element($j['type'])) . $j['pagetitle'];
+ $o = EOL . $text . EOL;
+ }
return $o;
}
diff --git a/include/contact_selectors.php b/include/contact_selectors.php
index 726efce9d..8671f1bd1 100644
--- a/include/contact_selectors.php
+++ b/include/contact_selectors.php
@@ -5,7 +5,7 @@ function contact_profile_assign($current) {
$o = '';
- $o .= "<select id=\"contact-profile-selector\" name=\"profile_assign\" />\r\n";
+ $o .= "<select id=\"contact-profile-selector\" name=\"profile_assign\" class=\"form-control\"/>\r\n";
$r = q("SELECT profile_guid, profile_name FROM `profile` WHERE `uid` = %d",
intval($_SESSION['uid']));
diff --git a/include/dir_fns.php b/include/dir_fns.php
index 77c78558c..83073154a 100644
--- a/include/dir_fns.php
+++ b/include/dir_fns.php
@@ -72,33 +72,20 @@ function check_upstream_directory() {
set_config('system', 'directory_server', '');
}
-function get_globaldir_setting($observer) {
-
- if($observer)
- $globaldir = get_xconfig($observer,'directory','globaldir');
- else
- $globaldir = ((array_key_exists('globaldir',$_SESSION)) ? intval($_SESSION['globaldir']) : false);
-
- if($globaldir === false)
- $globaldir = get_config('directory','globaldir');
-
- return $globaldir;
-}
-
-function get_safemode_setting($observer) {
+function get_directory_setting($observer, $setting) {
if ($observer)
- $safe_mode = get_xconfig($observer,'directory','safe_mode');
+ $ret = get_xconfig($observer, 'directory', $setting);
else
- $safe_mode = ((array_key_exists('safemode',$_SESSION)) ? intval($_SESSION['safemode']) : false);
+ $ret = ((array_key_exists($setting,$_SESSION)) ? intval($_SESSION[$setting]) : false);
- if($safe_mode === false)
- $safe_mode = get_config('directory','safe_mode');
+ if($ret === false)
+ $ret = get_config('directory', $setting);
- if($safe_mode === false)
- $safe_mode = 1;
+ if($setting == 'safemode' && $ret === false)
+ $ret = 1;
- return $safe_mode;
+ return $ret;
}
/**
@@ -110,49 +97,37 @@ function dir_sort_links() {
$observer = get_observer_hash();
- $safe_mode = get_safemode_setting($observer);
- $globaldir = get_globaldir_setting($observer);
+ $safe_mode = get_directory_setting($observer, 'safemode');
+ $globaldir = get_directory_setting($observer, 'globaldir');
+ $pubforums = get_directory_setting($observer, 'pubforums');
// Build urls without order and pubforums so it's easy to tack on the changed value
// Probably there's an easier way to do this
-
$directory_sort_order = get_config('system','directory_sort_order');
if(! $directory_sort_order)
$directory_sort_order = 'date';
-
$current_order = (($_REQUEST['order']) ? $_REQUEST['order'] : $directory_sort_order);
- $url = 'directory?f=';
+ $suggest = (($_REQUEST['suggest']) ? '&suggest=' . $_REQUEST['suggest'] : '');
- $tmp = array_merge($_GET,$_POST);
- unset($tmp['order']);
- unset($tmp['q']);
- unset($tmp['f']);
- $sorturl = $url . http_build_query($tmp);
+ $url = 'directory?f=';
$tmp = array_merge($_GET,$_POST);
+ unset($tmp['suggest']);
unset($tmp['pubforums']);
unset($tmp['global']);
unset($tmp['safe']);
unset($tmp['q']);
unset($tmp['f']);
- $forumsurl = $url . http_build_query($tmp);
+ $forumsurl = $url . http_build_query($tmp) . $suggest;
$o = replace_macros(get_markup_template('dir_sort_links.tpl'), array(
'$header' => t('Directory Options'),
- '$normal' => t('Alphabetic'),
- '$reverse' => t('Reverse Alphabetic'),
- '$date' => t('Newest to Oldest'),
- '$reversedate' => t('Oldest to Newest'),
- '$sort' => t('Sort'),
- '$selected_sort' => $current_order,
- '$sorturl' => $sorturl,
'$forumsurl' => $forumsurl,
- '$safemode' => array('safemode', t('Safe Mode'),$safe_mode,'','',' onchange=\'window.location.href="' . $forumsurl . '&safe="+(this.checked ? 1 : 0)\''),
-
- '$pubforums' => array('pubforums', t('Public Forums Only'),(x($_REQUEST,'pubforums') ? $_REQUEST['pubforums'] : ''),'','',' onchange=\'window.location.href="' . $forumsurl . '&pubforums="+(this.checked ? 1 : 0)\''),
- '$globaldir' => array('globaldir', t('This Website Only'), 1-intval($globaldir),'','',' onchange=\'window.location.href="' . $forumsurl . '&global="+(this.checked ? 0 : 1)\''),
+ '$safemode' => array('safemode', t('Safe Mode'),$safe_mode,'',array(t('No'), t('Yes')),' onchange=\'window.location.href="' . $forumsurl . '&safe="+(this.checked ? 1 : 0)\''),
+ '$pubforums' => array('pubforums', t('Public Forums Only'),$pubforums,'',array(t('No'), t('Yes')),' onchange=\'window.location.href="' . $forumsurl . '&pubforums="+(this.checked ? 1 : 0)\''),
+ '$globaldir' => array('globaldir', t('This Website Only'), 1-intval($globaldir),'',array(t('No'), t('Yes')),' onchange=\'window.location.href="' . $forumsurl . '&global="+(this.checked ? 0 : 1)\''),
));
return $o;
diff --git a/include/items.php b/include/items.php
index 1009530a4..73ed64116 100755
--- a/include/items.php
+++ b/include/items.php
@@ -1198,12 +1198,15 @@ function encode_item($item,$mirror = false) {
case 2:
$x['item_restrict'] |= ITEM_PDL;
break;
- case 2:
+ case 3:
$x['item_restrict'] |= ITEM_WEBPAGE;
break;
- case 2:
+ case 4:
$x['item_restrict'] |= ITEM_BUG;
break;
+ case 5:
+ $x['item_restrict'] |= ITEM_DOC;
+ break;
default:
break;
}
diff --git a/include/security.php b/include/security.php
index 91683cc98..bad39d805 100644
--- a/include/security.php
+++ b/include/security.php
@@ -422,6 +422,9 @@ function stream_perms_api_uids($perms = NULL, $limit = 0, $rand = 0 ) {
$str .= intval($rr);
}
}
+ else
+ $str = "''";
+
logger('stream_perms_api_uids: ' . $str, LOGGER_DEBUG);
return $str;
@@ -452,6 +455,9 @@ function stream_perms_xchans($perms = NULL ) {
$str .= "'" . dbesc($rr) . "'";
}
}
+ else
+ $str = "''";
+
logger('stream_perms_xchans: ' . $str, LOGGER_DEBUG);
return $str;
diff --git a/include/taxonomy.php b/include/taxonomy.php
index fa540ac56..a5da190d4 100644
--- a/include/taxonomy.php
+++ b/include/taxonomy.php
@@ -276,7 +276,7 @@ function dir_tagblock($link,$r) {
$o = '';
$observer = get_observer_hash();
- if(! get_globaldir_setting($observer))
+ if(! get_directory_setting($observer, 'globaldir'))
return $o;
@@ -407,4 +407,4 @@ function get_things($profile_hash,$uid) {
//logger('things: ' . print_r($sorted_things,true));
return $sorted_things;
-} \ No newline at end of file
+}
diff --git a/include/text.php b/include/text.php
index 7101d76da..02a038ef4 100644
--- a/include/text.php
+++ b/include/text.php
@@ -807,7 +807,7 @@ function contact_block() {
$shown = get_pconfig($a->profile['uid'],'system','display_friend_count');
if($shown === false)
- $shown = 24;
+ $shown = 25;
if($shown == 0)
return;
diff --git a/include/widgets.php b/include/widgets.php
index 4a9032a21..032b1c67e 100644
--- a/include/widgets.php
+++ b/include/widgets.php
@@ -132,7 +132,7 @@ function widget_suggestions($arr) {
'profile' => $rr['xchan_url'],
'name' => $rr['xchan_name'],
'photo' => $rr['xchan_photo_m'],
- 'ignlnk' => z_root() . '/suggest?ignore=' . $rr['xchan_hash'],
+ 'ignlnk' => z_root() . '/directory?ignore=' . $rr['xchan_hash'],
'conntxt' => t('Connect'),
'connlnk' => $connlnk,
'ignore' => t('Ignore/Hide')
@@ -381,6 +381,7 @@ function widget_categories($arr) {
$srchurl = str_replace(array('?f=','&f='),array('',''),$srchurl);
return categories_widget($srchurl, $cat);
+
}
function widget_tagcloud_wall($arr) {
@@ -409,6 +410,7 @@ function widget_catcloud_wall($arr) {
$limit = ((array_key_exists('limit',$arr)) ? intval($arr['limit']) : 50);
return catblock($a->profile['profile_uid'], $limit, $a->profile['channel_hash'], ITEM_WALL);
+
}
diff --git a/include/zot.php b/include/zot.php
index 34e7f3e42..95de349fe 100644
--- a/include/zot.php
+++ b/include/zot.php
@@ -1110,13 +1110,18 @@ function zot_import($arr, $sender_url) {
logger('specific recipients');
$recip_arr = array();
foreach($i['notify']['recipients'] as $recip) {
- $recip_arr[] = make_xchan_hash($recip['guid'],$recip['guid_sig']);
+ if(is_array($recip)) {
+ $recip_arr[] = make_xchan_hash($recip['guid'],$recip['guid_sig']);
+ }
+ }
+ $r = false;
+ if($recip_arr) {
+ stringify_array_elms($recip_arr);
+ $recips = implode(',',$recip_arr);
+ $r = q("select channel_hash as hash from channel where channel_hash in ( " . $recips . " ) and not ( channel_pageflags & %d ) > 0 ",
+ intval(PAGE_REMOVED)
+ );
}
- stringify_array_elms($recip_arr);
- $recips = implode(',',$recip_arr);
- $r = q("select channel_hash as hash from channel where channel_hash in ( " . $recips . " ) and not ( channel_pageflags & %d ) > 0 ",
- intval(PAGE_REMOVED)
- );
if(! $r) {
logger('recips: no recipients on this site');
continue;
@@ -2887,7 +2892,12 @@ function process_channel_sync_delivery($sender, $arr, $deliveries) {
}
if(array_key_exists('channel',$arr) && is_array($arr['channel']) && count($arr['channel'])) {
- $disallowed = array('channel_id','channel_account_id','channel_primary','channel_prvkey', 'channel_address', 'channel_notifyflags');
+ if(array_key_exists('channel_removed',$arr['channel']))
+ $arr['channel_pageflags'] |= PAGE_REMOVED;
+ if(array_key_exists('channel_system',$arr['channel']))
+ $arr['channel_pageflags'] |= PAGE_SYSTEM;
+
+ $disallowed = array('channel_id','channel_account_id','channel_primary','channel_prvkey', 'channel_address', 'channel_notifyflags', 'channel_removed', 'channel_system');
$clean = array();
foreach($arr['channel'] as $k => $v) {
@@ -3200,7 +3210,7 @@ function process_channel_sync_delivery($sender, $arr, $deliveries) {
}
if(count($clean)) {
foreach($clean as $k => $v) {
- $r = dbq("UPDATE profile set " . dbesc($k) . " = '" . dbesc($v)
+ $r = dbq("UPDATE profile set `" . dbesc($k) . "` = '" . dbesc($v)
. "' where profile_guid = '" . dbesc($profile['profile_guid']) . "' and uid = " . intval($channel['channel_id']));
}
}