// Include the main config file
require_once($_SERVER["DOCUMENT_ROOT"]."/../common/baseConfig.php");
// In order to keep the gallery top-level menu item open, just get the node which
// represents any one of the second-level menu items and marshall it into the view.
// This is used by navigation.php to generate a properly-opened left nav
$node = Node::staticGet(155);
$view->assign('node',$node);
/* Allow all users to view
// Need at least this permission
if (!$currentUser->hasPermission('gallery_view')) {
exit();
}
//only allow registered users into the gallery
//otherwise redirect to the registration page
if($currentUser->getUserName() == 'guest') {
//display login and registration copy
//logging in from this page will redirect back to index.php controller
//skip past this check and display the gallery
$view->display('gallery/anthologyonline/registertoenter.php');
exit;
}
*/
// Default start/show limits
$antGalleryItemStart = 0;
$antGalleryItemShow = 12;
// Get start/show limits out of the session if they exist
if (isset($_SESSION['antGalleryItemStart'])) {
$antGalleryItemStart = $_SESSION['antGalleryItemStart'];
}
if (isset($_SESSION['antGalleryItemShow'])) {
$antGalleryItemShow = $_SESSION['antGalleryItemShow'];
}
// Get start/show limits out of the request if they exist
if ($request->getStart()) {
$antGalleryItemStart = $request->getStart();
}
if ($request->getShow()) {
$antGalleryItemShow = $request->getShow();
}
// Instantiate the Anthology Online filter form
// pass the submitted vars back into the form for setting defaults
$antOnlinegalleryItemFilterForm = new AntOnlineGalleryItemFilterForm($_POST);
// Retrieve submitted values
$data = $antOnlinegalleryItemFilterForm->getSubmitValues();
if (isset($data['genre_level_hier']) && !is_array($data['genre_level_hier']))
{
$data['genre_level_hier'] = array(
isset($data['level']) && $data['level'] !== '' ? $data['level'] : 'AllLevels',
isset($data['genre']) && $data['genre'] !== '' ? $data['genre'] : 'AllGenres'
);
}
// Set up the filters to retrieve relevant gallery items
$filters = Array();
//hard code the Anthology Online gallery which use tier 3 galleryItems
$filters['tier'] = 3;
// retrieve the genre selection
if(isset($data['genre_level_hier']) && is_array($data['genre_level_hier']) && isset($data['genre_level_hier'][1])) $genre = $data['genre_level_hier'][1];
if(isset( $data['genre'] )) $genre = $data['genre'];
// retrieve the level selection
if(isset($data['genre_level_hier']) && is_array($data['genre_level_hier']) && isset($data['genre_level_hier'][0])) $level = $data['genre_level_hier'][0];
if(isset($data['level'])) $level = $data['level'];
// retrieve the search keyword
if(isset($data['searchAnthology']) ) $searchKeyword = $data['searchAnthology'];
//Filtering rules
//1. Genre and Level - return by level
//2. Genre and Ant Search - return by level
//3. Any single searches, anthology seach - return by level
if( ( isset($genre) AND $genre == 'AllGenres' ) && ( isset($level) AND $level == 'AllLevels' ) && !empty($searchKeyword))
{
$filters['searchAnthology'] = $searchKeyword;
}
else if (!empty($genre) && !empty($searchKeyword) )
{
if($genre != 'AllGenres') $filters['genre'] = $genre;
$filters['searchAnthology'] = $searchKeyword;
}
else if((!empty($genre) && !empty($level)) && empty($searchKeyword))
{
if($genre != 'AllGenres') $filters['genre'] = $genre;
if($level != 'AllLevels') $filters['level'] = $level;
}
// if the user has selected a gallery item pass the galleryItem id into the staticFind filter
if(isset($data['id']) && $data['id']) {
$filters['id'] = $data['id'];
}
// Set the limits for the returned items, accounting for pagination
$limits = Array();
$limits['start'] = $antGalleryItemStart;
$limits['show'] = $antGalleryItemShow;
//call the sub-class of GalleryItem with extra methods to return genre,level, author etc.
$anthologyGalleryItem = new AnthologyGalleryItem();
list($galleryItems, $galleryItemCount) = $anthologyGalleryItem->staticFind($filters, $limits, $currentUser);
// Create the pagination object
$baseUrl = "/gallery/anthologyonline/index/?anthologyaction=view";
if (isset($data['searchAnthology']) && $data['searchAnthology']) {
$baseUrl .= "/searchAnthology/".$data['searchAnthology'];
}
if (isset($data['genre_level_hier']) AND is_array($data['genre_level_hier']) && $data['genre_level_hier'])
{
if(isset( $data['genre_level_hier'][0] ) AND $data['genre_level_hier'][0] != 'AllLevels') $baseUrl .= "&level=".$data['genre_level_hier'][0];
if(isset( $data['genre_level_hier'][1] ) AND $data['genre_level_hier'][1] != 'AllGenres') $baseUrl .= "&genre=".$data['genre_level_hier'][1];
}
//passed back from the item page
if (isset($data['genre']) && $data['genre']) {
$baseUrl .= "&genre=".$data['genre'];
}
//passed back from the item page
if (isset($data['level']) && $data['level']) {
$baseUrl .= "&level=".$data['level'];
}
if (isset($data['level']) && $data['level']) {
$baseUrl .= "&level=".$data['level'];
}
if(isset($data['id']) && $data['id']) {
$baseUrl .= "&id=".$data['id'];
}
$paginationForm = new PaginationForm($galleryItemCount,$antGalleryItemStart,$antGalleryItemShow,$baseUrl, '12');
// Save to session
if( isset( $gallery ) ) $_SESSION['gallery'] = $gallery; else $gallery = null;
if( !isset( $antGalleryItemCount ) ) $antGalleryItemCount = 0;
// Set page type
$pageType = "wide";
// Get the uploaded doc
// Marshall
$view->assign('gallery', $gallery);
$view->assign('galleryItems', $galleryItems);
$view->assign('galleryItemCount', $galleryItemCount);
$view->assign('antOnlinegalleryItemFilterForm', $antOnlinegalleryItemFilterForm);
//$view->assign('antOnlineGalleryItemFeedbackForm', $antOnlineGalleryItemFeedbackForm);
$view->assign('paginationForm', $paginationForm);
$view->assign('tier', $request->getValue('tier'));
$view->assign('request',$request);
//$view->assign('pageColour', $pageColour);
$view->assign('pageType', $pageType);
$view->assign('data', $data);
// Display
$view->display('legacy/gallery/anthologyonline/index.php');
?>