post.view.html 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. {% extends "base-with-sidebar.html" %}
  2. {% load staticres %}
  3. {% block title %}
  4. {{bpo.title}} - 丘丘塔台
  5. {% endblock %}
  6. {% block sidebar %}
  7. {% if bkmode %}
  8. {% include "home/sysconf.sidebar.html" %}
  9. {% else %}
  10. {% include "home/front.sidebar.html" %}
  11. {% endif %}
  12. {% endblock %}
  13. {% block head %}
  14. {% res css 'zumdown.default' %}
  15. {% endblock %}
  16. {% block content %}
  17. <div class="btn-toolbar">
  18. <div class="btn-group">
  19. <a class="btn btn-primary" href="javascript:history.go(-1);">
  20. <span class="glyphicon glyphicon-chevron-left"></span>
  21. 后退
  22. </a>
  23. </div>
  24. <div class="btn-group">
  25. <a class="btn btn-info" href="#context">
  26. 正文
  27. </a>
  28. <a class="btn btn-info" href="#commentBox">
  29. 评论
  30. </a>
  31. {% if not bkmode %}
  32. <a class="btn btn-info" href="#commentAdd">
  33. 发表评论
  34. </a>
  35. {% endif %}
  36. </div>
  37. </div>
  38. <br />
  39. <div class="panel panel-info">
  40. <div class="panel-heading"><h4 class="panel-title">
  41. {{bpo.title}}
  42. {% if bkmode %}
  43. (-*-预览-*-)
  44. {% endif %}
  45. </h4></div>
  46. <div id="context" class="panel-body">
  47. <div class="well well-sm">
  48. <strong>{{bpo.author.nick}}</strong>&nbsp;发表于{{i.pubtime|date:"Y-m-d H:i:s"}}
  49. <br />
  50. <strong>分类:</strong>
  51. {% for j in bpo.category.all %}
  52. <a href="{% url 'pichublog_postlist' j.engname %}"><span class="label label-info" style="display:inline-block">{{j.title}}</span></a>
  53. {% endfor %}
  54. </div>
  55. <div class="zumdown">{{bpo.html|safe}}</div>
  56. </div>
  57. </div>
  58. <div class="panel panel-info">
  59. <div class="panel-heading"><h4 class="panel-title">评论</h4></div>
  60. <div id="commentBox" class="panel-body">
  61. 载入中...
  62. </div>
  63. </div>
  64. {% if not bkmode %}
  65. <div class="panel panel-info">
  66. <div class="panel-heading">
  67. <h4 class="panel-title">发表评论</h4>
  68. </div>
  69. <div id="commentAdd" class="panel-body">
  70. <div class="container main-container-with-sidebar">
  71. {% if allowcmt %}
  72. <form class="form-horizontal" role="form" action="{% url 'pichublog_cmtadd' bpo.id %}" method="POST" >
  73. {% csrf_token %}
  74. {% if not request.auth.islogin %}
  75. <div class="form-group">
  76. <label for="anonymousMail">电子邮箱</label>
  77. <input type="email" name="mail" class="form-control" id="anonymousMail" placeholder="电子邮箱(不会公开,仅管理员和本小说作者可见)">
  78. </div>
  79. <div class="form-group">
  80. <label for="anonymousSite">个人主页</label>
  81. <input type="text" name="website" class="form-control" id="anonymousSite" placeholder="个人主页">
  82. </div>
  83. <div class="form-group">
  84. <label for="anonymousNick">昵称</label>
  85. <input type="text" name="nick" class="form-control" id="anonymousNick" placeholder="昵称">
  86. </div>
  87. {% endif %}
  88. <div class="form-group">
  89. <label for="CmtCnt">内容</label>
  90. <textarea name="content" id="CmtCnt" class="form-control" rows="3" placeholder="评论内容"></textarea>
  91. </div>
  92. {% if not request.auth.islogin %}
  93. <div class="form-group">
  94. <label for="CmtCnt">验证码</label>
  95. <input type="text" name="captcha" id="CaptInput" class="form-control" placeholder="验证码">
  96. </div>
  97. <div><img id="captcha_box" src="" alt="" class="img-thumbnail"></div>
  98. <div class="alert alert-info" role="alert"><strong>友情提示:</strong>注册后发表评论无需再输入验证码。
  99. <br />
  100. {% if bpo.freecomment %}
  101. {% if crws %}未注册用户的评论需经审核才能显示。{%endif%}
  102. {% endif %}
  103. </div>
  104. {% endif %}
  105. <br />
  106. <div class="form-group">
  107. <button type="submit" class="btn btn-primary">发表评论</button>
  108. {% if not request.auth.islogin %}
  109. <button type="button" class="btn btn-info" onclick="newCaptcha();">
  110. <span class="glyphicon glyphicon-refresh"></span>
  111. 刷新验证码
  112. </button>
  113. {% endif %}
  114. </div>
  115. </form>
  116. {% else %}
  117. <div class="alert alert-danger" role="alert">作者只允许指定人员评论,您无权评论。</div>
  118. {% endif %}
  119. </div>
  120. </div>
  121. </div>
  122. {% endif %}
  123. <script type="text/javascript">
  124. function LoadComment(page){
  125. window.thispagenum = page;
  126. $("#commentBox").html("载入中...");
  127. $("#commentBox").load("{% url 'pichublog_cmtshow' bpo.id %}?page="+page);
  128. }
  129. function pageturn_cmt(page){
  130. LoadComment(page);
  131. }
  132. function newCaptcha(){
  133. var uuid = uuidGenerate();
  134. var urlsource = "{{OutsiteCaptchaURL}}";
  135. var url = urlsource + uuid + ".png";
  136. $("#captcha_box").attr("src",url);
  137. }
  138. function dellm(cmid,vcode){
  139. var urlsource = "{% url 'pichublog_cmtdel' '23333' %}";
  140. var url = urlsource.replace(/23333/,cmid) + "?veryfycode="+vcode;
  141. $.get(url,function(data){
  142. if(data['stat'] == 'ok'){
  143. LoadComment(window.thispagenum);
  144. }else{
  145. alert('删除失败:'+data['type']);
  146. }
  147. })
  148. }
  149. function reviewedCancel(cmid){
  150. var urlsource = "{% url 'pichublog_cmtsr' '23333' %}";
  151. var url = urlsource.replace(/23333/,cmid) + "?val=false";
  152. $.get(url,function(data){
  153. if(data['stat'] == 'ok'){
  154. LoadComment(window.thispagenum);
  155. }else{
  156. alert('取消审核失败:'+data['type']);
  157. }
  158. })
  159. }
  160. function reviewedOK(cmid){
  161. var urlsource = "{% url 'pichublog_cmtsr' '23333' %}";
  162. var url = urlsource.replace(/23333/,cmid) + "?val=true";
  163. $.get(url,function(data){
  164. if(data['stat'] == 'ok'){
  165. LoadComment(window.thispagenum);
  166. }else{
  167. alert('审核失败:'+data['type']);
  168. }
  169. })
  170. }
  171. LoadComment(1);
  172. newCaptcha();
  173. </script>
  174. {% endblock %}