function getDbaseResults($query) { return Dbase::getResults($query); }
static function getEntities($params, $return_object = true, $return_array = false, $return_password = false, $logged_in_user_guid = false) { // if (class_exists("SocialApparatus\Debug")) { // new Debug("getEntities", $params); // } if (!isset($params['type'])) { return false; } $results_array = array(); $return = array(); $reverse = NULL; $args = NULL; $defaults = array("limit" => false, "offset" => 0, "order_by" => false, "order_reverse" => false, "ignore_access" => false); $params = array_merge($defaults, $params); if ($params['order_by']) { if ($params['order_reverse']) { $reverse = " DESC"; } else { $reverse = " ASC"; } } $count = isset($params['count']) ? $params['count'] : false; if ($count) { $select = "count(*)"; } else { $select = "*"; } $type = strtolower($params['type']); $query = "SELECT {$select} FROM `{$type}`"; if (isset($params['metadata_name']) && isset($params['metadata_value'])) { if (is_array($params['metadata_value']) || is_bool($params['metadata_value']) || is_object($params['metadata_value'])) { $params['metadata_value'] = serialize($params['metadata_value']); } $operand = isset($params['operand']) ? $params['operand'] : "="; if ($params['metadata_value'] == 'NULL' || $operand == "IN" || $operand == "NOT IN") { $query .= " WHERE `{$params['metadata_name']}` {$operand} {$params['metadata_value']}"; } else { $query .= " WHERE `{$params['metadata_name']}` {$operand} '{$params['metadata_value']}'"; } } $where = strpos($query, "WHERE") > 0 ? " AND " : " WHERE "; if (isset($params['metadata_name_value_pairs'])) { $query .= $where . "("; $metadata_name_value_pairs_operand = isset($params['metadata_name_value_pairs_operand']) ? $params['metadata_name_value_pairs_operand'] : "AND"; foreach ($params['metadata_name_value_pairs'] as $pair) { $operand = isset($pair['operand']) ? $pair['operand'] : "="; if (is_array($pair['value']) || is_bool($pair['value']) || is_object($pair['value'])) { $pair['value'] = serialize($pair['value']); } if ($pair['value'] != "NULL" && ($operand != "IN" && $operand != "NOT IN")) { $args .= "`{$pair['name']}` {$operand} '{$pair['value']}' {$metadata_name_value_pairs_operand} "; } else { $args .= "`{$pair['name']}` {$operand} {$pair['value']} {$metadata_name_value_pairs_operand} "; } } $query .= substr($args, 0, -(strlen($metadata_name_value_pairs_operand) + 2)); $query .= ")"; } if ($params['order_by']) { $query .= " ORDER BY `{$params['order_by']}` {$reverse}"; } if ($params['limit']) { $query .= " LIMIT {$params['offset']},{$params['limit']}"; } $results = Dbase::getResults($query); if ($count && $results) { $row = $results->fetch_assoc(); $num_rows = $row['count(*)']; return $num_rows; } elseif ($count && !$results) { return 0; } if ($results && $results->num_rows > 0) { if (function_exists("mysqli_fetch_all") && defined("MYSQL_ASSOC")) { $results_array = mysqli_fetch_all($results, MYSQL_ASSOC); } else { while ($row = $results->fetch_assoc()) { $results_array[] = $row; } } if ($return_array) { if (!$return_password) { $new_results_array = array(); foreach ($results_array as $array) { unset($array['password']); $new_results_array[] = $array; } $results_array = $new_results_array; } foreach ($results_array as $key => $result) { if (!loggedInUserCanViewEntityGuid($result['guid'], false, $logged_in_user_guid) && !getIgnoreAccess()) { unset($results_array[$key]); } } return $results_array; } foreach ($results_array as $result) { if ($return_object) { $entity = getEntity($result['guid'], false, $return_password, $logged_in_user_guid); if ($entity) { $return[] = $entity; } } else { $return[] = $result['guid']; } } return $return; } return false; }