aboutsummaryrefslogtreecommitdiff
path: root/engine
diff options
context:
space:
mode:
Diffstat (limited to 'engine')
-rw-r--r--engine/lib/database.php2
-rw-r--r--engine/lib/entities.php17
2 files changed, 12 insertions, 7 deletions
diff --git a/engine/lib/database.php b/engine/lib/database.php
index 62fa15877..d3113e202 100644
--- a/engine/lib/database.php
+++ b/engine/lib/database.php
@@ -148,7 +148,7 @@
if (!empty($callback) && is_callable($callback)) {
$row = $callback($row);
}
- $resultarray[] = $row;
+ if ($row) $resultarray[] = $row;
}
}
diff --git a/engine/lib/entities.php b/engine/lib/entities.php
index 998b996de..7266ed723 100644
--- a/engine/lib/entities.php
+++ b/engine/lib/entities.php
@@ -962,12 +962,17 @@
$classname = get_subtype_class_from_id($row->subtype);
if ($classname!="")
{
- $tmp = new $classname($row);
-
- if (!($tmp instanceof ElggEntity))
- throw new ClassException(sprintf(elgg_echo('ClassException:ClassnameNotClass'), $classname, get_class()));
-
- return $tmp;
+ if (class_exists($classname))
+ {
+ $tmp = new $classname($row);
+
+ if (!($tmp instanceof ElggEntity))
+ throw new ClassException(sprintf(elgg_echo('ClassException:ClassnameNotClass'), $classname, get_class()));
+
+ return $tmp;
+ }
+ else
+ error_log(sprintf(elgg_echo('ClassNotFoundException:MissingClass'), $classname));
}
else
{