Share lại shoutbox v2 có đẩy top cho ae dùng :v

74 bài đăng
27.07.2015 / 23:42
thaian2009
Bài đăng: 709
Member

Style wap:

HTML5
  1. <style type="text/css">
  2. html{background-color:white;}
  3. .wcontainer>.center div:not([class]){display:none;}
  4. body{background-color:#dcdee3;margin:auto;max-width:1000px; font-size: 16px;}
  5. body,div{text-align:left}
  6. a {color: #3b5998; text-decoration: none;}
  7. .title{text-align: left; background: #f6f7f8; border: none; color: #444; font-size: small; font-weight: bold; padding: 5px 6px; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
  8. .head{background: #3b5998; padding: 0 6px;}
  9. .clpm{float: right;color: #fff; display: inline-block; font-size: small; padding: 2px 4px 2px;}
  10. .active{background-color: #6d84b4;}
  11. .clink{color: #fff;display: inline-block;font-size: small; padding: 2px 4px 2px;}
  12. .kungs{padding-bottom: 3px;}
  13. .nutbam{background-color: #4e69a2; padding: 0 8px; border: 1px solid #4a5f90; font-weight: normal; color: #fff; display: inline-block; font-size: 12px; height: 28px; line-height: 28px; overflow: hidden; text-align: center; vertical-align: top; white-space: nowrap; border-radius: 2px; cursor: pointer;}
  14. .khungnhap{resize: vertical; width: 70%; border: 1px solid #9197a3;}
  15. .cll{content: ''; line-height: 0; clear: both; display: table;}
  16. .chungs{ padding: 6px;}
  17. .ongoai{background: #fff; margin:6px 6px 0px 6px; border-color: #ccced3 #c4c6ca #b4b6ba; border-style: solid; border-width: 1px;}
  18. .message{word-wrap: break-word; overflow: hidden;margin:-1px 6px 0px 6px;border-color: #ccced3 #c4c6ca #b4b6ba; border-style: solid; border-width:0px 1px 0px 1px;}
  19. .status{ padding: 6px;}
  20. .lll{ float: left;}
  21. .comment{padding: 4px 0;clear:both}
  22. .time{margin-left:10px}
  23. .nguoidung{ margin-left: 10px;float:left;}
  24. .binhluan{background: #f6f7f8; padding: 4px 6px; border-top: 1px solid rgba(0, 0, 0, .101);}
  25. .shadow {height: 1px; width: 100%; background-color: #dedede; border-top: 1px solid #b4b4b4; border-bottom: 1px solid #eeeeee;}
  26. .p8{ padding: 8px;background: #f6f7f8;margin:-1px 6px 0px 6px;border-width:0px 1px 0px 1px;border-style:solid;border-color: #ccced3 #c4c6ca #b4b6ba;}
  27. .nhanh{margin:0px 6px 0px 6px;padding: 8px; background: #f6f7f8;border-width:0px 1px 0px 1px;border-style:solid;border-color: #ccced3 #c4c6ca #b4b6ba;}
  28. .nutnhan{ margin-left: 10px; line-height: normal; height: auto; background-color: #4e69a2; padding: 5px; border: 1px solid #4a5f90; font-weight: normal; color: #fff; display: inline-block;overflow: hidden; text-align: center; vertical-align: top; white-space: nowrap; border-radius: 2px; cursor: pointer;}
  29. .nhaplieu{ height: 36px;padding: 3px 4px; border: 1px solid #ccc;}
  30. </style>
  31. </div>
  32. <div class="head"><div>
  33. <a href="/main.php">
  34. <img src="/files/1050632/shoutboxgenretor.png"></a><a href="/pm.php" class="clpm">PM: 0/0</a>
  35. </div>
  36.  
  37. <div class="kungs">
  38. <a href="/main.php" class="active">Trang chủ</a>
  39. <a href="/user_info.php?uid=24060200&ref=nav" class="clink">Trang cá nhân</a>
  40. <a href="/forums.php" class="clink">Diễn đàn</a>
  41. <a href="/main.php?id=online" class="clink">Online (0)</a>
  42. <a href="/main.php?f=3594523" class="clink">Tìm kiếm</a>
  43. </div>
  44. </div>

Khung comment (thay form_url):

TWIG
  1. {%set form_url='main.php?id=ch_topic_h&uid=193727&back_url=%2Fmain.php%3Ff%3D3383658'%}
  2. <script type="text/javascript">
  3. function writef(ff,vl)
  4. {
  5. var md=ff.desc.value;
  6. ff.text.value=vl+"[-xcmt-]"+md;
  7. }
  8. function dang()
  9. {
  10. var ff=document.forms["formx"];
  11. var nd=ff.desc.value;
  12. if(nd==null || nd=="")
  13. {window.location="{{api.r.getRequestUri()}}&error=null";}else{
  14. ff.text.value=nd;
  15. ff.submit();
  16. }
  17.  
  18. }
  19. </script>
  20.  
  21. {%if api.r.get("cmt")==true%}<div class="title">Bình luận - Chia sẻ</div>{%else%}
  22. <div class="title">SHOUTBOX HISTORY</div>
  23.  
  24. <form action="{{form_url}}" method="post" class="chungs" name="formx">
  25. <@textarea rows="3" cols="20" name="desc" class="khungnhap"><@/textarea><input type="hidden" name="text" value=""/><br>
  26. <input type="button" value="Đăng" class="nutbam" style="margin-left:6px" onclick="dang()">
  27. <div class="cll"></div>
  28. </form>
  29. {%endif%}

Như cái trên nhưng dùng ajax, nếu dùng cái trên thì koo dùng cái này:

TWIG
  1. <div class="title" style="color:red"><a href="http://shoutboxgenerator.wap.mu/main.php?f=3383718" style="color:red;font-size:25px">Source shoutbox v2</a></div>
  2. {%set form_url='main.php?id=ch_topic_h&uid=193727&back_url=%2Fmain.php%3Ff%3D3383658'%}
  3. <script type="text/javascript">
  4. function layno(xl,theUrl,sclass,repl)
  5. {
  6. if (window.XMLHttpRequest)
  7. {
  8. xmlhttp=new XMLHttpRequest();
  9. }
  10. else
  11. {
  12. xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  13. }
  14. xmlhttp.onreadystatechange=function()
  15. {
  16. if (xmlhttp.readyState==4 && xmlhttp.status==200)
  17. {
  18. var astr=xmlhttp.responseText;
  19. var re = repl;
  20. var match;var t="";
  21. while ((match = re.exec(astr)) != null){
  22. t=t+match[0];
  23. }
  24. document.getElementById(sclass).innerHTML=t;
  25. if(xl==1){
  26. var el=document.getElementById(sclass);
  27. var scripts = el.getElementsByTagName("script");
  28. var i = 0;
  29. var end = scripts.length;
  30. for (i; i < end; i++) {
  31. eval( scripts[i].innerHTML );
  32. }
  33. scripts = null;
  34. }
  35. }
  36. }
  37. xmlhttp.open("GET", theUrl,true);
  38. xmlhttp.send();
  39. }
  40. </script>
  41. <script type="text/javascript">
  42. function writef(ff,vl)
  43. {
  44. var md=ff.desc.value;
  45. ff.text.value=vl+"[-xcmt-]"+md;
  46. }
  47. function dang()
  48. {
  49. var ff=document.forms["formx"];
  50. var nd=ff.desc.value;
  51. if(nd==null || nd=="")
  52. {window.location="{{api.r.getRequestUri()}}&error=null";}else{
  53. var xchu =nd; var data=new FormData(); data.append("text",xchu); var xhr = new XMLHttpRequest(); xhr.open("POST","main.php?id=ch_topic_h&uid=193727", true);
  54. xhr.send(data);
  55. layno("1","{{api.r.getRequestUri()}}","khung",/\<span id=\"xkhung\"\>.*?\<\/span\>\<i\>\<\/i\>/mig);var ff=document.forms["formx"]; var nd=ff.desc.value="";
  56. }
  57.  
  58. }
  59. function tailai(){layno("1","{{api.r.getRequestUri()}}","khung",/\<span id=\"xkhung\"\>.*?\<\/span\>\<i\>\<\/i\>/mig);}
  60. var xchay=setInterval("tailai()",10000);
  61. </script>
  62.  
  63. {%if api.r.get("cmt")==true%}<div class="title">Bình luận - Chia s</div>{%else%}
  64. <div class="title">SHOUTBOX HISTORY</div>
  65.  
  66. <form action="{{form_url}}" method="post" class="chungs" name="formx">
  67. <@textarea rows="3" cols="20" name="desc" class="khungnhap"><@/textarea><input type="hidden" name="text" value=""/><br>
  68. <input type="button" value="Đăng" class="nutbam" style="margin-left:6px" onclick="dang()">
  69. <div class="cll"></div>
  70. </form>
  71. {%endif%}

Shoutbox ô 1:

TWIG
  1. {%set xmsg=message_list|split("[-end-]")%}{%set sid=0%}{%set sdata={}%}{%set sotrang=7%}{%set hiencmt="true"%}{%set hienform="false"%}
  2. {%for i in 0..xmsg|length-1%}
  3. {%if "[-uid-]" in xmsg[i] and "[-xcmt-]" not in xmsg[i]%}
  4. {%set uid=xmsg[i]|split("[-uid-]")[1]|split("[-msg-]")[0]%}
  5. {%set msg=xmsg[i]|split("[-msg-]")[1]|split("[-url-]")[0]%}
  6. {%set date=xmsg[i]|split("[-date-]")[1]|split("[-lin-]")[0]%}
  7. {%set nicks=api.u.get(xmsg[i]|split("[-nick-]")[1]|split("[-date-]")[0])%}
  8. {%set socmt=0%}{%set comment=""%}{%set datecmt="-"%}
  9. {%if "[-hidden-]" in msg and api.u.get(api.user_id).uid!=nicks.uid%}{%set ghidden="true"%}{%else%}{%set ghidden=""%}{%endif%}
  10. {%set fuid%}{%if api.r.get("f")>=5%}main.php?f={{api.r.get("f")}}{%else%}main.php?{%endif%}{%endset%}
  11. {%for i in xmsg|length-1..0%}
  12. {%set amsg=xmsg[i]|split("[-msg-]")[1]|split("[-url-]")[0]%}
  13. {%set adate=xmsg[i]|split("[-date-]")[1]|split("[-lin-]")[0]%}
  14. {%set anicks=api.u.get(xmsg[i]|split("[-nick-]")[1]|split("[-date-]")[0])%}
  15. {%if amsg|split("[-xcmt-]")[0]==uid and "[-xcmt-]" in amsg%}{%set socmt=socmt+1%}
  16. {%set binhluan%}
  17. {%set lmsg=amsg|split("[-xcmt-]")[1]|split("@[")%}{%set sbody=""%}{%for y in 0..lmsg|length%}{%if api.u.get(lmsg[y]|split("]")[0]).uid>5%}{%set sbody=sbody~'<img src="/files/953350/quote1.png"><a href="user_info.php?uid='~api.u.get(lmsg[y]|slice(0,8)).uid~'" class="'~api.u.get(lmsg[y]|slice(0,8)).levelCSS~'">'~api.u.get(lmsg[y]|slice(0,8)).nick~'</a><img src="/files/953350/quote2.png">'~lmsg[y]|split("]")[1]%}{%else%}{%endif%} {%endfor%} {%if sbody|length < 3%}{%set sbody=message%}{%endif%} {%set sbody=sbody|default(amsg|split("[-xcmt-]")[1])%}
  18. <div class="message"><div class="binhluan"><table class="vtable" width="100%" cellpadding="0" cellspacing="1"> <tbody> <tr valign="top"> <td colspan="2" rowspan="2" scope="col" width="5%"><img src="{{anicks.profilephotourl(2,true)}}" class="xbogoc"/></td> <td width="94%" scope="col" align="left"><div class="ctime"><a href="user_info.php?uid={{anicks.uid}}">{{anicks.nick}}</a> {{sbody|raw}}</div></td> </tr> <tr> <td align="left"> <a href="/{{fuid}}&cmt=true&suid={{uid}}&ten={{anicks.uid}}"> Trlời</a> · (<small>{%set ngay=adate|date("d-m-Y H:i:s")%}{%set b="now"|date("d-m-Y H:i:s")%}{% set c = date( b ).diff(date( ngay ))%}{%if c.h==0 and c.i==0 and c.s<=3%}Vừa xong.{%elseif c.h==0 and c.i==0%}{{c.s}} giây trước.{%elseif c.h==0 and c.i>=0%}{{c.i}} phút {{c.s}} giây trước.{%elseif c.h>=1%}{{c.h}} gi{{c.i}} phút trước.{%elseif c.d>=1%}{{c.d}} ngày trước.{%endif%}</small>)</td> </tr> </tbody> </table></div></div>[-yota-]
  19. {%endset%}
  20. {%set comment=comment~binhluan%}
  21. {%set datecmt=xmsg[i]|split("[-uid-]")[1]|split("[-msg-]")[0]%}
  22. {%endif%}
  23. {%endfor%}
  24.  
  25. {%if datecmt=="-"%}{%set datecmt=uid%}{%endif%}
  26.  
  27. {%set status%}
  28. [-xtcmt-]{{datecmt}}[-page-]<div class="ongoai"><div class="status" {%if "[-hidden-]" in msg%}style="border: 1px solid #38F7C4;"{%endif%}><i class="arrowr"></i><table class="htable" width="100%" cellpadding="0" cellspacing="1"> <tbody> <tr valign="top"> <td colspan="2" rowspan="2" scope="col" width="5%"><img src="{{nicks.profilephotourl(2,true)}}" class="xbogoc"/></td> <td width="90%" scope="col" align="left"><a href="user_info.php?uid={{nicks.uid}}">{{nicks.nick}}</a></td> </tr> <tr> <td align="left"><span style="font-size: smaller;text-align:right;color: rgb(203, 202, 200);">
  29. {%set ngay=date|date("d-m-Y H:i:s")%} {%set b="now"|date("d-m-Y H:i:s")%} {% set c = date( b ).diff(date( ngay ))%} {%if c.h==0 and c.i==0 and c.s<=3%}Vừa xong.{%elseif c.h==0 and c.i==0%}{{c.s}} giây trước.{%elseif c.h==0 and c.i>=0%}{{c.i}} phút {{c.s}} giây trước.{%elseif c.h>=1 and c.d==0%} {{c.h}} gi{{c.i}} phút trước.{%elseif c.d>=1%}{{c.d}} ngày trước.{%endif%}
  30. </span></td> </tr> </tbody> </table>
  31. <div class="xlogin zlogin">{{msg|replace({"[-hidden-]":''})|raw}}<div><img src="/files/1049801/slike.png"> 0 · <a href="">Thích</a> · <a href="/{{fuid}}&cmt=true&suid={{uid}}">{%if socmt>0%}{{socmt}}{%endif%} Bình luận</a></div></div></div></div>{%if socmt>5 and api.r.get("cmt")!="true"%}<div class="p8"><img src="/files/1020011/icons-new%20copy.png"><a href="/{{fuid}}&cmt=true&suid={{uid}}">Xem thêm {{socmt-5}} bình luận</a></div>{%endif%}
  32. {%endset%}
  33.  
  34. {%set form%}<form action="{{form_url}}" method="post" class="nhanh" onsubmit="writef(this,'{{uid}}')"><input class="nhaplieu" name="desc" type="text" value="{%if api.r.get("ten")>4%}@[{{api.r.get("ten")}}] {%endif%}"><input type="hidden" name="text" value=""><input type="hidden" name="suid" value="{{uid}}"/><input type="submit" value="Bình luận" class="nutnhan"></form>{%endset%}
  35.  
  36. {%set zcmt=comment|split("[-yota-]")%}
  37. {%if api.r.get("cmt")=="true"%}
  38. {%if api.r.get("suid")==uid%}
  39. {%set messages=status~'<div class="vdata">'~comment|split("[-yota-]")|join("")~form~'</div>'%}
  40. {%else%}{%set messages=""%}{%endif%}
  41. {%else%}
  42. {%set messages=hiencmt=="true"?status~'<div class="vdata">'~zcmt[socmt-5]~zcmt[socmt-4]~zcmt[socmt-3]~zcmt[socmt-2]~zcmt[socmt-1]~(hienform=="true"?form:"")~'</div>':status%}
  43. {%endif%}
  44.  
  45. {%if ghidden=="true"%}{%set messages=""%}{%endif%}
  46. {% set sdata = sdata|merge({ ("thaian"~sid): messages}) %}
  47. {% set sid=sid+1%}
  48. {%endif%}
  49. {%endfor%}
  50.  
  51.  
  52.  
  53.  
  54.  
  55. {%for i in 0..sid%}
  56. {%for j in (i+1)..sid%}
  57. {%if (sdata["thaian"~i]|split("[-xtcmt-]")[1]|slice(0,14))*1 < (sdata["thaian"~j]|split("[-xtcmt-]")[1]|slice(0,14))*1 %}
  58. {%set temp=sdata["thaian"~j]%}
  59. {%set sdata=sdata|merge({("thaian"~j):sdata["thaian"~i]})%}
  60. {%set sdata=sdata|merge({("thaian"~i):temp})%}
  61. {%endif%}
  62. {%endfor%}
  63. {%endfor%}
  64.  
  65. {%set spage=api.r.get("pusl")|default(0)%}
  66. {%if spage>0%}{%set dau=spage*sotrang%}{%set cuoi=((spage+1)*sotrang)-1%}{%else%}{%set dau=spage*sotrang%}{%set cuoi=((spage+1)*sotrang)-1%}{%endif%}
  67.  
  68. <div style="background-color:#e9eaed;padding-bottom:5px">{%for i in dau..cuoi%}{{sdata["thaian"~i]|split("[-page-]")[1]|raw}}{%endfor%}</div>
  69. <center>{%if spage>0%}<a href="main.php?{%if api.r.get('f')>=5%}f={{api.r.get('f')}}{%endif%}&pusl={%if spage==null%}1{%else%}{{spage-1}}{%endif%}#chatne"><<Trang trước</a> | {%endif%}<a href="main.php?{%if api.r.get('f')>=5%}f={{api.r.get('f')}}{%endif%}&pusl={%if spage==null%}1{%else%}{{spage+1}}{%endif%}#chatne">Trang sau>></a></center>

Shoutbox ô 2 (số tin nhắn để 100):

TWIG
  1. {%set dates=message_date%}
  2. {%if "[-xcmt-]" in message|slice(0,14)%}[-cmt-]{{message|split("[-xcmt-]")[0]}}{%endif%}[-uid-]{{dates|date("YmdHis")}}[-msg-]{{message}}[-url-]{{file_url}}[-nick-]{{nick|slice(27,8)}}[-date-]{{dates|date("d-m-Y H:i:s")}}[-lin-][-end-]

http://shoutboxgenerator.wap.m ... 83658

{%set sotrang=7%} thay thành số bài viết hiển thị

{%set hiencmt="true"%} Nếu ko muốn hiện comment ngoài trang chủ thì cho thành false

{%set hienform="false"%} Nếu muốn hiện form comment ngoài trang chủ thì cho thành true

Đã chỉnh sửa. MrKen (30.08.2017 / 16:59)
27.07.2015 / 23:57
NhOcKery
Bài đăng: 159
Member
NgOn NhƯ xE cOn =))

Code con sơ sài qúa

27.07.2015 / 23:59
thaian2009
Bài đăng: 709
Member

Sao mà sơ sài.. muốn thêm chức năng gì vào..

28.07.2015 / 00:14
alogame
Bài đăng: 396
Member

Đang dùng v1 của ken mà giờ bay qua của chú thaian hư hết style

28.07.2015 / 00:16
alogame
Bài đăng: 396
Member

có thể hướng dẫn cái code comment up top và chèn vào đoạn nào sb của mrken k

28.07.2015 / 00:19
thaian2009
Bài đăng: 709
Member

ko có chèn dc, nhưng cái này stlye ít mà, sửa tí là xong

28.07.2015 / 00:40
alogame
Bài đăng: 396
Member

Mai lm thử. Thank thaian nhé

28.07.2015 / 00:46
hanhphucao
Bài đăng: 2470
Admin
Admin là người tận tâm và luôn hành xử đúng mực.

Nói thật là code của chú thái lan (:v) khó sửa và khó mà áp dụng với cái cũ =))

28.07.2015 / 06:10
alogame
Bài đăng: 396
Member

Lần trc cũng share một cái đem vô xego test bị lỗi. Cái của mrken thì test tẹc ga

28.07.2015 / 06:12
alogame
Bài đăng: 396
Member

Hpa nghiên cứu gắn vô sb v1 của mrken dc k. Chắc kêu admin share cho ui