diff options
| author | winter | 2024-12-23 22:17:41 +0000 |
|---|---|---|
| committer | winter | 2024-12-23 22:17:41 +0000 |
| commit | 916d4521cb595493bc5df8b7f9ef52310b6d013a (patch) | |
| tree | d12b54f32339c2e6ae0bafc12bd4c30262615a5d /Digitigrade | |
| parent | 8f1f84d92cabf3a606585bc79eba14e63c149b60 (diff) | |
actor profile page
Diffstat (limited to 'Digitigrade')
| -rw-r--r-- | Digitigrade/Model.php | 13 | ||||
| -rw-r--r-- | Digitigrade/Model/Actor.php | 4 | ||||
| -rw-r--r-- | Digitigrade/Model/Note.php | 4 |
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 { |
