X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=inline;f=mod%2Fcontent.php;h=49cff74d2d9f4e4eac2ffcce3529f87fafcabc55;hb=1f7f964bb7200d4f658742a999c07f1dd6cbe97c;hp=06f5d58b22accd6c3b69389bc720f6acdbcf912d;hpb=41f31f32824849a475b0259b4d5987e179f00b16;p=friendica.git
diff --git a/mod/content.php b/mod/content.php
index 06f5d58b22..49cff74d2d 100644
--- a/mod/content.php
+++ b/mod/content.php
@@ -11,8 +11,8 @@
// There is no "pagination query", but we will manage the "current page" on the client
// and provide a link to fetch the next page - until there are no pages left to fetch.
-// With the exception of complex tag and text searches, this prototype is incredibly
-// fast - e.g. one or two milliseconds to fetch parent items for the current content,
+// With the exception of complex tag and text searches, this prototype is incredibly
+// fast - e.g. one or two milliseconds to fetch parent items for the current content,
// and 10-20 milliseconds to fetch all the child items.
@@ -131,7 +131,9 @@ function content_content(&$a, $update = 0) {
}
$sql_extra = " AND `item`.`parent` IN ( SELECT DISTINCT(`parent`) FROM `item` WHERE 1 $sql_options AND ( `contact-id` IN ( $contact_str ) OR `allow_gid` like '" . protect_sprintf('%<' . intval($group) . '>%') . "' ) and deleted = 0 ) ";
- $o = '
' . t('Group: ') . $r[0]['name'] . '
' . $o;
+ $o = replace_macros(get_markup_template("section_title.tpl"),array(
+ '$title' => sprintf( t('Group: %s'), $r[0]['name'])
+ )) . $o;
}
elseif($cid) {
@@ -173,27 +175,15 @@ function content_content(&$a, $update = 0) {
if (get_config('system','only_tag_search'))
$tag = true;
- /*if (get_config('system','use_fulltext_engine')) {
- if(strpos($search,'#') === 0)
- $sql_extra .= sprintf(" AND (MATCH(tag) AGAINST ('%s' in boolean mode)) ",
- dbesc(protect_sprintf($search))
- );
- else
- $sql_extra .= sprintf(" AND (MATCH(`item`.`body`, `item`.`title`) AGAINST ('%s' in boolean mode)) ",
- dbesc(protect_sprintf($search)),
- dbesc(protect_sprintf($search))
- );
- } else {
- $sql_extra .= sprintf(" AND ( `item`.`body` like '%s' OR `item`.`tag` like '%s' ) ",
- dbesc(protect_sprintf('%' . $search . '%')),
- dbesc(protect_sprintf('%]' . $search . '[%'))
- );
- }*/
-
if($tag) {
- $sql_extra = sprintf(" AND `term`.`term` = '%s' AND `term`.`otype` = %d AND `term`.`type` = %d ",
- dbesc(protect_sprintf($search)), intval(TERM_OBJ_POST), intval(TERM_HASHTAG));
- $sql_table = "`term` LEFT JOIN `item` ON `item`.`id` = `term`.`oid` AND `item`.`uid` = `term`.`uid` ";
+ //$sql_extra = sprintf(" AND `term`.`term` = '%s' AND `term`.`otype` = %d AND `term`.`type` = %d ",
+ // dbesc(protect_sprintf($search)), intval(TERM_OBJ_POST), intval(TERM_HASHTAG));
+ //$sql_table = "`term` INNER JOIN `item` ON `item`.`id` = `term`.`oid` AND `item`.`uid` = `term`.`uid` ";
+
+ $sql_extra = "";
+ $sql_table = sprintf("`item` INNER JOIN (SELECT `oid` FROM `term` WHERE `term` = '%s' AND `otype` = %d AND `type` = %d AND `uid` = %d ORDER BY `tid` DESC) AS `term` ON `item`.`id` = `term`.`oid` ",
+ dbesc(protect_sprintf($search)), intval(TERM_OBJ_POST), intval(TERM_HASHTAG), intval(local_user()));
+
} else {
if (get_config('system','use_fulltext_engine'))
$sql_extra = sprintf(" AND MATCH (`item`.`body`, `item`.`title`) AGAINST ('%s' in boolean mode) ", dbesc(protect_sprintf($search)));
@@ -211,18 +201,6 @@ function content_content(&$a, $update = 0) {
$myurl = substr($myurl,strpos($myurl,'://')+3);
$myurl = str_replace('www.','',$myurl);
$diasp_url = str_replace('/profile/','/u/',$myurl);
- /*if (get_config('system','use_fulltext_engine'))
- $sql_extra .= sprintf(" AND `item`.`parent` IN (SELECT distinct(`parent`) from $sql_table where (MATCH(`author-link`, `tag`) AGAINST ('%s' in boolean mode) or MATCH(tag) AGAINST ('%s' in boolean mode))) ",
- dbesc(protect_sprintf($myurl)),
- dbesc(protect_sprintf($myurl)),
- dbesc(protect_sprintf($diasp_url))
- );
- else
- $sql_extra .= sprintf(" AND `item`.`parent` IN (SELECT distinct(`parent`) from $sql_table where ( `author-link` like '%s' or `tag` like '%s' or tag like '%s' )) ",
- dbesc(protect_sprintf('%' . $myurl)),
- dbesc(protect_sprintf('%' . $myurl . ']%')),
- dbesc(protect_sprintf('%' . $diasp_url . ']%'))
- );*/
$sql_extra .= sprintf(" AND `item`.`parent` IN (SELECT distinct(`parent`) from item where `author-link` IN ('https://%s', 'http://%s') OR `mention`)",
dbesc(protect_sprintf($myurl)),
@@ -240,7 +218,7 @@ function content_content(&$a, $update = 0) {
`contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`rel`, `contact`.`writable`,
`contact`.`network`, `contact`.`thumb`, `contact`.`dfrn-id`, `contact`.`self`,
`contact`.`id` AS `cid`, `contact`.`uid` AS `contact-uid`
- FROM $sql_table LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
+ FROM $sql_table INNER JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
WHERE `item`.`uid` = %d AND `item`.`visible` = 1
AND `item`.`deleted` = 0 and `item`.`moderated` = 0
$simple_update
@@ -264,7 +242,7 @@ function content_content(&$a, $update = 0) {
$start = dba_timer();
$r = q("SELECT `item`.`id` AS `item_id`, `contact`.`uid` AS `contact_uid`
- FROM $sql_table LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
+ FROM $sql_table INNER JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
WHERE `item`.`uid` = %d AND `item`.`visible` = 1 AND `item`.`deleted` = 0
AND `item`.`moderated` = 0 AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
AND `item`.`parent` = `item`.`id`
@@ -291,7 +269,7 @@ function content_content(&$a, $update = 0) {
`contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`alias`, `contact`.`rel`, `contact`.`writable`,
`contact`.`network`, `contact`.`thumb`, `contact`.`dfrn-id`, `contact`.`self`,
`contact`.`id` AS `cid`, `contact`.`uid` AS `contact-uid`
- FROM $sql_table LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
+ FROM $sql_table INNER JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
WHERE `item`.`uid` = %d AND `item`.`visible` = 1 AND `item`.`deleted` = 0
AND `item`.`moderated` = 0
AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
@@ -331,8 +309,8 @@ function content_content(&$a, $update = 0) {
function render_content(&$a, $items, $mode, $update, $preview = false) {
-
require_once('include/bbcode.php');
+ require_once('mod/proxy.php');
$ssl_state = ((local_user()) ? true : false);
@@ -385,12 +363,12 @@ function render_content(&$a, $items, $mode, $update, $preview = false) {
$alike = array();
$dlike = array();
-
-
+
+
// array with html for each thread (parent+comments)
$threads = array();
$threadsid = -1;
-
+
if($items && count($items)) {
if($mode === 'network-new' || $mode === 'search' || $mode === 'community') {
@@ -418,11 +396,11 @@ function render_content(&$a, $items, $mode, $update, $preview = false) {
}
else
$nickname = $a->user['nickname'];
-
+
// prevent private email from leaking.
if($item['network'] === NETWORK_MAIL && local_user() != $item['uid'])
continue;
-
+
$profile_name = ((strlen($item['author-name'])) ? $item['author-name'] : $item['name']);
if($item['author-link'] && (! $item['author-name']))
$profile_name = $item['author-link'];
@@ -436,18 +414,18 @@ function render_content(&$a, $items, $mode, $update, $preview = false) {
if($sp)
$sparkle = ' sparkle';
else
- $profile_link = zrl($profile_link);
+ $profile_link = zrl($profile_link);
$normalised = normalise_link((strlen($item['author-link'])) ? $item['author-link'] : $item['url']);
if(($normalised != 'mailbox') && (x($a->contacts[$normalised])))
$profile_avatar = $a->contacts[$normalised]['thumb'];
else
- $profile_avatar = ((strlen($item['author-avatar'])) ? $a->get_cached_avatar_image($item['author-avatar']) : $item['thumb']);
+ $profile_avatar = $a->remove_baseurl(((strlen($item['author-avatar'])) ? $item['author-avatar'] : $item['thumb']));
$locate = array('location' => $item['location'], 'coord' => $item['coord'], 'html' => '');
call_hooks('render_location',$locate);
- $location = ((strlen($locate['html'])) ? $locate['html'] : render_location_google($locate));
+ $location = ((strlen($locate['html'])) ? $locate['html'] : render_location_dummy($locate));
localize_item($item);
if($mode === 'network-new')
@@ -464,7 +442,7 @@ function render_content(&$a, $items, $mode, $update, $preview = false) {
$star = false;
$isstarred = "unstarred";
-
+
$lock = false;
$likebuttons = false;
$shareable = false;
@@ -487,7 +465,7 @@ function render_content(&$a, $items, $mode, $update, $preview = false) {
$location_e = $location;
$owner_name_e = $owner_name;
}
-
+
//$tmp_item = replace_macros($tpl,array(
$tmp_item = array(
'template' => $tpl,
@@ -498,7 +476,7 @@ function render_content(&$a, $items, $mode, $update, $preview = false) {
'name' => $name_e,
'sparkle' => $sparkle,
'lock' => $lock,
- 'thumb' => $profile_avatar,
+ 'thumb' => proxy_url($profile_avatar, false, PROXY_SIZE_THUMB),
'title' => $title_e,
'body' => $body_e,
'text' => $text_e,
@@ -507,7 +485,7 @@ function render_content(&$a, $items, $mode, $update, $preview = false) {
'indent' => '',
'owner_name' => $owner_name_e,
'owner_url' => $owner_url,
- 'owner_photo' => $owner_photo,
+ 'owner_photo' => proxy_url($owner_photo, false, PROXY_SIZE_THUMB),
'plink' => get_plink($item),
'edpost' => false,
'isstarred' => $isstarred,
@@ -517,7 +495,8 @@ function render_content(&$a, $items, $mode, $update, $preview = false) {
'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'),
);
@@ -577,8 +556,8 @@ function render_content(&$a, $items, $mode, $update, $preview = false) {
// We've already parsed out like/dislike for special treatment. We can ignore them now
- 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)))
&& ($item['id'] != $item['parent']))
continue;
@@ -589,7 +568,7 @@ function render_content(&$a, $items, $mode, $update, $preview = false) {
// (author collapsing is currently disabled)
// If a single author has more than 3 consecutive top-level posts, squash the remaining ones.
// If there are more than two comments, squash all but the last 2.
-
+
if($toplevelpost) {
$item_writeable = (($item['writable'] || $item['self']) ? true : false);
@@ -598,7 +577,7 @@ function render_content(&$a, $items, $mode, $update, $preview = false) {
$comments_collapsed = false;
$comment_lastcollapsed = false;
$comment_firstcollapsed = false;
-
+
$threadsid++;
$threads[$threadsid]['id'] = $item['item_id'];
$threads[$threadsid]['private'] = $item['private'];
@@ -614,7 +593,7 @@ function render_content(&$a, $items, $mode, $update, $preview = false) {
$comments_seen ++;
$comment_lastcollapsed = false;
$comment_firstcollapsed = false;
- }
+ }
$override_comment_box = ((($page_writeable) && ($item_writeable)) ? true : false);
$show_comment_box = ((($page_writeable) && ($item_writeable) && ($comments_seen == $comments[$item['parent']])) ? true : false);
@@ -636,7 +615,7 @@ function render_content(&$a, $items, $mode, $update, $preview = false) {
$comment_lastcollapsed = true;
}
- $redirect_url = $a->get_baseurl($ssl_state) . '/redir/' . $item['cid'] ;
+ $redirect_url = 'redir/' . $item['cid'] ;
$lock = ((($item['private'] == 1) || (($item['uid'] == local_user()) && (strlen($item['allow_cid']) || strlen($item['allow_gid'])
|| strlen($item['deny_cid']) || strlen($item['deny_gid']))))
@@ -661,7 +640,7 @@ function render_content(&$a, $items, $mode, $update, $preview = false) {
$owner_photo = $a->page_contact['thumb'];
$owner_name = $a->page_contact['name'];
$template = $wallwall;
- $commentww = 'ww';
+ $commentww = 'ww';
}
if((! $item['wall']) && $item['owner-link']) {
@@ -679,7 +658,7 @@ function render_content(&$a, $items, $mode, $update, $preview = false) {
// well that it's the same Bob Smith.
// But it could be somebody else with the same name. It just isn't highly likely.
-
+
$owner_url = $item['owner-link'];
$owner_photo = $item['owner-avatar'];
@@ -806,13 +785,13 @@ function render_content(&$a, $items, $mode, $update, $preview = false) {
if($sp)
$sparkle = ' sparkle';
else
- $profile_link = zrl($profile_link);
+ $profile_link = zrl($profile_link);
$normalised = normalise_link((strlen($item['author-link'])) ? $item['author-link'] : $item['url']);
if(($normalised != 'mailbox') && (x($a->contacts,$normalised)))
$profile_avatar = $a->contacts[$normalised]['thumb'];
else
- $profile_avatar = (((strlen($item['author-avatar'])) && $diff_author) ? $item['author-avatar'] : $a->get_cached_avatar_image($thumb));
+ $profile_avatar = $a->remove_baseurl(((strlen($item['author-avatar']) && $diff_author) ? $item['author-avatar'] : $thumb));
$like = ((x($alike,$item['uri'])) ? format_like($alike[$item['uri']],$alike[$item['uri'] . '-l'],'like',$item['uri']) : '');
$dislike = ((x($dlike,$item['uri'])) ? format_like($dlike[$item['uri']],$dlike[$item['uri'] . '-l'],'dislike',$item['uri']) : '');
@@ -820,7 +799,7 @@ function render_content(&$a, $items, $mode, $update, $preview = false) {
$locate = array('location' => $item['location'], 'coord' => $item['coord'], 'html' => '');
call_hooks('render_location',$locate);
- $location = ((strlen($locate['html'])) ? $locate['html'] : render_location_google($locate));
+ $location = ((strlen($locate['html'])) ? $locate['html'] : render_location_dummy($locate));
$indent = (($toplevelpost) ? '' : ' comment');
@@ -866,7 +845,7 @@ function render_content(&$a, $items, $mode, $update, $preview = false) {
'comment_lastcollapsed' => $comment_lastcollapsed,
// template to use to render item (wall, walltowall, search)
'template' => $template,
-
+
'type' => implode("",array_slice(explode("/",$item['verb']),-1)),
'tags' => $tags,
'body' => $body_e,
@@ -880,7 +859,7 @@ function render_content(&$a, $items, $mode, $update, $preview = false) {
'profile_url' => $profile_link,
'item_photo_menu' => item_photo_menu($item),
'name' => $name_e,
- 'thumb' => $profile_avatar,
+ 'thumb' => proxy_url($profile_avatar, false, PROXY_SIZE_THUMB),
'osparkle' => $osparkle,
'sparkle' => $sparkle,
'title' => $title_e,
@@ -890,7 +869,7 @@ function render_content(&$a, $items, $mode, $update, $preview = false) {
'indent' => $indent,
'shiny' => $shiny,
'owner_url' => $owner_url,
- 'owner_photo' => $owner_photo,
+ 'owner_photo' => proxy_url($owner_photo, false, PROXY_SIZE_THUMB),
'owner_name' => $owner_name_e,
'plink' => get_plink($item),
'edpost' => $edpost,