Add files via upload

This commit is contained in:
Last
2018-11-15 17:39:11 +08:00
committed by GitHub
parent ed7db38abd
commit eec60a63f2
28 changed files with 2338 additions and 0 deletions

View 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();?>

View 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>

View 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');?>

View 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}-->

View 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>