test
Created at 2018-02-21
UNDER MAINTENANCE
Back to posts
This post has no comments - be the first one!
Debug information
{ "view": "entry", "data": { "new_comments_system": true, "device": "mobile", "reported_spam": false, "is_logged_in": false, "confirm_email_link": "http:\/\/xtgem.com\/account\/confirm\/resend", "is_confirmed_email": false, "community_name": false, "translations": { "t_back_to_posts": "Back to posts", "t_comments": "Comments:", "t_comments_empty": "This post has no comments - be the first one!", "t_post_a_comment": "Post a comment", "t_name": "Name:", "t_email": "Email:", "t_comment": "Comment:", "t_post": "Post", "t_tags": "Tags:", "t_search": "Search", "t_showing_tagged_posts": "Showing posts tagged", "t_no_entries_found": "bs_pagination dump", "t_no_search_results_found": "Nothing found by your search criteria.", "t_created": "Created at", "t_provide_community_name": "Provide community name", "t_submit": "submit", "t_reserved_name": "This name is reserved by community member. Please choose another", "t_reply": "Reply \/ View thread", "t_report_spam": "Report spam", "t_reported": "Reported!", "t_hidden_comment": "Hidden comment", "t_show_all_comments": "Show all comments", "t_see_parent_thread": "See parent thread", "t_show_all_replies": "Show all replies", "t_show_replies": "Show replies", "t_posting_as": "You are posting as", "t_comments_login_required": "Please login in order to post comments", "t_login": "Login", "t_signup": "Signup", "t_confirm_email": "Please confirm your email before posting" }, "post": { "title": "test", "subtitle": "", "content": "<div class=\"aspect-ratio\"><iframe src=\"http:\/\/youtube.com\/watch?v=uf5HbvbPN0o\" width=\"550\" height=\"275\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/div>\n<div class=\"aspect-ratio\"><iframe width=\"320\" height=\"180\" src=\"http:\/\/www.youtube.com\/embed\/uf5HbvbPN0o?rel=0\" frameborder=\"0\" allowfullscreen><\/iframe><\/div>", "stamp": "1519239739", "date": "2018-02-21", "tags": [], "feed_data": { "id": "5a8dc1aa6c3096442fbbfff0", "ratings_up": 0, "is_featured": false, "has_rated": false, "has_starred": false, "rate_url": "http:\/\/xtgem.com\/auth\/login?token=d21ia01WaE9HVmhMR1ZoRUlxaUNGcVdoWHFac05uQWRoQm0yaHJEeFBIbG9QQ3Q5TmVWM2ZuR3JESUQ9&redir=VjFKdE4zUlhZVkpHTUVaSFZGRlVSbGQzZG5CSVJ6RkRTVkU1UWt0UVlVbFJkbUZIVFcxVmMwbExhVmxRU21GelRXSlBPSFZ0V0VwMVVFSkhWMGM0VUZoUlpIUlZVa0pWVlZCR1MxQjRUbFJGVURoSldIWnNSMUp2WkRCRGJVNXJRMUJQUjB0c1pHMVNVRTR2VTBaeU5GQklSbE5ZVkZSR1YyNXNjVUZLYUhSWWJUUm5SMjFKVFhOTGNteExla05YZFZWSGRISkpkMVpNUzJsNlRWVlBkVmd3V1VseVNFOVRXa3hWUTB0alN6Vk1NekV5Y1RKSE1Fc3lRMEp5WXpGblRucGhVSEF3V1Rkek1VdDZUMHRMYzA0eVZXZDBNMWxvUzB0TFozSjNUbUZWVVVwclFrbEdlRmxTZGl0QmVIZDVRM2xvTTBOVE9UbERiMlEzZEZCeVZsaDRPRk5GVXpCblRXMUtRMUpRVkVGTWJFTndURkY2YlZFeGJITkVVV2xZUkhoa1RsRkpaR0ZJU0VJeFdraDZSMUYzTjB0SmVrOTNTMHhSWmtwS09VUndWbm8zUkUxM2RVeFVXU3RHTXpSNmNWZHpkVXBoYlM5TlN6VktkVlYyVDNKWFFrWnpSMUZ1U0dNMUswOXRZVEpNVjJ4eWRHTkhkMDlpU2tKVVZFdHpUVXREV1ZCTWFVcDBSbVJoY2xGVWJWUlNhRE5YU0d4MFdXeE9UVlpKY2xkUVZrSnpWR3hRTkZsdGNrVlRVbWhhVVZKR1QwTnZXREJFU1ZSWFdHMUNVbEp2T1hSRWVYWlQ=", "star_url": "http:\/\/xtgem.com\/auth\/login?token=d20wZ01iWkZHRk5TRkdsR0FxVklaMTFPQUtsb09zUzJmQ0FlZlgwd1BYVnRqWWI4U1lXd08yaW9TYj09&redir=VjFKdE4zUlhZVkpHTUVaSFZGRlVSbGQzZG5CSVJ6RkRTVkU1UWt0UVlVbFJkbUZIVFcxVldreFVOVmhRU21GelRXSlBPSFZ0V0VwMVVFSkhWMGM0VUZoUlpIUlZVa0pWVlZCR1MxQjRUbFJGVURoSldIWnNSMUp2WkRCRGJVNXJRMUJQUjB0c1pHMVNVRTR2VTBaeU5GQklSbE5ZVkZSR1YyNXNjVUZLYUhSWWJUUm5SMjFKVFhOTGNteExla05YZFZWSGRISkpkMVpNUzJsNlRWVlBkVmd3V1VseVNFOVRXa3hWUTB0alN6Vk1NekV5Y1RKSE1Fc3lRMEp5WXpGblRucGhVSEF3V1Rkek1VdDZUMHRMYzA0eVZXZDBNMWxvUzB0TFozSjNUbUZWVVVwclFrbEdlRmxTZGl0QmVIZDVRM2xvTTBOVE9UbERiMlEzZEZCeVZsaDRPRk5GVXpCblRXMUtRMUpRVkVGTWJFTndURkY2YlZFeGJITkVVV2xZUkhoa1RsRkpaR0ZJU0VJeFdraDZSMUYzTjB0SmVrOTNTMHhSWmtwS09VUndWbm8zUkUxM2RVeFVXU3RHTXpSNmNWZHpkVXBoYlM5TlN6VktkVlYyVDNKWFFrWnpSMUZ1U0dNMUswOXRZVEpNVjJ4eWRHTkhkMDlpU2tKVVZFdHpUVXREV1ZCTWFVcDBSbVJoY2xGVWJWUlNhRE5YU0d4MFdXeE9UVlpKY2xkUVZrSnpWR3hRTkZsdGNrVlRVbWhhVVZKR1QwTnZXREJFU1ZSWFdHMUNVbEp2T1hSRWVYWlQ=" }, "url": "http:\/\/related.xtgem.com\/scripts\/__xtblog_entry\/11350644-test?__xtblog_block_id=1", "allow_comments": true }, "back_url": "http:\/\/related.xtgem.com\/scripts?#xt_blog", "hide_tags": true, "social_share_enabled": "0", "entry": { "in_comments_thread": false, "comments_thread_all": "http:\/\/related.xtgem.com\/scripts\/__xtblog_entry\/11350644-test?__xtblog_block_id=1#xt_blog" }, "comments_form": { "url": "http:\/\/related.xtgem.com\/scripts\/__xtblog_entry\/11350644-test?__xtblog_block_id=1&__xtblog_comment_page=1", "url_encoded": "VjFJd2RuUXpkMUZLVFRGTlNIcFJRVWg2YzFwelNtMVRSa3B0Y1VoV05XbFZSa3BZU21FMVkwcGhZVXBLVlRsM1RGSTRhVmhUY2poV2QyRTBSVk5rYTBVeVZUVjBZMkYyUkVoT1kxbFdPVFYwVW1RNFEzbGtaRVJUWlcxV1VVcFZVWFpoUVZGR2RsVkhkM3BZVjNaR2RGWnNRM1JCU0d4Q1VFZEdjVlZ0TkdGWGQxaFpVMUJ3YTBKSlVHMURkajA5", "fields": { "xtx": "Q0xhUFlid0xaclVUQlYwPQ==", "xtxs": "97190e49fd1928616725981201b05093" }, "spam_comments_reserved_name": false, "spam_comments_nick": "", "spam_comments_email": "", "spam_comments_msg": "", "spam_comments": false, "spam_hash": "", "spam_captcha_url": "", "comments_restriction": "guest", "login_link": "http:\/\/xtgem.com\/auth\/login?redir=VjFJd2RuUXpkMUZLVFRGTlNIcFJRVWg2YzFwelNtMVRSa3B0Y1VoV05XbFZSa3BZU21FMVkwcGhZVXBLVlRsM1RGSTRhVmhUY2poV2QyRTBSVk5rYTBVeVZDOWFia0p0V1VseU0zUjRNSGhDVXpBd2MxTjJiMEpYVkdoUWJVSkJWRzFRVEVoSmRqTlVSelJaVUZCWVdVSlJTblZSZGxSRFRIcHpWa2d3YlZwSlNuZFo%3D&is_f=0&via=Static+login", "signup_link": "http:\/\/xtgem.com\/auth\/signup?redir=VjFJd2RuUXpkMUZLVFRGTlNIcFJRVWg2YzFwelNtMVRSa3B0Y1VoV05XbFZSa3BZU21FMVkwcGhZVXBLVlRsM1RGSTRhVmhUY2poV2QyRTBSVk5rYTBVeVZDOWFia0p0V1VseU0zUjRNSGhDVXpBd2MxTjJiMEpYVkdoUWJVSkJWRzFRVEVoSmRqTlVSelJaVUZCWVdVSlJTblZSZGxSRFRIcHpWa2d3YlZwSlNuZFo%3D&is_f=0&via=Static+signup", "is_maintenance": true, "maintenance_markup": "UNDER MAINTENANCE" } } }
The xtblog.twig file
{% if data.translations.t_no_entries_found == 'related' and view == 'entries_list'%} {%spaceless%} {# Next line must remain as 1 line #} {% for entry in data.entries %}{% set blog_entry=entry.url|split('__xtblog_entry/')[1]|split('-')[0]%}{% if data.translations.t_no_search_results_found not in blog_entry%}[{{blog_entry|trim}}|{{entry.title|replace({('$'):'\\$',('('):'\\('})|raw}}|{{entry.created}}|{{entry.content|replace({('$'):'\\$',('('):'\\('})|striptags('<img>')|trim|raw}}]{% endif %}{% endfor %} {%endspaceless%} {%else%} {%include 'blog.twig'%} {%endif%}
The blog.twig file
{%spaceless%} {# Convert standard xtgem pagination to bootstrap markup <?#} {%set pagination_html = data.pagination_html%} {%if 'bs_pagination' in data.translations.t_no_entries_found %} {% if 'xt_blog_paging' in pagination_html %} {# v1 blog pagination #} {%set pagination_html = pagination_html|replace({ ("div class=\"xt_blog_paging"):"ul class=\"pagination pagination-sm", ("/div"):"/ul", ("span>...</span"):"li><span >...</span></li" })%} {%set pagination_html = pagination_html|replace({ ("<span>"):"<li class=\"active\"><span>", ("</span"):"</span></li", ("<a "):"<li><a ", ("/a"):"/a></li" })%} {% else %} {# v2 blog pagination #} {%set pagination_html = pagination_html|replace({ ("div class=\"xt_pagination"):"ul class=\"pagination pagination-sm", ("/div"):"/ul", ("span class=\"selected\"><span>..."):"li><span>...", ("span class=\"selected"):"li class=\"active", ("/span></span"):"/span></li", ("span><a "):"li><a ", ("/a></span"):"/a></li" })%} {%endif%} {%endif%} {# end pagination convertion #} {# Navigate to comment form if replying or posting comment <?#} {%if '__xtblog_comment_page' in data.entry.comments[0].reply_link or '__xtcomments_thread' in data.comments_form.url %}<script>window.location.hash = '#post_form_container';</script>{% endif %} {#?>#} {% if view == 'entries_list' %} {% block entries_list %} <div class="row "> <div class="panel-group row-centered"> {% if data.tag %} <div class="panel panel-default"><span class="">{{ data.translations.t_showing_tagged_posts }} <b>{{ data.tag|replace({("$"):"\\$",("("):"\\("})|raw}}</b></span></div> {% endif %} {% for entry in data.entries %} {# Split image from description and set a default if the post has no images<?#} {% if '<img' in entry.content%} {%set raw_content=entry.content|split('</a>')%} {%set content=raw_content[1]%} {%set image=(raw_content[0]|striptags('<img>'))%} {%else%} {%set image='<img src="/blog_images/default.png" alt="" />'%} {%set content=entry.content%} {%endif%} {#?>#} <div class="col-xs-6 col-sm-4 col-md-3 col-lg-2 col-centered"> <div class="panel panel-default " > <div class="panel-heading item-heading "> <span class="panel-title"><a href="{{ entry.url }}"><span class="small">{{ entry.title|replace({('$'):'\\$',('('):'\\('})|raw }}</span></a></span> {% if entry.comments_count %} <div class="badge pull-right"> {{ entry.comments_count }} </div> {% endif %} {% if data.entry_list_show_time %} <div class="small text-muted">{{entry.created}}</div> {% endif %} </div> <div class="panel-body description"> {% if data.display_type != 'header' and entry.content %} <a href="{{ entry.url }}" class="img-thumbnail pull-left" style="margin-right:4px">{{image|raw}}</a> <div class="text-muted small" style="vertical-align:top"> {{content|replace({('$'):'\\$',('('):'\\('})|raw}}</div> {% endif %} </div> </div> </div> {% endfor %} </div> </div> {% endblock %} {% if data.back_url or data.searchbox or data.pagination_html%} {% block entries_list_footer %} <div class="row"> <div class="col-xs-12"> <div class="panel panel-default" style="margin-bottom:4px"> <div class="panel-body"> {{ data.pagination_html|raw }} {% if data.back_url %} <div style="margin-bottom:.5em"><a class="btn btn-default btn-xs" href="{{ data.back_url }}">{{ data.translations.t_back_to_posts }}</a></div> {% endif %} {% endblock %} {% block entries_list_searchbox %} {% if data.searchbox %} <form action="{{ data.searchbox.url }}" method="get" class="form-inline"> {% for key, value in data.searchbox.params %} {% if value %} <input type="hidden" name="{{ key }}" value="{{ value }}" /> {% endif %} {% endfor %} <div class="input-group input-group-xs"> <input class="form-control" type="search" name="__xtblog_search" value="{{ data.searchbox.phrase|replace({('$'):'\\$',('('):'\\('})}}" /> <div class="input-group-btn"><input class="btn btn-default" type="submit" value="{{ data.translations.t_search }}" /></div> </div> </form> {% endif %} </div> </div> </div> </div> {% endblock %} {% endif %} {% elseif view == 'entry' %} {% if data.post.tags %}<!--#{% for tag in data.post.tags %}{{ tag.name }}|{% endfor %}#-->{% endif %} {% if 'xtblog_block_id' in data.post.url %} <div class="row row-centered"><div class="panel-group " style="margin-bottom:0"><!--related--></div></div> {% endif %} <div class="row"> <div class="col-sm-8"> <div class="panel-group"> {% block entry_tags %} <div id="xt_blog"><!----></div> {% if data.hide_tags == false and data.post.tags %} <div class="panel panel-default"> <div class="panel-heading">{{ data.translations.t_tags }}</div> <div class="panel-body"> <div class="btn-group btn-group-xs"> {% for tag in data.post.tags %} <a class="btn btn-default" href="{{ tag.url|replace({('__xtblog_block_id=1&'):'',('#xt_blog'):''}) }}">{{ tag.name }}</a> {% endfor %} </div> </div> </div> {% endif %} {% endblock %} {% block entry_post %} <div class="panel panel-default" style="margin-bottom:2px" > <div class="panel-heading"><h4>{{ data.post.title|raw }}{% if data.post.subtitle %}<div class="small">{{ data.post.subtitle|raw }}</div>{% endif %}<div class="small">{{ data.translations.t_created }} {{ data.post.date }}</div></h4> </div> <div class="panel-body post-content">{{data.post.content |replace({('$'):'\\$',('('):'\\('})|raw }}</div> {% if data.post.feed_data or data.social_share_enabled %} <div class="panel-footer"> <a class="btn btn-default btn-xs" href="{{ data.back_url|split('?')[0] }}#xt_blog">{{ data.translations.t_back_to_posts }}</a> {% if data.post.feed_data %} <div class="xt_blog_social"> {% if data.device == 'mobile' %} <img src="http://xtgem.com/images/icons/mobile2/rateup.png" />{{ data.post.feed_data.ratings_up }} {% if data.post.feed_data.has_rated %}<a class="rateup rated_up" href="{{ data.post.feed_data.rate_url }}">Unrate</a>{% else %}<a class="rateup" href="{{ data.post.feed_data.rate_url }}">Rate up</a>{% endif %}{% if data.post.feed_data.has_starred %}<a class="star starred" href="{{ data.post.feed_data.star_url }}"><img src="http://xtgem.com/images/icons/mobile2/star.png" />Unstar</a>{% else %}<a class="star" href="{{ data.post.feed_data.star_url }}"><img src="http://xtgem.com/images/icons/mobile2/unstar.png" />Star</a>{% endif %}{% if data.post.feed_data.is_featured %}<br /> This post is featured on <a href="http://xtgem.com/feed">XtGem</a>{% endif %} {% else %} {% if data.post.feed_data.has_rated %}<a class="rate_up rated_up" href="{{ data.post.feed_data.rate_url }}">{{ data.post.feed_data.ratings_up }} <span class="icon-arrow-up"><!-- --></span></a>{% else %}<a class="rate_up" href="{{ data.post.feed_data.rate_url }}">{{ data.post.feed_data.ratings_up }} <span class="icon-arrow-up"><!-- --></span></a>{% endif %}{% if data.post.feed_data.has_starred %}<a class="star starred" href="{{ data.post.feed_data.star_url }}">Unstar <span class="icon-star"><!-- --></span></a>{% else %}<a class="star" href="{{ data.post.feed_data.star_url }}">Star <span class="icon-star"><!-- --></span></a>{% endif %}{% if data.post.feed_data.is_featured %}<div class="featured">This post is featured on <a href="http://xtgem.com/feed">XtGem</a></div>{% endif %} {% endif %} </div> {% endif %} {% if data.social_share_enabled %} <div class="xt_social_shares"> <a title="Share on facebook" href="http://www.facebook.com/sharer.php?u={{data.post.url}}" class="xt_fb_share" target="_blank" onclick="window.open('https://www.facebook.com/sharer/sharer.php?u='+encodeURIComponent('{{data.post.url}}'), 'facebook-share-dialog', 'width=600,height=400');return false;">{% if data.device == 'mobile' %}<img height="16px" width="16px" src="http://xtgem.com/images/facebook.png" alt="Share on facebook">{% else %}<span class="icon-fb"><!-- --></span>{% endif %}</a> <a title="Share on twitter" href="http://twitter.com/home?status={{data.post.url}}" class="xt_tw_share" target="_blank" onclick="window.open(this.href, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=600,width=600');return false;">{% if data.device == 'mobile' %}<img height="16px" width="16px" src="http://xtgem.com/images/twitter.png" alt="Share on twitter">{% else %}<span class="icon-tw"><!-- --></span>{% endif %}</a> <a title="Share on Google+" href="https://plus.google.com/share?url={{data.post.url}}" class="xt_gp_share" target="_blank" onclick="window.open(this.href, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=600,width=600');return false;">{% if data.device == 'mobile' %}<img height="16px" width="16px" src="http://xtgem.com/images/google_plus.png" alt="Share on google+">{% else %}<span class="icon-gp"><!-- --></span>{% endif %}</a> <a title="Share via mail" href="mailto:?subject=Have a look&body={{data.post.url}}" class="xt_mail_share" target="_blank">{% if data.device == 'mobile' %}<img height="16px" width="16px" src="http://xtgem.com/images/email.png" alt="Share via mail">{% else %}<span class="icon-mail"><!-- --></span>{% endif %}</a> </div> {% endif %} </div> {% endif %} {% endblock %} </div> </div> </div> {# COMMENT FORM #} {% block entry_comments_form %} <div class="col-sm-4"> <div class="panel-group"> {% if data.comments_form.is_maintenance %} <div class="panel panel-default"><div class="panel-body">{{ data.comments_form.maintenance_markup|raw }}</div></div> {% elseif data.is_logged_in and data.new_comments_system and not data.community_name %} <div class="panel panel-default"> <div class="panel-heading">{{ data.translations.t_provide_community_name }}</div> <form action="{{ data.community_name_submit_url }}" method="post" id="xt_blog_comment_form"> {% if data.entry.in_comments_thread %} <input type="hidden" name="__xtblog_comment_thread_id" value="{{ data.entry.in_comments_thread }}" /> {% endif %} <div class="panel-body"><input class="form-control" type="text" name="community_name" value="{{data.community_name_tmp}}" /></div> <div class="panel-footer"><input class="tn btn-default btn-xs" type="submit" value="{{ data.translations.t_submit }}" /></div> </form> </div> {% else %} {% if data.post.allow_comments %} <div class="panel panel-default" id="post_form_container"> <div class="panel-heading">{{ data.translations.t_post_a_comment }}</div> {% if data.comments_form.comments_restriction == "logged_in" and not data.is_logged_in %} <div class="panel-body"> <div class="well well-sm text-warning text-center" style="margin-bottom: 8px;"> {{ data.translations.t_comments_login_required }}</div> <a class="btn btn-default btn-xs" href="{{ data.comments_form.login_link }}"> {{ data.translations.t_login }} </a> <a class="btn btn-default btn-xs" href="{{ data.comments_form.signup_link }}"> {{ data.translations.t_signup }} </a></div> {% elseif data.comments_form.comments_restriction == "logged_in" and data.is_logged_in and not data.is_confirmed_email %} <div class="panel-body"> <a class="btn btn-default btn-xs" href="{{ data.confirm_email_link }}?redir={{ data.comments_form.url_encoded }}">{{ data.translations.t_confirm_email }}</a> </div> {% else %} <form action="{{ data.comments_form.url }}" method="post" id="xt_blog_comment_form" name="post"> <div class="panel-body"> {% if data.entry.in_comments_thread %} <input type="hidden" name="__xtblog_comment_thread_id" value="{{ data.entry.in_comments_thread }}" /> {% endif %} <input type="hidden" name="__xtblog_post" value="Post" /> <input type="hidden" name="__xtx" value="{{ data.comments_form.fields.xtx }}" /> <input type="hidden" name="__xtxs" value="{{ data.comments_form.fields.xtxs }}" /> <input type="text" name="__xtblog_blog" value="" style="display:none" /> <input type="hidden" name="__xtblog_entry" value="{{ data.post.url|split('__xtblog_entry/')[1]|split('-')[0]}}" /> {% if data.is_logged_in and data.new_comments_system %} <div class="well well-sm" style="margin-bottom: 8px;">{{ data.translations.t_posting_as }}: <span class="text-info">{{ data.community_name }}</span></div> {% else %} {% if data.comments_form.spam_comments_reserved_name and data.new_comments_system %} <div class="well well-sm text-warning text-center" style="margin-bottom: 8px;">{{ data.translations.t_reserved_name }}</div> {% endif %} {% if data.comments_form.poster %} <input type="hidden" name="__xtblog_nick" value="{{ data.comments_form.poster }}" /> {% else %} <div class="small text-muted">{{ data.translations.t_name }}</div> <input class="form-control" type="text" name="__xtblog_nick" value="{{ data.comments_form.spam_comments_nick }}" /> {% endif %} {% endif %} {% if data.comments_form.comments_restriction == "email_required" and not data.is_logged_in %} <div class="small text-muted">{{ data.translations.t_email }}</div> <input class="form-control" type="email" name="__xtblog_email" value="{{ data.comments_form.spam_comments_email }}" /> {% endif %} <div class="small text-muted">{{ data.translations.t_comment }}</div> {% if data.device != 'mobile'%} {# BBcode and emoticon tool <?#} <div> <div class="btn-group btn-group-xs" id="bbtool" > <a class="btn btn-default" title="Bold text" href="javascript:tag('[b]','[\/b\]')"><b>B</b></a> <a class="btn btn-default" title="Italic text" href="javascript:tag('[i]','[\/i\]')"><i>I</i></a> <a class="btn btn-default" title="Underlined text" href="javascript:tag('[u]','[\/u\]')"><u>U</u></a> <a class="btn btn-default" title="New line" href="javascript:tag('[br]','')"><small><br></small></a> {%if 'no_link' not in data.translations.t_no_entries_found%} <a class="btn btn-default" title="Link" href="javascript:tag('[url=...]','[\/url\]')"><small>url</small></a> {% endif %} {%if 'no_img' not in data.translations.t_no_entries_found%} <a class="btn btn-default" title="Insert image" href="javascript:tag('[img]','[\/img\]')"><small>img</small></a> {% endif %} <a class="btn btn-default" title="show code" href="javascript:tag('[code]','[\/code\]')"><small></></small></a> <a class="btn btn-default" title="Text color" href="javascript:tag('[color=000000]','[\/color\]')"><small class="text-danger">A</small><small class="text-success">B</small><small class="text-info">C</small></a> <a class="btn btn-default" title="Text size" href="javascript:tag('[size=16]','[\/size\]')"><small>A</small>A</a> <a class="btn btn-default" title="Mail to" href="javascript:tag('[email]','[\/email\]')">@</a> {%if 'no_tube' not in data.translations.t_no_entries_found%} <a class="btn btn-danger" title="Embed Youtube video" href="javascript:tag('[youtube]','[\/youtube\]')"><small class="">►</small></a> {% endif %} <a class="btn btn-default" title="Emoticons" href="javascript:show_sml('sml');"><b>:)</b></a> </div> <div id="sml" class="" style="display:none"> <a href="javascript:tag(':)','')"><img src="http://xtgem.com/images/smilies/smile_mini2.gif" alt="*" title=":)" /></a> <a href="javascript:tag(':(','')"><img src="http://xtgem.com/images/smilies/sad_mini.gif" alt="*" title=":(" /></a> <a href="javascript:tag(':DD','')"><img src="http://xtgem.com/images/smilies/laugh_mini2.gif" alt="*" title=":DD" /></a> <a href="javascript:tag(':D','')"><img src="http://xtgem.com/images/smilies/biggrin_mini2.gif" alt="*" title=":D" /></a> <a href="javascript:tag(':o','')"><img src="http://xtgem.com/images/smilies/chok_mini.gif" alt="*" title=":o" /></a> <a href="javascript:tag('0_0','')"><img src="http://xtgem.com/images/smilies/scratch_one-s_head_mini.gif" alt="*" title="0_0" /></a> <a href="javascript:tag(':P','')"><img src="http://xtgem.com/images/smilies/blum_mini.gif" alt="*" title=":P" /></a> <a href="javascript:tag('B)','')"><img src="http://xtgem.com/images/smilies/dirol_mini.gif" alt="*" title="B)" /></a> <a href="javascript:tag('>:(','')"><img src="http://xtgem.com/images/smilies/mad_mini.gif" alt="*" title=">:(" /></a> <a href="javascript:tag('o_O','')"><img src="http://xtgem.com/images/smilies/fool_mini2.gif" alt="*" title="o_O" /></a> <a href="javascript:tag('>_>','')"><img src="http://xtgem.com/images/smilies/unsure_mini.gif" alt="*" title=">_>" /></a> <a href="javascript:tag('-_-','')"><img src="http://xtgem.com/images/smilies/nea_mini.gif" alt="*" title="-_-" /></a> <a href="javascript:tag(':-(','')"><img src="http://xtgem.com/images/smilies/sad_mini2.gif" alt="*" title=":-(" /></a> <a href="javascript:tag(':-)','')"><img src="http://xtgem.com/images/smilies/happy_mini.gif" alt="*" title=":-)" /></a> <a href="javascript:tag('^^','')"><img src="http://xtgem.com/images/smilies/smile_mini.gif" alt="*" title="^^" /></a> <a href="javascript:tag(';)','')"><img src="http://xtgem.com/images/smilies/wink_mini.gif" alt="*" title=";)" /></a> <a href="javascript:tag('O:-)','')"><img src="http://xtgem.com/images/smilies/angel_mini.gif" alt="*" title="O:-)" /></a> <a href="javascript:tag(':p','')"><img src="http://xtgem.com/images/smilies/beee_mini.gif" alt="*" title=":p" /></a> <a href="javascript:tag(';-D','')"><img src="http://xtgem.com/images/smilies/biggrin_mini.gif" alt="*" title=";-D" /></a> <a href="javascript:tag(':*(','')"><img src="http://xtgem.com/images/smilies/cray_mini.gif" alt="*" title=":*(" /></a> <a href="javascript:tag(']:->','')"><img src="http://xtgem.com/images/smilies/diablo_mini.gif" alt="*" title="]:->" /></a> <a href="javascript:tag('(y)','')"><img src="http://xtgem.com/images/smilies/good_mini.gif" alt="*" title="(y)" /></a> <a href="javascript:tag('<3','')"><img src="http://xtgem.com/images/smilies/heart_mini.gif" alt="*" title="<3" /></a> <a href="javascript:tag(':*','')"><img src="http://xtgem.com/images/smilies/kiss_mini.gif" alt="*" title=":*" /></a> <a href="javascript:tag(':-))','')"><img src="http://xtgem.com/images/smilies/laugh_mini.gif" alt="*" title=":-))" /></a> <a href="javascript:tag('[:)','')"><img src="http://xtgem.com/images/smilies/music_mini.gif" alt="*" title="[:)" /></a> <a href="javascript:tag('[:-)','')"><img src="http://xtgem.com/images/smilies/music_mini2.gif" alt="*" title="[:-)" /></a> <a href="javascript:tag(':-O','')"><img src="http://xtgem.com/images/smilies/shout_mini.gif" alt="*" title=":-O" /></a> <a href="javascript:tag('?-|','')"><img src="http://xtgem.com/images/smilies/vava_mini.gif" alt="*" title="?-|" /></a> <a href="javascript:tag(':aggressive:','')"><img src="http://xtgem.com/images/smilies/aggressive_mini.gif"alt="*" title=":aggressive:" /></a> <a href="javascript:tag(':bomb:','')"><img src="http://xtgem.com/images/smilies/bomb_mini.gif" alt="*" title=":bomb:" /></a> <a href="javascript:tag(':bye:','')"><img src="http://xtgem.com/images/smilies/bye_mini.gif" alt="*" title=":bye:" /></a> <a href="javascript:tag(':celebrate:','')"><img src="http://xtgem.com/images/smilies/drink_mini.gif" alt="*" title=":celebrate:" /></a> <a href="javascript:tag(':clap:','')"><img src="http://xtgem.com/images/smilies/clapping_mini.gif" alt="*" title=":clap:" /></a> <a href="javascript:tag(':confused:','')"><img src="http://xtgem.com/images/smilies/unknw_mini.gif" alt="*" title=":confused:" /></a> <a href="javascript:tag(':crazy:','')"><img src="http://xtgem.com/images/smilies/crazy_mini.gif" alt="*" title=":crazy:" /></a> <a href="javascript:tag(':dance:','')"><img src="http://xtgem.com/images/smilies/dance_mini.gif" alt="*" title=":dance:" /></a> <a href="javascript:tag(':drink:','')"><img src="http://xtgem.com/images/smilies/drink2_mini.gif" alt="*" title=":drink:" /></a> <a href="javascript:tag(':fool:','')"><img src="http://xtgem.com/images/smilies/fool_mini.gif" alt="*" title=":fool:" /></a> <a href="javascript:tag(':inlove:','')"><img src="http://xtgem.com/images/smilies/man_in_love_mini.gif" alt="*" title=":inlove:" /></a> <a href="javascript:tag(':LOL:','')"><img src="http://xtgem.com/images/smilies/lol_mini.gif" alt="*" title=":LOL:" /></a> <a href="javascript:tag(':lol:','')"><img src="http://xtgem.com/images/smilies/lol_mini2.gif" alt="*" title=":lol:" /></a> <a href="javascript:tag(':mamba:','')"><img src="http://xtgem.com/images/smilies/mamba_mini.gif" alt="*" title=":mamba:" /></a> <a href="javascript:tag(':mock:','')"><img src="http://xtgem.com/images/smilies/mocking_mini.gif" alt="*" title=":mock:" /></a> <a href="javascript:tag(':pardon:','')"><img src="http://xtgem.com/images/smilies/pardon_mini.gif" alt="*" title=":pardon:" /></a> <a href="javascript:tag(':rofl:','')"><img src="http://xtgem.com/images/smilies/rofl_mini.gif" alt="*" title=":rofl:" /></a> <a href="javascript:tag(':rolleyes:','')"><img src="http://xtgem.com/images/smilies/rolleyes_mini.gif" alt="*" title=":rolleyes:" /></a> <a href="javascript:tag(':rose:','')"><img src="http://xtgem.com/images/smilies/rose_mini.gif" alt="*" title=":rose:" /></a> <a href="javascript:tag(':secret:','')"><img src="http://xtgem.com/images/smilies/secret_mini.gif" alt="*" title=":secret:" /></a> <a href="javascript:tag(':shy:','')"><img src="http://xtgem.com/images/smilies/blush_mini.gif" alt="*" title=":shy:" /></a> <a href="javascript:tag(':sick:','')"><img src="http://xtgem.com/images/smilies/bo_mini.gif" alt="*" title=":sick:" /></a> <a href="javascript:tag(':sorry:','')"><img src="http://xtgem.com/images/smilies/sorry_mini.gif" alt="*" title=":sorry:" /></a> <a href="javascript:tag(':wack:','')"><img src="http://xtgem.com/images/smilies/wacko_mini2.gif" alt="*" title=":wack:" /></a> <a href="javascript:tag(':wacko:','')"><img src="http://xtgem.com/images/smilies/wacko_mini.gif" alt="*" title=":wacko:" /></a> <a href="javascript:tag(':yay:','')"><img src="http://xtgem.com/images/smilies/yahoo_mini.gif" alt="*" title=":yay:" /></a> </div> </div> {% endif %} {# End BBcode and Emoticon tool ?> #} <textarea class="form-control" placeholder="{{ data.translations.t_comment }}" id="xtblog_comment_msg" name="__xtblog_msg">{{ data.comments_form.spam_comments_msg|replace({('$'):'\\$',('('):'\\('}) }}</textarea> {% if data.comments_form.spam_comments %} <input type="hidden" name="hash" value="{{ data.comments_form.spam_hash }}" /> <div class="thumbnail " style="max-width:187px;margin-top:4px"> <img class="img-thumbnail" src="{{ data.comments_form.spam_captcha_url }}" alt="" /><br /> <div class="small text-muted">Code:</div><br /> <input class="form-control" type="text" name="code" /> </div> {% endif %} </div> <div class="panel-footer"> <input class="btn btn-default btn-xs" type="submit" value="{{ data.translations.t_post }}" /> <input class="btn btn-default btn-xs" type="reset" /> </div> </form> {% endif %} </div> {% endif %} {% endif %} {% endblock %} {# COMMENTS #} {% block entry_comments_list %} <div class="panel panel-default"> <div class="panel-body"> <a class="btn btn-default btn-xs" href="{{ data.back_url }}">{{ data.translations.t_back_to_posts }}</a> {% if data.post.allow_comments and data.new_comments_system and data.entry.in_comments_thread %} <a href="{{ data.entry.comments_thread_all|replace({'#xt_blog':'#post_form_container'}) }}" class="btn btn-default btn-xs">{{ data.translations.t_show_all_comments }}</a> {% if data.entry.comments_thread_parent %} <a href="{{ data.entry.comments_thread_parent }}#post_form_container" class="btn btn-default btn-xs">{{ data.translations.t_see_parent_thread }}</a> {% endif %} {% endif %} </div> </div> {% if data.post.allow_comments and data.entry.comments%} <div class="panel panel-default"> {% if data.new_comments_system %} <div class="panel-heading"><b>{{ data.translations.t_comments }}</b></div> {% macro comments_list (comments, ctx) %} {# <? #} {% for comment in comments %} <div class="list-group-item"> {% if comment.author_profile %} <a class="btn btn-default btn-xs" href="{{ comment.author_profile.link }}"><img src="{{ comment.author_profile.avatars[16] }}" style="display:inline"><span class="text-{% if comment.owner_of_comment %}info{%else%}default{% endif %} class=">{{ comment.author_profile.name }}</span></a> {% else %} <span class="btn btn-default btn-xs"><img src="/images/user.png" /> {{ comment.nick }}</span> {% endif %} {% if comment.is_hidden %} <div class="text-warning">{{ ctx.data.translations.t_hidden_comment }}</div> {% else %} {%set mssg= comment.message|replace({('$'):'\\$',('('):'\\('}) %} {# fix code bbtag in comments #} {% if '<pre>' in mssg %}{%set mssg = mssg|replace({('<pre>'):'<pre class="pre-scrollable" style="resize:horizontal">',('</pre>'):'</pre>',('&'):'&','<p>':'','</p>':'','<em>':'_','</em>':'_','\r\n': '', '\n': '', '\r': '' }) %}{% endif %} {# no images in comments #} {%if 'no_img' in ctx.data.translations.t_no_entries_found%} {% if '<img' in mssg %} {% set m=mssg|split('<img src="') %} {% for i in 1..(m|length-1) %} {% if not ( m[i] starts with 'http://xtgem.com') %} {% set n=m[i]|split('"') %} {% set mssg=mssg|replace ({("<img src=\"#{n[0]}\" alt=\"img\" />"):'<b class="text-danger">[images disabled]</b>'}) %} {% endif %} {% endfor %} {% endif %} {% endif %} {# no links in comments #} {%if 'no_link' in ctx.data.translations.t_no_entries_found%} {% if '<a href' in mssg %} {% set m=mssg|split('<a href="') %} {% for i in 1..(m|length-1) %} {% set n=m[i]|split('a>') %} {% set mssg=mssg|replace ({("<a href=\"#{n[0]}a>"):'<b class="text-danger">[links disabled]</b>'}) %} {% endfor %} {% endif %} {% endif %} {# no embedded youtube in comments #} {%if 'no_tube' in ctx.data.translations.t_no_entries_found%} {% if '<object' in mssg %}{% set mssg=mssg|replace({("<object"):'<b class="text-danger">[youtube disabled]</b><!--',("</object"):'--'}) %}{% endif %} {% endif %} <div class="">{{ mssg|raw }}</div> {% endif %} <div class="small text-muted">{{ comment.date }}</div> {% if not ( ctx.data.entry.in_comments_thread and comment.childs and (comment.childs_count > 0) ) %} <div class=""> <a class="btn btn-default btn-xs" href="{{ comment.reply_link }}#post_form_container">{{ ctx.data.translations.t_reply }}</a> {% if ctx.data.is_logged_in and not comment.is_hidden and not data.comments_form.is_maintenance %} {% if ctx.data.reported_spam and ctx.data.reported_spam == comment.id %} <span class="btn btn-danger btn-xs" >{{ctx.data.translations.t_reported}}</span> {% else %} <a class="btn btn-default btn-xs" href="{{ comment.spam_link }}">{{ ctx.data.translations.t_report_spam }}</a> {% endif %} {% elseif not ctx.data.is_logged_in and not comment.is_hidden and not data.comments_form.is_maintenance %} <a class="btn btn-default btn-xs" href="{{ comment.login_link }}">{{ ctx.data.translations.t_report_spam }}</a> {% endif %} {% if not comment.childs and (comment.childs_count > 0) %} <a class="btn btn-default btn-xs" href="{{ comment.reply_link }}#post_form_container">{{ ctx.data.translations.t_show_replies }} ({{comment.childs_count}})</a> {% endif %} {% if comment.show_more %} <a class="btn btn-default btn-xs" href="{{ comment.reply_link }}#post_form_container">{{ ctx.data.translations.t_show_all_replies }}</a> {% endif %} </div> {% endif %} </div> {% if comment.childs %} {{ _self.comments_list(comment.childs, ctx) }} {% endif %} {% endfor %} {#?> #} {% endmacro %} <div class="list-group">{{ _self.comments_list(data.entry.comments, _context) }}</div> {% if data.pagination_html %} <div class="panel-footer">{{ data.pagination_html|raw }}</div> {% endif %} </div> {% else %} <div class="panel panel-default" id="xt_blog_comments"> <div class="panel-heading">{{ data.translations.t_comments }}</div> <div class="list-group"> {% for comment in data.entry.comments %} <div class="list-group-item"> <span class="btn btn-default btn-xs">{{ comment.nick }}</span> <div>{{ comment.message|raw }}</div> <div class="small text-muted">{{ comment.date }}</div> </div> {% endfor %} </div> <div class="panel-footer">{{ data.pagination_html|raw }} </div> </div> {% endif %} {% endif %} {% endblock %} {% if not data.entry.comments %} <div class="panel panel-default" ><div class="panel-body">{{ data.translations.t_comments_empty }}</div></div> {% else %} <div class="panel panel-default" ><div class="panel-body"><a class="btn btn-default btn-xs" href="{{ data.back_url }}">{{ data.translations.t_back_to_posts }}</a></div></div> {% endif %} </div> </div> </div> {% elseif view == 'no_contents' %} <div class="row"> <div class="col-sm-12"> <div class="panel panel-default" > {% block no_contents %} {% if data.searchbox.phrase %} <div class="panel-heading">{{ data.translations.t_no_search_results_found }}</div> {% else %} <div class="panel-heading">{{ data.translations.t_no_entries_found }}</div> {% endif %} {% endblock %} {% block no_contents_searchbox %} {% if data.searchbox %} <div class="panel-body"> <form action="{{ data.searchbox.url }}" method="get" class="form-inline"> {% for key, value in data.searchbox.params %} {% if value %} <input type="hidden" name="{{ key }}" value="{{ value }}" /> {% endif %} {% endfor %} <div class="input-group input-group-sm"> <input class="form-control" type="search" name="__xtblog_search" value="{{ data.searchbox.phrase }}" /> <div class="input-group-btn"> <input class="btn btn-default" type="submit" value="{{ data.translations.t_search }}" /> </div> </div> </form> </div> {% if data.back_url %} <div class="panel-footer"><a href="{{ data.back_url }}" class="btn btn-default btn-xs">{{ data.translations.t_back_to_posts }}</a></div> {% endif %} {% endif %} {% endblock %} </div> </div> </div> {% elseif view == 'no_entry' %} {% block no_entry %} <div class="row"> <div class="col-sm-12"> <div class="well well-sm">No blog entry found</div> </div> </div> {% endblock %} {% endif %} {%endspaceless%}
The xtscript page
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width,initial-scale=1" /> <title>XtGem.com</title> <script> function tag(text1, text2) { if ((document.selection)) { document.post.__xtblog_msg.focus(); document.post.document.selection.createRange().text = text1+document.post.document.selection.createRange().text+text2; } else if(document.forms['post'].elements['__xtblog_msg'].selectionStart!=undefined) { var element = document.forms['post'].elements['__xtblog_msg']; var str = element.value; var start = element.selectionStart; var length = element.selectionEnd - element.selectionStart; element.value = str.substr(0, start) + text1 + str.substr(start, length) + text2 + str.substr(start + length); } else { document.post.__xtblog_msg.value += text1+text2; } document.forms['post'].elements['__xtblog_msg'].focus(); } function show_sml(elem) { obj = document.getElementById(elem); if( obj.style.display == "none" ) { obj.style.display = "block"; } else { obj.style.display = "none"; } document.forms['post'].elements['__xtblog_msg'].focus(); } </script> <style> .item-heading , .description {padding:4px;} .description img {height: 32px;width: 32px;background:#808080} @media(min-width: 768px){.description-image img {height: 48px;width: 48px;} } .post-content img {max-width:100%} .pagination {margin:0} </style> </head> <body> <div class="container"> <div class="row"> <xt:code> <!--parser:xtscript-->#<? var $bad_words=ivorbiggun,bananas get __xtblog_block_id #</xt:code> var $blog= <xt:blog hide_tags="1" tzone="0" format="Y-m-d" display="5" show_time="1" entries_per_page="5" comments_per_page="3" comments_sort="-1" entries_sort="-1" display_limit="0" display_symbol="" version="2" show_searchbox="1" t_back_to_posts="" t_comments="" t_comments_empty="" t_post_a_comment="" t_name="" t_comment="" t_post="" t_tags="" t_search="" t_created="" t_showing_tagged_posts="" t_no_entries_found="bs_pagination" t_no_search_results_found="" t_show_all_comments="" t_see_parent_thread="" t_show_all_replies="" t_show_replies="" t_reply="" t_posting_as="" t_comments_login_required="" t_login="" t_signup="" t_confirm_email="" t_report_spam="" comments_disable_links="0" badwords="$bad_words" /> #<xt:code> get __xtblog_entry if not $__xtblog_entry or not $__xtblog_block_id goto @output_blog endif var $start_tags=call strpos $haystack=$blog;$needle=!--# var $start_tags=($start_tags+4) var $end_tags=call strpos $haystack=$blog;$needle=#--;$offset=$start_tags if not $start_tags or not $end_tags goto @output_blog endif var $tags=call substr $val=$blog;$start=$start_tags;$length=($end_tags-$start_tags) @main_loop var $tag_end=call strpos $haystack=$tags|;$needle=|;$offset=($tag_start+1) if not $tag_end goto @related_list endif var $tag=call substr $val=$tags;$start=$tag_start;$length=($tag_end-$tag_start) var $tagged_post_list = <xt:blog display="5" entries_per_page="0" version="2" tag="$tag" t_no_entries_found="related" t_no_search_results_found="$__xtblog_entry" /> var $current_entry_start = 0 @next_entry var $current_entry_end=call strpos $haystack=$tagged_post_list;$needle=];$offset=$current_entry_start if not $current_entry_end goto @next_tag endif var $current_entry=call substr $val=$tagged_post_list;$start=$current_entry_start;$length=($current_entry_end-$current_entry_start+1) var $duplicate=call strpos $haystack=[$related_post_list;$needle=$current_entry if $duplicate goto @duplicate_entry endif var $rand=call mt_rand $min=0; $max=1 if $rand var $related_post_list=$related_post_list$current_entry else var $related_post_list=$current_entry$related_post_list endif @duplicate_entry var $current_entry_start=($current_entry_end+1) goto @next_entry @next_tag var $tag_start=($tag_end+1) goto @main_loop @related_list var $path=<xt:url type="path"> var $count=0 var $start_entry=0 @next_button var $end_entry=call strpos $haystack=$related_post_list;$needle=];$offset=$start_entry if not $end_entry goto @insert_buttons endif var $entry=call substr $val=$related_post_list;$start=$start_entry;$length=($end_entry-$start_entry+1) var $end_value=call strpos $haystack=$entry;$needle=|;$offset=1 var $url=call substr $val=$entry;$start=1;$length=($end_value-1) var $start_value=($end_value+1) var $end_value=call strpos $haystack=$entry;$needle=|;$offset=($start_value+0) var $name=call substr $val=$entry;$start=$start_value;$length=($end_value-$start_value) var $start_value=($end_value+1) var $end_value=call strpos $haystack=$entry;$needle=|;$offset=($start_value+0) var $date=call substr $val=$entry;$start=$start_value;$length=($end_value-$start_value) var $start_value=($end_value+1) var $end_value=call strpos $haystack=$entry;$needle=];$offset=$start_value var $desc=call substr $val=$entry;$start=$start_value;$length=($end_value-$start_value) var $links = {{ $links <div class="panel panel-default"> <div class="panel-heading item-heading"><a href="$path/__xtblog_entry/$url?__xtblog_block_id=1#xt_blog" >$name</a><div class="text-muted">$date</div></div> <div class="panel-body description"> $desc</div> </div> }} var $start_entry=($end_entry+1) var $count=($count+1) if $count < 15 goto @next_button endif @insert_buttons var $blog=call str_replace $subject=$blog; $search=<!--related-->; $replace=$links @output_blog print $blog #?><!--/parser:xtscript--></xt:code> </div> </div> </body> </html>
TeStS
Log in
default
amelia
lumen
superhero
slate
spacelab
business-casual
bootply