| Author | $h_author";
	}
	/**
	 * @param string $mode
	 * @param null|int $artistID
	 * @param bool $is_admin
	 */
	public function sidebar_options(string $mode, $artistID=NULL, $is_admin=FALSE) {
		global $page, $user;
		$html = "";
		if($mode == "neutral"){
			$html = "";
		}
		
		if($mode == "editor"){
			$html = "
					
					";
					
			if($is_admin){
				$html .= "";
			}
			
			$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 = '
			
		';
		global $page;
		$page->add_block(new Block("Edit artist", $html, "main", 10));
	}
	
	public function new_artist_composer() {
		global $page, $user;
		$html = "		
		';
		global $page;
		$page->add_block(new Block("Artist Aliases", $html, "main", 20));
	}
	public function show_new_member_composer($artistID) {
		global $user;
		$html = '
			
		';
		global $page;
		$page->add_block(new Block("Artist members", $html, "main", 30));
	}
	public function show_new_url_composer($artistID) {
		global $user;
		$html = '
			
		';
		global $page;
		$page->add_block(new Block("Artist URLs", $html, "main", 40));
	}
	public function show_alias_editor($alias) {
		global $user;
		$html = '
			
		';
		global $page;
		$page->add_block(new Block("Edit Alias", $html, "main", 10));
	}
	public function show_url_editor($url) {
		global $user;
		$html = '
			
		';
		global $page;
		$page->add_block(new Block("Edit URL", $html, "main", 10));
	}
	public function show_member_editor($member) {
		global $user;
		$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 .= " | 
					
					
						| Name: | ".$artist_link."";
		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 .= "
						| Notes: | ".$artist["notes"]."";
		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 .= " | 
		
";
		$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 Images", $artist_images, "main", 20));
	}
	/**
	 * @param $aliases
	 * @param $userIsLogged
	 * @param $userIsAdmin
	 * @return string
	 */
	private function render_aliases($aliases, $userIsLogged, $userIsAdmin) {
		$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) {
				for ($i = 1; $i < count($aliases); $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;
	}
	/**
	 * @param $members
	 * @param $userIsLogged
	 * @param $userIsAdmin
	 * @return string
	 */
	private function render_members($members, $userIsLogged, $userIsAdmin) {
		$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) {
				for ($i = 1; $i < count($members); $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;
	}
	/**
	 * @param $urls
	 * @param $userIsLogged
	 * @param $userIsAdmin
	 * @return string
	 */
	private function render_urls($urls, $userIsLogged, $userIsAdmin) {
		$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) {
				for ($i = 1; $i < count($urls); $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;
	}
}