summaryrefslogtreecommitdiff
path: root/web/_model/cache.php
diff options
context:
space:
mode:
Diffstat (limited to 'web/_model/cache.php')
-rw-r--r--web/_model/cache.php37
1 files changed, 37 insertions, 0 deletions
diff --git a/web/_model/cache.php b/web/_model/cache.php
new file mode 100644
index 0000000..6cf9924
--- /dev/null
+++ b/web/_model/cache.php
@@ -0,0 +1,37 @@
+<?php /* Copyright (c) 2024 Freya Murphy */
+class Cache_model extends Model {
+
+ // the user cache
+ private $users;
+
+ function __construct($load) {
+ parent::__construct($load);
+ $this->users = array();
+ }
+
+ /**
+ * Gets a array of users
+ */
+ public function get_users($objs) {
+ $ids = array();
+ foreach ($objs as $obj) {
+ $id = $obj['user_id'];
+ if (!array_key_exists($id, $this->users)) {
+ array_push($ids, intval($id));
+ }
+ }
+ if (!empty($ids)) {
+ $result = $this->main->db
+ ->select('*')
+ ->from('api.user')
+ ->where_in('id', $ids)
+ ->rows();
+ foreach ($result as $user) {
+ $id = $user['id'];
+ $this->users[$id] = $user;
+ }
+ }
+ return $this->users;
+ }
+
+}