Better wall to wall detection (fallback to finding @ tags)
This commit is contained in:
parent
5dd3e8a990
commit
c3ce4e153d
1 changed files with 38 additions and 0 deletions
|
@ -590,6 +590,44 @@ class Item extends BaseObject {
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!$this->wall_to_wall) {
|
if(!$this->wall_to_wall) {
|
||||||
|
// Fallback, check if can find a @ tag
|
||||||
|
$tags = $this->get_data_value('tag');
|
||||||
|
if(strpos($tags, '@[url') !== FALSE) {
|
||||||
|
// We have at least one @ tag
|
||||||
|
$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)) {
|
||||||
|
$this->owner_url = zrl($r[0]['url']);
|
||||||
|
$this->owner_name = $r[0]['name'];
|
||||||
|
$this->owner_photo = $r[0]['photo'];
|
||||||
|
$this->set_template('wall2wall');
|
||||||
|
$this->wall_to_wall = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!$this->wall_to_wall) {
|
||||||
|
// 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';
|
||||||
|
$this->set_template('wall2wall');
|
||||||
|
$this->wall_to_wall = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!$this->wall_to_wall) {
|
||||||
|
// Definitely not wall to wall
|
||||||
$this->set_template('wall');
|
$this->set_template('wall');
|
||||||
$this->owner_url = '';
|
$this->owner_url = '';
|
||||||
$this->owner_photo = '';
|
$this->owner_photo = '';
|
||||||
|
|
Loading…
Reference in a new issue