Tiaxgame.Tk
Trang chủ | Forum | Register Wap4.Co Free
Đăng Nhập » Đăng Ký
ForumWap4 Việt NamShare Code
Lượt xem: 126

▼ Code caro online rút gọn ver thehe9x

* nhokdung  (Member) [Off]
30 * 17
*   Cách đây 1 tháng
Chào ae code caro nay mình share


Chức năng


- tạo bàn chơi caro
- pvp đối thủ
Demo thehe9x nhá ae bản rút gọn code


troll

Tạo file caro dán
[code]{% from 'func.twig' import login%}
{% use '_mail' %}{%use '_blocks'%}

{% from 'func_khanh.twig' import up,add,get,paging %}
{% from 'caro.twig' import get,id,description,bbcode,level,ucolor,ago,mi_add,del,on%}
{% set site = {"title":"Caro Beta Test"} %}
{{ block('header1') }}
{% set token = login()|trim %}
{% set id_user = login()|trim%}
{% set user = get_data('user_'~id_user)|last.data|json_decode %}
{% set login = user.nickk %}
{% set url = get_uri_segments() %}

<style>
table, th, td {
border: 1px solid black;
}
</style>

<div id="box_forums">
<div class="box_list_parent"><div class="box_parent_list"><span>Cờ Caro </div><!--div class="box_midss"-->
{%if get_data_count('user_play_caro')==0%}
{%set rt=save_data('user_play_caro',[]|json_encode)%}
{%endif%}


{%if get_data_count('chat_room')==0%}
{%set rt=save_data('chat_room',[]|json_encode)%}
{%endif%}

