forked from Public/pics
		
	ViewPhotoAlbum: tweak album buttons to be more useful
This commit is contained in:
		
							parent
							
								
									d9fd2ae20d
								
							
						
					
					
						commit
						167a50cb92
					
				@ -60,27 +60,7 @@ class ViewPhotoAlbum extends HTMLController
 | 
			
		||||
 | 
			
		||||
		// Can we do fancy things here?
 | 
			
		||||
		// !!! TODO: permission system?
 | 
			
		||||
		$buttons = [];
 | 
			
		||||
 | 
			
		||||
		if (Registry::get('user')->isLoggedIn())
 | 
			
		||||
		{
 | 
			
		||||
			$buttons[] = [
 | 
			
		||||
				'url' => BASEURL . '/download/?tag=' . $id_tag,
 | 
			
		||||
				'caption' => 'Download this album',
 | 
			
		||||
			];
 | 
			
		||||
 | 
			
		||||
			$buttons[] = [
 | 
			
		||||
				'url' => BASEURL . '/uploadmedia/?tag=' . $id_tag,
 | 
			
		||||
				'caption' => 'Upload new photos here',
 | 
			
		||||
			];
 | 
			
		||||
		}
 | 
			
		||||
		if (Registry::get('user')->isAdmin())
 | 
			
		||||
			$buttons[] = [
 | 
			
		||||
				'url' => BASEURL . '/addalbum/?tag=' . $id_tag,
 | 
			
		||||
				'caption' => 'Create new subalbum here',
 | 
			
		||||
			];
 | 
			
		||||
 | 
			
		||||
		// Enough actions for a button box?
 | 
			
		||||
		$buttons = $this->getAlbumButtons($id_tag, $tag ?? null);
 | 
			
		||||
		if (!empty($buttons))
 | 
			
		||||
			$this->page->adopt(new AlbumButtonBox($buttons));
 | 
			
		||||
 | 
			
		||||
@ -164,6 +144,59 @@ class ViewPhotoAlbum extends HTMLController
 | 
			
		||||
		return $albums;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	private function getAlbumButtons($id_tag, $tag)
 | 
			
		||||
	{
 | 
			
		||||
		$buttons = [];
 | 
			
		||||
		$user = Registry::get('user');
 | 
			
		||||
 | 
			
		||||
		if ($user->isLoggedIn())
 | 
			
		||||
		{
 | 
			
		||||
			$buttons[] = [
 | 
			
		||||
				'url' => BASEURL . '/download/?tag=' . $id_tag,
 | 
			
		||||
				'caption' => 'Download album',
 | 
			
		||||
			];
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if (isset($tag))
 | 
			
		||||
		{
 | 
			
		||||
			if ($tag->kind === 'Album')
 | 
			
		||||
			{
 | 
			
		||||
				$buttons[] = [
 | 
			
		||||
					'url' => BASEURL . '/uploadmedia/?tag=' . $id_tag,
 | 
			
		||||
					'caption' => 'Upload photos here',
 | 
			
		||||
				];
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			if ($user->isAdmin())
 | 
			
		||||
			{
 | 
			
		||||
				if ($tag->kind === 'Album')
 | 
			
		||||
				{
 | 
			
		||||
					$buttons[] = [
 | 
			
		||||
						'url' => BASEURL . '/editalbum/?id=' . $id_tag,
 | 
			
		||||
						'caption' => 'Edit album',
 | 
			
		||||
					];
 | 
			
		||||
				}
 | 
			
		||||
				elseif ($tag->kind === 'Person')
 | 
			
		||||
				{
 | 
			
		||||
					$buttons[] = [
 | 
			
		||||
						'url' => BASEURL . '/edittag/?id=' . $id_tag,
 | 
			
		||||
						'caption' => 'Edit tag',
 | 
			
		||||
					];
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if ($user->isAdmin() && (!isset($tag) || $tag->kind === 'Album'))
 | 
			
		||||
		{
 | 
			
		||||
			$buttons[] = [
 | 
			
		||||
				'url' => BASEURL . '/addalbum/?tag=' . $id_tag,
 | 
			
		||||
				'caption' => 'Create subalbum',
 | 
			
		||||
			];
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		return $buttons;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	public function __destruct()
 | 
			
		||||
	{
 | 
			
		||||
		if (isset($this->iterator))
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user