/** * pops up the google map window for choosing coordinates for an object * * @return void */ function _showMapPopup() { global $_ARRAYLANG; $objTpl = new \Cx\Core\Html\Sigma(ASCMS_MODULE_PATH . '/immo/template'); $objTpl->setErrorHandling(PEAR_ERROR_DIE); $objTpl->loadTemplateFile('module_immo_map_popup.html'); $googlekey = !empty($this->arrSettings['GOOGLE_API_KEY_' . $_SERVER['SERVER_NAME']]) ? $this->arrSettings['GOOGLE_API_KEY_' . $_SERVER['SERVER_NAME']] : ''; $objTpl->setVariable(array('CONTREXX_CHARSET' => CONTREXX_CHARSET, 'TXT_IMMO_BROWSER_NOT_SUPPORTED' => $_ARRAYLANG['TXT_IMMO_BROWSER_NOT_SUPPORTED'], 'TXT_IMMO_CLOSE' => $_ARRAYLANG['TXT_IMMO_CLOSE'], 'TXT_IMMO_DBLCLICK_TO_SET_POINT' => $_ARRAYLANG['TXT_IMMO_DBLCLICK_TO_SET_POINT'], 'TXT_IMMO_ACCEPT' => $_ARRAYLANG['TXT_IMMO_ACCEPT'], 'IMMO_MAP_LAT_BACKEND' => $this->arrSettings['lat_backend'], 'IMMO_MAP_LON_BACKEND' => $this->arrSettings['lon_backend'], 'IMMO_MAP_ZOOM_BACKEND' => $this->arrSettings['zoom_backend'], 'IMMO_GOOGLE_API_KEY' => $googlekey)); $objTpl->show(); }
/** * Show the picture with the id $intPicId (with popup) * * @global ADONewConnection * @global array * @param integer $intPicId: The id of the picture which should be shown */ function showPicture($intPicId) { global $objDatabase, $_ARRAYLANG; $arrPictures = array(); $intPicId = intval($intPicId); // Never used // $intCatId = intval($_GET['cid']); // we need to read the category id out of the database to prevent abusement $intCatId = $this->getCategoryId($intPicId); $categoryProtected = $this->categoryIsProtected($intCatId); if ($categoryProtected > 0) { if (!\Permission::checkAccess($categoryProtected, 'dynamic', true)) { $link = base64_encode($_SERVER['PHP_SELF'] . '?' . $_SERVER['QUERY_STRING']); \Cx\Core\Csrf\Controller\Csrf::header("Location: " . CONTREXX_DIRECTORY_INDEX . "?section=Login&cmd=noaccess&redirect=" . $link); exit; } } // POPUP Code $objTpl = new \Cx\Core\Html\Sigma(ASCMS_MODULE_PATH . '/Gallery/View/Template/Backend'); $objTpl->loadTemplateFile('module_gallery_show_picture.html', true, true); // get category description $objResult = $objDatabase->Execute("SELECT value FROM " . DBPREFIX . "module_gallery_language " . "WHERE gallery_id={$intCatId} AND lang_id={$this->langId} " . "AND name='desc' LIMIT 1"); $strCategoryComment = ''; if ($objResult && $objResult->RecordCount()) { $strCategoryComment = $objResult->fields['value']; } $objResult = $objDatabase->Execute("SELECT comment, voting " . "FROM " . DBPREFIX . "module_gallery_categories " . "WHERE id={$intCatId}"); $boolComment = ''; $boolVoting = ''; if ($objResult && $objResult->RecordCount()) { $boolComment = $objResult->fields['comment']; $boolVoting = $objResult->fields['voting']; } // get picture informations $objResult = $objDatabase->Execute("SELECT id, path, link, size_show " . "FROM " . DBPREFIX . "module_gallery_pictures " . "WHERE id={$intPicId}"); $objSubResult = $objDatabase->Execute("SELECT p.name, p.desc FROM " . DBPREFIX . "module_gallery_language_pics p " . "WHERE picture_id={$intPicId} AND lang_id={$this->langId} LIMIT 1"); while (!$objResult->EOF) { $imageReso = getimagesize($this->strImagePath . $objResult->fields['path']); $strImagePath = $this->strImageWebPath . $objResult->fields['path']; $imageName = $objSubResult->fields['name']; $imageDesc = $objSubResult->fields['desc']; //show image size based on the settings of "Show image size" $showImageSize = $this->arrSettings['show_image_size'] == 'on' && $objResult->fields['size_show']; $imageSize = $showImageSize ? round(filesize($this->strImagePath . $objResult->fields['path']) / 1024, 2) : ''; $strImageWebPath = ASCMS_PROTOCOL . '://' . $_SERVER['SERVER_NAME'] . CONTREXX_SCRIPT_PATH . '?section=Gallery' . $this->strCmd . '&cid=' . $intCatId . '&pId=' . $intPicId; $objResult->MoveNext(); } // get pictures of the current category $objResult = $objDatabase->Execute("SELECT id FROM " . DBPREFIX . "module_gallery_pictures " . "WHERE status='1' AND validated='1' AND catid={$intCatId} " . "ORDER BY sorting, id"); if ($objResult && $objResult->RecordCount()) { while (!$objResult->EOF) { array_push($arrPictures, $objResult->fields['id']); $objResult->MoveNext(); } } // get next picture id if (array_key_exists(array_search($intPicId, $arrPictures) + 1, $arrPictures)) { $intPicIdNext = $arrPictures[array_search($intPicId, $arrPictures) + 1]; } else { $intPicIdNext = $arrPictures[0]; } // get previous picture id if (array_key_exists(array_search($intPicId, $arrPictures) - 1, $arrPictures)) { $intPicIdPrevious = $arrPictures[array_search($intPicId, $arrPictures) - 1]; } else { $intPicIdPrevious = end($arrPictures); } $strImageTitle = substr(strrchr($strImagePath, '/'), 1); // chop the file extension if the settings tell us to do so if ($this->arrSettings['show_ext'] == 'off') { $strImageTitle = substr($strImageTitle, 0, strrpos($strImageTitle, '.')); } // set language variables $objTpl->setVariable(array('TXT_CLOSE_WINDOW' => $_ARRAYLANG['TXT_CLOSE_WINDOW'], 'TXT_ZOOM_OUT' => $_ARRAYLANG['TXT_ZOOM_OUT'], 'TXT_ZOOM_IN' => $_ARRAYLANG['TXT_ZOOM_IN'], 'TXT_CHANGE_BG_COLOR' => $_ARRAYLANG['TXT_CHANGE_BG_COLOR'], 'TXT_PRINT' => $_ARRAYLANG['TXT_PRINT'], 'TXT_PREVIOUS_IMAGE' => $_ARRAYLANG['TXT_PREVIOUS_IMAGE'], 'TXT_NEXT_IMAGE' => $_ARRAYLANG['TXT_NEXT_IMAGE'], 'TXT_USER_DEFINED' => $_ARRAYLANG['TXT_USER_DEFINED'])); $imageSize = $showImageSize ? $_ARRAYLANG['TXT_FILESIZE'] . ': ' . $imageSize . ' kB<br />' : ''; // set variables $objTpl->setVariable(array('CONTREXX_CHARSET' => CONTREXX_CHARSET, 'GALLERY_WINDOW_WIDTH' => $imageReso[0] < 420 ? 500 : $imageReso[0] + 80, 'GALLERY_WINDOW_HEIGHT' => $imageReso[1] + 120, 'GALLERY_PICTURE_ID' => $intPicId, 'GALLERY_CATEGORY_ID' => $intCatId, 'GALLERY_TITLE' => $strCategoryComment, 'IMAGE_THIS' => $strImagePath, 'IMAGE_PREVIOUS' => '?section=Gallery' . $this->strCmd . '&cid=' . $intCatId . '&pId=' . $intPicIdPrevious, 'IMAGE_NEXT' => '?section=Gallery' . $this->strCmd . '&cid=' . $intCatId . '&pId=' . $intPicIdNext, 'IMAGE_WIDTH' => $imageReso[0], 'IMAGE_HEIGHT' => $imageReso[1], 'IMAGE_LINK' => $strImageWebPath, 'IMAGE_NAME' => $strImageTitle, 'IMAGE_DESCRIPTION' => $_ARRAYLANG['TXT_IMAGE_NAME'] . ': ' . $imageName . '<br />' . $imageSize . $_ARRAYLANG['TXT_RESOLUTION'] . ': ' . $imageReso[0] . 'x' . $imageReso[1] . ' Pixel', 'IMAGE_DESC' => !empty($imageDesc) ? $imageDesc . '<br /><br />' : '')); $objTpl->setGlobalVariable('CONTREXX_DIRECTORY_INDEX', CONTREXX_DIRECTORY_INDEX); //voting if ($objTpl->blockExists('votingTab')) { if ($this->arrSettings['show_voting'] == 'on' && $boolVoting) { $objTpl->setVariable(array('TXT_VOTING_TITLE' => $_ARRAYLANG['TXT_VOTING_TITLE'], 'TXT_VOTING_STATS_ACTUAL' => $_ARRAYLANG['TXT_VOTING_STATS_ACTUAL'], 'TXT_VOTING_STATS_WITH' => $_ARRAYLANG['TXT_VOTING_STATS_WITH'], 'TXT_VOTING_STATS_VOTES' => $_ARRAYLANG['TXT_VOTING_STATS_VOTES'])); if (isset($_COOKIE["Gallery_Voting_{$intPicId}"])) { $objTpl->hideBlock('showVotingBar'); $objTpl->setVariable(array('TXT_VOTING_ALREADY_VOTED' => $_ARRAYLANG['TXT_VOTING_ALREADY_VOTED'], 'VOTING_ALREADY_VOTED_MARK' => intval($_COOKIE['Gallery_Voting_' . $intPicId]))); } else { $objTpl->setVariable(array('TXT_VOTING_ALREADY_VOTED' => '', 'VOTING_ALREADY_VOTED_MARK' => '')); for ($i = 1; $i <= 10; $i++) { $objTpl->setVariable(array('VOTING_BAR_SRC' => ASCMS_MODULE_WEB_PATH . '/Gallery/View/Media/voting/' . $i . '.gif', 'VOTING_BAR_ALT' => $_ARRAYLANG['TXT_VOTING_RATE'] . ': ' . $i, 'VOTING_BAR_MARK' => $i, 'VOTING_BAR_CID' => $intCatId, 'VOTING_BAR_PICID' => $intPicId)); $objTpl->parse('showVotingBar'); } } $objResult = $objDatabase->Execute("SELECT mark FROM " . DBPREFIX . "module_gallery_votes " . "WHERE picid={$intPicId}"); if ($objResult->RecordCount() > 0) { $intCount = 0; $intMark = 0; while (!$objResult->EOF) { $intCount++; $intMark = $intMark + intval($objResult->fields['mark']); $objResult->MoveNext(); } $objTpl->setVariable(array('VOTING_STATS_MARK' => number_format(round($intMark / $intCount, 1), 1, '.', '\''), 'VOTING_STATS_VOTES' => $intCount)); } else { $objTpl->setVariable(array('VOTING_STATS_MARK' => 0, 'VOTING_STATS_VOTES' => 0)); } } else { $objTpl->hideBlock('votingTab'); } } //comments if ($this->arrSettings['show_comments'] == 'on' && $boolComment) { $objResult = $objDatabase->Execute("SELECT date, name, email, www, comment FROM " . DBPREFIX . "module_gallery_comments " . "WHERE picid={$intPicId} ORDER BY date ASC"); $objTpl->setVariable(array('TXT_COMMENTS_TITLE' => $objResult->RecordCount() . ' ' . $_ARRAYLANG['TXT_COMMENTS_TITLE'], 'TXT_COMMENTS_ADD_TITLE' => $_ARRAYLANG['TXT_COMMENTS_ADD_TITLE'], 'TXT_COMMENTS_ADD_NAME' => $_ARRAYLANG['TXT_COMMENTS_ADD_NAME'], 'TXT_COMMENTS_ADD_EMAIL' => $_ARRAYLANG['TXT_COMMENTS_ADD_EMAIL'], 'TXT_COMMENTS_ADD_HOMEPAGE' => $_ARRAYLANG['TXT_COMMENTS_ADD_HOMEPAGE'], 'TXT_COMMENTS_ADD_TEXT' => $_ARRAYLANG['TXT_COMMENTS_ADD_TEXT'], 'TXT_COMMENTS_ADD_SUBMIT' => $_ARRAYLANG['TXT_COMMENTS_ADD_SUBMIT'])); if ($objResult->RecordCount() == 0) { // no comments, hide the block $objTpl->hideBlock('showComments'); } else { $i = 0; while (!$objResult->EOF) { if ($i % 2 == 0) { $intRowClass = '1'; } else { $intRowClass = '2'; } if ($objResult->fields['www'] != '') { $strWWW = '<a href="' . $objResult->fields['www'] . '"><img alt="' . $objResult->fields['www'] . '" src="' . ASCMS_MODULE_WEB_PATH . '/Gallery/View/Media/www.gif" align="baseline" border="0" /></a>'; } else { $strWWW = '<img src="' . ASCMS_MODULE_WEB_PATH . '/Gallery/View/Media/pixel.gif" width="16" height="16" alt="" align="baseline" border="0" />'; } if ($objResult->fields['email'] != '') { $strEmail = '<a href="mailto:' . $objResult->fields['email'] . '"><img alt="' . $objResult->fields['email'] . '" src="' . ASCMS_MODULE_WEB_PATH . '/Gallery/View/Media/email.gif" align="baseline" border="0" /></a>'; } else { $strEmail = '<img src="' . ASCMS_MODULE_WEB_PATH . '/Gallery/View/Media/pixel.gif" width="16" height="16" alt="" align="baseline" border="0" />'; } $objTpl->setVariable(array('COMMENTS_NAME' => html_entity_decode($objResult->fields['name']), 'COMMENTS_DATE' => date($_ARRAYLANG['TXT_COMMENTS_DATEFORMAT'], $objResult->fields['date']), 'COMMENTS_WWW' => $strWWW, 'COMMENTS_EMAIL' => $strEmail, 'COMMENTS_TEXT' => nl2br($objResult->fields['comment']), 'COMMENTS_ROWCLASS' => $intRowClass)); $objTpl->parse('showComments'); $objResult->MoveNext(); $i++; } } } else { $objTpl->hideBlock('commentTab'); } $objTpl->show(); die; }