{% if login %}
{{add('user_'~login,'on',"now"|date('U'))}}
{% set url = get_uri_segments() %}
{#% if url[0] == 'caro' %#}


{% if url[1] == 'created' %}

<h3>Tạo phòng chơi</h3>
{#% include 'caro_created' %#}




{% set name = get('user_'~login,'nickk') %}
{% set timenow = now|date('U') %}
{% set xu = get('user_'~login,'xu')|trim %}
{% set caro_created = get('user_'~login,'caro_created')|trim %}
{% set id = get('caro','id')|trim+1 %}
{% if request_method()|lower == "post" %}
{% set xucuoc = get_post('xu') %}
{% if xucuoc > '0' %}
{% if caro_created > '0' and get('user_'~login,'level')!="admin"%}
<div class="list_info" style="text-align:center; color:red; font-size:16px;">Bạn không thể tạo phòng lúc này, do chưa hoàn thành trò chơi trước đó</div>
{% elseif xu < xucuoc %}
<div class="list_group">Xu hiện tại của bạn không đủ để tham gia</div>
{% elseif xucuoc > '15000' or xucuoc < '5' %}
<div class="list_group">Xu bạn đặt cược không hợp lệ</div>
{% else %}
{% set save=save_data('caro_'~id,{"user_1":login,"id":id,"action":"playoff","xu":xucuoc,"timecreated":now|date('U', 'Asia/Ho_Chi_Minh')}|json_encode) %}
{% set idd = id('chat')|trim %}


{{add('caro','id',id)}}
{{up('caro_list',id,'up')}}
{{add('user_'~login,'caro_created','1')}}
<div class="list_info" style="text-align:center; color:red; font-size:20px;">Tạo thành công, phòng sẽ được khởi động sau vài giây nữa.</div>
<meta http-equiv="refresh" content="0; url=/caro/play/{{id}}">
{% endif %}
{% endif %}
{% else %}
<form name="form" action="" method="post" enctype="multipart/form-data">
<div class="list_info" style="font-size:16px;text-align:center;">Số xu bạn đang sở hữu: <font color="green">{{xu}} XU </font></div>
<div class="form-group"><label for="xu">Số xu muốn đặt cược ??</label><br /><input type="number" name="xu" value="" id="xu" class="form-control" placeholder="Xu đặt cược từ 5 xu đến 15.000 xu" /></div>
<div class="list_info" style="text-align:center;"><input type="submit" id="num_comment" name="submit" value="Tạo phòng mới"/></div></form></div><div>
{% endif %}




{% elseif url[1] == 'play' %}

<div class="menu_title"><span style="float:right;"><a href="/caro"><h4>Quay lại</h4></a></span></div>
{#% include 'caro_play' %#}


{% set url = get_uri_segments() %}
{% set id = get('caro_'~url[2],'id') %}
{% set user_1 = get('caro_'~url[2],'user_1') %}
{% set user_2 = get('caro_'~url[2],'user_2') %}
{% set action = get('caro_'~url[2],'action') %}
{% set xu = get('caro_'~url[2],'xu') %}
{% set time = get('caro_'~url[2],'timecreated') %}
{% set user_win = get('caro_'~url[2],'user_win') %}
{% if user_win == user_1 %}
{% set name_win = get('user_'~user_1,'nickk') %}
{% set name_lose = get('user_'~user_2,'nickk') %}
{% else %}
{% set name_win = get('user_'~user_2,'nickk') %}
{% set name_lose = get('user_'~user_1,'nickk') %}
{% endif %}
{% if get('caro_'~url[2]) and get('caro_'~url[2],'action') != 'playend' and user_2 %}
{% set go = mi_add('user_play_caro',{('U'~user_1):(now|date('U'))}) %}
{% set go = mi_add('user_play_caro',{('U'~user_2):(now|date('U'))}) %}
{% else %}
{% set go = del('user_play_caro','U'~user_1) %}
{% set go = del('user_play_caro','U'~user_2) %}
{% endif %}
{% set data %}<div class="list-item"><span class="avatar"><img src="{{get('user_'~user_1,'icon')}}"></span>#{{id}} Chủ phòng: <b>{{get('user_'~user_1,'nick')}}</b><div><!--small class="green">{{ago(time)}}</small--></div><small class="red">Xu cược: {{xu}} xu</small></div>{% if action == 'playon' or action == 'playend' %}<div class="list_comment"><center><b style="color:red;">{{get('user_'~user_1,'nick')}} X</b> / <b style="color:green;">{{get('user_'~user_2,'nick')}} O</b></center></div>{% endif %}{% endset %}
{% set comment%}


<div class="box_parent_list"><span>Bình luận</div>
{#% include 'caro_chat_test' %#}

{% spaceless %}
{% set id = get_uri_segments() %}

{% set user = get_data('user_'~id_user)|last.data|json_decode %}




{# ============= set phân trang ====================#}
{% set long_data = get_data('CHAT')|last.data|json_decode|length %}
{% set page_max = user['chat_on_page']|default('7') %}{% set page = get_get('p') %}
{% set page_set = (long_data/page_max)|round('0','ceil') %}
{% if page<=1 %}
{% set return = 0 %}
{% elseif page>page_set %}
{% set page = page_set %}{% set return = (page_max*page)-page_max %}
{% else %}
{% set return = (page_max*page)-page_max %}
{% endif %}
{%set ctv=get_data('chat_room')[0].data|json_decode%}
{#%if get_post("content")!=""%}<script>document.location=""</script>
{{add('chat_room','data'~ctv['dem']|trim+1,{"nick":get('user_'~login,'nick'),"time":"now"|date('U'),"nd":get_post("content"),"uid":ctv['dem']|trim+1})}}
{{add('pk','data'~url[2],ctv['dem']|trim+1)}}
{%endif%#}

<form method="post">
<textarea style="width:98%" rows="3" name="comment" type="text" placeholder="Nhập nội dung" class="form-control" id="comment"></textarea><br>
<button class="num-register"><i class="fa fa-paper-plane-o" aria-hidden="false"></i> Chat</button> <span style="margin:0 5px;">[<a href="/cms/smile">SMILE</a>]</span>
</form>


<div id="loadcmt">

{#%for vv in get('pk')|split("@")%}
{%if loop.last==false %}
{%set bad=get_data('chat_room')[0].data|json_decode['data'~vv|trim]%}
{%if bad.uid in vv|trim%}
<div style="padding:4px;border-bottom:1px solid #CCC">{{bad.nick}} <b>{{bad.nd}}</b> <span style="float:right">{{ago(bad.time)}}</span>
</div>{%endif%}
{%endif%}
{%endfor%#}



{#% include 'caro_chat_list' %#}




{% set user = get_data('user_'~id_user)|last.data|json_decode %}
{% set get_user = get_data('id_user')|last.data|json_decode %}

{% set content = get_post('comment')%}
{% if request_method()|lower == "post" %}<script>document.location=""</script>
{% if content|length<=500 and content|length>=3 %}
{% set ids = id('chat_caro')|trim %}
{% set data_chat={
'user' : user['nick'],
'content' : content,
'id' : ids,
'time' : now|date('U')
}
%}
{% set go = mi_add('CHAT_CARO_ROOM_'~url[2],{ ('C'~ids):(data_chat) }) %}
{% if go %}
{% set note_chat = 'OK !' %}
{% else %}
{% set note_chat = 'Hệ thống bận !' %}
{% endif %}
{% else %}
{% set cache_comment = comment %}
{% set note_chat = 'Nội dung không hợp lệ' %}
{% endif %}
{% endif %}
{#% include 'caro_chat_list' %#}



{% set id = get_uri_segments() %}
{% if id[2] == '' %}
{% set id = id[1] %}
{% else %}
{% set id = id[2] %}
{% endif %}
{% set c = '' %}
{% for e in get_data('CHAT_CARO_ROOM_'~id,100,1) %}
{% set c = c~e.data %}{% endfor %}
{% set entry = c|json_decode %}
{% for k,v in entry|reverse|slice(return,7) %}
{% set info = entry['C'~k|slice(1,10)] %}
{% set iduser = get_data('id_user')|last.data|json_decode[info['user']] %}
<div class="list_comment" style="border-bottom:1px solid #CCC;padding:4px"> <a href="/profile?id={{iduser}}">{{info['user']}}:</a> {{bbcode(info['content'])}}<i style="color:gray; font-size:12px; float:right;">{{ago(info['time'])}}</i></div>
{% endfor %}






</div>


{% endspaceless %}







{% endset %}
{% if action == 'playoff' %}
<div id="loadcaro">
{{data}}
{#% include 'caro_play_playoff' %#}


{#% from 'func_khanh.twig' import login,up,add,get,ago,del %}
{% from 'function.twig' import delete %}
{% set token = get_cookie('login') %}
{% set id_user = '' %}{% for k,v in get_data('login')|last.data|json_decode if v==token %}{% set id_user = k|slice(1,10) %}{% endfor %}
{% set user = get_data('user_'~id_user)|last.data|json_decode %}
{% set login = user.id %#}
{% set url = get_uri_segments() %}
{% set id = get('caro_'~url[2],'id') %}
{% set user_1 = get('caro_'~url[2],'user_1') %}
{% set user_2 = get('caro_'~url[2],'user_2') %}
{% set action = get('caro_'~url[2],'action') %}
{% set xu = get('caro_'~url[2],'xu')|trim %}
{% set time = get('caro_'~url[2],'timecreated') %}
{% if login == user_1 %}
{% if user_2 %}
<div class="list_comment"><b>{{get('user_'~user_2,'nick')}}</b> đã sẵn sàng</div>
{% if request_method()|lower == "post" %}
{% set batdau = get_post('batdau') %}
{% set kich = get_post('kich') %}
{% set huyphong = get_post('huyphong') %}
{% if batdau %}
{% set timeon = get('user_'~user_2,'on')|trim %}
{% set timenow = now|date('U') %}
{% set timebt = (timenow-timeon) %}
{% if timebt < '30' %}
{{add('caro_'~url[2],'luot',login)}}
{{add('caro_'~url[2],'action','playon')}}
{{add('caro_'~url[2],'timedanh',timenow)}}
{{add('user_'~user_2,'tb_caro','2-'~url[2])}}
{{add('action_'~user_2,'numNotification',(get('action_'~user_2,'numNotification')|trim+1))}}
<div class="list_info" style="text-align:center; font-size:17px;">Phòng chơi đã khởi động</div>
{% else %}
<div class="list_info" style="text-align:center; font-size:17px;">Người chơi hiện không online nên không thể bắt đầu</div>
{% endif %}
{% elseif kich %}
{{add('caro_'~url[2],'user_2','')}}
<div class="list_info" style="text-align:center; font-size:17px;">Đã kích người này ra khỏi phòng</div>
{% elseif huyphong %}
{{del('caro_'~url[2])}}
{{del('caro_list',url[2],'up')}}
{{add('user_'~login,'caro_created','0')}}
{{del('CHAT_CARO_ROOM_'~url[2])}}
<div class="list_info" style="text-align:center; font-size:17px;">Phòng chơi đã huỷ</div>
{% endif %}
{% else %}
<div class="list_info" style="text-align:center; font-size:17px;"><form action="" method="post"><input type="submit" name="batdau" id="num_comment" value="Bắt đầu"> | <input type="submit" name="kich" id="num_comment" value="Kích khỏi phòng"> | <input type="submit" name="huyphong" class="num-reset" value="Huỷ phòng"></form></div>
{% endif %}
{% else %}
{% if request_method()|lower == "post" %}
{% set huyphong = get_post('huyphong') %}
{% if huyphong %}
{{del('caro_'~url[2])}}
{{del('caro_list',url[2],'up')}}
{{add('user_'~login,'caro_created','0')}}
<div class="list_info" style="text-align:center; font-size:17px;">Phòng chơi đã huỷ</div>
{% endif %}
{% else %}
<div class="list_info" style="text-align:center; font-size:17px;">Vui lòng chờ người chơi khác</div><div class="list_comment" style="text-align:center;font-size:17px;"><form action="" method="post"><!--button><a href="/caro/add/{{id}}">Mời bạn</a></button> |--> <input type="submit" name="huyphong" id="num_comment" value="Huỷ phòng"></form></div>
{% endif %}
{% endif %}
{% else %}
{% if user_2|length > '0' and user_2 != login %}
<div class="list_info" style="text-align:center; font-size:17px;"><b>{{get('user_'~user_2,'name')}}</b> đã vào phòng, vui lòng tìm phòng khác</div>
{% else %}
{% if user_2 == login %}
<div class="list_info" style="text-align:center; font-size:17px;">Vui lòng chờ chủ phòng bắt đầu</div>
{% else %}
{% set loginxu = get('user_'~login,'coins')|trim %}
{% if request_method()|lower == "post" %}
{% set ss = get_post('ss') %}
{% if ss %}
{% if loginxu < xu %}
<div class="list_info" style="text-align:center; font-size:17px;">Xu của bạn không đủ để tham gia phòng này</div>
{% else %}
{{add('caro_'~url[2],'user_2',login)}}
{{add('action_'~user_1,'numNotification',(get('action_'~user_1,'numNotification')|trim+1))}}
{{add('user_'~user_1,'tb_caro','1-'~url[2])}}
<div class="list_info" style="text-align:center; font-size:17px;">Đã sẵn sàng</div>
{% endif %}
{% endif %}
{% else %}
<div class="list_info" style="text-align:center; font-size:17px;"><form action="" method="post"><input type="submit" name="ss" id="num_comment" value="Sẵn sàng"></div>
{% endif %}
{% endif %}
{% endif %}
{% endif %}


</div>
{{comment}}
{% elseif action == 'playon' %}
<div id="loadcaro">
{{data}}
{#% include 'caro_play_playon' %#}



{% set url = get_uri_segments() %}
{% set id = get('caro_'~url[2],'id') %}
{% set user_1 = get('caro_'~url[2],'user_1')|trim %}
{% set user_2 = get('caro_'~url[2],'user_2')|trim %}
{% set user_win = get('caro_'~url[2],'user_win')|trim %}

{# tbcaro#}
{% set tb_caro = get('user_'~login,'tb_caro') %}
{% if tb_caro %}
{{add('user_'~login,'tb_caro','')}}
{% endif %}
{#kttb#}
{% if user_win == user_1 %}
{% set id_win = user_1 %}
{% set id_lose = user_2 %}
{% else %}
{% set id_win = user_2 %}
{% set id_lose = user_1 %}
{% endif %}

{% set numTop = get('TOP_LEGEND_CARO','U'~user_win)|trim %}
{% set action = get('caro_'~url[2],'action') %}
{% set xu = get('caro_'~url[2],'xu')|trim %}
{% set time = get('caro_'~url[2],'timecreated') %}

{% set timedanh = get('caro_'~url[2],'timedanh')|trim %}
{% set timenow = now|date('U') %}
{% set timeok = (timenow-timedanh) %}
{% set luot = get('caro_'~url[2],'luot') %}
{% if luot == user_1 %}
{% set next = user_2 %}
{% else %}
{% set next = user_1 %}
{% endif %}
{#nếu chờ quá thời gian#}
{% if (300-timeok) < '0' %}
{{add('caro_'~url[2],'user_win',next)}}
{% endif %}
{#ketthuc #}
{% if user_win %}
{{add('user_'~user_1,'caro_created','0')}}
{{add('caro_'~url[2],'action','playend')}}
{{add('user_'~id_win,'coins',(get('user_'~id_win,'coins')|trim+xu))}}
{{add('user_'~id_lose,'coins',(get('user_'~id_lose,'coins')|trim-xu))}}

{{add('user_'~id_win,'caro_win',(get('user_'~id_win,'caro_win')|trim+1))}}
{{add('user_'~id_lose,'caro_lose',(get('user_'~id_lose,'caro_lose')|trim+1))}}
{% endif %}

{#xulyget#}

{% if action == 'playon' %}
{% set go = get_get('go') %}
{% if go|length > '0' %}
{% if go < '1' %}
{% elseif go > '225' %}
{% elseif get('caro_'~url[2],'o'~go)|length > '0' %}
{% else %}
{% if login == luot %}
{{add('caro_'~url[2],'o'~go,login)}}
{{add('caro_'~url[2],'luot',next)}}
{{add('caro_'~url[2],'danh',go)}}
{{add('caro_'~url[2],'timedanh',timenow)}}
{{up('caro_'~url[2]~'_'~login~'_list',go,'up')}}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
{# ktadd #}


{#abc#}
{% if user_win %}
<div class="list_commnet">Đã tìm ra người thắng cuộc</div>
{% else %}
{% set luot = get('caro_'~url[2],'luot') %}
<div class="list_comment">Đến lượt: <b>{{get('user_'~luot,'nick')}}</b> | Còn {{(300-timeok)}} giây<span style="float:right;color:green;font-size:18px;font-weight:bold;">Đang chơi</span></div>
{% endif %}
{# add #}
{# sulydata #}
{#% include 'caro_xuly' %#}



{% set url = get_uri_segments() %}
{% set id = get('caro_'~url[2],'id') %}
{% set xx = get('caro_'~url[2],'user_1')|trim %}
{% set oo = get('caro_'~url[2],'user_2')|trim %}
{% set action = get('caro_'~url[2],'action') %}
{% set xu = get('caro_'~url[2],'xu')|trim %}
{% set time = get('caro_'~url[2],'timecreated') %}
{% set type = '15' %}
{% set x = get('caro_'~url[2]~'_'~xx~'_list')|replace({' ':''})|split ('@') %}
{% set o = get('caro_'~url[2]~'_'~oo~'_list')|replace({' ':''})|split('@') %}

{% for i in x %}
{#trái sang phải#}
{% if i in x and (i+1) in x and (i+2) in x and (i+3) in x and (i+4) in x %}
{% if (i-1) not in o or (i+5) not in o %}
{% set win %}{{i}}.{{(i+1)}}.{{(i+2)}}.{{(i+3)}}.{{(i+4)}}{% endset %}
{% endif %}
{% endif %}
{#trên xuống dưới#}
{% if i in x and (i+type) in x and (i+(type*2)) in x and (i+(type*3)) in x and (i+(type*4)) in x %}
{% if (i-type) not in o or (i+(type*5)) not in o %}
{% set win %}{{i}}.{{(i+type)}}.{{(i+(type*2))}}.{{(i+(type*3))}}.{{(i+(type*4))}}{% endset %}
{% endif %}
{% endif %}
{# chéo phải sang trái #}
{% if i in x and (i+type-1) in x and (i+(type*2)-2) in x and (i+(type*3)-3) in x and (i+(type*4)-4) in x %}
{% if (i-type+1) not in o or (i+(type*5)-5) not in o %}
{% set win %}{{i}}.{{(i+type-1)}}.{{(i+(type*2)-2)}}.{{(i+(type*3)-3)}}.{{(i+(type*4)-4)}}{% endset %}
{% endif %}
{% endif %}
{# chéo trái sang phải #}
{% if i in x and (i+type+1) in x and (i+(type*2)+2) in x and (i+(type*3)+3) in x and (i+(type*4)+4) in x %}
{% if (i-type-1) not in o or (i+(type*5)+5) not in o %}
{% set win %}{{i}}.{{(i+type+1)}}.{{(i+(type*2)+2)}}.{{(i+(type*3)+3)}}.{{(i+(type*4)+4)}}{% endset %}
{% endif %}
{% endif %}
{% if win %}
{% set ab = [] %}
{% for i in win|split('.') %}
{% if i not in ab %}
{% set ab = ab|merge([i]) %}
{% endif %}
{% endfor %}
{{add('caro_'~url[2],'list_win',ab|join('.'))}}
{{add('caro_'~url[2],'user_win',xx)}}
{% endif %}
{% endfor %}
{# xxxxx #}

{# oooo #}

{% for i in o %}
{#trái sang phải#}
{% if i in o and (i+1) in o and (i+2) in o and (i+3) in o and (i+4) in o %}
{% if (i-1) not in x or (i+5) not in x %}
{% set win %}{{i}}.{{(i+1)}}.{{(i+2)}}.{{(i+3)}}.{{(i+4)}}{% endset %}
{% endif %}
{% endif %}
{#trên xuống dưới#}
{% if i in o and (i+type) in o and (i+(type*2)) in o and (i+(type*3)) in o and (i+(type*4)) in o %}
{% if (i-type) not in x or (i+(type*5)) not in x %}
{% set win %}{{i}}.{{(i+type)}}.{{(i+(type*2))}}.{{(i+(type*3))}}.{{(i+(type*4))}}{% endset %}
{% endif %}
{% endif %}
{# chéo phải sang trái #}
{% if i in o and (i+type-1) in o and (i+(type*2)-2) in o and (i+(type*3)-3) in o and (i+(type*4)-4) in o %}
{% if (i-type+1) not in x or (i+(type*5)-5) not in x %}
{% set win %}{{i}}.{{(i+type-1)}}.{{(i+(type*2)-2)}}.{{(i+(type*3)-3)}}.{{(i+(type*4)-4)}}{% endset %}
{% endif %}
{% endif %}
{# chéo trái sang phải #}
{% if i in o and (i+type+1) in o and (i+(type*2)+2) in o and (i+(type*3)+3) in o and (i+(type*4)+4) in o %}
{% if (i-type-1) not in x or (i+(type*5)+5) not in x %}
{% set win %}{{i}}.{{(i+type+1)}}.{{(i+(type*2)+2)}}.{{(i+(type*3)+3)}}.{{(i+(type*4)+4)}}{% endset %}
{% endif %}
{% endif %}
{% if win %}
{% set ab = [] %}
{% for i in win|split('.') %}
{% if i not in ab %}
{% set ab = ab|merge([i]) %}
{% endif %}
{% endfor %}
{{add('caro_'~url[2],'list_win',ab|join('.'))}}
{{add('caro_'~url[2],'user_win',oo)}}
{% endif %}
{% endfor %}
{# oooo #}



{#% include 'caro_play_datalist' %#}

{% set url = get_uri_segments() %}
{% set id = get('caro_'~url[2],'id') %}
{% set user_1 = get('caro_'~url[2],'user_1')|trim %}
{% set user_2 = get('caro_'~url[2],'user_2')|trim %}
{% set user_win = get('caro_'~url[2],'user_win')|trim %}
{% set action = get('caro_'~url[2],'action') %}
{% set xu = get('caro_'~url[2],'xu')|trim %}
{% set time = get('caro_'~url[2],'timecreated') %}

{% set timedanh = get('caro_'~url[2],'timedanh')|trim %}
{% set timenow = now|date('U') %}
{% set timeok = (timenow-timedanh) %}
<div class="main">
<div class="caro">
{% set type = '15' %}
{% for i in 1..type*type %}
{% set danh = get('caro_'~url[2],'danh')|trim %}
{% set luot = get('caro_'~url[2],'luot')|trim %}
{% set user_1 = get('caro_'~url[2],'user_1')|trim %}
{% set loai = get('caro_'~url[2],'o'~i)|split('-')[0]|trim %}
{% set list_win = get('caro_'~url[2],'list_win')|trim %}
{% if loai == user_1 %}
{% set loai = 'x' %}
{% elseif loai == user_2 %}
{% set loai = 'o' %}
{% else %}
{% set loai = '' %}
{% endif %}
{% if danh == i %}
{% set class = 'win' %}
{% else %}
{% set class = '' %}
{% endif %}
{% if action == 'playon' %}
{% if luot == login %}<a id="mi" href="?go={{i}}"><div id="{{loai}}" class="{{class}}"><span style="font-size:8px;"></span>{{loai}}</div></a>
{% else %}
<div id="{{loai}}" class="{{class}}"><span style="font-size:8px;"></span>{{loai}}</div>
{% endif %}
{% else %}
<div id="{{loai}}" class="{% if i in list_win|split('.') %}win{% else %}{{class}}{% endif %}"><span style="font-size:8px;"></span>{{loai}}</div>
{% endif %}
{% endfor %}
</div>
</div>
<style>.caro div{width:calc( 100% / 15 - 2px );height: calc( 100% / 15 - 2px );font-size: 20px;}
</style>




{# ktsuly#}

</div>
{{comment}}
{% elseif action == 'playend' %}
<div id="loadcaro">
{{data}}
<div class="list_comment" style="text-align:center;"><b class="nhapnhay" style="border-radius:5px; padding:2px 5px;">{{get('user_'~user_win,'nick')}} đã dành chiến thắng</b></div>
{#% include 'caro_play_datalist' %#}


{% set url = get_uri_segments() %}
{% set id = get('caro_'~url[2],'id') %}
{% set user_1 = get('caro_'~url[2],'user_1')|trim %}
{% set user_2 = get('caro_'~url[2],'user_2')|trim %}
{% set user_win = get('caro_'~url[2],'user_win')|trim %}
{% set action = get('caro_'~url[2],'action') %}
{% set xu = get('caro_'~url[2],'xu')|trim %}
{% set time = get('caro_'~url[2],'timecreated') %}

{% set timedanh = get('caro_'~url[2],'timedanh')|trim %}
{% set timenow = now|date('U') %}
{% set timeok = (timenow-timedanh) %}
<div class="main">
<div class="caro">
{% set type = '15' %}
{% for i in 1..type*type %}
{% set danh = get('caro_'~url[2],'danh')|trim %}
{% set luot = get('caro_'~url[2],'luot')|trim %}
{% set user_1 = get('caro_'~url[2],'user_1')|trim %}
{% set loai = get('caro_'~url[2],'o'~i)|split('-')[0]|trim %}
{% set list_win = get('caro_'~url[2],'list_win')|trim %}
{% if loai == user_1 %}
{% set loai = 'x' %}
{% elseif loai == user_2 %}
{% set loai = 'o' %}
{% else %}
{% set loai = '' %}
{% endif %}
{% if danh == i %}
{% set class = 'win' %}
{% else %}
{% set class = '' %}
{% endif %}
{% if action == 'playon' %}
{% if luot == login %}<a id="mi" href="?go={{i}}"><div id="{{loai}}" class="{{class}}"><span style="font-size:8px;"></span>{{loai}}</div></a>
{% else %}
<div id="{{loai}}" class="{{class}}"><span style="font-size:8px;"></span>{{loai}}</div>
{% endif %}
{% else %}
<div id="{{loai}}" class="{% if i in list_win|split('.') %}win{% else %}{{class}}{% endif %}"><span style="font-size:8px;"></span>{{loai}}</div>
{% endif %}
{% endfor %}
</div>
</div>
<style>.caro div{width:calc( 100% / 15 - 2px );height: calc( 100% / 15 - 2px );font-size: 20px;}
</style>



<div class="list_comment"><b>{{name_win}}</b> + {{xu}} xu, <b>{{name_lose}}</b> - {{xu}} xu.</div>
<div class="list_comment" style="text-align:center;">Trò chơi đã kết thúc</div></div>
{{comment}}
{% else %}
<div class="list_comment">Phòng chơi không tồn tại</div>
{% endif %}



{% elseif url[1] == 'add' %}

<div class="menu_title">Mời chiến hữu <span style="float:right;"><a href="/caro">Quay lại</a></span></div>
{#% include 'caro_add' %#}



{% set url = get_uri_segments() %}
{% set idp = get('caro_'~url[2],'action') %}
{% set user_1 = get('caro_'~url[2],'user_1')|trim %}
{% if user_1 == login %}
{% if idp == 'playoff' %}
{% if request_method()|lower == "post" %}
{% set idu = get_post('id') %}
{{add('action_'~idu,'numNotification',(get('action_'~idu,'numNotification')|trim+1))}}
{{add('user_'~idu,'tb_caro','3-'~url[2])}}
<div class="list_comment"><span style="color:red;">Đã mời {{get('user_'~idu,'nick')}}</span></div>
{% endif %}
{% set datas = get('on_data')|split("@") %}
{% for key in datas %}
{% set id = key|split('U')[1] %}
{% set user1 = get('user_'~key|trim,'nick') %}
{% if loop.last==false%}
<div class="list_comment"><form method="post"><b>{{user1}}</b>: <input type="hidden" name="id" value="{{get('user_'~key|trim,'nickk')}}"><button type="submit">Mời</button></form></div>
<div class="list_comment"><b>{{user1}}</b></div>
{%endif%}
{% endfor %}
{% endif %}
{% else %}
Bạn ko phải chủ phòng
{% endif %}

{% else %}

<div class="list_group" style="text-align:center; font-size:18px;"><a href="/caro/created">Tạo phòng chơi</a></div>

{% set total = get_data_count('caro') %}
{# tbcaro#}
{% set tb_caro = get('user_'~login,'tb_caro') %}
{#% if tb_caro %}
{{add('user_'~login,'tb_caro','')}}
{% endif %#}
{#kttb#}
{% if total == '0' %}
{% set save=save_data('caro',{"id":"0"}|json_encode) %}
{% endif %}

<!--h3>Danh sách phòng</h3-->
{#% include 'caro_list' %#}


<table style="width:100%;font-size:16px;text-align:center;">
<tr>
<th style="width:120px">Thời gian</th><th
style="width:120px">Tên bàn</th><th style="width:120px">Mức cược</th><th
style="width:120px">Trạng thái</th><th style="width:120px">Tạo bởi</th></tr><tr>

{% set data = get('caro_list')|split('@') %}
{% set per = '5' %}
{% set total = data|length-1 %}
{% set page_max=total//per %}
{% if total//per != total/per %}
{% set page_max=total//per+1 %}
{% endif %}
{% set p=get_get('p')|default(1) %}
{% if p matches '/[a-zA-z]|%/' or p<1 %}
{% set p=1 %}
{% endif %}
{% if p>page_max %}
{% set p=page_max %}
{% endif %}
{% set st=p*per-per %}
{% set at=(st+per) %}
{% if at>total %}
{% set at=total %}
{% endif %}
{% if total>=1 %}
<!--div class="list_comment">Lưu ý: Các phòng sau khi chơi trong vòng 1 tiếng sẽ tự động reset</div-->
{% for i in st..at %}
{% set user1 = get('caro_'~data[i]|trim,'user_1') %}
{% set user2 = get('caro_'~data[i]|trim,'user_2') %}
{% set user_win = get('caro_'~data[i]|trim,'user_win') %}
{% set xu = get('caro_'~data[i]|trim,'xu') %}
{% set action = get('caro_'~data[i]|trim,'action') %}
{% set lever = get('user_'~user1,'level')|trim %}
{% set gt = get('user_'~user1,'gt')|trim %}
{% set online = get('user_'~user1,'on')|trim %}
{% set id = get('caro_'~data[i]|trim,'id') %}
{% set timedanh = get('caro_'~data[i]|trim,'timedanh')|trim %}
{% set time = get('caro_'~data[i]|trim,'timecreated')|trim %}
{% set timenow = now|date('U') %}
{% set timeok = (timenow-timedanh) %}
{% set timecho = (timenow-time) %}
{% if action == 'playoff' %}
{% set action = 'Đang chờ' %}
{% elseif action == 'playon' %}
{% set action = 'Đang solo' %}
{% elseif action == 'playend' %}
{% set action = 'Đã kết thúc' %}
{% endif %}
{% if loop.last==false %}
{#% if user_win and (3600-timeok) < '0' or user2 == '' and timecho > '3600' %}
{{del('caro_'~id)}}
{{del('caro_list',id,'up')}}
{{del('CHAT_CARO_ROOM_'~id)}}
{{del('caro_'~id~'_'~user1~'_list')}}
{{del('caro_'~id~'_'~user2~'_list')}}
{{add('user_'~user1,'caro_created','0')}}
{% endif %#}

<td style="width:120px">{{ago(time)}}</td><td style="width:120px"><a href="/caro/play/{{id}}">Bàn {{id}}</a></td><td style="width:120px">{{xu}} Xu</td><td style="width:120px"><font color=green>{{action}}</font></td><td style="width:120px">{{get('user_'~user1,'nick')}}</td></tr>
<tr>
</tr>


{% endif %}
{% endfor %}
</table>
{% else %}
<div class="list_info" style="text-align:center;">Chưa có phòng chơi nào được tạo</div>
{% endif %}
{{paging('caro?p',p,page_max)}}




{% endif %}
{#% endif %#}



{% endif %}

{{block('footer')}}
[/code]


File func_khanh.twig

[code]

{% macro get(key,v) %}{% spaceless %}
{% if v %}
{{ get_data_by_id(key,get_data(key)[0].id).data|json_decode[v] }}
{% else %}
{{ get_data_by_id(key,get_data(key)[0].id).data|raw }}{% endif %}
{% endspaceless %}{% endmacro %}
{% macro up(key,v,up) %}
{% set data = get_data_by_id(key,get_data(key)[0].id).data %}
{% set id = get_data(key)[0].id %}
{% if up %}
{% set d=' '~v~' @ ' %}
{% set data=data|replace({(d):""}) %}
{% if get_data_count(key) == '0' %}
{% set save=save_data(key,d) %}
{% else %}
{{ update_data_by_id(key,id,' '~v~' @ '~data) }}
{% endif %}
{% else %}
{% set save=save_data(key,v) %}
{% endif %}
{% endmacro %}
{% macro del(key,v,up) %}
{% set data = get_data_by_id(key,get_data(key)[0].id).data %}
{% set id = get_data(key)[0].id %}
{% if up %}
{% set d=' '~v~' @ ' %}
{% set data=data|replace({(d):""}) %}
{{ update_data_by_id(key,id,data) }}
{% else %}
{{ delete_data_by_id(key,id) }}
{% endif %}
{% endmacro %}
{% macro add(key,k,v) %}
{% set id=get_data(key)[0].id %}
{{ update_data_by_id(key,id,get_data_by_id(key,id).data|json_decode|merge({(k):v})|json_encode) }}
{% endmacro %}
{% macro paging(trang,p,max,b) %}
{% if max > 1 %}
<div class="list_group">
<center><ul class="pagination">
{# set p=pagination.current_page %} {% set max=pagination.pages|last #}
{% set a='<li><a class="pagenav" href="/'~trang~'=' %}
{% if p>max %}{% set p=max %}a{% endif %}
{% if p>1 %}
{{a|raw}}{{p-1}}{{b}}"><i class="fas fa-angle-left"></i></a></li>
{% endif %}
{% if p>3 %}
{{a|raw}}1{{b}}">1</a></li>
{% endif %}
{% if p>4 %}
<span>...</span>
{% endif %}
{% if p>2 %}
{{a|raw}}{{p-2}}{{b}}">{{p-2}}</a></li>
{% endif %}
{% if p>1 %}
{{a|raw}}{{p-1}}{{b}}">{{p-1}}</a></li>
{% endif %}
<li class="active"><a>{{p}}</a></li>
{% if p<max-1 %}
{{a|raw}}{{p+1}}{{b}}">{{p+1}}</a></li>
{% endif %}
{% if p<max-2 %}
{{a|raw}}{{p+2}}{{b}}">{{p+2}}</a></li>
{% endif %}
{% if p<max-3 %}
...
{% endif %}
{% if p<max %}
{{a|raw}}{{max}}{{b}}">{{max}}</a></li>
{% endif %}
{% if p<max %}
{{a|raw}}{{p+1}}{{b}}"><i class="fas fa-angle-right"></i></a></li>
{% endif %}

</div></div>
{% endif %}
{% endmacro %}
{% macro ago(time_ago) %}
{% spaceless %}
{% set timeht="now"|date('U', 'Asia/Ho_Chi_Minh') %}
{% set time = time_ago|date('U', 'Asia/Ho_Chi_Minh') %}
{% set time_giay = timeht - time %}
{% set time_phut = (time_giay / 60 )|round(0,'floor') %}
{% set time_day = timeht|date('z', 'Asia/Ho_Chi_Minh')-time|date('z', 'Asia/Ho_Chi_Minh') %}
{% set fulltime = time_ago|date('d.m.Y / H:i', 'Asia/Ho_Chi_Minh') %}
{% set minitime = time_ago|date('H:i', 'Asia/Ho_Chi_Minh') %}
{% if time_day == 0 %}
{% if time_giay <= 60 %}
{{time_giay}} giây trước
{% elseif time_phut <= 60 %}
{{time_phut}} phút trước
{% else %}
Hôm nay, {{minitime}}
{% endif %}
{% elseif time_day == 1 %}
Hôm qua, {{minitime}}
{% else %}
{{fulltime}}
{% endif %}
{% endspaceless %}
{% endmacro %}


[/code]



File caro.twig

[code]

{% macro ucolor(v) %}
{% set user = get_data('id_user')[0].data|json_decode %}
{% set data = get_data('user_'~user[v])[0].data|json_decode %}
{% if data['level']=='1' %}
<font style="color:red;font-weight:bold;">{{data['user']}}</font> <i class="far fa-check-circle" style="color:#4E7563;font-size:12px;padding-left:3px;"></i>
{% elseif data['level']=='2' %}
<font style="color:blue;font-weight:bold;">{{data['user']}}</font> <i class="far fa-check-circle" style="color:#4E7563;font-size:12px;padding-left:3px;"></i>
{% elseif data['level']=='3' %}
<font style="color:green;font-weight:bold;">{{data['user']}}</font> <i class="far fa-check-circle" style="color:#4E7563;font-size:12px;padding-left:3px;"></i>
{% elseif data['level']=='5' %}
<font style="color:gray;text-decoration: line-through;">{{data['user']}}</font>
{% else %}
<font style="color:#336666;font-weight:bold;">{{data['user']}}</font>
{% endif %}
{% if data['band'] == 1 %}
<i class="fas fa-user-lock" style="color:gray;font-size:12px;padding-left:3px;"></i>
{% endif %}
{% endmacro %}

{% macro status(v) %}
{% set user = get_data('id_user')[0].data|json_decode %}
{% set data = get_data('user_'~user[v])[0].data|json_decode %}
{% set timenow = now|date('U') %}
{% if (timenow-data['time_online']) < 30 %}
<img src="/images/on.gif" alt="online" style="padding:0 3px;">
{% else %}
<img src="/images/off.gif" alt="offline" style="padding:0 3px;">
{% endif %}
{% endmacro %}

{% macro title(v) %}
{% set data = get_data('post_'~v)|last.data|json_decode %}
{% if data['numComment']>30 %}
<span style="margin-right:4px;font-weight:bold;">{{data['title']}}</span> <img src="/images/hot.gif" alt="hot post">
{% else %}
{{data['title']}}
{% endif %}
{% endmacro %}

{% macro on(v) %}
{% set user = get_data('id_user')[0].data|json_decode %}
{% set data = get_data('user_'~user[v])[0].data|json_decode %}
{% set timenow = now|date('U') %}
{% if (timenow-data['time_online']) < 30 %}
{% set stt %}<font color="green" style="font-size:14px; margin-right:7px;">&bull;</font>{% endset %}
{% else %}
{% set stt %}<font color="red" style="font-size:14px; margin-right:7px;">&bull;</font>{% endset %}
{% endif %}
{{stt}}
{% endmacro %}
{% macro level(v) %}
{% set user = get_data('id_user')[0].data|json_decode %}
{% set data = get_data('user_'~user[v])[0].data|json_decode %}
{% if data['level']=='1' %}
{% set level = 'Sáng lập viên' %}
{% elseif data['level']=='2' %}
{% set level = 'MOD' %}
{% elseif data['level']=='3' %}
{% set level = 'SMOD' %}
{% elseif data['level']=='5' %}
{% set level = 'Thành viên bị lưu ý' %}
{% else %}
{% set level = 'Thành viên' %}
{% endif %}
{{level|raw}}
{% endmacro %}


{% macro mi_save_data(key,data) %}
{% set limit=30000 %}
{% set char=data|json_encode %}
{% set n=(char|length/limit)|round(0,'ceil') %}
{% for i in 1..n %}{{i}}
{{save_data(key,char|slice(i*limit-limit,limit)) }}
{% endfor %}
{% endmacro %}

{% macro mi_add(k,arr) %}
{% set li,do,gd=30000,null,get_data(k,100,1) %}
{% for e in gd %}{% set do=do~e.data %}{% endfor %}
{% set do,arr=do|default(([])|json_encode),arr|default({})|json_encode %}
{% set dn=do|json_decode|merge(arr|json_decode)|json_encode %}
{% set mdo,mdn=(do|length/li)|round(0,'ceil'),(dn|length/li)|round(0,'ceil') %}
{% if not gd %}
{% for x in 1..mdn %}{{save_data(k,dn|slice((loop.index-1)*li,li))}}{% endfor %}
{% elseif mdn>mdo %}
{% for x in gd %}{{update_data_by_id(k,x.id,dn|slice((loop.index-1)*li,li))}}{% endfor %}{% for x in gd|length..mdn-1 %}{{save_data(k,dn|slice(x*li,li))}}{% endfor %}
{% elseif mdn<mdo %}
{% for x in gd %}{{ loop.index<=mdn ? update_data_by_id(k,x.id,dn|slice((loop.index-1)*li,li)) : delete_data_by_id(k,x.id) }}{% endfor %}
{% else %}
{% for x in gd %}{{update_data_by_id(k,x.id,dn|slice((loop.index-1)*li,li))}}{% endfor %}
{% endif %}
{% endmacro %}

{% macro add(key,k,v) %}
{% set id=get_data(key)|last.id %}
{% if id %}
{% set data=get_data(key)|last.data|json_decode|merge({(k):(v)})|json_encode %}
{{ update_data_by_id(key,id,data) }}
{% else %}
{% set data=({})|merge({(k):(v)}) %}
{{save_data(key,data|json_encode)}}
{% endif %}
{% endmacro %}

{% macro get(key,v) %}{% spaceless %}
{% if v %}
{{ get_data(key)|last.data|json_decode[v] }}
{% else %}
{{ get_data(key)|last.data|raw }}{% endif %}
{% endspaceless %}{% endmacro %}

{% macro inn(key) %}{% spaceless %}
{{ get_data(key)|last.data|json_decode }}
{% endspaceless %}{% endmacro %}

{% macro id(v) %}{% spaceless %}
{% if not v %}{% set v='id' %}{% endif %}
{% set id=get_data('info')|last.id %}
{% if id %}
{% set idn=_self.get('info',v)|trim+1 %}
{% set go=_self.add('info',v,idn) %}
{{idn}}
{% else %}
{% set data={(v):1} %}
{% set go=save_data('info',data|json_encode) %}
1
{% endif %}
{% endspaceless %}{% endmacro %}
{% macro del(key,name) %}
{% set data=get_data(key)|last.data|json_decode %}
{% set i=0 %}{% for k,v in data %}{% if name==k %}{% set i=loop.index %}{% endif %}{% endfor %}
{% set data=data|default({})|slice(0,i-1)|merge(data|slice(i,data|length)) %}
{{(i>0?update_data_by_id(key,get_data(key)|last.id,data|json_encode):null) ~ i}}
{% endmacro %}

{% macro delete(key) %}
{% set id_data=get_data(key)|last.id %}
{{delete_data_by_id(key,id_data)}}
{% endmacro %}

{% macro up(k,v) %}{% spaceless %}
{% set id=get_data(k)|last.id %}
{% if id %}
{% set idn=_self.get(k,v)|trim+1 %}
{% set go=_self.add(k,v,idn) %}
{{idn}}
{% else %}
{% set data={(v):1} %}
{% set go=save_data(k,data|json_encode) %}
1
{% endif %}
{% endspaceless %}{% endmacro %}

{% macro top(key) %}
{% set id=get_data(key)|last.id %}
{% set content=get_data_by_id(key,id).data|json_decode %}
{% set data={} %}
{% for k,v in get_data_by_id(key,id).data|json_decode|sort|reverse|slice(0,10) %}{% set i=i+1 %}{% set data=data|merge({(k):(v)}) %}{% endfor %}
{{data}}
{% endmacro %}

{% macro bbcode(data) %}{% spaceless %}
{% set data=data|escape %}
{% set smile='2lol :khocto: :vaoday: nhingi :good: :hoptac: :yoyo: :hum: :giosao: :moamoa: alo amen ban batkhaxampham bietchetlien bietloiruima bom :angachko: buoi buon :vuottoc: chan chao chay chay2 choang choang2 clgt cuibap cuoilennao :bannhau: dau dauhang dautoocnho dc decu den die dien dkm dunglamphien duxairui fa fly fu gach ge gianhuthan ha haha haiz hehe help her hi hihi hix hixhix hoho hohuha hu iloveyou imlang iurui kaka keke khong kocoykien kohieu leuleu loa lol love met :daudau: money :cauxin: :lala: :xinthua: monkey4 mum nammo nammo2 nan :khoc: ngau ngau2 ngo ngon nguong nguvl nhingi nhinthaygom nhonguoiyeu no nono o oa oaoa oe oeoe oil oil2 oil3 potay pun suyt tangdo them thienloi tien troi troll tuc tuidep tuingheo tuzoi vote wao what x xaumachanh xi xoaybong xoaybong2 xoaybong3 yaoming yeu :bike: :bye: :cuoi: :hang: :hehehe: :lol3: :phone: :smoke: :sos:'|split(' ') %}
{% for smile in smile %}
{% set img=smile|replace({':':''}) %}
{% set img %}
<img src="/images/{{img}}.gif" alt="{{img}}"/>
{% endset %}
{% set data=data|replace({(smile): (img)}) %}
{% endfor %}
{% set tags=['b','i','s','u'] %}
{% for i,tag in tags if '['~tag~']' in data and '[/'~tag~']' in data %}
{% set tt=data|split('[/'~tag~']') %}
{% for i,t in tt|slice(0,-1) %}
{% set r=t|split('['~tag~']')|last %}
{% set data=data|replace({('['~tag~']'~r~'[/'~tag~']'):('<'~tag~'>'~r~'</'~tag~'>')}) %}
{% endfor %}
{% endfor %}
{% set tags= {
'[img](*?)[/img]' : '<div style="margin:5px 0;box-sizing:border-box;"><img src="(*?)" alt="img" width="100%" height="300"></div>',
'
(*?)
' : ' <div id="box_code"><div class="menu_code"><i class="fas fa-code" style="font-size:13px;"></i> PHP Code</div><div class="code"><p>(*?)</p></div></div>',
'
(*?)
' : ' <div id="box_code"><div class="menu_code"><i class="fas fa-code" style="font-size:13px;"></i> Code</div><div class="code"><p>(*?)</p></div></div>'
}%}
{% for r,z in tags %}
{% set rr,zz=r|split('(*?)'),z|split('(*?)') %}
{% for rrr,zzz in data|split(rr[1]) %}
{% set nnn=zzz|split(rr[0])|last %}
{% set data=data|replace({ (rr[0]~nnn~rr[1]):(zz[0]~nnn~zz[1]) }) %}
{% endfor %}
{% endfor %}
{% set tags={
'[color=(*?)](*?)[/color]' : '<span style="color:(*?)">(*?)</span>',
'[url=(*?)](*?)[/url]' : '<a href="(*?)">(*?)</a>',
'[quote=(*?)](*?)[/quote]' : '<div id="box_quote"><div class="menu_quote">(*?) đã viết</div><div class="quote"><p>(*?)</p></div></div>'
} %}
{% for k,v in tags %}
{% set sk,sv=k|split('(*?)'),v|split('(*?)') %}
{% for kk,vv in data|split(sk[2]) %}
{% set nn=vv|split(sk[0])|last %}
{% set n1=nn|split(sk[1])|first %}
{% set n2=nn|split(sk[1])|last %}
{% set data=data|replace({ (sk[0]~n1~sk[1]~n2~sk[2]):(sv[0]~n1~sv[1]~n2~sv[2]) }) %}
{% endfor %}
{% endfor %}
{% endspaceless %}{{data|raw|nl2br}}{% spaceless %}
{% endspaceless %}{% endmacro %}

{% macro hook(id) %}
[{{block('hook_'~id)}}][{{block(hook_8)}}]
{% endmacro %}

{% macro description(content,num) %}{% spaceless %}
{% set content=content|raw|striptags|slice(0,500)|replace({'\n':' ','&nbsp;':' ','&ldquo;':'','&rdquo;':'', '&ndash;':''})|split(' ') %}
{% for m in content if m|length>0 %}{{m}} {% endfor %}
{% endspaceless %}{% endmacro %}


{% macro slug(str) %}{% set abc='a|á|à|ả|ã|ạ|ă|ắ|ằ|ẳ|ẵ|ặ|â|ầ|ấ|ẩ|ẫ|ậ|b|c|d|đ|e|è|é|ẻ|ẽ|ẹ|ê|ề|ế|ễ|ể|ệ|f|g|h|i|ì|í|ỉ|ĩ|ị|k|l|m|n|u|ù|ú|ủ|ũ|ụ|ư|ừ|ứ|ử|ữ|ự|o|ò|ó|ỏ|õ|ọ|ô|ồ|ố|ổ|ỗ|ộ|ơ|ờ|ớ|ỡ|ở|ợ|j|t|r|p|q|v|s|x|y|z|1|2|3|4|5|6|7|8|9|0|' %}
{% set ru=str|lower|split('') %}{% set url_vn %}{% for i in ru|keys %}{% if ru[i] in abc %}{{ru[i]}}{% else %}{% if ru[(i+1)] in abc %}-{% endif %}{% endif %}{% endfor %}{% endset %}
{% set rwurl=url_vn|replace({'á':'a','à':'a','ả':'a','ã':'a','ạ':'a','ă':'a','ắ':'a','ằ':'a','ẳ':'a','ẵ':'a','ặ':'a','â':'a','ấ':'a','ầ':'a','ẩ':'a','ẫ':'a','ậ':'a','æ':'a','ä':'a','đ':'d','ð':'d','é':'e','è':'e','ẻ':'e','ẽ':'e','ẹ':'e','ê':'e','ế':'e','ề':'e','ể':'e','ễ':'e','ệ':'e','í':'i','ì':'i','ì':'i','ỉ':'i','ĩ':'i','ị':'i','ï':'i','î':'i','ó':'o','ò':'o','ỏ':'o','õ':'o','ọ':'o','ô':'o','ố':'o','ồ':'o','ổ':'o','ỗ':'o','ộ':'o','ơ':'o','ớ':'o','ờ':'o','ở':'o','ỡ':'o','ợ':'o','ö':'o','ø':'o','ú':'u','ù':'u','ủ':'u','ũ':'u','ụ':'u','ư':'u','ứ':'u','ừ':'u','ử':'u','ữ':'u','ự':'u','ü':'u','û':'u','ý':'y','ỳ':'y','ỷ':'y','ỵ':'y','ỹ':'y'}) %}
{% if rwurl|slice(0,1)=='-' %}{% set rwurl=rwurl|slice(1,rwurl|length) %}{% endif %}
{{rwurl}}{% endmacro %}

{% macro page(page,page_max,url) %} {% if page_max>1 %}
{% if not url %}{% set url = '?p' %}{% else %}{% set url = url %}{% endif %}
{% if page <= 0 %}{% set page = 1 %}{% elseif page>page_max %}{% set page = page_max %}{% endif %}
<div class="list_group">
<center><ul class="pagination">
{% if page>1 %}<li><a href="{{url}}={{page-1}}" class="pagenav" id="mi"><i class="fas fa-angle-left"></i></a></li>{% endif %}
{% if page>3 %}<li><a href="{{url}}=1" class="pagenav" id="mi">1</a></li>{% endif %}
{% if page>4 %} <span>..</span>{% endif %}
{% if (page-2)>0 %}<li><a href="{{url}}={{(page-2)}}" class="pagenav" id="mi">{{(page-2)}}</a></li>{% endif %}
{% if (page-1)>0 %}<li><a href="{{url}}={{(page-1)}}" class="pagenav" id="mi">{{(page-1)}}</a></li>{% endif %}
{% if page_max>1 and page>=1 %}<li class="active"><a>{{page}}</a></li>{% endif %}
{% if (page+1)<=page_max %}<li><a href="{{url}}={{(page+1)}}" class="pagenav" id="mi">{{(page+1)}}</a></li>{% endif %}
{% if (page+2)<=page_max %}<li><a href="{{url}}={{(page+2)}}" class="pagenav" id="mi">{{(page+2)}}</a></li>{% endif %}
{% if page<(page_max-3) %}<li><a href="#">..</a>{% endif %}
{% if page<(page_max-2) %}<li><a href="{{url}}={{(page_max)}}" class="pagenav" id="mi">{{(page_max)}}</a></li>{% endif %}
{% if page<page_max %}<li><a href="{{url}}={{(page+1)}}" class="pagenav" id="mi"><i class="fas fa-angle-right"></i></a></li>{% endif %}
</ul></center>
</div>
{% endif %}
{% endmacro %}


{% macro ago(time_ago) %}
{% set cur_time="now"|date('U') %}
{% set time_elapsed = cur_time - time_ago %}
{% set seconds = time_elapsed %}
{% set minutes = (time_elapsed / 60 )|round %}
{% set hours = (time_elapsed / 3600)|round %}
{% set days = (time_elapsed / 86400 )|round %}
{% set weeks = (time_elapsed / 604800)|round %}
{% set months = (time_elapsed / 2600640 )|round %}
{% set years = (time_elapsed / 31207680 )|round %}
{# Seconds #}
{% if seconds <= 60 %}
{{ seconds~"
giây trước " }}

{# Minutes #}
{% elseif minutes <=60 %}
{% if minutes==1 %}
{{ " cách đây 1 phút " }}
{% else %}
{{ minutes~"
phút trước " }}
{% endif %}

{# Hours #}
{% elseif hours <=24 %}
{% if hours==1 %}
{{ "cách đây 1 giờ " }}
{% else %}
{{ hours~"
giờ trước " }}
{% endif %}

{# Days #}
{% elseif days <= 7 %}
{% if days==1 %}
{{ " hôm qua " }}
{% else %}
{{ " cách đây "~days~" ngày
" }}
{% endif %}

{# Weeks #}
{% elseif weeks <= 4.3 %}
{% if weeks==1 %}
{{ " 1 tuần trước " }}
{% else %}
{{ weeks~"
tuần trước" }}
{% endif %}

{# Months #}
{% elseif months <=12 %}
{% if months==1 %}
{{ " cách đây 1 tháng " }}
{% else %}
{{ months~"
tháng trước" }}
{% endif %}

{# Years #}
{% else %}
{% if years==1 %}
{{ " 1 năm trước " }}
{% else %}
{{ years~" năm trước
" }}
{% endif %}
{% endif %}
{% endmacro %}
[/code]
[Like=1] tiaxgame
* nhokdung  (Member) [Off]
30 * 17
*   Cách đây 1 tháng
Lỗi mẹ nó bbcode rồi
* tiaxgame  (Admin) [Off]
386 * 950
*   Cách đây 1 tháng
b có 1 đoạn có bbcode code. b cần dùng bbcode php
* tung  (Member) [Off]
50 * 66
*   Cách đây 1 tháng
1 đống code, tốt nhất tự làm theo logic sẽ dễ hiểu và nâng cấp dễ dàng
* Treasure  (Member) [Off]
5 * 3
*   Cách đây 1 tháng
Mới làm xong => php + js :v
▼ Tổng số: 5
- Share:
BBCode:

Link: