summaryrefslogtreecommitdiff
path: root/src/web/_model/apps
diff options
context:
space:
mode:
authorFreya Murphy <freya@freyacat.org>2024-04-03 11:25:57 -0400
committerFreya Murphy <freya@freyacat.org>2024-04-03 11:25:57 -0400
commit740df2706934231a91c5e2d5061198ea962c357c (patch)
treeb3de8027238850d43c6841f834a88e75ba90ce75 /src/web/_model/apps
parentfinish profile directory (mostly) (diff)
downloadxssbook2-740df2706934231a91c5e2d5061198ea962c357c.tar.gz
xssbook2-740df2706934231a91c5e2d5061198ea962c357c.tar.bz2
xssbook2-740df2706934231a91c5e2d5061198ea962c357c.zip
profile page
Diffstat (limited to 'src/web/_model/apps')
-rw-r--r--src/web/_model/apps/auth.php2
-rw-r--r--src/web/_model/apps/error.php2
-rw-r--r--src/web/_model/apps/home.php2
-rw-r--r--src/web/_model/apps/people.php2
-rw-r--r--src/web/_model/apps/profile.php37
5 files changed, 41 insertions, 4 deletions
diff --git a/src/web/_model/apps/auth.php b/src/web/_model/apps/auth.php
index a1802de..8a359d5 100644
--- a/src/web/_model/apps/auth.php
+++ b/src/web/_model/apps/auth.php
@@ -5,7 +5,7 @@ class Auth_model extends Model {
parent::__construct($load);
}
- public function get_data(): array {
+ public function get_data(): ?array {
$data = parent::get_data();
$data['title'] = lang('login');
return $data;
diff --git a/src/web/_model/apps/error.php b/src/web/_model/apps/error.php
index 58e3346..4118c62 100644
--- a/src/web/_model/apps/error.php
+++ b/src/web/_model/apps/error.php
@@ -22,7 +22,7 @@ class Error_model extends Model {
}
}
- public function get_data(): array {
+ public function get_data(): ?array {
$data = parent::get_data();
$this->get_msg($data);
return $data;
diff --git a/src/web/_model/apps/home.php b/src/web/_model/apps/home.php
index 82fbf26..caa254f 100644
--- a/src/web/_model/apps/home.php
+++ b/src/web/_model/apps/home.php
@@ -13,7 +13,7 @@ class Home_model extends Model {
->rows();
}
- public function get_data(): array {
+ public function get_data(): ?array {
$data = parent::get_data();
$data['title'] = lang('title');
$data['posts'] = $this->get_posts();
diff --git a/src/web/_model/apps/people.php b/src/web/_model/apps/people.php
index 4b6bab4..1bb110f 100644
--- a/src/web/_model/apps/people.php
+++ b/src/web/_model/apps/people.php
@@ -80,7 +80,7 @@ class People_model extends Model {
);
}
- public function get_data(): array {
+ public function get_data(): ?array {
$data = parent::get_data();
$data['title'] = lang('title');
return $data;
diff --git a/src/web/_model/apps/profile.php b/src/web/_model/apps/profile.php
new file mode 100644
index 0000000..592fbcb
--- /dev/null
+++ b/src/web/_model/apps/profile.php
@@ -0,0 +1,37 @@
+<?php /* Copyright (c) 2024 Freya Murphy */
+class Profile_model extends Model {
+
+ private $request_model;
+
+ function __construct($load) {
+ parent::__construct($load);
+ $this->request_model = $this->load->model('request');
+ }
+
+ public function get_data(): ?array {
+ $uid = $this->request_model->get_int('id', FALSE);
+ if ($uid === FALSE) {
+ if ($this->main->session) {
+ $uid = $this->main->user()['id'];
+ } else {
+ return NULL;
+ }
+ }
+
+ $user = $this->db
+ ->select('*')
+ ->from('api.user u')
+ ->where('u.id')
+ ->eq($uid)
+ ->row();
+
+ if (!$user) {
+ return NULL;
+ }
+
+ $data = parent::get_data();
+ $data['user'] = $user;
+ $data['title'] = lang('title', sub: [$user['first_name']]);
+ return $data;
+ }
+}