added spaces + some curly braces + some usage of dbm::is_result()

Signed-off-by: Roland Haeder <roland@mxchange.org>
This commit is contained in:
Roland Haeder 2017-04-04 19:48:03 +02:00 committed by Roland Häder
parent 2ef3251293
commit 1dc4b60a5a
No known key found for this signature in database
GPG key ID: B72F8185C6C7BD78
9 changed files with 111 additions and 93 deletions

View file

@ -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),

View file

@ -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;
} }

View file

@ -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) == '>')

View file

@ -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) {

View file

@ -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'));
} }

View file

@ -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'];
} }

View file

@ -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 {

View file

@ -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);

View file

@ -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');