"text", "name"=>"tag_edit__author", "value"=>$author]) ); } public function sidebar_options(string $mode, ?int $artistID=null, $is_admin=false): void { global $page, $user; $html = ""; if ($mode == "neutral") { $html = "
".$user->get_auth_html()."
"; } if ($mode == "editor") { $html = "
".$user->get_auth_html()."
".$user->get_auth_html()."
"; if ($is_admin) { $html .= "
".$user->get_auth_html()."
"; } $html .= "
".$user->get_auth_html()."
".$user->get_auth_html()."
".$user->get_auth_html()."
"; } if ($html) { $page->add_block(new Block("Manage Artists", $html, "left", 10)); } } public function show_artist_editor($artist, $aliases, $members, $urls) { global $user; $artistName = $artist['name']; $artistNotes = $artist['notes']; $artistID = $artist['id']; // aliases $aliasesString = ""; $aliasesIDsString = ""; foreach ($aliases as $alias) { $aliasesString .= $alias["alias_name"]." "; $aliasesIDsString .= $alias["alias_id"]." "; } $aliasesString = rtrim($aliasesString); $aliasesIDsString = rtrim($aliasesIDsString); // members $membersString = ""; $membersIDsString = ""; foreach ($members as $member) { $membersString .= $member["name"]." "; $membersIDsString .= $member["id"]." "; } $membersString = rtrim($membersString); $membersIDsString = rtrim($membersIDsString); // urls $urlsString = ""; $urlsIDsString = ""; foreach ($urls as $url) { $urlsString .= $url["url"]."\n"; $urlsIDsString .= $url["id"]." "; } $urlsString = substr($urlsString, 0, strlen($urlsString) -1); $urlsIDsString = rtrim($urlsIDsString); $html = '
'.$user->get_auth_html().'
Name:
Alias:
Members:
URLs:
Notes:
'; global $page; $page->add_block(new Block("Edit artist", $html, "main", 10)); } public function new_artist_composer() { global $page, $user; $html = "
".$user->get_auth_html()."
Name:
Aliases:
Members:
URLs:
Notes:
"; $page->set_title("Artists"); $page->set_heading("Artists"); $page->add_block(new Block("Artists", $html, "main", 10)); } public function list_artists($artists, $pageNumber, $totalPages) { global $user, $page; $html = "". "". "". "". "". ""; if (!$user->is_anonymous()) { $html .= ""; } // space for edit link $html .= ""; $deletionLinkActionArray = [ 'artist' => 'artist/nuke/', 'alias' => 'artist/alias/delete/', 'member' => 'artist/member/delete/', ]; $editionLinkActionArray = [ 'artist' => 'artist/edit/', 'alias' => 'artist/alias/edit/', 'member' => 'artist/member/edit/', ]; $typeTextArray = [ 'artist' => 'Artist', 'alias' => 'Alias', 'member' => 'Member', ]; foreach ($artists as $artist) { if ($artist['type'] != 'artist') { $artist['name'] = str_replace("_", " ", $artist['name']); } $elementLink = "".str_replace("_", " ", $artist['name']).""; //$artist_link = "".str_replace("_", " ", $artist['artist_name']).""; $user_link = "".$artist['user_name'].""; $edit_link = "Edit"; $del_link = "Delete"; $html .= "". "". "". "". ""; if (!$user->is_anonymous()) { $html .= ""; } if ($user->can(Permissions::ARTISTS_ADMIN)) { $html .= ""; } $html .= ""; } $html .= "
NameTypeLast updaterPostsAction
".$elementLink; //if ($artist['type'] == 'member') // $html .= " (member of ".$artist_link.")"; //if ($artist['type'] == 'alias') // $html .= " (alias for ".$artist_link.")"; $html .= "".$typeTextArray[$artist['type']]."".$user_link."".$artist['posts']."".$edit_link."".$del_link."
"; $page->set_title("Artists"); $page->set_heading("Artists"); $page->add_block(new Block("Artists", $html, "main", 10)); $this->display_paginator($page, "artist/list", null, $pageNumber, $totalPages); } public function show_new_alias_composer($artistID) { global $user; $html = ' '.$user->get_auth_html().'
Alias:
'; global $page; $page->add_block(new Block("Artist Aliases", $html, "main", 20)); } public function show_new_member_composer($artistID) { global $user; $html = '
'.$user->get_auth_html().'
Members:
'; global $page; $page->add_block(new Block("Artist members", $html, "main", 30)); } public function show_new_url_composer($artistID) { global $user; $html = '
'.$user->get_auth_html().'
URL:
'; global $page; $page->add_block(new Block("Artist URLs", $html, "main", 40)); } public function show_alias_editor($alias) { global $user; $html = '
'.$user->get_auth_html().'
'; global $page; $page->add_block(new Block("Edit Alias", $html, "main", 10)); } public function show_url_editor($url) { global $user; $html = '
'.$user->get_auth_html().'
'; global $page; $page->add_block(new Block("Edit URL", $html, "main", 10)); } public function show_member_editor($member) { global $user; $html = '
'.$user->get_auth_html().'
'; global $page; $page->add_block(new Block("Edit Member", $html, "main", 10)); } public function show_artist($artist, $aliases, $members, $urls, $images, $userIsLogged, $userIsAdmin) { global $page; $artist_link = "".str_replace("_", " ", $artist['name']).""; $html = ""; if ($userIsLogged) { $html .= ""; } if ($userIsAdmin) { $html .= ""; } $html .= " "; if ($userIsLogged) { $html .= ""; } if ($userIsAdmin) { $html .= ""; } $html .= ""; $html .= $this->render_aliases($aliases, $userIsLogged, $userIsAdmin); $html .= $this->render_members($members, $userIsLogged, $userIsAdmin); $html .= $this->render_urls($urls, $userIsLogged, $userIsAdmin); $html .= ""; if ($userIsLogged) { $html .= ""; } if ($userIsAdmin) { $html .= ""; } //TODO how will notes be edited? On edit artist? (should there be an editartist?) or on a editnotes? //same question for deletion $html .= "
Name: ".$artist_link."
Notes: ".$artist["notes"]."
"; $page->set_title("Artist"); $page->set_heading("Artist"); $page->add_block(new Block("Artist", $html, "main", 10)); //we show the images for the artist $artist_images = ""; foreach ($images as $image) { $thumb_html = $this->build_thumb_html($image); $artist_images .= ''. ''.$thumb_html.''. ''; } $page->add_block(new Block("Artist Posts", $artist_images, "main", 20)); } private function render_aliases(array $aliases, bool $userIsLogged, bool $userIsAdmin): string { $html = ""; if (count($aliases) > 0) { $aliasViewLink = str_replace("_", " ", $aliases[0]['alias_name']); // no link anymore $aliasEditLink = "Edit"; $aliasDeleteLink = "Delete"; $html .= " Aliases: " . $aliasViewLink . ""; if ($userIsLogged) { $html .= "" . $aliasEditLink . ""; } if ($userIsAdmin) { $html .= "" . $aliasDeleteLink . ""; } $html .= ""; if (count($aliases) > 1) { $ac = count($aliases); for ($i = 1; $i < $ac; $i++) { $aliasViewLink = str_replace("_", " ", $aliases[$i]['alias_name']); // no link anymore $aliasEditLink = "Edit"; $aliasDeleteLink = "Delete"; $html .= "   " . $aliasViewLink . ""; if ($userIsLogged) { $html .= "" . $aliasEditLink . ""; } if ($userIsAdmin) { $html .= "" . $aliasDeleteLink . ""; } $html .= ""; } } } return $html; } private function render_members(array $members, bool $userIsLogged, bool $userIsAdmin): string { $html = ""; if (count($members) > 0) { $memberViewLink = str_replace("_", " ", $members[0]['name']); // no link anymore $memberEditLink = "Edit"; $memberDeleteLink = "Delete"; $html .= " Members: " . $memberViewLink . ""; if ($userIsLogged) { $html .= "" . $memberEditLink . ""; } if ($userIsAdmin) { $html .= "" . $memberDeleteLink . ""; } $html .= ""; if (count($members) > 1) { $mc = count($members); for ($i = 1; $i < $mc; $i++) { $memberViewLink = str_replace("_", " ", $members[$i]['name']); // no link anymore $memberEditLink = "Edit"; $memberDeleteLink = "Delete"; $html .= "   " . $memberViewLink . ""; if ($userIsLogged) { $html .= "" . $memberEditLink . ""; } if ($userIsAdmin) { $html .= "" . $memberDeleteLink . ""; } $html .= ""; } } } return $html; } private function render_urls(array $urls, bool $userIsLogged, bool $userIsAdmin): string { $html = ""; if (count($urls) > 0) { $urlViewLink = "" . str_replace("_", " ", $urls[0]['url']) . ""; $urlEditLink = "Edit"; $urlDeleteLink = "Delete"; $html .= " URLs: " . $urlViewLink . ""; if ($userIsLogged) { $html .= "" . $urlEditLink . ""; } if ($userIsAdmin) { $html .= "" . $urlDeleteLink . ""; } $html .= ""; if (count($urls) > 1) { $uc = count($urls); for ($i = 1; $i < $uc; $i++) { $urlViewLink = "" . str_replace("_", " ", $urls[$i]['url']) . ""; $urlEditLink = "Edit"; $urlDeleteLink = "Delete"; $html .= "   " . $urlViewLink . ""; if ($userIsLogged) { $html .= "" . $urlEditLink . ""; } if ($userIsAdmin) { $html .= "" . $urlDeleteLink . ""; } $html .= ""; } return $html; } } return $html; } public function get_help_html(): HTMLElement { return emptyHTML( P("Search for posts with a particular artist."), SHM_COMMAND_EXAMPLE("artist=leonardo", "Returns posts with the artist \"leonardo\".") ); } }