<?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'
function conversation(&$a, $items, $mode, $update, $preview = false) {
- require_once('bbcode.php');
+ require_once('include/bbcode.php');
$ssl_state = ((local_user()) ? true : false);
list($categories, $folders) = get_cats_and_terms($item);
+ if($a->theme['template_engine'] === 'internal') {
+ $profile_name_e = template_escape($profile_name);
+ $item['title_e'] = template_escape($item['title']);
+ $body_e = template_escape($body);
+ $tags_e = template_escape($tags);
+ $hashtags_e = template_escape($hashtags);
+ $mentions_e = template_escape($mentions);
+ $location_e = template_escape($location);
+ $owner_name_e = template_escape($owner_name);
+ }
+ else {
+ $profile_name_e = $profile_name;
+ $item['title_e'] = $item['title'];
+ $body_e = $body;
+ $tags_e = $tags;
+ $hashtags_e = $hashtags;
+ $mentions_e = $mentions;
+ $location_e = $location;
+ $owner_name_e = $owner_name;
+ }
+
$tmp_item = array(
'template' => $tpl,
'id' => (($preview) ? 'P0' : $item['item_id']),
'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' => template_escape($profile_name),
+ 'name' => $profile_name_e,
'sparkle' => $sparkle,
'lock' => $lock,
'thumb' => $profile_avatar,
- 'title' => template_escape($item['title']),
- 'body' => template_escape($body),
- 'tags' => template_escape($tags),
- 'hashtags' => template_escape($hashtags),
- 'mentions' => template_escape($mentions),
+ 'title' => $item['title_e'],
+ 'body' => $body_e,
+ 'tags' => $tags_e,
+ 'hashtags' => $hashtags_e,
+ 'mentions' => $mentions_e,
'txt_cats' => t('Categories:'),
'txt_folders' => t('Filed under:'),
'has_cats' => ((count($categories)) ? 'true' : ''),
'has_folders' => ((count($folders)) ? 'true' : ''),
'categories' => $categories,
'folders' => $folders,
- 'text' => strip_tags(template_escape($body)),
+ 'text' => strip_tags($body_e),
'localtime' => datetime_convert('UTC', date_default_timezone_get(), $item['created'], 'r'),
'ago' => (($item['app']) ? sprintf( t('%s from %s'),relative_date($item['created']),$item['app']) : relative_date($item['created'])),
- 'location' => template_escape($location),
+ 'location' => $location_e,
'indent' => '',
- 'owner_name' => template_escape($owner_name),
+ 'owner_name' => $owner_name_e,
'owner_url' => $owner_url,
'owner_photo' => $owner_photo,
'plink' => get_plink($item),
continue;
}
+ call_hooks('display_item', $arr);
+
$item['pagedrop'] = $page_dropping;
if($item['id'] == $item['parent']) {
$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']);
if($cnt == 1)
$o .= (($type === 'like') ? sprintf( t('%s likes this.'), $arr[0]) : sprintf( t('%s doesn\'t like this.'), $arr[0])) . EOL ;
else {
- $spanatts = 'class="fakelink" onclick="openClose(\'' . $type . 'list-' . $id . '\');"';
- $o .= (($type === 'like') ?
- sprintf( t('<span %1$s>%2$d people</span> like this.'), $spanatts, $cnt)
- :
- sprintf( t('<span %1$s>%2$d people</span> don\'t like this.'), $spanatts, $cnt) );
- $o .= EOL ;
+ $spanatts = "class=\"fakelink\" onclick=\"openClose('{$type}list-$id');\"";
+ switch($type) {
+ case 'like':
+ $phrase = sprintf( t('<span %1$s>%2$d people</span> like this'), $spanatts, $cnt);
+ break;
+ case 'dislike':
+ $phrase = sprintf( t('<span %1$s>%2$d people</span> don\'t like this'), $spanatts, $cnt);
+ break;
+ }
+ $phrase .= EOL ;
+ $o .= replace_macros(get_markup_template('voting_fakelink.tpl'), array(
+ '$phrase' => $phrase,
+ '$type' => $type,
+ '$id' => $id
+ ));
+
$total = count($arr);
if($total >= MAX_LIKERS)
$arr = array_slice($arr, 0, MAX_LIKERS - 1);
$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;
}}
$o = '';
- $geotag = (($x['allow_location']) ? get_markup_template('jot_geotag.tpl') : '');
+ $geotag = (($x['allow_location']) ? replace_macros(get_markup_template('jot_geotag.tpl'), array()) : '');
/* $plaintext = false;
if( local_user() && (intval(get_pconfig(local_user(),'system','plaintext')) || !feature_enabled(local_user(),'richtext')) )
));
- $tpl = get_markup_template("jot.tpl");
-
$jotplugins = '';
$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'),
'$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,
));