aboutsummaryrefslogtreecommitdiff
path: root/engine/lib/entities.php
diff options
context:
space:
mode:
Diffstat (limited to 'engine/lib/entities.php')
-rw-r--r--engine/lib/entities.php22
1 files changed, 22 insertions, 0 deletions
diff --git a/engine/lib/entities.php b/engine/lib/entities.php
index af5b140d9..17bc0aa1e 100644
--- a/engine/lib/entities.php
+++ b/engine/lib/entities.php
@@ -3631,6 +3631,28 @@ function recursive_delete_permissions_check($hook, $entity_type, $returnvalue, $
}
/**
+ * Checks if $entity is an ElggEntity and optionally for type and subtype.
+ *
+ * @param $entity
+ * @param $type
+ * @param $subtype
+ * @return Bool
+ */
+function elgg_instanceof($entity, $type = NULL, $subtype = NULL) {
+ $return = ($entity instanceof ElggEntity);
+
+ if ($type) {
+ $return = $return && ($entity->getType() == $type);
+ }
+
+ if ($subtype) {
+ $return = $return && ($entity->getSubtype() == $subtype);
+ }
+
+ return $return;
+}
+
+/**
* Garbage collect stub and fragments from any broken delete/create calls
*
* @param unknown_type $hook