diff options
Diffstat (limited to 'mod')
-rw-r--r-- | mod/channel.php | 1 | ||||
-rw-r--r-- | mod/cloud.php | 58 | ||||
-rw-r--r-- | mod/connedit.php | 11 | ||||
-rw-r--r-- | mod/dav.php | 9 | ||||
-rw-r--r-- | mod/display.php | 1 | ||||
-rw-r--r-- | mod/home.php | 6 | ||||
-rw-r--r-- | mod/impel.php | 4 | ||||
-rw-r--r-- | mod/item.php | 40 | ||||
-rw-r--r-- | mod/network.php | 9 | ||||
-rw-r--r-- | mod/photos.php | 2 | ||||
-rw-r--r-- | mod/profiles.php | 5 | ||||
-rw-r--r-- | mod/search.php | 1 | ||||
-rw-r--r-- | mod/settings.php | 5 |
13 files changed, 80 insertions, 72 deletions
diff --git a/mod/channel.php b/mod/channel.php index e819de0e0..c8ac83baf 100644 --- a/mod/channel.php +++ b/mod/channel.php @@ -286,6 +286,7 @@ function channel_content(&$a, $update = 0, $load = false) { '$cats' => (($category) ? $category : ''), '$tags' => (($hashtags) ? $hashtags : ''), '$mid' => $mid, + '$verb' => '', '$dend' => $datequery, '$dbegin' => $datequery2 )); diff --git a/mod/cloud.php b/mod/cloud.php index abeae88eb..ad85eba34 100644 --- a/mod/cloud.php +++ b/mod/cloud.php @@ -3,7 +3,7 @@ * @file mod/cloud.php * @brief Initialize RedMatrix's cloud (SabreDAV). * - * Module for accessing the DAV storage area from a web client. + * Module for accessing the DAV storage area. */ use Sabre\DAV; @@ -12,45 +12,31 @@ use RedMatrix\RedDAV; // composer autoloader for SabreDAV require_once('vendor/autoload.php'); -if(! defined('TRINIDAD')) { - // workaround for HTTP-auth in CGI mode - if (x($_SERVER, 'REDIRECT_REMOTE_USER')) { - $userpass = base64_decode(substr($_SERVER["REDIRECT_REMOTE_USER"], 6)) ; - if(strlen($userpass)) { - list($name, $password) = explode(':', $userpass); - $_SERVER['PHP_AUTH_USER'] = $name; - $_SERVER['PHP_AUTH_PW'] = $password; - } +// workaround for HTTP-auth in CGI mode +if (x($_SERVER, 'REDIRECT_REMOTE_USER')) { + $userpass = base64_decode(substr($_SERVER["REDIRECT_REMOTE_USER"], 6)) ; + if(strlen($userpass)) { + list($name, $password) = explode(':', $userpass); + $_SERVER['PHP_AUTH_USER'] = $name; + $_SERVER['PHP_AUTH_PW'] = $password; } +} - if (x($_SERVER, 'HTTP_AUTHORIZATION')) { - $userpass = base64_decode(substr($_SERVER["HTTP_AUTHORIZATION"], 6)) ; - if(strlen($userpass)) { - list($name, $password) = explode(':', $userpass); - $_SERVER['PHP_AUTH_USER'] = $name; - $_SERVER['PHP_AUTH_PW'] = $password; - } +if (x($_SERVER, 'HTTP_AUTHORIZATION')) { + $userpass = base64_decode(substr($_SERVER["HTTP_AUTHORIZATION"], 6)) ; + if(strlen($userpass)) { + list($name, $password) = explode(':', $userpass); + $_SERVER['PHP_AUTH_USER'] = $name; + $_SERVER['PHP_AUTH_PW'] = $password; } } - - /** * @brief Fires up the SabreDAV server. * * @param App &$a */ function cloud_init(&$a) { - // call ($currenttheme)_init since we're operating outside of index.php - $theme_info_file = "view/theme/" . current_theme() . "/php/theme.php"; - if (file_exists($theme_info_file)){ - require_once($theme_info_file); - if (function_exists(str_replace('-', '_', current_theme()) . '_init')) { - $func = str_replace('-', '_', current_theme()) . '_init'; - $func($a); - } - } - require_once('include/reddav.php'); if (! is_dir('store')) @@ -130,19 +116,13 @@ function cloud_init(&$a) { } if ((! $auth->observer) && (! $isapublic_file) && (! $davguest)) { - if(defined('TRINIDAD')) { + try { + $auth->Authenticate($server, t('RedMatrix - Guests: Username: {your email address}, Password: +++')); + } + catch (Exception $e) { logger('mod_cloud: auth exception' . $e->getMessage()); http_status_exit($e->getHTTPCode(), $e->getMessage()); } - else { - try { - $auth->Authenticate($server, t('RedMatrix channel')); - } - catch (Exception $e) { - logger('mod_cloud: auth exception' . $e->getMessage()); - http_status_exit($e->getHTTPCode(), $e->getMessage()); - } - } } require_once('include/RedDAV/RedBrowser.php'); diff --git a/mod/connedit.php b/mod/connedit.php index 49aae6684..5c36c3184 100644 --- a/mod/connedit.php +++ b/mod/connedit.php @@ -55,6 +55,15 @@ function connedit_post(&$a) { if(! $contact_id) return; + // TODO if configured for hassle-free permissions, we'll post the form with ajax as soon as the + // connection enable is toggled to a special autopost url and set permissions immediately, leaving + // the other form elements alone pending a manual submit of the form. The downside is that there + // will be a window of opportunity when the permissions have been set but before you've had a chance + // to review and possibly restrict them. The upside is we won't have to warn you that your connection + // can't do anything until you save the bloody form. + + $autopost = (((argc() > 2) && (argv(2) === 'auto')) ? true : false); + $orig_record = q("SELECT * FROM abook WHERE abook_id = %d AND abook_channel = %d LIMIT 1", intval($contact_id), intval(local_user()) @@ -287,7 +296,7 @@ function connedit_content(&$a) { $o .= "\$('#me_id_perms_" . $p . "').attr('checked','checked'); \n"; } } - $o .= "abook_perms_msg(); }\n</script>\n"; + $o .= " }\n</script>\n"; } if(argc() == 3) { diff --git a/mod/dav.php b/mod/dav.php index 1bff5ffbc..e3719cb93 100644 --- a/mod/dav.php +++ b/mod/dav.php @@ -37,15 +37,6 @@ if (x($_SERVER, 'HTTP_AUTHORIZATION')) { * @param App &$a */ function dav_init(&$a) { - // call ($currenttheme)_init since we're operating outside of index.php - $theme_info_file = "view/theme/" . current_theme() . "/php/theme.php"; - if (file_exists($theme_info_file)){ - require_once($theme_info_file); - if (function_exists(str_replace('-', '_', current_theme()) . '_init')) { - $func = str_replace('-', '_', current_theme()) . '_init'; - $func($a); - } - } require_once('include/reddav.php'); diff --git a/mod/display.php b/mod/display.php index 7d7f4ca13..f14aca6da 100644 --- a/mod/display.php +++ b/mod/display.php @@ -136,6 +136,7 @@ function display_content(&$a, $update = 0, $load = false) { '$tags' => '', '$dend' => '', '$dbegin' => '', + '$verb' => '', '$mid' => $item_hash )); diff --git a/mod/home.php b/mod/home.php index b2538795f..2e57a2ab9 100644 --- a/mod/home.php +++ b/mod/home.php @@ -109,6 +109,11 @@ function home_content(&$a, $update = 0, $load = false) { } else { + if(get_config('system','disable_discover_tab')) { + call_hooks('home_content',$o); + return $o; + } + if(! $update) { $maxheight = get_config('system','home_divmore_height'); @@ -144,6 +149,7 @@ function home_content(&$a, $update = 0, $load = false) { '$tags' => '', '$dend' => '', '$mid' => '', + '$verb' => '', '$dbegin' => '' )); } diff --git a/mod/impel.php b/mod/impel.php index 1c7541bef..60e80ff9f 100644 --- a/mod/impel.php +++ b/mod/impel.php @@ -75,11 +75,11 @@ function impel_init(&$a) { $execflag = false; if($arr['mimetype'] === 'application/x-php') { - $z = q("select account_id, account_roles from account left join channel on channel_account_id = account_id where channel_id = %d limit 1", + $z = q("select account_id, account_roles, channel_pageflags from account left join channel on channel_account_id = account_id where channel_id = %d limit 1", intval(local_user()) ); - if($z && ($z[0]['account_roles'] & ACCOUNT_ROLE_ALLOWCODE)) { + if($z && (($z[0]['account_roles'] & ACCOUNT_ROLE_ALLOWCODE) || ($z[0]['channel_pageflags'] & PAGE_ALLOWCODE))) { $execflag = true; } } diff --git a/mod/item.php b/mod/item.php index e1855732e..b3370fecf 100644 --- a/mod/item.php +++ b/mod/item.php @@ -88,6 +88,7 @@ function item_post(&$a) { $pagetitle = ((x($_REQUEST,'pagetitle')) ? escape_tags(urlencode($_REQUEST['pagetitle'])) : ''); $layout_mid = ((x($_REQUEST,'layout_mid')) ? escape_tags($_REQUEST['layout_mid']): ''); $plink = ((x($_REQUEST,'permalink')) ? escape_tags($_REQUEST['permalink']) : ''); + $obj_type = ((x($_REQUEST,'obj_type')) ? escape_tags($_REQUEST['obj_type']) : ACTIVITY_OBJ_NOTE); // allow API to bulk load a bunch of imported items with sending out a bunch of posts. $nopush = ((x($_REQUEST,'nopush')) ? intval($_REQUEST['nopush']) : 0); @@ -132,6 +133,9 @@ function item_post(&$a) { if(! x($_REQUEST,'type')) $_REQUEST['type'] = 'net-comment'; + if($obj_type == ACTIVITY_OBJ_POST) + $obj_type = ACTIVITY_OBJ_COMMENT; + if($parent) { $r = q("SELECT * FROM `item` WHERE `id` = %d LIMIT 1", intval($parent) @@ -449,10 +453,10 @@ function item_post(&$a) { $execflag = false; if($mimetype === 'application/x-php') { - $z = q("select account_id, account_roles from account left join channel on channel_account_id = account_id where channel_id = %d limit 1", + $z = q("select account_id, account_roles, channel_pageflags from account left join channel on channel_account_id = account_id where channel_id = %d limit 1", intval($profile_uid) ); - if($z && ($z[0]['account_roles'] & ACCOUNT_ROLE_ALLOWCODE)) { + if($z && (($z[0]['account_roles'] & ACCOUNT_ROLE_ALLOWCODE) || ($z[0]['channel_pageflags'] & PAGE_ALLOWCODE))) { if($uid && (get_account_id() == $z[0]['account_id'])) { $execflag = true; } @@ -578,20 +582,23 @@ function item_post(&$a) { // Look for tags and linkify them $results = linkify_tags($a, $body, ($uid) ? $uid : $profile_uid); - // Set permissions based on tag replacements - set_linkified_perms($results, $str_contact_allow, $str_group_allow, $profile_uid, $parent_item); - - $post_tags = array(); - foreach($results as $result) { - $success = $result['success']; - if($success['replaced']) { - $post_tags[] = array( - 'uid' => $profile_uid, - 'type' => $success['termtype'], - 'otype' => TERM_OBJ_POST, - 'term' => $success['term'], - 'url' => $success['url'] - ); + if($results) { + + // Set permissions based on tag replacements + set_linkified_perms($results, $str_contact_allow, $str_group_allow, $profile_uid, $parent_item); + + $post_tags = array(); + foreach($results as $result) { + $success = $result['success']; + if($success['replaced']) { + $post_tags[] = array( + 'uid' => $profile_uid, + 'type' => $success['termtype'], + 'otype' => TERM_OBJ_POST, + 'term' => $success['term'], + 'url' => $success['url'] + ); + } } } @@ -699,6 +706,7 @@ function item_post(&$a) { $datarray['location'] = $location; $datarray['coord'] = $coord; $datarray['verb'] = $verb; + $datarray['obj_type'] = $obj_type; $datarray['allow_cid'] = $str_contact_allow; $datarray['allow_gid'] = $str_group_allow; $datarray['deny_cid'] = $str_contact_deny; diff --git a/mod/network.php b/mod/network.php index d444dbd59..65332e3f6 100644 --- a/mod/network.php +++ b/mod/network.php @@ -47,7 +47,7 @@ function network_content(&$a, $update = 0, $load = false) { $gid = ((x($_GET,'gid')) ? intval($_GET['gid']) : 0); $category = ((x($_REQUEST,'cat')) ? $_REQUEST['cat'] : ''); $hashtags = ((x($_REQUEST,'tag')) ? $_REQUEST['tag'] : ''); - + $verb = ((x($_REQUEST,'verb')) ? $_REQUEST['verb'] : ''); $search = (($_GET['search']) ? $_GET['search'] : ''); if($search) { @@ -251,6 +251,7 @@ function network_content(&$a, $update = 0, $load = false) { '$tags' => $hashtags, '$dend' => $datequery, '$mid' => '', + '$verb' => $verb, '$dbegin' => $datequery2 )); } @@ -279,6 +280,12 @@ function network_content(&$a, $update = 0, $load = false) { } } + if($verb) { + $sql_extra .= sprintf(" AND item.verb like '%s' ", + dbesc(protect_sprintf('%' . $verb . '%')) + ); + } + if(strlen($file)) { $sql_extra .= term_query('item',$file,TERM_FILE); } diff --git a/mod/photos.php b/mod/photos.php index 3a7ef2d71..b2eb2847f 100644 --- a/mod/photos.php +++ b/mod/photos.php @@ -140,7 +140,7 @@ function photos_post(&$a) { ); if($r) { foreach($r as $i) { - drop_item($i['id'],false); + drop_item($i['id'],false,DROPITEM_PHASE1,true /* force removal of linked items */); if(! $item_restrict) proc_run('php','include/notifier.php','drop',$i['id']); } diff --git a/mod/profiles.php b/mod/profiles.php index 11cd86645..ef5f6b379 100644 --- a/mod/profiles.php +++ b/mod/profiles.php @@ -296,6 +296,8 @@ function profiles_post(&$a) { $work = fix_mce_lf(escape_tags(trim($_POST['work']))); $education = fix_mce_lf(escape_tags(trim($_POST['education']))); + $hide_friends = ((intval($_POST['hide_friends'])) ? 1: 0); + require_once('include/text.php'); linkify_tags($a, $likes, local_user()); linkify_tags($a, $dislikes, local_user()); @@ -312,7 +314,6 @@ function profiles_post(&$a) { linkify_tags($a, $work, local_user()); linkify_tags($a, $education, local_user()); - $hide_friends = (($_POST['hide_friends'] == 1) ? 1: 0); $with = ((x($_POST,'with')) ? escape_tags(trim($_POST['with'])) : ''); @@ -621,7 +622,7 @@ function profiles_content(&$a) { $opt_tpl = get_markup_template("profile_hide_friends.tpl"); $hide_friends = replace_macros($opt_tpl,array('$field' => array( - 'hide-friends', + 'hide_friends', t('Hide your contact/friend list from viewers of this profile?'), $r[0]['hide_friends'], '', diff --git a/mod/search.php b/mod/search.php index 6df9d631a..2ea6ad86f 100644 --- a/mod/search.php +++ b/mod/search.php @@ -109,6 +109,7 @@ function search_content(&$a,$update = 0, $load = false) { '$cats' => '', '$tags' => '', '$mid' => '', + '$verb' => '', '$dend' => '', '$dbegin' => '' )); diff --git a/mod/settings.php b/mod/settings.php index 59ce98a2a..902213446 100644 --- a/mod/settings.php +++ b/mod/settings.php @@ -1004,7 +1004,10 @@ function settings_content(&$a) { $evdays = 3; $permissions_role = get_pconfig(local_user(),'system','permissions_role'); - $permissions_set = (($permissions_role && $permissions_role != 'custom') ? true : false); + if(! $permissions_role) + $permissions_role = 'custom'; + + $permissions_set = (($permissions_role != 'custom') ? true : false); $vnotify = get_pconfig(local_user(),'system','vnotify'); $always_show_in_notices = get_pconfig(local_user(),'system','always_show_in_notices'); if($vnotify === false) |