Better wall to wall detection (fallback on checking if we have a @ tag)

This commit is contained in:
Domovoy 2012-08-24 04:36:03 +02:00
parent 1b0dd6f2ec
commit 8a25c7876c

View File

@ -490,6 +490,41 @@ function prepare_threads_body($a, $items, $cmnt_tpl, $page_writeable, $mode, $pr
$owner_url = zrl($owner_url);
}
}
if($commentww != 'ww') {
// Fallback, check if can find a @ tag
$tags = $item['tag'];
if(strpos($tags, '@[url') !== FALSE) {
// We have at least one @ tag
$template = $wallwall_template;
$commentww = 'ww';
$matches = array();
preg_match_all('/\@\[url=([^\]]+)\]([^\[]+)\[\/url\]/', $tags, $matches, PREG_SET_ORDER);
$r = null;
foreach($matches as $wall) {
$uri = $wall[1];
$r = q("SELECT `url`,`name`,`photo` FROM `contact` WHERE `url`='%s' LIMIT 1",
dbesc($uri)
);
if(count($r)) {
$owner_url = zrl($r[0]['url']);
$owner_name = $r[0]['name'];
$owner_photo = $r[0]['photo'];
break;
}
}
if($commentww != 'ww') {
// We found no matching contact in the database, just do the best we can (we'll only miss the photo)
$this->owner_url = zrl($matches[0][1]);
$this->owner_name = $matches[0][2];
// Use the nosign
$this->owner_photo = $a->get_baseurl .'/images/nosign.jpg';
}
}
}
}
if($profile_owner == local_user()) {
$isstarred = (($item['starred']) ? "starred" : "unstarred");