Пример #1
1
 function sDisplay()
 {
     global $goApp;
     $s = "";
     $aEntries =& $this->dContent[WY_DK_GB_ENTRIES];
     $dEntry = array();
     $sName = $sEMail = $sMessage = $sClientIP = "";
     $iTime = $iID = 0;
     if ($goApp->sFormFieldValue(WY_QK_GB_MAGIC, "") == WY_QV_GB_MAGIC && ($sMessage = $goApp->sFormFieldValue(WY_QK_GB_MESSAGE, ""))) {
         // new message arrived
         $sName = $goApp->sFormFieldValue(WY_QK_GB_NAME, "");
         $sEMail = $goApp->sFormFieldValue(WY_QK_GB_EMAIL, "");
         if (!$this->bAddEntry($sName, $sEMail, $sMessage)) {
             $s .= sprintf("<script type=\"text/javascript\"> alert(\"%s\"); </script>", WYTS("IPIsBlocked"));
         }
     }
     if ($goApp->bEditMode) {
         if ($goApp->sCurrentAction() == WY_QV_GB_REMOVE) {
             $iID = $goApp->sFormFieldValue(WY_QK_GB_ID, 0);
             $this->removeEntry($iID);
         }
         if ($goApp->sCurrentAction() == WY_QV_GB_BLOCK) {
             $sIP = $goApp->sFormFieldValue(WY_QK_GB_IP, 0);
             $this->blockIP($sIP);
         }
         if ($goApp->sCurrentAction() == WY_QV_GB_UNBLOCK) {
             $sIP = $goApp->sFormFieldValue(WY_QK_GB_IP, 0);
             $this->unblockIP($sIP);
         }
     }
     foreach ($aEntries as $dEntry) {
         $sName = $dEntry[WY_DK_GB_NAME];
         $sEMail = $dEntry[WY_DK_GB_EMAIL];
         $sMessage = $dEntry[WY_DK_GB_MESSAGE];
         // backward comp.: check isset($dEntry[WY_DK_GB_IP])
         $sClientIP = isset($dEntry[WY_DK_GB_IP]) ? $dEntry[WY_DK_GB_IP] : "";
         $iTime = $dEntry[WY_DK_GB_TIME];
         $iID = $dEntry[WY_DK_GB_ID];
         $s .= "<div class='" . WY_GB_CSS_ALL . "'>";
         if ($goApp->bEditMode) {
             $oURL = od_clone(WYURL::oCurrentURL());
             $oImgURL = od_clone($goApp->oImageURL);
             $dEditorQuery = $this->dEditorQuery;
             $dEditorQuery[WY_QK_GB_ID] = $iID;
             $goApp->setActionInQuery($dEditorQuery, WY_QV_GB_REMOVE);
             $oURL->setQuery(array_merge($oURL->dQuery, $dEditorQuery));
             $oLink = new WYLink($oURL, WYTS("GuestbookRemoveButton"));
             $oImgURL->addComponent("remove-button.gif");
             $oImg = new WYImage($oImgURL);
             $oLink->setInnerHTML($oImg->sDisplay());
             $oLink->setAttribute("onclick", "return confirm(\"" . WYTS("GuestbookRemoveConfirm") . "\");");
             $s .= $oLink->sDisplay();
         }
         $s .= "<div>";
         if ($sName) {
             $s .= "<span class='" . WY_GB_CSS_NAME . "'>" . webyep_sHTMLEntities($sName) . "</span>";
         }
         if ($sEMail) {
             $s .= ($sName ? " " : "") . "<span class='" . WY_GB_CSS_EMAIL . "'>(" . $this->_sEMailLink($sEMail) . ")</span>";
         }
         if ($sName || $sEMail) {
             $s .= ", ";
         }
         $s .= "<span class='" . WY_GB_CSS_DATETIME . "'>" . WYTS("AtDate") . " " . sWYTDate($iTime) . " " . WYTS("AtTime") . " " . sWYTTime($iTime) . "</span>:</div>\n";
         if ($goApp->bEditMode) {
             $s .= "<div class='" . WY_GB_CSS_MESSAGE . "'>";
             $s .= WYTS("ClientIP") . ": ";
             $bIsBlocked = in_array($sClientIP, $this->dContent[WY_DK_GB_BLOCKED_IPS]);
             if ($sClientIP) {
                 if (!$bIsBlocked) {
                     $oURL = od_clone(WYURL::oCurrentURL());
                     $oImgURL = od_clone($goApp->oImageURL);
                     $dEditorQuery = $this->dEditorQuery;
                     $dEditorQuery[WY_QK_GB_IP] = $sClientIP;
                     $goApp->setActionInQuery($dEditorQuery, WY_QV_GB_BLOCK);
                     $oURL->setQuery($dEditorQuery);
                     $oLink = new WYLink($oURL, WYTS("GuestbookBlockButton"));
                     $oImgURL->addComponent("block-button.gif");
                     $oImg = new WYImage($oImgURL);
                     $oImg->setAttribute("style", "vertical-align: middle");
                     $oLink->setInnerHTML($oImg->sDisplay());
                     $oLink->setAttribute("onclick", "return confirm(\"" . WYTS("GuestbookBlockConfirm") . "\");");
                 }
                 $s .= $sClientIP;
                 if (!$bIsBlocked) {
                     $s .= "&nbsp;" . $oLink->sDisplay();
                 }
             } else {
                 $s .= WYTS("unknown");
             }
             $s .= "</div>\n";
         }
         // make content secure:
         $sMessage = str_replace("<", "", $sMessage);
         $sMessage = str_replace(">", "", $sMessage);
         $s .= "<div class='" . WY_GB_CSS_MESSAGE . "'>" . WYLongTextElement::_sFormatContent($sMessage, $this->bHideEMailAddresses) . "</div>";
         $s .= "</div>\n";
     }
     if ($goApp->bEditMode && count($this->dContent[WY_DK_GB_BLOCKED_IPS])) {
         unset($a);
         $a =& $this->dContent[WY_DK_GB_BLOCKED_IPS];
         $s .= "<div class='" . WY_GB_CSS_ALL . "'>";
         $s .= "<strong>" . WYTS("BlockedIPs") . ":</strong><br />\n";
         $oURL = od_clone(WYURL::oCurrentURL());
         $dEditorQuery = $this->dEditorQuery;
         $goApp->setActionInQuery($dEditorQuery, WY_QV_GB_UNBLOCK);
         $oURL->setQuery($dEditorQuery);
         $oImgURL = od_clone($goApp->oImageURL);
         $oImgURL->addComponent("unblock-button.gif");
         $oImg = new WYImage($oImgURL);
         $oImg->setAttribute("style", "vertical-align: middle");
         foreach ($a as $sIP) {
             $oURL->dQuery[WY_QK_GB_IP] = $sIP;
             $oLink = new WYLink($oURL, WYTS("GuestbookUnBlockButton"));
             $oLink->setInnerHTML($oImg->sDisplay());
             $oLink->setAttribute("onclick", "return confirm(\"" . WYTS("GuestbookUnBlockConfirm") . "\");");
             $s .= $sIP . "&nbsp;" . $oLink->sDisplay() . "<br />\n";
         }
         $s .= "</div>";
     }
     return $s;
 }
