Merge branch 'rewrites/is_filled_array_introduced' of git://github.com/Quix0r/friendica into Quix0r-rewrites/is_filled_array_introduced

Conflicts:
	boot.php
This commit is contained in:
Michael Vogel 2016-07-02 13:38:23 +02:00
commit 7d531afd00
10 changed files with 73 additions and 26 deletions

View file

@ -940,7 +940,7 @@ class App {
} else {
$r = q("SELECT `contact`.`avatar-date` AS picdate FROM `contact` WHERE `contact`.`thumb` like '%%/%s'",
$common_filename);
if(! count($r)){
if(! dba::is_result($r)){
$this->cached_profile_image[$avatar_image] = $avatar_image;
} else {
$this->cached_profile_picdate[$common_filename] = "?rev=".urlencode($r[0]['picdate']);
@ -1425,7 +1425,7 @@ function run_update_function($x) {
function check_plugins(&$a) {
$r = q("SELECT * FROM `addon` WHERE `installed` = 1");
if(count($r))
if(dba::is_result($r))
$installed = $r;
else
$installed = array();
@ -1756,7 +1756,7 @@ function current_theme(){
$r = q("select theme from user where uid = %d limit 1",
intval($a->profile_uid)
);
if($r)
if(dba::is_result($r))
$page_theme = $r[0]['theme'];
}
@ -1869,7 +1869,7 @@ function feed_birthday($uid,$tz) {
intval($uid)
);
if($p && count($p)) {
if(dba::is_result($p)) {
$tmp_dob = substr($p[0]['dob'],5);
if(intval($tmp_dob)) {
$y = datetime_convert($tz,$tz,'now','Y');
@ -1901,6 +1901,31 @@ function is_site_admin() {
return false;
}
function load_contact_links($uid) {
$a = get_app();
$ret = array();
if(! $uid || x($a->contacts,'empty'))
return;
$r = q("SELECT `id`,`network`,`url`,`thumb`, `rel` FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `thumb` != ''",
intval($uid)
);
if(dba::is_result($r)) {
foreach($r as $rr){
$url = normalise_link($rr['url']);
$ret[$url] = $rr;
}
} else
$ret['empty'] = true;
$a->contacts = $ret;
return;
}
/**
* @brief Returns querystring as string from a mapped array.
*

View file

@ -86,7 +86,7 @@ class ForumManager {
$total = count($contacts);
$visible_forums = 10;
if(count($contacts)) {
if(dba::is_result($contacts)) {
$id = 0;

View file

@ -230,6 +230,16 @@ class dba {
}
}
/**
* Checks if $array is a filled array with at least one entry.
*
* @param $array mixed A filled array with at least one entry
* @return Whether $array is a filled array
*/
public function is_result ($array) {
return (is_array($array) && count($array) > 0);
}
function __destruct() {
if ($this->db)
if($this->mysqli)
@ -340,4 +350,3 @@ function dbesc_array(&$arr) {
function dba_timer() {
return microtime(true);
}

View file

@ -232,6 +232,16 @@ class dba {
}
}
/**
* Checks if $array is a filled array with at least one entry.
*
* @param $array mixed A filled array with at least one entry
* @return Whether $array is a filled array
*/
public function is_result ($array) {
return (is_array($array) && count($array) > 0);
}
function __destruct() {
if ($this->db)
\DDDBL\disconnect();

View file

@ -228,7 +228,7 @@ function poller_max_connections_reached() {
function poller_kill_stale_workers() {
$r = q("SELECT `pid`, `executed` FROM `workerqueue` WHERE `executed` != '0000-00-00 00:00:00'");
if (!is_array($r) || count($r) == 0) {
if (!dba::is_result($r)) {
// No processing here needed
return;
}

View file

@ -126,7 +126,7 @@ if (x($_SESSION,'authenticated') && !x($_SESSION,'language')) {
// we didn't loaded user data yet, but we need user language
$r = q("SELECT language FROM user WHERE uid=%d", intval($_SESSION['uid']));
$_SESSION['language'] = $lang;
if (count($r)>0) $_SESSION['language'] = $r[0]['language'];
if (dba::is_result($r)) $_SESSION['language'] = $r[0]['language'];
}
if((x($_SESSION,'language')) && ($_SESSION['language'] !== $lang)) {

View file

@ -373,11 +373,13 @@ function message_content(&$a) {
intval(local_user())
);
if(count($r)) $a->set_pager_total($r[0]['total']);
if (dba::is_result($r)) {
$a->set_pager_total($r[0]['total']);
}
$r = get_messages(local_user(), $a->pager['start'], $a->pager['itemspage']);
if(! count($r)) {
if(! dba::is_result($r)) {
info( t('No messages.') . EOL);
return $o;
}
@ -562,7 +564,7 @@ function get_messages($user, $lstart, $lend) {
);
}
function render_messages($msg, $t) {
function render_messages(array $msg, $t) {
$a = get_app();

View file

@ -704,7 +704,7 @@ function network_content(&$a, $update = 0) {
$parents_str = '';
$date_offset = "";
if(count($r)) {
if(dba::is_result($r)) {
foreach($r as $rr)
if(! in_array($rr['item_id'],$parents_arr))
$parents_arr[] = $rr['item_id'];

View file

@ -32,6 +32,8 @@ function ping_init(&$a) {
$dislikes = array();
$friends = array();
$posts = array();
$regs = array();
$mails = array();
$home = 0;
$network = 0;
@ -49,7 +51,7 @@ function ping_init(&$a) {
intval(local_user()), intval(local_user())
);
if(count($r)) {
if(dba::is_result($r)) {
$arr = array('items' => $r);
call_hooks('network_ping', $arr);
@ -116,8 +118,6 @@ function ping_init(&$a) {
$intro = count($intros1) + count($intros2);
$intros = $intros1+$intros2;
$myurl = $a->get_baseurl() . '/profile/' . $a->user['nickname'] ;
$mails = q("SELECT * FROM `mail`
WHERE `uid` = %d AND `seen` = 0 AND `from-url` != '%s' ",
@ -150,7 +150,7 @@ function ping_init(&$a) {
dbesc(datetime_convert('UTC','UTC','now'))
);
if($ev && count($ev)) {
if(dba::is_result($ev)) {
$all_events = intval($ev[0]['total']);
if($all_events) {
@ -224,7 +224,7 @@ function ping_init(&$a) {
<home>$home</home>\r\n";
if ($register!=0) echo "<register>$register</register>";
if (count($groups_unseen)) {
if ( dba::is_result($groups_unseen) ) {
echo '<groups>';
foreach ($groups_unseen as $it)
if ($it['count'] > 0)
@ -233,7 +233,7 @@ function ping_init(&$a) {
echo "</groups>";
}
if (count($forums_unseen)) {
if ( dba::is_result($forums_unseen) ) {
echo '<forums>';
foreach ($forums_unseen as $it)
if ($it['count'] > 0)
@ -250,8 +250,8 @@ function ping_init(&$a) {
<birthdays-today>$birthdays_today</birthdays-today>\r\n";
if(count($notifs) && (! $sysnotify)) {
foreach($notifs as $zz) {
if (dba::is_result($notifs) && (! $sysnotify)) {
foreach ($notifs as $zz) {
if($zz['seen'] == 0)
$sysnotify ++;
}
@ -260,7 +260,7 @@ function ping_init(&$a) {
echo ' <notif count="'. ($sysnotify + $intro + $mail + $register) .'">';
// merge all notification types in one array
if ($intro>0){
if ( dba::is_result($intros) ) {
foreach ($intros as $i) {
$n = array(
'href' => $a->get_baseurl().'/notifications/intros/'.$i['id'],
@ -275,7 +275,7 @@ function ping_init(&$a) {
}
}
if ($mail>0){
if ( dba::is_result($mails) ) {
foreach ($mails as $i) {
$n = array(
'href' => $a->get_baseurl().'/message/'.$i['id'],
@ -290,7 +290,7 @@ function ping_init(&$a) {
}
}
if ($register>0){
if ( dba::is_result($regs) ) {
foreach ($regs as $i) {
$n = array(
'href' => $a->get_baseurl().'/admin/users/',
@ -304,6 +304,7 @@ function ping_init(&$a) {
$notifs[] = $n;
}
}
// sort notifications by $[]['date']
$sort_function = function($a, $b) {
$adate = date($a['date']);
@ -315,7 +316,7 @@ function ping_init(&$a) {
};
usort($notifs, $sort_function);
if(count($notifs)) {
if( dba::is_result($notifs) ) {
foreach($notifs as $n) {
echo xmlize($n);
}

View file

@ -298,7 +298,7 @@ function profile_content(&$a, $update = 0) {
$parents_arr = array();
$parents_str = '';
if(count($r)) {
if (dba::is_result($r)) {
foreach($r as $rr)
$parents_arr[] = $rr['item_id'];
$parents_str = implode(', ', $parents_arr);