Merge branch 'master' of https://github.com/friendica/friendica
This commit is contained in:
commit
a126005877
26 changed files with 224 additions and 108 deletions
2
boot.php
2
boot.php
|
@ -11,7 +11,7 @@ require_once('include/cache.php');
|
||||||
require_once('library/Mobile_Detect/Mobile_Detect.php');
|
require_once('library/Mobile_Detect/Mobile_Detect.php');
|
||||||
|
|
||||||
define ( 'FRIENDICA_PLATFORM', 'Friendica');
|
define ( 'FRIENDICA_PLATFORM', 'Friendica');
|
||||||
define ( 'FRIENDICA_VERSION', '3.0.1486' );
|
define ( 'FRIENDICA_VERSION', '3.0.1492' );
|
||||||
define ( 'DFRN_PROTOCOL_VERSION', '2.23' );
|
define ( 'DFRN_PROTOCOL_VERSION', '2.23' );
|
||||||
define ( 'DB_UPDATE_VERSION', 1156 );
|
define ( 'DB_UPDATE_VERSION', 1156 );
|
||||||
|
|
||||||
|
|
|
@ -129,11 +129,12 @@ class Photo {
|
||||||
$this->image->setCompressionQuality($quality);
|
$this->image->setCompressionQuality($quality);
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->width = $this->image->getImageWidth();
|
// The 'width' and 'height' properties are only used by non-Imagick routines.
|
||||||
|
$this->width = $this->image->getImageWidth();
|
||||||
$this->height = $this->image->getImageHeight();
|
$this->height = $this->image->getImageHeight();
|
||||||
$this->valid = true;
|
$this->valid = true;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->valid = false;
|
$this->valid = false;
|
||||||
|
@ -205,8 +206,8 @@ class Photo {
|
||||||
if(!$this->is_valid())
|
if(!$this->is_valid())
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
$width = $this->width;
|
$width = $this->getWidth();
|
||||||
$height = $this->height;
|
$height = $this->getHeight();
|
||||||
|
|
||||||
$dest_width = $dest_height = 0;
|
$dest_width = $dest_height = 0;
|
||||||
|
|
||||||
|
@ -263,24 +264,25 @@ class Photo {
|
||||||
|
|
||||||
|
|
||||||
if($this->is_imagick()) {
|
if($this->is_imagick()) {
|
||||||
/**
|
/**
|
||||||
* If it is not animated, there will be only one iteration here,
|
* If it is not animated, there will be only one iteration here,
|
||||||
* so don't bother checking
|
* so don't bother checking
|
||||||
*/
|
*/
|
||||||
// Don't forget to go back to the first frame
|
// Don't forget to go back to the first frame
|
||||||
$this->image->setFirstIterator();
|
$this->image->setFirstIterator();
|
||||||
do {
|
do {
|
||||||
|
|
||||||
// FIXME - implement horizantal bias for scaling as in followin GD functions
|
// FIXME - implement horizantal bias for scaling as in followin GD functions
|
||||||
// to allow very tall images to be constrained only horizontally.
|
// to allow very tall images to be constrained only horizontally.
|
||||||
|
|
||||||
$this->image->scaleImage($dest_width, $dest_height);
|
$this->image->scaleImage($dest_width, $dest_height);
|
||||||
} while ($this->image->nextImage());
|
} while ($this->image->nextImage());
|
||||||
|
|
||||||
// FIXME - also we need to copy the new dimensions to $this->height, $this->width as other functions
|
// These may not be necessary any more
|
||||||
// may rely on it.
|
$this->width = $this->image->getImageWidth();
|
||||||
|
$this->height = $this->image->getImageHeight();
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -402,8 +404,8 @@ class Photo {
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
|
|
||||||
$width = $this->width;
|
$width = $this->getWidth();
|
||||||
$height = $this->height;
|
$height = $this->getHeight();
|
||||||
|
|
||||||
$dest_width = $dest_height = 0;
|
$dest_width = $dest_height = 0;
|
||||||
|
|
||||||
|
@ -483,19 +485,19 @@ class Photo {
|
||||||
if(!$this->is_valid())
|
if(!$this->is_valid())
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
if($this->is_imagick()) {
|
if($this->is_imagick()) {
|
||||||
$this->image->setFirstIterator();
|
$this->image->setFirstIterator();
|
||||||
do {
|
do {
|
||||||
$this->image->cropImage($w, $h, $x, $y);
|
$this->image->cropImage($w, $h, $x, $y);
|
||||||
/**
|
/**
|
||||||
* We need to remove the canva,
|
* We need to remove the canva,
|
||||||
* or the image is not resized to the crop:
|
* or the image is not resized to the crop:
|
||||||
* http://php.net/manual/en/imagick.cropimage.php#97232
|
* http://php.net/manual/en/imagick.cropimage.php#97232
|
||||||
*/
|
*/
|
||||||
$this->image->setImagePage(0, 0, 0, 0);
|
$this->image->setImagePage(0, 0, 0, 0);
|
||||||
} while ($this->image->nextImage());
|
} while ($this->image->nextImage());
|
||||||
return $this->scaleImage($max);
|
return $this->scaleImage($max);
|
||||||
}
|
}
|
||||||
|
|
||||||
$dest = imagecreatetruecolor( $max, $max );
|
$dest = imagecreatetruecolor( $max, $max );
|
||||||
imagealphablending($dest, false);
|
imagealphablending($dest, false);
|
||||||
|
|
|
@ -374,33 +374,79 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
|
||||||
$ssl_state = ((local_user()) ? true : false);
|
$ssl_state = ((local_user()) ? true : false);
|
||||||
|
|
||||||
$profile_owner = 0;
|
$profile_owner = 0;
|
||||||
$page_writeable = false;
|
$page_writeable = false;
|
||||||
|
$live_update_div = '';
|
||||||
|
|
||||||
$previewing = (($preview) ? ' preview ' : '');
|
$previewing = (($preview) ? ' preview ' : '');
|
||||||
|
|
||||||
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).
|
||||||
|
|
||||||
if($mode === 'profile') {
|
$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";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if($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($mode === 'notes') {
|
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";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if($mode === 'notes') {
|
||||||
$profile_owner = local_user();
|
$profile_owner = local_user();
|
||||||
$page_writeable = true;
|
$page_writeable = true;
|
||||||
|
if(!$update) {
|
||||||
|
$live_update_div = '<div id="live-notes"></div>' . "\r\n"
|
||||||
|
. "<script> var profile_uid = " . local_user()
|
||||||
|
. "; var netargs = '/?f='; var profile_page = " . $a->pager['page'] . "; </script>\r\n";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
else if($mode === 'display') {
|
||||||
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";
|
||||||
}
|
}
|
||||||
|
else if($mode === 'community') {
|
||||||
if($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);
|
||||||
|
@ -630,7 +676,8 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
|
||||||
|
|
||||||
$o = replace_macros($page_template, array(
|
$o = replace_macros($page_template, array(
|
||||||
'$baseurl' => $a->get_baseurl($ssl_state),
|
'$baseurl' => $a->get_baseurl($ssl_state),
|
||||||
'$remove' => t('remove'),
|
'$live_update' => $live_update_div,
|
||||||
|
'$remove' => t('remove'),
|
||||||
'$mode' => $mode,
|
'$mode' => $mode,
|
||||||
'$user' => $a->user,
|
'$user' => $a->user,
|
||||||
'$threads' => $threads,
|
'$threads' => $threads,
|
||||||
|
|
60
include/redir.php
Normal file
60
include/redir.php
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
function auto_redir(&$a, $contact_nick) {
|
||||||
|
|
||||||
|
if(local_user()) {
|
||||||
|
|
||||||
|
$r = q("SELECT id FROM contact WHERE uid = ( SELECT uid FROM user WHERE nickname = '%s' LIMIT 1 ) AND nick = '%s' AND network = '%s' LIMIT 1",
|
||||||
|
dbesc($contact_nick),
|
||||||
|
dbesc($a->user['nickname']),
|
||||||
|
dbesc(NETWORK_DFRN)
|
||||||
|
);
|
||||||
|
if(!$r || $r[0]['id'] == remote_user())
|
||||||
|
return;
|
||||||
|
|
||||||
|
|
||||||
|
$r = q("SELECT * FROM contact WHERE nick = '%s' AND network = '%s' AND uid = %d LIMIT 1",
|
||||||
|
dbesc($contact_nick),
|
||||||
|
dbesc(NETWORK_DFRN),
|
||||||
|
intval(local_user())
|
||||||
|
);
|
||||||
|
|
||||||
|
if(! $r)
|
||||||
|
return;
|
||||||
|
|
||||||
|
$cid = $r[0]['id'];
|
||||||
|
|
||||||
|
$dfrn_id = $orig_id = (($r[0]['issued-id']) ? $r[0]['issued-id'] : $r[0]['dfrn-id']);
|
||||||
|
|
||||||
|
if($r[0]['duplex'] && $r[0]['issued-id']) {
|
||||||
|
$orig_id = $r[0]['issued-id'];
|
||||||
|
$dfrn_id = '1:' . $orig_id;
|
||||||
|
}
|
||||||
|
if($r[0]['duplex'] && $r[0]['dfrn-id']) {
|
||||||
|
$orig_id = $r[0]['dfrn-id'];
|
||||||
|
$dfrn_id = '0:' . $orig_id;
|
||||||
|
}
|
||||||
|
|
||||||
|
$sec = random_string();
|
||||||
|
|
||||||
|
q("INSERT INTO `profile_check` ( `uid`, `cid`, `dfrn_id`, `sec`, `expire`)
|
||||||
|
VALUES( %d, %s, '%s', '%s', %d )",
|
||||||
|
intval(local_user()),
|
||||||
|
intval($cid),
|
||||||
|
dbesc($dfrn_id),
|
||||||
|
dbesc($sec),
|
||||||
|
intval(time() + 45)
|
||||||
|
);
|
||||||
|
|
||||||
|
$url = curPageURL();
|
||||||
|
|
||||||
|
logger('check_redir: ' . $r[0]['name'] . ' ' . $sec, LOGGER_DEBUG);
|
||||||
|
$dest = (($url) ? '&destination_url=' . $url : '');
|
||||||
|
goaway ($r[0]['poll'] . '?dfrn_id=' . $dfrn_id
|
||||||
|
. '&dfrn_version=' . DFRN_PROTOCOL_VERSION . '&type=profile&sec=' . $sec . $dest );
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -104,7 +104,7 @@ ACPopup.prototype._search = function(){
|
||||||
else {
|
else {
|
||||||
txt = tinyMCE.activeEditor.getContent();
|
txt = tinyMCE.activeEditor.getContent();
|
||||||
// alert(that.searchText + ':' + t);
|
// alert(that.searchText + ':' + t);
|
||||||
newtxt = txt.replace(that.searchText,t+' ');
|
newtxt = txt.replace('@' + that.searchText,'@' + t +' ');
|
||||||
tinyMCE.activeEditor.setContent(newtxt);
|
tinyMCE.activeEditor.setContent(newtxt);
|
||||||
tinyMCE.activeEditor.focus();
|
tinyMCE.activeEditor.focus();
|
||||||
that.close();
|
that.close();
|
||||||
|
|
|
@ -32,8 +32,6 @@ function community_content(&$a, $update = 0) {
|
||||||
$o .= '<h3>' . t('Community') . '</h3>';
|
$o .= '<h3>' . t('Community') . '</h3>';
|
||||||
if(! $update) {
|
if(! $update) {
|
||||||
nav_set_selected('community');
|
nav_set_selected('community');
|
||||||
$o .= '<div id="live-community"></div>' . "\r\n";
|
|
||||||
$o .= "<script> var profile_uid = -1; var netargs = '/?f='; var profile_page = " . $a->pager['page'] . "; </script>\r\n";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(x($a->data,'search'))
|
if(x($a->data,'search'))
|
||||||
|
|
|
@ -14,7 +14,7 @@ function display_content(&$a) {
|
||||||
require_once('include/acl_selectors.php');
|
require_once('include/acl_selectors.php');
|
||||||
|
|
||||||
|
|
||||||
$o = '<div id="live-display"></div>' . "\r\n";
|
$o = '';
|
||||||
|
|
||||||
$a->page['htmlhead'] .= get_markup_template('display-head.tpl');
|
$a->page['htmlhead'] .= get_markup_template('display-head.tpl');
|
||||||
|
|
||||||
|
@ -78,7 +78,7 @@ function display_content(&$a) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($is_owner)
|
if ($is_owner) {
|
||||||
$celeb = ((($a->user['page-flags'] == PAGE_SOAPBOX) || ($a->user['page-flags'] == PAGE_COMMUNITY)) ? true : false);
|
$celeb = ((($a->user['page-flags'] == PAGE_SOAPBOX) || ($a->user['page-flags'] == PAGE_COMMUNITY)) ? true : false);
|
||||||
|
|
||||||
$x = array(
|
$x = array(
|
||||||
|
@ -93,7 +93,7 @@ function display_content(&$a) {
|
||||||
'profile_uid' => local_user()
|
'profile_uid' => local_user()
|
||||||
);
|
);
|
||||||
$o .= status_editor($a,$x,0,true);
|
$o .= status_editor($a,$x,0,true);
|
||||||
|
}
|
||||||
|
|
||||||
$sql_extra = item_permissions_sql($a->profile['uid'],$remote_contact,$groups);
|
$sql_extra = item_permissions_sql($a->profile['uid'],$remote_contact,$groups);
|
||||||
|
|
||||||
|
|
|
@ -24,8 +24,13 @@ function lockview_content(&$a) {
|
||||||
if(! count($r))
|
if(! count($r))
|
||||||
killme();
|
killme();
|
||||||
$item = $r[0];
|
$item = $r[0];
|
||||||
if($item['uid'] != local_user())
|
|
||||||
|
call_hooks('lockview_content', $item);
|
||||||
|
|
||||||
|
if($item['uid'] != local_user()) {
|
||||||
|
echo t('Remote privacy information not available.') . '<br />';
|
||||||
killme();
|
killme();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if(($item['private'] == 1) && (! strlen($item['allow_cid'])) && (! strlen($item['allow_gid']))
|
if(($item['private'] == 1) && (! strlen($item['allow_cid'])) && (! strlen($item['allow_gid']))
|
||||||
|
|
|
@ -75,7 +75,10 @@ function manage_post(&$a) {
|
||||||
if($limited_id)
|
if($limited_id)
|
||||||
$_SESSION['submanage'] = $original_id;
|
$_SESSION['submanage'] = $original_id;
|
||||||
|
|
||||||
goaway($a->get_baseurl(true) . '/profile/' . $a->user['nickname']);
|
$ret = array();
|
||||||
|
call_hooks('home_init',$ret);
|
||||||
|
|
||||||
|
goaway( $a->get_baseurl() . "/profile/" . $a->user['nickname'] );
|
||||||
// NOTREACHED
|
// NOTREACHED
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -584,31 +584,6 @@ function network_content(&$a, $update = 0) {
|
||||||
$o .= get_events();
|
$o .= get_events();
|
||||||
}
|
}
|
||||||
|
|
||||||
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).
|
|
||||||
|
|
||||||
$o .= '<div id="live-network"></div>' . "\r\n";
|
|
||||||
$o .= "<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";
|
|
||||||
}
|
|
||||||
|
|
||||||
$sql_extra3 = '';
|
$sql_extra3 = '';
|
||||||
|
|
||||||
if($datequery) {
|
if($datequery) {
|
||||||
|
|
|
@ -66,10 +66,6 @@ function notes_content(&$a,$update = false) {
|
||||||
|
|
||||||
$o .= status_editor($a,$x,$a->contact['id']);
|
$o .= status_editor($a,$x,$a->contact['id']);
|
||||||
|
|
||||||
$o .= '<div id="live-notes"></div>' . "\r\n";
|
|
||||||
$o .= "<script> var profile_uid = " . local_user()
|
|
||||||
. "; var netargs = '/?f='; var profile_page = " . $a->pager['page'] . "; </script>\r\n";
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Construct permissions
|
// Construct permissions
|
||||||
|
|
|
@ -229,7 +229,7 @@ function notifications_content(&$a) {
|
||||||
`item`.`author-link`, `item`.`author-avatar`, `item`.`created`, `item`.`object` as `object`,
|
`item`.`author-link`, `item`.`author-avatar`, `item`.`created`, `item`.`object` as `object`,
|
||||||
`pitem`.`author-name` as `pname`, `pitem`.`author-link` as `plink`
|
`pitem`.`author-name` as `pname`, `pitem`.`author-link` as `plink`
|
||||||
FROM `item` INNER JOIN `item` as `pitem` ON `pitem`.`id`=`item`.`parent`
|
FROM `item` INNER JOIN `item` as `pitem` ON `pitem`.`id`=`item`.`parent`
|
||||||
WHERE `item`.`unseen` = 1 AND `item`.`visible` = 1 AND
|
WHERE `item`.`unseen` = 1 AND `item`.`visible` = 1 AND `pitem`.`parent` != 0
|
||||||
`item`.`deleted` = 0 AND `item`.`uid` = %d AND `item`.`wall` = 0 ORDER BY `item`.`created` DESC" ,
|
`item`.`deleted` = 0 AND `item`.`uid` = %d AND `item`.`wall` = 0 ORDER BY `item`.`created` DESC" ,
|
||||||
intval(local_user())
|
intval(local_user())
|
||||||
);
|
);
|
||||||
|
|
|
@ -4,14 +4,18 @@ require_once('include/items.php');
|
||||||
require_once('include/acl_selectors.php');
|
require_once('include/acl_selectors.php');
|
||||||
require_once('include/bbcode.php');
|
require_once('include/bbcode.php');
|
||||||
require_once('include/security.php');
|
require_once('include/security.php');
|
||||||
|
require_once('include/redir.php');
|
||||||
|
|
||||||
|
|
||||||
function photos_init(&$a) {
|
function photos_init(&$a) {
|
||||||
|
|
||||||
|
if($a->argc > 1)
|
||||||
|
auto_redir($a, $a->argv[1]);
|
||||||
|
|
||||||
if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) {
|
if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$o = '';
|
$o = '';
|
||||||
|
|
||||||
if($a->argc > 1) {
|
if($a->argc > 1) {
|
||||||
|
|
|
@ -63,8 +63,8 @@ function ping_init(&$a) {
|
||||||
`item`.`contact-id`, `item`.`author-link`, `item`.`author-avatar`, `item`.`created`, `item`.`object`,
|
`item`.`contact-id`, `item`.`author-link`, `item`.`author-avatar`, `item`.`created`, `item`.`object`,
|
||||||
`pitem`.`author-name` as `pname`, `pitem`.`author-link` as `plink`
|
`pitem`.`author-name` as `pname`, `pitem`.`author-link` as `plink`
|
||||||
FROM `item` INNER JOIN `item` as `pitem` ON `pitem`.`id`=`item`.`parent`
|
FROM `item` INNER JOIN `item` as `pitem` ON `pitem`.`id`=`item`.`parent`
|
||||||
WHERE `item`.`unseen` = 1 AND `item`.`visible` = 1 AND
|
WHERE `item`.`unseen` = 1 AND `item`.`visible` = 1 AND
|
||||||
`item`.`deleted` = 0 AND `item`.`uid` = %d
|
`item`.`deleted` = 0 AND `item`.`uid` = %d AND `pitem`.`parent` != 0
|
||||||
ORDER BY `item`.`created` DESC",
|
ORDER BY `item`.`created` DESC",
|
||||||
intval(local_user())
|
intval(local_user())
|
||||||
);
|
);
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
require_once('include/contact_widgets.php');
|
require_once('include/contact_widgets.php');
|
||||||
|
require_once('include/redir.php');
|
||||||
|
|
||||||
|
|
||||||
function profile_init(&$a) {
|
function profile_init(&$a) {
|
||||||
|
@ -8,8 +9,6 @@ function profile_init(&$a) {
|
||||||
if(! x($a->page,'aside'))
|
if(! x($a->page,'aside'))
|
||||||
$a->page['aside'] = '';
|
$a->page['aside'] = '';
|
||||||
|
|
||||||
$blocked = (((get_config('system','block_public')) && (! local_user()) && (! remote_user())) ? true : false);
|
|
||||||
|
|
||||||
if($a->argc > 1)
|
if($a->argc > 1)
|
||||||
$which = $a->argv[1];
|
$which = $a->argv[1];
|
||||||
else {
|
else {
|
||||||
|
@ -30,9 +29,13 @@ function profile_init(&$a) {
|
||||||
$which = $a->user['nickname'];
|
$which = $a->user['nickname'];
|
||||||
$profile = $a->argv[1];
|
$profile = $a->argv[1];
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
auto_redir($a, $which);
|
||||||
|
}
|
||||||
|
|
||||||
profile_load($a,$which,$profile);
|
profile_load($a,$which,$profile);
|
||||||
|
|
||||||
|
$blocked = (((get_config('system','block_public')) && (! local_user()) && (! remote_user())) ? true : false);
|
||||||
$userblock = (($a->profile['hidewall'] && (! local_user()) && (! remote_user())) ? true : false);
|
$userblock = (($a->profile['hidewall'] && (! local_user()) && (! remote_user())) ? true : false);
|
||||||
|
|
||||||
if((x($a->profile,'page-flags')) && ($a->profile['page-flags'] == PAGE_COMMUNITY)) {
|
if((x($a->profile,'page-flags')) && ($a->profile['page-flags'] == PAGE_COMMUNITY)) {
|
||||||
|
@ -309,16 +312,6 @@ function profile_content(&$a, $update = 0) {
|
||||||
$o .= get_events();
|
$o .= get_events();
|
||||||
}
|
}
|
||||||
|
|
||||||
if((! $update) && ($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.
|
|
||||||
|
|
||||||
$o .= '<div id="live-profile"></div>' . "\r\n";
|
|
||||||
$o .= "<script> var profile_uid = " . $a->profile['profile_uid']
|
|
||||||
. "; var netargs = '?f='; var profile_page = " . $a->pager['page'] . "; </script>\r\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if($is_owner) {
|
if($is_owner) {
|
||||||
$r = q("UPDATE `item` SET `unseen` = 0
|
$r = q("UPDATE `item` SET `unseen` = 0
|
||||||
|
|
|
@ -93,9 +93,7 @@ function search_content(&$a) {
|
||||||
require_once('include/security.php');
|
require_once('include/security.php');
|
||||||
require_once('include/conversation.php');
|
require_once('include/conversation.php');
|
||||||
|
|
||||||
$o = '<div id="live-search"></div>' . "\r\n";
|
$o = '<h3>' . t('Search') . '</h3>';
|
||||||
|
|
||||||
$o .= '<h3>' . t('Search') . '</h3>';
|
|
||||||
|
|
||||||
if(x($a->data,'search'))
|
if(x($a->data,'search'))
|
||||||
$search = notags(trim($a->data['search']));
|
$search = notags(trim($a->data['search']));
|
||||||
|
|
|
@ -6,9 +6,9 @@
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: 3.0.1486\n"
|
"Project-Id-Version: 3.0.1492\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2012-10-04 10:00-0700\n"
|
"POT-Creation-Date: 2012-10-10 10:00-0700\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
@ -148,7 +148,7 @@ msgstr ""
|
||||||
#: ../../addon/randplace/randplace.php:177 ../../addon/dwpost/dwpost.php:93
|
#: ../../addon/randplace/randplace.php:177 ../../addon/dwpost/dwpost.php:93
|
||||||
#: ../../addon/drpost/drpost.php:110 ../../addon/startpage/startpage.php:92
|
#: ../../addon/drpost/drpost.php:110 ../../addon/startpage/startpage.php:92
|
||||||
#: ../../addon/geonames/geonames.php:187 ../../addon/oembed.old/oembed.php:41
|
#: ../../addon/geonames/geonames.php:187 ../../addon/oembed.old/oembed.php:41
|
||||||
#: ../../addon/forumlist/forumlist.php:164
|
#: ../../addon/forumlist/forumlist.php:175
|
||||||
#: ../../addon/impressum/impressum.php:83
|
#: ../../addon/impressum/impressum.php:83
|
||||||
#: ../../addon/notimeline/notimeline.php:64 ../../addon/blockem/blockem.php:57
|
#: ../../addon/notimeline/notimeline.php:64 ../../addon/blockem/blockem.php:57
|
||||||
#: ../../addon/qcomment/qcomment.php:61
|
#: ../../addon/qcomment/qcomment.php:61
|
||||||
|
@ -5284,11 +5284,11 @@ msgid "%s - Click to open/close"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../addon/page/page.php:62 ../../addon/page/page.php:92
|
#: ../../addon/page/page.php:62 ../../addon/page/page.php:92
|
||||||
#: ../../addon/forumlist/forumlist.php:56
|
#: ../../addon/forumlist/forumlist.php:60
|
||||||
msgid "Forums"
|
msgid "Forums"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../addon/page/page.php:130 ../../addon/forumlist/forumlist.php:90
|
#: ../../addon/page/page.php:130 ../../addon/forumlist/forumlist.php:94
|
||||||
msgid "Forums:"
|
msgid "Forums:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -6133,30 +6133,34 @@ msgstr ""
|
||||||
msgid "URL to embed:"
|
msgid "URL to embed:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../addon/forumlist/forumlist.php:59
|
#: ../../addon/forumlist/forumlist.php:63
|
||||||
msgid "show/hide"
|
msgid "show/hide"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../addon/forumlist/forumlist.php:73
|
#: ../../addon/forumlist/forumlist.php:77
|
||||||
msgid "No forum subscriptions"
|
msgid "No forum subscriptions"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../addon/forumlist/forumlist.php:126
|
#: ../../addon/forumlist/forumlist.php:131
|
||||||
msgid "Forumlist settings updated."
|
msgid "Forumlist settings updated."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../addon/forumlist/forumlist.php:151
|
#: ../../addon/forumlist/forumlist.php:159
|
||||||
msgid "Forumlist Settings"
|
msgid "Forumlist Settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../addon/forumlist/forumlist.php:153
|
#: ../../addon/forumlist/forumlist.php:161
|
||||||
msgid "Randomise forum list"
|
msgid "Randomise forum list"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../../addon/forumlist/forumlist.php:156
|
#: ../../addon/forumlist/forumlist.php:164
|
||||||
msgid "Show forums on profile page"
|
msgid "Show forums on profile page"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../addon/forumlist/forumlist.php:167
|
||||||
|
msgid "Show forums on network page"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ../../addon/impressum/impressum.php:37
|
#: ../../addon/impressum/impressum.php:37
|
||||||
msgid "Impressum"
|
msgid "Impressum"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
$live_update
|
||||||
|
|
||||||
{{ for $threads as $thread }}
|
{{ for $threads as $thread }}
|
||||||
<div id="tread-wrapper-$thread.id" class="tread-wrapper">
|
<div id="tread-wrapper-$thread.id" class="tread-wrapper">
|
||||||
{{ for $thread.items as $item }}
|
{{ for $thread.items as $item }}
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
$live_update
|
||||||
|
|
||||||
{{ for $threads as $thread }}
|
{{ for $threads as $thread }}
|
||||||
<div id="tread-wrapper-$thread.id" class="tread-wrapper">
|
<div id="tread-wrapper-$thread.id" class="tread-wrapper">
|
||||||
{{ for $thread.items as $item }}
|
{{ for $thread.items as $item }}
|
||||||
|
|
15
view/theme/dispy/threaded_conversation.tpl
Normal file
15
view/theme/dispy/threaded_conversation.tpl
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
$live_update
|
||||||
|
|
||||||
|
{{ for $threads as $item }}
|
||||||
|
{{ inc $item.template }}{{ endinc }}
|
||||||
|
{{ endfor }}
|
||||||
|
|
||||||
|
<div id="conversation-end"></div>
|
||||||
|
|
||||||
|
{{ if $dropping }}
|
||||||
|
<div id="item-delete-selected" class="fakelink" onclick="deleteCheckedItems(); return false;">
|
||||||
|
<div id="item-delete-selected-icon" class="icon drophide" title="$dropping" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></div>
|
||||||
|
<div id="item-delete-selected-desc" >$dropping</div>
|
||||||
|
</div>
|
||||||
|
<div id="item-delete-selected-end"></div>
|
||||||
|
{{ endif }}
|
|
@ -1,3 +1,5 @@
|
||||||
|
$live_update
|
||||||
|
|
||||||
{{ for $threads as $thread }}
|
{{ for $threads as $thread }}
|
||||||
<div id="tread-wrapper-$thread.id" class="tread-wrapper">
|
<div id="tread-wrapper-$thread.id" class="tread-wrapper">
|
||||||
{{ for $thread.items as $item }}
|
{{ for $thread.items as $item }}
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
$live_update
|
||||||
|
|
||||||
{{ for $threads as $thread }}
|
{{ for $threads as $thread }}
|
||||||
<div id="tread-wrapper-$thread.id" class="tread-wrapper">
|
<div id="tread-wrapper-$thread.id" class="tread-wrapper">
|
||||||
{{ for $thread.items as $item }}
|
{{ for $thread.items as $item }}
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
$live_update
|
||||||
|
|
||||||
{{ for $threads as $item }}
|
{{ for $threads as $item }}
|
||||||
{{ inc $item.template }}{{ endinc }}
|
{{ inc $item.template }}{{ endinc }}
|
||||||
{{ endfor }}
|
{{ endfor }}
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
$live_update
|
||||||
|
|
||||||
{{ for $threads as $thread }}
|
{{ for $threads as $thread }}
|
||||||
<div id="tread-wrapper-$thread.id" class="tread-wrapper">
|
<div id="tread-wrapper-$thread.id" class="tread-wrapper">
|
||||||
{{ for $thread.items as $item }}
|
{{ for $thread.items as $item }}
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
$live_update
|
||||||
|
|
||||||
{{ for $threads as $item }}
|
{{ for $threads as $item }}
|
||||||
|
|
||||||
<div id="tread-wrapper-$item.id" class="tread-wrapper {{ if $item.threaded }}threaded{{ endif }}">
|
<div id="tread-wrapper-$item.id" class="tread-wrapper {{ if $item.threaded }}threaded{{ endif }}">
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
$live_update
|
||||||
|
|
||||||
{{ for $threads as $item }}
|
{{ for $threads as $item }}
|
||||||
{{ inc $item.template }}{{ endinc }}
|
{{ inc $item.template }}{{ endinc }}
|
||||||
{{ endfor }}
|
{{ endfor }}
|
||||||
|
|
Loading…
Reference in a new issue