$page_template = get_markup_template("conversation.tpl");
if ($items && count($items)) {
- // Currently disabled. This is a preparation for the ability to comment and share every public item.
- // $writable = ($items[0]['uid'] == 0) && in_array($items[0]['network'], array(NETWORK_OSTATUS, NETWORK_DIASPORA));
- $writable = false;
+ // Currently behind a config value. This allows the commenting and sharing of every public item.
+ if (Config::get('system', 'comment_public')) {
+ $writable = ($items[0]['uid'] == 0) && in_array($items[0]['network'], array(NETWORK_OSTATUS, NETWORK_DIASPORA));
+ } else {
+ $writable = false;
+ }
if ($mode === 'network-new' || $mode === 'search' || $mode === 'community') {
return($profiledata);
}
-function display_content(App $a, $update = 0) {
+function display_content(App $a, $update = false, $update_uid = 0) {
- if ((Config::get('system','block_public')) && (! local_user()) && (! remote_user())) {
+ if (Config::get('system','block_public') && !local_user() && !remote_user()) {
notice(t('Public access denied.') . EOL);
return;
}
if ($update) {
$item_id = $_REQUEST['item_id'];
- $a->profile = array('uid' => intval($update), 'profile_uid' => intval($update));
+ $item = dba::select('item', ['uid'], ['id' => $item_id], ['limit' => 1]);
+ $a->profile = array('uid' => intval($item['uid']), 'profile_uid' => intval($item['uid']));
} else {
$item_id = (($a->argc > 2) ? $a->argv[2] : 0);
if (DBM::is_result($r)) {
$a->page_contact = $r;
}
- $is_owner = ((local_user()) && (local_user() == $a->profile['profile_uid']) ? true : false);
+ $is_owner = (local_user() && (local_user() == $a->profile['profile_uid']) ? true : false);
- if ($a->profile['hidewall'] && (! $is_owner) && (! $remote_contact)) {
+ if ($a->profile['hidewall'] && !$is_owner && !$remote_contact) {
notice(t('Access to this profile has been restricted.') . EOL);
return;
}
$sql_extra = item_permissions_sql($a->profile['uid'],$remote_contact,$groups);
if ($update) {
- $r = dba::p("SELECT `id` FROM `item` WHERE `item`.`uid` = ?
- AND `item`.`parent` = (SELECT `parent` FROM `item` WHERE `id` = ?)
+ $r = dba::p("SELECT `id` FROM `item` WHERE
+ `item`.`parent` = (SELECT `parent` FROM `item` WHERE `id` = ?)
$sql_extra AND `unseen`",
- $a->profile['uid'],
$item_id
);
if (!$update) {
$o .= "<script> var netargs = '?f=&nick=" . $nick . "&item_id=" . $item_id . "'; </script>";
}
- $o .= conversation($a, $items, 'display', $update);
+ $o .= conversation($a, $items, 'display', $update_uid);
// Preparing the meta header
require_once('include/bbcode.php');
echo "<!DOCTYPE html><html><body>\r\n";
echo "<section>";
- $text = display_content($a, $profile_uid);
+ $text = display_content($a, true, $profile_uid);
$pattern = "/<img([^>]*) src=\"([^\"]*)\"/";
$replace = "<img\${1} dst=\"\${2}\"";
$text = preg_replace($pattern, $replace, $text);