<?php
require_once("include/bbcode.php");
+require_once("include/acl_selectors.php");
// Note: the code in 'item_extract_images' and 'item_redir_and_replace_images'
// we can't have a translation string with three positions but no distinguishable text
// So here is the translate string.
-
$txt = t('%1$s poked %2$s');
-
+
// now translate the verb
-
- $txt = str_replace( t('poked'), t($verb), $txt);
+ $poked_t = trim(sprintf($txt, "",""));
+ $txt = str_replace( $poked_t, t($verb), $txt);
// then do the sprintf on the translation string
if(!function_exists('conversation')) {
function conversation(&$a, $items, $mode, $update, $preview = false) {
-
require_once('include/bbcode.php');
+ require_once('mod/proxy.php');
$ssl_state = ((local_user()) ? true : false);
$page_writeable = false;
$live_update_div = '';
+ $arr_blocked = null;
+
+ if(local_user()) {
+ $str_blocked = get_pconfig(local_user(),'system','blocked');
+ if($str_blocked) {
+ $arr_blocked = explode(',',$str_blocked);
+ for($x = 0; $x < count($arr_blocked); $x ++)
+ $arr_blocked[$x] = trim($arr_blocked[$x]);
+ }
+
+ }
+
$previewing = (($preview) ? ' preview ' : '');
if($mode === 'network') {
$alike = array();
$dlike = array();
-
// array with html for each thread (parent+comments)
$threads = array();
$threadsid = -1;
$tpl = 'search_item.tpl';
foreach($items as $item) {
+
+ if($arr_blocked) {
+ $blocked = false;
+ foreach($arr_blocked as $b) {
+ if($b && link_compare($item['author-link'],$b)) {
+ $blocked = true;
+ break;
+ }
+ }
+ if($blocked)
+ continue;
+ }
+
+
$threadsid++;
$comment = '';
$tag["url"] = $searchpath.strtolower($tag["term"]);
if ($tag["type"] == TERM_HASHTAG) {
- $hashtags[] = "#<a href=\"".$tag["url"]."\" target=\"external-link\">".$tag["term"]."</a>";
+ $hashtags[] = "#<a href=\"".$tag["url"]."\" target=\"_blank\">".$tag["term"]."</a>";
$prefix = "#";
} elseif ($tag["type"] == TERM_MENTION) {
- $mentions[] = "@<a href=\"".$tag["url"]."\" target=\"external-link\">".$tag["term"]."</a>";
+ $mentions[] = "@<a href=\"".$tag["url"]."\" target=\"_blank\">".$tag["term"]."</a>";
$prefix = "@";
}
- $tags[] = $prefix."<a href=\"".$tag["url"]."\" target=\"external-link\">".$tag["term"]."</a>";
+ $tags[] = $prefix."<a href=\"".$tag["url"]."\" target=\"_blank\">".$tag["term"]."</a>";
}
/*foreach(explode(',',$item['tag']) as $tag){
$likebuttons = false;
$shareable = false;
- $body = prepare_body($item,true);
+ $body = prepare_body($item,true, $preview);
list($categories, $folders) = get_cats_and_terms($item);
$tmp_item = array(
'template' => $tpl,
'id' => (($preview) ? 'P0' : $item['item_id']),
+ 'network' => $item['item_network'],
'linktitle' => sprintf( t('View %s\'s profile @ %s'), $profile_name, ((strlen($item['author-link'])) ? $item['author-link'] : $item['url'])),
'profile_url' => $profile_link,
'item_photo_menu' => item_photo_menu($item),
'name' => $profile_name_e,
'sparkle' => $sparkle,
'lock' => $lock,
- 'thumb' => $profile_avatar,
+ 'thumb' => proxy_url($profile_avatar),
'title' => $item['title_e'],
'body' => $body_e,
'tags' => $tags_e,
'indent' => '',
'owner_name' => $owner_name_e,
'owner_url' => $owner_url,
- 'owner_photo' => $owner_photo,
+ 'owner_photo' => proxy_url($owner_photo),
'plink' => get_plink($item),
'edpost' => false,
'isstarred' => $isstarred,
'like' => '',
'dislike' => '',
'comment' => '',
- 'conv' => (($preview) ? '' : array('href'=> $a->get_baseurl($ssl_state) . '/display/' . $nickname . '/' . $item['id'], 'title'=> t('View in context'))),
+ //'conv' => (($preview) ? '' : array('href'=> $a->get_baseurl($ssl_state) . '/display/' . $nickname . '/' . $item['id'], 'title'=> t('View in context'))),
+ 'conv' => (($preview) ? '' : array('href'=> $a->get_baseurl($ssl_state) . '/display/'.$item['guid'], 'title'=> t('View in context'))),
'previewing' => $previewing,
'wait' => t('Please wait'),
'thread_level' => 1,
call_hooks('display_item', $arr);
$threads[$threadsid]['id'] = $item['item_id'];
+ $threads[$threadsid]['network'] = $item['item_network'];
$threads[$threadsid]['items'] = array($arr['output']);
}
-
}
else
{
$threads = array();
foreach($items as $item) {
+ if($arr_blocked) {
+ $blocked = false;
+ foreach($arr_blocked as $b) {
+
+ if($b && link_compare($item['author-link'],$b)) {
+ $blocked = true;
+ break;
+ }
+ }
+ if($blocked)
+ continue;
+ }
+
+
+
// Can we put this after the visibility check?
like_puller($a,$item,$alike,'like');
like_puller($a,$item,$dlike,'dislike');
continue;
}
+ call_hooks('display_item', $arr);
+
$item['pagedrop'] = $page_dropping;
if($item['id'] == $item['parent']) {
}
$threads = $conv->get_template_data($alike, $dlike);
+
if(!$threads) {
logger('[ERROR] conversation : Failed to get template data.', LOGGER_DEBUG);
$threads = array();
$o = replace_macros($page_template, array(
'$baseurl' => $a->get_baseurl($ssl_state),
+ '$return_path' => $a->query_string,
'$live_update' => $live_update_div,
'$remove' => t('remove'),
'$mode' => $mode,
if(($cid) && (! $item['self'])) {
$poke_link = $a->get_baseurl($ssl_state) . '/poke/?f=&c=' . $cid;
$contact_url = $a->get_baseurl($ssl_state) . '/contacts/' . $cid;
- $posts_link = $a->get_baseurl($ssl_state) . '/network/?cid=' . $cid;
+ $posts_link = $a->get_baseurl($ssl_state) . '/network/0?nets=all&cid=' . $cid;
$clean_url = normalise_link($item['author-link']);
$str .= sprintf( t(', and %d other people'), $total - MAX_LIKERS );
}
$str = (($type === 'like') ? sprintf( t('%s like this.'), $str) : sprintf( t('%s don\'t like this.'), $str));
- $o .= "\t" . '<div id="' . $type . 'list-' . $id . '" style="display: none;" >' . $str . '</div>';
+ $o .= "\t" . '<div class="wall-item-' . $type . '-expanded" id="' . $type . 'list-' . $id . '" style="display: none;" >' . $str . '</div>';
}
return $o;
}}
));
- $tpl = get_markup_template("jot.tpl");
-
$jotplugins = '';
$jotnets = '';
}
}
- if($mail_enabled) {
- $selected = (($pubmail_enabled) ? ' checked="checked" ' : '');
- $jotnets .= '<div class="profile-jot-net"><input type="checkbox" name="pubmail_enable"' . $selected . ' value="1" /> ' . t("Post to Email") . '</div>';
- }
+ if (!$a->user['hidewall']) {
+ if($mail_enabled) {
+ $selected = (($pubmail_enabled) ? ' checked="checked" ' : '');
+ $jotnets .= '<div class="profile-jot-net"><input type="checkbox" name="pubmail_enable"' . $selected . ' value="1" /> ' . t("Post to Email") . '</div>';
+ }
+
+ call_hooks('jot_networks', $jotnets);
+ } else
+ $jotnets .= sprintf(t('Connectors disabled, since "%s" is enabled.'),
+ t('Hide your profile details from unknown viewers?'));
call_hooks('jot_tool', $jotplugins);
- call_hooks('jot_networks', $jotnets);
if($notes_cid)
$jotnets .= '<input type="hidden" name="contact_allow[]" value="' . $notes_cid .'" />';
+
+ // Private/public post links for the non-JS ACL form
+ $private_post = 1;
+ if($_REQUEST['public'])
+ $private_post = 0;
+
+ $query_str = $a->query_string;
+ if(strpos($query_str, 'public=1') !== false)
+ $query_str = str_replace(array('?public=1', '&public=1'), array('', ''), $query_str);
+
+ // I think $a->query_string may never have ? in it, but I could be wrong
+ // It looks like it's from the index.php?q=[etc] rewrite that the web
+ // server does, which converts any ? to &, e.g. suggest&ignore=61 for suggest?ignore=61
+ if(strpos($query_str, '?') === false)
+ $public_post_link = '?public=1';
+ else
+ $public_post_link = '&public=1';
+
+
+
// $tpl = replace_macros($tpl,array('$jotplugins' => $jotplugins));
+ $tpl = get_markup_template("jot.tpl");
$o .= replace_macros($tpl,array(
- '$return_path' => $a->query_string,
+ '$return_path' => $query_str,
'$action' => $a->get_baseurl(true) . '/item',
'$share' => (x($x,'button') ? $x['button'] : t('Share')),
'$upload' => t('Upload photo'),
'$shortsetloc' => t('set location'),
'$noloc' => t('Clear browser location'),
'$shortnoloc' => t('clear location'),
- '$title' => "",
+ '$title' => $x['title'],
'$placeholdertitle' => t('Set title'),
- '$category' => "",
+ '$category' => $x['category'],
'$placeholdercategory' => (feature_enabled(local_user(),'categories') ? t('Categories (comma-separated list)') : ''),
'$wait' => t('Please wait'),
'$permset' => t('Permission settings'),
'$shortpermset' => t('permissions'),
'$ptyp' => (($notes_cid) ? 'note' : 'wall'),
- '$content' => '',
- '$post_id' => '',
+ '$content' => $x['content'],
+ '$post_id' => $x['post_id'],
'$baseurl' => $a->get_baseurl(true),
'$defloc' => $x['default_location'],
'$visitor' => $x['visitor'],
'$jotnets' => $jotnets,
'$emtitle' => t('Example: bob@example.com, mary@example.com'),
'$lockstate' => $x['lockstate'],
- '$acl' => $x['acl'],
'$bang' => $x['bang'],
'$profile_uid' => $x['profile_uid'],
'$preview' => ((feature_enabled($x['profile_uid'],'preview')) ? t('Preview') : ''),
'$jotplugins' => $jotplugins,
'$sourceapp' => t($a->sourcename),
'$cancel' => t('Cancel'),
- '$rand_num' => random_digits(12)
+ '$rand_num' => random_digits(12),
+
+ // ACL permissions box
+ '$acl' => $x['acl'],
+ '$acl_data' => $x['acl_data'],
+ '$group_perms' => t('Post to Groups'),
+ '$contact_perms' => t('Post to Contacts'),
+ '$private' => t('Private post'),
+ '$is_private' => $private_post,
+ '$public_link' => $public_post_link,
));