Пример #2
0
 /**
  * Liefert den HTML-Code für das GalleryElement
  *
  * Diese Methode liefert den HTML-Code, der das GalleryElement in der Webseite darstellt.
  * Folgende globale Variablen beeinflussen die Arbeitsweise:
  * - $goApp										das globale Application-Objekt (gibt Auskunft über EditMode J/N, Programmpfad, Datenpfad)
  * - $webyep_bUseTablesForGalleries    sollen Tablellen oder DIVs für die Gallerie verwendet werden?
  * - $webyep_iUseImageBox					wird eine JavaScript-Anwendung zur Anzeige der Bilder verwendet?
  * - $webyep_sLiveDemoSlotID				TODO description
  *
  *	@return		string		HTML-Code des GalleryElement
  */
 function sDisplay()
 {
     global $goApp, $webyep_bUseTablesForGalleries, $webyep_iUseImageBox, $webyep_sLiveDemoSlotID;
     $sHTML = "";
     $iCount = count($this->_aItems());
     $i = 0;
     $iCols = $this->iCols;
     $bEditMode = $goApp->bEditMode;
     $sTNName = "";
     $oTN = $oLink = $oDetailURL = od_nil;
     $sText = $sFilename = "";
     $sBoxName = $this->sDataFileName(false);
     if ($iCount == 0 && !$bEditMode) {
         return "";
     }
     if ($webyep_iUseImageBox == WEBYEP_NOBOX) {
         $oDetailURL = od_clone($goApp->oProgramURL);
         $oDetailURL->addComponent("image-detail.php");
     }
     $sHTML .= $webyep_bUseTablesForGalleries ? sprintf("<table class=\"%s\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n", WY_GALLERY_CSS_CONTAINER) : sprintf("<div class=\"%s\">\n", WY_GALLERY_CSS_CONTAINER);
     while ($i < $iCount || $iCount == 0 && $i == 0 && $bEditMode || $i % $iCols) {
         // new row?
         if (!($i % $iCols)) {
             $sHTML .= $webyep_bUseTablesForGalleries ? sprintf("   <tr%s>\n", $i < $iCols ? " class=\"" . WY_GALLERY_CSS_FIRSTROW . "\"" : "") : sprintf("   <div style=\"overflow: hidden; zoom: 1.0\" class=\"%s%s\">\n", WY_GALLERY_CSS_ROW, $i < $iCols ? " " . WY_GALLERY_CSS_FIRSTROW : "");
         }
         $sHTML .= $webyep_bUseTablesForGalleries ? sprintf("      <td style=\"width: %dpx\"%s>", $this->iCellWidth, $i % $iCols == 0 ? " class=\"" . WY_GALLERY_CSS_FIRSTCOLUMN . "\"" : "") : sprintf("      <div style=\"float: left; width: %dpx\" class=\"%s%s\">", $this->iCellWidth, WY_GALLERY_CSS_CELL, $i % $iCols == 0 ? " " . WY_GALLERY_CSS_FIRSTCOLUMN : "");
         if ($i < $iCount) {
             $sHTML .= sprintf("<div class=\"%s\">", WY_GALLERY_CSS_IMAGE);
             $sFilename = $this->sFilenameForID($i);
             $sText = $this->sTextForID($i);
             if ($sFilename) {
                 $oTN =& $this->_oTNImage($sFilename);
                 unset($oLink);
                 if ($webyep_iUseImageBox == WEBYEP_LIGHTBOX) {
                     unset($oImgURL);
                     $oImgURL = od_clone($goApp->oDataURL);
                     $oImgURL->addComponent($sFilename);
                     if ($webyep_sLiveDemoSlotID) {
                         $oImg = new WYImage($oImgURL);
                         if (!$oImg->bExists()) {
                             $oImgURL->removeDemoSlotID();
                         }
                     }
                     $oLink = new WYLink($oImgURL, $sText ? $this->sStripFormatting($sText) : " ");
                     $oLink->setAttribute("rel", "lightbox[{$sBoxName}]");
                     $oLink->sInnerHTML = $oTN->sDisplay();
                     $sHTML .= $oLink->sDisplay();
                 } else {
                     if ($webyep_iUseImageBox == WEBYEP_FANCYBOX) {
                         unset($oImgURL);
                         $oImgURL = od_clone($goApp->oDataURL);
                         $oImgURL->addComponent($sFilename);
                         if ($webyep_sLiveDemoSlotID) {
                             $oImg = new WYImage($oImgURL);
                             if (!$oImg->bExists()) {
                                 $oImgURL->removeDemoSlotID();
                             }
                         }
                         $oLink = new WYLink($oImgURL, $sText ? $this->sStripFormatting($sText) : " ");
                         $oLink->setAttribute("rel", "fancybox_{$sBoxName}");
                         $oLink->setAttribute("class", "WYPopUpImage");
                         $oLink->sInnerHTML = $oTN->sDisplay();
                         $sHTML .= $oLink->sDisplay();
                     } else {
                         $oDetailURL->dQuery[WY_QK_IMAGE_DETAIL] = $sFilename;
                         $oDetailURL->dQuery[WY_QK_IMAGE_ALTTEXT] = $this->sStripFormatting($sText);
                         $oDetailURL->dQuery[WY_QK_IMAGE_DEMOCONTENT] = $this->bDemoContent;
                         $oLink = new WYLink(new WYURL("javascript:void(0)"));
                         $oLink->setAttribute("onclick", sprintf("wydw=window.open(\"%s\", \"WYDetail\", \"width=%d,height=%d,status=yes,scrollbars=no,resizable=yes\"); wydw.focus();", $oDetailURL->sEURL(true, true, true), $this->iImageWidth, $this->iImageHeight));
                         $oLink->setToolTip(WYTS("ClickToZoom"));
                         $oLink->sInnerHTML = $oTN->sDisplay();
                         $sHTML .= $oLink->sDisplay();
                     }
                 }
             } else {
                 if ($bEditMode) {
                     $sHTML .= WYTS("GalleryNoImage");
                 }
             }
             $sHTML .= "</div>";
         }
         if ($bEditMode && ($i < $iCount || $i == 0)) {
             $sHTML .= "\n<div>";
             $sHTML .= $this->_sEditButtons($i < $iCount ? $i : -1);
             $sHTML .= "</div>";
         }
         if ($i < $iCount) {
             if ($sText) {
                 $sHTML .= sprintf("<div class=\"%s\">", WY_GALLERY_CSS_TEXT);
                 // $sHTML .= webyep_sHTMLEntities($sText);
                 $sHTML .= WYLongTextElement::_sFormatContent($sText, true);
                 $sHTML .= "</div>";
             }
         }
         $sHTML .= $webyep_bUseTablesForGalleries ? "</td>\n" : "</div>\n";
         // /WY_GALLERY_CSS_CELL
         $i++;
         if (!($i % $iCols)) {
             $sHTML .= $webyep_bUseTablesForGalleries ? "   </tr>\n" : "   </div>\n";
         }
         // WY_GALLERY_CSS_ROW
     }
     $sHTML .= $webyep_bUseTablesForGalleries ? "</table>\n" : "</div>\n";
     // /WY_GALLERY_CSS_CONTAINER
     return $sHTML;
 }