/** * Generate presentation Advertisement code with images and other * * @param $id ID of Advertisement * @return HTML presentation of data */ function ActionPrintAdvertisement($id) { global $site; global $aPreValues; global $logged; $iAdvertisementID = (int) $id; $sRetHtml = ''; $aSqlResStr = $this->GetAdvertisementData($iAdvertisementID); if ($aSqlResStr) { $sAdminLocalAreaC = _t('_AdminArea'); $sBigImg = $this->getBigImageCode($aSqlResStr['Media']); $bUseNewFeature = getParam('ads_gallery_feature') == 'on' ? true : false; $sImg = $this->getImageCode($aSqlResStr['Media'], false, $bUseNewFeature); $aNameRet = $this->GetProfileData($aSqlResStr['IDProfile']); $sCountryName = $aNameRet['Country'] == "" ? $sAdminLocalAreaC : _t($aPreValues['Country'][$aNameRet['Country']]['LKey']); $sCountryPic = $aNameRet['Country'] == '' ? '' : ' <img alt="' . $aNameRet['Country'] . '" src="' . ($site['flags'] . strtolower($aNameRet['Country'])) . '.gif"/>'; /*if( $logged['member'] ) $sVisible = 'memb'; else $sVisible = 'non'; $sSqlCols = " SELECT * FROM `ClsAdvCompose` WHERE `Column` != 0 AND FIND_IN_SET( '{$sVisible}', `Visible` ) ORDER BY `Column` , `Order` "; $sqlCaptRes = db_res($sSqlCols); $aCaptions = array(); while($aCapSelect = mysql_fetch_assoc($sqlCaptRes)) { $aCaptions[$aCapSelect['Func']] = _t( $aCapSelect['Caption'] ); }*/ $sPostedByC = _t('_Posted by'); $sAdminC = _t('_Admin'); $sPhoneC = _t('_Phone'); $sICQC = _t('_ICQ'); $sDetailsC = _t('_Details'); $sReplyC = _t('_Reply'); $sSubjectC = _t('_Subject'); $sDateC = _t('_Date'); $sLocationC = _t('_Location'); $sDescriptionC = _t('_Description'); $sUserOtherListC = _t('_Users other listing'); $sActionsC = _t('_Actions'); $sPhotosC = _t('_Photos'); $sEditC = _t('_Edit'); $sAdvertisementC = _t('_Advertisement'); $sTagsC = _t('_Tags'); $sBuyNowC = _t('_Buy Now'); $sDeleteC = _t('_Delete'); $sSureC = _t("_Are you sure"); $sActivateC = _t('_Activate'); $sPostedBy = ''; if (!$aNameRet['NickName']) { $sPostedBy .= '<div class="cls_res_info">' . $sPostedByC . ': ' . $sAdminC . '</div>'; } else { $sPostedBy .= '<div class="cls_res_info">'; $sPostedBy .= $sPostedByC . ': <span style="color:#333333;"><a href="' . getProfileLink($aNameRet['ID']) . '">' . $aNameRet['NickName'] . '</a></span>'; $sPostedBy .= '</div>'; if ($aNameRet['Phone'] != "") { $sPostedBy .= '<div class="cls_res_info">'; $sPostedBy .= $sPhoneC . ": <div class=\"clr3\">{$aNameRet['Phone']}</div>"; $sPostedBy .= '</div>'; } if ($aNameRet['IcqUIN'] != "") { $sPostedBy .= '<div class="cls_res_info">'; $sPostedBy .= $sICQC . "#<div class=\"clr3\">{$aNameRet['IcqUIN']}</div>"; $sPostedBy .= '</div>'; } } $sTimeAgo = _format_when($aSqlResStr['sec']); $sCustDetails .= $aSqlResStr['CustomFieldName1'] || $aSqlResStr['CustomFieldName2'] ? "{$sDetailsC}: " : ''; $sCustDetails .= $aSqlResStr['CustomFieldName1'] && $aSqlResStr['CustomFieldValue1'] ? "<div class=\"clr3\">{$aSqlResStr['Unit']} {$aSqlResStr['CustomFieldValue1']}</div>" : ''; $sCustDetails .= $aSqlResStr['CustomFieldName1'] && $aSqlResStr['CustomFieldName2'] && $aSqlResStr['CustomFieldValue1'] && $aSqlResStr['CustomFieldValue2'] ? " - " : ''; $sCustDetails .= $aSqlResStr['CustomFieldName2'] && $aSqlResStr['CustomFieldValue2'] ? "<div class=\"clr3\">{$aSqlResStr['Unit']} {$aSqlResStr['CustomFieldValue2']}</div>" : ''; $sTags .= $sTagsC . ': <div class="clr3">'; $aTags = array(); $aTagsLinks = array(); $aTags = explode(",", $aSqlResStr['Tags']); foreach ($aTags as $sTag) { $sSubLink = $this->bUseFriendlyLinks ? "ads/tag/" : "classifieds_tags.php?tag="; $aTagsLinks[] = '<a href="' . "{$site['url']}{$sSubLink}{$sTag}" . '">' . $sTag . '</a>'; } $sTags .= implode(", ", $aTagsLinks); $sTags .= '</div>'; $sMemberActions = ''; $iMemberID = $logged['member'] ? (int) $_COOKIE['memberID'] : -1; //$iMemberID = (int)$_COOKIE['memberID']; if ($iMemberID > 0 and $iMemberID != $aNameRet['ID']) { //print Send PM button and other actions $bBnp = getParam('enable_paid_system'); $sBuyNow = ''; if ($bBnp == 'on') { $sBuyNow = <<<EOF <img src="{$site['icons']}cool.gif" alt="Buy" title="Buy" class="marg_icon" /> <a class="actions" href="{$this->sCurrBrowsedFile}" onclick="document.forms['BuyNowForm'].submit(); return false;"> \t{$sBuyNowC} </a> <form action="{$this->sCurrBrowsedFile}" name="BuyNowForm" method="post"> \t<input type="hidden" name="BuyNow" value="BuyNow" /> \t<input type="hidden" name="IDAdv" value="{$id}" /> \t<input type="hidden" name="IDSeller" value="{$aSqlResStr['IDProfile']}" /> </form> <br/> EOF; } $sMemberActions .= <<<EOF {$sBuyNow} <img src="{$site['icons']}action_send.gif" alt="Post PM" title="Post PM" class="marg_icon" /> <a class="actions" href="{$this->sCurrBrowsedFile}" onclick="document.forms['post_pm'].submit(); return false;"> {$sReplyC} </a> <form action="{$site['url']}compose.php" name="post_pm" id="post_pm" method="post"> \t<input type="hidden" name="ID" value="{$aSqlResStr['IDProfile']}" /> \t<input type="hidden" name="subject" value="{$aSqlResStr['Subject']}" /> \t<input type="hidden" value="{$sReplyC}" /> </form> EOF; } elseif ($iMemberID == $aNameRet['ID'] and $this->bAdminMode == FALSE) { $sMemberActions .= '<div class="cls_result_row">'; $sMemberActions .= $this->CenteredActionsBlock('<img src="' . $site['icons'] . 'description_edit.png" alt="' . $sEditC . '" title="' . $sEditC . '" class="marg_icon" />', '<a class="actions" href="' . $this->sCurrBrowsedFile . '" onclick="UpdateField(\'EditAdvertisementID\',' . $iAdvertisementID . '); document.forms.command_edit_advertisement.submit(); return false;">' . $sEditC . '</a>'); $sMemberActions .= '</div>'; $sMemberActions .= '<div class="cls_result_row">'; $sMemberActions .= $this->CenteredActionsBlock('<img src="' . $site['icons'] . 'action_block.gif" alt="' . $sDeleteC . '" title="' . $sDeleteC . '" class="marg_icon" />', '<a class="actions" href="' . $this->sCurrBrowsedFile . '" onclick="if (confirm(\'' . $sSureC . '\')) { UpdateField(\'DeleteAdvertisementID\',' . $iAdvertisementID . ');document.forms.command_delete_advertisement.submit(); } return false;">' . $sDeleteC . '</a>'); $sMemberActions .= '</div>'; } $sAdminPart = ''; if ($this->bAdminMode) { $sActivateAbil = $aSqlResStr['Status'] == 'active' ? '' : <<<EOF <div class="ar"> \t<span style="vertical-align: middle;margin-right:5px;"> \t<img src="{$site['icons']}online.gif" style="position:static;" /> \t</span> \t<span> \t<a class="actions" href="{$this->sCurrBrowsedFile}" onclick="UpdateField('ActivateAdvertisementID',{$iAdvertisementID});document.forms.command_activate_advertisement.submit(); return false;"> \t{$sActivateC}</a> \t</span> </div> EOF; $sAdminPart .= <<<EOF <div class="clear_both"></div> {$sActivateAbil} <div class="ar"> \t<span style="vertical-align: middle;margin-right:5px;"> \t<img src="{$site['icons']}delete.png" style="position:static;" /> \t</span> \t<span> \t<a class="actions" href="{$this->sCurrBrowsedFile}" onclick="if (confirm('{$sSureC}')) { UpdateField('DeleteAdvertisementID',{$iAdvertisementID});document.forms.command_delete_advertisement.submit(); } return false;"> \t{$sDeleteC}</a> \t</span> </div> <div class="ar"> \t<span style="vertical-align: middle;margin-right:5px;"> \t<img src="{$site['icons']}_logout.jpg" style="position:static;" /> \t</span> \t<span> \t<a class="actions" href="{$this->sCurrBrowsedFile}" onclick="UpdateField('EditAdvertisementID',{$iAdvertisementID}); document.forms.command_edit_advertisement.submit(); return false;"> \t{$sEditC}</a> \t</span> </div> <div class="clear_both"></div> EOF; } $sPictureSectContent = ''; if ($bUseNewFeature == true) { /////Gall Ench $sGallEnchImg = $this->getImageCodeSimple($aSqlResStr['Media']); $sPictureSectContent = <<<EOF <script type="text/javascript" src="{$site['url']}inc/js/jquery.dolPromoT.js"></script> <script type="text/javascript"> \t\$(document).ready( function() { \t\t\$( '#indexPhoto' ).dolPromo( 3000, 1 ); \t} ); </script> <script type="text/javascript"> \tif (window.attachEvent) \t\twindow.attachEvent( "onload", onloadPhotos ); \telse \t\twindow.addEventListener( "load", onloadPhotos, false); \tfunction onloadPhotos() \t{ \t\thideScroll(); \t} \t//hide scrollers if needed \tfunction hideScroll() \t{ \t\tb = document.getElementById( "aIconBlock" ); \t\ts = document.getElementById( "aScrollCont" ); \t\t \t\tif( !b || !s ) { \t\t\taibc = document.getElementById( "aIconBlockCont" ); \t\t\taibc.style.display = "none"; \t\t\ts.style.display = "none"; \t\t\treturn false; \t\t} \t\tif( b.parentNode.clientWidth >= b.clientWidth ) \t\t\ts.style.display = "none"; \t\telse \t\t\ts.style.display = "block"; \t} </script> <div style="position:relative;width:100%;height:450px;overflow:hidden;"> \t<div class="photoBlock" id="indexPhoto"> \t\t{$sGallEnchImg} \t</div> </div> <div class="clear_both"></div> <div class="iconBlockCont" id="aIconBlockCont"> \t{$sImg} </div> <div id="aScrollCont" class="scrollCont"> \t<div class="scrollLeft" onmouseover="moveScrollLeftAuto('aIconBlock', true);" onmouseout="moveScrollLeftAuto('aIconBlock', false);"> \t\t<img src="{$site['icons']}left_arrow.gif" style="position:static;" alt="" /> \t</div> \t<div class="scrollRight" onmouseover="moveScrollRightAuto('aIconBlock', true);" onmouseout="moveScrollRightAuto('aIconBlock', false);"> \t\t<img src="{$site['icons']}right_arrow.gif" style="position:static;" alt="" /> \t</div> </div> <div class="clear_both"></div> EOF; /////Gall Ench end } else { $sPictureSectContent = <<<EOF <script type="text/javascript"> \tif (window.attachEvent) \t\twindow.attachEvent( "onload", onloadPhotos ); \telse \t\twindow.addEventListener( "load", onloadPhotos, false); \tfunction onloadPhotos() \t{ \t\thideScroll(); \t} \t//hide scrollers if needed \tfunction hideScroll() \t{ \t\tb = document.getElementById( "aIconBlock" ); \t\ts = document.getElementById( "aScrollCont" ); \t\t \t\tif( !b || !s ) { \t\t\taibc = document.getElementById( "aIconBlockCont" ); \t\t\taibc.style.display = "none"; \t\t\ts.style.display = "none"; \t\t\treturn false; \t\t} \t\tif( b.parentNode.clientWidth >= b.clientWidth ) \t\t\ts.style.display = "none"; \t\telse \t\t\ts.style.display = "block"; \t} </script> <div class="photoBlock"> \t{$sBigImg} </div> <div class="iconBlockCont" id="aIconBlockCont"> \t{$sImg} </div> <div id="aScrollCont" class="scrollCont"> \t<div class="scrollLeft" onmouseover="moveScrollLeftAuto('aIconBlock', true);" onmouseout="moveScrollLeftAuto('aIconBlock', false);"> \t\t<img src="{$site['icons']}left_arrow.gif" style="position:static;" alt="" /> \t</div> \t<div class="scrollRight" onmouseover="moveScrollRightAuto('aIconBlock', true);" onmouseout="moveScrollRightAuto('aIconBlock', false);"> \t\t<img src="{$site['icons']}right_arrow.gif" style="position:static;" alt="" /> \t</div> </div> <div class="clear_both"></div> EOF; } $sPictureSect = DesignBoxContent(_t('_Advertisement Photos'), $sPictureSectContent, 1); $this->sTAPhotosContent = $sPictureSectContent; $sActionsSect = $iMemberID > 0 || $this->bAdminMode ? DesignBoxContent($sActionsC, $sMemberActions . $sAdminPart, 1) : ''; $this->sTAActionsContent = $iMemberID > 0 || $this->bAdminMode ? $sMemberActions . $sAdminPart : ''; if ($iMemberID > 0 || $this->bAdminMode) { $oComments = new BxDolComments(1, $this->sCurrBrowsedFile); $oComments->bAdminMode = $this->bAdminMode; //$this->sTACommentsContent = $oComments->PrintCommentSection($iAdvertisementID, $aCaptions['Comments'], false); $this->oCmtsView = new BxTemplCmtsView('classifieds', (int) $iAdvertisementID); $this->sTACommentsContent = $this->oCmtsView->getExtraCss(); $this->sTACommentsContent .= $this->oCmtsView->getExtraJs(); $this->sTACommentsContent .= !$this->oCmtsView->isEnabled() ? '' : $this->oCmtsView->getCommentsFirst(); $show_hide = $oComments->genShowHideItem('comments_section'); $sCommSect = DesignBoxContent($aCaptions['Comments'], $this->sTACommentsContent, 1, $show_hide); //$sCommSect = $oComments->PrintCommentSection($iAdvertisementID, $aCaptions['Comments'], true); } $sUserOtherListing = $this->PrintMyAds($aSqlResStr['IDProfile'], 2); $sSubjectSectContent = <<<EOF {$sPostedBy} <div class="cls_res_info"> \t{$sDateC}: <div class="clr3">{$aSqlResStr['DateTime']} ({$sTimeAgo})</div> </div> <div class="cls_res_info"> \t{$sLocationC}: <div class="clr3">{$sCountryName}{$sCountryPic}</div> </div> <div class="cls_res_info"> \t{$sTags} </div> <div class="cls_res_info"> \t{$sCustDetails} </div> EOF; $sSubjectSect = DesignBoxContent($aSqlResStr['Subject'], $sSubjectSectContent, 1); $this->sTAInfoContent = $sSubjectSectContent; $sDescriptionSect = DesignBoxContent($sDescriptionC, $aSqlResStr['Message'], 1); $this->sTADescriptionContent = $aSqlResStr['Message']; $sOtherListingContent = <<<EOF {$sUserOtherListing} <a class="actions" href="{$this->sCurrBrowsedFile}" onclick="document.forms['UsersOtherListingForm'].submit(); return false;">{$sUserOtherListC}</a> <form action="{$this->sCurrBrowsedFile}" name="UsersOtherListingForm" method="post"> \t<input type="hidden" name="UsersOtherListing" value="1" /> \t<input type="hidden" name="IDProfile" value="{$aSqlResStr['IDProfile']}" /> </form> EOF; $sOtherListingSect = DesignBoxContent($sUserOtherListC, $sOtherListingContent, 1); $this->sTAOtherListingContent = $sOtherListingContent; $sHomeLink = $this->bUseFriendlyLinks && $this->bAdminMode == false ? $site['url'] . 'ads/' : "{$this->sCurrBrowsedFile}?Browse=1"; $sCategLink = $this->bUseFriendlyLinks && $this->bAdminMode == false ? $site['url'] . 'ads/cat/' . $aSqlResStr['CEntryUri'] : "{$this->sCurrBrowsedFile}?bClassifiedID={$aSqlResStr['CatID']}"; $sSCategLink = $this->bUseFriendlyLinks && $this->bAdminMode == false ? $site['url'] . 'ads/subcat/' . $aSqlResStr['SEntryUri'] : "{$this->sCurrBrowsedFile}?bSubClassifiedID={$aSqlResStr['SubID']}"; $sBrowseAllAds = _t('_Browse All Ads'); $sBreadCrumbs = <<<EOF <div class="breadcrumbs"> <a href="{$site['url']}">{$site['title']}</a> / <a href="{$sHomeLink}">{$sBrowseAllAds}</a> / <a href="{$sCategLink}">{$aSqlResStr['Name']}</a> / <a href="{$sSCategLink}">{$aSqlResStr['NameSub']}</a> </div> EOF; //$iScrollWidth = $this->iScrollWidth; //$iScrollHeight = $this->iScrollWidth+0; /*$sqlColRes = db_res($sSqlCols); $aBlocks = array(); while($aBlockSelect = mysql_fetch_assoc($sqlColRes)) { switch( $aBlockSelect['Func'] ) { case 'Advertisement Photos': $aBlocks[$aBlockSelect['Column']] .= $sPictureSect; break; case 'Actions': $aBlocks[$aBlockSelect['Column']] .= $sActionsSect; break; case 'Comments': $aBlocks[$aBlockSelect['Column']] .= $sCommSect; break; case 'Adv Info': $aBlocks[$aBlockSelect['Column']] .= $sSubjectSect; break; case 'Description': $aBlocks[$aBlockSelect['Column']] .= $sDescriptionSect; break; case 'Users Other Listing': $aBlocks[$aBlockSelect['Column']] .= $sOtherListingSect; break; case 'Echo': $aBlocks[$aBlockSelect['Column']] .= DesignBoxContent( _t( $aBlockSelect['Caption'] ), $aBlockSelect['Content'], 1 ); break; case 'RSS': list( $sUrl, $iNum ) = explode( '#', $aBlockSelect['Content'] ); $iNum = (int)$iNum; $ret = genRSSHtmlOut( $sUrl, $iNum ); $aBlocks[$aBlockSelect['Column']] .= DesignBoxContent( _t( $aBlockSelect['Caption'] ), $ret, 1 ); break; } }*/ $aBlocks[1] .= $sPictureSect; $aBlocks[1] .= $sActionsSect; $aBlocks[1] .= $sCommSect; $aBlocks[2] .= $sSubjectSect; $aBlocks[2] .= $sDescriptionSect; $aBlocks[2] .= $sOtherListingSect; $sRetHtml = <<<EOF {$sBreadCrumbs} <div> \t<div class="clear_both"></div> \t<div class="cls_info_left"> \t\t{$aBlocks['1']} \t</div> \t<div class="cls_info"> \t\t{$aBlocks['2']} \t</div> \t<div class="clear_both"></div> </div> <div class="clear_both"></div> EOF; } return $sRetHtml; }
/** * Generate User`s Blog Post Page * * @return HTML presentation of data */ function GenPostPage() { global $site; global $aBreadCramp; $iCheckedMemberID = $this->aBlogConf['visitorID']; $sRestrictRes = $this->CheckRestrictionToView($iCheckedMemberID); if ($sRestrictRes != '') { return $sRestrictRes; } $iPostID = (int) $_REQUEST['post_id']; if ($this->iLastPostedPostID > 0) { $iPostID = $this->iLastPostedPostID; $this->iLastPostedPostID = -1; } $sCategoryC = _t('_Category'); $sPostC = _t('_Post'); $sEditC = _t('_Edit'); $sDeleteC = _t('_Delete'); $sRetHtml = ''; $sPostedBySQL = "\n\t\t\tSELECT `BlogCategories`.`OwnerID` FROM `BlogCategories`\n\t\t\tLEFT JOIN `BlogPosts` ON `BlogCategories`.`CategoryID`=`BlogPosts`.`CategoryID`\n\t\t\tWHERE `BlogPosts`.`PostID` = {$iPostID}\n\t\t\tLIMIT 1\n\t\t"; $aPostBy = db_arr($sPostedBySQL); if (mysql_affected_rows() == 0) { return MsgBox(_t('_No such blog post')); } $sBlogsSQL = "\n\t\t\tSELECT `Blogs`. * , `Profiles`.`Nickname` \n\t\t\tFROM `Blogs` \n\t\t\tLEFT JOIN `Profiles` ON `Blogs`.`OwnerID` = `Profiles`.`ID`\n\t\t\tWHERE `Blogs`.`OwnerID` = {$aPostBy['OwnerID']}\n\t\t\tLIMIT 1\n\t\t"; $aBlogInfo = db_arr($sBlogsSQL); $sBlogPostSQL = "\n\t\t\t\tSELECT `BlogPosts`.*, COUNT(`CommentID`) AS `CountComments`, `BlogCategories`.`OwnerID`,`BlogCategories`.`CategoryName`\n\t\t\t\tFROM `BlogPosts`\n\t\t\t\tLEFT JOIN `BlogPostComments`\n\t\t\t\tON `BlogPosts`.`PostID`=`BlogPostComments`.`PostID`\n\t\t\t\tLEFT JOIN `BlogCategories`\n\t\t\t\tON `BlogCategories`.`CategoryID`=`BlogPosts`.`CategoryID`\n\t\t\t\tWHERE `BlogPosts`.`PostID` = {$iPostID}\n\t\t\t\tGROUP BY `BlogPostComments`.`PostID`\n\t\t\t\tORDER BY `CountComments` DESC, `PostDate` DESC\n\t\t"; $aBlogPost = db_arr($sBlogPostSQL); if ('friends' == $aBlogPost['PostReadPermission'] && !$this->aBlogConf['isFriend'] && !$this->aBlogConf['isOwner'] && !$this->bAdminMode) { $sFriendsC .= MsgBox(_t('_this_blog_only_for_friends')); $sRightSection = $this->GenMemberDescrAndCat($aBlogInfo); $sRetHtml .= <<<EOF <div> \t<div class="clear_both"></div> \t<div class="cls_info_left"> \t\t<div> \t\t\t<div class="disignBoxFirst"> \t\t\t\t<div class="boxFirstHeader">{$sPostC}</div> \t\t\t\t<div class="boxContent"> \t\t\t\t\t{$sFriendsC} \t\t\t\t</div> \t\t\t</div> \t\t</div> \t\t<div class="clear_both"></div> \t</div> \t<div class="cls_info"> \t\t{$sRightSection} \t</div> \t<div class="clear_both"></div> </div> <div class="clear_both"></div> EOF; } else { $oComments = new BxDolComments(2); $oComments->bAdminMode = $this->bAdminMode; $sPostComm = $oComments->PrintCommentSection($iPostID); $sPostString = $this->GenPostString($aBlogPost, 3); $sRightSection = $this->GenMemberDescrAndCat($aBlogInfo); $sRetHtml = <<<EOF <div> \t<div class="clear_both"></div> \t<div class="cls_info_left"> \t\t<div> \t\t\t<div class="disignBoxFirst"> \t\t\t\t<div class="boxFirstHeader">{$sPostC}</div> \t\t\t\t<div class="boxContent"> \t\t\t\t\t{$sPostString} \t\t\t\t</div> \t\t\t</div> \t\t</div> \t\t<div class="clear_both"></div> \t\t<div> \t\t\t{$sPostComm} \t\t</div> \t</div> \t<div class="cls_info"> \t\t{$sRightSection} \t</div> \t<div class="clear_both"></div> </div> <div class="clear_both"></div> EOF; } return $sRetHtml; }