This repository has been archived on 2024-09-05. You can view files and clone it, but cannot push or open issues or pull requests.
shimmie2/ext/relationships/theme.php

77 lines
2.5 KiB
PHP
Raw Normal View History

2020-01-26 13:19:35 +00:00
<?php declare(strict_types=1);
2014-02-03 13:54:09 +00:00
class RelationshipsTheme extends Themelet
{
public function relationship_info(Image $image)
{
global $page, $database;
if ($image->parent_id !== null) {
$a = "<a href='".make_link("post/view/".$image->parent_id)."'>parent post</a>";
$page->add_block(new Block(null, "This post belongs to a $a.", "main", 5));
}
if (bool_escape($image->has_children)) {
$ids = $database->get_col("SELECT id FROM images WHERE parent_id = :iid", ["iid"=>$image->id]);
$html = "This post has <a href='".make_link('post/list/parent='.$image->id.'/1')."'>".(count($ids) > 1 ? "child posts" : "a child post")."</a>";
$html .= " (post ";
foreach ($ids as $id) {
$html .= "#<a href='".make_link('post/view/'.$id)."'>{$id}</a>, ";
}
$html = rtrim($html, ", ").").";
$page->add_block(new Block(null, $html, "main", 6));
}
}
public function get_parent_editor_html(Image $image): string
{
global $user;
$h_parent_id = $image->parent_id;
$s_parent_id = $h_parent_id ?: "None";
$html = "<tr>\n".
" <th>Parent</th>\n".
" <td>\n".
(
!$user->is_anonymous() ?
" <span class='view' style='overflow: hidden; white-space: nowrap;'>{$s_parent_id}</span>\n".
" <input class='edit' type='number' name='tag_edit__parent' type='number' value='{$h_parent_id}'>\n"
:
$s_parent_id
).
" <td>\n".
"</tr>\n";
return $html;
}
public function get_help_html()
{
return '<p>Search for images that have parent/child relationships.</p>
<div class="command_example">
<pre>parent=any</pre>
<p>Returns images that have a parent.</p>
</div>
<div class="command_example">
<pre>parent=none</pre>
<p>Returns images that have no parent.</p>
</div>
<div class="command_example">
<pre>parent=123</pre>
<p>Returns images that have image 123 set as parent.</p>
</div>
<div class="command_example">
<pre>child=any</pre>
<p>Returns images that have at least 1 child.</p>
</div>
<div class="command_example">
<pre>child=none</pre>
<p>Returns images that have no children.</p>
</div>
';
}
2014-02-03 13:54:09 +00:00
}