Add files via upload
This commit is contained in:
		
							
								
								
									
										10
									
								
								z_daisy/conf.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								z_daisy/conf.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,10 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					    "name": "「雏菊」 - 主题",
 | 
				
			||||||
 | 
					    "brief": "雏菊 - xiuno 4.0 主题",
 | 
				
			||||||
 | 
					    "version": "1.0",
 | 
				
			||||||
 | 
					    "bbs_version": "4.0",
 | 
				
			||||||
 | 
					    "installed": 0,
 | 
				
			||||||
 | 
					    "enable": 0,
 | 
				
			||||||
 | 
					    "hooks_rank": [],
 | 
				
			||||||
 | 
					    "dependencies": []
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										21
									
								
								z_daisy/hook/forum_js.htm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								z_daisy/hook/forum_js.htm
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,21 @@
 | 
				
			|||||||
 | 
					<script type="text/javascript">
 | 
				
			||||||
 | 
						/*判断可显示区域高度 用于决定显示主图的高度 这里高度比例和内容页不同*/
 | 
				
			||||||
 | 
					    var getBgHeight = function(windowHeight, bannerHeight, mobileBannerHeight){
 | 
				
			||||||
 | 
					        windowHeight = windowHeight || 560;
 | 
				
			||||||
 | 
					        if (windowHeight > window.screen.availHeight) {
 | 
				
			||||||
 | 
					            windowHeight = window.screen.availHeight;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        bannerHeight = bannerHeight.trim();
 | 
				
			||||||
 | 
					        mobileBannerHeight = mobileBannerHeight.trim();
 | 
				
			||||||
 | 
					        if (window.innerHeight > window.innerWidth) {
 | 
				
			||||||
 | 
					            bannerHeight = parseFloat(mobileBannerHeight);
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            bannerHeight = parseFloat(bannerHeight);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        bannerHeight = Math.round(windowHeight * bannerHeight / 100);
 | 
				
			||||||
 | 
					        return bannerHeight;
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					        var head = $("#masthead");
 | 
				
			||||||
 | 
					        var bgHeight = getBgHeight(window.innerHeight, '35', '25');
 | 
				
			||||||
 | 
					        head.css('height', bgHeight + "px");
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
							
								
								
									
										32
									
								
								z_daisy/hook/forum_start.htm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								z_daisy/hook/forum_start.htm
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,32 @@
 | 
				
			|||||||
 | 
					<!-- 直接结束掉 container 并去除上下边距 -->
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!-- 部分 style 打包放进气泡的 CSS 文件, 只有列表,主题,编辑页面需要 主页不要 -->
 | 
				
			||||||
 | 
					<style>
 | 
				
			||||||
 | 
					.blog-background { background:#2C2A2A url(<?php echo $forum['icon_url'];?>);  color:#CCC; }
 | 
				
			||||||
 | 
					 #body { padding-bottom: 0; padding-top: 0;}
 | 
				
			||||||
 | 
					</style>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!-- CSS3 气泡 不能放全局 否则不需要气泡的页面会被遮挡-->
 | 
				
			||||||
 | 
					<link rel="stylesheet" href="plugin/z_daisy/view/css/bubble.css">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!-- DAISY 需要最大宽度, 所以要把 header 中限制宽度的 DIV 移到每个页面中去? -->
 | 
				
			||||||
 | 
					<header id="masthead">
 | 
				
			||||||
 | 
					    <div class="blog-background"></div>
 | 
				
			||||||
 | 
					    <div class="inner">
 | 
				
			||||||
 | 
					        <!-- 似乎没有必要再显示名称
 | 
				
			||||||
 | 
					        <h1 class="blog-title" style="" itemprop="name"><?php //echo $forum['name'];?></h1>
 | 
				
			||||||
 | 
					        <h2 class="blog-description light bordered bordered-top" style="" itemprop="description">12 月 23 日 2015 年  • 已有 3952 位童鞋围观过</h2>
 | 
				
			||||||
 | 
					        -->
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					    <!-- CSS3 气泡 同上 放全局并先隐藏-->
 | 
				
			||||||
 | 
					    <ul class="bg-bubbles">
 | 
				
			||||||
 | 
					    <li></li><li></li><li></li><li></li><li></li>
 | 
				
			||||||
 | 
					    <li></li><li></li><li></li><li></li><li></li>
 | 
				
			||||||
 | 
					    </ul>
 | 
				
			||||||
 | 
					</header>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!-- 重新开始 container 这是一种兼容的做法 thread 页的 id="body" 将失去意义-->
 | 
				
			||||||
 | 
					<div class="container">
 | 
				
			||||||
							
								
								
									
										58
									
								
								z_daisy/hook/post_js.htm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								z_daisy/hook/post_js.htm
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,58 @@
 | 
				
			|||||||
 | 
					<script>
 | 
				
			||||||
 | 
					//上传view图片到附件表
 | 
				
			||||||
 | 
					$('#addattachs').on('change', function(e) {
 | 
				
			||||||
 | 
						var files = xn.get_files_from_event(e);
 | 
				
			||||||
 | 
						if (!files) return;
 | 
				
			||||||
 | 
						// 并发下会 服务端 session 写入会有问题,由客户端控制改为串行
 | 
				
			||||||
 | 
						var jprogress = $('.attachlist_parents').find('progress');
 | 
				
			||||||
 | 
						if (!$('.attachlist_parents').find('.attachlist').length) {
 | 
				
			||||||
 | 
							$('.attachlist_parents').append('<ul class="attachlist"><ul>');
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if(!jprogress.length) {
 | 
				
			||||||
 | 
							jprogress = $('<progress class="progress progress-success" value="0" max="100">0%</progress>').appendTo('.attachlist_parent > ul');
 | 
				
			||||||
 | 
							//jprogress = $('.attachlist_parents').append('<div class="progress"><div class="progress-bar" role="progressbar" style="width: 25%;" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100">25%</div></div>');
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						$.each_sync(files, function(i, callback) {
 | 
				
			||||||
 | 
							var file = files[i];
 | 
				
			||||||
 | 
							xn.upload_file(file, xn.url('attach-create'), {
 | 
				
			||||||
 | 
								is_image: 2
 | 
				
			||||||
 | 
							}, function(code, message) {
 | 
				
			||||||
 | 
								if (code != 0) return $.alert(message);
 | 
				
			||||||
 | 
								// 把文件 append 到附件列表 替换到wivebg
 | 
				
			||||||
 | 
								var url = message.url;
 | 
				
			||||||
 | 
								var filetype = message.filetype;
 | 
				
			||||||
 | 
								var aid = message.aid;
 | 
				
			||||||
 | 
								
 | 
				
			||||||
 | 
								$('.attachlist').append('<li aid="' + aid + '"><a href="' + message.url + '" target="_blank"><i class="icon filetype ' + filetype + '"></i> ' + message.orgfilename + '</a> <a href="javascript:void(0);" class="delete m-l-1"><i class="icon-remove"></i> <?php echo lang('delete');?></a></li>');
 | 
				
			||||||
 | 
								callback();
 | 
				
			||||||
 | 
								jprogress.hide();
 | 
				
			||||||
 | 
								jprogress.val(0);
 | 
				
			||||||
 | 
								jprogress.text('0%');
 | 
				
			||||||
 | 
							}, function(percent) {
 | 
				
			||||||
 | 
								/*
 | 
				
			||||||
 | 
								var jprogress = $('.attachlist_parents').find('.progress');
 | 
				
			||||||
 | 
								jprogressbar = jprogress.find('.progress-bar');
 | 
				
			||||||
 | 
								jprogressbar.css('width', percent+'%');
 | 
				
			||||||
 | 
								jprogressbar.text(percent+'%');
 | 
				
			||||||
 | 
								*/
 | 
				
			||||||
 | 
								jprogress.show();
 | 
				
			||||||
 | 
								jprogress.val(percent);
 | 
				
			||||||
 | 
								jprogress.text(percent+'%');
 | 
				
			||||||
 | 
								console.log('progress:'+ percent); 
 | 
				
			||||||
 | 
							});
 | 
				
			||||||
 | 
						});
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 删除附件 这里的删除hhh
 | 
				
			||||||
 | 
					$('.attachlist_parents').on('click', 'a.delete', function() {
 | 
				
			||||||
 | 
						var jlink = $(this);
 | 
				
			||||||
 | 
						var jli = jlink.parents('li');
 | 
				
			||||||
 | 
						var aid = jli.attr('aid');
 | 
				
			||||||
 | 
						if(!window.confirm(lang.confirm_delete)) return false;
 | 
				
			||||||
 | 
						$.xpost(xn.url('attach-delete-'+aid), function(code, message) {
 | 
				
			||||||
 | 
							if(code != 0) return $.alert(message);
 | 
				
			||||||
 | 
							jlink.parent().remove();
 | 
				
			||||||
 | 
						});
 | 
				
			||||||
 | 
						return false;
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
							
								
								
									
										20
									
								
								z_daisy/hook/post_start.htm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								z_daisy/hook/post_start.htm
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,20 @@
 | 
				
			|||||||
 | 
					<?php
 | 
				
			||||||
 | 
					    //判断图片是否存在输出BG路径, 如果没有则为空
 | 
				
			||||||
 | 
						$u = db_find_one('attach', array('tid'=>$tid,'isimage'=>2));
 | 
				
			||||||
 | 
						if ($u==NULL){ $viewimg = '';}
 | 
				
			||||||
 | 
						else{ $viewimg = 'url('.$conf['upload_url'].'attach/'.$u['filename'].')'; }
 | 
				
			||||||
 | 
					?>
 | 
				
			||||||
 | 
					<!-- 部分 style 打包成文件放进气泡的 CSS, 只有列表,主题,编辑页面需要 主页不要 -->
 | 
				
			||||||
 | 
					<style>.viewimg { background:#2C2A2A <?php echo $viewimg; ?>;  color:#CCC; }</style>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!-- CSS3 气泡 不能放全局 否则不需要气泡的页面会被遮挡-->
 | 
				
			||||||
 | 
					<link rel="stylesheet" href="plugin/z_daisy/view/css/bubble.css">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!-- 主题图片的上传按钮, 只有编辑页需要 还要有删除按钮 -->
 | 
				
			||||||
 | 
					<div class="row" style="padding: 0px 0 0 0">
 | 
				
			||||||
 | 
						<div class="col-lg-10 attachlist_parents">
 | 
				
			||||||
 | 
							<p class="small text-right"><label class="addattach" id="addattachs"><i class="icon-plus-square-o icon-3x"></i><input type="file"  multiple="multiple" /></label></p>
 | 
				
			||||||
 | 
						</div>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
							
								
								
									
										21
									
								
								z_daisy/hook/thread_js.htm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								z_daisy/hook/thread_js.htm
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,21 @@
 | 
				
			|||||||
 | 
					<script type="text/javascript">
 | 
				
			||||||
 | 
						/*判断可显示区域高度 用于决定显示主图的高度*/
 | 
				
			||||||
 | 
					    var getBgHeight = function(windowHeight, bannerHeight, mobileBannerHeight){
 | 
				
			||||||
 | 
					        windowHeight = windowHeight || 560;
 | 
				
			||||||
 | 
					        if (windowHeight > window.screen.availHeight) {
 | 
				
			||||||
 | 
					            windowHeight = window.screen.availHeight;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        bannerHeight = bannerHeight.trim();
 | 
				
			||||||
 | 
					        mobileBannerHeight = mobileBannerHeight.trim();
 | 
				
			||||||
 | 
					        if (window.innerHeight > window.innerWidth) {
 | 
				
			||||||
 | 
					            bannerHeight = parseFloat(mobileBannerHeight);
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            bannerHeight = parseFloat(bannerHeight);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        bannerHeight = Math.round(windowHeight * bannerHeight / 100);
 | 
				
			||||||
 | 
					        return bannerHeight;
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					        var head = $("#masthead");
 | 
				
			||||||
 | 
					        var bgHeight = getBgHeight(window.innerHeight, '65', '45');
 | 
				
			||||||
 | 
					        head.css('height', bgHeight + "px");
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
							
								
								
									
										35
									
								
								z_daisy/hook/thread_start.htm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								z_daisy/hook/thread_start.htm
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,35 @@
 | 
				
			|||||||
 | 
					<!-- 直接结束掉 container 并去除上下边距 -->
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<?php
 | 
				
			||||||
 | 
					    //判断图片是否存在 输出BG路径, 没有则为空
 | 
				
			||||||
 | 
						$u = db_find_one('attach', array('tid'=>$tid,'isimage'=>2));
 | 
				
			||||||
 | 
						if ($u==NULL){ $viewimg = '';}
 | 
				
			||||||
 | 
						else{ $viewimg = 'url('.$conf['upload_url'].'attach/'.$u['filename'].')'; }
 | 
				
			||||||
 | 
					?>
 | 
				
			||||||
 | 
					<!-- 部分 style 打包放进气泡的 CSS 文件, 只有列表,主题,编辑页面需要 主页不要 -->
 | 
				
			||||||
 | 
					<style>
 | 
				
			||||||
 | 
					.blog-background { background:#2C2A2A <?php echo $viewimg; ?>;  color:#CCC; }
 | 
				
			||||||
 | 
					 #body { padding-bottom: 0; padding-top: 0;}
 | 
				
			||||||
 | 
					</style>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!-- CSS3 气泡 不能放全局 否则不需要气泡的页面会被遮挡-->
 | 
				
			||||||
 | 
					<link rel="stylesheet" href="plugin/z_daisy/view/css/bubble.css">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!-- DAISY 需要最大宽度, 所以要把 header 中限制宽度的 DIV 移到每个页面中去? -->
 | 
				
			||||||
 | 
					<header id="masthead">
 | 
				
			||||||
 | 
					    <div class="blog-background"></div>
 | 
				
			||||||
 | 
					    <div class="inner">
 | 
				
			||||||
 | 
					        <h1 class="blog-title" style="" itemprop="name"><?php echo $thread['subject'];?></h1>
 | 
				
			||||||
 | 
					        <h2 class="blog-description light bordered bordered-top" style="" itemprop="description">12 月 23 日 2015 年  • 已有 3952 位童鞋围观过</h2>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					    <!-- CSS3 气泡 同上 放全局并先隐藏-->
 | 
				
			||||||
 | 
					    <ul class="bg-bubbles">
 | 
				
			||||||
 | 
					    <li></li><li></li><li></li><li></li><li></li>
 | 
				
			||||||
 | 
					    <li></li><li></li><li></li><li></li><li></li>
 | 
				
			||||||
 | 
					    </ul>
 | 
				
			||||||
 | 
					</header>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!-- 重新开始 container 这是一种兼容的做法 thread 页的 id="body" 将失去意义-->
 | 
				
			||||||
 | 
					<div class="container">
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								z_daisy/icon.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								z_daisy/icon.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 3.6 KiB  | 
							
								
								
									
										53
									
								
								z_daisy/overwrite/view/htms/footer.inc.htm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								z_daisy/overwrite/view/htms/footer.inc.htm
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,53 @@
 | 
				
			|||||||
 | 
					<?php $db = G('db');?>
 | 
				
			||||||
 | 
					<?php $starttime = G('starttime');?>
 | 
				
			||||||
 | 
					<?php $time = G('time');?>
 | 
				
			||||||
 | 
					<?php $forumlist = G('forumlist');?>
 | 
				
			||||||
 | 
					<?php $forumarr = G('forumarr');?>
 | 
				
			||||||
 | 
					<?php $fid = G('fid');?>
 | 
				
			||||||
 | 
					<?php $conf = G('conf');?>
 | 
				
			||||||
 | 
					<?php $static_version = $conf['static_version'];?>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!--{hook footer_start.htm}-->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<?php  echo xn_debug_info(); ?>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!--{hook footer_nav_before.htm}-->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<?php include _include(APP_PATH.'view/htm/footer_nav.inc.htm');?>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!--{hook footer_nav_after.htm}-->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!--[if lt IE 9]>
 | 
				
			||||||
 | 
					<script>window.location = '<?php echo url('browser');?>';</script>
 | 
				
			||||||
 | 
					<![endif]-->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<?php $browser = get__browser();?>
 | 
				
			||||||
 | 
					<?php if($browser['name'] == 'ie') { ?>
 | 
				
			||||||
 | 
					<script src="<?php echo $conf['view_url'];?>js/es6-shim.js<?php echo $static_version;?>"></script>
 | 
				
			||||||
 | 
					<?php } ?>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!--{hook footer_js_before.htm}-->
 | 
				
			||||||
 | 
					<script src="lang/<?php echo $conf['lang'];?>/bbs.js<?php echo $static_version;?>"></script>
 | 
				
			||||||
 | 
					<script src="<?php echo $conf['view_url'];?>js/jquery-3.1.0.js<?php echo $static_version;?>"></script>
 | 
				
			||||||
 | 
					<script src="<?php echo $conf['view_url'];?>js/tether.js<?php echo $static_version;?>"></script>
 | 
				
			||||||
 | 
					<script src="<?php echo $conf['view_url'];?>js/bootstrap.js<?php echo $static_version;?>"></script>
 | 
				
			||||||
 | 
					<script src="<?php echo $conf['view_url'];?>js/bootstrap-plugin.js<?php echo $static_version;?>"></script>
 | 
				
			||||||
 | 
					<script src="<?php echo $conf['view_url'];?>js/async.js<?php echo $static_version;?>"></script>
 | 
				
			||||||
 | 
					<script src="<?php echo $conf['view_url'];?>js/xiuno.js<?php echo $static_version;?>"></script>
 | 
				
			||||||
 | 
					<script src="<?php echo $conf['view_url'];?>js/form.js<?php echo $static_version;?>"></script>
 | 
				
			||||||
 | 
					<script>
 | 
				
			||||||
 | 
					var debug = DEBUG = <?php echo DEBUG; ?>;
 | 
				
			||||||
 | 
					var url_rewrite_on = <?php echo $conf['url_rewrite_on'];?>;
 | 
				
			||||||
 | 
					var forumarr = <?php echo xn_json_encode($forumarr);?>;
 | 
				
			||||||
 | 
					var fid = <?php echo $fid;?>;
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
 | 
					<script src="<?php echo $conf['view_url'];?>js/bbs.js<?php echo $static_version;?>"></script>
 | 
				
			||||||
 | 
					<!--{hook footer_js_after.htm}-->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					</body>
 | 
				
			||||||
 | 
					</html>
 | 
				
			||||||
 | 
					<!--{hook footer_end.htm}-->
 | 
				
			||||||
 | 
					<?php echo cron_run();?>
 | 
				
			||||||
							
								
								
									
										17
									
								
								z_daisy/overwrite/view/htms/footer_nav.inc.htm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								z_daisy/overwrite/view/htms/footer_nav.inc.htm
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,17 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="text-muted" id="footer">
 | 
				
			||||||
 | 
						<div class="container" style="overflow: hidden;">
 | 
				
			||||||
 | 
							<dl class="row">
 | 
				
			||||||
 | 
								<dt>
 | 
				
			||||||
 | 
									<!--{hook footer_footer_left_start.htm}-->
 | 
				
			||||||
 | 
									Powered by <a href="http://bbs.xiuno.com/" target="_blank" class="text-muted"><b>Xiuno BBS <span><?php echo $conf['version'];?></span></b></a>
 | 
				
			||||||
 | 
									<!--{hook footer_footer_left_end.htm}-->
 | 
				
			||||||
 | 
								</dt>
 | 
				
			||||||
 | 
								<dd class="text-right">
 | 
				
			||||||
 | 
									<!--{hook footer_footer_right_start.htm}-->
 | 
				
			||||||
 | 
									Time: <b><?php echo substr(microtime(1) - $starttime, 0, 5);?></b>, SQL: <b><?php echo count($db->sqls);?></b>
 | 
				
			||||||
 | 
									<!--{hook footer_footer_right_end.htm}-->
 | 
				
			||||||
 | 
								</dd>
 | 
				
			||||||
 | 
							</dl>
 | 
				
			||||||
 | 
						</div>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
							
								
								
									
										51
									
								
								z_daisy/overwrite/view/htms/header.inc.htm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								z_daisy/overwrite/view/htms/header.inc.htm
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,51 @@
 | 
				
			|||||||
 | 
					<?php $conf = G('conf');?>
 | 
				
			||||||
 | 
					<?php $header = G('header');?>
 | 
				
			||||||
 | 
					<?php $user = G('user');?>
 | 
				
			||||||
 | 
					<?php $uid = G('uid');?>
 | 
				
			||||||
 | 
					<?php $gid = G('gid');?>
 | 
				
			||||||
 | 
					<?php $fid = G('fid');?>
 | 
				
			||||||
 | 
					<?php $tid = G('tid');?>
 | 
				
			||||||
 | 
					<?php $pid = G('pid');?>
 | 
				
			||||||
 | 
					<?php $route = G('route');?>
 | 
				
			||||||
 | 
					<?php $forumlist_show = G('forumlist_show');?>
 | 
				
			||||||
 | 
					<?php $static_version = $conf['static_version'];?>
 | 
				
			||||||
 | 
					<!DOCTYPE html>
 | 
				
			||||||
 | 
					<html lang="<?php echo $conf['lang'];?>">
 | 
				
			||||||
 | 
					<head>
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						<?php echo defined('BASE_HREF') ? '<base href="'.BASE_HREF.'" />' : '' ;?>
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						<!--{hook header_mete_before.htm}-->
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						<meta charset="utf-8">
 | 
				
			||||||
 | 
						<meta name="viewport" content="width=device-width, initial-scale=1">
 | 
				
			||||||
 | 
						<meta name="author" content="XiunoBBS 4.0" />
 | 
				
			||||||
 | 
						<meta name="keywords" content="<?php echo $header['keywords'];?>" />
 | 
				
			||||||
 | 
						<meta name="description" content="<?php echo $header['description'];?>" />
 | 
				
			||||||
 | 
						<meta name="renderer" content="webkit">
 | 
				
			||||||
 | 
						<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" >
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						<title><?php echo $header['title'];?></title>
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						<link rel="shortcut icon" href="<?php echo $conf['view_url'];?>img/favicon.ico" />
 | 
				
			||||||
 | 
						<link rel="icon" sizes="32x32" href="<?php echo $conf['view_url'];?>img/favicon.ico">
 | 
				
			||||||
 | 
						<link rel="Bookmark" href="<?php echo $conf['view_url'];?>img/favicon.ico" />
 | 
				
			||||||
 | 
						<?php if(DEBUG) { ?>
 | 
				
			||||||
 | 
						<link rel="stylesheet" href="<?php echo $conf['view_url'];?>css/bootstrap.css<?php echo $static_version;?>">
 | 
				
			||||||
 | 
						<?php } else { ?>
 | 
				
			||||||
 | 
						<link rel="stylesheet" href="<?php echo $conf['view_url'];?>css/bootstrap.min.css<?php echo $static_version;?>">
 | 
				
			||||||
 | 
						<?php } ?>
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						<!--{hook header_link_after.htm}-->
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					</head>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<body>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!--{hook header_body_start.htm}-->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div id="wrapper">
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						<!--{hook header_wrapper_start.htm}-->
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						<?php include _include(APP_PATH.'view/htm/header_nav.inc.htm');?>
 | 
				
			||||||
							
								
								
									
										168
									
								
								z_daisy/overwrite/view/htms/header_nav.inc.htm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										168
									
								
								z_daisy/overwrite/view/htms/header_nav.inc.htm
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,168 @@
 | 
				
			|||||||
 | 
						
 | 
				
			||||||
 | 
						<!--{hook header_nav_start.htm}-->
 | 
				
			||||||
 | 
						<!-- 删掉影响样式的css -->
 | 
				
			||||||
 | 
						<nav class="navbar navbar-dark bg-inverse navbar-full navbar-fixed-top" id="header">
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
							<!-- PC 导航 -->
 | 
				
			||||||
 | 
							<div class="container collapse navbar-toggleable-md">
 | 
				
			||||||
 | 
								<div class="row">
 | 
				
			||||||
 | 
									<!-- 左侧:版块区域 -->
 | 
				
			||||||
 | 
									<div class="col-md-8">
 | 
				
			||||||
 | 
										<ul class="nav navbar-nav" id="nav_pc">
 | 
				
			||||||
 | 
										
 | 
				
			||||||
 | 
											<!--{hook header_nav_pc_start.htm}-->
 | 
				
			||||||
 | 
											
 | 
				
			||||||
 | 
											<!-- LOGO -->
 | 
				
			||||||
 | 
											<li class="nav-item"><img src="<?php echo $conf['view_url'];?>img/logo.png" class="logo-sm"></li>
 | 
				
			||||||
 | 
											
 | 
				
			||||||
 | 
											<!--{hook header_nav_logo_after.htm}-->
 | 
				
			||||||
 | 
											
 | 
				
			||||||
 | 
											<!-- 前台首页 -->
 | 
				
			||||||
 | 
											<li class="nav-item home" fid="0"><a class="nav-link" href="."><?php echo lang('index_page');?></a></li>
 | 
				
			||||||
 | 
											
 | 
				
			||||||
 | 
											<!--{hook header_nav_home_link_after.htm}-->
 | 
				
			||||||
 | 
											
 | 
				
			||||||
 | 
											<!-- 版块 -->
 | 
				
			||||||
 | 
											<?php foreach($forumlist_show as $_forum) { ?>
 | 
				
			||||||
 | 
											
 | 
				
			||||||
 | 
											<!--{hook header_nav_forumlist_loop_start.htm}-->
 | 
				
			||||||
 | 
											<li class="nav-item" fid="<?php echo $_forum['fid'];?>">
 | 
				
			||||||
 | 
												<a class="nav-link" href="<?php echo url("forum-$_forum[fid]");?>"><?php echo $_forum['name'];?></a>
 | 
				
			||||||
 | 
											</li>
 | 
				
			||||||
 | 
											<!--{hook header_nav_forumlist_loop_end.htm}-->
 | 
				
			||||||
 | 
											
 | 
				
			||||||
 | 
											<?php } ?>
 | 
				
			||||||
 | 
											
 | 
				
			||||||
 | 
											<!--{hook header_nav_pc_end.htm}-->
 | 
				
			||||||
 | 
											
 | 
				
			||||||
 | 
										</ul>
 | 
				
			||||||
 | 
									</div>
 | 
				
			||||||
 | 
									<!-- 右侧:用户区域-->
 | 
				
			||||||
 | 
									<div class="col-md-4">
 | 
				
			||||||
 | 
										<ul class="nav navbar-nav pull-right">
 | 
				
			||||||
 | 
										
 | 
				
			||||||
 | 
											<!--{hook header_nav_pc_user_start.htm}-->
 | 
				
			||||||
 | 
											
 | 
				
			||||||
 | 
											<!-- 游客 -->
 | 
				
			||||||
 | 
											<?php if(empty($uid)) { ?>
 | 
				
			||||||
 | 
											
 | 
				
			||||||
 | 
											<li class="nav-item"><a class="nav-link" href="<?php echo url('user-login');?>"><?php echo lang('login');?></a></li>
 | 
				
			||||||
 | 
											<li class="nav-item"><a class="nav-link" href="<?php echo url('user-create');?>"><?php echo lang('register');?></a></li>
 | 
				
			||||||
 | 
											
 | 
				
			||||||
 | 
											<!-- 登陆用户 -->
 | 
				
			||||||
 | 
											<?php } else { ?>
 | 
				
			||||||
 | 
											
 | 
				
			||||||
 | 
											<li class="nav-item"><a class="nav-link" href="<?php echo url('my');?>" tabindex="-1"><img class="avatar-xs" src="<?php echo $user['avatar_url'];?>"></a></li>
 | 
				
			||||||
 | 
											<li class="nav-item username m-l-xs"><a class="nav-link" href="<?php echo url('my');?>"><?php echo $user['username'];?></a></li>
 | 
				
			||||||
 | 
											<!-- 管理员 -->
 | 
				
			||||||
 | 
											<?php if($gid == 1) { ?>
 | 
				
			||||||
 | 
											<li class="nav-item"><a class="nav-link" href="admin/"><i class="icon-home"></i> <?php echo lang('admin_page');?></a></li>
 | 
				
			||||||
 | 
											<?php } ?>
 | 
				
			||||||
 | 
											<li class="nav-item"><a class="nav-link" href="<?php echo url('user-logout');?>"><?php echo lang('logout');?></a></li>
 | 
				
			||||||
 | 
											
 | 
				
			||||||
 | 
											<?php } ?>
 | 
				
			||||||
 | 
											
 | 
				
			||||||
 | 
											<!--{hook header_nav_pc_user_end.htm}-->
 | 
				
			||||||
 | 
										</ul>
 | 
				
			||||||
 | 
									</div>
 | 
				
			||||||
 | 
								</div>
 | 
				
			||||||
 | 
							</div>
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							<!-- 手机导航 -->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							<table width="100%" class="hidden-lg-up navbar-nav">
 | 
				
			||||||
 | 
								<tr>
 | 
				
			||||||
 | 
									<td width="100">
 | 
				
			||||||
 | 
										<?php if($route == 'index' || $route == 'forum') { ?>
 | 
				
			||||||
 | 
										<a class="icon-navicon navbar-toggler" role="button" data-toggle="collapse" data-target="#mobile_collapsing_bavbar"></a>
 | 
				
			||||||
 | 
										 <?php } else { ?>
 | 
				
			||||||
 | 
										 <div class="nav-item">
 | 
				
			||||||
 | 
											 <a class="nav-link icon-chevron-left xn-back" href="javascript:history.back();" aria-label="<?php echo lang('back');?>"></a>
 | 
				
			||||||
 | 
										 </div>
 | 
				
			||||||
 | 
										 <?php } ?>
 | 
				
			||||||
 | 
								
 | 
				
			||||||
 | 
									</td>
 | 
				
			||||||
 | 
									<td>
 | 
				
			||||||
 | 
										<a class="nav-link text-center" href="<?php echo $header['mobile_link'];?>">
 | 
				
			||||||
 | 
										<?php if($header['mobile_title']) { ?>
 | 
				
			||||||
 | 
											<?php echo $header['mobile_title'];?>
 | 
				
			||||||
 | 
										<?php } else { ?>
 | 
				
			||||||
 | 
											<img src="<?php echo $conf['view_url'];?>img/logo.png" class="logo-sm center-block">
 | 
				
			||||||
 | 
										<?php } ?>
 | 
				
			||||||
 | 
										</a>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									</td>
 | 
				
			||||||
 | 
									<td width="100" align="right">
 | 
				
			||||||
 | 
										<?php if(empty($uid)) { ?>
 | 
				
			||||||
 | 
											<a class="nav-link m-r-xs" href="<?php echo url('user-login');?>" aria-label="<?php echo lang('login');?>"> <i class="icon-user  icon-2x"></i></a>
 | 
				
			||||||
 | 
										<?php } else { ?>
 | 
				
			||||||
 | 
											
 | 
				
			||||||
 | 
										<?php if($route != 'thread') { ?>
 | 
				
			||||||
 | 
											<a class="nav-link icon-edit icon" href="<?php echo url("thread-create-$fid");?>" aria-label="<?php echo lang('thread_create');?>"></a>
 | 
				
			||||||
 | 
										<?php } else { ?>
 | 
				
			||||||
 | 
											<a class="nav-link icon-reply icon" href="<?php echo url("post-create-$tid");?>" aria-label="<?php echo lang('post_create_new');?>"></a>
 | 
				
			||||||
 | 
										<?php } ?>
 | 
				
			||||||
 | 
											
 | 
				
			||||||
 | 
										<?php } ?>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									</td>
 | 
				
			||||||
 | 
								</tr>
 | 
				
			||||||
 | 
							</table>
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							<!-- 手机导航:下拉菜单 mobile navigation drop menu -->
 | 
				
			||||||
 | 
							<div class="collapse" id="mobile_collapsing_bavbar" style="overflow-y: auto;">
 | 
				
			||||||
 | 
								<div class="p-a-1">
 | 
				
			||||||
 | 
									<ul class="nav navbar-nav" id="nav_mobile">
 | 
				
			||||||
 | 
										<li class="nav-item">
 | 
				
			||||||
 | 
											<a class="nav-link" href="./"><i class="icon-home"></i> <?php echo lang('index_page');?></a>
 | 
				
			||||||
 | 
										</li>
 | 
				
			||||||
 | 
										
 | 
				
			||||||
 | 
										<!--{hook header_nav_mobile_forum_before.htm}-->
 | 
				
			||||||
 | 
										
 | 
				
			||||||
 | 
										<?php foreach($forumlist_show as $_forum) { ?>
 | 
				
			||||||
 | 
										<li class="nav-item" fid="<?php echo $_forum['fid'];?>">
 | 
				
			||||||
 | 
											<a class="nav-link m-l-2" href="<?php echo url("forum-$_forum[fid]");?>"><i class="icon-circle-blank"></i> <?php echo $_forum['name'];?></a>
 | 
				
			||||||
 | 
										</li>
 | 
				
			||||||
 | 
										<?php } ?>
 | 
				
			||||||
 | 
										
 | 
				
			||||||
 | 
										<!--{hook header_nav_mobile_forum_after.htm}-->
 | 
				
			||||||
 | 
										
 | 
				
			||||||
 | 
										<!-- 个人资料 / profile -->
 | 
				
			||||||
 | 
										<?php if($uid) { ?>
 | 
				
			||||||
 | 
										<li class="nav-item">
 | 
				
			||||||
 | 
											<a class="nav-link" href="<?php echo url('my');?>"><i class="icon-user"></i> <?php echo lang('user_profile');?></a>
 | 
				
			||||||
 | 
										</li>
 | 
				
			||||||
 | 
										<?php } ?>
 | 
				
			||||||
 | 
										
 | 
				
			||||||
 | 
										<!-- 后台 / background -->
 | 
				
			||||||
 | 
										<?php if($gid == 1) { ?>
 | 
				
			||||||
 | 
										<li class="nav-item">
 | 
				
			||||||
 | 
											<a class="nav-link" href="admin/"><i class="icon-home"></i> <?php echo lang('admin_page');?></a>
 | 
				
			||||||
 | 
										</li>
 | 
				
			||||||
 | 
										<?php } ?>
 | 
				
			||||||
 | 
										
 | 
				
			||||||
 | 
										<!--{hook header_nav_mobile_logout_before.htm}-->
 | 
				
			||||||
 | 
										
 | 
				
			||||||
 | 
										<!-- 退出 / logout-->
 | 
				
			||||||
 | 
										<?php if($uid) { ?>
 | 
				
			||||||
 | 
										<li class="nav-item">
 | 
				
			||||||
 | 
											<a class="nav-link" href="<?php echo url('user-logout');?>"><i class="icon-off"></i> <?php echo lang('logout');?></a>
 | 
				
			||||||
 | 
										</li>
 | 
				
			||||||
 | 
										<?php } ?>
 | 
				
			||||||
 | 
										
 | 
				
			||||||
 | 
										<!--{hook header_nav_mobile_logout_after.htm}-->
 | 
				
			||||||
 | 
									</ul>
 | 
				
			||||||
 | 
								</div>
 | 
				
			||||||
 | 
							</div>
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
						</nav>
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						<!--{hook header_nav_footer.htm}-->
 | 
				
			||||||
							
								
								
									
										284
									
								
								z_daisy/overwrite/view/htms/thread.htm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										284
									
								
								z_daisy/overwrite/view/htms/thread.htm
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,284 @@
 | 
				
			|||||||
 | 
					<?php include _include(APP_PATH.'view/htm/header.inc.htm');?>
 | 
				
			||||||
 | 
					<div id="body" class="container">
 | 
				
			||||||
 | 
					<!--{hook body_start.htm}-->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!--{hook thread_start.htm}-->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!-- only for screenreader  -->
 | 
				
			||||||
 | 
					<a role="button" class="sr-only sr-focusable" href="<?php echo url('thread-create-'.$fid);?>"><?php echo lang('thread_create_new');?></a>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="row">
 | 
				
			||||||
 | 
						<div class="col-lg-9">
 | 
				
			||||||
 | 
							<!--{hook thread_breadcrumb_before.htm}-->
 | 
				
			||||||
 | 
							<ol class="breadcrumb m-b-sm hidden-lg-down">
 | 
				
			||||||
 | 
								<li class="breadcrumb-item"><a href="./" aria-label="<?php echo lang('index_page');?>"><i class="icon-home"></i></a></li>
 | 
				
			||||||
 | 
								<li class="breadcrumb-item"><a href="<?php echo url("forum-$fid");?>"><?php echo $forum['name'];?></a></li>
 | 
				
			||||||
 | 
								<li class="breadcrumb-item active"><a href="<?php echo url("thread-$tid");?>" title="<?php echo lang('index_page');?>返回主题第一页"><?php echo $thread['subject'];?></a></li>
 | 
				
			||||||
 | 
								<!--{hook thread_breadcrumb.htm}-->
 | 
				
			||||||
 | 
							</ol>
 | 
				
			||||||
 | 
							<!--{hook thread_breadcrumb_after.htm}-->
 | 
				
			||||||
 | 
							<div class="card card-block">
 | 
				
			||||||
 | 
								<dl class="row">
 | 
				
			||||||
 | 
									<dt class="vtop p-r-1 td-avatar">
 | 
				
			||||||
 | 
										<a href="<?php echo url("user-$thread[uid]");?>" tabindex="-1">
 | 
				
			||||||
 | 
											<img class="avatar" src="<?php echo $thread['user_avatar_url'];?>">
 | 
				
			||||||
 | 
										</a>
 | 
				
			||||||
 | 
									</dt>
 | 
				
			||||||
 | 
									<dd>
 | 
				
			||||||
 | 
										<!--{hook thread_subject_before.htm}-->
 | 
				
			||||||
 | 
										<h3 class="break-all">
 | 
				
			||||||
 | 
											<!--{hook thread_subject_start.htm}-->
 | 
				
			||||||
 | 
											<?php echo $thread['subject'];?>
 | 
				
			||||||
 | 
											<!--{hook thread_subject_end.htm}-->
 | 
				
			||||||
 | 
										</h3>
 | 
				
			||||||
 | 
										<!--{hook thread_subject_after.htm}-->
 | 
				
			||||||
 | 
										<dl class="row small">
 | 
				
			||||||
 | 
											<dt>
 | 
				
			||||||
 | 
												<!--{hook thread_username_before.htm}-->
 | 
				
			||||||
 | 
												<span class="username text-muted">
 | 
				
			||||||
 | 
													<a href="<?php echo url("user-$thread[uid]");?>"><?php echo $thread['username'];?></a>
 | 
				
			||||||
 | 
												</span>
 | 
				
			||||||
 | 
												<span class="date text-grey m-l-1"><?php echo $thread['create_date_fmt'];?></span>
 | 
				
			||||||
 | 
												<span class="text-grey m-l-1 hidden-md-down"><i class="icon-eye"></i> <?php echo $thread['views'];?></span>
 | 
				
			||||||
 | 
												<!--{hook thread_views_after.htm}-->
 | 
				
			||||||
 | 
											</dt>
 | 
				
			||||||
 | 
											<dd class="text-right">
 | 
				
			||||||
 | 
												<!--{hook thread_update_before.htm}-->
 | 
				
			||||||
 | 
												<?php if($allowupdate || $first['allowupdate']) { ?>
 | 
				
			||||||
 | 
												<a href="<?php echo url("post-update-$thread[firstpid]");?>" class="text-grey m-r-1 post_update"><i class="icon-edit"></i> <?php echo lang('edit');?></a>
 | 
				
			||||||
 | 
												<?php } ?>
 | 
				
			||||||
 | 
												
 | 
				
			||||||
 | 
												<?php if($allowdelete || $first['allowdelete']) { ?>
 | 
				
			||||||
 | 
												<a data-href="<?php echo url("post-delete-$thread[firstpid]");?>" href="javascript:void(0);" class="text-grey post_delete" isfirst="1"><i class="icon-remove"></i> <?php echo lang('delete');?></a>
 | 
				
			||||||
 | 
												<?php } ?>
 | 
				
			||||||
 | 
												<!--{hook thread_delete_after.htm}-->
 | 
				
			||||||
 | 
											</dd>
 | 
				
			||||||
 | 
										</dl>
 | 
				
			||||||
 | 
									</dd>
 | 
				
			||||||
 | 
								</dl>
 | 
				
			||||||
 | 
								<hr />
 | 
				
			||||||
 | 
								<div class="message break-all" isfirst="1">
 | 
				
			||||||
 | 
								<?php if($page == 1) { ?>
 | 
				
			||||||
 | 
								
 | 
				
			||||||
 | 
									<!--{hook thread_message_before.htm}-->
 | 
				
			||||||
 | 
									<?php echo $first['message_fmt'];?>
 | 
				
			||||||
 | 
									<!--{hook thread_message_after.htm}-->
 | 
				
			||||||
 | 
									
 | 
				
			||||||
 | 
									<?php echo post_file_list_html($first['filelist']);?>
 | 
				
			||||||
 | 
									<!--{hook thread_filelist_after.htm}-->
 | 
				
			||||||
 | 
									
 | 
				
			||||||
 | 
								<?php } else { ?>
 | 
				
			||||||
 | 
								
 | 
				
			||||||
 | 
									<!--{hook thread_message_more_before.htm}-->
 | 
				
			||||||
 | 
									<p><a href="<?php echo url("thread-$tid");?>"><?php echo lang('view_thread_message');?></a></p>
 | 
				
			||||||
 | 
									<!--{hook thread_message_more_after.htm}-->
 | 
				
			||||||
 | 
									
 | 
				
			||||||
 | 
								<?php } ?>
 | 
				
			||||||
 | 
								</div>
 | 
				
			||||||
 | 
							</div>
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							<!--{hook thread_postlist_before.htm}-->
 | 
				
			||||||
 | 
							<div class="card post p-a-sm">
 | 
				
			||||||
 | 
								<table class="table postlist m-b-0">
 | 
				
			||||||
 | 
									<thead>
 | 
				
			||||||
 | 
										<tr>
 | 
				
			||||||
 | 
											<th colspan="2" class="p-a-0  p-b-sm">
 | 
				
			||||||
 | 
												<dl class="row">
 | 
				
			||||||
 | 
													<dt>
 | 
				
			||||||
 | 
														<b><?php echo lang('new_post');?></b> (<span class="posts"><?php echo $thread['posts'];?></span>)
 | 
				
			||||||
 | 
													</dt>
 | 
				
			||||||
 | 
													<dd>
 | 
				
			||||||
 | 
														<!--{hook thread_post_list_title_right.htm}-->
 | 
				
			||||||
 | 
													</dd>
 | 
				
			||||||
 | 
												</dl>
 | 
				
			||||||
 | 
											</th>
 | 
				
			||||||
 | 
										</tr>
 | 
				
			||||||
 | 
									</thead>
 | 
				
			||||||
 | 
									<tbody>
 | 
				
			||||||
 | 
									
 | 
				
			||||||
 | 
										<?php include _include(APP_PATH.'view/htm/post_list.inc.htm'); ?>
 | 
				
			||||||
 | 
										
 | 
				
			||||||
 | 
										
 | 
				
			||||||
 | 
										
 | 
				
			||||||
 | 
										<?php if(!empty($user)) { ?>
 | 
				
			||||||
 | 
										<tr class="post">
 | 
				
			||||||
 | 
											<td class="td-avatar">
 | 
				
			||||||
 | 
												<a href="<?php echo url("user-$thread[uid]");?>" tabindex="-1">
 | 
				
			||||||
 | 
													<img class="avatar" src="<?php echo $user['avatar_url'];?>">
 | 
				
			||||||
 | 
												</a>
 | 
				
			||||||
 | 
											</td>
 | 
				
			||||||
 | 
											<td class="p-l-0">
 | 
				
			||||||
 | 
												<form action="<?php echo url("post-create-$tid-1");?>" method="post" id="quick_reply_form">	
 | 
				
			||||||
 | 
													<input type="hidden" name="doctype" value="1" />
 | 
				
			||||||
 | 
													<input type="hidden" name="return_html" value="1" />
 | 
				
			||||||
 | 
													<input type="hidden" name="quotepid" value="0" />
 | 
				
			||||||
 | 
													<dl class="row small text-muted">
 | 
				
			||||||
 | 
														<dt class="username"><?php echo $user['username'];?></dt>
 | 
				
			||||||
 | 
														<dd class="text-right text-grey"><span class="floor"><?php echo ($thread['posts'] + 1);?></span><?php echo lang('floor');?></dd>
 | 
				
			||||||
 | 
													</dl>
 | 
				
			||||||
 | 
													<div class="message m-t-xs">
 | 
				
			||||||
 | 
														<fieldset class="form-group m-b-0">
 | 
				
			||||||
 | 
															<textarea class="form-control" placeholder="<?php echo lang('message');?>" name="message" id="message"></textarea>
 | 
				
			||||||
 | 
														</fieldset>
 | 
				
			||||||
 | 
													</div>
 | 
				
			||||||
 | 
													<div class="text-muted  m-t-sm small">
 | 
				
			||||||
 | 
														<dl class="row">
 | 
				
			||||||
 | 
															<dt>
 | 
				
			||||||
 | 
																<!--{hook thread_quick_reply_left_start.htm}-->
 | 
				
			||||||
 | 
																<button type="submit" class="btn btn-sm btn-primary" id="submit" data-loading-text="<?php echo lang('submiting');?>..."> <?php echo lang('post_create');?> </button>
 | 
				
			||||||
 | 
																<!--{hook thread_quick_reply_left_end.htm}-->
 | 
				
			||||||
 | 
															</dt>
 | 
				
			||||||
 | 
															<dd class="text-right vtop">
 | 
				
			||||||
 | 
																<!--{hook thread_quick_reply_right_start.htm}-->
 | 
				
			||||||
 | 
																<a class="icon-mail-forward text-muted" href="<?php echo url("post-create-$tid");?>" id="advanced_reply"> <?php echo lang('advanced_reply');?></a>
 | 
				
			||||||
 | 
																<!--{hook thread_quick_reply_right_end.htm}-->
 | 
				
			||||||
 | 
															</dd>
 | 
				
			||||||
 | 
														</dl>
 | 
				
			||||||
 | 
													</div>
 | 
				
			||||||
 | 
												</form>
 | 
				
			||||||
 | 
											</td>
 | 
				
			||||||
 | 
										</tr>
 | 
				
			||||||
 | 
										<?php } ?>
 | 
				
			||||||
 | 
									</tbody>
 | 
				
			||||||
 | 
								</table>
 | 
				
			||||||
 | 
							</div>
 | 
				
			||||||
 | 
							<!--{hook thread_postlist_after.htm}-->
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							<?php if($pagination) { ?>
 | 
				
			||||||
 | 
							<nav class="text-center"><ul class="pagination m-y-xs"><?php echo $pagination; ?></ul></nav>
 | 
				
			||||||
 | 
							<?php }?>
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							<!--{hook thread_page_after.htm}-->
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							<a role="button" class="btn btn-secondary btn-block xn-back m-y-1 m-x-auto" style="max-width: 50%;" href="javascript:history.back();"><?php echo lang('back');?></a>
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
						</div>
 | 
				
			||||||
 | 
						<div class="col-lg-3 hidden-md-down">
 | 
				
			||||||
 | 
							<a role="button" class="btn btn-primary btn-block btn-sm m-b-sm hidden-md-down" href="<?php echo url('thread-create-'.$fid);?>"><?php echo lang('thread_create_new');?></a>
 | 
				
			||||||
 | 
							<div class="card hidden-md-down">
 | 
				
			||||||
 | 
								<!--{hook thread_user_before.htm}-->
 | 
				
			||||||
 | 
								<a href="<?php echo url("user-$thread[uid]");?>">
 | 
				
			||||||
 | 
									<img class="avatar-lg center-block m-t-1" src="<?php echo $thread['user_avatar_url'];?>">
 | 
				
			||||||
 | 
								</a>
 | 
				
			||||||
 | 
								<h5 class="text-xs-center"><?php echo $thread['username'];?></h5>
 | 
				
			||||||
 | 
								<div class="card-group card-group-nest">
 | 
				
			||||||
 | 
									<div class="card">
 | 
				
			||||||
 | 
										<div class="card-block">
 | 
				
			||||||
 | 
											<div class="text-xs-center text-muted small"><?php echo lang('threads');?></div>
 | 
				
			||||||
 | 
											<h5 class="text-xs-center"><?php echo $thread['user']['threads'];?></h5>
 | 
				
			||||||
 | 
										</div>
 | 
				
			||||||
 | 
									</div>
 | 
				
			||||||
 | 
									<div class="card">
 | 
				
			||||||
 | 
										<div class="card-block">
 | 
				
			||||||
 | 
											<div class="text-xs-center text-muted small"><?php echo lang('posts');?></div>
 | 
				
			||||||
 | 
											<h5 class="text-xs-center"><?php echo $thread['user']['posts'];?></h5>
 | 
				
			||||||
 | 
										</div>
 | 
				
			||||||
 | 
									</div>
 | 
				
			||||||
 | 
									<div class="card">
 | 
				
			||||||
 | 
										<div class="card-block">
 | 
				
			||||||
 | 
											<div class="text-xs-center text-muted small"><?php echo lang('create_rank');?></div>
 | 
				
			||||||
 | 
											<h5 class="text-xs-center"><?php echo $thread['user']['uid'];?></h5>
 | 
				
			||||||
 | 
										</div>
 | 
				
			||||||
 | 
									</div>
 | 
				
			||||||
 | 
								</div>
 | 
				
			||||||
 | 
							</div>
 | 
				
			||||||
 | 
							<!--{hook thread_user_after.htm}-->
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
						</div>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!--{hook thread_end.htm}-->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<?php include _include(APP_PATH.'view/htm/footer.inc.htm');?>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<script>
 | 
				
			||||||
 | 
					var jform = $('#quick_reply_form');
 | 
				
			||||||
 | 
					var jsubmit = $('#submit');
 | 
				
			||||||
 | 
					jform.on('submit', function() {
 | 
				
			||||||
 | 
						jform.reset();
 | 
				
			||||||
 | 
						jsubmit.button('loading');
 | 
				
			||||||
 | 
						var postdata = jform.serialize();
 | 
				
			||||||
 | 
						$.xpost(jform.attr('action'), postdata, function(code, message) {
 | 
				
			||||||
 | 
							if(code == 0) {
 | 
				
			||||||
 | 
								var s = '<table>'+message+'</table>';
 | 
				
			||||||
 | 
								var jtr = $(s).find('tr');
 | 
				
			||||||
 | 
								jtr.insertBefore($('table.postlist tr').last());
 | 
				
			||||||
 | 
								jsubmit.button('reset');
 | 
				
			||||||
 | 
								$('#message').val('');
 | 
				
			||||||
 | 
								
 | 
				
			||||||
 | 
								// 楼层 +1
 | 
				
			||||||
 | 
								var jfloor = jform.find('.floor');
 | 
				
			||||||
 | 
								jfloor.html(xn.intval(jfloor.html()) + 1);
 | 
				
			||||||
 | 
								
 | 
				
			||||||
 | 
								// 回复数 +1
 | 
				
			||||||
 | 
								var jposts = $('.posts');
 | 
				
			||||||
 | 
								jposts.html(xn.intval(jposts.html()) + 1);
 | 
				
			||||||
 | 
								
 | 
				
			||||||
 | 
							} else if(code < 0) {
 | 
				
			||||||
 | 
								$.alert(message);
 | 
				
			||||||
 | 
								jsubmit.button('reset');
 | 
				
			||||||
 | 
							} else {
 | 
				
			||||||
 | 
								jform.find('[name="'+code+'"]').alert(message).focus();
 | 
				
			||||||
 | 
								jsubmit.button('reset');
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						});
 | 
				
			||||||
 | 
						return false;
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 缩放图片,适应屏幕大小。
 | 
				
			||||||
 | 
					function resize_image() {
 | 
				
			||||||
 | 
						var jmessagelist = $('div.message');
 | 
				
			||||||
 | 
						var first_width = jmessagelist.width(); // 815 : 746; //  734 746
 | 
				
			||||||
 | 
						jmessagelist.each(function() {
 | 
				
			||||||
 | 
							var jdiv = $(this);
 | 
				
			||||||
 | 
							var maxwidth = jdiv.attr('isfirst') ? first_width : first_width - 79; //  734 746
 | 
				
			||||||
 | 
							var jmessage_width = Math.min(jdiv.width(), maxwidth);
 | 
				
			||||||
 | 
							jdiv.find('img, embed, iframe').each(function() {
 | 
				
			||||||
 | 
								var jimg = $(this);
 | 
				
			||||||
 | 
								//if(jimg.width() < 500) return;
 | 
				
			||||||
 | 
								var img_width = this.org_width;
 | 
				
			||||||
 | 
								var img_height = this.org_height;
 | 
				
			||||||
 | 
								if(!img_width) {
 | 
				
			||||||
 | 
									var img_width = jimg.width();
 | 
				
			||||||
 | 
									var img_height = jimg.height();
 | 
				
			||||||
 | 
									this.org_width = img_width;
 | 
				
			||||||
 | 
									this.org_height = img_height;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								//var percent = xn.min(100, xn.ceil((img_width / jmessage_width) * 100));
 | 
				
			||||||
 | 
								if(img_width > jmessage_width) {
 | 
				
			||||||
 | 
									if(this.tagName == 'IMG') {
 | 
				
			||||||
 | 
										jimg.width(jmessage_width);
 | 
				
			||||||
 | 
										jimg.css('height', 'auto');
 | 
				
			||||||
 | 
									} else {
 | 
				
			||||||
 | 
										jimg.width(jmessage_width);
 | 
				
			||||||
 | 
										var height = (img_height / img_width) * jimg.width();
 | 
				
			||||||
 | 
										jimg.height(height);
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								
 | 
				
			||||||
 | 
							});
 | 
				
			||||||
 | 
						});
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					$(function() {
 | 
				
			||||||
 | 
						resize_image();
 | 
				
			||||||
 | 
						$(window).on('resize', resize_image);
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 输入框自动伸缩
 | 
				
			||||||
 | 
					var jmessage = $('#message');
 | 
				
			||||||
 | 
					jmessage.on('focus', function() {if(jmessage.t) { clearTimeout(jmessage.t); jmessage.t = null; } jmessage.css('height', '6rem'); });
 | 
				
			||||||
 | 
					jmessage.on('blur', function() {jmessage.t = setTimeout(function() { jmessage.css('height', '2.5rem');}, 1000); });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$('#nav_pc li[fid="<?php echo $fid;?>"]').tab('show');
 | 
				
			||||||
 | 
					$('#nav_mobile li[fid="<?php echo $fid;?>"]').tab('show');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<?php if($thread['closed'] && ($gid == 0 || $gid > 5)) { ?>
 | 
				
			||||||
 | 
					<script>
 | 
				
			||||||
 | 
					jmessage.val('<?php echo lang('thread_has_already_closed');?>').attr('readonly', 'readonly');
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
 | 
					<?php } ?>
 | 
				
			||||||
 | 
					<!--{hook thread_js.htm}-->
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
							
								
								
									
										146
									
								
								z_daisy/route/doc.htm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										146
									
								
								z_daisy/route/doc.htm
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,146 @@
 | 
				
			|||||||
 | 
					<?php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					!defined('DEBUG') AND exit('Access Denied.');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$action = param(1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// hook thread_start.php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 发表主题帖 | create new thread
 | 
				
			||||||
 | 
					if($action == 'create') {
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						// hook thread_create_get_post.php
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
						user_login_check();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if($method == 'GET') {
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							// hook thread_create_get_start.php
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							$fid = param(2, 0);
 | 
				
			||||||
 | 
							$forum = $fid ? forum_read($fid) : array();
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							$forumlist_allowthread = forum_list_access_filter($forumlist, $gid, 'allowthread');
 | 
				
			||||||
 | 
							$forumarr = xn_json_encode(arrlist_key_values($forumlist_allowthread, 'fid', 'name'));
 | 
				
			||||||
 | 
							if(empty($forumlist_allowthread)) {
 | 
				
			||||||
 | 
								message(-1, lang('user_group_insufficient_privilege'));
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							$header['title'] = lang('create_thread');
 | 
				
			||||||
 | 
							$header['mobile_title'] = $fid ? $forum['name'] : '';
 | 
				
			||||||
 | 
							$header['mobile_linke'] = url("forum-$fid");
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							// hook thread_create_get_end.php
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							include _include(APP_PATH.'view/htm/post.htm');
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
						} else {
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							// hook thread_create_thread_start.php
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							include XIUNOPHP_PATH.'xn_html_safe.func.php';
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							$fid = param('fid', 0);
 | 
				
			||||||
 | 
							$forum = forum_read($fid);
 | 
				
			||||||
 | 
							empty($forum) AND message('fid', lang('forum_not_exists'));
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							$r = forum_access_user($fid, $gid, 'allowthread');
 | 
				
			||||||
 | 
							!$r AND message(-1, lang('user_group_insufficient_privilege'));
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							$subject = htmlspecialchars(param('subject', '', FALSE));
 | 
				
			||||||
 | 
							empty($subject) AND message('subject', lang('please_input_subject'));
 | 
				
			||||||
 | 
							xn_strlen($subject) > 128 AND message('subject', lang('subject_length_over_limit', array('maxlength'=>128)));
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							$message = param('message', '', FALSE);
 | 
				
			||||||
 | 
							empty($message) AND message('message', lang('please_input_message'));
 | 
				
			||||||
 | 
							$doctype = param('doctype', 0);
 | 
				
			||||||
 | 
							$doctype > 10 AND message(-1, lang('doc_type_not_supported'));
 | 
				
			||||||
 | 
							xn_strlen($message) > 2028000 AND message('message', lang('message_too_long'));
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							$thread = array (
 | 
				
			||||||
 | 
								'fid'=>$fid,
 | 
				
			||||||
 | 
								'uid'=>$uid,
 | 
				
			||||||
 | 
								'sid'=>$sid,
 | 
				
			||||||
 | 
								'subject'=>$subject,
 | 
				
			||||||
 | 
								'message'=>$message,
 | 
				
			||||||
 | 
								'time'=>$time,
 | 
				
			||||||
 | 
								'longip'=>$longip,
 | 
				
			||||||
 | 
								'doctype'=>$doctype,
 | 
				
			||||||
 | 
							);
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							// hook thread_create_thread_before.php
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							$tid = thread_create($thread, $pid);
 | 
				
			||||||
 | 
							$pid === FALSE AND message(-1, lang('create_post_failed'));
 | 
				
			||||||
 | 
							$tid === FALSE AND message(-1, lang('create_thread_failed'));
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							// hook thread_create_thread_end.php
 | 
				
			||||||
 | 
							message(0, lang('create_thread_sucessfully'));
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					// 帖子详情 | post detail
 | 
				
			||||||
 | 
					} else {
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						// thread-{tid}-{page}-{keyword}.htm
 | 
				
			||||||
 | 
						$tid = param(1, 0);
 | 
				
			||||||
 | 
						$page = param(2, 1);
 | 
				
			||||||
 | 
						$keyword = param(3);
 | 
				
			||||||
 | 
						$pagesize = $conf['postlist_pagesize'];
 | 
				
			||||||
 | 
						//$pagesize = 10;
 | 
				
			||||||
 | 
						//$page == 1 AND $pagesize++;
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						// hook thread_info_start.php
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						$thread = thread_read($tid);
 | 
				
			||||||
 | 
						empty($thread) AND message(-1, lang('thread_not_exists'));;
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						$fid = $thread['fid'];
 | 
				
			||||||
 | 
						$forum = forum_read($fid);
 | 
				
			||||||
 | 
						empty($forum) AND message(3, lang('forum_not_exists'));
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						$postlist = post_find_by_tid($tid, $page, $pagesize);
 | 
				
			||||||
 | 
						empty($postlist) AND message(4, lang('post_not_exists'));
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						if($page == 1) {
 | 
				
			||||||
 | 
							empty($postlist[$thread['firstpid']]) AND message(-1, lang('data_malformation'));
 | 
				
			||||||
 | 
							$first = $postlist[$thread['firstpid']];
 | 
				
			||||||
 | 
							unset($postlist[$thread['firstpid']]);
 | 
				
			||||||
 | 
							$attachlist = $imagelist = $filelist = array();
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							// 如果是大站,可以用单独的点击服务,减少 db 压力
 | 
				
			||||||
 | 
							// if request is huge, separate it from mysql server
 | 
				
			||||||
 | 
							thread_inc_views($tid);
 | 
				
			||||||
 | 
						} else {
 | 
				
			||||||
 | 
							$first = post_read($thread['firstpid']);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						$keywordurl = '';
 | 
				
			||||||
 | 
						if($keyword) {
 | 
				
			||||||
 | 
							$thread['subject'] = post_highlight_keyword($thread['subject'], $keyword);
 | 
				
			||||||
 | 
							//$first['message'] = post_highlight_keyword($first['subject']);
 | 
				
			||||||
 | 
							$keywordurl = "-$keyword";
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						$allowpost = forum_access_user($fid, $gid, 'allowpost') ? 1 : 0;
 | 
				
			||||||
 | 
						$allowupdate = forum_access_mod($fid, $gid, 'allowupdate') ? 1 : 0;
 | 
				
			||||||
 | 
						$allowdelete = forum_access_mod($fid, $gid, 'allowdelete') ? 1 : 0;
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						forum_access_user($fid, $gid, 'allowread') OR message(-1, lang('user_group_insufficient_privilege'));
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						$pagination = pagination(url("thread-$tid-{page}$keywordurl"), $thread['posts'] + 1, $page, $pagesize);
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						$header['title'] = $thread['subject'].'-'.$forum['name'].'-'.$conf['sitename']; 
 | 
				
			||||||
 | 
						//$header['mobile_title'] = lang('thread_detail');
 | 
				
			||||||
 | 
						$header['mobile_title'] = $forum['name'];;
 | 
				
			||||||
 | 
						$header['mobile_link'] = url("forum-$fid");
 | 
				
			||||||
 | 
						$header['keywords'] = ''; 
 | 
				
			||||||
 | 
						$header['description'] = $thread['subject']; 
 | 
				
			||||||
 | 
						$_SESSION['fid'] = $fid;
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						// hook thread_info_end.php
 | 
				
			||||||
 | 
						include _include(APP_PATH.'plugin/z_doc/view/htm/doc.htm');
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// hook thread_end.php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					?>
 | 
				
			||||||
							
								
								
									
										146
									
								
								z_daisy/route/doc.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										146
									
								
								z_daisy/route/doc.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,146 @@
 | 
				
			|||||||
 | 
					<?php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					!defined('DEBUG') AND exit('Access Denied.');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$action = param(1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// hook thread_start.php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 发表主题帖 | create new thread
 | 
				
			||||||
 | 
					if($action == 'create') {
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						// hook thread_create_get_post.php
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
						user_login_check();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if($method == 'GET') {
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							// hook thread_create_get_start.php
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							$fid = param(2, 0);
 | 
				
			||||||
 | 
							$forum = $fid ? forum_read($fid) : array();
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							$forumlist_allowthread = forum_list_access_filter($forumlist, $gid, 'allowthread');
 | 
				
			||||||
 | 
							$forumarr = xn_json_encode(arrlist_key_values($forumlist_allowthread, 'fid', 'name'));
 | 
				
			||||||
 | 
							if(empty($forumlist_allowthread)) {
 | 
				
			||||||
 | 
								message(-1, lang('user_group_insufficient_privilege'));
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							$header['title'] = lang('create_thread');
 | 
				
			||||||
 | 
							$header['mobile_title'] = $fid ? $forum['name'] : '';
 | 
				
			||||||
 | 
							$header['mobile_linke'] = url("forum-$fid");
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							// hook thread_create_get_end.php
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							include _include(APP_PATH.'view/htm/post.htm');
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
						} else {
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							// hook thread_create_thread_start.php
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							include XIUNOPHP_PATH.'xn_html_safe.func.php';
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							$fid = param('fid', 0);
 | 
				
			||||||
 | 
							$forum = forum_read($fid);
 | 
				
			||||||
 | 
							empty($forum) AND message('fid', lang('forum_not_exists'));
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							$r = forum_access_user($fid, $gid, 'allowthread');
 | 
				
			||||||
 | 
							!$r AND message(-1, lang('user_group_insufficient_privilege'));
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							$subject = htmlspecialchars(param('subject', '', FALSE));
 | 
				
			||||||
 | 
							empty($subject) AND message('subject', lang('please_input_subject'));
 | 
				
			||||||
 | 
							xn_strlen($subject) > 128 AND message('subject', lang('subject_length_over_limit', array('maxlength'=>128)));
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							$message = param('message', '', FALSE);
 | 
				
			||||||
 | 
							empty($message) AND message('message', lang('please_input_message'));
 | 
				
			||||||
 | 
							$doctype = param('doctype', 0);
 | 
				
			||||||
 | 
							$doctype > 10 AND message(-1, lang('doc_type_not_supported'));
 | 
				
			||||||
 | 
							xn_strlen($message) > 2028000 AND message('message', lang('message_too_long'));
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							$thread = array (
 | 
				
			||||||
 | 
								'fid'=>$fid,
 | 
				
			||||||
 | 
								'uid'=>$uid,
 | 
				
			||||||
 | 
								'sid'=>$sid,
 | 
				
			||||||
 | 
								'subject'=>$subject,
 | 
				
			||||||
 | 
								'message'=>$message,
 | 
				
			||||||
 | 
								'time'=>$time,
 | 
				
			||||||
 | 
								'longip'=>$longip,
 | 
				
			||||||
 | 
								'doctype'=>$doctype,
 | 
				
			||||||
 | 
							);
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							// hook thread_create_thread_before.php
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							$tid = thread_create($thread, $pid);
 | 
				
			||||||
 | 
							$pid === FALSE AND message(-1, lang('create_post_failed'));
 | 
				
			||||||
 | 
							$tid === FALSE AND message(-1, lang('create_thread_failed'));
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							// hook thread_create_thread_end.php
 | 
				
			||||||
 | 
							message(0, lang('create_thread_sucessfully'));
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					// 帖子详情 | post detail
 | 
				
			||||||
 | 
					} else {
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						// thread-{tid}-{page}-{keyword}.htm
 | 
				
			||||||
 | 
						$tid = param(1, 0);
 | 
				
			||||||
 | 
						$page = param(2, 1);
 | 
				
			||||||
 | 
						$keyword = param(3);
 | 
				
			||||||
 | 
						$pagesize = $conf['postlist_pagesize'];
 | 
				
			||||||
 | 
						//$pagesize = 10;
 | 
				
			||||||
 | 
						//$page == 1 AND $pagesize++;
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						// hook thread_info_start.php
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						$thread = thread_read($tid);
 | 
				
			||||||
 | 
						empty($thread) AND message(-1, lang('thread_not_exists'));;
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						$fid = $thread['fid'];
 | 
				
			||||||
 | 
						$forum = forum_read($fid);
 | 
				
			||||||
 | 
						empty($forum) AND message(3, lang('forum_not_exists'));
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						$postlist = post_find_by_tid($tid, $page, $pagesize);
 | 
				
			||||||
 | 
						empty($postlist) AND message(4, lang('post_not_exists'));
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						if($page == 1) {
 | 
				
			||||||
 | 
							empty($postlist[$thread['firstpid']]) AND message(-1, lang('data_malformation'));
 | 
				
			||||||
 | 
							$first = $postlist[$thread['firstpid']];
 | 
				
			||||||
 | 
							unset($postlist[$thread['firstpid']]);
 | 
				
			||||||
 | 
							$attachlist = $imagelist = $filelist = array();
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							// 如果是大站,可以用单独的点击服务,减少 db 压力
 | 
				
			||||||
 | 
							// if request is huge, separate it from mysql server
 | 
				
			||||||
 | 
							thread_inc_views($tid);
 | 
				
			||||||
 | 
						} else {
 | 
				
			||||||
 | 
							$first = post_read($thread['firstpid']);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						$keywordurl = '';
 | 
				
			||||||
 | 
						if($keyword) {
 | 
				
			||||||
 | 
							$thread['subject'] = post_highlight_keyword($thread['subject'], $keyword);
 | 
				
			||||||
 | 
							//$first['message'] = post_highlight_keyword($first['subject']);
 | 
				
			||||||
 | 
							$keywordurl = "-$keyword";
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						$allowpost = forum_access_user($fid, $gid, 'allowpost') ? 1 : 0;
 | 
				
			||||||
 | 
						$allowupdate = forum_access_mod($fid, $gid, 'allowupdate') ? 1 : 0;
 | 
				
			||||||
 | 
						$allowdelete = forum_access_mod($fid, $gid, 'allowdelete') ? 1 : 0;
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						forum_access_user($fid, $gid, 'allowread') OR message(-1, lang('user_group_insufficient_privilege'));
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						$pagination = pagination(url("thread-$tid-{page}$keywordurl"), $thread['posts'] + 1, $page, $pagesize);
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						$header['title'] = $thread['subject'].'-'.$forum['name'].'-'.$conf['sitename']; 
 | 
				
			||||||
 | 
						//$header['mobile_title'] = lang('thread_detail');
 | 
				
			||||||
 | 
						$header['mobile_title'] = $forum['name'];;
 | 
				
			||||||
 | 
						$header['mobile_link'] = url("forum-$fid");
 | 
				
			||||||
 | 
						$header['keywords'] = ''; 
 | 
				
			||||||
 | 
						$header['description'] = $thread['subject']; 
 | 
				
			||||||
 | 
						$_SESSION['fid'] = $fid;
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						// hook thread_info_end.php
 | 
				
			||||||
 | 
						include _include(APP_PATH.'plugin/z_doc/view/htm/doc.htm');
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// hook thread_end.php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					?>
 | 
				
			||||||
							
								
								
									
										151
									
								
								z_daisy/route/upload.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										151
									
								
								z_daisy/route/upload.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,151 @@
 | 
				
			|||||||
 | 
					<?php
 | 
				
			||||||
 | 
					!defined('DEBUG') AND exit('Access Denied.');
 | 
				
			||||||
 | 
					echo $user['uid'];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$datetime = date('Ym',time());
 | 
				
			||||||
 | 
					$targetDir = '../upload';
 | 
				
			||||||
 | 
					$uploadDir = '../../upload/attach/'.$datetime;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$cleanupTargetDir = true; 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if (!file_exists($targetDir)) {
 | 
				
			||||||
 | 
					    @mkdir($targetDir);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if (!file_exists($uploadDir)) {
 | 
				
			||||||
 | 
					    @mkdir($uploadDir);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if (isset($_REQUEST["name"])) {
 | 
				
			||||||
 | 
					    $fileName = $_REQUEST["name"];
 | 
				
			||||||
 | 
					} elseif (!empty($_FILES)) {
 | 
				
			||||||
 | 
					    $fileName = $_FILES["file"]["name"];
 | 
				
			||||||
 | 
					} else {
 | 
				
			||||||
 | 
					    $fileName = uniqid("file_");
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					// xxxxx 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$typea =  substr($fileName, strrpos($fileName, '.') + 1);
 | 
				
			||||||
 | 
					//过滤中文名图片
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo "<br>";
 | 
				
			||||||
 | 
					echo $user['uid'];
 | 
				
			||||||
 | 
					echo "<br>";
 | 
				
			||||||
 | 
					echo xn_rand(15) ;
 | 
				
			||||||
 | 
					echo "<br>";
 | 
				
			||||||
 | 
					$n=3;
 | 
				
			||||||
 | 
					//function () { 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						$str = '0123456789abcdefghijklmnopqrstuvwxyz';
 | 
				
			||||||
 | 
						$len = strlen($str);
 | 
				
			||||||
 | 
						$return = '';
 | 
				
			||||||
 | 
						for($i=0; $i<$n; $i++) {
 | 
				
			||||||
 | 
							$r = xn_rand(1, $len);
 | 
				
			||||||
 | 
							$return = $str[$r - 1];
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return $return;
 | 
				
			||||||
 | 
					//}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					$fileName = $uid.'_'.xn_rand(15).".".$typea;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$fileName = iconv('UTF-8', 'GB2312', $fileName);
 | 
				
			||||||
 | 
					$filePath = $targetDir . DIRECTORY_SEPARATOR . $fileName;
 | 
				
			||||||
 | 
					$uploadPath = $uploadDir . DIRECTORY_SEPARATOR . $fileName;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$imgUrl= $uploadDir."/".$fileName;
 | 
				
			||||||
 | 
					echo str_replace("../../","",$imgUrl);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$chunk = isset($_REQUEST["chunk"]) ? intval($_REQUEST["chunk"]) : 0;
 | 
				
			||||||
 | 
					$chunks = isset($_REQUEST["chunks"]) ? intval($_REQUEST["chunks"]) : 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if ($cleanupTargetDir) {
 | 
				
			||||||
 | 
					    if (!is_dir($targetDir) || !$dir = opendir($targetDir)) {
 | 
				
			||||||
 | 
					        die('{"jsonrpc" : "2.0", "error" : {"code": 100, "message": "Failed to open temp directory."}, "id" : "id"}');
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    while (($file = readdir($dir)) !== false) {
 | 
				
			||||||
 | 
					        $tmpfilePath = $targetDir . DIRECTORY_SEPARATOR . $file;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if ($tmpfilePath == "{$filePath}_{$chunk}.part" || $tmpfilePath == "{$filePath}_{$chunk}.parttmp") {
 | 
				
			||||||
 | 
					            continue;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if (preg_match('/\.(part|parttmp)$/', $file) && (@filemtime($tmpfilePath) < time() - $maxFileAge)) {
 | 
				
			||||||
 | 
					            @unlink($tmpfilePath);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    closedir($dir);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if (!$out = @fopen("{$filePath}_{$chunk}.parttmp", "wb")) {
 | 
				
			||||||
 | 
					    die('{"jsonrpc" : "2.0", "error" : {"code": 102, "message": "Failed to open output stream."}, "id" : "id"}');
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if (!empty($_FILES)) {
 | 
				
			||||||
 | 
					    if ($_FILES["file"]["error"] || !is_uploaded_file($_FILES["file"]["tmp_name"])) {
 | 
				
			||||||
 | 
					        die('{"jsonrpc" : "2.0", "error" : {"code": 103, "message": "Failed to move uploaded file."}, "id" : "id"}');
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (!$in = @fopen($_FILES["file"]["tmp_name"], "rb")) {
 | 
				
			||||||
 | 
					        die('{"jsonrpc" : "2.0", "error" : {"code": 101, "message": "Failed to open input stream."}, "id" : "id"}');
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					} else {
 | 
				
			||||||
 | 
					    if (!$in = @fopen("php://input", "rb")) {
 | 
				
			||||||
 | 
					        die('{"jsonrpc" : "2.0", "error" : {"code": 101, "message": "Failed to open input stream."}, "id" : "id"}');
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					while ($buff = fread($in, 4096)) {
 | 
				
			||||||
 | 
					    fwrite($out, $buff);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@fclose($out);
 | 
				
			||||||
 | 
					@fclose($in);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					rename("{$filePath}_{$chunk}.parttmp", "{$filePath}_{$chunk}.part");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$index = 0;
 | 
				
			||||||
 | 
					$done = true;
 | 
				
			||||||
 | 
					for( $index = 0; $index < $chunks; $index++ ) {
 | 
				
			||||||
 | 
					    if ( !file_exists("{$filePath}_{$index}.part") ) {
 | 
				
			||||||
 | 
					        $done = false;
 | 
				
			||||||
 | 
					        break;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					if ( $done ) {
 | 
				
			||||||
 | 
					    if (!$out = @fopen($uploadPath, "wb")) {
 | 
				
			||||||
 | 
					        die('{"jsonrpc" : "2.0", "error" : {"code": 102, "message": "Failed to open output stream."}, "id" : "id"}');
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if ( flock($out, LOCK_EX) ) {
 | 
				
			||||||
 | 
					        for( $index = 0; $index < $chunks; $index++ ) {
 | 
				
			||||||
 | 
					            if (!$in = @fopen("{$filePath}_{$index}.part", "rb")) {
 | 
				
			||||||
 | 
					                break;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            while ($buff = fread($in, 4096)) {
 | 
				
			||||||
 | 
					                fwrite($out, $buff);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            @fclose($in);
 | 
				
			||||||
 | 
					            @unlink("{$filePath}_{$index}.part");
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        flock($out, LOCK_UN);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    @fclose($out);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
							
								
								
									
										170
									
								
								z_daisy/view/css/bubble.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										170
									
								
								z_daisy/view/css/bubble.css
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,170 @@
 | 
				
			|||||||
 | 
					/* 这是主视图的样式, 放进气泡的 CSS 文件以减少占用 */
 | 
				
			||||||
 | 
					/*#masthead{box-shadow:0 .125rem .4375rem rgba(0,0,0,0.7);-webkit-box-shadow:0 .125rem .4375rem rgba(0,0,0,0.7)}*/
 | 
				
			||||||
 | 
					#masthead{position:relative;display:table;text-align:center;width:100%;overflow:hidden;transition:all 1s;color:#fff;background-color:#1e1e1f}
 | 
				
			||||||
 | 
					#masthead::before {content: "";position: absolute;top: 0;bottom: 0;left: 0;right: 0;background-color: rgba(0, 0, 0, 0.3);}
 | 
				
			||||||
 | 
					#masthead::after {content: '';width: 150%;height: 4.375rem;background: #EEEEF2;left: -25%;bottom: -2.875rem;border-radius: 100%;position: absolute;}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* 标题 12px等于0.75rem*/
 | 
				
			||||||
 | 
					.blog-title {font-size: 2.625rem;line-height: 1.5;margin-bottom: .5rem;font-weight: 200;}
 | 
				
			||||||
 | 
					.light{font-weight:300 !important}
 | 
				
			||||||
 | 
					.inner{display:table-cell;vertical-align:middle;position:relative;z-index:10;width:100%}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.blog-description {font-size: .75rem;}
 | 
				
			||||||
 | 
					.blog-background.loading{opacity:0}
 | 
				
			||||||
 | 
					.blog-background{
 | 
				
			||||||
 | 
					    /*background-attachment: fixed;*/
 | 
				
			||||||
 | 
					    display:block;
 | 
				
			||||||
 | 
					    width:100%;height:100%;
 | 
				
			||||||
 | 
					    background-repeat:no-repeat;
 | 
				
			||||||
 | 
					    background-size:cover;
 | 
				
			||||||
 | 
					    background-position:center;
 | 
				
			||||||
 | 
					    position:absolute;
 | 
				
			||||||
 | 
					    left:0;top:0;
 | 
				
			||||||
 | 
					    -webkit-filter: brightness(0.7);
 | 
				
			||||||
 | 
					    -moz-filter: brightness(0.7);
 | 
				
			||||||
 | 
					    -o-filter: brightness(0.7);
 | 
				
			||||||
 | 
					    filter: brightness(0.7);
 | 
				
			||||||
 | 
					    -webkit-transition:1s ease all;
 | 
				
			||||||
 | 
					    -moz-transition:1s ease all;
 | 
				
			||||||
 | 
					    -o-transition:1s ease all;
 | 
				
			||||||
 | 
					    transition:5s ease all;
 | 
				
			||||||
 | 
					    opacity:1
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*!
 | 
				
			||||||
 | 
					 * CSS source:https://iu.tn/archives/qi-pao-piao-fu.html
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 .bg-bubbles {
 | 
				
			||||||
 | 
					display:block;
 | 
				
			||||||
 | 
					position: absolute;
 | 
				
			||||||
 | 
					top: 0;
 | 
				
			||||||
 | 
					left: 0;
 | 
				
			||||||
 | 
					width: 100%;
 | 
				
			||||||
 | 
					height: 100%;
 | 
				
			||||||
 | 
					z-index: 1;
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 ul,li {
 | 
				
			||||||
 | 
					margin: 0;
 | 
				
			||||||
 | 
					padding: 0;
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 .bg-bubbles li {
 | 
				
			||||||
 | 
					position: absolute;
 | 
				
			||||||
 | 
					list-style: none;
 | 
				
			||||||
 | 
					display: block;
 | 
				
			||||||
 | 
					width: 40px;
 | 
				
			||||||
 | 
					height: 40px;
 | 
				
			||||||
 | 
					background-color: rgba(255,255,255,.07);
 | 
				
			||||||
 | 
					bottom: -160px;
 | 
				
			||||||
 | 
					-webkit-animation: square 25s infinite;
 | 
				
			||||||
 | 
					animation: square 25s infinite;
 | 
				
			||||||
 | 
					-webkit-transition-timing-function: linear;
 | 
				
			||||||
 | 
					transition-timing-function: linear;
 | 
				
			||||||
 | 
					border-radius: 5rem;
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 .bg-bubbles li:nth-child(1) {
 | 
				
			||||||
 | 
					left: 10%
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 .bg-bubbles li:nth-child(2) {
 | 
				
			||||||
 | 
					left: 20%;
 | 
				
			||||||
 | 
					width: 80px;
 | 
				
			||||||
 | 
					height: 80px;
 | 
				
			||||||
 | 
					-webkit-animation-delay: 200ms;
 | 
				
			||||||
 | 
					animation-delay: 200ms;
 | 
				
			||||||
 | 
					-webkit-animation-duration: 17s;
 | 
				
			||||||
 | 
					animation-duration: 17s
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 .bg-bubbles li:nth-child(3) {
 | 
				
			||||||
 | 
					left: 25%;
 | 
				
			||||||
 | 
					-webkit-animation-delay: 400ms;
 | 
				
			||||||
 | 
					animation-delay: 400ms
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 .bg-bubbles li:nth-child(4) {
 | 
				
			||||||
 | 
					left: 40%;
 | 
				
			||||||
 | 
					width: 60px;
 | 
				
			||||||
 | 
					height: 60px;
 | 
				
			||||||
 | 
					-webkit-animation-duration: 30s;
 | 
				
			||||||
 | 
					animation-duration: 30s;
 | 
				
			||||||
 | 
					background-color: rgba(255, 255, 255, .1)
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 .bg-bubbles li:nth-child(5) {
 | 
				
			||||||
 | 
					left: 70%
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 .bg-bubbles li:nth-child(6) {
 | 
				
			||||||
 | 
					left: 80%;
 | 
				
			||||||
 | 
					width: 80px;
 | 
				
			||||||
 | 
					height: 80px;
 | 
				
			||||||
 | 
					-webkit-animation-delay: 5s;
 | 
				
			||||||
 | 
					animation-delay: 5s;
 | 
				
			||||||
 | 
					background-color: rgba(255, 255, 255, .15)
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 .bg-bubbles li:nth-child(7) {
 | 
				
			||||||
 | 
					left: 32%;
 | 
				
			||||||
 | 
					width: 60px;
 | 
				
			||||||
 | 
					height: 60px;
 | 
				
			||||||
 | 
					-webkit-animation-delay: 7s;
 | 
				
			||||||
 | 
					animation-delay: 7s
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 .bg-bubbles li:nth-child(8) {
 | 
				
			||||||
 | 
					left: 55%;
 | 
				
			||||||
 | 
					width: 20px;
 | 
				
			||||||
 | 
					height: 20px;
 | 
				
			||||||
 | 
					-webkit-animation-delay: 15s;
 | 
				
			||||||
 | 
					animation-delay: 15s;
 | 
				
			||||||
 | 
					-webkit-animation-duration: 40s;
 | 
				
			||||||
 | 
					animation-duration: 40s
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 .bg-bubbles li:nth-child(9) {
 | 
				
			||||||
 | 
					left: 25%;
 | 
				
			||||||
 | 
					width: 10px;
 | 
				
			||||||
 | 
					height: 10px;
 | 
				
			||||||
 | 
					-webkit-animation-delay: 2s;
 | 
				
			||||||
 | 
					animation-delay: 2s;
 | 
				
			||||||
 | 
					-webkit-animation-duration: 40s;
 | 
				
			||||||
 | 
					animation-duration: 40s;
 | 
				
			||||||
 | 
					background-color: rgba(255, 255, 255, .1)
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 .bg-bubbles li:nth-child(10) {
 | 
				
			||||||
 | 
					left: 90%;
 | 
				
			||||||
 | 
					width: 80px;
 | 
				
			||||||
 | 
					height: 80px;
 | 
				
			||||||
 | 
					-webkit-animation-delay: 11s;
 | 
				
			||||||
 | 
					animation-delay: 11s
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 @-webkit-keyframes square {
 | 
				
			||||||
 | 
					0% {
 | 
				
			||||||
 | 
					    -webkit-transform: translateY(0);
 | 
				
			||||||
 | 
					    transform: translateY(0)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					100% {
 | 
				
			||||||
 | 
					    -webkit-transform: translateY(-700px) rotate(600deg);
 | 
				
			||||||
 | 
					    transform: translateY(-700px) rotate(600deg)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 @keyframes square {
 | 
				
			||||||
 | 
					0% {
 | 
				
			||||||
 | 
					    -webkit-transform: translateY(0);
 | 
				
			||||||
 | 
					    transform: translateY(0)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					100% {
 | 
				
			||||||
 | 
					    -webkit-transform: translateY(-700px) rotate(600deg);
 | 
				
			||||||
 | 
					    transform: translateY(-700px) rotate(600deg)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					 } /* 漂浮 */
 | 
				
			||||||
							
								
								
									
										366
									
								
								z_daisy/view/htm/doc.htm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										366
									
								
								z_daisy/view/htm/doc.htm
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,366 @@
 | 
				
			|||||||
 | 
					<?php include _include(APP_PATH.'view/htm/header.inc.htm');?>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!--{hook thread_start.htm}-->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!-- only for screenreader  -->
 | 
				
			||||||
 | 
					<a role="button" class="sr-only sr-focusable" href="<?php echo url('thread-create-'.$fid);?>"><?php echo lang('thread_create_new');?></a>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="row">
 | 
				
			||||||
 | 
						<div class="col-lg-3 hidden-md-down">
 | 
				
			||||||
 | 
							<a role="button" class="btn btn-primary btn-block btn-sm m-b-sm hidden-md-down" href="<?php echo url('thread-create-'.$fid);?>"><?php echo lang('thread_create_new');?></a>
 | 
				
			||||||
 | 
							<div class="card hidden-md-down">
 | 
				
			||||||
 | 
								<!--{hook thread_user_before.htm}-->
 | 
				
			||||||
 | 
								<a href="<?php echo url("user-$thread[uid]");?>">
 | 
				
			||||||
 | 
									<img class="avatar-lg center-block m-t-1" src="<?php echo $thread['user_avatar_url'];?>">
 | 
				
			||||||
 | 
								</a>
 | 
				
			||||||
 | 
								<h5 class="text-xs-center"><?php echo $thread['username'];?></h5>
 | 
				
			||||||
 | 
								<div class="card-group card-group-nest">
 | 
				
			||||||
 | 
									<div class="card">
 | 
				
			||||||
 | 
										<div class="card-block">
 | 
				
			||||||
 | 
											<div class="text-xs-center text-muted small"><?php echo lang('threads');?></div>
 | 
				
			||||||
 | 
											<h5 class="text-xs-center"><?php echo $thread['user']['threads'];?></h5>
 | 
				
			||||||
 | 
										</div>
 | 
				
			||||||
 | 
									</div>
 | 
				
			||||||
 | 
									<div class="card">
 | 
				
			||||||
 | 
										<div class="card-block">
 | 
				
			||||||
 | 
											<div class="text-xs-center text-muted small"><?php echo lang('posts');?></div>
 | 
				
			||||||
 | 
											<h5 class="text-xs-center"><?php echo $thread['user']['posts'];?></h5>
 | 
				
			||||||
 | 
										</div>
 | 
				
			||||||
 | 
									</div>
 | 
				
			||||||
 | 
									<div class="card">
 | 
				
			||||||
 | 
										<div class="card-block">
 | 
				
			||||||
 | 
											<div class="text-xs-center text-muted small"><?php echo lang('create_rank');?></div>
 | 
				
			||||||
 | 
											<h5 class="text-xs-center"><?php echo $thread['user']['uid'];?></h5>
 | 
				
			||||||
 | 
										</div>
 | 
				
			||||||
 | 
									</div>
 | 
				
			||||||
 | 
								</div>
 | 
				
			||||||
 | 
							</div>
 | 
				
			||||||
 | 
							<!--{hook thread_user_after.htm}-->
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
					<style>
 | 
				
			||||||
 | 
					table.nav_tag_list {margin-bottom: 0.2rem;}
 | 
				
			||||||
 | 
					table.nav_tag_list td {padding: 0.3rem;}
 | 
				
			||||||
 | 
					table.nav_tag_list td a{margin-right: 0.5rem;}
 | 
				
			||||||
 | 
					.nav_tag_list .active {font-weight: 800;}
 | 
				
			||||||
 | 
					</style>
 | 
				
			||||||
 | 
					开始
 | 
				
			||||||
 | 
							<table class="small nav_tag_list">
 | 
				
			||||||
 | 
							<?php if(!empty($forum['tagcatelist'])) {foreach($forum['tagcatelist'] as $i=>$tagcate) { ?>
 | 
				
			||||||
 | 
								<tr>
 | 
				
			||||||
 | 
									<td class="text-small text-muted text-nowrap" align="right" valign="top">
 | 
				
			||||||
 | 
										<?php echo $tagcate['name'];?>:
 | 
				
			||||||
 | 
									</td>
 | 
				
			||||||
 | 
									<td>
 | 
				
			||||||
 | 
										<?php
 | 
				
			||||||
 | 
											$tagidadd = '';
 | 
				
			||||||
 | 
											$tagactive = '';
 | 
				
			||||||
 | 
											 /*					
 | 
				
			||||||
 | 
											switch ($i) {
 | 
				
			||||||
 | 
												case 0: $tagidadd = "0_{$tagid2}_{$tagid3}_{$tagid4}";
 | 
				
			||||||
 | 
													$tagactive = 0 == $tagid1 ? ' class="active"' : '';
 | 
				
			||||||
 | 
													break;
 | 
				
			||||||
 | 
												case 1: $tagidadd = "{$tagid1}_0_{$tagid3}_{$tagid4}";
 | 
				
			||||||
 | 
													$tagactive = 0 == $tagid2 ? ' class="active"' : '';
 | 
				
			||||||
 | 
													break;
 | 
				
			||||||
 | 
												case 2: $tagidadd = "{$tagid1}_{$tagid2}_0_{$tagid4}";
 | 
				
			||||||
 | 
													$tagactive = 0 == $tagid3 ? ' class="active"' : '';
 | 
				
			||||||
 | 
													break;
 | 
				
			||||||
 | 
												case 3: $tagidadd = "{$tagid1}_{$tagid2}_{$tagid3}_0";
 | 
				
			||||||
 | 
													$tagactive = 0 == $tagid4 ? ' class="active"' : '';
 | 
				
			||||||
 | 
													break;
 | 
				
			||||||
 | 
											}
 | 
				
			||||||
 | 
						*/
 | 
				
			||||||
 | 
										?>
 | 
				
			||||||
 | 
										<a href="<?php echo url("forum-$fid-$page-$tagidadd");?>" <?php echo $tagactive;?>><?php echo lang('all');?></a>
 | 
				
			||||||
 | 
										<?php foreach($tagcate['taglist'] as $tag) { ?>
 | 
				
			||||||
 | 
										<?php 
 | 
				
			||||||
 | 
											
 | 
				
			||||||
 | 
											switch ($i) {
 | 
				
			||||||
 | 
												case 0: 
 | 
				
			||||||
 | 
													$tagidadd = "{$tag['tagid']}";
 | 
				
			||||||
 | 
													//$tagactive = $tag['tagid'] == $tagid1 ? ' class="active"' : '';
 | 
				
			||||||
 | 
													//break;
 | 
				
			||||||
 | 
													/*
 | 
				
			||||||
 | 
												case 1: $tagidadd = "{$tagid1}_{$tag['tagid']}_{$tagid3}_{$tagid4}";
 | 
				
			||||||
 | 
													$tagactive = $tag['tagid'] == $tagid2 ? ' class="active"' : '';
 | 
				
			||||||
 | 
													break;
 | 
				
			||||||
 | 
												case 2: $tagidadd = "{$tagid1}_{$tagid2}_{$tag['tagid']}_{$tagid4}";
 | 
				
			||||||
 | 
													$tagactive = $tag['tagid'] == $tagid3 ? ' class="active"' : '';
 | 
				
			||||||
 | 
													break;
 | 
				
			||||||
 | 
												case 3: $tagidadd = "{$tagid1}_{$tagid2}_{$tagid3}_{$tag['tagid']}";
 | 
				
			||||||
 | 
													$tagactive = $tag['tagid'] == $tagid4 ? ' class="active"' : '';
 | 
				
			||||||
 | 
													break;*/
 | 
				
			||||||
 | 
											}
 | 
				
			||||||
 | 
											
 | 
				
			||||||
 | 
										?>
 | 
				
			||||||
 | 
										<a href="<?php echo url("doc-$tid-$page-$tagidadd");?>" <?php echo $tagactive;?>><?php echo $tag['name'];?></a>
 | 
				
			||||||
 | 
										<?php } ?>
 | 
				
			||||||
 | 
									</td>
 | 
				
			||||||
 | 
								</tr>
 | 
				
			||||||
 | 
							<?php }} ?>
 | 
				
			||||||
 | 
							</table>
 | 
				
			||||||
 | 
							结束
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
						</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						<div class="col-lg-9">
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						  <!-- 这是新增的段落 -->
 | 
				
			||||||
 | 
						  <div>
 | 
				
			||||||
 | 
						  <?php echo "PHP输出一段信息";   ?>
 | 
				
			||||||
 | 
						  <?php echo "PHP输出user".$user['uid'];   ?>
 | 
				
			||||||
 | 
						  <?php echo "PHP输出user".$username;   ?>
 | 
				
			||||||
 | 
						  </div>
 | 
				
			||||||
 | 
						  <!-- /这是新增的段落 -->
 | 
				
			||||||
 | 
						  
 | 
				
			||||||
 | 
						  
 | 
				
			||||||
 | 
							<!--{hook thread_breadcrumb_before.htm}-->
 | 
				
			||||||
 | 
							<ol class="breadcrumb m-b-sm hidden-lg-down">
 | 
				
			||||||
 | 
								<li class="breadcrumb-item"><a href="./" aria-label="<?php echo lang('index_page');?>"><i class="icon-home"></i></a></li>
 | 
				
			||||||
 | 
								<li class="breadcrumb-item"><a href="<?php echo url("forum-$fid");?>"><?php echo $forum['name'];?></a></li>
 | 
				
			||||||
 | 
								<li class="breadcrumb-item active"><a href="<?php echo url("thread-$tid");?>" title="<?php echo lang('index_page');?>返回主题第一页"><?php echo $thread['subject'];?></a></li>
 | 
				
			||||||
 | 
								<!--{hook thread_breadcrumb.htm}-->
 | 
				
			||||||
 | 
							</ol>
 | 
				
			||||||
 | 
							<!--{hook thread_breadcrumb_after.htm}-->
 | 
				
			||||||
 | 
							<div class="card card-block">
 | 
				
			||||||
 | 
								<dl class="row">
 | 
				
			||||||
 | 
									<dt class="vtop p-r-1 td-avatar">
 | 
				
			||||||
 | 
										<a href="<?php echo url("user-$thread[uid]");?>" tabindex="-1">
 | 
				
			||||||
 | 
											<img class="avatar" src="<?php echo $thread['user_avatar_url'];?>">
 | 
				
			||||||
 | 
										</a>
 | 
				
			||||||
 | 
									</dt>
 | 
				
			||||||
 | 
									<dd>
 | 
				
			||||||
 | 
										<!--{hook thread_subject_before.htm}-->
 | 
				
			||||||
 | 
										<h3 class="break-all">
 | 
				
			||||||
 | 
											<!--{hook thread_subject_start.htm}-->
 | 
				
			||||||
 | 
											<?php echo $thread['subject'];?>
 | 
				
			||||||
 | 
											<!--{hook thread_subject_end.htm}-->
 | 
				
			||||||
 | 
										</h3>
 | 
				
			||||||
 | 
										<!--{hook thread_subject_after.htm}-->
 | 
				
			||||||
 | 
										<dl class="row small">
 | 
				
			||||||
 | 
											<dt>
 | 
				
			||||||
 | 
												<!--{hook thread_username_before.htm}-->
 | 
				
			||||||
 | 
												<span class="username text-muted">
 | 
				
			||||||
 | 
													<a href="<?php echo url("user-$thread[uid]");?>"><?php echo $thread['username'];?></a>
 | 
				
			||||||
 | 
												</span>
 | 
				
			||||||
 | 
												<span class="date text-grey m-l-1"><?php echo $thread['create_date_fmt'];?></span>
 | 
				
			||||||
 | 
												<span class="text-grey m-l-1 hidden-md-down"><i class="icon-eye"></i> <?php echo $thread['views'];?></span>
 | 
				
			||||||
 | 
												<!--{hook thread_views_after.htm}-->
 | 
				
			||||||
 | 
											</dt>
 | 
				
			||||||
 | 
											<dd class="text-right">
 | 
				
			||||||
 | 
												<!--{hook thread_update_before.htm}-->
 | 
				
			||||||
 | 
												<?php if($allowupdate || $first['allowupdate']) { ?>
 | 
				
			||||||
 | 
												<a href="<?php echo url("post-update-$thread[firstpid]");?>" class="text-grey m-r-1 post_update"><i class="icon-edit"></i> <?php echo lang('edit');?></a>
 | 
				
			||||||
 | 
												<?php } ?>
 | 
				
			||||||
 | 
												
 | 
				
			||||||
 | 
												<?php if($allowdelete || $first['allowdelete']) { ?>
 | 
				
			||||||
 | 
												<a data-href="<?php echo url("post-delete-$thread[firstpid]");?>" href="javascript:void(0);" class="text-grey post_delete" isfirst="1"><i class="icon-remove"></i> <?php echo lang('delete');?></a>
 | 
				
			||||||
 | 
												<?php } ?>
 | 
				
			||||||
 | 
												<!--{hook thread_delete_after.htm}-->
 | 
				
			||||||
 | 
											</dd>
 | 
				
			||||||
 | 
										</dl>
 | 
				
			||||||
 | 
									</dd>
 | 
				
			||||||
 | 
								</dl>
 | 
				
			||||||
 | 
								<hr />
 | 
				
			||||||
 | 
								<div class="message break-all" isfirst="1">
 | 
				
			||||||
 | 
								<?php if($page == 1) { ?>
 | 
				
			||||||
 | 
								
 | 
				
			||||||
 | 
									<!--{hook thread_message_before.htm}-->
 | 
				
			||||||
 | 
									<?php echo $first['message_fmt'];?>
 | 
				
			||||||
 | 
									<!--{hook thread_message_after.htm}-->
 | 
				
			||||||
 | 
									
 | 
				
			||||||
 | 
									<?php echo post_file_list_html($first['filelist']);?>
 | 
				
			||||||
 | 
									<!--{hook thread_filelist_after.htm}-->
 | 
				
			||||||
 | 
									
 | 
				
			||||||
 | 
								<?php } else { ?>
 | 
				
			||||||
 | 
								
 | 
				
			||||||
 | 
									<!--{hook thread_message_more_before.htm}-->
 | 
				
			||||||
 | 
									<p><a href="<?php echo url("thread-$tid");?>"><?php echo lang('view_thread_message');?></a></p>
 | 
				
			||||||
 | 
									<!--{hook thread_message_more_after.htm}-->
 | 
				
			||||||
 | 
									
 | 
				
			||||||
 | 
								<?php } ?>
 | 
				
			||||||
 | 
								</div>
 | 
				
			||||||
 | 
							</div>
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							<!--{hook thread_postlist_before.htm}-->
 | 
				
			||||||
 | 
							<div class="card post p-a-sm">
 | 
				
			||||||
 | 
								<table class="table postlist m-b-0">
 | 
				
			||||||
 | 
									<thead>
 | 
				
			||||||
 | 
										<tr>
 | 
				
			||||||
 | 
											<th colspan="2" class="p-a-0  p-b-sm">
 | 
				
			||||||
 | 
												<dl class="row">
 | 
				
			||||||
 | 
													<dt>
 | 
				
			||||||
 | 
														<b><?php echo lang('new_post');?></b> (<span class="posts"><?php echo $thread['posts'];?></span>)
 | 
				
			||||||
 | 
													</dt>
 | 
				
			||||||
 | 
													<dd>
 | 
				
			||||||
 | 
														<!--{hook thread_post_list_title_right.htm}-->
 | 
				
			||||||
 | 
													</dd>
 | 
				
			||||||
 | 
												</dl>
 | 
				
			||||||
 | 
											</th>
 | 
				
			||||||
 | 
										</tr>
 | 
				
			||||||
 | 
									</thead>
 | 
				
			||||||
 | 
									<tbody>
 | 
				
			||||||
 | 
									
 | 
				
			||||||
 | 
										<?php include _include(APP_PATH.'view/htm/post_list.inc.htm'); ?>
 | 
				
			||||||
 | 
										
 | 
				
			||||||
 | 
										
 | 
				
			||||||
 | 
										
 | 
				
			||||||
 | 
										<?php if(!empty($user)) { ?>
 | 
				
			||||||
 | 
										<tr class="post">
 | 
				
			||||||
 | 
											<td class="td-avatar">
 | 
				
			||||||
 | 
												<a href="<?php echo url("user-$thread[uid]");?>" tabindex="-1">
 | 
				
			||||||
 | 
													<img class="avatar" src="<?php echo $user['avatar_url'];?>">
 | 
				
			||||||
 | 
												</a>
 | 
				
			||||||
 | 
											</td>
 | 
				
			||||||
 | 
											<td class="p-l-0">
 | 
				
			||||||
 | 
												<form action="<?php echo url("post-create-$tid-1");?>" method="post" id="quick_reply_form">	
 | 
				
			||||||
 | 
													<input type="hidden" name="doctype" value="1" />
 | 
				
			||||||
 | 
													<input type="hidden" name="return_html" value="1" />
 | 
				
			||||||
 | 
													<input type="hidden" name="quotepid" value="0" />
 | 
				
			||||||
 | 
													<dl class="row small text-muted">
 | 
				
			||||||
 | 
														<dt class="username"><?php echo $user['username'];?></dt>
 | 
				
			||||||
 | 
														<dd class="text-right text-grey"><span class="floor"><?php echo ($thread['posts'] + 1);?></span><?php echo lang('floor');?></dd>
 | 
				
			||||||
 | 
													</dl>
 | 
				
			||||||
 | 
													<div class="message m-t-xs">
 | 
				
			||||||
 | 
														<fieldset class="form-group m-b-0">
 | 
				
			||||||
 | 
															<textarea class="form-control" placeholder="<?php echo lang('message');?>" name="message" id="message"></textarea>
 | 
				
			||||||
 | 
														</fieldset>
 | 
				
			||||||
 | 
													</div>
 | 
				
			||||||
 | 
													<div class="text-muted  m-t-sm small">
 | 
				
			||||||
 | 
														<dl class="row">
 | 
				
			||||||
 | 
															<dt>
 | 
				
			||||||
 | 
																<!--{hook thread_quick_reply_left_start.htm}-->
 | 
				
			||||||
 | 
																<button type="submit" class="btn btn-sm btn-primary" id="submit" data-loading-text="<?php echo lang('submiting');?>..."> <?php echo lang('post_create');?> </button>
 | 
				
			||||||
 | 
																<!--{hook thread_quick_reply_left_end.htm}-->
 | 
				
			||||||
 | 
															</dt>
 | 
				
			||||||
 | 
															<dd class="text-right vtop">
 | 
				
			||||||
 | 
																<!--{hook thread_quick_reply_right_start.htm}-->
 | 
				
			||||||
 | 
																<a class="icon-mail-forward text-muted" href="<?php echo url("post-create-$tid");?>" id="advanced_reply"> <?php echo lang('advanced_reply');?></a>
 | 
				
			||||||
 | 
																<!--{hook thread_quick_reply_right_end.htm}-->
 | 
				
			||||||
 | 
															</dd>
 | 
				
			||||||
 | 
														</dl>
 | 
				
			||||||
 | 
													</div>
 | 
				
			||||||
 | 
												</form>
 | 
				
			||||||
 | 
											</td>
 | 
				
			||||||
 | 
										</tr>
 | 
				
			||||||
 | 
										<?php } ?>
 | 
				
			||||||
 | 
									</tbody>
 | 
				
			||||||
 | 
								</table>
 | 
				
			||||||
 | 
							</div>
 | 
				
			||||||
 | 
							<!--{hook thread_postlist_after.htm}-->
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							<?php if($pagination) { ?>
 | 
				
			||||||
 | 
							<nav class="text-center"><ul class="pagination m-y-xs"><?php echo $pagination; ?></ul></nav>
 | 
				
			||||||
 | 
							<?php }?>
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							<!--{hook thread_page_after.htm}-->
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							<a role="button" class="btn btn-secondary btn-block xn-back m-y-1 m-x-auto" style="max-width: 50%;" href="javascript:history.back();"><?php echo lang('back');?></a>
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
						</div>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!--{hook thread_end.htm}-->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<?php include _include(APP_PATH.'view/htm/footer.inc.htm');?>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<script>
 | 
				
			||||||
 | 
					var jform = $('#quick_reply_form');
 | 
				
			||||||
 | 
					var jsubmit = $('#submit');
 | 
				
			||||||
 | 
					jform.on('submit', function() {
 | 
				
			||||||
 | 
						jform.reset();
 | 
				
			||||||
 | 
						jsubmit.button('loading');
 | 
				
			||||||
 | 
						var postdata = jform.serialize();
 | 
				
			||||||
 | 
						$.xpost(jform.attr('action'), postdata, function(code, message) {
 | 
				
			||||||
 | 
							if(code == 0) {
 | 
				
			||||||
 | 
								var s = '<table>'+message+'</table>';
 | 
				
			||||||
 | 
								var jtr = $(s).find('tr');
 | 
				
			||||||
 | 
								jtr.insertBefore($('table.postlist tr').last());
 | 
				
			||||||
 | 
								jsubmit.button('reset');
 | 
				
			||||||
 | 
								$('#message').val('');
 | 
				
			||||||
 | 
								
 | 
				
			||||||
 | 
								// 楼层 +1
 | 
				
			||||||
 | 
								var jfloor = jform.find('.floor');
 | 
				
			||||||
 | 
								jfloor.html(xn.intval(jfloor.html()) + 1);
 | 
				
			||||||
 | 
								
 | 
				
			||||||
 | 
								// 回复数 +1
 | 
				
			||||||
 | 
								var jposts = $('.posts');
 | 
				
			||||||
 | 
								jposts.html(xn.intval(jposts.html()) + 1);
 | 
				
			||||||
 | 
								
 | 
				
			||||||
 | 
							} else if(code < 0) {
 | 
				
			||||||
 | 
								$.alert(message);
 | 
				
			||||||
 | 
								jsubmit.button('reset');
 | 
				
			||||||
 | 
							} else {
 | 
				
			||||||
 | 
								jform.find('[name="'+code+'"]').alert(message).focus();
 | 
				
			||||||
 | 
								jsubmit.button('reset');
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						});
 | 
				
			||||||
 | 
						return false;
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 缩放图片,适应屏幕大小。
 | 
				
			||||||
 | 
					function resize_image() {
 | 
				
			||||||
 | 
						var jmessagelist = $('div.message');
 | 
				
			||||||
 | 
						var first_width = jmessagelist.width(); // 815 : 746; //  734 746
 | 
				
			||||||
 | 
						jmessagelist.each(function() {
 | 
				
			||||||
 | 
							var jdiv = $(this);
 | 
				
			||||||
 | 
							var maxwidth = jdiv.attr('isfirst') ? first_width : first_width - 79; //  734 746
 | 
				
			||||||
 | 
							var jmessage_width = Math.min(jdiv.width(), maxwidth);
 | 
				
			||||||
 | 
							jdiv.find('img, embed, iframe').each(function() {
 | 
				
			||||||
 | 
								var jimg = $(this);
 | 
				
			||||||
 | 
								//if(jimg.width() < 500) return;
 | 
				
			||||||
 | 
								var img_width = this.org_width;
 | 
				
			||||||
 | 
								var img_height = this.org_height;
 | 
				
			||||||
 | 
								if(!img_width) {
 | 
				
			||||||
 | 
									var img_width = jimg.width();
 | 
				
			||||||
 | 
									var img_height = jimg.height();
 | 
				
			||||||
 | 
									this.org_width = img_width;
 | 
				
			||||||
 | 
									this.org_height = img_height;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								//var percent = xn.min(100, xn.ceil((img_width / jmessage_width) * 100));
 | 
				
			||||||
 | 
								if(img_width > jmessage_width) {
 | 
				
			||||||
 | 
									if(this.tagName == 'IMG') {
 | 
				
			||||||
 | 
										jimg.width(jmessage_width);
 | 
				
			||||||
 | 
										jimg.css('height', 'auto');
 | 
				
			||||||
 | 
									} else {
 | 
				
			||||||
 | 
										jimg.width(jmessage_width);
 | 
				
			||||||
 | 
										var height = (img_height / img_width) * jimg.width();
 | 
				
			||||||
 | 
										jimg.height(height);
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								
 | 
				
			||||||
 | 
							});
 | 
				
			||||||
 | 
						});
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					$(function() {
 | 
				
			||||||
 | 
						resize_image();
 | 
				
			||||||
 | 
						$(window).on('resize', resize_image);
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 输入框自动伸缩
 | 
				
			||||||
 | 
					var jmessage = $('#message');
 | 
				
			||||||
 | 
					jmessage.on('focus', function() {if(jmessage.t) { clearTimeout(jmessage.t); jmessage.t = null; } jmessage.css('height', '6rem'); });
 | 
				
			||||||
 | 
					jmessage.on('blur', function() {jmessage.t = setTimeout(function() { jmessage.css('height', '2.5rem');}, 1000); });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$('#nav_pc li[fid="<?php echo $fid;?>"]').tab('show');
 | 
				
			||||||
 | 
					$('#nav_mobile li[fid="<?php echo $fid;?>"]').tab('show');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<?php if($thread['closed'] && ($gid == 0 || $gid > 5)) { ?>
 | 
				
			||||||
 | 
					<script>
 | 
				
			||||||
 | 
					jmessage.val('<?php echo lang('thread_has_already_closed');?>').attr('readonly', 'readonly');
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
 | 
					<?php } ?>
 | 
				
			||||||
 | 
					<!--{hook thread_js.htm}-->
 | 
				
			||||||
							
								
								
									
										10
									
								
								z_nav/conf.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								z_nav/conf.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,10 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					    "name": "自动隐藏导航栏",
 | 
				
			||||||
 | 
					    "brief": "这是针对有大图(横向全屏的 页面制作的显隐导航, 如果不打算放置顶部图片 可以注释掉footer_jsafter.htm的第三行",
 | 
				
			||||||
 | 
					    "version": "1.0",
 | 
				
			||||||
 | 
					    "bbs_version": "4.0",
 | 
				
			||||||
 | 
					    "installed": 1,
 | 
				
			||||||
 | 
					    "enable": 0,
 | 
				
			||||||
 | 
					    "hooks_rank": [],
 | 
				
			||||||
 | 
					    "dependencies": []
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										41
									
								
								z_nav/hook/footer_js_after.htm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								z_nav/hook/footer_js_after.htm
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,41 @@
 | 
				
			|||||||
 | 
					<script>
 | 
				
			||||||
 | 
					//延时150ms? 先删掉影响样式效果的 .bg-inverse
 | 
				
			||||||
 | 
					$('.navbar').removeClass('bg-inverse');
 | 
				
			||||||
 | 
					//setTimeout("$('.navbar').removeClass('bg-inverse')",150)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//依赖JQ,应该放在页面最后加载
 | 
				
			||||||
 | 
					var home = location.href,
 | 
				
			||||||
 | 
					    s = $('#bgvideo')[0],
 | 
				
			||||||
 | 
					    Siren = {
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						// 显示&隐藏导航栏
 | 
				
			||||||
 | 
					    NH: function(){
 | 
				
			||||||
 | 
					        var h1 = 0,
 | 
				
			||||||
 | 
					            h2 = 400,
 | 
				
			||||||
 | 
					            ss = $(document).scrollTop();
 | 
				
			||||||
 | 
					        $(window).scroll(function(){
 | 
				
			||||||
 | 
					            var s = $(document).scrollTop();
 | 
				
			||||||
 | 
					            if(s== h1){
 | 
				
			||||||
 | 
					                $('.navbar').removeClass('yya');
 | 
				
			||||||
 | 
					            }if(s > h1){
 | 
				
			||||||
 | 
					                $('.navbar').addClass('yya');
 | 
				
			||||||
 | 
					            }if(s > h2){
 | 
				
			||||||
 | 
					                $('.navbar').addClass('gizle');
 | 
				
			||||||
 | 
					                if(s > ss){
 | 
				
			||||||
 | 
					                    $('.navbar').removeClass('sabit');
 | 
				
			||||||
 | 
					                }else{
 | 
				
			||||||
 | 
					                    $('.navbar').addClass('sabit');
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                ss = s;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }); 
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    $(function() {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Siren.NH(); // 显示&隐藏导航栏
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
							
								
								
									
										28
									
								
								z_nav/hook/header_link_after.htm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								z_nav/hook/header_link_after.htm
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,28 @@
 | 
				
			|||||||
 | 
					<style>
 | 
				
			||||||
 | 
					/* 全局的动态导航条样式 可以打包到css文件 不是很重要,也可以放到页面最后加载 */
 | 
				
			||||||
 | 
					.navbar {
 | 
				
			||||||
 | 
					    width: 100%;
 | 
				
			||||||
 | 
					    background: none;
 | 
				
			||||||
 | 
					    -webkit-transition: all .4s ease;
 | 
				
			||||||
 | 
					    transition: all .4s ease;
 | 
				
			||||||
 | 
					    position: fixed;
 | 
				
			||||||
 | 
					    z-index: 9999;
 | 
				
			||||||
 | 
					    top: 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.yya {
 | 
				
			||||||
 | 
					    position: fixed;
 | 
				
			||||||
 | 
					    left: 0;
 | 
				
			||||||
 | 
					    top: 0;
 | 
				
			||||||
 | 
					    background: rgba(0, 0, 0, .6);
 | 
				
			||||||
 | 
					    box-shadow: 0 0 1px rgba(0,0,0,.15)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.gizle {
 | 
				
			||||||
 | 
					    top: -100px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.sabit {
 | 
				
			||||||
 | 
					    top: 0;
 | 
				
			||||||
 | 
					    z-index: 9999;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					</style>
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								z_nav/icon.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								z_nav/icon.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 3.6 KiB  | 
							
								
								
									
										10
									
								
								z_postEx/conf.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								z_postEx/conf.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,10 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					    "name": "帖内回复",
 | 
				
			||||||
 | 
					    "brief": "热点讨论,已经是大势所趋",
 | 
				
			||||||
 | 
					    "version": "1.0",
 | 
				
			||||||
 | 
					    "bbs_version": "4.0",
 | 
				
			||||||
 | 
					    "installed": 1,
 | 
				
			||||||
 | 
					    "enable": 0,
 | 
				
			||||||
 | 
					    "hooks_rank": [],
 | 
				
			||||||
 | 
					    "dependencies": []
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										159
									
								
								z_postEx/hook/footer_js_after.htm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										159
									
								
								z_postEx/hook/footer_js_after.htm
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,159 @@
 | 
				
			|||||||
 | 
					<!-- 独立的 
 | 
				
			||||||
 | 
					<div class="test">这是test</div>
 | 
				
			||||||
 | 
					<p>这是p</p>
 | 
				
			||||||
 | 
					<button onclick="afterText()">在图片后面添加文本</button>
 | 
				
			||||||
 | 
					<br> 
 | 
				
			||||||
 | 
					<br> 
 | 
				
			||||||
 | 
					<br> 
 | 
				
			||||||
 | 
					<script>
 | 
				
			||||||
 | 
					//确认上面已经引用过JQ库文件
 | 
				
			||||||
 | 
					function afterText(){
 | 
				
			||||||
 | 
					  var txt1=$("<i></i>").text("love ");     // 通过 jQuery 创建元素
 | 
				
			||||||
 | 
					  $(".test").after(txt1);                  // 在 img 之后插入新元素
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!-- 正式回复 -->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <!--script src="//www-static.diyidan.net/static/addface/js/main.js?v=f9faff63b439fec824edbde022b77397"></script-->
 | 
				
			||||||
 | 
					    <script src="plugin/z_post/main.js?v=f9faff63b439fec824edbde022b77397"></script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!-- 二级回复中的一段 -->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <script type="text/javascript">
 | 
				
			||||||
 | 
					        /*二级回复*/
 | 
				
			||||||
 | 
					        function send_comment(item) {
 | 
				
			||||||
 | 
					            do_l2commit(item);
 | 
				
			||||||
 | 
					            /*if(getCookie('token_id') != null && getCookie('token_id')!=''){
 | 
				
			||||||
 | 
					                do_l2commit(item);
 | 
				
			||||||
 | 
					            }else{
 | 
				
			||||||
 | 
					                onlyLogin()
 | 
				
			||||||
 | 
					            }*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            //var p_inner_value = $('div.edit_container p.p_emoji_content')
 | 
				
			||||||
 | 
					            //发送Ajax请求
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function do_l2commit(item) {
 | 
				
			||||||
 | 
					            var comment_id = $(item).closest('.reply_right').find('.comment_id_hidden').val();
 | 
				
			||||||
 | 
					            var reply = getPcontentText($(item).closest('.write_reply').find('#write_container').get(0));
 | 
				
			||||||
 | 
					            var ajax_url = "/main/post/l2comment";
 | 
				
			||||||
 | 
					            var louzhu_id = "6293877835964134301";
 | 
				
			||||||
 | 
					            $.ajax({
 | 
				
			||||||
 | 
					                url: ajax_url, //登陆页面
 | 
				
			||||||
 | 
					                type: "POST",
 | 
				
			||||||
 | 
					                async: true,
 | 
				
			||||||
 | 
					                timeout: 3000,
 | 
				
			||||||
 | 
					                data: {
 | 
				
			||||||
 | 
					                    "l1CommentId": comment_id,
 | 
				
			||||||
 | 
					                    "comment": reply,
 | 
				
			||||||
 | 
					                    "commentPage": parseInt('1', 10),
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                dataType: "json",
 | 
				
			||||||
 | 
					                error: function() {},
 | 
				
			||||||
 | 
					                success: function(data, status) { //如果调用成功
 | 
				
			||||||
 | 
					                    // var jsonObject = JSON.parse(data);
 | 
				
			||||||
 | 
					                    var code = data.code;
 | 
				
			||||||
 | 
					                    if (code != 200) {
 | 
				
			||||||
 | 
					                        if (data.message != null) {
 | 
				
			||||||
 | 
					                            showMessagePopup(data.message);
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                    } else {
 | 
				
			||||||
 | 
					                        //TODO:后台会回传有多少二层回复的页数的
 | 
				
			||||||
 | 
					                        var totalCount = data.data.totalCommentCount;
 | 
				
			||||||
 | 
					                        var page_total_num = parseInt((totalCount - 1) / 10) + 1;
 | 
				
			||||||
 | 
					                        $.ajax({
 | 
				
			||||||
 | 
					                            url: "/main/post/l2comment",
 | 
				
			||||||
 | 
					                            type: "GET",
 | 
				
			||||||
 | 
					                            data: {
 | 
				
			||||||
 | 
					                                "l1CommentId": comment_id,
 | 
				
			||||||
 | 
					                                "page": page_total_num
 | 
				
			||||||
 | 
					                            },
 | 
				
			||||||
 | 
					                            async: true,
 | 
				
			||||||
 | 
					                            timeout: 3000,
 | 
				
			||||||
 | 
					                            dataType: "json",
 | 
				
			||||||
 | 
					                            error: function() {},
 | 
				
			||||||
 | 
					                            success: function(data, status) { //如果调用成功
 | 
				
			||||||
 | 
					                                // var jsonObject = JSON.parse(data);
 | 
				
			||||||
 | 
					                                var code = data.code;
 | 
				
			||||||
 | 
					                                if (code != 200) {
 | 
				
			||||||
 | 
					                                    if (data.message != null) {
 | 
				
			||||||
 | 
					                                        showMessagePopup(data.message)
 | 
				
			||||||
 | 
					                                    }
 | 
				
			||||||
 | 
					                                } else {
 | 
				
			||||||
 | 
					                                    displayAjaxL2commentList(item, $('script[type="text/template"]').html(), data.data, page_total_num, page_total_num, ajax_url, comment_id, louzhu_id);
 | 
				
			||||||
 | 
					                                    $(item).closest('.write_reply').remove();
 | 
				
			||||||
 | 
					                                }
 | 
				
			||||||
 | 
					                            }
 | 
				
			||||||
 | 
					                        });
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!-- 底部js -->
 | 
				
			||||||
 | 
					<script type="text/template">
 | 
				
			||||||
 | 
					    <li class="clr" {display_str}>
 | 
				
			||||||
 | 
					        <div class="user_ti f1">
 | 
				
			||||||
 | 
					            <img src="{avatar}" onclick="{url_to_user}">
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div class="more_reply_right f1">
 | 
				
			||||||
 | 
					            <div class="l2_comment user_name">
 | 
				
			||||||
 | 
					                <span class="user_reply_name" onclick="{url_to_user}">{nickName}</span>
 | 
				
			||||||
 | 
					                <span class="user_reply_level">Lv{level}</span> {louzhu_span}
 | 
				
			||||||
 | 
					                <p>:   {commentContent}</p>
 | 
				
			||||||
 | 
					                <!--safe咋办-->
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					            <div class="user_reply_time">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                <span>{commentTime}</span>
 | 
				
			||||||
 | 
					                <span class="to_reply f2" onclick="showReply(this)">回复</span>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
 | 
					<script type="text/templateCommentItem">
 | 
				
			||||||
 | 
					    {anchor_str}
 | 
				
			||||||
 | 
					    <li class="clr" style="margin-left:70px;position: relative">
 | 
				
			||||||
 | 
					        <div class="user_ti f1">
 | 
				
			||||||
 | 
					            <img src="{avatar}" onclick="{url_to_user}">
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div class="reply_right f1 " >
 | 
				
			||||||
 | 
					            <input type="hidden" name="comment_id_hidden" class="comment_id_hidden" value="{commentId}" data-floor-num="{commentFloorNum}" />
 | 
				
			||||||
 | 
					            <div class="user_name">
 | 
				
			||||||
 | 
					                <span onclick="{url_to_user}">{nickName}</span>
 | 
				
			||||||
 | 
					                <span class="user_reply_level">Lv{level}</span> {louzhu_span}
 | 
				
			||||||
 | 
					                <span class="f2 ie2">{commentFloorNum}楼</span>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            {pic_or_music_container_div}
 | 
				
			||||||
 | 
					            <ul class="more_user_reply">
 | 
				
			||||||
 | 
					                <div class="user_reply_time">
 | 
				
			||||||
 | 
					                    {commentJudge_judgerRecommendStmt_div} {commentReward_rewardAmount_div}
 | 
				
			||||||
 | 
					                    <span>{commentTime}</span>
 | 
				
			||||||
 | 
					                    <span class="to_reply f2" onclick="showReply(this)">回复</span>
 | 
				
			||||||
 | 
					                    <!--<span class="to_hide_reply f2" onclick="hidel2comments(this)">收起回复({commentl2TotalCount})</span>-->
 | 
				
			||||||
 | 
					                </div>
 | 
				
			||||||
 | 
					                {reply_li_container_div}
 | 
				
			||||||
 | 
					            </ul>
 | 
				
			||||||
 | 
					            {l2_comment_page_nav_div}
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        {commentJudge_judgeStampUrl_span} {commentReward_rewardStampUrl_span}
 | 
				
			||||||
 | 
					    </li>
 | 
				
			||||||
 | 
					</script> 
 | 
				
			||||||
							
								
								
									
										108
									
								
								z_postEx/hook/post_list_inc_filelist_after.htm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										108
									
								
								z_postEx/hook/post_list_inc_filelist_after.htm
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,108 @@
 | 
				
			|||||||
 | 
					<!-- 一级回复 -->
 | 
				
			||||||
 | 
					            <div class="reply_right f1 " >
 | 
				
			||||||
 | 
					                    <div class="user_reply_time">
 | 
				
			||||||
 | 
					                        <span>03-14</span>
 | 
				
			||||||
 | 
					                        <span class="to_reply f2" onclick="showReply(this)" style="cursor:pointer">一级回复</span>
 | 
				
			||||||
 | 
					                        <!--<span class="to_hide_reply f2" onclick="hidel2comments(this)">收起回复(1)</span>-->
 | 
				
			||||||
 | 
					                    </div>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<?php
 | 
				
			||||||
 | 
					//创建回复信息 直接从表中读取本次post的ID有多少回复
 | 
				
			||||||
 | 
					$postreply = db_find('post_reply', array('pid'=>$_post['pid']), array('create_date'=>1));
 | 
				
			||||||
 | 
					if($postreply) { foreach($postreply as $_posts) { 
 | 
				
			||||||
 | 
					  //创建回复人的信息,每条回复都会被查询一遍似乎很消耗资源
 | 
				
			||||||
 | 
						$userz = user_read_cache($_posts['uid']);
 | 
				
			||||||
 | 
						$postz['username'] = array_value($userz, 'username');
 | 
				
			||||||
 | 
						$postz['user_avatar_url'] = array_value($userz, 'avatar_url');
 | 
				
			||||||
 | 
						$postz['user'] = $userz ? $userz : user_guest();
 | 
				
			||||||
 | 
						!isset($postz['floor']) AND  $postz['floor'] = '';
 | 
				
			||||||
 | 
					?>
 | 
				
			||||||
 | 
					              <!-- 剩下的就是细化UI了 -->
 | 
				
			||||||
 | 
												<br>
 | 
				
			||||||
 | 
												<a href="<?php echo url("user-$_posts[uid]");?>" tabindex="-1">
 | 
				
			||||||
 | 
													<img class="avatar" src="<?php echo $postz['user_avatar_url'];?>">
 | 
				
			||||||
 | 
												</a>
 | 
				
			||||||
 | 
												<?php echo $postz['username'];?>
 | 
				
			||||||
 | 
												<span class="user_reply_level">Lv7</span>
 | 
				
			||||||
 | 
												<?php echo $_posts['message'];?>
 | 
				
			||||||
 | 
												<!-- 二级回复 -->
 | 
				
			||||||
 | 
					              <div class="reply_right f1 " >
 | 
				
			||||||
 | 
					                <div class="user_reply_time">
 | 
				
			||||||
 | 
					                  <span>03-14</span>
 | 
				
			||||||
 | 
					                  <span class="to_reply f2" onclick="showReply(this)" style="cursor:pointer">二级回复按钮</span>
 | 
				
			||||||
 | 
					                  <!--<span class="to_hide_reply f2" onclick="hidel2comments(this)">收起回复(1)</span>-->
 | 
				
			||||||
 | 
					                </div>
 | 
				
			||||||
 | 
					              </div>
 | 
				
			||||||
 | 
					<?php }} ?>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!-- 以下是全新的 POST -->
 | 
				
			||||||
 | 
					<div class="list-item reply-wrap" data-id="461068570" data-index="0">
 | 
				
			||||||
 | 
					  <div class="user-face">
 | 
				
			||||||
 | 
					    <a href='<?php echo url("user-$_posts[uid]");?>' target="_blank" data-usercard-mid="14589321">
 | 
				
			||||||
 | 
					      <img src="<?php echo $postz['user_avatar_url'];?>" alt="">
 | 
				
			||||||
 | 
					    </a>
 | 
				
			||||||
 | 
					  </div>
 | 
				
			||||||
 | 
					  <div class="con ">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="user">
 | 
				
			||||||
 | 
					      <a data-usercard-mid="14589321" href='<?php echo url("user-$_posts[uid]");?>' target="_blank" class="name "><?php echo $postz['username'];?></a>
 | 
				
			||||||
 | 
					      <a href="//www.bilibili.com/html/help.html#k_3" target="_blank"><i class="level l4"></i></a>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <p class="text">这标题不是化学,是哲学<img src="//i0.hdslb.com/bfs/vip/f8219e484d5a55787c3f1722dc3112d0eba03a69.png@50w_50h.webp" alt="思索"></p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="info">
 | 
				
			||||||
 | 
					      <span class="floor">#22</span>
 | 
				
			||||||
 | 
					      <span class="plad">来自<a href="//app.bilibili.com/" target="_blank">安卓客户端</a></span>
 | 
				
			||||||
 | 
					      <span class="time">45分钟前</span>
 | 
				
			||||||
 | 
					      <span class="like "><i></i><span>2</span></span>
 | 
				
			||||||
 | 
					      <span class="hate "><i></i></span>
 | 
				
			||||||
 | 
					      <span class="reply btn-hover btn-highlight">回复</span>
 | 
				
			||||||
 | 
					      <div class="operation">
 | 
				
			||||||
 | 
					        <div class="spot"></div>
 | 
				
			||||||
 | 
					        <div class="opera-list" style="display: none;">
 | 
				
			||||||
 | 
					          <ul>
 | 
				
			||||||
 | 
					            <li class="blacklist">加入黑名单</li>
 | 
				
			||||||
 | 
					            <li class="report">举报</li>
 | 
				
			||||||
 | 
					          </ul>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					      </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="reply-box">
 | 
				
			||||||
 | 
					      <div class="reply-item reply-wrap" data-id="461092529" data-index="0">
 | 
				
			||||||
 | 
					        <a href="//space.bilibili.com/43646124" data-usercard-mid="43646124" target="_blank" class="reply-face">
 | 
				
			||||||
 | 
					          <img src="//i0.hdslb.com/bfs/face/ba27db05e3f0808b8ee0f19c817fb6219cf9e921.jpg@52w_52h.webp" alt="">
 | 
				
			||||||
 | 
					        </a>
 | 
				
			||||||
 | 
					        <div class="reply-con">
 | 
				
			||||||
 | 
					          <div class="user">
 | 
				
			||||||
 | 
					            <a href="//space.bilibili.com/43646124" target="_blank" data-usercard-mid="43646124" class="name ">美丽科学-BOS</a>
 | 
				
			||||||
 | 
					            <a href="//www.bilibili.com/html/help.html#k_3" target="_blank"><i class="level l5"></i></a>
 | 
				
			||||||
 | 
					            <span class="text-con">科学的尽头是艺术更是哲学 没毛病 哈哈哈哈</span>
 | 
				
			||||||
 | 
					          </div>
 | 
				
			||||||
 | 
					          <div class="info">
 | 
				
			||||||
 | 
					            <span class="time">7分钟前</span>
 | 
				
			||||||
 | 
					            <span class="like "><i></i><span></span></span>
 | 
				
			||||||
 | 
					            <span class="reply btn-hover">回复</span>
 | 
				
			||||||
 | 
					            <div class="operation btn-hover btn-hide-re">
 | 
				
			||||||
 | 
					              <div class="spot"></div>
 | 
				
			||||||
 | 
					              <div class="opera-list" style="display: none;">
 | 
				
			||||||
 | 
					                <ul>
 | 
				
			||||||
 | 
					                  <li class="blacklist">加入黑名单</li>
 | 
				
			||||||
 | 
					                  <li class="report">举报</li>
 | 
				
			||||||
 | 
					                </ul>
 | 
				
			||||||
 | 
					              </div>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					          </div>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					      </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <div class="paging-box"></div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  </div>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
							
								
								
									
										46
									
								
								z_postEx/install.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								z_postEx/install.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,46 @@
 | 
				
			|||||||
 | 
					<?php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
						Xiuno BBS 4.0 插件:楼中楼 插件安装
 | 
				
			||||||
 | 
						创建posts表,用于回复楼层的时候多读取一遍楼层
 | 
				
			||||||
 | 
						幻 / 2017-09-16 05:11
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					!defined('DEBUG') AND exit('Forbidden');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$tablepre = $db->tablepre;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$sql = "CREATE TABLE IF NOT EXISTS {$tablepre}post_reply (
 | 
				
			||||||
 | 
						pid int(11) unsigned NOT NULL DEFAULT '0',
 | 
				
			||||||
 | 
						rid int(11) unsigned NOT NULL AUTO_INCREMENT,
 | 
				
			||||||
 | 
						uid int(11) unsigned NOT NULL DEFAULT '0',
 | 
				
			||||||
 | 
						isfirst int(11) unsigned NOT NULL DEFAULT '0',
 | 
				
			||||||
 | 
						create_date int(11) unsigned NOT NULL DEFAULT '0',
 | 
				
			||||||
 | 
						userip int(11) unsigned NOT NULL DEFAULT '0',
 | 
				
			||||||
 | 
						message text NOT NULL DEFAULT '',
 | 
				
			||||||
 | 
						PRIMARY KEY (pid),
 | 
				
			||||||
 | 
						KEY (rid)
 | 
				
			||||||
 | 
					) ENGINE=MyISAM DEFAULT CHARSET=utf8";
 | 
				
			||||||
 | 
					$r = db_exec($sql);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					目前不使用缓存
 | 
				
			||||||
 | 
					// 缓存 tagid 10000,10000,10000,10000
 | 
				
			||||||
 | 
					$sql = "ALTER TABLE {$tablepre}thread ADD COLUMN tagids char(32) NOT NULL DEFAULT ''";
 | 
				
			||||||
 | 
					$r = db_exec($sql);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 缓存的时间,用来和 setting('tag_update_time') 对比
 | 
				
			||||||
 | 
					$sql = "ALTER TABLE {$tablepre}thread ADD COLUMN tagids_time int(11) unsigned NOT NULL DEFAULT '0'";
 | 
				
			||||||
 | 
					$r = db_exec($sql);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// tag 缓存的时间
 | 
				
			||||||
 | 
					setting_set('tag_update_time', $time);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//$r === FALSE AND message(-1, '创建表结构失败');
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					?>
 | 
				
			||||||
							
								
								
									
										171
									
								
								z_postEx/main.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										171
									
								
								z_postEx/main.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,171 @@
 | 
				
			|||||||
 | 
					/*表情添加*/
 | 
				
			||||||
 | 
					function showEmoji(ele){
 | 
				
			||||||
 | 
					  var the_face=$(ele).closest('.face_top').next()
 | 
				
			||||||
 | 
					  if(the_face.hasClass('emoji_section')){
 | 
				
			||||||
 | 
					    $(ele).removeClass("to_show");
 | 
				
			||||||
 | 
					    the_face.removeClass('emoji_section').find('ul').remove()
 | 
				
			||||||
 | 
					  }else{
 | 
				
			||||||
 | 
					    $(ele).addClass("to_show").siblings().removeClass("to_show")
 | 
				
			||||||
 | 
					    the_face.find('ul').remove()
 | 
				
			||||||
 | 
					    the_face.removeClass('face_section emoji_section').addClass('emoji_section').append(show_emojis())
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					function showFace(ele){
 | 
				
			||||||
 | 
					  var the_face=$(ele).closest('.face_top').next()
 | 
				
			||||||
 | 
					    if(the_face.hasClass('face_section')){
 | 
				
			||||||
 | 
					      $(ele).removeClass("to_show");
 | 
				
			||||||
 | 
					      the_face.removeClass('face_section').find('ul').remove()
 | 
				
			||||||
 | 
					    }else{
 | 
				
			||||||
 | 
					      $(ele).addClass("to_show").siblings().removeClass("to_show")
 | 
				
			||||||
 | 
					      the_face.find('ul').remove()
 | 
				
			||||||
 | 
					      the_face.removeClass('face_section emoji_section').addClass('face_section').append(show_faces())
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					function show_emojis(){
 | 
				
			||||||
 | 
					    var faceList = [" (๑• . •๑) ", " ˋ( ° ▽、° ) ", " (^人^) ", " _(:3」∠)_ ", " →_→ ", " ←_← ", " (*^.^*) ", " ٩(๑`^´๑)۶ ", " ╮(╯_╰)╭ ",
 | 
				
			||||||
 | 
					                            " ヾ(′▽`*)ゝ ", " o(≧v≦)o~~ ", " ↖(^ω^)↗ ", " ヽ( ^∀^)ノ ", " ‵(*∩_∩*)′ ", " (/≧▽≦)/~ ", " ㄟ( ▔, ▔ )ㄏ ", 
 | 
				
			||||||
 | 
					                            " ~( ̄▽ ̄~) ", " (~ ̄▽ ̄)~ ", " /(ㄒoㄒ)/~~ ", " (*/ω\*) ", " ≧▽≦蛤蛤蛤 ", " (°ー°〃) ", " ヾ( ̄▽ ̄) ", 
 | 
				
			||||||
 | 
					                            " (╯°Д°)╯︵ ", " (☆ω☆) ", " \@_\@ ", " (*´艸`)、 ", " QAQ ", " (⊙o⊙) ", " (×_×)昏倒 ", " ( ˘•㉨•˘ ) ", 
 | 
				
			||||||
 | 
					                            " ヾ(´(エ)`ノ゙ ", " ฅ( ̳• ◡ • ̳)ฅ ", " ⊙﹏⊙‖∣ ", " (。•ˇ‸ˇ•。) ", " ╭(╯^╰)╮ ", " ( •̀∀•́ ) ", " o(>﹏<)o ", 
 | 
				
			||||||
 | 
					                            " (ˉ▽ ̄~) 切~~ ", " ⊙ω⊙ ", " =。=b ", " =3333= ", " (ง •̀_•́)ง ", " <(_ _)> ", " o( ̄ヘ ̄o#) ", " ヽ( ̄д ̄;)ノ ", 
 | 
				
			||||||
 | 
					                            " ヽ(=^・ω・^=)丿 ", " ( ^_^ )/~~拜 ", " Orz ", " ♪(^∇^*) ", " (ฅ´ω`ฅ)留爪 ", " ( ´◔ ‸◔') ", " (*^.^*) ", " p(^_^)q ", 
 | 
				
			||||||
 | 
					                            " ┗( T﹏T )┛ ", " (ˉ▽ˉ;) ", " Õ_Õ ", " 눈_눈 ", " o(一︿一+)o ", " (〃 ̄︶ ̄)人( ̄︶ ̄〃) "]
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					            var reply_display_emoji ='';
 | 
				
			||||||
 | 
					            var emoji_li='';
 | 
				
			||||||
 | 
					            var len_emoji=faceList.length;
 | 
				
			||||||
 | 
					            for (var i=0; i<len_emoji; i++) {
 | 
				
			||||||
 | 
					                emoji_li += "<li  onclick=\"addEmoji(this, '"+faceList[i]+"');\">"+faceList[i]+ "</li>";
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            reply_display_emoji ='<ul>'+emoji_li+'</ul>';
 | 
				
			||||||
 | 
					            return reply_display_emoji
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					function addFace(item, imgUlr) {
 | 
				
			||||||
 | 
					    var $write_reply=$(item).closest('.add_icons').parent();
 | 
				
			||||||
 | 
					    var img_str = "<img src='"+imgUlr+"'></img>";
 | 
				
			||||||
 | 
					    $write_reply.find('.in_write').append(img_str).focus()
 | 
				
			||||||
 | 
					    $write_reply.find('.add_icons').removeClass('face_section').find('ul').remove()
 | 
				
			||||||
 | 
					    $write_reply.find('.face_top li').removeClass()
 | 
				
			||||||
 | 
					    placeCaretAtEnd($write_reply.find('.in_write').get(0));
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					function addEmoji(item, str) {
 | 
				
			||||||
 | 
					    var $write_reply=$(item).closest('.add_icons').parent();
 | 
				
			||||||
 | 
					    $write_reply.find('.in_write').append(str).focus()
 | 
				
			||||||
 | 
					    $write_reply.find('.add_icons').removeClass('emoji_section').find('ul').remove()
 | 
				
			||||||
 | 
					    $write_reply.find('.face_top li').removeClass('to_show')
 | 
				
			||||||
 | 
					    placeCaretAtEnd($write_reply.find('.in_write').get(0));
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function placeCaretAtEnd(el) {
 | 
				
			||||||
 | 
					      el.focus();
 | 
				
			||||||
 | 
					      if (typeof window.getSelection != "undefined"
 | 
				
			||||||
 | 
					              && typeof document.createRange != "undefined") {
 | 
				
			||||||
 | 
					          var range = document.createRange();
 | 
				
			||||||
 | 
					          range.selectNodeContents(el);
 | 
				
			||||||
 | 
					          range.collapse(false);
 | 
				
			||||||
 | 
					          var sel = window.getSelection();
 | 
				
			||||||
 | 
					          sel.removeAllRanges();
 | 
				
			||||||
 | 
					          sel.addRange(range);
 | 
				
			||||||
 | 
					      } else if (typeof document.body.createTextRange != "undefined") {
 | 
				
			||||||
 | 
					          var textRange = document.body.createTextRange();
 | 
				
			||||||
 | 
					          textRange.moveToElementText(el);
 | 
				
			||||||
 | 
					          textRange.collapse(false);
 | 
				
			||||||
 | 
					          textRange.select();
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					} 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//这是增加回复输入框的调用按钮触发
 | 
				
			||||||
 | 
					function showReply(ele){
 | 
				
			||||||
 | 
					  var toReply=null
 | 
				
			||||||
 | 
					  if ($(ele).closest('.more_reply_right').length>0) {
 | 
				
			||||||
 | 
					      toReply="回复 @"+$(ele).closest('.more_reply_right').find('.user_reply_name').html()+":"
 | 
				
			||||||
 | 
					  }else{
 | 
				
			||||||
 | 
					    toReply=''
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  var replyDiv="<div class='write_reply'>"+
 | 
				
			||||||
 | 
					                      "<div>"+
 | 
				
			||||||
 | 
					                          "<div id='write_container' class='in_write' contenteditable='true'>"+toReply+"</div>"+
 | 
				
			||||||
 | 
					                      "</div>"+
 | 
				
			||||||
 | 
					                      "<div id='face_top' class='face_top'>"+
 | 
				
			||||||
 | 
					                          "<ul id='face_btn' class='clr'>"+
 | 
				
			||||||
 | 
					                              "<li onclick='showEmoji(this)'>(・ω・)颜文字</li>"+
 | 
				
			||||||
 | 
					                              "<li onclick='showFace(this)'><img  src='/static/image/face_01.png'></li>"+
 | 
				
			||||||
 | 
					                          "</ul>"+
 | 
				
			||||||
 | 
					                          "<div class='f2'><span onclick='cancelReply(this)' style='margin-right:10px;'>取消</span><span class='ie2' onclick='send_comment(this)'>发送</span></div>"+
 | 
				
			||||||
 | 
					                      "</div>"+
 | 
				
			||||||
 | 
					                      "<div id='add_icons' class='add_icons'></div>"+
 | 
				
			||||||
 | 
					                    "</div>"
 | 
				
			||||||
 | 
					  if ($(ele).parents().find('.write_reply').length>0) {
 | 
				
			||||||
 | 
					    if ($(ele).closest('.user_reply_time').siblings('.write_reply').length>0) {
 | 
				
			||||||
 | 
					      $(ele).parents().find('.write_reply').detach()
 | 
				
			||||||
 | 
					    }else{
 | 
				
			||||||
 | 
					      $(ele).parents().find('.write_reply').detach()
 | 
				
			||||||
 | 
					      $(replyDiv).insertAfter($(ele).closest('.user_reply_time'))
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }else{
 | 
				
			||||||
 | 
					      $(replyDiv).insertAfter($(ele).closest('.user_reply_time'))
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					   placeCaretAtEnd($(ele).closest('.reply_right').find('.in_write').get(0));
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  $('[contenteditable]').each(function() {
 | 
				
			||||||
 | 
					    // 干掉IE http之类地址自动加链接
 | 
				
			||||||
 | 
					    try {
 | 
				
			||||||
 | 
					        document.execCommand("AutoUrlDetect", false, false);
 | 
				
			||||||
 | 
					    } catch (e) {}
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    $(this).on('paste', function(e) {
 | 
				
			||||||
 | 
					        e.preventDefault();
 | 
				
			||||||
 | 
					        var text = null;
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					        if(window.clipboardData && clipboardData.setData) {
 | 
				
			||||||
 | 
					            // IE
 | 
				
			||||||
 | 
					            text = window.clipboardData.getData('text');
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            text = (e.originalEvent || e).clipboardData.getData('text/plain') || prompt('在这里输入文本');
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        if (document.body.createTextRange) {    
 | 
				
			||||||
 | 
					            if (document.selection) {
 | 
				
			||||||
 | 
					                textRange = document.selection.createRange();
 | 
				
			||||||
 | 
					            } else if (window.getSelection) {
 | 
				
			||||||
 | 
					                sel = window.getSelection();
 | 
				
			||||||
 | 
					                var range = sel.getRangeAt(0);
 | 
				
			||||||
 | 
					                
 | 
				
			||||||
 | 
					                // 创建临时元素,使得TextRange可以移动到正确的位置
 | 
				
			||||||
 | 
					                var tempEl = document.createElement("span");
 | 
				
			||||||
 | 
					                tempEl.innerHTML = "&#FEFF;";
 | 
				
			||||||
 | 
					                range.deleteContents();
 | 
				
			||||||
 | 
					                range.insertNode(tempEl);
 | 
				
			||||||
 | 
					                textRange = document.body.createTextRange();
 | 
				
			||||||
 | 
					                textRange.moveToElementText(tempEl);
 | 
				
			||||||
 | 
					                tempEl.parentNode.removeChild(tempEl);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            textRange.text = text;
 | 
				
			||||||
 | 
					            textRange.collapse(false);
 | 
				
			||||||
 | 
					            textRange.select();
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            // Chrome之类浏览器
 | 
				
			||||||
 | 
					            document.execCommand("insertText", false, text);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					    // 去除Crtl+b/Ctrl+i/Ctrl+u等快捷键
 | 
				
			||||||
 | 
					    $(this).on('keydown', function(e) {
 | 
				
			||||||
 | 
					        // e.metaKey for mac
 | 
				
			||||||
 | 
					        if (e.ctrlKey || e.metaKey) {
 | 
				
			||||||
 | 
					            switch(e.keyCode){
 | 
				
			||||||
 | 
					                case 66: //ctrl+B or ctrl+b
 | 
				
			||||||
 | 
					                case 98: 
 | 
				
			||||||
 | 
					                case 73: //ctrl+I or ctrl+i
 | 
				
			||||||
 | 
					                case 105: 
 | 
				
			||||||
 | 
					                case 85: //ctrl+U or ctrl+u
 | 
				
			||||||
 | 
					                case 117: {
 | 
				
			||||||
 | 
					                    e.preventDefault();    
 | 
				
			||||||
 | 
					                    break;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }    
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					function cancelReply(ele){
 | 
				
			||||||
 | 
					    $(ele).closest('.write_reply').detach()
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										16
									
								
								z_postEx/unstall.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								z_postEx/unstall.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,16 @@
 | 
				
			|||||||
 | 
					<?php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
						Xiuno BBS 4.0 插件实例:TAG 插件卸载
 | 
				
			||||||
 | 
						admin/plugin-unstall-xn_tag.htm
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					!defined('DEBUG') AND exit('Forbidden');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$tablepre = $db->tablepre;
 | 
				
			||||||
 | 
					$sql = "DROP TABLE IF EXISTS {$tablepre}post_reply;";
 | 
				
			||||||
 | 
					$r = db_exec($sql);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$r === FALSE AND message(-1, '卸载表失败');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					?>
 | 
				
			||||||
		Reference in New Issue
	
	Block a user