added spaces + some curly braces + some usage of dbm::is_result()
Signed-off-by: Roland Haeder <roland@mxchange.org>
This commit is contained in:
parent
2ef3251293
commit
1dc4b60a5a
9 changed files with 111 additions and 93 deletions
|
@ -2,9 +2,9 @@
|
||||||
|
|
||||||
// Provide some ability to lock a PHP function so that multiple processes
|
// Provide some ability to lock a PHP function so that multiple processes
|
||||||
// can't run the function concurrently
|
// can't run the function concurrently
|
||||||
if(! function_exists('lock_function')) {
|
if (! function_exists('lock_function')) {
|
||||||
function lock_function($fn_name, $block = true, $wait_sec = 2, $timeout = 30) {
|
function lock_function($fn_name, $block = true, $wait_sec = 2, $timeout = 30) {
|
||||||
if( $wait_sec == 0 )
|
if ( $wait_sec == 0 )
|
||||||
$wait_sec = 2; // don't let the user pick a value that's likely to crash the system
|
$wait_sec = 2; // don't let the user pick a value that's likely to crash the system
|
||||||
|
|
||||||
$got_lock = false;
|
$got_lock = false;
|
||||||
|
@ -16,7 +16,7 @@ function lock_function($fn_name, $block = true, $wait_sec = 2, $timeout = 30) {
|
||||||
dbesc($fn_name)
|
dbesc($fn_name)
|
||||||
);
|
);
|
||||||
|
|
||||||
if((dbm::is_result($r)) AND (!$r[0]['locked'] OR (strtotime($r[0]['created']) < time() - 3600))) {
|
if ((dbm::is_result($r)) AND (!$r[0]['locked'] OR (strtotime($r[0]['created']) < time() - 3600))) {
|
||||||
q("UPDATE `locks` SET `locked` = 1, `created` = '%s' WHERE `name` = '%s'",
|
q("UPDATE `locks` SET `locked` = 1, `created` = '%s' WHERE `name` = '%s'",
|
||||||
dbesc(datetime_convert()),
|
dbesc(datetime_convert()),
|
||||||
dbesc($fn_name)
|
dbesc($fn_name)
|
||||||
|
@ -34,10 +34,10 @@ function lock_function($fn_name, $block = true, $wait_sec = 2, $timeout = 30) {
|
||||||
|
|
||||||
q("UNLOCK TABLES");
|
q("UNLOCK TABLES");
|
||||||
|
|
||||||
if(($block) && (! $got_lock))
|
if (($block) && (! $got_lock))
|
||||||
sleep($wait_sec);
|
sleep($wait_sec);
|
||||||
|
|
||||||
} while(($block) && (! $got_lock) && ((time() - $start) < $timeout));
|
} while (($block) && (! $got_lock) && ((time() - $start) < $timeout));
|
||||||
|
|
||||||
logger('lock_function: function ' . $fn_name . ' with blocking = ' . $block . ' got_lock = ' . $got_lock . ' time = ' . (time() - $start), LOGGER_DEBUG);
|
logger('lock_function: function ' . $fn_name . ' with blocking = ' . $block . ' got_lock = ' . $got_lock . ' time = ' . (time() - $start), LOGGER_DEBUG);
|
||||||
|
|
||||||
|
@ -45,28 +45,29 @@ function lock_function($fn_name, $block = true, $wait_sec = 2, $timeout = 30) {
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
|
||||||
if(! function_exists('block_on_function_lock')) {
|
if (! function_exists('block_on_function_lock')) {
|
||||||
function block_on_function_lock($fn_name, $wait_sec = 2, $timeout = 30) {
|
function block_on_function_lock($fn_name, $wait_sec = 2, $timeout = 30) {
|
||||||
if( $wait_sec == 0 )
|
if ( $wait_sec == 0 )
|
||||||
$wait_sec = 2; // don't let the user pick a value that's likely to crash the system
|
$wait_sec = 2; // don't let the user pick a value that's likely to crash the system
|
||||||
|
|
||||||
$start = time();
|
$start = time();
|
||||||
|
|
||||||
do {
|
do {
|
||||||
$r = q("SELECT locked FROM locks WHERE name = '%s' LIMIT 1",
|
$r = q("SELECT locked FROM locks WHERE name = '%s' LIMIT 1",
|
||||||
dbesc($fn_name)
|
dbesc($fn_name)
|
||||||
);
|
);
|
||||||
|
|
||||||
if (dbm::is_result($r) && $r[0]['locked'])
|
if (dbm::is_result($r) && $r[0]['locked']) {
|
||||||
sleep($wait_sec);
|
sleep($wait_sec);
|
||||||
|
}
|
||||||
|
|
||||||
} while(dbm::is_result($r) && $r[0]['locked'] && ((time() - $start) < $timeout));
|
} while (dbm::is_result($r) && $r[0]['locked'] && ((time() - $start) < $timeout));
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
|
||||||
if(! function_exists('unlock_function')) {
|
if (! function_exists('unlock_function')) {
|
||||||
function unlock_function($fn_name) {
|
function unlock_function($fn_name) {
|
||||||
$r = q("UPDATE `locks` SET `locked` = 0, `created` = '%s' WHERE `name` = '%s'",
|
$r = q("UPDATE `locks` SET `locked` = 0, `created` = '%s' WHERE `name` = '%s'",
|
||||||
dbesc(NULL_DATE),
|
dbesc(NULL_DATE),
|
||||||
|
|
|
@ -9,9 +9,9 @@ function send_message($recipient=0, $body='', $subject='', $replyto=''){
|
||||||
|
|
||||||
$a = get_app();
|
$a = get_app();
|
||||||
|
|
||||||
if(! $recipient) return -1;
|
if (! $recipient) return -1;
|
||||||
|
|
||||||
if(! strlen($subject))
|
if (! strlen($subject))
|
||||||
$subject = t('[no subject]');
|
$subject = t('[no subject]');
|
||||||
|
|
||||||
$me = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 1 LIMIT 1",
|
$me = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 1 LIMIT 1",
|
||||||
|
@ -22,7 +22,7 @@ function send_message($recipient=0, $body='', $subject='', $replyto=''){
|
||||||
intval(local_user())
|
intval(local_user())
|
||||||
);
|
);
|
||||||
|
|
||||||
if(! (count($me) && (count($contact)))) {
|
if (! (count($me) && (count($contact)))) {
|
||||||
return -2;
|
return -2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ function send_message($recipient=0, $body='', $subject='', $replyto=''){
|
||||||
|
|
||||||
// look for any existing conversation structure
|
// look for any existing conversation structure
|
||||||
|
|
||||||
if(strlen($replyto)) {
|
if (strlen($replyto)) {
|
||||||
$reply = true;
|
$reply = true;
|
||||||
$r = q("select convid from mail where uid = %d and ( uri = '%s' or `parent-uri` = '%s' ) limit 1",
|
$r = q("select convid from mail where uid = %d and ( uri = '%s' or `parent-uri` = '%s' ) limit 1",
|
||||||
intval(local_user()),
|
intval(local_user()),
|
||||||
|
@ -45,7 +45,7 @@ function send_message($recipient=0, $body='', $subject='', $replyto=''){
|
||||||
$convid = $r[0]['convid'];
|
$convid = $r[0]['convid'];
|
||||||
}
|
}
|
||||||
|
|
||||||
if(! $convid) {
|
if (! $convid) {
|
||||||
|
|
||||||
// create a new conversation
|
// create a new conversation
|
||||||
|
|
||||||
|
@ -78,12 +78,12 @@ function send_message($recipient=0, $body='', $subject='', $replyto=''){
|
||||||
$convid = $r[0]['id'];
|
$convid = $r[0]['id'];
|
||||||
}
|
}
|
||||||
|
|
||||||
if(! $convid) {
|
if (! $convid) {
|
||||||
logger('send message: conversation not found.');
|
logger('send message: conversation not found.');
|
||||||
return -4;
|
return -4;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(! strlen($replyto)) {
|
if (! strlen($replyto)) {
|
||||||
$replyto = $convuri;
|
$replyto = $convuri;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -154,7 +154,7 @@ function removelinebreak($message)
|
||||||
$lines = array();
|
$lines = array();
|
||||||
$lineno = 0;
|
$lineno = 0;
|
||||||
|
|
||||||
foreach($arrbody as $i => $line) {
|
foreach ($arrbody as $i => $line) {
|
||||||
$currquotelevel = 0;
|
$currquotelevel = 0;
|
||||||
$currline = $line;
|
$currline = $line;
|
||||||
while ((strlen($currline)>0) and ((substr($currline, 0, 1) == '>')
|
while ((strlen($currline)>0) and ((substr($currline, 0, 1) == '>')
|
||||||
|
|
|
@ -8,7 +8,7 @@ function nav(App $a) {
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if(!(x($a->page,'nav')))
|
if (!(x($a->page,'nav')))
|
||||||
$a->page['nav'] = '';
|
$a->page['nav'] = '';
|
||||||
|
|
||||||
$a->page['htmlhead'] .= replace_macros(get_markup_template('nav_head.tpl'), array());
|
$a->page['htmlhead'] .= replace_macros(get_markup_template('nav_head.tpl'), array());
|
||||||
|
@ -136,7 +136,7 @@ function nav_info(App $a)
|
||||||
|
|
||||||
if (strlen(get_config('system', 'singleuser'))) {
|
if (strlen(get_config('system', 'singleuser'))) {
|
||||||
$gdir = get_config('system', 'directory');
|
$gdir = get_config('system', 'directory');
|
||||||
if(strlen($gdir)) {
|
if (strlen($gdir)) {
|
||||||
$gdirpath = zrl($gdir, true);
|
$gdirpath = zrl($gdir, true);
|
||||||
}
|
}
|
||||||
} elseif (get_config('system', 'community_page_style') == CP_USERS_ON_SERVER) {
|
} elseif (get_config('system', 'community_page_style') == CP_USERS_ON_SERVER) {
|
||||||
|
|
|
@ -72,13 +72,13 @@ function z_fetch_url($url,$binary = false, &$redirects = 0, $opts=array()) {
|
||||||
$a = get_app();
|
$a = get_app();
|
||||||
|
|
||||||
$ch = @curl_init($url);
|
$ch = @curl_init($url);
|
||||||
if(($redirects > 8) || (! $ch)) {
|
if (($redirects > 8) || (! $ch)) {
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@curl_setopt($ch, CURLOPT_HEADER, true);
|
@curl_setopt($ch, CURLOPT_HEADER, true);
|
||||||
|
|
||||||
if(x($opts,"cookiejar")) {
|
if (x($opts,"cookiejar")) {
|
||||||
curl_setopt($ch, CURLOPT_COOKIEJAR, $opts["cookiejar"]);
|
curl_setopt($ch, CURLOPT_COOKIEJAR, $opts["cookiejar"]);
|
||||||
curl_setopt($ch, CURLOPT_COOKIEFILE, $opts["cookiejar"]);
|
curl_setopt($ch, CURLOPT_COOKIEFILE, $opts["cookiejar"]);
|
||||||
}
|
}
|
||||||
|
@ -101,13 +101,13 @@ function z_fetch_url($url,$binary = false, &$redirects = 0, $opts=array()) {
|
||||||
@curl_setopt($ch, CURLOPT_RANGE, '0-'.$range);
|
@curl_setopt($ch, CURLOPT_RANGE, '0-'.$range);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(x($opts,'headers')){
|
if (x($opts,'headers')){
|
||||||
@curl_setopt($ch, CURLOPT_HTTPHEADER, $opts['headers']);
|
@curl_setopt($ch, CURLOPT_HTTPHEADER, $opts['headers']);
|
||||||
}
|
}
|
||||||
if(x($opts,'nobody')){
|
if (x($opts,'nobody')){
|
||||||
@curl_setopt($ch, CURLOPT_NOBODY, $opts['nobody']);
|
@curl_setopt($ch, CURLOPT_NOBODY, $opts['nobody']);
|
||||||
}
|
}
|
||||||
if(x($opts,'timeout')){
|
if (x($opts,'timeout')){
|
||||||
@curl_setopt($ch, CURLOPT_TIMEOUT, $opts['timeout']);
|
@curl_setopt($ch, CURLOPT_TIMEOUT, $opts['timeout']);
|
||||||
} else {
|
} else {
|
||||||
$curl_time = intval(get_config('system','curl_timeout'));
|
$curl_time = intval(get_config('system','curl_timeout'));
|
||||||
|
@ -124,14 +124,14 @@ function z_fetch_url($url,$binary = false, &$redirects = 0, $opts=array()) {
|
||||||
}
|
}
|
||||||
|
|
||||||
$prx = get_config('system','proxy');
|
$prx = get_config('system','proxy');
|
||||||
if(strlen($prx)) {
|
if (strlen($prx)) {
|
||||||
@curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);
|
@curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);
|
||||||
@curl_setopt($ch, CURLOPT_PROXY, $prx);
|
@curl_setopt($ch, CURLOPT_PROXY, $prx);
|
||||||
$prxusr = @get_config('system','proxyuser');
|
$prxusr = @get_config('system','proxyuser');
|
||||||
if(strlen($prxusr))
|
if (strlen($prxusr))
|
||||||
@curl_setopt($ch, CURLOPT_PROXYUSERPWD, $prxusr);
|
@curl_setopt($ch, CURLOPT_PROXYUSERPWD, $prxusr);
|
||||||
}
|
}
|
||||||
if($binary)
|
if ($binary)
|
||||||
@curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
|
@curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
|
||||||
|
|
||||||
$a->set_curl_code(0);
|
$a->set_curl_code(0);
|
||||||
|
@ -156,7 +156,7 @@ function z_fetch_url($url,$binary = false, &$redirects = 0, $opts=array()) {
|
||||||
// Pull out multiple headers, e.g. proxy and continuation headers
|
// Pull out multiple headers, e.g. proxy and continuation headers
|
||||||
// allow for HTTP/2.x without fixing code
|
// allow for HTTP/2.x without fixing code
|
||||||
|
|
||||||
while(preg_match('/^HTTP\/[1-2].+? [1-5][0-9][0-9]/',$base)) {
|
while (preg_match('/^HTTP\/[1-2].+? [1-5][0-9][0-9]/',$base)) {
|
||||||
$chunk = substr($base,0,strpos($base,"\r\n\r\n")+4);
|
$chunk = substr($base,0,strpos($base,"\r\n\r\n")+4);
|
||||||
$header .= $chunk;
|
$header .= $chunk;
|
||||||
$base = substr($base,strlen($chunk));
|
$base = substr($base,strlen($chunk));
|
||||||
|
@ -166,7 +166,7 @@ function z_fetch_url($url,$binary = false, &$redirects = 0, $opts=array()) {
|
||||||
$a->set_curl_content_type($curl_info['content_type']);
|
$a->set_curl_content_type($curl_info['content_type']);
|
||||||
$a->set_curl_headers($header);
|
$a->set_curl_headers($header);
|
||||||
|
|
||||||
if($http_code == 301 || $http_code == 302 || $http_code == 303 || $http_code == 307) {
|
if ($http_code == 301 || $http_code == 302 || $http_code == 303 || $http_code == 307) {
|
||||||
$new_location_info = @parse_url($curl_info["redirect_url"]);
|
$new_location_info = @parse_url($curl_info["redirect_url"]);
|
||||||
$old_location_info = @parse_url($curl_info["url"]);
|
$old_location_info = @parse_url($curl_info["url"]);
|
||||||
|
|
||||||
|
@ -179,7 +179,7 @@ function z_fetch_url($url,$binary = false, &$redirects = 0, $opts=array()) {
|
||||||
if (preg_match('/(Location:|URI:)(.*?)\n/i', $header, $matches)) {
|
if (preg_match('/(Location:|URI:)(.*?)\n/i', $header, $matches)) {
|
||||||
$newurl = trim(array_pop($matches));
|
$newurl = trim(array_pop($matches));
|
||||||
}
|
}
|
||||||
if(strpos($newurl,'/') === 0)
|
if (strpos($newurl,'/') === 0)
|
||||||
$newurl = $old_location_info["scheme"]."://".$old_location_info["host"].$newurl;
|
$newurl = $old_location_info["scheme"]."://".$old_location_info["host"].$newurl;
|
||||||
if (filter_var($newurl, FILTER_VALIDATE_URL)) {
|
if (filter_var($newurl, FILTER_VALIDATE_URL)) {
|
||||||
$redirects++;
|
$redirects++;
|
||||||
|
@ -200,7 +200,7 @@ function z_fetch_url($url,$binary = false, &$redirects = 0, $opts=array()) {
|
||||||
$ret['return_code'] = $rc;
|
$ret['return_code'] = $rc;
|
||||||
$ret['success'] = (($rc >= 200 && $rc <= 299) ? true : false);
|
$ret['success'] = (($rc >= 200 && $rc <= 299) ? true : false);
|
||||||
$ret['redirect_url'] = $url;
|
$ret['redirect_url'] = $url;
|
||||||
if(! $ret['success']) {
|
if (! $ret['success']) {
|
||||||
$ret['error'] = curl_error($ch);
|
$ret['error'] = curl_error($ch);
|
||||||
$ret['debug'] = $curl_info;
|
$ret['debug'] = $curl_info;
|
||||||
logger('z_fetch_url: error: ' . $url . ': ' . $ret['error'], LOGGER_DEBUG);
|
logger('z_fetch_url: error: ' . $url . ': ' . $ret['error'], LOGGER_DEBUG);
|
||||||
|
@ -208,7 +208,7 @@ function z_fetch_url($url,$binary = false, &$redirects = 0, $opts=array()) {
|
||||||
}
|
}
|
||||||
$ret['body'] = substr($s,strlen($header));
|
$ret['body'] = substr($s,strlen($header));
|
||||||
$ret['header'] = $header;
|
$ret['header'] = $header;
|
||||||
if(x($opts,'debug')) {
|
if (x($opts,'debug')) {
|
||||||
$ret['debug'] = $curl_info;
|
$ret['debug'] = $curl_info;
|
||||||
}
|
}
|
||||||
@curl_close($ch);
|
@curl_close($ch);
|
||||||
|
@ -237,7 +237,7 @@ function post_url($url,$params, $headers = null, &$redirects = 0, $timeout = 0)
|
||||||
|
|
||||||
$a = get_app();
|
$a = get_app();
|
||||||
$ch = curl_init($url);
|
$ch = curl_init($url);
|
||||||
if(($redirects > 8) || (! $ch))
|
if (($redirects > 8) || (! $ch))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
logger("post_url: start ".$url, LOGGER_DATA);
|
logger("post_url: start ".$url, LOGGER_DATA);
|
||||||
|
@ -248,7 +248,7 @@ function post_url($url,$params, $headers = null, &$redirects = 0, $timeout = 0)
|
||||||
curl_setopt($ch, CURLOPT_POSTFIELDS,$params);
|
curl_setopt($ch, CURLOPT_POSTFIELDS,$params);
|
||||||
curl_setopt($ch, CURLOPT_USERAGENT, $a->get_useragent());
|
curl_setopt($ch, CURLOPT_USERAGENT, $a->get_useragent());
|
||||||
|
|
||||||
if(intval($timeout)) {
|
if (intval($timeout)) {
|
||||||
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
|
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -256,16 +256,16 @@ function post_url($url,$params, $headers = null, &$redirects = 0, $timeout = 0)
|
||||||
curl_setopt($ch, CURLOPT_TIMEOUT, (($curl_time !== false) ? $curl_time : 60));
|
curl_setopt($ch, CURLOPT_TIMEOUT, (($curl_time !== false) ? $curl_time : 60));
|
||||||
}
|
}
|
||||||
|
|
||||||
if(defined('LIGHTTPD')) {
|
if (defined('LIGHTTPD')) {
|
||||||
if(!is_array($headers)) {
|
if (!is_array($headers)) {
|
||||||
$headers = array('Expect:');
|
$headers = array('Expect:');
|
||||||
} else {
|
} else {
|
||||||
if(!in_array('Expect:', $headers)) {
|
if (!in_array('Expect:', $headers)) {
|
||||||
array_push($headers, 'Expect:');
|
array_push($headers, 'Expect:');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if($headers)
|
if ($headers)
|
||||||
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
|
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
|
||||||
|
|
||||||
$check_cert = get_config('system','verifyssl');
|
$check_cert = get_config('system','verifyssl');
|
||||||
|
@ -274,11 +274,11 @@ function post_url($url,$params, $headers = null, &$redirects = 0, $timeout = 0)
|
||||||
@curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
|
@curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
|
||||||
}
|
}
|
||||||
$prx = get_config('system','proxy');
|
$prx = get_config('system','proxy');
|
||||||
if(strlen($prx)) {
|
if (strlen($prx)) {
|
||||||
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);
|
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);
|
||||||
curl_setopt($ch, CURLOPT_PROXY, $prx);
|
curl_setopt($ch, CURLOPT_PROXY, $prx);
|
||||||
$prxusr = get_config('system','proxyuser');
|
$prxusr = get_config('system','proxyuser');
|
||||||
if(strlen($prxusr))
|
if (strlen($prxusr))
|
||||||
curl_setopt($ch, CURLOPT_PROXYUSERPWD, $prxusr);
|
curl_setopt($ch, CURLOPT_PROXYUSERPWD, $prxusr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -300,17 +300,17 @@ function post_url($url,$params, $headers = null, &$redirects = 0, $timeout = 0)
|
||||||
// Pull out multiple headers, e.g. proxy and continuation headers
|
// Pull out multiple headers, e.g. proxy and continuation headers
|
||||||
// allow for HTTP/2.x without fixing code
|
// allow for HTTP/2.x without fixing code
|
||||||
|
|
||||||
while(preg_match('/^HTTP\/[1-2].+? [1-5][0-9][0-9]/',$base)) {
|
while (preg_match('/^HTTP\/[1-2].+? [1-5][0-9][0-9]/',$base)) {
|
||||||
$chunk = substr($base,0,strpos($base,"\r\n\r\n")+4);
|
$chunk = substr($base,0,strpos($base,"\r\n\r\n")+4);
|
||||||
$header .= $chunk;
|
$header .= $chunk;
|
||||||
$base = substr($base,strlen($chunk));
|
$base = substr($base,strlen($chunk));
|
||||||
}
|
}
|
||||||
|
|
||||||
if($http_code == 301 || $http_code == 302 || $http_code == 303 || $http_code == 307) {
|
if ($http_code == 301 || $http_code == 302 || $http_code == 303 || $http_code == 307) {
|
||||||
$matches = array();
|
$matches = array();
|
||||||
preg_match('/(Location:|URI:)(.*?)\n/', $header, $matches);
|
preg_match('/(Location:|URI:)(.*?)\n/', $header, $matches);
|
||||||
$newurl = trim(array_pop($matches));
|
$newurl = trim(array_pop($matches));
|
||||||
if(strpos($newurl,'/') === 0)
|
if (strpos($newurl,'/') === 0)
|
||||||
$newurl = $old_location_info["scheme"] . "://" . $old_location_info["host"] . $newurl;
|
$newurl = $old_location_info["scheme"] . "://" . $old_location_info["host"] . $newurl;
|
||||||
if (filter_var($newurl, FILTER_VALIDATE_URL)) {
|
if (filter_var($newurl, FILTER_VALIDATE_URL)) {
|
||||||
$redirects++;
|
$redirects++;
|
||||||
|
@ -341,7 +341,7 @@ function xml_status($st, $message = '') {
|
||||||
|
|
||||||
$xml_message = ((strlen($message)) ? "\t<message>" . xmlify($message) . "</message>\r\n" : '');
|
$xml_message = ((strlen($message)) ? "\t<message>" . xmlify($message) . "</message>\r\n" : '');
|
||||||
|
|
||||||
if($st)
|
if ($st)
|
||||||
logger('xml_status returning non_zero: ' . $st . " message=" . $message);
|
logger('xml_status returning non_zero: ' . $st . " message=" . $message);
|
||||||
|
|
||||||
header( "Content-type: text/xml" );
|
header( "Content-type: text/xml" );
|
||||||
|
@ -369,12 +369,12 @@ function xml_status($st, $message = '') {
|
||||||
*/
|
*/
|
||||||
function http_status_exit($val, $description = array()) {
|
function http_status_exit($val, $description = array()) {
|
||||||
$err = '';
|
$err = '';
|
||||||
if($val >= 400) {
|
if ($val >= 400) {
|
||||||
$err = 'Error';
|
$err = 'Error';
|
||||||
if (!isset($description["title"]))
|
if (!isset($description["title"]))
|
||||||
$description["title"] = $err." ".$val;
|
$description["title"] = $err." ".$val;
|
||||||
}
|
}
|
||||||
if($val >= 200 && $val < 300)
|
if ($val >= 200 && $val < 300)
|
||||||
$err = 'OK';
|
$err = 'OK';
|
||||||
|
|
||||||
logger('http_status_exit ' . $val);
|
logger('http_status_exit ' . $val);
|
||||||
|
@ -400,20 +400,20 @@ function http_status_exit($val, $description = array()) {
|
||||||
* @return boolean True if it's a valid URL, fals if something wrong with it
|
* @return boolean True if it's a valid URL, fals if something wrong with it
|
||||||
*/
|
*/
|
||||||
function validate_url(&$url) {
|
function validate_url(&$url) {
|
||||||
if(get_config('system','disable_url_validation'))
|
if (get_config('system','disable_url_validation'))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
// no naked subdomains (allow localhost for tests)
|
// no naked subdomains (allow localhost for tests)
|
||||||
if(strpos($url,'.') === false && strpos($url,'/localhost/') === false)
|
if (strpos($url,'.') === false && strpos($url,'/localhost/') === false)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if(substr($url,0,4) != 'http')
|
if (substr($url,0,4) != 'http')
|
||||||
$url = 'http://' . $url;
|
$url = 'http://' . $url;
|
||||||
|
|
||||||
/// @TODO Really supress function outcomes? Why not find them + debug them?
|
/// @TODO Really supress function outcomes? Why not find them + debug them?
|
||||||
$h = @parse_url($url);
|
$h = @parse_url($url);
|
||||||
|
|
||||||
if((is_array($h)) && (dns_get_record($h['host'], DNS_A + DNS_CNAME + DNS_PTR) || filter_var($h['host'], FILTER_VALIDATE_IP) )) {
|
if ((is_array($h)) && (dns_get_record($h['host'], DNS_A + DNS_CNAME + DNS_PTR) || filter_var($h['host'], FILTER_VALIDATE_IP) )) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -428,14 +428,14 @@ function validate_url(&$url) {
|
||||||
*/
|
*/
|
||||||
function validate_email($addr) {
|
function validate_email($addr) {
|
||||||
|
|
||||||
if(get_config('system','disable_email_validation'))
|
if (get_config('system','disable_email_validation'))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
if(! strpos($addr,'@'))
|
if (! strpos($addr,'@'))
|
||||||
return false;
|
return false;
|
||||||
$h = substr($addr,strpos($addr,'@') + 1);
|
$h = substr($addr,strpos($addr,'@') + 1);
|
||||||
|
|
||||||
if(($h) && (dns_get_record($h, DNS_A + DNS_CNAME + DNS_PTR + DNS_MX) || filter_var($h, FILTER_VALIDATE_IP) )) {
|
if (($h) && (dns_get_record($h, DNS_A + DNS_CNAME + DNS_PTR + DNS_MX) || filter_var($h, FILTER_VALIDATE_IP) )) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
@ -454,12 +454,12 @@ function allowed_url($url) {
|
||||||
|
|
||||||
$h = @parse_url($url);
|
$h = @parse_url($url);
|
||||||
|
|
||||||
if(! $h) {
|
if (! $h) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$str_allowed = get_config('system','allowed_sites');
|
$str_allowed = get_config('system','allowed_sites');
|
||||||
if(! $str_allowed)
|
if (! $str_allowed)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
$found = false;
|
$found = false;
|
||||||
|
@ -468,16 +468,16 @@ function allowed_url($url) {
|
||||||
|
|
||||||
// always allow our own site
|
// always allow our own site
|
||||||
|
|
||||||
if($host == strtolower($_SERVER['SERVER_NAME']))
|
if ($host == strtolower($_SERVER['SERVER_NAME']))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
$fnmatch = function_exists('fnmatch');
|
$fnmatch = function_exists('fnmatch');
|
||||||
$allowed = explode(',',$str_allowed);
|
$allowed = explode(',',$str_allowed);
|
||||||
|
|
||||||
if(count($allowed)) {
|
if (count($allowed)) {
|
||||||
foreach($allowed as $a) {
|
foreach ($allowed as $a) {
|
||||||
$pat = strtolower(trim($a));
|
$pat = strtolower(trim($a));
|
||||||
if(($fnmatch && fnmatch($pat,$host)) || ($pat == $host)) {
|
if (($fnmatch && fnmatch($pat,$host)) || ($pat == $host)) {
|
||||||
$found = true;
|
$found = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -497,24 +497,25 @@ function allowed_url($url) {
|
||||||
*/
|
*/
|
||||||
function allowed_email($email) {
|
function allowed_email($email) {
|
||||||
|
|
||||||
|
|
||||||
$domain = strtolower(substr($email,strpos($email,'@') + 1));
|
$domain = strtolower(substr($email,strpos($email,'@') + 1));
|
||||||
if(! $domain)
|
if (! $domain) {
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
$str_allowed = get_config('system','allowed_email');
|
$str_allowed = get_config('system','allowed_email');
|
||||||
if(! $str_allowed)
|
if (! $str_allowed) {
|
||||||
return true;
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
$found = false;
|
$found = false;
|
||||||
|
|
||||||
$fnmatch = function_exists('fnmatch');
|
$fnmatch = function_exists('fnmatch');
|
||||||
$allowed = explode(',',$str_allowed);
|
$allowed = explode(',',$str_allowed);
|
||||||
|
|
||||||
if(count($allowed)) {
|
if (count($allowed)) {
|
||||||
foreach($allowed as $a) {
|
foreach ($allowed as $a) {
|
||||||
$pat = strtolower(trim($a));
|
$pat = strtolower(trim($a));
|
||||||
if(($fnmatch && fnmatch($pat,$domain)) || ($pat == $domain)) {
|
if (($fnmatch && fnmatch($pat,$domain)) || ($pat == $domain)) {
|
||||||
$found = true;
|
$found = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -543,8 +544,8 @@ function avatar_img($email) {
|
||||||
|
|
||||||
function parse_xml_string($s,$strict = true) {
|
function parse_xml_string($s,$strict = true) {
|
||||||
/// @todo Move this function to the xml class
|
/// @todo Move this function to the xml class
|
||||||
if($strict) {
|
if ($strict) {
|
||||||
if(! strstr($s,'<?xml'))
|
if (! strstr($s,'<?xml'))
|
||||||
return false;
|
return false;
|
||||||
$s2 = substr($s,strpos($s,'<?xml'));
|
$s2 = substr($s,strpos($s,'<?xml'));
|
||||||
}
|
}
|
||||||
|
|
|
@ -155,7 +155,7 @@ class FKOAuth1 extends OAuthServer {
|
||||||
//notice( t("Welcome back ") . $record['username'] . EOL);
|
//notice( t("Welcome back ") . $record['username'] . EOL);
|
||||||
$a->user = $record;
|
$a->user = $record;
|
||||||
|
|
||||||
if(strlen($a->user['timezone'])) {
|
if (strlen($a->user['timezone'])) {
|
||||||
date_default_timezone_set($a->user['timezone']);
|
date_default_timezone_set($a->user['timezone']);
|
||||||
$a->timezone = $a->user['timezone'];
|
$a->timezone = $a->user['timezone'];
|
||||||
}
|
}
|
||||||
|
|
|
@ -303,9 +303,11 @@ function oembed_html2bbcode($text) {
|
||||||
$entries = $xpath->query("//span[$xattr]");
|
$entries = $xpath->query("//span[$xattr]");
|
||||||
|
|
||||||
$xattr = "@rel='oembed'";//oe_build_xpath("rel","oembed");
|
$xattr = "@rel='oembed'";//oe_build_xpath("rel","oembed");
|
||||||
foreach($entries as $e) {
|
foreach ($entries as $e) {
|
||||||
$href = $xpath->evaluate("a[$xattr]/@href", $e)->item(0)->nodeValue;
|
$href = $xpath->evaluate("a[$xattr]/@href", $e)->item(0)->nodeValue;
|
||||||
if(!is_null($href)) $e->parentNode->replaceChild(new DOMText("[embed]".$href."[/embed]"), $e);
|
if (!is_null($href)) {
|
||||||
|
$e->parentNode->replaceChild(new DOMText("[embed]".$href."[/embed]"), $e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return oe_get_inner_html( $dom->getElementsByTagName("body")->item(0) );
|
return oe_get_inner_html( $dom->getElementsByTagName("body")->item(0) );
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -170,7 +170,7 @@ function onepoll_run(&$argv, &$argc){
|
||||||
// But this may be our first communication, so set the writable flag if it isn't set already.
|
// But this may be our first communication, so set the writable flag if it isn't set already.
|
||||||
|
|
||||||
if (! intval($contact['writable'])) {
|
if (! intval($contact['writable'])) {
|
||||||
q("update contact set writable = 1 where id = %d", intval($contact['id']));
|
q("UPDATE `contact` SET `writable` = 1 WHERE `id` = %d", intval($contact['id']));
|
||||||
}
|
}
|
||||||
|
|
||||||
$url = $contact['poll'] . '?dfrn_id=' . $idtosend
|
$url = $contact['poll'] . '?dfrn_id=' . $idtosend
|
||||||
|
@ -437,16 +437,18 @@ function onepoll_run(&$argv, &$argc){
|
||||||
if ($raw_refs) {
|
if ($raw_refs) {
|
||||||
$refs_arr = explode(' ', $raw_refs);
|
$refs_arr = explode(' ', $raw_refs);
|
||||||
if (count($refs_arr)) {
|
if (count($refs_arr)) {
|
||||||
for($x = 0; $x < count($refs_arr); $x ++)
|
for ($x = 0; $x < count($refs_arr); $x ++) {
|
||||||
$refs_arr[$x] = "'" . msgid2iri(str_replace(array('<','>',' '),array('','',''),dbesc($refs_arr[$x]))) . "'";
|
$refs_arr[$x] = "'" . msgid2iri(str_replace(array('<','>',' '),array('','',''),dbesc($refs_arr[$x]))) . "'";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
$qstr = implode(',',$refs_arr);
|
$qstr = implode(',',$refs_arr);
|
||||||
$r = q("SELECT `uri` , `parent-uri` FROM `item` USE INDEX (`uid_uri`) WHERE `uri` IN ($qstr) AND `uid` = %d LIMIT 1",
|
$r = q("SELECT `uri` , `parent-uri` FROM `item` USE INDEX (`uid_uri`) WHERE `uri` IN ($qstr) AND `uid` = %d LIMIT 1",
|
||||||
intval($importer_uid)
|
intval($importer_uid)
|
||||||
);
|
);
|
||||||
if (dbm::is_result($r))
|
if (dbm::is_result($r)) {
|
||||||
$datarray['parent-uri'] = $r[0]['parent-uri']; // Set the parent as the top-level item
|
$datarray['parent-uri'] = $r[0]['parent-uri']; // Set the parent as the top-level item
|
||||||
// $datarray['parent-uri'] = $r[0]['uri'];
|
//$datarray['parent-uri'] = $r[0]['uri'];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Decoding the header
|
// Decoding the header
|
||||||
|
@ -611,14 +613,17 @@ function onepoll_run(&$argv, &$argc){
|
||||||
consume_feed($xml,$importer,$contact,$hub,1,2);
|
consume_feed($xml,$importer,$contact,$hub,1,2);
|
||||||
|
|
||||||
$hubmode = 'subscribe';
|
$hubmode = 'subscribe';
|
||||||
if ($contact['network'] === NETWORK_DFRN || $contact['blocked'] || $contact['readonly'])
|
if ($contact['network'] === NETWORK_DFRN || $contact['blocked'] || $contact['readonly']) {
|
||||||
$hubmode = 'unsubscribe';
|
$hubmode = 'unsubscribe';
|
||||||
|
}
|
||||||
|
|
||||||
if (($contact['network'] === NETWORK_OSTATUS || $contact['network'] == NETWORK_FEED) && (! $contact['hub-verify']))
|
if (($contact['network'] === NETWORK_OSTATUS || $contact['network'] == NETWORK_FEED) && (! $contact['hub-verify'])) {
|
||||||
$hub_update = true;
|
$hub_update = true;
|
||||||
|
}
|
||||||
|
|
||||||
if ($force)
|
if ($force) {
|
||||||
$hub_update = true;
|
$hub_update = true;
|
||||||
|
}
|
||||||
|
|
||||||
logger("Contact ".$contact['id']." returned hub: ".$hub." Network: ".$contact['network']." Relation: ".$contact['rel']." Update: ".$hub_update);
|
logger("Contact ".$contact['id']." returned hub: ".$hub." Network: ".$contact['network']." Relation: ".$contact['rel']." Update: ".$hub_update);
|
||||||
|
|
||||||
|
|
|
@ -83,33 +83,40 @@ class ostatus {
|
||||||
$aliaslink = $author["author-link"];
|
$aliaslink = $author["author-link"];
|
||||||
|
|
||||||
$alternate = $xpath->query("atom:author/atom:link[@rel='alternate']", $context)->item(0)->attributes;
|
$alternate = $xpath->query("atom:author/atom:link[@rel='alternate']", $context)->item(0)->attributes;
|
||||||
if (is_object($alternate))
|
if (is_object($alternate)) {
|
||||||
foreach($alternate AS $attributes)
|
foreach($alternate AS $attributes) {
|
||||||
if ($attributes->name == "href")
|
if ($attributes->name == "href") {
|
||||||
$author["author-link"] = $attributes->textContent;
|
$author["author-link"] = $attributes->textContent;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `nurl` IN ('%s', '%s') AND `network` != '%s'",
|
$r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `nurl` IN ('%s', '%s') AND `network` != '%s'",
|
||||||
intval($importer["uid"]), dbesc(normalise_link($author["author-link"])),
|
intval($importer["uid"]), dbesc(normalise_link($author["author-link"])),
|
||||||
dbesc(normalise_link($aliaslink)), dbesc(NETWORK_STATUSNET));
|
dbesc(normalise_link($aliaslink)), dbesc(NETWORK_STATUSNET));
|
||||||
if ($r) {
|
if (dbm::is_result($r)) {
|
||||||
$contact = $r[0];
|
$contact = $r[0];
|
||||||
$author["contact-id"] = $r[0]["id"];
|
$author["contact-id"] = $r[0]["id"];
|
||||||
} else
|
} else {
|
||||||
$author["contact-id"] = $contact["id"];
|
$author["contact-id"] = $contact["id"];
|
||||||
|
}
|
||||||
|
|
||||||
$avatarlist = array();
|
$avatarlist = array();
|
||||||
$avatars = $xpath->query("atom:author/atom:link[@rel='avatar']", $context);
|
$avatars = $xpath->query("atom:author/atom:link[@rel='avatar']", $context);
|
||||||
foreach($avatars AS $avatar) {
|
foreach ($avatars AS $avatar) {
|
||||||
$href = "";
|
$href = "";
|
||||||
$width = 0;
|
$width = 0;
|
||||||
foreach($avatar->attributes AS $attributes) {
|
foreach ($avatar->attributes AS $attributes) {
|
||||||
if ($attributes->name == "href")
|
if ($attributes->name == "href") {
|
||||||
$href = $attributes->textContent;
|
$href = $attributes->textContent;
|
||||||
if ($attributes->name == "width")
|
}
|
||||||
|
if ($attributes->name == "width") {
|
||||||
$width = $attributes->textContent;
|
$width = $attributes->textContent;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (($width > 0) AND ($href != ""))
|
if (($width > 0) AND ($href != "")) {
|
||||||
$avatarlist[$width] = $href;
|
$avatarlist[$width] = $href;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (count($avatarlist) > 0) {
|
if (count($avatarlist) > 0) {
|
||||||
krsort($avatarlist);
|
krsort($avatarlist);
|
||||||
|
@ -117,8 +124,9 @@ class ostatus {
|
||||||
}
|
}
|
||||||
|
|
||||||
$displayname = $xpath->evaluate('atom:author/poco:displayName/text()', $context)->item(0)->nodeValue;
|
$displayname = $xpath->evaluate('atom:author/poco:displayName/text()', $context)->item(0)->nodeValue;
|
||||||
if ($displayname != "")
|
if ($displayname != "") {
|
||||||
$author["author-name"] = $displayname;
|
$author["author-name"] = $displayname;
|
||||||
|
}
|
||||||
|
|
||||||
$author["owner-name"] = $author["author-name"];
|
$author["owner-name"] = $author["author-name"];
|
||||||
$author["owner-link"] = $author["author-link"];
|
$author["owner-link"] = $author["author-link"];
|
||||||
|
@ -443,7 +451,7 @@ class ostatus {
|
||||||
foreach ($category->attributes AS $attributes) {
|
foreach ($category->attributes AS $attributes) {
|
||||||
if ($attributes->name == "term") {
|
if ($attributes->name == "term") {
|
||||||
$term = $attributes->textContent;
|
$term = $attributes->textContent;
|
||||||
if(strlen($item["tag"])) {
|
if (strlen($item["tag"])) {
|
||||||
$item["tag"] .= ',';
|
$item["tag"] .= ',';
|
||||||
}
|
}
|
||||||
$item["tag"] .= "#[url=".App::get_baseurl()."/search?tag=".$term."]".$term."[/url]";
|
$item["tag"] .= "#[url=".App::get_baseurl()."/search?tag=".$term."]".$term."[/url]";
|
||||||
|
@ -1137,6 +1145,7 @@ class ostatus {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// @TODO One statment is okay (until if () )
|
||||||
$arr = array();
|
$arr = array();
|
||||||
$arr["network"] = $details["network"];
|
$arr["network"] = $details["network"];
|
||||||
$arr["uri"] = $single_conv->id;
|
$arr["uri"] = $single_conv->id;
|
||||||
|
@ -2173,7 +2182,7 @@ class ostatus {
|
||||||
|
|
||||||
$owner = $r[0];
|
$owner = $r[0];
|
||||||
|
|
||||||
if(!strlen($last_update))
|
if (!strlen($last_update))
|
||||||
$last_update = 'now -30 days';
|
$last_update = 'now -30 days';
|
||||||
|
|
||||||
$check_date = datetime_convert('UTC','UTC',$last_update,'Y-m-d H:i:s');
|
$check_date = datetime_convert('UTC','UTC',$last_update,'Y-m-d H:i:s');
|
||||||
|
|
Loading…
Reference in a new issue