Merge pull request #744 from annando/master
- More visible reshares - lockfile for onepoll.php - clear old smarty3 cache files - rework tag serarch - add more logs for diaspora messages
This commit is contained in:
commit
7e61c23994
10 changed files with 130 additions and 13 deletions
|
@ -264,7 +264,7 @@ function bb_ShareAttributes($match) {
|
||||||
$posted = $matches[1];
|
$posted = $matches[1];
|
||||||
$reldate = (($posted) ? " " . relative_date($posted) : '');
|
$reldate = (($posted) ? " " . relative_date($posted) : '');
|
||||||
|
|
||||||
$headline = '<div class="shared_header">';
|
$headline = '<br /><div class="shared_header">';
|
||||||
|
|
||||||
if ($avatar != "")
|
if ($avatar != "")
|
||||||
$headline .= '<img src="'.$avatar.'" height="32" width="32" >';
|
$headline .= '<img src="'.$avatar.'" height="32" width="32" >';
|
||||||
|
@ -300,10 +300,63 @@ function bb_ShareAttributesSimple($match) {
|
||||||
if ($matches[1] != "")
|
if ($matches[1] != "")
|
||||||
$profile = $matches[1];
|
$profile = $matches[1];
|
||||||
|
|
||||||
$text = "<br />".html_entity_decode("♲ ", ENT_QUOTES, 'UTF-8').' <a href="'.$profile.'">'.$author."</a>: <br />»".$match[2]."«";
|
$userid = GetProfileUsername($profile,$author);
|
||||||
|
|
||||||
|
$text = "<br />".html_entity_decode("♲ ", ENT_QUOTES, 'UTF-8').' <a href="'.$profile.'">'.$userid."</a>: <br />»".$match[2]."«";
|
||||||
|
|
||||||
return($text);
|
return($text);
|
||||||
}
|
}
|
||||||
|
function bb_ShareAttributesSimple2($match) {
|
||||||
|
|
||||||
|
$attributes = $match[1];
|
||||||
|
|
||||||
|
$author = "";
|
||||||
|
preg_match("/author='(.*?)'/ism", $attributes, $matches);
|
||||||
|
if ($matches[1] != "")
|
||||||
|
$author = html_entity_decode($matches[1],ENT_QUOTES,'UTF-8');
|
||||||
|
|
||||||
|
preg_match('/author="(.*?)"/ism', $attributes, $matches);
|
||||||
|
if ($matches[1] != "")
|
||||||
|
$author = $matches[1];
|
||||||
|
|
||||||
|
$profile = "";
|
||||||
|
preg_match("/profile='(.*?)'/ism", $attributes, $matches);
|
||||||
|
if ($matches[1] != "")
|
||||||
|
$profile = $matches[1];
|
||||||
|
|
||||||
|
preg_match('/profile="(.*?)"/ism', $attributes, $matches);
|
||||||
|
if ($matches[1] != "")
|
||||||
|
$profile = $matches[1];
|
||||||
|
|
||||||
|
$userid = GetProfileUsername($profile,$author);
|
||||||
|
|
||||||
|
$text = "<br />".html_entity_decode("♲ ", ENT_QUOTES, 'UTF-8').' <a href="'.$profile.'">'.$userid."</a>: <br />".$match[2];
|
||||||
|
|
||||||
|
return($text);
|
||||||
|
}
|
||||||
|
|
||||||
|
function GetProfileUsername($profile, $username) {
|
||||||
|
$friendica = preg_replace("=https?://(.*)/profile/(.*)=ism", "$2@$1", $profile);
|
||||||
|
if ($friendica != $profile)
|
||||||
|
return($friendica);
|
||||||
|
|
||||||
|
$diaspora = preg_replace("=https?://(.*)/u/(.*)=ism", "$2@$1", $profile);
|
||||||
|
if ($diaspora != $profile)
|
||||||
|
return($diaspora);
|
||||||
|
|
||||||
|
$StatusnetHost = preg_replace("=https?://(.*)/user/(.*)=ism", "$1", $profile);
|
||||||
|
if ($StatusnetHost != $profile) {
|
||||||
|
$StatusnetUser = preg_replace("=https?://(.*)/user/(.*)=ism", "$2", $profile);
|
||||||
|
if ($StatusnetUser != $profile) {
|
||||||
|
$UserData = fetch_url("http://".$StatusnetHost."/api/users/show.json?user_id=".$StatusnetUser);
|
||||||
|
$user = json_decode($UserData);
|
||||||
|
if ($user)
|
||||||
|
return($user->screen_name."@".$StatusnetHost);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return($username);
|
||||||
|
}
|
||||||
|
|
||||||
// BBcode 2 HTML was written by WAY2WEB.net
|
// BBcode 2 HTML was written by WAY2WEB.net
|
||||||
// extended to work with Mistpark/Friendica - Mike Macgirvin
|
// extended to work with Mistpark/Friendica - Mike Macgirvin
|
||||||
|
@ -553,8 +606,10 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true, $simplehtml = fal
|
||||||
// Shared content
|
// Shared content
|
||||||
if (!$simplehtml)
|
if (!$simplehtml)
|
||||||
$Text = preg_replace_callback("/\[share(.*?)\](.*?)\[\/share\]/ism","bb_ShareAttributes",$Text);
|
$Text = preg_replace_callback("/\[share(.*?)\](.*?)\[\/share\]/ism","bb_ShareAttributes",$Text);
|
||||||
else
|
elseif ($simplehtml == 1)
|
||||||
$Text = preg_replace_callback("/\[share(.*?)\](.*?)\[\/share\]/ism","bb_ShareAttributesSimple",$Text);
|
$Text = preg_replace_callback("/\[share(.*?)\](.*?)\[\/share\]/ism","bb_ShareAttributesSimple",$Text);
|
||||||
|
elseif ($simplehtml == 2)
|
||||||
|
$Text = preg_replace_callback("/\[share(.*?)\](.*?)\[\/share\]/ism","bb_ShareAttributesSimple2",$Text);
|
||||||
|
|
||||||
$Text = preg_replace("/\[crypt\](.*?)\[\/crypt\]/ism",'<br/><img src="' .$a->get_baseurl() . '/images/lock_icon.gif" alt="' . t('Encrypted content') . '" title="' . t('Encrypted content') . '" /><br />', $Text);
|
$Text = preg_replace("/\[crypt\](.*?)\[\/crypt\]/ism",'<br/><img src="' .$a->get_baseurl() . '/images/lock_icon.gif" alt="' . t('Encrypted content') . '" title="' . t('Encrypted content') . '" /><br />', $Text);
|
||||||
$Text = preg_replace("/\[crypt=(.*?)\](.*?)\[\/crypt\]/ism",'<br/><img src="' .$a->get_baseurl() . '/images/lock_icon.gif" alt="' . t('Encrypted content') . '" title="' . '$1' . ' ' . t('Encrypted content') . '" /><br />', $Text);
|
$Text = preg_replace("/\[crypt=(.*?)\](.*?)\[\/crypt\]/ism",'<br/><img src="' .$a->get_baseurl() . '/images/lock_icon.gif" alt="' . t('Encrypted content') . '" title="' . '$1' . ' ' . t('Encrypted content') . '" /><br />', $Text);
|
||||||
|
|
|
@ -62,6 +62,15 @@ function get_config($family, $key, $instore = false) {
|
||||||
return $a->config[$family][$key];
|
return $a->config[$family][$key];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If APC is enabled then fetch the data from there
|
||||||
|
if (function_exists("apc_fetch") AND function_exists("apc_exists"))
|
||||||
|
if (apc_exists($family."|".$key)) {
|
||||||
|
$val = apc_fetch($family."|".$key);
|
||||||
|
$a->config[$family][$key] = $val;
|
||||||
|
return $val;
|
||||||
|
}
|
||||||
|
|
||||||
$ret = q("SELECT `v` FROM `config` WHERE `cat` = '%s' AND `k` = '%s' LIMIT 1",
|
$ret = q("SELECT `v` FROM `config` WHERE `cat` = '%s' AND `k` = '%s' LIMIT 1",
|
||||||
dbesc($family),
|
dbesc($family),
|
||||||
dbesc($key)
|
dbesc($key)
|
||||||
|
@ -117,6 +126,10 @@ function set_config($family,$key,$value) {
|
||||||
|
|
||||||
$a->config[$family][$key] = $value;
|
$a->config[$family][$key] = $value;
|
||||||
|
|
||||||
|
// If APC is enabled then store the data there
|
||||||
|
if (function_exists("apc_store"))
|
||||||
|
apc_store($family."|".$key, $value, 600);
|
||||||
|
|
||||||
if($ret)
|
if($ret)
|
||||||
return $value;
|
return $value;
|
||||||
return $ret;
|
return $ret;
|
||||||
|
@ -164,6 +177,14 @@ function get_pconfig($uid,$family, $key, $instore = false) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If APC is enabled then fetch the data from there
|
||||||
|
if (function_exists("apc_fetch") AND function_exists("apc_exists"))
|
||||||
|
if (apc_exists($uid."|".$family."|".$key)) {
|
||||||
|
$val = apc_fetch($uid."|".$family."|".$key);
|
||||||
|
$a->config[$uid][$family][$key] = $val;
|
||||||
|
return $val;
|
||||||
|
}
|
||||||
|
|
||||||
$ret = q("SELECT `v` FROM `pconfig` WHERE `uid` = %d AND `cat` = '%s' AND `k` = '%s' LIMIT 1",
|
$ret = q("SELECT `v` FROM `pconfig` WHERE `uid` = %d AND `cat` = '%s' AND `k` = '%s' LIMIT 1",
|
||||||
intval($uid),
|
intval($uid),
|
||||||
dbesc($family),
|
dbesc($family),
|
||||||
|
@ -191,6 +212,10 @@ function del_config($family,$key) {
|
||||||
dbesc($family),
|
dbesc($family),
|
||||||
dbesc($key)
|
dbesc($key)
|
||||||
);
|
);
|
||||||
|
// If APC is enabled then store the data there
|
||||||
|
if (function_exists("apc_delete"))
|
||||||
|
apc_delete($family."|".$key);
|
||||||
|
|
||||||
return $ret;
|
return $ret;
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
@ -228,6 +253,11 @@ function set_pconfig($uid,$family,$key,$value) {
|
||||||
|
|
||||||
$a->config[$uid][$family][$key] = $value;
|
$a->config[$uid][$family][$key] = $value;
|
||||||
|
|
||||||
|
// If APC is enabled then store the data there
|
||||||
|
if (function_exists("apc_store"))
|
||||||
|
apc_store($uid."|".$family."|".$key, $value, 600);
|
||||||
|
|
||||||
|
|
||||||
if($ret)
|
if($ret)
|
||||||
return $value;
|
return $value;
|
||||||
return $ret;
|
return $ret;
|
||||||
|
|
|
@ -220,6 +220,9 @@ function html2plain($html, $wraplength = 75, $compact = false)
|
||||||
//$message .= "\n[".($counter++)."] ".$url;
|
//$message .= "\n[".($counter++)."] ".$url;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$message = str_replace("\n«", "«\n", $message);
|
||||||
|
$message = str_replace("»\n", "\n»", $message);
|
||||||
|
|
||||||
do {
|
do {
|
||||||
$oldmessage = $message;
|
$oldmessage = $message;
|
||||||
$message = str_replace("\n\n\n", "\n\n", $message);
|
$message = str_replace("\n\n\n", "\n\n", $message);
|
||||||
|
|
|
@ -57,6 +57,16 @@ function onepoll_run(&$argv, &$argc){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Test
|
||||||
|
$lockpath = get_config('system','lockpath');
|
||||||
|
if ($lockpath != '') {
|
||||||
|
$pidfile = new pidfile($lockpath, 'onepoll'.$contact_id.'.lck');
|
||||||
|
if($pidfile->is_already_running()) {
|
||||||
|
logger("onepoll: Already running for contact ".$contact_id);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
$d = datetime_convert();
|
$d = datetime_convert();
|
||||||
|
|
||||||
|
|
|
@ -122,6 +122,9 @@ function poller_run(&$argv, &$argc){
|
||||||
// clear cache for photos
|
// clear cache for photos
|
||||||
clear_cache($a->get_basepath(), $a->get_basepath()."/photo");
|
clear_cache($a->get_basepath(), $a->get_basepath()."/photo");
|
||||||
|
|
||||||
|
// clear smarty cache
|
||||||
|
clear_cache($a->get_basepath()."/view/smarty3/compiled", $a->get_basepath()."/view/smarty3/compiled");
|
||||||
|
|
||||||
set_config('system','cache_last_cleared', time());
|
set_config('system','cache_last_cleared', time());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -423,7 +423,10 @@ class OAuthRequest {
|
||||||
/**
|
/**
|
||||||
* builds the data one would send in a POST request
|
* builds the data one would send in a POST request
|
||||||
*/
|
*/
|
||||||
public function to_postdata() {
|
public function to_postdata($raw = false) {
|
||||||
|
if ($raw)
|
||||||
|
return($this->parameters);
|
||||||
|
else
|
||||||
return OAuthUtil::build_http_query($this->parameters);
|
return OAuthUtil::build_http_query($this->parameters);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -184,6 +184,8 @@ class TwitterOAuth {
|
||||||
switch ($method) {
|
switch ($method) {
|
||||||
case 'GET':
|
case 'GET':
|
||||||
return $this->http($request->to_url(), 'GET');
|
return $this->http($request->to_url(), 'GET');
|
||||||
|
case 'UPLOAD':
|
||||||
|
return $this->http($request->get_normalized_http_url(), 'POST', $request->to_postdata(true));
|
||||||
default:
|
default:
|
||||||
return $this->http($request->get_normalized_http_url(), $method, $request->to_postdata());
|
return $this->http($request->get_normalized_http_url(), $method, $request->to_postdata());
|
||||||
}
|
}
|
||||||
|
|
|
@ -84,6 +84,8 @@ function community_content(&$a, $update = 0) {
|
||||||
|
|
||||||
);
|
);
|
||||||
// group by `item`.`uri`
|
// group by `item`.`uri`
|
||||||
|
// AND `item`.`private` = 0 AND `item`.`wall` = 1 AND `item`.`id` = `item`.`parent`
|
||||||
|
// AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0 AND `contact`.`self`
|
||||||
|
|
||||||
if(! count($r)) {
|
if(! count($r)) {
|
||||||
info( t('No results.') . EOL);
|
info( t('No results.') . EOL);
|
||||||
|
|
|
@ -42,6 +42,8 @@ function receive_post(&$a) {
|
||||||
|
|
||||||
// It is an application/x-www-form-urlencoded
|
// It is an application/x-www-form-urlencoded
|
||||||
|
|
||||||
|
logger('mod-diaspora: receiving post', LOGGER_DEBUG);
|
||||||
|
|
||||||
$xml = urldecode($_POST['xml']);
|
$xml = urldecode($_POST['xml']);
|
||||||
|
|
||||||
logger('mod-diaspora: new salmon ' . $xml, LOGGER_DATA);
|
logger('mod-diaspora: new salmon ' . $xml, LOGGER_DATA);
|
||||||
|
@ -49,13 +51,19 @@ function receive_post(&$a) {
|
||||||
if(! $xml)
|
if(! $xml)
|
||||||
http_status_exit(500);
|
http_status_exit(500);
|
||||||
|
|
||||||
|
logger('mod-diaspora: message is okay', LOGGER_DEBUG);
|
||||||
|
|
||||||
$msg = diaspora_decode($importer,$xml);
|
$msg = diaspora_decode($importer,$xml);
|
||||||
|
|
||||||
|
logger('mod-diaspora: decoded', LOGGER_DEBUG);
|
||||||
|
|
||||||
logger('mod-diaspora: decoded msg: ' . print_r($msg,true), LOGGER_DATA);
|
logger('mod-diaspora: decoded msg: ' . print_r($msg,true), LOGGER_DATA);
|
||||||
|
|
||||||
if(! is_array($msg))
|
if(! is_array($msg))
|
||||||
http_status_exit(500);
|
http_status_exit(500);
|
||||||
|
|
||||||
|
logger('mod-diaspora: dispatching', LOGGER_DEBUG);
|
||||||
|
|
||||||
$ret = 0;
|
$ret = 0;
|
||||||
if($public)
|
if($public)
|
||||||
diaspora_dispatch_public($msg);
|
diaspora_dispatch_public($msg);
|
||||||
|
|
|
@ -141,12 +141,13 @@ function search_content(&$a) {
|
||||||
|
|
||||||
if($tag) {
|
if($tag) {
|
||||||
//$sql_extra = sprintf(" AND `term`.`term` = '%s' AND `term`.`otype` = %d AND `term`.`type` = %d",
|
//$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_extra = sprintf(" AND `term`.`term` = '%s' AND `term`.`otype` = %d AND `term`.`type` = %d group by `item`.`uri` ",
|
||||||
//$sql_table = "`term` LEFT JOIN `item` ON `item`.`id` = `term`.`oid` AND `item`.`uid` = `term`.`uid` ";
|
|
||||||
|
|
||||||
$sql_extra = sprintf(" AND EXISTS (SELECT * FROM `term` WHERE `item`.`id` = `term`.`oid` AND `item`.`uid` = `term`.`uid` AND `term`.`term` = '%s' AND `term`.`otype` = %d AND `term`.`type` = %d) GROUP BY `item`.`uri` ",
|
|
||||||
dbesc(protect_sprintf($search)), intval(TERM_OBJ_POST), intval(TERM_HASHTAG));
|
dbesc(protect_sprintf($search)), intval(TERM_OBJ_POST), intval(TERM_HASHTAG));
|
||||||
$sql_table = "`item` FORCE INDEX (`uri`) ";
|
$sql_table = "`term` LEFT JOIN `item` ON `item`.`id` = `term`.`oid` AND `item`.`uid` = `term`.`uid` ";
|
||||||
|
|
||||||
|
//$sql_extra = sprintf(" AND EXISTS (SELECT * FROM `term` WHERE `item`.`id` = `term`.`oid` AND `item`.`uid` = `term`.`uid` AND `term`.`term` = '%s' AND `term`.`otype` = %d AND `term`.`type` = %d) GROUP BY `item`.`uri` ",
|
||||||
|
// dbesc(protect_sprintf($search)), intval(TERM_OBJ_POST), intval(TERM_HASHTAG));
|
||||||
|
//$sql_table = "`item` FORCE INDEX (`uri`) ";
|
||||||
} else {
|
} else {
|
||||||
if (get_config('system','use_fulltext_engine')) {
|
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)));
|
$sql_extra = sprintf(" AND MATCH (`item`.`body`, `item`.`title`) AGAINST ('%s' in boolean mode) ", dbesc(protect_sprintf($search)));
|
||||||
|
|
Loading…
Reference in a new issue