aboutsummaryrefslogtreecommitdiffhomepage
path: root/Digitigrade
diff options
context:
space:
mode:
authorwinter2024-12-23 22:17:41 +0000
committerwinter2024-12-23 22:17:41 +0000
commit916d4521cb595493bc5df8b7f9ef52310b6d013a (patch)
treed12b54f32339c2e6ae0bafc12bd4c30262615a5d /Digitigrade
parent8f1f84d92cabf3a606585bc79eba14e63c149b60 (diff)
actor profile page
Diffstat (limited to 'Digitigrade')
-rw-r--r--Digitigrade/Model.php13
-rw-r--r--Digitigrade/Model/Actor.php4
-rw-r--r--Digitigrade/Model/Note.php4
3 files changed, 17 insertions, 4 deletions
diff --git a/Digitigrade/Model.php b/Digitigrade/Model.php
index 0db27ef..dca1484 100644
--- a/Digitigrade/Model.php
+++ b/Digitigrade/Model.php
@@ -153,12 +153,21 @@ abstract class Model {
return static::fromDbRow($stmt->fetch(\PDO::FETCH_ASSOC));
}
- public static function findAllWhere(string $whereClause, array $parameters): array {
+ public static function findAllWhere(
+ string $whereClause,
+ array $parameters,
+ ?int $limit = null,
+ int $offset = 0
+ ): array {
$classNameParts = explode('\\', static::class);
$className = $classNameParts[count($classNameParts) - 1];
$tableName = self::mangleName($className);
- $stmt = Db::getInstance()->getPdo()->prepare("SELECT * FROM $tableName WHERE $whereClause");
+ $query = "SELECT * FROM $tableName WHERE $whereClause";
+ if ($limit != null) {
+ $query .= " LIMIT $limit OFFSET $offset";
+ }
+ $stmt = Db::getInstance()->getPdo()->prepare($query);
$stmt->execute($parameters);
return array_map(function ($row) {
return static::fromDbRow($row);
diff --git a/Digitigrade/Model/Actor.php b/Digitigrade/Model/Actor.php
index 8059409..d3589ae 100644
--- a/Digitigrade/Model/Actor.php
+++ b/Digitigrade/Model/Actor.php
@@ -204,6 +204,10 @@ class Actor extends PushableModel implements RpcReceiver {
return $instances;
}
+ public function getFullHandle(): string {
+ return $this->handle . ($this->isLocal ? '' : '@' . hostname_from_uri($this->uri));
+ }
+
public function jsonSerialize(): array {
if ($this->deleted) {
return [
diff --git a/Digitigrade/Model/Note.php b/Digitigrade/Model/Note.php
index 8dbec90..105f475 100644
--- a/Digitigrade/Model/Note.php
+++ b/Digitigrade/Model/Note.php
@@ -102,8 +102,8 @@ class Note extends PushableModel {
return $actors;
}
- public static function findAllWithAuthor(Actor $author): array {
- return self::findAllWhere('author = ?', [$author->id]);
+ public static function findAllWithAuthor(Actor $author, ?int $limit = null, int $offset = 0): array {
+ return self::findAllWhere('author = ?', [$author->id], $limit, $offset);
}
public function getInteractions(): array {