online_index.html 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400
  1. {// 引入标签库 }
  2. <tagLib name="html" />
  3. <include file="Public:header" />
  4. <PHP>
  5. function live_status($status,$video){
  6. if($status==1){
  7. //return "<a href='__ROOT__/video.php?channelid=".$video['channelid']."' target='_blank'>直播中</a>";
  8. return "<a href=\"javascript:get_video_preview('".$video['id']."')\">直播中</a>";
  9. }elseif($status==2){
  10. return "正在创建直播";
  11. }elseif($status==3){
  12. return "历史";
  13. }else{
  14. return "直播结束";
  15. }
  16. }
  17. function push($id,$video){
  18. return "<a href=\"javascript:push_anchor('".$id."')\">粉丝推送</a>";
  19. }
  20. function push_all($id,$video){
  21. return "<a href=\"javascript:push_anchor_all('".$id."')\">全服推送</a>";
  22. }
  23. function stick($id,$video){
  24. if(intval(defined('OPEN_STICK') && OPEN_STICK)){
  25. if($video['stick']==1){
  26. return "<a href=\"javascript:stick('".$id."')\">取消手动置顶</a>";
  27. }else{
  28. return "<a href=\"javascript:stick('".$id."')\">手动置顶</a>";
  29. }}
  30. }
  31. function close($id,$video){
  32. if($video['live_in']==1){
  33. return "<a href=\"javascript:close_live('".$video['user_id']."','".$video["id"]."')\">关闭房间</a>";
  34. }else{
  35. return "<a href=\"javascript:demand_video_status('".$id."')\">下线</a>";
  36. }
  37. }
  38. function forbid_send_msg($id,$video){
  39. return "<a href=\"javascript:forbid('".$id."')\">被禁言观众</a>";
  40. }
  41. function get_level($id){
  42. $get_level=$GLOBALS['db']->getOne("select ul.name from ".DB_PREFIX."user_level as ul left join ".DB_PREFIX."user as u on u.user_level = ul.level where u.id=".$id);
  43. return $get_level;
  44. }
  45. function get_nickname($id){
  46. $get_nickname=$GLOBALS['db']->getOne("select nick_name from ".DB_PREFIX."user where id=".$id);
  47. return emoji_decode($get_nickname);
  48. }
  49. function get_preview($id)
  50. {
  51. return "<a href=\"javascript:get_video_preview('".$id."')\">查看</a>";
  52. }
  53. function get_room_type($room_type){
  54. if($room_type==1){
  55. return "私密";
  56. }elseif($room_type==2){
  57. return "聊天室";
  58. }elseif($room_type==3){
  59. return "互动聊天室";
  60. }else{
  61. return "公开";
  62. }
  63. }
  64. function live_pay($is_live_pay){
  65. if($is_live_pay==0){
  66. return "否";
  67. }elseif($is_live_pay==1){
  68. return "是";
  69. }}
  70. function live_stick($stick){
  71. if($stick==0){
  72. return "否";
  73. }elseif($stick==1){
  74. return "是";
  75. }}
  76. function live_pay_type($live_pay_type,$video){
  77. if($video['is_live_pay']==1){
  78. if($live_pay_type==1){
  79. return "按场收费";
  80. }elseif($live_pay_type==0){
  81. return "按时收费";
  82. }elseif($live_pay_type==2){
  83. return "暂未收费";
  84. }
  85. }
  86. }
  87. function set_live_pay($id,$video){
  88. if($video['pay_editable']==1){
  89. return "<a href=\"javascript:set_live_pay('".$id."')\">付费设置</a>";
  90. }
  91. }
  92. function pay_list($id, $video) {
  93. if($video['pay_editable']==1){
  94. return "<a href=\"javascript:pay_list('".$id."')\">付费日志</a>";
  95. }
  96. }
  97. </PHP>
  98. <script>
  99. function demand_video_status(id)
  100. {
  101. if(confirm("确定要修改状态?"))
  102. $.ajax({
  103. url: ROOT+"?"+VAR_MODULE+"="+MODULE_NAME+"&"+VAR_ACTION+"=set_demand_video_status&id="+id,
  104. data: "ajax=1",
  105. dataType: "json",
  106. success: function(obj){
  107. alert(obj.info);
  108. func();
  109. function func(){
  110. if(obj.status==1){
  111. location.href=location.href;
  112. }
  113. }
  114. }
  115. });
  116. }
  117. function forbid(id){
  118. location.href = ROOT+"?"+VAR_MODULE+"="+MODULE_NAME+"&"+VAR_ACTION+"=forbid&id="+id;
  119. }
  120. function get_video_preview(id){
  121. window.open(ROOT+"?"+VAR_MODULE+"="+MODULE_NAME+"&"+VAR_ACTION+"=play&id="+id);
  122. }
  123. function virtual(id){
  124. location.href = ROOT+"?"+VAR_MODULE+"="+MODULE_NAME+"&"+VAR_ACTION+"=list_virtual&id="+id;
  125. }
  126. function tipoff_list(id){
  127. location.href = ROOT+"?"+VAR_MODULE+"=Tipoff&"+VAR_ACTION+"=index&video_id="+id;
  128. }
  129. function stick(id){
  130. $.ajax({
  131. url: ROOT+"?"+VAR_MODULE+"="+MODULE_NAME+"&"+VAR_ACTION+"=stick&id="+id,
  132. data: "",
  133. dataType: "json",
  134. success: function(obj){
  135. alert(obj.info);
  136. func();
  137. function func(){
  138. if(obj.status==1){
  139. location.href=location.href;
  140. }
  141. }
  142. }
  143. });
  144. }
  145. function push_anchor(id){
  146. $.ajax({
  147. url: ROOT+"?"+VAR_MODULE+"="+MODULE_NAME+"&"+VAR_ACTION+"=push_anchor&id="+id,
  148. data: "",
  149. dataType: "json",
  150. success: function(obj){
  151. console.log(obj);
  152. $("#info").html(obj.info);
  153. if(obj.status==1){
  154. if(obj.info){
  155. alert(obj.info);
  156. }
  157. else{
  158. alert('操作成功');
  159. }
  160. }
  161. else{
  162. if(obj.info){
  163. alert(obj.info);
  164. }
  165. else{
  166. alert('操作成功');
  167. }
  168. }
  169. }
  170. });
  171. }
  172. function push_anchor_all(id){
  173. $.ajax({
  174. url: ROOT+"?"+VAR_MODULE+"="+MODULE_NAME+"&"+VAR_ACTION+"=push_anchor_all&id="+id,
  175. data: "",
  176. dataType: "json",
  177. success: function(obj){
  178. $("#info").html(obj.info);
  179. if(obj.status==1){
  180. if(obj.info){
  181. alert(obj.info);
  182. }
  183. else{
  184. alert('操作成功');
  185. }
  186. }
  187. else{
  188. if(obj.info){
  189. alert(obj.info);
  190. }
  191. else{
  192. alert('操作成功');
  193. }
  194. }
  195. }
  196. });
  197. }
  198. function refresh(){
  199. $(document).ready(function(){
  200. window.location.reload();
  201. });
  202. }
  203. function close_live($user_id,$room_id){
  204. var r=confirm("确定关闭这个直播??");
  205. if (r==true){
  206. $.ajax({
  207. url: ROOT+"?"+VAR_MODULE+"="+MODULE_NAME+"&"+VAR_ACTION+"=close_live&user_id="+$user_id+"&room_id="+$room_id,
  208. data: "",
  209. dataType: "json",
  210. success: function(obj){
  211. $("#info").html(obj.info);
  212. if(obj.status==1){
  213. if(obj.info){
  214. alert(obj.info);
  215. refresh();
  216. }
  217. else{
  218. alert('操作成功');
  219. refresh();
  220. }
  221. }
  222. else{
  223. if(obj.info){
  224. alert(obj.info);
  225. refresh();
  226. }
  227. else{
  228. alert('操作成功');
  229. refresh();
  230. }
  231. }
  232. }
  233. });
  234. }else{
  235. }
  236. }
  237. //直播设置
  238. function video_set(id)
  239. {
  240. $.ajax({
  241. url: ROOT+"?"+VAR_MODULE+"="+MODULE_NAME+"&"+VAR_ACTION+"=video_set&id="+id,
  242. data: "ajax=1",
  243. dataType: "json",
  244. success: function(msg){
  245. if(msg.status==0){
  246. alert(msg.info);
  247. }
  248. },
  249. error: function(){
  250. $.weeboxs.open(ROOT+'?'+VAR_MODULE+'='+MODULE_NAME+'&'+VAR_ACTION+'=video_set&id='+id, {contentType:'ajax',showButton:false,title:LANG['USER_VIDEO_SET'],width:600,height:260});
  251. }
  252. });
  253. }
  254. //推送地址
  255. function push_url(id)
  256. {
  257. $.ajax({
  258. url: ROOT+"?"+VAR_MODULE+"="+MODULE_NAME+"&"+VAR_ACTION+"=push_url&id="+id,
  259. data: "ajax=1",
  260. dataType: "json",
  261. success: function(msg){
  262. if(msg.status==0){
  263. alert(msg.info);
  264. }
  265. },
  266. error: function(){
  267. $.weeboxs.open(ROOT+'?'+VAR_MODULE+'='+MODULE_NAME+'&'+VAR_ACTION+'=push_url&id='+id, {contentType:'ajax',showButton:false,title:'推流地址',width:1024,height:300});
  268. }
  269. });
  270. }
  271. function set_live_pay(id){
  272. $.ajax({
  273. url: ROOT+"?"+VAR_MODULE+"="+MODULE_NAME+"&"+VAR_ACTION+"=set_live_pay&id="+id,
  274. data: "ajax=1",
  275. dataType: "json",
  276. success: function(msg){
  277. if(msg.status==0){
  278. alert(msg.info);
  279. }
  280. },
  281. error: function(){
  282. $.weeboxs.open(ROOT+'?'+VAR_MODULE+'='+MODULE_NAME+'&'+VAR_ACTION+'=set_live_pay&id='+id, {contentType:'ajax',showButton:false,title:'付费设置',width:600,height:200});
  283. }
  284. });
  285. }
  286. //付费日志
  287. function pay_list(id){
  288. location.href = ROOT+"?"+VAR_MODULE+"=LivePayLog&"+VAR_ACTION+"=index&room_id="+id;
  289. }
  290. //礼物列表
  291. function prop_list(id){
  292. location.href = ROOT+"?"+VAR_MODULE+"=VideoProp&"+VAR_ACTION+"=index&room_id="+id;
  293. }
  294. </script>
  295. <load href='__TMPL__Common/js/jquery.bgiframe.js' />
  296. <load href='__TMPL__Common/js/jquery.weebox.js' />
  297. <load href='__TMPL__Common/js/deal.js' />
  298. <load href='__TMPL__Common/js/user.js' />
  299. <load href='__TMPL__Common/style/weebox.css' />
  300. <script type="text/javascript" src="__TMPL__Common/js/calendar/calendar.php?lang=zh-cn" ></script>
  301. <load href='__TMPL__Common/js/calendar/calendar.css' />
  302. <load href='__TMPL__Common/js/calendar/calendar.js' />
  303. <div class="main">
  304. <div class="main_title_list"><div class="list-line-ico"></div>直播中视频 <a href="/{$url_name}?m=Video&a=online_index&&">刷新</a></div>
  305. <div class="search_row">
  306. <form name="search" action="__APP__" method="get" class="clearfix">
  307. <div>主播ID: <input type="text" class="textbox" name="user_id" value="{:trim($_REQUEST['user_id'])}" style="width:100px;" /></div>
  308. <div>主播昵称:<input type="text" class="textbox" name="nick_name" value="{:trim($_REQUEST['nick_name'])}" style="width:100px;" /></div>
  309. <div>话题:<select name="cate_id">
  310. <option value="0">全部</option>
  311. <foreach name="cate_list" item="cate_item">
  312. <option value="{$cate_item.id}" <if condition="$_REQUEST['cate_id'] eq $cate_item['id']">selected="selected"</if>>{$cate_item.title}</option>
  313. </foreach>
  314. </select></div>
  315. <div>分类:<select name="classified_id">
  316. <option value="0">全部</option>
  317. <foreach name="classified_list" item="classified_item">
  318. <option value="{$classified_item.id}" <if condition="$_REQUEST['classified_id'] eq $classified_item['id']">selected="selected"</if>>{$classified_item.title}</option>
  319. </foreach>
  320. </select></div>
  321. <div>创建时间:<span><input type="text" class="textbox" name="create_time_1" id="create_time_1" value="{$_REQUEST['create_time_1']}" onfocus="this.blur(); return showCalendar('create_time_1', '%Y-%m-%d', false, false, 'btn_create_time_1');" /><input type="button" class="button" id="btn_create_time_1" value="{%SELECT_TIME}" onclick="return showCalendar('create_time_1', '%Y-%m-%d', false, false, 'btn_create_time_1');" /></span> - <span><input type="text" class="textbox" name="create_time_2" id="create_time_2" value="{$_REQUEST['create_time_2']}" onfocus="this.blur(); return showCalendar('create_time_2', '%Y-%m-%d', false, false, 'btn_create_time_2');" /><input type="button" class="button" id="btn_create_time_2" value="{%SELECT_TIME}" onclick="return showCalendar('create_time_2', '%Y-%m-%d', false, false, 'btn_create_time_2');" /></span><input type="hidden" value="Video" name="m" /><input type="hidden" value="online_index" name="a" /><input type="submit" class="button" value="{%SEARCH}" /></div>
  322. <!--<input style="margin-top: 5px;" type="button" class="button button-add" value="赠送红包" onclick="location.href='{:u("Video/add")}';" />-->
  323. </form>
  324. </div>
  325. <if condition="$is_pay_live eq 1">
  326. <html:list
  327. id="dataTable"
  328. style="dataTable"
  329. name="video"
  330. action="true"
  331. datasource="list"
  332. show="id:房间号
  333. ,user_id:主播ID
  334. ,user_id|get_nickname=$video['user_id']:主播
  335. ,vote_number:{%TICKET}|50px
  336. ,all_watch_number:前端显示人数
  337. ,watch_number:实际观看人数
  338. ,max_watch:洪峰观看人数
  339. ,virtual_watch_number:当前机器人数
  340. ,robot_num:当前机器人头数量
  341. ,live_in|live_status=$video:直播状态:preview
  342. ,room_type|get_room_type=$video['room_type']:直播类型
  343. ,is_live_pay|live_pay:是否收费
  344. ,live_pay_type|live_pay_type=$video:收费类型
  345. ,create_time|to_date:创建时间
  346. ,tipoff_count:举报次数:tipoff_list
  347. ,monitor_time:心跳时间
  348. ,is_recommend|get_recommend=$video['id']:推荐
  349. ,sort|get_sort=$video['id']:{%SORT}
  350. ,sort_num:热门"
  351. actionlist="id|set_live_pay=$video,id|pay_list=$video,id|get_preview=$video,prop_list:礼物列表,video_set:{%USER_VIDEO_SET},id|push=$video,id|push_all=$video,equipment_info:{%EQUIPMENT_INFO},id|stick=$video,id|close=$video,push_url:{%PUSH_URL}" />
  352. <else />
  353. <html:list
  354. id="dataTable"
  355. style="dataTable"
  356. name="video"
  357. action="true"
  358. datasource="list"
  359. show="id:房间号
  360. ,user_id:主播ID
  361. ,user_id|get_nickname=$video['user_id']:主播
  362. ,vote_number:{%TICKET}|50px
  363. ,all_watch_number:前端显示人数
  364. ,watch_number:实际观看人数
  365. ,max_watch:洪峰观看人数
  366. ,virtual_watch_number:当前机器人数
  367. ,robot_num:当前机器人头数量
  368. ,live_in|live_status=$video:直播状态:preview
  369. ,room_type|get_room_type=$video['room_type']:直播类型
  370. ,create_time|to_date:创建时间
  371. ,tipoff_count:举报次数:tipoff_list
  372. ,monitor_time:心跳时间
  373. ,is_recommend|get_recommend=$video['id']:推荐
  374. ,is_hot_on|get_is_hot_on=$video['user_id']:{%IS_HOT_ON}
  375. ,sort|get_sort=$video['id']:{%SORT}
  376. ,sort_num:热门"
  377. actionlist="id|set_live_pay=$video,id|get_preview=$video,prop_list:礼物列表,video_set:{%USER_VIDEO_SET},id|push=$video,id|push_all=$video,equipment_info:{%EQUIPMENT_INFO},id|stick=$video,id|close=$video,push_url:{%PUSH_URL}" />
  378. </if>
  379. <div class="page">{$page}</div><!--(数值越大在app热门直播中越靠前) ,vote_number:{%TICKET}-->
  380. </div>
  381. <include file="Public:footer" />