function display($tpl = null) { $app = JFactory::getApplication(); $this->t['p'] = $app->getParams(); $this->t['user'] = JFactory::getUser(); $uri = JFactory::getURI(); $model = $this->getModel(); $document = JFactory::getDocument(); $this->t['categoryid'] = $app->input->get('id', 0, 'int'); $this->t['tagid'] = $app->input->get('tagid', 0, 'int'); $limitStart = $app->input->get('limitstart', 0, 'int'); $this->t['mediapath'] = PhocaDownloadPath::getPathMedia(); $this->category = $model->getCategory($this->t['categoryid']); $this->subcategories = $model->getSubcategories($this->t['categoryid']); $this->files = $model->getFileList($this->t['categoryid'], $this->t['tagid']); $this->t['pagination'] = $model->getPagination($this->t['categoryid'], $this->t['tagid']); PhocaDownloadRenderFront::renderAllCSS(); $document->addCustomTag('<script type="text/javascript" src="' . JURI::root() . 'components/com_phocadownload/assets/overlib/overlib_mini.js"></script>'); if ($limitStart > 0) { $this->t['limitstarturl'] = '&start=' . $limitStart; } else { $this->t['limitstarturl'] = ''; } $this->t['download_external_link'] = $this->t['p']->get('download_external_link', '_self'); $this->t['filename_or_name'] = $this->t['p']->get('filename_or_name', 'filenametitle'); $this->t['display_downloads'] = $this->t['p']->get('display_downloads', 0); $this->t['display_description'] = $this->t['p']->get('display_description', 3); $this->t['display_detail'] = $this->t['p']->get('display_detail', 1); $this->t['display_play'] = $this->t['p']->get('display_play', 0); $this->t['playerwidth'] = $this->t['p']->get('player_width', 328); $this->t['playerheight'] = $this->t['p']->get('player_height', 200); $this->t['playermp3height'] = $this->t['p']->get('player_mp3_height', 30); $this->t['previewwidth'] = $this->t['p']->get('preview_width', 640); $this->t['previewheight'] = $this->t['p']->get('preview_height', 480); $this->t['display_preview'] = $this->t['p']->get('display_preview', 0); $this->t['play_popup_window'] = $this->t['p']->get('play_popup_window', 0); $this->t['preview_popup_window'] = $this->t['p']->get('preview_popup_window', 0); $this->t['file_icon_size'] = $this->t['p']->get('file_icon_size', 16); $this->t['displaynew'] = $this->t['p']->get('display_new', 0); $this->t['displayhot'] = $this->t['p']->get('display_hot', 0); $this->t['display_up_icon'] = $this->t['p']->get('display_up_icon', 1); $this->t['allowed_file_types'] = $this->t['p']->get('allowed_file_types', ''); $this->t['disallowed_file_types'] = $this->t['p']->get('disallowed_file_types', ''); $this->t['enable_user_statistics'] = $this->t['p']->get('enable_user_statistics', 1); $this->t['display_category_comments'] = $this->t['p']->get('display_category_comments', 0); $this->t['display_date_type'] = $this->t['p']->get('display_date_type', 0); $this->t['display_file_view'] = $this->t['p']->get('display_file_view', 0); $this->t['download_metakey'] = $this->t['p']->get('download_metakey', ''); $this->t['download_metadesc'] = $this->t['p']->get('download_metadesc', ''); $this->t['display_rating_file'] = $this->t['p']->get('display_rating_file', 0); $this->t['display_mirror_links'] = $this->t['p']->get('display_mirror_links', 0); $this->t['display_report_link'] = $this->t['p']->get('display_report_link', 0); $this->t['send_mail_download'] = $this->t['p']->get('send_mail_download', 0); // not boolean but id of user //$this->t['send_mail_upload'] = $this->t['p']->get( 'send_mail_upload', 0 ); $this->t['display_tags_links'] = $this->t['p']->get('display_tags_links', 0); $this->t['display_specific_layout'] = $this->t['p']->get('display_specific_layout', 0); $this->t['fb_comment_app_id'] = $this->t['p']->get('fb_comment_app_id', ''); $this->t['fb_comment_width'] = $this->t['p']->get('fb_comment_width', '550'); $this->t['fb_comment_lang'] = $this->t['p']->get('fb_comment_lang', 'en_US'); $this->t['fb_comment_count'] = $this->t['p']->get('fb_comment_count', ''); $this->t['html5_play'] = $this->t['p']->get('html5_play', 0); // Rating if ($this->t['display_rating_file'] == 1 || $this->t['display_rating_file'] == 3) { JHTML::_('behavior.framework', true); PhocaDownloadRate::renderRateFileJS(1); $this->t['display_rating_file'] = 1; } else { $this->t['display_rating_file'] = 0; } $this->t['dg'] = PhocaDownloadRenderFront::renderPhocaDownload(); // DOWNLOAD // - - - - - - - - - - - - - - - $download = $app->input->get('download', array(0), 'array'); $downloadId = (int) $download[0]; if ($downloadId > 0) { if (isset($this->category[0]->id) && (int) $this->category[0]->id > 0) { $currentLink = 'index.php?option=com_phocadownload&view=category&id=' . $this->category[0]->id . ':' . $this->category[0]->alias . $this->t['limitstarturl'] . '&Itemid=' . $app->input->get('Itemid', 0, 'int'); } else { $currentLink = $uri; } $fileData = PhocaDownloadDownload::getDownloadData($downloadId, $currentLink); PhocaDownloadDownload::download($fileData, $downloadId, $currentLink); } // - - - - - - - - - - - - - - - // DETAIL // - - - - - - - - - - - - - - - if ($this->t['display_detail'] == 2) { $this->t['buttond'] = new JObject(); $this->t['buttond']->set('methodname', 'modal-button'); $this->t['buttond']->set('name', 'detail'); $this->t['buttond']->set('modal', true); $this->t['buttond']->set('options', "{handler: 'iframe', size: {x: 600, y: 500}, overlayOpacity: 0.7, classWindow: 'phocadownloaddetailwindow', classOverlay: 'phocadownloaddetailoverlay'}"); } JHTML::_('behavior.modal', 'a.pd-modal-button'); // PLAY - - - - - - - - - - - - $windowWidthPl = (int) $this->t['playerwidth'] + 20; $windowHeightPl = (int) $this->t['playerheight'] + 20; if ($this->t['html5_play'] == 1) { $windowWidthPl = (int) $this->t['playerwidth'] + 40; } else { $windowWidthPl = (int) $this->t['playerwidth'] + 50; } $windowHeightPlMP3 = (int) $this->t['playermp3height'] + 20; if ($this->t['play_popup_window'] == 1) { $this->t['buttonpl'] = new JObject(); $this->t['buttonpl']->set('methodname', 'js-button'); $this->t['buttonpl']->set('options', "window.open(this.href,'win2','width=" . $windowWidthPl . ",height=" . $windowHeightPl . ",scrollbars=yes,menubar=no,resizable=yes'); return false;"); $this->t['buttonpl']->set('optionsmp3', "window.open(this.href,'win2','width=" . $windowWidthPl . ",height=" . $windowHeightPlMP3 . ",scrollbars=yes,menubar=no,resizable=yes'); return false;"); } else { $document->addCustomTag("<style type=\"text/css\"> \n" . " #sbox-window.phocadownloadplaywindow {background-color:#fff;padding:2px} \n" . " #sbox-overlay.phocadownloadplayoverlay {background-color:#000;} \n" . " </style> \n"); $this->t['buttonpl'] = new JObject(); $this->t['buttonpl']->set('name', 'image'); $this->t['buttonpl']->set('modal', true); $this->t['buttonpl']->set('methodname', 'modal-button'); $this->t['buttonpl']->set('options', "{handler: 'iframe', size: {x: " . $windowWidthPl . ", y: " . $windowHeightPl . "}, overlayOpacity: 0.7, classWindow: 'phocadownloadplaywindow', classOverlay: 'phocadownloadplayoverlay'}"); $this->t['buttonpl']->set('optionsmp3', "{handler: 'iframe', size: {x: " . $windowWidthPl . ", y: " . $windowHeightPlMP3 . "}, overlayOpacity: 0.7, classWindow: 'phocadownloadplaywindow', classOverlay: 'phocadownloadplayoverlay'}"); } // - - - - - - - - - - - - - - - // PREVIEW - - - - - - - - - - - - $windowWidthPr = (int) $this->t['previewwidth'] + 20; $windowHeightPr = (int) $this->t['previewheight'] + 20; if ($this->t['preview_popup_window'] == 1) { $this->t['buttonpr'] = new JObject(); $this->t['buttonpr']->set('methodname', 'js-button'); $this->t['buttonpr']->set('options', "window.open(this.href,'win2','width=" . $windowWidthPr . ",height=" . $windowHeightPr . ",scrollbars=yes,menubar=no,resizable=yes'); return false;"); } else { $document->addCustomTag("<style type=\"text/css\"> \n" . " #sbox-window.phocadownloadpreviewwindow {background-color:#fff;padding:2px} \n" . " #sbox-overlay.phocadownloadpreviewoverlay {background-color:#000;} \n" . " </style> \n"); $this->t['buttonpr'] = new JObject(); $this->t['buttonpr']->set('name', 'image'); $this->t['buttonpr']->set('modal', true); $this->t['buttonpr']->set('methodname', 'modal-button'); $this->t['buttonpr']->set('options', "{handler: 'iframe', size: {x: " . $windowWidthPr . ", y: " . $windowHeightPr . "}, overlayOpacity: 0.7, classWindow: 'phocadownloadpreviewwindow', classOverlay: 'phocadownloadpreviewoverlay'}"); $this->t['buttonpr']->set('optionsimg', "{handler: 'image', size: {x: 200, y: 150}, overlayOpacity: 0.7, classWindow: 'phocadownloadpreviewwindow', classOverlay: 'phocadownloadpreviewoverlay'}"); } // - - - - - - - - - - - - - - - $imagePath = PhocaDownloadPath::getPathSet('icon'); $this->t['cssimgpath'] = str_replace('../', JURI::base(true) . '/', $imagePath['orig_rel_ds']); $filePath = PhocaDownloadPath::getPathSet('file'); $this->t['absfilepath'] = $filePath['orig_abs_ds']; $this->t['action'] = $uri->toString(); if (isset($this->category[0]) && is_object($this->category[0])) { $this->_prepareDocument($this->category[0]); } parent::display($tpl); }
function display($tpl = null) { $app = JFactory::getApplication(); $this->t['p'] = $app->getParams(); $this->t['user'] = JFactory::getUser(); $uri = JFactory::getURI(); $model = $this->getModel(); $document = JFactory::getDocument(); $downloadToken = $app->input->get('id', '', 'string'); // Token string $this->t['limitstart'] = $app->input->get('start', 0, 'int'); // we need it for category back link $this->t['tmpl'] = $app->input->get('tmpl', '', 'string'); $this->t['mediapath'] = PhocaDownloadPath::getPathMedia(); $this->t['tmplr'] = 0; if ($this->t['tmpl'] == 'component') { $this->t['tmplr'] = 1; } if ($this->t['limitstart'] > 0) { $this->t['limitstarturl'] = '&start=' . $this->t['limitstart']; } else { $this->t['limitstarturl'] = ''; } //$this->category = $model->getCategory($fileId); //$this->file = $model->getFile($fileId, $this->t['limitstarturl']); // Params $this->t['licenseboxheight'] = $this->t['p']->get('license_box_height', 300); $this->t['filename_or_name'] = $this->t['p']->get('filename_or_name', 'filename'); $this->t['allowed_file_types'] = $this->t['p']->get('allowed_file_types', ''); $this->t['disallowed_file_types'] = $this->t['p']->get('disallowed_file_types', ''); $this->t['enable_user_statistics'] = $this->t['p']->get('enable_user_statistics', 1); $this->t['file_icon_size'] = $this->t['p']->get('file_icon_size', 16); $this->t['pw'] = PhocaDownloadRenderFront::renderPhocaDownload(); $this->t['download_external_link'] = $this->t['p']->get('download_external_link', '_self'); $this->t['display_report_link'] = $this->t['p']->get('display_report_link', 0); $this->t['send_mail_download'] = $this->t['p']->get('send_mail_download', 0); // not boolean but id of user $this->t['display_specific_layout'] = $this->t['p']->get('display_specific_layout', 0); $this->t['displaynew'] = $this->t['p']->get('display_new', 0); $this->t['displayhot'] = $this->t['p']->get('display_hot', 0); $this->t['enable_token_download'] = $this->t['p']->get('enable_token_download', 0); PhocaDownloadRenderFront::renderAllCSS(); $this->t['found'] = 0; if ($this->t['enable_token_download'] == 0) { $this->t['found'] = 0; } else { if ($downloadToken == '') { $this->t['found'] = 0; } else { $this->file = $model->getFile($downloadToken); if (isset($this->file[0]->id) && (int) $this->file[0]->id > 0 && isset($this->file[0]->token) & $this->file[0]->token != '') { $this->t['found'] = 1; } /*$document->addCustomTag('<script type="text/javascript" src="'.JURI::root().'components/com_phocadownload/assets/overlib/overlib_mini.js"></script>'); $js = 'var enableDownloadButtonPD = 0;' .'function enableDownloadPD() {' .' if (enableDownloadButtonPD == 0) {' .' document.forms[\'phocadownloadform\'].elements[\'pdlicensesubmit\'].disabled=false;' .' enableDownloadButtonPD = 1;' .' } else {' .' document.forms[\'phocadownloadform\'].elements[\'pdlicensesubmit\'].disabled=true;' .' enableDownloadButtonPD = 0;' .' }' .'}'; $document->addScriptDeclaration($js);*/ // DOWNLOAD // - - - - - - - - - - - - - - - $download = $app->input->get('download', 0, 'int'); //$licenseAgree = $app->input->get( 'license_agree', '', 'string' ); $downloadId = (int) $this->file[0]->id; if ($download == 1) { if (isset($this->file[0]->id)) { $currentLink = 'index.php?option=com_phocadownload&view=download&id=' . htmlspecialchars($downloadToken) . $this->t['limitstarturl'] . '&Itemid=' . $app->input->get('Itemid', 0, 'int'); } else { $currentLink = 'index.php?option=com_phocadownload&view=categories&Itemid=' . $app->input->get('Itemid', 0, 'int'); } // Check Token $token = JSession::getFormToken(); if (!JRequest::getInt($token, 0, 'get')) { //JError::raiseError(403, 'Request Forbidden'); $app->redirect(JRoute::_('index.php', false), JText::_('COM_PHOCADOWNLOAD_INVALID_TOKEN')); exit; } // Check License Agreement /*if (empty($licenseAgree)) { $app->redirect(JRoute::_($currentLink, false), JText::_('COM_PHOCADOWNLOAD_WARNING_AGREE_LICENSE_TERMS')); exit; }*/ $fileData = PhocaDownloadDownload::getDownloadData($downloadId, $currentLink, 1); PhocaDownloadDownload::download($fileData, $downloadId, $currentLink, 1); } // - - - - - - - - - - - - - - - /*$imagePath = PhocaDownloadPath::getPathSet('icon'); $this->t['cssimgpath'] = str_replace ( '../', JURI::base(true).'/', $imagePath['orig_rel_ds']); $filePath = PhocaDownloadPath::getPathSet('file'); $this->t['absfilepath'] = $filePath['orig_abs_ds']; $this->t['action'] = $uri->toString(); if (isset($this->category[0]) && is_object($this->category[0]) && isset($this->file[0]) && is_object($this->file[0])){ $this->_prepareDocument($this->category[0], $this->file[0]); }*/ } } parent::display($tpl); }
function display($tpl = null){ $app = JFactory::getApplication(); $this->t['p'] = $app->getParams(); $this->t['user'] = JFactory::getUser(); $uri = JFactory::getURI(); $model = $this->getModel(); $document = JFactory::getDocument(); $fileId = $app->input->get('id', 0, 'int'); $this->t['limitstart'] = $app->input->get( 'start', 0, 'int');// we need it for category back link $this->t['tmpl'] = $app->input->get( 'tmpl', '', 'string' ); $this->t['mediapath'] = PhocaDownloadPath::getPathMedia(); $this->t['tmplr'] = 0; if ($this->t['tmpl'] == 'component') { $this->t['tmplr'] = 1; } if ($this->t['limitstart'] > 0 ) { $this->t['limitstarturl'] = '&start='.$this->t['limitstart']; } else { $this->t['limitstarturl'] = ''; } $this->category = $model->getCategory($fileId); $this->file = $model->getFile($fileId, $this->t['limitstarturl']); PhocaDownloadRenderFront::renderAllCSS(); $document->addCustomTag('<script type="text/javascript" src="'.JURI::root().'components/com_phocadownload/assets/overlib/overlib_mini.js"></script>'); $js = 'var enableDownloadButtonPD = 0;' .'function enableDownloadPD() {' .' if (enableDownloadButtonPD == 0) {' .' document.forms[\'phocadownloadform\'].elements[\'pdlicensesubmit\'].disabled=false;' .' enableDownloadButtonPD = 1;' .' } else {' .' document.forms[\'phocadownloadform\'].elements[\'pdlicensesubmit\'].disabled=true;' .' enableDownloadButtonPD = 0;' .' }' .'}'; $document->addScriptDeclaration($js); // Params $this->t['licenseboxheight'] = $this->t['p']->get( 'license_box_height', 300 ); $this->t['filename_or_name'] = $this->t['p']->get( 'filename_or_name', 'filename' ); $this->t['display_up_icon'] = $this->t['p']->get( 'display_up_icon', 1 ); $this->t['allowed_file_types'] = $this->t['p']->get( 'allowed_file_types', '' ); $this->t['disallowed_file_types'] = $this->t['p']->get( 'disallowed_file_types', '' ); $this->t['enable_user_statistics'] = $this->t['p']->get( 'enable_user_statistics', 1 ); $this->t['display_file_comments'] = $this->t['p']->get( 'display_file_comments', 0 ); $this->t['file_icon_size'] = $this->t['p']->get( 'file_icon_size', 16 ); $this->t['display_file_view'] = $this->t['p']->get('display_file_view', 0); $this->t['download_metakey'] = $this->t['p']->get( 'download_metakey', '' ); $this->t['download_metadesc'] = $this->t['p']->get( 'download_metadesc', '' ); $this->t['display_downloads'] = $this->t['p']->get( 'display_downloads', 0 ); $this->t['display_date_type'] = $this->t['p']->get( 'display_date_type', 0 ); $this->t['displaynew'] = $this->t['p']->get( 'display_new', 0 ); $this->t['displayhot'] = $this->t['p']->get( 'display_hot', 0 ); $this->t['pw'] = PhocaDownloadRenderFront::renderPhocaDownload(); $this->t['download_external_link'] = $this->t['p']->get( 'download_external_link', '_self' ); $this->t['display_report_link'] = $this->t['p']->get( 'display_report_link', 0 ); $this->t['send_mail_download'] = $this->t['p']->get( 'send_mail_download', 0 );// not boolean but id of user //$this->t['send_mail_upload'] = $this->t['p']->get( 'send_mail_upload', 0 ); $this->t['display_rating_file'] = $this->t['p']->get( 'display_rating_file', 0 ); $this->t['display_tags_links'] = $this->t['p']->get( 'display_tags_links', 0 ); $this->t['display_mirror_links'] = $this->t['p']->get( 'display_mirror_links', 0 ); $this->t['display_specific_layout'] = $this->t['p']->get( 'display_specific_layout', 0 ); $this->t['display_detail'] = $this->t['p']->get( 'display_detail', 1); $this->t['fb_comment_app_id'] = $this->t['p']->get( 'fb_comment_app_id', '' ); $this->t['fb_comment_width'] = $this->t['p']->get( 'fb_comment_width', '550' ); $this->t['fb_comment_lang'] = $this->t['p']->get( 'fb_comment_lang', 'en_US' ); $this->t['fb_comment_count'] = $this->t['p']->get( 'fb_comment_count', '' ); // Rating if ($this->t['display_rating_file'] == 2 || $this->t['display_rating_file'] == 3 ) { JHTML::_('jquery.framework', true); PhocaDownloadRate::renderRateFileJS(1); $this->t['display_rating_file'] = 1; } else { $this->t['display_rating_file'] = 0; } // DOWNLOAD // - - - - - - - - - - - - - - - $download = $app->input->get( 'download', array(0), 'array' ); $licenseAgree = $app->input->get( 'license_agree', '', 'string' ); $downloadId = (int) $download[0]; if ($downloadId > 0) { if (isset($this->file[0]->id)) { $currentLink = 'index.php?option=com_phocadownload&view=file&id='.$this->file[0]->id.':'.$this->file[0]->alias. $this->t['limitstarturl'] . '&Itemid='. $app->input->get('Itemid', 0, 'int'); } else { $currentLink = 'index.php?option=com_phocadownload&view=categories&Itemid='. $app->input->get('Itemid', 0, 'int'); } // Check Token $token = JSession::getFormToken(); if (!JRequest::getInt( $token, 0, 'post' )) { //JError::raiseError(403, 'Request Forbidden'); $app->redirect(JRoute::_('index.php', false), JText::_('COM_PHOCADOWNLOAD_INVALID_TOKEN')); exit; } // Check License Agreement if (empty($licenseAgree)) { $app->redirect(JRoute::_($currentLink, false), JText::_('COM_PHOCADOWNLOAD_WARNING_AGREE_LICENSE_TERMS')); exit; } $fileData = PhocaDownloadDownload::getDownloadData($downloadId, $currentLink); PhocaDownloadDownload::download($fileData, $downloadId, $currentLink); } // - - - - - - - - - - - - - - - $imagePath = PhocaDownloadPath::getPathSet('icon'); $this->t['cssimgpath'] = str_replace ( '../', JURI::base(true).'/', $imagePath['orig_rel_ds']); $filePath = PhocaDownloadPath::getPathSet('file'); $this->t['absfilepath'] = $filePath['orig_abs_ds']; $this->t['action'] = $uri->toString(); if (isset($this->category[0]) && is_object($this->category[0]) && isset($this->file[0]) && is_object($this->file[0])){ $this->_prepareDocument($this->category[0], $this->file[0]); } // Bootstrap 3 Layout $this->tmpl['display_bootstrap3_layout'] = $this->t['p']->get( 'display_bootstrap3_layout', 0 ); if ($this->tmpl['display_bootstrap3_layout'] == 1) { JHtml::_('jquery.framework', false); JHTML::stylesheet('media/com_phocadownload/bootstrap/css/bootstrap.min.css' ); JHTML::stylesheet('media/com_phocadownload/bootstrap/css/bootstrap.extended.css' ); // Loaded by jquery.framework; //$document->addScript(JURI::root(true).'/media/com_phocadownload/bootstrap/js/bootstrap.min.js'); /*$document->addScript(JURI::root(true).'/media/com_phocadownload/js/jquery.equalheights.min.js'); $document->addScriptDeclaration( 'jQuery(window).load(function(){ jQuery(\'.ph-thumbnail\').equalHeights(); });');*/ } if ($this->tmpl['display_bootstrap3_layout'] == 1) { parent::display('bootstrap'); } else { parent::display($tpl); } }