mirror of
https://github.com/friendica/friendica
synced 2024-11-10 05:02:58 +00:00
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
|
@ -262,9 +262,9 @@ function bb_ShareAttributes($match) {
|
|||
preg_match('/posted="(.*?)"/ism', $attributes, $matches);
|
||||
if ($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 != "")
|
||||
$headline .= '<img src="'.$avatar.'" height="32" width="32" >';
|
||||
|
@ -300,10 +300,63 @@ function bb_ShareAttributesSimple($match) {
|
|||
if ($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);
|
||||
}
|
||||
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
|
||||
// extended to work with Mistpark/Friendica - Mike Macgirvin
|
||||
|
@ -553,8 +606,10 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true, $simplehtml = fal
|
|||
// Shared content
|
||||
if (!$simplehtml)
|
||||
$Text = preg_replace_callback("/\[share(.*?)\](.*?)\[\/share\]/ism","bb_ShareAttributes",$Text);
|
||||
else
|
||||
elseif ($simplehtml == 1)
|
||||
$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="' . '$1' . ' ' . t('Encrypted content') . '" /><br />', $Text);
|
||||
|
|
|
@ -62,6 +62,15 @@ function get_config($family, $key, $instore = false) {
|
|||
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",
|
||||
dbesc($family),
|
||||
dbesc($key)
|
||||
|
@ -117,6 +126,10 @@ function set_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)
|
||||
return $value;
|
||||
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",
|
||||
intval($uid),
|
||||
dbesc($family),
|
||||
|
@ -191,6 +212,10 @@ function del_config($family,$key) {
|
|||
dbesc($family),
|
||||
dbesc($key)
|
||||
);
|
||||
// If APC is enabled then store the data there
|
||||
if (function_exists("apc_delete"))
|
||||
apc_delete($family."|".$key);
|
||||
|
||||
return $ret;
|
||||
}}
|
||||
|
||||
|
@ -228,6 +253,11 @@ function set_pconfig($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)
|
||||
return $value;
|
||||
return $ret;
|
||||
|
|
|
@ -220,6 +220,9 @@ function html2plain($html, $wraplength = 75, $compact = false)
|
|||
//$message .= "\n[".($counter++)."] ".$url;
|
||||
}
|
||||
|
||||
$message = str_replace("\n«", "«\n", $message);
|
||||
$message = str_replace("»\n", "\n»", $message);
|
||||
|
||||
do {
|
||||
$oldmessage = $message;
|
||||
$message = str_replace("\n\n\n", "\n\n", $message);
|
||||
|
|
|
@ -42,7 +42,7 @@ function onepoll_run(&$argv, &$argc){
|
|||
load_hooks();
|
||||
|
||||
logger('onepoll: start');
|
||||
|
||||
|
||||
$manual_id = 0;
|
||||
$generation = 0;
|
||||
$hub_update = false;
|
||||
|
@ -56,7 +56,17 @@ function onepoll_run(&$argv, &$argc){
|
|||
logger('onepoll: no contact');
|
||||
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();
|
||||
|
||||
|
|
|
@ -122,6 +122,9 @@ function poller_run(&$argv, &$argc){
|
|||
// clear cache for photos
|
||||
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());
|
||||
}
|
||||
|
||||
|
|
|
@ -423,8 +423,11 @@ class OAuthRequest {
|
|||
/**
|
||||
* builds the data one would send in a POST request
|
||||
*/
|
||||
public function to_postdata() {
|
||||
return OAuthUtil::build_http_query($this->parameters);
|
||||
public function to_postdata($raw = false) {
|
||||
if ($raw)
|
||||
return($this->parameters);
|
||||
else
|
||||
return OAuthUtil::build_http_query($this->parameters);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -184,6 +184,8 @@ class TwitterOAuth {
|
|||
switch ($method) {
|
||||
case 'GET':
|
||||
return $this->http($request->to_url(), 'GET');
|
||||
case 'UPLOAD':
|
||||
return $this->http($request->get_normalized_http_url(), 'POST', $request->to_postdata(true));
|
||||
default:
|
||||
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`
|
||||
// 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)) {
|
||||
info( t('No results.') . EOL);
|
||||
|
|
|
@ -42,6 +42,8 @@ function receive_post(&$a) {
|
|||
|
||||
// It is an application/x-www-form-urlencoded
|
||||
|
||||
logger('mod-diaspora: receiving post', LOGGER_DEBUG);
|
||||
|
||||
$xml = urldecode($_POST['xml']);
|
||||
|
||||
logger('mod-diaspora: new salmon ' . $xml, LOGGER_DATA);
|
||||
|
@ -49,13 +51,19 @@ function receive_post(&$a) {
|
|||
if(! $xml)
|
||||
http_status_exit(500);
|
||||
|
||||
logger('mod-diaspora: message is okay', LOGGER_DEBUG);
|
||||
|
||||
$msg = diaspora_decode($importer,$xml);
|
||||
|
||||
logger('mod-diaspora: decoded', LOGGER_DEBUG);
|
||||
|
||||
logger('mod-diaspora: decoded msg: ' . print_r($msg,true), LOGGER_DATA);
|
||||
|
||||
if(! is_array($msg))
|
||||
http_status_exit(500);
|
||||
|
||||
logger('mod-diaspora: dispatching', LOGGER_DEBUG);
|
||||
|
||||
$ret = 0;
|
||||
if($public)
|
||||
diaspora_dispatch_public($msg);
|
||||
|
|
|
@ -141,12 +141,13 @@ function search_content(&$a) {
|
|||
|
||||
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 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` ",
|
||||
$sql_extra = sprintf(" 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`) ";
|
||||
$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 {
|
||||
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)));
|
||||
|
|
Loading…
Reference in a new issue