mirror of
https://codeberg.org/streams/streams.git
synced 2024-09-19 21:15:14 +00:00
move things to the newer conversation object, a few minor bugs - will sort it out eventually
This commit is contained in:
parent
3b394ea43f
commit
26774310b1
7 changed files with 170 additions and 75 deletions
5
boot.php
5
boot.php
|
@ -1867,3 +1867,8 @@ function argc() {
|
||||||
function argv($x) {
|
function argv($x) {
|
||||||
return get_app()->argv[$x];
|
return get_app()->argv[$x];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function dba_timer() {
|
||||||
|
return microtime(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -34,4 +34,4 @@ class BaseObject {
|
||||||
self::$app = $app;
|
self::$app = $app;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
?>
|
|
||||||
|
|
|
@ -35,7 +35,6 @@ class Conversation extends BaseObject {
|
||||||
|
|
||||||
switch($mode) {
|
switch($mode) {
|
||||||
case 'network':
|
case 'network':
|
||||||
case 'notes':
|
|
||||||
$this->profile_owner = local_user();
|
$this->profile_owner = local_user();
|
||||||
$this->writable = true;
|
$this->writable = true;
|
||||||
break;
|
break;
|
||||||
|
@ -104,12 +103,8 @@ class Conversation extends BaseObject {
|
||||||
/*
|
/*
|
||||||
* Only add will be displayed
|
* Only add will be displayed
|
||||||
*/
|
*/
|
||||||
if($item->get_data_value('network') === NETWORK_MAIL && local_user() != $item->get_data_value('uid')) {
|
|
||||||
logger('[WARN] Conversation::add_thread : Thread is a mail ('. $item->get_id() .').', LOGGER_DEBUG);
|
if(activity_match($item->get_data_value('verb'),ACTIVITY_LIKE) || activity_match($item->get_data_value('verb'),ACTIVITY_DISLIKE)) {
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if($item->get_data_value('verb') === ACTIVITY_LIKE || $item->get_data_value('verb') === ACTIVITY_DISLIKE) {
|
|
||||||
logger('[WARN] Conversation::add_thread : Thread is a (dis)like ('. $item->get_id() .').', LOGGER_DEBUG);
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
$item->set_conversation($this);
|
$item->set_conversation($this);
|
||||||
|
@ -130,8 +125,7 @@ class Conversation extends BaseObject {
|
||||||
$result = array();
|
$result = array();
|
||||||
|
|
||||||
foreach($this->threads as $item) {
|
foreach($this->threads as $item) {
|
||||||
if($item->get_data_value('network') === NETWORK_MAIL && local_user() != $item->get_data_value('uid'))
|
|
||||||
continue;
|
|
||||||
$item_data = $item->get_template_data($alike, $dlike);
|
$item_data = $item->get_template_data($alike, $dlike);
|
||||||
if(!$item_data) {
|
if(!$item_data) {
|
||||||
logger('[ERROR] Conversation::get_template_data : Failed to get item template data ('. $item->get_id() .').', LOGGER_DEBUG);
|
logger('[ERROR] Conversation::get_template_data : Failed to get item template data ('. $item->get_id() .').', LOGGER_DEBUG);
|
||||||
|
@ -159,4 +153,3 @@ class Conversation extends BaseObject {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
?>
|
|
||||||
|
|
|
@ -11,11 +11,7 @@ require_once('boot.php');
|
||||||
*/
|
*/
|
||||||
class Item extends BaseObject {
|
class Item extends BaseObject {
|
||||||
private $data = array();
|
private $data = array();
|
||||||
private $template = null;
|
private $template = 'wall_thread.tpl';
|
||||||
private $available_templates = array(
|
|
||||||
'wall' => 'wall_thread.tpl',
|
|
||||||
'wall2wall' => 'wallwall_thread.tpl'
|
|
||||||
);
|
|
||||||
private $comment_box_template = 'comment_item.tpl';
|
private $comment_box_template = 'comment_item.tpl';
|
||||||
private $toplevel = false;
|
private $toplevel = false;
|
||||||
private $writable = false;
|
private $writable = false;
|
||||||
|
@ -29,24 +25,31 @@ class Item extends BaseObject {
|
||||||
private $wall_to_wall = false;
|
private $wall_to_wall = false;
|
||||||
private $threaded = false;
|
private $threaded = false;
|
||||||
private $visiting = false;
|
private $visiting = false;
|
||||||
|
private $observer = null;
|
||||||
|
private $channel = null;
|
||||||
|
|
||||||
public function __construct($data) {
|
public function __construct($data) {
|
||||||
$a = $this->get_app();
|
$a = $this->get_app();
|
||||||
|
|
||||||
$this->data = $data;
|
$this->data = $data;
|
||||||
$this->set_template('wall');
|
$this->channel = $a->get_channel();
|
||||||
|
$this->observer = $a->get_observer();
|
||||||
|
|
||||||
$this->toplevel = ($this->get_id() == $this->get_data_value('parent'));
|
$this->toplevel = ($this->get_id() == $this->get_data_value('parent'));
|
||||||
|
|
||||||
if(is_array($_SESSION['remote'])) {
|
// if(is_array($_SESSION['remote'])) {
|
||||||
foreach($_SESSION['remote'] as $visitor) {
|
// foreach($_SESSION['remote'] as $visitor) {
|
||||||
if($visitor['cid'] == $this->get_data_value('contact-id')) {
|
// if($visitor['cid'] == $this->get_data_value('contact-id')) {
|
||||||
$this->visiting = true;
|
// $this->visiting = true;
|
||||||
break;
|
// break;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
// fixme
|
||||||
$this->writable = ($this->get_data_value('writable') || $this->get_data_value('self'));
|
$this->writable = ($this->get_data_value('writable') || $this->get_data_value('self'));
|
||||||
|
// FIXME - base this on observer permissions
|
||||||
|
$this->writable = ((local_user() && $channel['channel_hash'] === $item['owner_xchan']) ? true : false);
|
||||||
|
|
||||||
$ssl_state = ((local_user()) ? true : false);
|
$ssl_state = ((local_user()) ? true : false);
|
||||||
$this->redirect_url = $a->get_baseurl($ssl_state) . '/redir/' . $this->get_data_value('cid') ;
|
$this->redirect_url = $a->get_baseurl($ssl_state) . '/redir/' . $this->get_data_value('cid') ;
|
||||||
|
@ -60,9 +63,6 @@ class Item extends BaseObject {
|
||||||
/*
|
/*
|
||||||
* Only add will be displayed
|
* Only add will be displayed
|
||||||
*/
|
*/
|
||||||
if($item['network'] === NETWORK_MAIL && local_user() != $item['uid']) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if(! visible_activity($item)) {
|
if(! visible_activity($item)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -79,12 +79,13 @@ class Item extends BaseObject {
|
||||||
* _ The data requested on success
|
* _ The data requested on success
|
||||||
* _ false on failure
|
* _ false on failure
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public function get_template_data($alike, $dlike, $thread_level=1) {
|
public function get_template_data($alike, $dlike, $thread_level=1) {
|
||||||
$result = array();
|
$result = array();
|
||||||
|
|
||||||
$a = $this->get_app();
|
$a = $this->get_app();
|
||||||
|
$observer = $this->observer;
|
||||||
$item = $this->get_data();
|
$item = $this->get_data();
|
||||||
|
|
||||||
$commentww = '';
|
$commentww = '';
|
||||||
$sparkle = '';
|
$sparkle = '';
|
||||||
|
@ -308,9 +309,7 @@ class Item extends BaseObject {
|
||||||
/*
|
/*
|
||||||
* Only add what will be displayed
|
* Only add what will be displayed
|
||||||
*/
|
*/
|
||||||
if($item->get_data_value('network') === NETWORK_MAIL && local_user() != $item->get_data_value('uid')) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if(activity_match($item->get_data_value('verb'),ACTIVITY_LIKE) || activity_match($item->get_data_value('verb'),ACTIVITY_DISLIKE)) {
|
if(activity_match($item->get_data_value('verb'),ACTIVITY_LIKE) || activity_match($item->get_data_value('verb'),ACTIVITY_DISLIKE)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -332,7 +331,7 @@ class Item extends BaseObject {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get all ou children
|
* Get all our children
|
||||||
*/
|
*/
|
||||||
public function get_children() {
|
public function get_children() {
|
||||||
return $this->children;
|
return $this->children;
|
||||||
|
@ -428,17 +427,6 @@ class Item extends BaseObject {
|
||||||
return $this->data[$name];
|
return $this->data[$name];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Set template
|
|
||||||
*/
|
|
||||||
private function set_template($name) {
|
|
||||||
if(!x($this->available_templates, $name)) {
|
|
||||||
logger('[ERROR] Item::set_template : Template not available ("'. $name .'").', LOGGER_DEBUG);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
$this->template = $this->available_templates[$name];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get template
|
* Get template
|
||||||
*/
|
*/
|
||||||
|
@ -528,9 +516,9 @@ class Item extends BaseObject {
|
||||||
'$parent' => $this->get_id(),
|
'$parent' => $this->get_id(),
|
||||||
'$qcomment' => $qcomment,
|
'$qcomment' => $qcomment,
|
||||||
'$profile_uid' => $conv->get_profile_owner(),
|
'$profile_uid' => $conv->get_profile_owner(),
|
||||||
'$mylink' => $a->contact['url'],
|
'$mylink' => $this->observer['xchan_profile'],
|
||||||
'$mytitle' => t('This is you'),
|
'$mytitle' => t('This is you'),
|
||||||
'$myphoto' => $a->contact['thumb'],
|
'$myphoto' => $this->observer['xchan_photo_s'],
|
||||||
'$comment' => t('Comment'),
|
'$comment' => t('Comment'),
|
||||||
'$submit' => t('Submit'),
|
'$submit' => t('Submit'),
|
||||||
'$edbold' => t('Bold'),
|
'$edbold' => t('Bold'),
|
||||||
|
@ -574,7 +562,6 @@ class Item extends BaseObject {
|
||||||
$this->owner_url = zrl($a->page_contact['url']);
|
$this->owner_url = zrl($a->page_contact['url']);
|
||||||
$this->owner_photo = $a->page_contact['thumb'];
|
$this->owner_photo = $a->page_contact['thumb'];
|
||||||
$this->owner_name = $a->page_contact['name'];
|
$this->owner_name = $a->page_contact['name'];
|
||||||
$this->set_template('wall2wall');
|
|
||||||
$this->wall_to_wall = true;
|
$this->wall_to_wall = true;
|
||||||
}
|
}
|
||||||
else if($this->get_data_value('owner-link')) {
|
else if($this->get_data_value('owner-link')) {
|
||||||
|
@ -596,7 +583,6 @@ class Item extends BaseObject {
|
||||||
|
|
||||||
$this->owner_photo = $this->get_data_value('owner-avatar');
|
$this->owner_photo = $this->get_data_value('owner-avatar');
|
||||||
$this->owner_name = $this->get_data_value('owner-name');
|
$this->owner_name = $this->get_data_value('owner-name');
|
||||||
$this->set_template('wall2wall');
|
|
||||||
$this->wall_to_wall = true;
|
$this->wall_to_wall = true;
|
||||||
// If it is our contact, use a friendly redirect link
|
// If it is our contact, use a friendly redirect link
|
||||||
if((link_compare($this->get_data_value('owner-link'),$this->get_data_value('url')))
|
if((link_compare($this->get_data_value('owner-link'),$this->get_data_value('url')))
|
||||||
|
@ -611,7 +597,6 @@ class Item extends BaseObject {
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!$this->wall_to_wall) {
|
if(!$this->wall_to_wall) {
|
||||||
$this->set_template('wall');
|
|
||||||
$this->owner_url = '';
|
$this->owner_url = '';
|
||||||
$this->owner_photo = '';
|
$this->owner_photo = '';
|
||||||
$this->owner_name = '';
|
$this->owner_name = '';
|
||||||
|
@ -642,4 +627,4 @@ class Item extends BaseObject {
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
?>
|
|
||||||
|
|
|
@ -331,13 +331,6 @@ function visible_activity($item) {
|
||||||
|
|
||||||
if(activity_match($item['verb'],ACTIVITY_LIKE) || activity_match($item['verb'],ACTIVITY_DISLIKE))
|
if(activity_match($item['verb'],ACTIVITY_LIKE) || activity_match($item['verb'],ACTIVITY_DISLIKE))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if(activity_match($item['verb'],ACTIVITY_FOLLOW) && $item['object-type'] === ACTIVITY_OBJ_NOTE) {
|
|
||||||
if(! (($item['self']) && ($item['uid'] == local_user()))) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -717,6 +710,7 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional') {
|
||||||
|
|
||||||
$profile_owner = 0;
|
$profile_owner = 0;
|
||||||
$page_writeable = false;
|
$page_writeable = false;
|
||||||
|
$live_update_div = '';
|
||||||
|
|
||||||
$preview = (($page_mode === 'preview') ? true : false);
|
$preview = (($page_mode === 'preview') ? true : false);
|
||||||
$previewing = (($preview) ? ' preview ' : '');
|
$previewing = (($preview) ? ' preview ' : '');
|
||||||
|
@ -724,27 +718,77 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional') {
|
||||||
if($mode === 'network') {
|
if($mode === 'network') {
|
||||||
$profile_owner = local_user();
|
$profile_owner = local_user();
|
||||||
$page_writeable = true;
|
$page_writeable = true;
|
||||||
|
|
||||||
|
if(!$update) {
|
||||||
|
// The special div is needed for liveUpdate to kick in for this page.
|
||||||
|
// We only launch liveUpdate if you aren't filtering in some incompatible
|
||||||
|
// way and also you aren't writing a comment (discovered in javascript).
|
||||||
|
|
||||||
|
$live_update_div = '<div id="live-network"></div>' . "\r\n"
|
||||||
|
. "<script> var profile_uid = " . $_SESSION['uid']
|
||||||
|
. "; var netargs = '" . substr($a->cmd,8)
|
||||||
|
. '?f='
|
||||||
|
. ((x($_GET,'cid')) ? '&cid=' . $_GET['cid'] : '')
|
||||||
|
. ((x($_GET,'search')) ? '&search=' . $_GET['search'] : '')
|
||||||
|
. ((x($_GET,'star')) ? '&star=' . $_GET['star'] : '')
|
||||||
|
. ((x($_GET,'order')) ? '&order=' . $_GET['order'] : '')
|
||||||
|
. ((x($_GET,'bmark')) ? '&bmark=' . $_GET['bmark'] : '')
|
||||||
|
. ((x($_GET,'liked')) ? '&liked=' . $_GET['liked'] : '')
|
||||||
|
. ((x($_GET,'conv')) ? '&conv=' . $_GET['conv'] : '')
|
||||||
|
. ((x($_GET,'spam')) ? '&spam=' . $_GET['spam'] : '')
|
||||||
|
. ((x($_GET,'nets')) ? '&nets=' . $_GET['nets'] : '')
|
||||||
|
. ((x($_GET,'cmin')) ? '&cmin=' . $_GET['cmin'] : '')
|
||||||
|
. ((x($_GET,'cmax')) ? '&cmax=' . $_GET['cmax'] : '')
|
||||||
|
. ((x($_GET,'file')) ? '&file=' . $_GET['file'] : '')
|
||||||
|
|
||||||
|
. "'; var profile_page = " . $a->pager['page'] . "; </script>\r\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if($mode === 'profile') {
|
elseif($mode === 'profile') {
|
||||||
$profile_owner = $a->profile['profile_uid'];
|
$profile_owner = $a->profile['profile_uid'];
|
||||||
$page_writeable = can_write_wall($a,$profile_owner);
|
$page_writeable = can_write_wall($a,$profile_owner);
|
||||||
|
|
||||||
|
if(!$update) {
|
||||||
|
$tab = notags(trim($_GET['tab']));
|
||||||
|
if($tab === 'posts') {
|
||||||
|
// This is ugly, but we can't pass the profile_uid through the session to the ajax updater,
|
||||||
|
// because browser prefetching might change it on us. We have to deliver it with the page.
|
||||||
|
|
||||||
|
$live_update_div = '<div id="live-profile"></div>' . "\r\n"
|
||||||
|
. "<script> var profile_uid = " . $a->profile['profile_uid']
|
||||||
|
. "; var netargs = '?f='; var profile_page = " . $a->pager['page'] . "; </script>\r\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if($mode === 'notes') {
|
elseif($mode === 'display') {
|
||||||
$profile_owner = local_user();
|
|
||||||
$page_writeable = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if($mode === 'display') {
|
|
||||||
$profile_owner = $a->profile['uid'];
|
$profile_owner = $a->profile['uid'];
|
||||||
$page_writeable = can_write_wall($a,$profile_owner);
|
$page_writeable = can_write_wall($a,$profile_owner);
|
||||||
|
|
||||||
|
$live_update_div = '<div id="live-display"></div>' . "\r\n";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if($mode === 'community') {
|
elseif($mode === 'community') {
|
||||||
$profile_owner = 0;
|
$profile_owner = 0;
|
||||||
$page_writeable = false;
|
$page_writeable = false;
|
||||||
|
|
||||||
|
if(!$update) {
|
||||||
|
$live_update_div = '<div id="live-community"></div>' . "\r\n"
|
||||||
|
. "<script> var profile_uid = -1; var netargs = '/?f='; var profile_page = " . $a->pager['page'] . "; </script>\r\n";
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
else if($mode === 'search') {
|
||||||
|
$live_update_div = '<div id="live-search"></div>' . "\r\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
$page_dropping = ((local_user() && local_user() == $profile_owner) ? true : false);
|
$page_dropping = ((local_user() && local_user() == $profile_owner) ? true : false);
|
||||||
|
@ -765,8 +809,6 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional') {
|
||||||
$items = $cb['items'];
|
$items = $cb['items'];
|
||||||
|
|
||||||
$cmnt_tpl = get_markup_template('comment_item.tpl');
|
$cmnt_tpl = get_markup_template('comment_item.tpl');
|
||||||
$tpl = 'wall_item.tpl';
|
|
||||||
$wallwall = 'wallwall_item.tpl';
|
|
||||||
$hide_comments_tpl = get_markup_template('hide_comments.tpl');
|
$hide_comments_tpl = get_markup_template('hide_comments.tpl');
|
||||||
|
|
||||||
$alike = array();
|
$alike = array();
|
||||||
|
@ -893,6 +935,13 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional') {
|
||||||
'tags' => template_escape($tags),
|
'tags' => template_escape($tags),
|
||||||
'hashtags' => template_escape($hashtags),
|
'hashtags' => template_escape($hashtags),
|
||||||
'mentions' => template_escape($mentions),
|
'mentions' => template_escape($mentions),
|
||||||
|
'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(template_escape($body)),
|
||||||
'ago' => relative_date($item['created']),
|
'ago' => relative_date($item['created']),
|
||||||
'app' => $item['app'],
|
'app' => $item['app'],
|
||||||
|
@ -931,6 +980,67 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional') {
|
||||||
{
|
{
|
||||||
// Normal View
|
// Normal View
|
||||||
|
|
||||||
|
$page_template = get_markup_template("threaded_conversation.tpl");
|
||||||
|
|
||||||
|
require_once('include/ConversationObject.php');
|
||||||
|
require_once('include/ItemObject.php');
|
||||||
|
|
||||||
|
$conv = new Conversation($mode, $preview);
|
||||||
|
|
||||||
|
// get all the topmost parents
|
||||||
|
// this shouldn't be needed, as we should have only them in our array
|
||||||
|
// But for now, this array respects the old style, just in case
|
||||||
|
|
||||||
|
$threads = array();
|
||||||
|
foreach($items as $item) {
|
||||||
|
|
||||||
|
// Can we put this after the visibility check?
|
||||||
|
like_puller($a,$item,$alike,'like');
|
||||||
|
like_puller($a,$item,$dlike,'dislike');
|
||||||
|
|
||||||
|
// Only add what is visible
|
||||||
|
if($item['network'] === NETWORK_MAIL && local_user() != $item['uid']) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if(! visible_activity($item)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$item['pagedrop'] = $page_dropping;
|
||||||
|
|
||||||
|
if($item['id'] == $item['parent']) {
|
||||||
|
$item_object = new Item($item);
|
||||||
|
$conv->add_thread($item_object);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$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),
|
||||||
|
'$live_update' => $live_update_div,
|
||||||
|
'$remove' => t('remove'),
|
||||||
|
'$mode' => $mode,
|
||||||
|
'$user' => $a->user,
|
||||||
|
'$threads' => $threads,
|
||||||
|
'$dropping' => ($page_dropping?t('Delete Selected Items'):False),
|
||||||
|
));
|
||||||
|
|
||||||
|
return $o;
|
||||||
|
|
||||||
|
|
||||||
|
}}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
old code
|
||||||
|
|
||||||
|
|
||||||
// Figure out how many comments each parent has
|
// Figure out how many comments each parent has
|
||||||
// (Comments all have gravity of 6)
|
// (Comments all have gravity of 6)
|
||||||
|
@ -1351,6 +1461,7 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional') {
|
||||||
|
|
||||||
return $o;
|
return $o;
|
||||||
}}
|
}}
|
||||||
|
*/
|
||||||
|
|
||||||
function best_link_url($item,&$sparkle,$ssl_state = false) {
|
function best_link_url($item,&$sparkle,$ssl_state = false) {
|
||||||
|
|
||||||
|
|
|
@ -287,7 +287,3 @@ function dbesc_array(&$arr) {
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
|
||||||
function dba_timer() {
|
|
||||||
return microtime(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
|
@ -972,6 +972,11 @@ input#dfrn-url {
|
||||||
margin-left: 50px;
|
margin-left: 50px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.tread-end-wrapper {
|
||||||
|
margin-left: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
.wall-item-content-wrapper.comment {
|
.wall-item-content-wrapper.comment {
|
||||||
background: #ffffff;
|
background: #ffffff;
|
||||||
border-left: 1px solid #e0e0e0;
|
border-left: 1px solid #e0e0e0;
|
||||||
|
|
Loading…
Reference in a new issue