loadModuleConfigValues('Bookshelf'); $gadgetName = 'spark_bookshelf'; $objHeaderManagement->addCSS(SITE_STYLES_PATH . '../spark/css/common.css'); $objHeaderManagement->addJS(SITE_SCRIPTS_PATH . '../spark/js/spark_bookshelf.js'); $objHeaderManagement->addJS(GENERIC_SCRIPTS_PATH . '../responsive/js/responsive_download_marc.js'); $objHeaderManagement->addCSS(SITE_STYLES_PATH . '../spark/css/spark_video-js.min.css'); $objHeaderManagement->addCSS(SITE_STYLES_PATH . '../spark/css/spark_custom-video.css'); $objHeaderManagement->addJS(GENERIC_SCRIPTS_PATH . '../spark/js/spark_jquery.blockUI.js'); $objHeaderManagement->addJS(GENERIC_SCRIPTS_PATH . '../spark/js/spark_video.js'); $objHeaderManagement->addJS(GENERIC_SCRIPTS_PATH . '../spark/js/spark_videojs-playlist.js'); $objHeaderManagement->addJS(GENERIC_SCRIPTS_PATH . '../spark/js/spark_videojs-playlist-ui.js'); $objHeaderManagement->addJS(GENERIC_SCRIPTS_PATH . '../spark/js/spark_videojs-contrib-hls.js'); $objHeaderManagement->addJS(GENERIC_SCRIPTS_PATH . '../spark/js/spark_video_bookshelf_custom.js'); $gadgetStatus = $objGadget->getNewGadgetStatus($gadgetName); if (!$gadgetStatus) { return false; } $templateStatus = $gadgetStatus['htmldesign']; $placeHolderArr = array(); $commonInstitutionLogin = 0; // Getting the metadata for bookshelf and registering it $arrMetaData = imp_metadata_management::getMetadata('book_shelf'); $objHeaderManagement->registerMetaData('title', $arrMetaData['title']); $objHeaderManagement->registerMetaData('metatitle', $arrMetaData['metatitle']); $objHeaderManagement->registerMetaData('description', $arrMetaData['description']); $objHeaderManagement->registerMetaData('keywords', $arrMetaData['keywords']); require_once 'imp_institution_management.php'; $institutionObj = new imp_institution_management(); // Getting the user Id if (1 == iplat_session_management::isLoggedIn()) { $userId = iplat_session_management::getUserId(); } else { if (2 == iplat_session_management::isLoggedIn()) { $commonInstitutionLogin = 1; } $tmpArray = $institutionObj->getInstitutionAdminUser(iplat_session_management::getInstitutionId()); $insId = iplat_session_management::getInstitutionId(); $userId = $tmpArray[0]['userid']; $level2UserId = iplat_session_management::getUserId(); } if($level2UserId){ $perId = $level2UserId; } else if(iplat_session_management::isGuestUserLoggedIn()){ $perId = iplat_session_management::getGuestUserId(); } else { $perId = $userId; } if (strtoupper(BOOKSHELF_TAG_OPTION) == "TRUE" && !$commonInstitutionLogin) { $bookshelfTag = 1; } else { $bookshelfTag = 0; } if ($commonInstitutionLogin) { $allowedExts = array("jpg", "jpeg", "gif", "png"); foreach ($allowedExts as $ext) { if (file_exists(ABSOLUTE_PATH . SITE_ROOT_PATH . INSTITUTION_LOGO_PATH . $insId . '.' . $ext)) { $institutionLogo = INSTITUTION_LOGO_PATH . $insId . '.' . $ext; $institutionReaderLogo = INSTITUTION_LOGO_PATH . $insId . '_reader.' . $ext; break; } } if ($institutionLogo == '') { $institutionLogo = SITE_IMAGES_PATH . 'ipc_logo.gif'; $institutionReaderLogo = SITE_IMAGES_PATH . 'ipc_logo_reader.gif'; } $insDetails = $institutionObj->getInstitutionDetailsById($insId); if (is_object($insDetails)) { $institutionName = $insDetails->getInstitutionName(); } } $mrcDisplay = false; if ('ON' == MARC_SITE_LEVEL_OPTION) { $logStatus = iplat_session_management::isLoggedIn(); if (0 == $logStatus && ( 'ALL' == MARC_USER_TYPE_OPTION || 'INDIVIDUAL' == MARC_USER_TYPE_OPTION )) { if ('ALL' == MARC_INDIVIDUAL_LEVEL_OPTION) { $mrcDisplay = true; } // } elseif (1 == $logStatus && ( 'ALL' == MARC_USER_TYPE_OPTION || 'INDIVIDUAL' == MARC_USER_TYPE_OPTION )) { // if ('ALL' == MARC_INDIVIDUAL_LEVEL_OPTION || 'REGISTERED' == MARC_INDIVIDUAL_LEVEL_OPTION) { // $mrcDisplay = true; // } elseif ('SUBSCRIBED' == MARC_INDIVIDUAL_LEVEL_OPTION) { // if ($objSubscription->isSubscribedUser($userId)) { // $mrcDisplay = true; // } // } // } }elseif (1 == $logStatus){ $mrcDisplay = false; $placeHolderArr['echo_token']['MARC_SELECTED_TYPE'] = 'user' ; $placeHolderArr['echo_token']['MARC_SELECTED_TYPE_ID'] = '$userId' ; }elseif (( 2 == $logStatus || 3 == $logStatus ) && ( 'ALL' == MARC_USER_TYPE_OPTION || 'INSTITUTIONAL' == MARC_USER_TYPE_OPTION )) { if ('SUBSCRIBED' == MARC_INSTITUTIONAL_LEVEL_OPTION) { $objSubscription = new imp_subscription() ; if ($objSubscription->isSubscribedUser($userId)) { $placeHolderArr['echo_token']['MARC_SELECTED_TYPE'] = 'user' ; $placeHolderArr['echo_token']['MARC_SELECTED_TYPE_ID'] = '$userId' ; $mrcDisplay = true; } } else { $placeHolderArr['echo_token']['MARC_SELECTED_TYPE'] = 'all' ; $placeHolderArr['echo_token']['MARC_SELECTED_TYPE_ID'] = 'all' ; $mrcDisplay = true; } } } $class = ""; if(HIDE_EMPTY_TABS == "YES"){ $class = ""; } $isAlphabeticDisplay = ""; if ( strlen(DEFAULT_BOOKSHELF_SORT_FIELD) ) { $logStatus = iplat_session_management::isLoggedIn(); $bookshelfSortFieldArray = explode(",", DEFAULT_BOOKSHELF_SORT_FIELD); if ($bookshelfSortFieldArray) { foreach ($bookshelfSortFieldArray as $sortKey) { if ('title' == trim($sortKey) && strstr( DEFAULT_BOOKSHELF_SORT_FIELD , 'title' ) && $logStatus ) { $isAlphabeticDisplay = 1; }}}} $tabs = array( "0" => array( "tabName" => $translator->_( "AllBooks" )." ", "tabId" => "allBooks", "customClass" => "" ), "1" => array( "tabName" => $translator->_( "recentReadBooks" )." ", "tabId" => "recentReadBooks", "customClass" => " recentReadBooksHidden $class " ), "2" => array( "tabName" => $translator->_( "Shelves" )." ", "tabId" => "myshelves", "customClass" => " hideShelves myshelvesHidden " ), // "3" => array( // "tabName" => $translator->_( "Collections" )." ", // "tabId" => "collections", // "customClass" => " collectionsHidden $class " // ), "3" => array( "tabName" => $translator->_( "FreeBooks" )." ", "tabId" => "free", "customClass" => " freeHidden $class " )); if(2 == iplat_session_management::isLoggedIn()){ unset($tabs['2']); } if (strtoupper($configuratorAPI->getConfigurationByKey('BOOKSHELF_TAG_OPTION')) == "TRUE" && (2 != iplat_session_management::isLoggedIn() || (iplat_session_management::isGuestUserLoggedIn() && iplat_session_management::getSessionVar( 'GUEST_ID')) ) ) { }else{ unset($tabs[1]); } $placeHolderArr['echo_token']['ALLTAB_ALL_BOOK'] = ' $translator->_( \'AllBooks\' ) '; $placeHolderArr['loop']['TABS'] = ' foreach($tabs as $tab)'; $placeHolderArr['echo_token']['CUSTOM_CLASS'] = ' $tab[\'customClass\']' ; $placeHolderArr['echo_token']['tabId'] = ' $tab[\'tabId\']' ; $placeHolderArr['echo_token']['tabName'] = ' $tab[\'tabName\']' ; $audio_tabs = array( "0" => array( "tabName" => $translator->_( "All" )." ", "tabId" => "allAudio", "customClass" => " " ), "1" => array( "tabName" => $translator->_( "My Shelves" )." ", "tabId" => "myAudioShelves", "customClass" => " " ), "2" => array( "tabName" => $translator->_( "Free Audio" )." ", "tabId" => "freeAudio", "customClass" => " " ) ); if (strtoupper($configuratorAPI->getConfigurationByKey('BOOKSHELF_TAG_OPTION')) == "TRUE" && (2 != iplat_session_management::isLoggedIn() || (iplat_session_management::isGuestUserLoggedIn() && iplat_session_management::getSessionVar( 'GUEST_ID')) ) ) { }else{ unset($audio_tabs[1]); } if(2 == iplat_session_management::isLoggedIn() || 3 == iplat_session_management::isLoggedIn()){ unset($audio_tabs[2]); } $placeHolderArr['loop']['AUDIO_TABS'] = ' foreach($audio_tabs as $tab)'; $journal_tabs = array( // "0" => array( // "tabName" => "My Journals ", // "tabId" => "myJournals", // "customClass" => " " // ), "0" => array( "tabName" => $translator->_( "All Journals" )." ", "tabId" => "allJournals", "customClass" => "" ), "1" => array( "tabName" => $translator->_( "Shelves" )." ", "tabId" => "myJournalShelves", "customClass" => "" ), "2" => array( "tabName" => $translator->_( "Free Journals" )." ", "tabId" => "freeJournals", "customClass" => "", ) ); if (strtoupper($configuratorAPI->getConfigurationByKey('BOOKSHELF_TAG_OPTION')) == "TRUE" && (2 != iplat_session_management::isLoggedIn() || (iplat_session_management::isGuestUserLoggedIn() && iplat_session_management::getSessionVar( 'GUEST_ID')) ) ) { }else{ unset($journal_tabs[1]); } if(2 == iplat_session_management::isLoggedIn() || 3 == iplat_session_management::isLoggedIn()){ unset($journal_tabs[2]); unset($tabs['3']); } $placeHolderArr['loop']['JOURNAL_TABS'] = ' foreach($journal_tabs as $tab)'; $defaultEBTab = $defaultJTab = $defaultALLTab = $defaultScormTab = $defaultVideoTab = $defaultAudioTab = $defaultCollectionTab = ""; if($_COOKIE['PTAB'] == "eBooks"){ $defaultEBTab = " active "; } if($_COOKIE['PTAB'] == "journals"){ $defaultJTab = " active "; } if($_COOKIE['PTAB'] == "all"){ $defaultALLTab = " active "; } if($_COOKIE['PTAB'] == "scorm"){ $defaultScormTab = " active "; } if($_COOKIE['PTAB'] == "video"){ $defaultVideoTab = " active "; } if($_COOKIE['PTAB'] == "audio"){ $defaultAudioTab = " active "; } if($_COOKIE['PTAB'] == "collection"){ $defaultCollectionTab = " active "; } if(!$_COOKIE['PTAB']){ $defaultALLTab = " active "; } $allowedModules = array('eBooks', 'Video', 'Audio'); $notification = iplat_param_management::getParam('notificationTab'); $shelfType = iplat_param_management::getParam('shelfType') ? iplat_param_management::getParam('shelfType') : "PRIVATE"; $placeHolderArr['echo_token']['NOTIFICATIONTAB'] = ' $notification ' ; $allowedFilters = @explode("," , BOOKSHELF_FILTER_FIELDS); $placeHolderArr['if']['ALLOW_PUBLISHER'] = '( in_array(\'publisher\',$allowedFilters) )' ; $placeHolderArr['if']['ALLOW_CATEGORY'] = '( in_array(\'category\',$allowedFilters) )' ; $placeHolderArr['if']['SHELF_TYPE_PRIVATE'] = '( $shelfType == "PRIVATE" )' ; $placeHolderArr['if']['SHELF_TYPE_PUBLIC'] = '( $shelfType == "PUBLIC" )' ; $placeHolderArr['echo_token']['defaultEBTab'] = ' $defaultEBTab ' ; $placeHolderArr['echo_token']['defaultJTab'] = ' $defaultJTab ' ; $placeHolderArr['echo_token']['defaultALLTab'] = ' $defaultALLTab ' ; $placeHolderArr['echo_token']['defaultScormTab'] = ' $defaultScormTab ' ; $placeHolderArr['echo_token']['defaultVideoTab'] = ' $defaultVideoTab ' ; $placeHolderArr['echo_token']['defaultAudioTab'] = ' $defaultAudioTab ' ; $placeHolderArr['echo_token']['defaultCollectionTab'] = ' $defaultCollectionTab ' ; $placeHolderArr['echo_token']['shelfType'] = ' $shelfType ' ; $placeHolderArr['if']['MARC_OPTION'] = '( $mrcDisplay )' ; $placeHolderArr['if']['MARC_CATEGORY'] = '( !empty( $categoryId ) )' ; $placeHolderArr['echo_token']['MARC_CATEGORY_ID'] = '$categoryId' ; $placeHolderArr['echo_token']['Published_Date'] = ' $translator->_( \'Published Date\' ) '; $placeHolderArr['if']['ALLOWEDMODULES'] = '( count($allowedModules) > 1 )'; $placeHolderArr['if']['MODULEEXIST'] = '( in_array($module, $allowedModules))'; $placeHolderArr['echo_token']['userId'] = ' $userId '; $placeHolderArr['echo_token']['LEVEL2USERID'] = ' $perId '; $placeHolderArr['echo_token']['INSTID'] = ' $insId '; $placeHolderArr['echo_token']['view'] = ' $defaultView '; $placeHolderArr['echo_token']['start'] = ' $start '; $placeHolderArr['echo_token']['limit'] = ' $limit '; $placeHolderArr['echo_token']['SITE_IMAGES_PATH'] = ' SITE_IMAGES_PATH '; $placeHolderArr['if']['BOOKSHELF_FILTERBY_OPTION'] = '( \'true\' == BOOKSHELF_FILTERBY_OPTION && !$commonInstitutionLogin)'; $placeHolderArr['loop']['FORMAT'] = 'foreach( $productFormatArray as $kFC => $vFC )'; $placeHolderArr['echo_token']['FORMAT_KEY'] = ' $kFC '; $placeHolderArr['echo_token']['TAG_TITLE'] = ' $tagKey '; $placeHolderArr['if']['BOOKSHELF_TAG'] = ' ( $bookshelfTag )'; $placeHolderArr['if']['NOT_INSTITUTIONUSER'] = ' ( 2 != iplat_session_management::isLoggedIn() )'; $placeHolderArr['if']['INSTITUTIONUSER'] = ' ( 1 != iplat_session_management::isLoggedIn() )'; $placeHolderArr['echo_token']['TAGNAMES'] = ' $tagNames '; $placeHolderArr['loop']['TAG_LOOP'] = 'foreach($arrUserTags as $tagKey => $tagCount)'; $placeHolderArr['echo_token']['BOOK_FORMAT_TEXT'] = ' $translator->_( \'Format\' ) '; $placeHolderArr['echo_token']['BY_TEXT'] = ' $translator->_( \'By\' ) '; $placeHolderArr['echo_token']['FILTER_BOOKS_BY'] = ' $translator->_( \'ipc.fluid_bookshelf.label.filter_books_by\' ) '; $placeHolderArr['echo_token']['PRODUCT_TYPE'] = ' $translator->_( \'ipc.product_type_code.text.\' . $vFC ) '; $placeHolderArr['echo_token']['All'] = ' $translator->_( \'All\' ) '; $placeHolderArr['echo_token']['MarcZip'] = ' $translator->_( \'MarcZip\' ) '; $placeHolderArr['echo_token']['ebooks'] = ' $translator->_(\'eBooks\') '; $placeHolderArr['echo_token']['Videos'] = ' $translator->_(\'Videos\') '; $placeHolderArr['echo_token']['Audio'] = ' $translator->_(\'Audio\') '; $placeHolderArr['echo_token']['Journals'] = ' $translator->_(\'Journals\') '; $placeHolderArr['echo_token']['Collections'] = ' $translator->_(\'Collections\') '; $placeHolderArr['echo_token']['scorm'] = ' $translator->_( \'scorm\' ) '; $placeHolderArr['echo_token']['SharedShelves'] = ' $translator->_(\'SharedShelves\') '; $placeHolderArr['echo_token']['MyShelves'] = ' $translator->_(\'MyShelves\') '; $placeHolderArr['echo_token']['SelectShelf'] = ' $translator->_(\'SelectShelf\') '; $placeHolderArr['echo_token']['EnterShelfTitle'] = ' $translator->_(\'EnterShelfTitle\') '; $placeHolderArr['echo_token']['Sort'] = ' $translator->_(\'Sort\') '; $placeHolderArr['echo_token']['Filter'] = ' $translator->_(\'Filter\') '; $placeHolderArr['echo_token']['Filter_By'] = ' $translator->_( \'FilterBy\' ) '; $placeHolderArr['echo_token']['CreateShelf'] = ' $translator->_(\'CreateShelf\') '; $placeHolderArr['echo_token']['Categories'] = ' $translator->_( \'Categories\' ) '; $placeHolderArr['echo_token']['TitleAtoZ'] = ' $translator->_(\'TitleAtoZ\') '; $placeHolderArr['echo_token']['TitleZtoA'] = ' $translator->_(\'TitleZtoA\') '; $placeHolderArr['echo_token']['PublishedAtoZ'] = ' $translator->_(\'pubdate_low_high\') '; $placeHolderArr['echo_token']['PublishedZtoA'] = ' $translator->_(\'pubdate_high_low\') '; $placeHolderArr['echo_token']['SelectCategory'] = ' $translator->_(\'SelectCategory\') '; $placeHolderArr['echo_token']['AddtoShelf'] = ' $translator->_(\'AddtoShelf\') '; $placeHolderArr['echo_token']['ShelvesTitle'] = ' $translator->_(\'ShelvesTitle\') '; $placeHolderArr['echo_token']['ShelvesSeperator'] = ' $translator->_(\'ShelvesSeperator\') '; $placeHolderArr['echo_token']['Cancel'] = ' $translator->_(\'Cancel\') '; $placeHolderArr['echo_token']['Add'] = ' $translator->_(\'Add\') '; $placeHolderArr['echo_token']['Sharewith'] = ' $translator->_(\'Sharewith\') '; $placeHolderArr['echo_token']['Comments'] = ' $translator->_(\'Comments\') '; $placeHolderArr['echo_token']['Share'] = ' $translator->_(\'Share\') '; $placeHolderArr['echo_token']['ShareShelfwith'] = ' $translator->_(\'ShareShelfwith\') '; $placeHolderArr['echo_token']['RemoveFromShelf'] = ' $translator->_(\'RemoveFromShelf\') '; $placeHolderArr['echo_token']['By'] = ' $translator->_(\'By\') '; $placeHolderArr['echo_token']['UserName'] = ' $translator->_(\'UserName\') '; $placeHolderArr['echo_token']['Today'] = ' $translator->_(\'Today\') '; $placeHolderArr['echo_token']['Earlierthisweek'] = ' $translator->_(\'Earlierthisweek\') '; $placeHolderArr['echo_token']['Earlierthismonth'] = ' $translator->_(\'Earlierthismonth\') '; $placeHolderArr['echo_token']['UserNameEmail'] = ' $translator->_(\'UserNameEmail\') '; $placeHolderArr['echo_token']['FilterByTitle'] = ' $translator->_(\'FilterByTitle\') ' ; $placeHolderArr['echo_token']['TitleView'] = ' $translator->_(\'TitleView\') ' ; $placeHolderArr['echo_token']['ListView'] = ' $translator->_(\'ListView\') ' ; $placeHolderArr['echo_token']['StackView'] = ' $translator->_(\'StackView\') ' ; $placeHolderArr['echo_token']['PUBLIC'] = ' $translator->_(\'PUBLIC\') ' ; $placeHolderArr['echo_token']['PRIVATE'] = ' $translator->_(\'PRIVATE\') ' ; $placeHolderArr['echo_token']['NOREADBOOKS'] = ' $translator->_(\'NOREADBOOKS\') ' ; $placeHolderArr['echo_token']['NOBOOKSSUBSCRIBED'] = ' $translator->_(\'NOBOOKSSUBSCRIBED\') ' ; $placeHolderArr['echo_token']['NOSHELFBOOKS'] = ' $translator->_(\'NOSHELFBOOKS\') ' ; $placeHolderArr['echo_token']['NOCOLLECTIONS'] = ' $translator->_(\'NOCOLLECTIONS\') ' ; $placeHolderArr['echo_token']['NOCOLLECTIONBOOKS'] = ' $translator->_(\'NOCOLLECTIONBOOKS\') ' ; $placeHolderArr['echo_token']['NOJOURNALS'] = ' $translator->_(\'NOJOURNALS\') ' ; $placeHolderArr['echo_token']['BuyNow'] = ' $translator->_( \'BuyNow\' ) '; $placeHolderArr['echo_token']['EMPTYSHELF'] = ' $translator->_(\'EMPTYSHELF\') ' ; $placeHolderArr['echo_token']['NOSHELVESADDED'] = ' $translator->_(\'NOSHELVESADDED\') ' ; $placeHolderArr['echo_token']['BackToCollections'] = ' $translator->_(\'BackToCollections\') ' ; $placeHolderArr['echo_token']['Entercreateshelf'] = ' $translator->_(\'Entercreateshelf\') '; $placeHolderArr['ipc.book_shelf.text.Enter_Shelf_Name'] = $translator->_($label . 'Enter_Shelf_Name'); $placeHolderArr['echo_token']['DOWNLOAD_ENTIRE_BOOK'] = ' $translator->_( \'ipc_reading_option_cp_download\' ) '; //video $placeHolderArr['echo_token']['VIDEO_PLAYLIST_AUTOPLAY'] = 'VIDEO_AUTOPLAY'; $placeHolderArr['echo_token']['VIDEO_PLAYLIST_AUTOPLAY_DURATION'] = 'VIDEO_AUTOPLAY_DURATION'; //video end $placeHolderArr['if']['TITLE_VIEW'] = '( SHELF_DEFAULT_VIEW=="title")' ; $placeHolderArr['if']['STACK_VIEW'] = '( SHELF_DEFAULT_VIEW=="stack" )' ; $placeHolderArr['if']['LIST_VIEW'] = '( SHELF_DEFAULT_VIEW=="list" )' ; $placeHolderArr['echo_token']['defaultview'] = ' SHELF_DEFAULT_VIEW '; $placeHolderArr['echo_token']['isAlphabeticDisplay'] = ' $isAlphabeticDisplay ' ; $compiledTplPath = 'compiledtpl/' . $gadgetName . '_' . $zoneCode . '.tpl.php'; $templatePath = $gadgetName . '/' . $gadgetName . '_' . $zoneCode . '.tpl'; $genericPath = ABSOLUTE_PATH . DEFAULT_THEME_PATH . 'gadgets/'; $customizedPath = ABSOLUTE_PATH . SITE_THEME_PATH . 'gadgets/'; if ($templateStatus == 'GENERIC') { $templateFile = $genericPath . $templatePath; $compiledTplFile = $genericPath . $compiledTplPath; } else { if (file_exists($customizedPath . $templatePath)) { $templateFile = $customizedPath . $templatePath; $compiledTplFile = $customizedPath . $compiledTplPath; } else { $templateFile = $genericPath . $templatePath; $compiledTplFile = $genericPath . $compiledTplPath; } } if (!file_exists($compiledTplFile)) { ipc_gadget_render::render($compiledTplFile, $templateFile, $placeHolderArr); } else if (filemtime($templateFile) > filemtime($compiledTplFile) || filemtime(__FILE__) > filemtime($compiledTplFile)) { ipc_gadget_render::render($compiledTplFile, $templateFile, $placeHolderArr); } require_once( $compiledTplFile ); } }