public static string Parse(IParseContext context) { var repository = new PhotoRepository(); var totalNum = 0; var startNum = 1; var scope = string.Empty; var order = string.Empty; var where = string.Empty; foreach (var name in context.StlAttributes.AllKeys) { var value = context.StlAttributes[name]; if (Utils.EqualsIgnoreCase(name, AttributeTotalNum)) { totalNum = Utils.ToInt(value); } else if (Utils.EqualsIgnoreCase(name, AttributeStartNum)) { startNum = Utils.ToInt(value); } else if (Utils.EqualsIgnoreCase(name, AttributeScope)) { scope = value; } else if (Utils.EqualsIgnoreCase(name, AttributeOrder)) { order = value; } else if (Utils.EqualsIgnoreCase(name, AttributeWhere)) { where = Context.ParseApi.ParseAttributeValue(value, context); } } var photoInfoList = repository.GetPhotoInfoList(context.SiteId, context.ChannelId, context.ContentId); if (photoInfoList.Count == 0) { return(string.Empty); } if (startNum > 1 || totalNum > 0) { if (startNum > 1) { var count = startNum - 1; if (count > photoInfoList.Count) { count = photoInfoList.Count; } photoInfoList.RemoveRange(0, count); } if (totalNum > 0) { if (totalNum < photoInfoList.Count) { photoInfoList.RemoveRange(totalNum, photoInfoList.Count - totalNum); } } } return(ParseImpl(photoInfoList, context)); }
public static string Parse(IParseContext context) { var repository = new PhotoRepository(); var sGifUrl = Context.PluginApi.GetPluginUrl(Utils.PluginId, "assets/slide/s.gif"); var jqueryUrl = Context.PluginApi.GetPluginUrl(Utils.PluginId, "assets/slide/js/jquery-1.9.1.min.js"); var swfobjectUrl = Context.PluginApi.GetPluginUrl(Utils.PluginId, "assets/slide/js/swfobject.js"); var fullScreenSwf = Context.PluginApi.GetPluginUrl(Utils.PluginId, "assets/slide/fullscreen.swf"); var js = Context.PluginApi.GetPluginUrl(Utils.PluginId, "assets/slide/script.js"); var css = Context.PluginApi.GetPluginUrl(Utils.PluginId, "assets/slide/style.css"); var contentInfo = context.ContentInfo ?? Context.ContentApi.GetContentInfo(context.SiteId, context.ChannelId, context.ContentId); var photoInfoList = repository.GetPhotoInfoList(context.SiteId, context.ChannelId, context.ContentId); var builder = new StringBuilder(); builder.Append($@" <link rel=""stylesheet"" type=""text/css"" href="""" /> <script type=""text/javascript"" src=""{jqueryUrl}""></script> <script type=""text/javascript"" src=""{swfobjectUrl}""></script> "); builder.Append($@" <script type=""text/javascript""> var slideFullScreenUrl = ""{fullScreenSwf}""; "); builder.Append(@" var slide_data = { "); builder.Append($@" ""slide"":{{""title"":""{Utils.ToJsString(contentInfo.Title)}""}}, ""images"":[ "); foreach (var photoInfo in photoInfoList) { var smallUrl = photoInfo.SmallUrl; var largeUrl = photoInfo.LargeUrl; builder.Append( $@"{{""title"":""{Utils.ToJsString(contentInfo.Title)}"",""intro"":""{Utils.ToJsString( photoInfo.Description)}"",""previewUrl"":""{Utils.ToJsString(smallUrl)}"",""imageUrl"":""{Utils .ToJsString(largeUrl)}"",""id"":""{photoInfo.Id}""}},"); } if (photoInfoList.Count > 0) { builder.Length -= 1; } builder.Append(@" ], "); var contentTableName = Context.ContentApi.GetTableName(context.SiteId, contentInfo.ChannelId); var siblingContentId = repository.GetSiblingContentId(contentTableName, contentInfo.ChannelId, contentInfo.Taxis, true); if (siblingContentId > 0) { var title = Context.ContentApi.GetContentValue(context.SiteId, contentInfo.ChannelId, siblingContentId, nameof(IContentInfo.Title)); var url = Context.ContentApi.GetContentUrl(context.SiteId, contentInfo.ChannelId, siblingContentId); var photoInfo = repository.GetFirstPhotoInfo(context.SiteId, contentInfo.ChannelId, siblingContentId); var previewUrl = photoInfo != null ? photoInfo.SmallUrl : sGifUrl; builder.Append($@"""next_album"":{{""title"":""{Utils.ToJsString(title)}"",""url"":""{Utils.ToJsString(url)}"",""previewUrl"":""{Utils .ToJsString(previewUrl)}""}},"); } else { builder.Append($@"""next_album"":{{""title"":"""",""url"":""javascript:void(0);"",""previewUrl"":""{sGifUrl}""}},"); } //siblingContentId = BaiRongDataProvider.ContentDao.GetContentId(pageInfo.PublishmentSystemInfo.AuxiliaryTableForContent, contentInfo.ChannelId, contentInfo.Taxis, false); siblingContentId = repository.GetSiblingContentId(contentTableName, contentInfo.ChannelId, contentInfo.Taxis, false); if (siblingContentId > 0) { var title = Context.ContentApi.GetContentValue(context.SiteId, contentInfo.ChannelId, siblingContentId, nameof(IContentInfo.Title)); var url = Context.ContentApi.GetContentUrl(context.SiteId, contentInfo.ChannelId, siblingContentId); var photoInfo = repository.GetFirstPhotoInfo(context.SiteId, contentInfo.ChannelId, siblingContentId); var previewUrl = photoInfo != null ? photoInfo.SmallUrl : sGifUrl; builder.Append($@"""prev_album"":{{""title"":""{Utils.ToJsString(title)}"",""url"":""{Utils.ToJsString(url)}"",""previewUrl"":""{Utils.ToJsString(previewUrl)}""}}"); } else { builder.Append($@"""prev_album"":{{""title"":"""",""url"":""javascript:void(0);"",""previewUrl"":""{sGifUrl}""}}"); } builder.Append(@" } </script> "); builder.Append($@" <link href=""{css}"" rel=""stylesheet"" /> <script src=""{js}"" type=""text/javascript""></script> "); builder.Append(@" <div id=""wrap""> <div class=""eTitle""> <div class=""h1title""><span id=""d_picTit""></span><span id=""total"">(<span class=""cC00"">0</span>/0)</span></div> </div> <div class=""clearfix""> <div class=""eControl""> <div class=""ecCont""> <div id=""ecbFullScreen"" title=""点击全屏获得更好观看效果""><div class=""buttonCont"" id=""fullScreenFlash""></div></div> <div id=""ecbSpeed""><div id=""ecbSpeedInfo"" class=""buttonCont"">5秒</div></div> <div id=""ecbPre"" title=""上一张""><div class=""buttonCont""></div></div> <div id=""ecbPlay""> <div id=""ecpPlayStatus"" class=""play""></div> </div> <div id=""ecbNext"" title=""下一张""><div class=""buttonCont""></div></div> <div id=""ecbLine""><div class=""buttonCont""></div></div> <div id=""ecbMode"" title=""列表模式(tab)""><div class=""buttonCont""></div></div> <div id=""ecbModeReturn"" title=""返回幻灯模式(tab)""><div class=""buttonCont""></div></div> <!-- 速度条 begin --> <div id=""SpeedBox""> <div id=""SpeedCont""> <div id=""SpeedSlide""></div> <div id=""SpeedNonius""></div> </div> </div> <!-- 速度条 end --> </div> </div> </div> <!-- 2010/12/2 end --> <div id=""eFramePic""> <div id=""efpBigPic""> <div id=""efpClew""></div> <div id=""d_BigPic""></div> <div id=""efpLeftArea"" class=""arrLeft"" title=""上一张""></div> <div id=""efpRightArea"" class=""arrRight"" title=""下一张""></div> <!-- endSelect begin --> <div id=""endSelect""> <div id=""endSelClose""></div> <div class=""bg""></div> <div class=""E_Cont""> <p>您已经浏览完所有图片</p> <p><a href=""javascript:void(0)"" id=""rePlayBut""></a><a href=""javascript:void(0)"" id=""nextPicsBut""></a></p> </div> </div> <!-- endSelect end --> </div> <div class=""others"" > <div class=""tblog_bg""> <span><a href=""javascript:void(0)"" onclick=""downloadPic()"">下载</a> | </span><a href=""javascript:window.print()"">打印</a> </div> </div> <div id=""efpTxt""> <div id=""d_picTime""></div> <div id=""d_picIntro""></div> </div> <div id=""efpPicList""> <div id=""efpPreGroup""> <div id=""efpPrePic"" onmouseover=""this.className='selected'"" onmouseout=""this.className=''""> <table cellspacing=""0""> <tr> <td><a href=""""><img src=""{sGifUrl}"" width=""50"" height=""33"" alt="""" title="""" /></a></td> </tr> </table> </div> <div id=""efpPreTxt""><a href="""" title=""""><<上一图集</a></div> </div> <div id=""efpListLeftArr"" onmouseover=""this.className='selected'"" onmouseout=""this.className=''""></div> <div id=""efpPicListCont""></div> <div id=""efpListRightArr"" onmouseover=""this.className='selected'"" onmouseout=""this.className=''""></div> <div id=""efpNextGroup""> <div id=""efpNextPic"" onmouseover=""this.className='selected'"" onmouseout=""this.className=''""> <table cellspacing=""0""> <tr> <td><a href=""""><img src=""{sGifUrl}"" width=""50"" height=""33"" alt="""" title="""" /></a></td> </tr> </table> </div> <div id=""efpNextTxt""><a href="""" title="""">下一图集>></a></div> </div> </div> </div> <div id=""ePicList""></div> <!--v3--> </div> <script language=""javascript"" type=""text/javascript""> <!--//--><![CDATA[//><!-- function echoFocus(){ getData.fillData(); window.scrollTo(0,40); }; function fullFlash(txt,pic){ var fullScreen = new SWFObject(slideFullScreenUrl, ""fullScreenObj"", ""100%"", ""100%"", ""8"", ""#000000""); fullScreen.addParam(""quality"", ""best""); fullScreen.addParam(""wmode"", ""transparent""); fullScreen.addParam(""allowFullScreen"", ""true""); fullScreen.addParam(""allowScriptAccess"",""always""); fullScreen.addVariable(""mylinkpic"", pic); //此处添加组图标题 //此处添加图片文字标题,导语,分别用“|”,“#”分割 fullScreen.addVariable(""mytxt"",txt); fullScreen.addVariable(""fulls_btnx"",""0""); fullScreen.addVariable(""fulls_btny"",""0""); fullScreen.addVariable(""fulls_btnalpha"",""0"") fullScreen.write(""fullScreenFlash""); }; function getFullScreenFlash(){ if(slide.isIE){ return slide.$('fullScreenFlash').getElementsByTagName('object')[0]; }else{ return slide.$('fullScreenFlash').getElementsByTagName('embed')[0]; }; }; function flash_to_js(name){ name = new String(name); var status = name.split(""|""); epidiascope.speedBar.setGrade(status[1]); epidiascope.select(parseInt(status[0])); }; function js_to_flash(){ epidiascope.stop(); return epidiascope.selectedIndex + ""|"" + epidiascope.speedBar.grade; }; function errorFocus(str){//错误 document.getElementById(""d_picTit"").innerHTML = str; document.getElementById(""d_BigPic"").innerHTML = str; }; //下载图片 function downloadPic(){ try{ var src = epidiascope.filmstrips[epidiascope.selectedIndex].src; window.open(src, 'download'); }catch(e){}; }; function next_jstoflash(){ return; } function pre_jstoflash(){ return; } jQuery(document).ready(function(){ echoFocus(); }); //--><!]]> </script> "); builder.Replace("{sGifUrl}", sGifUrl); return(builder.ToString()); }