Merge commit 'gallery3-contrib/master'
Conflicts: modules/calendarview/controllers/calendarview.php
This commit is contained in:
commit
9f2a08411c
@ -21,7 +21,7 @@ class Basket_Controller extends Controller {
|
||||
|
||||
public function view_basket() {
|
||||
|
||||
$template = new Theme_View("page.html", "basket");
|
||||
$template = new Theme_View("page.html", "other", "basket");
|
||||
|
||||
$view = new View("view_basket.html");
|
||||
$view->basket = Session_Basket::get();
|
||||
@ -48,7 +48,7 @@ class Basket_Controller extends Controller {
|
||||
|
||||
public function checkout () {
|
||||
|
||||
$template = new Theme_View("page.html", "basket");
|
||||
$template = new Theme_View("page.html", "other", "basket");
|
||||
|
||||
$view = new View("checkout.html");
|
||||
|
||||
@ -89,7 +89,7 @@ class Basket_Controller extends Controller {
|
||||
$basket->email = $form->contact->email->value;
|
||||
$basket->phone = $form->contact->phone->value;
|
||||
|
||||
$template = new Theme_View("page.html", "basket");
|
||||
$template = new Theme_View("page.html", "other", "basket");
|
||||
|
||||
$form = new Forge("basket/complete", "", "post", array("id" => "confirm", "name" =>"confirm"));
|
||||
$view = new View("confirm_order.html");
|
||||
@ -149,7 +149,7 @@ Items Ordered:
|
||||
|
||||
$basket->clear();
|
||||
|
||||
$template = new Theme_View("page.html", "basket");
|
||||
$template = new Theme_View("page.html", "other", "basket");
|
||||
$view = new View("order_complete.html");
|
||||
$template->content = $view;
|
||||
print $template;
|
||||
|
@ -18,7 +18,7 @@
|
||||
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
?>
|
||||
<? if ($theme->page_type != 'basket'): ?>
|
||||
<? if ($theme->page_subtype != 'basket'): ?>
|
||||
<? if (isset($basket) && isset($basket->contents) && ($basket->size() > 0)): ?>
|
||||
<div id="basket">
|
||||
<a href="<?= url::site("basket/view_basket") ?>"
|
||||
|
@ -24,13 +24,13 @@ class batchtag_block_Core {
|
||||
|
||||
static function get($block_id, $theme) {
|
||||
$block = "";
|
||||
|
||||
// Only display on album pages that the user can edit.
|
||||
$item = $theme->item();
|
||||
if (!$item->is_album() || !access::can("edit", $item)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
// Only display on album pages that the user can edit.
|
||||
$item = $theme->item();
|
||||
if (!$item || !$item->is_album() || !access::can("edit", $item)) {
|
||||
return;
|
||||
}
|
||||
|
||||
switch ($block_id) {
|
||||
case "batch_tag":
|
||||
// Make a new sidebar block.
|
||||
@ -54,7 +54,7 @@ class batchtag_block_Core {
|
||||
$group->submit("")->value(t("Add Tag"));
|
||||
$block->content->batch_tag_form = $form;
|
||||
|
||||
break;
|
||||
break;
|
||||
}
|
||||
return $block;
|
||||
}
|
||||
|
@ -31,7 +31,7 @@ class CalendarView_Controller extends Controller {
|
||||
}
|
||||
|
||||
// Draw the page.
|
||||
$template = new Theme_View("page.html", "CalendarView");
|
||||
$template = new Theme_View("page.html", "other", "CalendarView");
|
||||
$template->css("calendarview_calendar.css");
|
||||
$template->page_title = t("Gallery :: Calendar");
|
||||
$template->content = new View("calendarview_year.html");
|
||||
@ -63,7 +63,7 @@ class CalendarView_Controller extends Controller {
|
||||
->find_all()
|
||||
->count();
|
||||
}
|
||||
|
||||
|
||||
// Figure out paging stuff.
|
||||
$page_size = module::get_var("gallery", "page_size", 9);
|
||||
$page = $this->input->get("page", "1");
|
||||
@ -76,7 +76,7 @@ class CalendarView_Controller extends Controller {
|
||||
}
|
||||
|
||||
// Set up the page.
|
||||
$template = new Theme_View("page.html", "CalendarDayView");
|
||||
$template = new Theme_View("page.html", "other", "CalendarDayView");
|
||||
$template->page_title = t("Gallery :: Calendar");
|
||||
$template->set_global("page_size", $page_size);
|
||||
|
||||
@ -99,7 +99,7 @@ class CalendarView_Controller extends Controller {
|
||||
->orderby("captured", "ASC")
|
||||
->find_all($page_size, $offset));
|
||||
}
|
||||
|
||||
|
||||
// Finish setting up and then display the page.
|
||||
$template->set_global("children_count", $day_count);
|
||||
$template->content = new View("dynamic.html");
|
||||
@ -125,7 +125,7 @@ class CalendarView_Controller extends Controller {
|
||||
->count();
|
||||
if ($count > 0) {
|
||||
$valid_users[$one_user->id] = $one_user->full_name;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Generate a list of years, starting with the year the earliest photo was
|
||||
@ -161,19 +161,19 @@ class CalendarView_Controller extends Controller {
|
||||
// Return the newly generated form.
|
||||
return $form;
|
||||
}
|
||||
|
||||
|
||||
public function setprefs() {
|
||||
// Change the calendar year and / or user.
|
||||
|
||||
|
||||
// Prevent Cross Site Request Forgery
|
||||
access::verify_csrf();
|
||||
|
||||
// Get user specified settings.
|
||||
$str_user_id = Input::instance()->post("cal_user");
|
||||
$str_user_id = Input::instance()->post("cal_user");
|
||||
$str_year_id = Input::instance()->post("cal_year");
|
||||
|
||||
// redirect to the currect page.
|
||||
url::redirect(url::site("calendarview/calendar/" . $str_year_id . "/" . $str_user_id));
|
||||
url::redirect(url::site("calendarview/calendar/" . $str_year_id . "/" . $str_user_id));
|
||||
|
||||
}
|
||||
}
|
||||
}
|
@ -41,7 +41,7 @@ class ContactOwner_Controller extends Controller {
|
||||
$sendmail_fields->submit("SendMessage")->value(t("Send"));
|
||||
|
||||
// Set up and display the actual page.
|
||||
$template = new Theme_View("page.html", "Contact");
|
||||
$template = new Theme_View("page.html", "other", "Contact");
|
||||
$template->content = new View("contactowner_emailform.html");
|
||||
$template->content->sendmail_form = $form;
|
||||
print $template;
|
||||
@ -75,7 +75,7 @@ class ContactOwner_Controller extends Controller {
|
||||
$sendmail_fields->submit("SendMessage")->value(t("Send"));
|
||||
|
||||
// Set up and display the actual page.
|
||||
$template = new Theme_View("page.html", "Contact");
|
||||
$template = new Theme_View("page.html", "other", "Contact");
|
||||
$template->content = new View("contactowner_emailform.html");
|
||||
$template->content->sendmail_form = $form;
|
||||
print $template;
|
||||
@ -122,7 +122,7 @@ class ContactOwner_Controller extends Controller {
|
||||
->send();
|
||||
|
||||
// Display a message telling the visitor that their email has been sent.
|
||||
$template = new Theme_View("page.html", "Contact");
|
||||
$template = new Theme_View("page.html", "other", "Contact");
|
||||
$template->content = new View("contactowner_emailform.html");
|
||||
$template->content->sendmail_form = t("Your Message Has Been Sent.");
|
||||
print $template;
|
||||
|
@ -47,7 +47,7 @@ class Dynamic_Controller extends Controller {
|
||||
Kohana::show_404();
|
||||
}
|
||||
|
||||
$template = new Theme_View("page.html", "dynamic");
|
||||
$template = new Theme_View("page.html", "other", "dynamic");
|
||||
$template->set_global("page_size", $page_size);
|
||||
$template->set_global("children", ORM::factory("item")
|
||||
->viewable()
|
||||
|
@ -24,19 +24,23 @@ class embedlinks_block_Core {
|
||||
|
||||
static function get($block_id, $theme) {
|
||||
$block = "";
|
||||
|
||||
|
||||
if (!$theme->item()) {
|
||||
return;
|
||||
}
|
||||
|
||||
switch ($block_id) {
|
||||
case "embed_links_dialog":
|
||||
// If displaying links in a dialog box is enabled then
|
||||
// If displaying links in a dialog box is enabled then
|
||||
// insert buttons into the bottom of the side bar
|
||||
// to open up the dialog window.
|
||||
// to open up the dialog window.
|
||||
if (module::get_var("embedlinks", "DialogLinks") && $theme->item()) {
|
||||
$block = new Block();
|
||||
$block->css_id = "g-embed-links-sidebar";
|
||||
$block->title = t("Link To This Page");
|
||||
$block->content = new View("embedlinks_sidebar.html");
|
||||
}
|
||||
break;
|
||||
break;
|
||||
|
||||
case "embed_links_album":
|
||||
// If the current item is an album and if "In Page" links are enabled then
|
||||
@ -46,10 +50,10 @@ class embedlinks_block_Core {
|
||||
$block->css_id = "g-embed-links-album-sidebar";
|
||||
$block->title = t("Links");
|
||||
$block->content = new View("embedlinks_album_block.html");
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
return $block;
|
||||
}
|
||||
}
|
||||
|
@ -108,23 +108,23 @@ class keeporiginal_event_Core {
|
||||
@rename($old_original, $new_original);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static function site_menu($menu, $theme) {
|
||||
|
||||
static function site_menu($menu, $theme) {
|
||||
// Create a menu option to restore the original photo.
|
||||
$item = $theme->item();
|
||||
if ($item = $theme->item()) {
|
||||
if ((access::can("view", $item)) && (access::can("edit", $item))) {
|
||||
$original_image = VARPATH . "original/" . str_replace(VARPATH . "albums/", "", $item->file_path());
|
||||
|
||||
if ((access::can("view", $item)) && (access::can("edit", $item))) {
|
||||
$original_image = VARPATH . "original/" . str_replace(VARPATH . "albums/", "", $item->file_path());
|
||||
|
||||
if ($item->is_photo() && file_exists($original_image)) {
|
||||
$menu->get("options_menu")
|
||||
->append(Menu::factory("link")
|
||||
->id("restore")
|
||||
->label(t("Restore original"))
|
||||
->css_id("g-keep-originals-link")
|
||||
->url(url::site("keeporiginal/restore/" . $item->id)));
|
||||
if ($item->is_photo() && file_exists($original_image)) {
|
||||
$menu->get("options_menu")
|
||||
->append(Menu::factory("link")
|
||||
->id("restore")
|
||||
->label(t("Restore original"))
|
||||
->css_id("g-keep-originals-link")
|
||||
->url(url::site("keeporiginal/restore/" . $item->id)));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -70,7 +70,7 @@ class latestupdates_Controller extends Controller {
|
||||
}
|
||||
|
||||
// Set up and display the actual page.
|
||||
$template = new Theme_View("page.html", "LatestUpdates");
|
||||
$template = new Theme_View("page.html", "other", "LatestUpdates");
|
||||
$template->page_title = t("Gallery :: Latest Updates");
|
||||
$template->set_global("page_size", $itemsPerPage);
|
||||
$template->set_global("children", $children);
|
||||
@ -128,7 +128,7 @@ class latestupdates_Controller extends Controller {
|
||||
}
|
||||
|
||||
// Set up and display the actual page.
|
||||
$template = new Theme_View("page.html", "LatestUpdates");
|
||||
$template = new Theme_View("page.html", "other", "LatestUpdates");
|
||||
$template->page_title = t("Gallery :: Latest Updates");
|
||||
$template->set_global("page_size", $itemsPerPage);
|
||||
$template->set_global("children", $items);
|
||||
|
@ -24,7 +24,11 @@ class latestupdates_block_Core {
|
||||
|
||||
static function get($block_id, $theme) {
|
||||
$block = "";
|
||||
|
||||
|
||||
if (!$theme->item()) {
|
||||
return;
|
||||
}
|
||||
|
||||
switch ($block_id) {
|
||||
case "latestupdates":
|
||||
// Determine the ID# of the current album.
|
||||
@ -35,12 +39,11 @@ class latestupdates_block_Core {
|
||||
$block->css_id = "g-latest-updates";
|
||||
$block->title = t("Latest Updates");
|
||||
$block->content = new View("latestupdates_block.html");
|
||||
$block->content->batch_tag_form = $form;
|
||||
$block->content->update_links = array(
|
||||
"Entire Gallery" => url::site("latestupdates/updates"),
|
||||
"This Album" => url::site("latestupdates/albums/$albumID")
|
||||
);
|
||||
break;
|
||||
break;
|
||||
}
|
||||
return $block;
|
||||
}
|
||||
|
@ -26,7 +26,7 @@ class metadescription_theme_Core {
|
||||
->where("id", $theme->tag())
|
||||
->find_all();
|
||||
|
||||
}elseif ($theme->item()) {
|
||||
} elseif ($theme->item()) {
|
||||
// If the current page belongs to an item (album, photo, etc.),
|
||||
// look up any tags that have been applied to that item.
|
||||
$tagsItem = ORM::factory("tag")
|
||||
@ -40,8 +40,12 @@ class metadescription_theme_Core {
|
||||
}
|
||||
|
||||
// Load the meta tags into the top of the page.
|
||||
$metaView = new View("metadescription_block.html");
|
||||
$metaView->tags = $tagsItem;
|
||||
return $metaView;
|
||||
// @todo: metadescription_block.html requires an item so for now, don't render it unless we
|
||||
// have one.
|
||||
if ($theme->item()) {
|
||||
$metaView = new View("metadescription_block.html");
|
||||
$metaView->tags = $tagsItem;
|
||||
return $metaView;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -9,14 +9,14 @@
|
||||
} else {
|
||||
$metaTags = $metaTags . html::clean($tags[$counter]->name);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// If $metaTags is empty, use the item's title instead.
|
||||
if ($metaTags == "") {
|
||||
$metaTags = html::clean($item->title);
|
||||
}
|
||||
|
||||
|
||||
$metaDescription = "";
|
||||
$metaDescription = trim(nl2br(html::purify($item->description)));
|
||||
// If description is empty, use title instead.
|
||||
|
@ -27,7 +27,7 @@ class register_event {
|
||||
|
||||
static function user_menu($menu, $theme) {
|
||||
$user = identity::active_user();
|
||||
if ($theme->page_type != "login" && $user->guest) {
|
||||
if ($theme->page_subtype != "login" && $user->guest) {
|
||||
$menu->append(Menu::factory("dialog")
|
||||
->id("user_menu_register")
|
||||
->css_id("g-register-menu")
|
||||
|
@ -58,7 +58,7 @@ class tag_cloud_block {
|
||||
$block->content->cloud = tag::cloud(30);
|
||||
$block->content->options = $options;
|
||||
|
||||
if ($theme->item() && $theme->page_type() != "tag" && access::can("edit", $theme->item())) {
|
||||
if ($theme->item() && $theme->page_subtype() != "tag" && access::can("edit", $theme->item())) {
|
||||
$controller = new Tags_Controller();
|
||||
$block->content->form = tag::get_add_form($theme->item());
|
||||
} else {
|
||||
|
@ -27,10 +27,11 @@ class tagfaces_Controller extends Controller {
|
||||
access::required("edit", $item);
|
||||
|
||||
// Create the page.
|
||||
$template = new Theme_View("page.html", "drawfaces");
|
||||
$template = new Theme_View("page.html", "other", "drawfaces");
|
||||
$template->set_global("item_id", $id);
|
||||
$template->set_global("page_title", t("Draw Faces"));
|
||||
$template->set_global("page_type", "photoface");
|
||||
$template->set_global("page_type", "other");
|
||||
$template->set_global("page_subtype", "photoface");
|
||||
$template->content = new View("drawfaces.html");
|
||||
$template->content->title = t("Tag Faces");
|
||||
$template->content->form = $this->_get_faces_form($id);
|
||||
|
@ -41,7 +41,7 @@ class TagsMap_Controller extends Controller {
|
||||
|
||||
print $view;
|
||||
} else {
|
||||
$template = new Theme_View("page.html", "TagsMap");
|
||||
$template = new Theme_View("page.html", "other", "TagsMap");
|
||||
$template->page_title = t("Gallery :: Map");
|
||||
$template->content = new View("tagsmap_googlemap.html");
|
||||
|
||||
|
@ -35,7 +35,7 @@
|
||||
<link rel="stylesheet" type="text/css" href="<?= $theme->url("css/fix-ie.css") ?>"
|
||||
media="screen,print,projection" />
|
||||
<![endif]-->
|
||||
<? if ($theme->page_type == 'album'): ?>
|
||||
<? if ($theme->page_type == 'collection'): ?>
|
||||
<? if ($thumb_proportion != 1): ?>
|
||||
<? $new_width = $thumb_proportion * 180 ?>
|
||||
<? $new_height = $thumb_proportion * 230 ?>
|
||||
@ -65,10 +65,10 @@
|
||||
<?= $theme->script("ui.init.js") ?>
|
||||
|
||||
<? /* These are page specific, but if we put them before $theme->head() they get combined */ ?>
|
||||
<? if ($theme->page_type == "photo"): ?>
|
||||
<? if ($theme->page_subtype == "photo"): ?>
|
||||
<?= $theme->script("jquery.scrollTo.js") ?>
|
||||
<?= $theme->script("gallery.show_full_size.js") ?>
|
||||
<? elseif ($theme->page_type == "movie"): ?>
|
||||
<? elseif ($theme->page_subtype == "movie"): ?>
|
||||
<?= $theme->script("flowplayer.js") ?>
|
||||
<? endif ?>
|
||||
|
||||
@ -149,7 +149,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div id="g-sidebar" class="yui-b">
|
||||
<? if ($theme->page_type != "login"): ?>
|
||||
<? if ($theme->page_subtype != "login"): ?>
|
||||
<?= new View("sidebar.html") ?>
|
||||
<? endif ?>
|
||||
</div>
|
||||
|
@ -2,13 +2,13 @@
|
||||
<?= $theme->sidebar_top() ?>
|
||||
<div class="g-toolbar">
|
||||
<div id="g-view-menu" class="g-buttonset ui-helper-clearfix">
|
||||
<? if ($page_type == "album"):?>
|
||||
<? if ($page_subtype == "album"):?>
|
||||
<?= $theme->album_menu() ?>
|
||||
<? elseif ($page_type == "photo") : ?>
|
||||
<? elseif ($page_subtype == "photo") : ?>
|
||||
<?= $theme->photo_menu() ?>
|
||||
<? elseif ($page_type == "movie") : ?>
|
||||
<? elseif ($page_subtype == "movie") : ?>
|
||||
<?= $theme->movie_menu() ?>
|
||||
<? elseif ($page_type == "tag") : ?>
|
||||
<? elseif ($page_subtype == "tag") : ?>
|
||||
<?= $theme->tag_menu() ?>
|
||||
<? endif ?>
|
||||
</div>
|
||||
|
@ -41,7 +41,7 @@ class TagsMap_Controller extends Controller {
|
||||
|
||||
print $view;
|
||||
} else {
|
||||
$template = new Theme_View("page.html", "Contact");
|
||||
$template = new Theme_View("page.html", "other", "Contact");
|
||||
//$template->body_attributes("onload=\"GLoad\" onunload=\"Gunload\"");
|
||||
$template->page_title = t("Gallery :: map");
|
||||
$template->content = new View("tagsmap_googlemap.html");
|
||||
|
@ -49,7 +49,7 @@ class Comments_3nids_Controller extends REST_Controller {
|
||||
break;
|
||||
|
||||
case "html":
|
||||
$view = new Theme_View("comments.html", "page");
|
||||
$view = new Theme_View("comments.html", "other", "page");
|
||||
$view->comments = $comments;
|
||||
$view->item_id = $item_id;
|
||||
$view->thumb = $item->thumb_url();
|
||||
@ -122,7 +122,7 @@ class Comments_3nids_Controller extends REST_Controller {
|
||||
"created" => $comment->created,
|
||||
"text" => nl2br(html::purify($comment->text)))));
|
||||
} else {
|
||||
$view = new Theme_View("comment.html", "fragment");
|
||||
$view = new Theme_View("comment.html", "other", "fragment");
|
||||
$view->comment = $comment;
|
||||
print $view;
|
||||
}
|
||||
|
@ -29,7 +29,7 @@ class Movie_3nids_Controller extends REST_Controller {
|
||||
$item = ORM::factory("item", $item_id);
|
||||
access::required("view", $item);
|
||||
|
||||
$view = new Theme_View("movie_3nids.html", "page");
|
||||
$view = new Theme_View("movie_3nids.html", "other", "page");
|
||||
$view->item = $item;
|
||||
$view->attrs = array("class" => "g-movie", "id" => "g-movie-id-{$item->id}", "style" => "display:block;width:{$item->width}px;height:{$item->height}px");
|
||||
print $view;
|
||||
|
@ -29,7 +29,7 @@ class Photo_3nids_Controller extends REST_Controller {
|
||||
$item = ORM::factory("item", $item_id);
|
||||
access::required("view", $item);
|
||||
|
||||
$view = new Theme_View("photo_3nids.html", "page");
|
||||
$view = new Theme_View("photo_3nids.html", "other", "page");
|
||||
$view->item = $item;
|
||||
$photo_size = module::get_var("theme_3nids","photo_size");
|
||||
if ($photo_size == "full"){
|
||||
|
@ -33,7 +33,7 @@
|
||||
<link rel="stylesheet" type="text/css" href="<?= $theme->url("css/fix-ie.css") ?>"
|
||||
media="screen,print,projection" />
|
||||
<![endif]-->
|
||||
<? if ($theme->page_type == 'album'): ?>
|
||||
<? if ($theme->page_type == 'collection'): ?>
|
||||
<? if ($thumb_proportion != 1): ?>
|
||||
<? $new_width = $thumb_proportion * 213 ?>
|
||||
<? $new_height = $thumb_proportion * 240 ?>
|
||||
@ -61,10 +61,10 @@
|
||||
<?= $theme->script("ui.init.js") ?>
|
||||
|
||||
<? /* These are page specific, but if we put them before $theme->head() they get combined */ ?>
|
||||
<? if ($theme->page_type == "photo"): ?>
|
||||
<? if ($theme->page_subtype == "photo"): ?>
|
||||
<?= $theme->script("jquery.scrollTo.js") ?>
|
||||
<?= $theme->script("gallery.show_full_size.js") ?>
|
||||
<? elseif ($theme->page_type == "movie"): ?>
|
||||
<? elseif ($theme->page_subtype == "movie"): ?>
|
||||
<?= $theme->script("flowplayer.js") ?>
|
||||
<? endif ?>
|
||||
|
||||
@ -122,7 +122,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div id="g-sidebar" class="yui-b">
|
||||
<? if ($theme->page_type != "login"): ?>
|
||||
<? if ($theme->page_subtype != "login"): ?>
|
||||
<?= new View("sidebar.html") ?>
|
||||
<? endif ?>
|
||||
</div>
|
||||
|
@ -1,13 +1,13 @@
|
||||
<?php defined("SYSPATH") or die("No direct script access.") ?>
|
||||
<?= $theme->sidebar_top() ?>
|
||||
<div id="g-view-menu" class="g-buttonset ui-helper-clearfix">
|
||||
<? if ($page_type == "album"):?>
|
||||
<? if ($page_subtype == "album"):?>
|
||||
<?= $theme->album_menu() ?>
|
||||
<? elseif ($page_type == "photo") : ?>
|
||||
<? elseif ($page_subtype == "photo") : ?>
|
||||
<?= $theme->photo_menu() ?>
|
||||
<? elseif ($page_type == "movie") : ?>
|
||||
<? elseif ($page_subtype == "movie") : ?>
|
||||
<?= $theme->movie_menu() ?>
|
||||
<? elseif ($page_type == "tag") : ?>
|
||||
<? elseif ($page_subtype == "tag") : ?>
|
||||
<?= $theme->tag_menu() ?>
|
||||
<? endif ?>
|
||||
</div>
|
||||
|
Reference in New Issue
Block a user