예제 #1
0
 /**
  * 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();
 }
예제 #2
0
 /**
  * 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 . '&amp;cid=' . $intCatId . '&amp;pId=' . $intPicIdPrevious, 'IMAGE_NEXT' => '?section=Gallery' . $this->strCmd . '&amp;cid=' . $intCatId . '&amp;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() . '&nbsp;' . $_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;
 }