File size: 17.4Kb
<?xml version="1.0" encoding="utf-8"?>
<templates>
<template type="admin" title="widget_def_options_siropu_shoutbox" version_id="1030570" version_string="1.3.5"><![CDATA[<hr class="formRowSep" />
<xf:numberboxrow name="options[height]"
value="{$options.height}"
label="{{ phrase('siropu_shoutbox_content_height') }}"
explain="{{ phrase('siropu_shoutbox_content_height_explain') }}"
units="{{ phrase('units_pixels') }}"
min="0" />
<xf:checkboxrow>
<xf:option name="options[sidebarStyle]" checked="{$options.sidebarStyle}">{{ phrase('siropu_easy_user_ban_enable_sidebar_style') }}</xf:option>
<xf:option name="options[hideTimestamp]" checked="{$options.hideTimestamp}">{{ phrase('siropu_easy_user_ban_hide_shout_date') }}</xf:option>
</xf:checkboxrow>]]></template>
<template type="public" title="SIROPU_SHOUTBOX_CONTAINER" version_id="1030170" version_string="1.3.1"><![CDATA[<!DOCTYPE html>
<html id="XF" lang="{$xf.language.language_code}" dir="{$xf.language.text_direction}"
data-app="public"
data-template="{$template}"
data-container-key="{$containerKey}"
data-content-key="{$contentKey}"
data-logged-in="{{ $xf.visitor.user_id ? 'true' : 'false' }}"
data-cookie-prefix="{$xf.cookie.prefix}"
class="has-no-js{{ $template ? ' template-' . $template : '' }}"
{{ $xf.runJobs ? ' data-run-jobs=""' : '' }}>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<xf:set var="$siteName" value="{$xf.options.boardTitle}" />
<xf:set var="$h1"><xf:h1 fallback="{$siteName}" /></xf:set>
<xf:set var="$description"><xf:description /></xf:set>
<title><xf:title formatter="%s | %s" fallback="{$xf.options.boardTitle}" page="{$pageNumber}" /></title>
<xf:foreach loop="$head" value="$headTag">
{$headTag}
</xf:foreach>
<xf:if is="!$head.meta_site_name && $siteName is not empty">
<xf:macro template="metadata_macros" name="site_name" arg-siteName="{$siteName}" arg-output="{{ true }}" />
</xf:if>
<xf:if is="!$head.meta_title">
<xf:macro template="metadata_macros" name="title" arg-title="{{ page_title() ?: $siteName }}" arg-output="{{ true }}" />
</xf:if>
<xf:if is="!$head.meta_description && $description is not empty && $pageDescriptionMeta">
<xf:macro template="metadata_macros" name="description" arg-description="{$description}" arg-output="{{ true }}" />
</xf:if>
<xf:if is="!$head.meta_image_url && property('publicMetadataLogoUrl')">
<xf:macro template="metadata_macros" name="image_url"
arg-imageUrl="{{ base_url(property('publicMetadataLogoUrl'), true) }}"
arg-output="{{ true }}" />
</xf:if>
<xf:if is="property('metaThemeColor')">
<meta name="theme-color" content="{{ property('metaThemeColor') }}" />
</xf:if>
<xf:macro template="helper_js_global" name="head" arg-app="public" />
<xf:if is="property('publicFaviconUrl')">
<link rel="icon" type="image/png" href="{{ base_url(property('publicFaviconUrl')) }}" sizes="32x32" />
</xf:if>
<xf:if is="property('publicMetadataLogoUrl')">
<link rel="apple-touch-icon" href="{{ base_url(property('publicMetadataLogoUrl'), true) }}" />
</xf:if>
<xf:include template="google_analytics" />
</head>
<body id="siropuShoutboxFullPage" data-template="{$template}">
<header class="p-header" id="header"></header>
{$content|raw}
<div class="u-bottomFixer js-bottomFixTarget">
<xf:if is="$notices.floating">
<xf:macro template="notice_macros" name="notice_list" arg-type="floating" arg-notices="{$notices.floating}" />
</xf:if>
</div>
<xf:macro template="helper_js_global" name="body" arg-app="public" arg-jsState="{$jsState}" />
{$ldJsonHtml|raw}
</body>
</html>]]></template>
<template type="public" title="siropu_shoutbox" version_id="1040070" version_string="1.4.0"><![CDATA[<xf:if is="$shoutbox.showTitle">
<xf:title>{{ phrase('siropu_shoutbox') }}</xf:title>
<xf:h1 hidden="true" />
</xf:if>
<xf:if is="$shoutbox.isFullPage">
<xf:page option="template">SIROPU_SHOUTBOX_CONTAINER</xf:page>
</xf:if>
<xf:css src="siropu_shoutbox.less" />
<xf:js src="siropu/shoutbox/core.js" min="1">
jQuery.extend(XF.phrases, {
siropu_shoutbox_loading_more_shouts: "{{ phrase('siropu_shoutbox_loading_more_shouts')|escape('js') }}",
siropu_shoutbox_shout_delete_confirm: "{{ phrase('siropu_shoutbox_are_you_sure_you_want_to_delete_shout')|escape('js') }}",
siropu_shoutbox_placeholder: "{{ phrase('siropu_shoutbox_placeholder')|escape('js') }}",
siropu_shoutbox_please_wait: "{{ phrase('siropu_shoutbox_please_wait')|escape('js') }}",
siropu_shoutbox_please_wait_x_seconds: "{{ phrase('siropu_shoutbox_please_wait_x_seconds', {'length': $xf.options.siropuShoutboxFloodCheckLength })|escape('js') }}"
});
</xf:js>
<div class="siropuShoutbox block" data-refresh-interval="{{ $xf.options.siropuShoutboxRefreshInterval * 1000 }}" data-last-id="{$shoutbox.lastId}" data-load-more="{{ ($xf.visitor.canUseSiropuShoutbox() AND count($shoutbox.shouts) == $xf.options.siropuShoutboxDisplayLimit) ? 1 : 0 }}" data-last-active="{$xf.time}" data-sound="{{ $shoutbox.sound ? 'on' : 'off' }}" data-reverse="{{ $shoutbox.reverse ? 'true' : 'false' }}" data-collapsed="{{ $shoutbox.collapsed ? 'true' : 'false' }}" data-timeout="{{ $xf.visitor.canBypassFloodCheckSiropuShoutbox() ? 0 : $xf.options.siropuShoutboxFloodCheckLength * 1000 }}" data-xf-init="siropu-shoutbox">
<div class="block-container">
<div class="{{ $options.sidebarStyle ? 'block-minorHeader' : 'block-header' }}">
<i class="fa fa-bullhorn" aria-hidden="true"></i> {{ $title ?: phrase('siropu_shoutbox') }}
<span>
<xf:if is="$xf.options.siropuShoutboxPopup AND !$shoutbox.isFullPage">
<a href="{{ link('shoutbox/fullpage') }}" title="{{ phrase('siropu_shoutbox_open_in_popup')|for_attr }}" data-xf-click="siropu-shoutbox-popup" data-xf-init="tooltip"><i class="fa fa-external-link" aria-hidden="true"></i></a>
</xf:if>
<xf:if is="$xf.visitor.canViewBannedSiropuShoutbox()">
<a href="{{ link('shoutbox/banned') }}" title="{{ phrase('banned_users')|for_attr }}" data-xf-click="overlay" data-xf-init="tooltip"><i class="fa fa-user-times" aria-hidden="true"></i></a>
</xf:if>
<xf:if is="$xf.options.siropuShoutboxSound">
<a role="button" title="{{ phrase('siropu_shoutbox_toggle_sound')|for_attr }}" data-xf-click="siropu-shoutbox-toggle-sound" data-xf-init="tooltip"><i class="fa fa-volume-{{ $shoutbox.sound ? 'up' : 'off' }}" aria-hidden="true"></i></a>
</xf:if>
<a role="button" title="{{ phrase('siropu_shoutbox_toggle_direction')|for_attr }}" data-xf-click="siropu-shoutbox-toggle-direction" data-xf-init="tooltip"><i class="fa fa-arrow-{{ $shoutbox.reverse ? 'up' : 'down' }}" aria-hidden="true"></i></a>
<a role="button" title="{{ phrase('siropu_shoutbox_toggle_visibility')|for_attr }}" data-xf-click="siropu-shoutbox-toggle-visibility" data-xf-init="tooltip"><i class="fa fa-{{ $shoutbox.collapsed ? 'plus' : 'minus' }}" aria-hidden="true"></i></a>
</span>
</div>
<div class="block-body"{{ $shoutbox.collapsed ? ' style="display: none;"' : '' }}>
<xf:if is="$xf.options.siropuShoutboxHeader">
<div class="siropuShoutboxHeader">
{$xf.options.siropuShoutboxHeader|raw}
</div>
</xf:if>
<xf:if is="$shoutbox.reverse == false">
<xf:macro template="siropu_shoutbox_form" name="submit" />
</xf:if>
<xf:set var="$height"><xf:if is="$shoutbox.height">style="height: {$shoutbox.height}px;"</xf:if></xf:set>
<ol class="siropuShoutboxShouts"{$height}>
<xf:if is="$shoutbox.shouts is not empty">
<xf:include template="siropu_shoutbox_shout_list" />
<xf:else />
<li>{{ phrase('siropu_shoutbox_no_shouts') }}</li>
</xf:if>
</ol>
<xf:if is="$shoutbox.reverse == true">
<xf:macro template="siropu_shoutbox_form" name="submit" arg-class="siropuShoutboxReverse" />
</xf:if>
<xf:if is="$xf.options.siropuShoutboxFooter">
<div class="siropuShoutboxFooter">
{$xf.options.siropuShoutboxFooter|raw}
</div>
</xf:if>
</div>
</div>
</div>]]></template>
<template type="public" title="siropu_shoutbox.less" version_id="1040070" version_string="1.4.0"><![CDATA[.siropuShoutbox
{
.block-header span, .block-minorHeader span
{
float: right;
}
.block-body
{
padding: 10px;
position: relative;
}
form
{
margin-bottom: 10px;
> span
{
display: inline-flex;
width: 100%;
> *
{
margin-right: 2px;
&:last-child
{
margin-right: 0;
}
}
}
.input
{
width: 100%;
.p-body-sidebar &
{
width: 65%;
font-size: 12px;
}
}
.button
{
font-size: 18px;
.p-body-sidebar &
{
font-size: 14px;
}
}
&.siropuShoutboxReverse
{
margin-top: 10px;
margin-bottom: 0;
}
.editorSmilies
{
border-top: 1px solid @xf-borderColor;
margin-top: 5px;
}
}
}
.siropuShoutboxShouts
{
height: 300px;
overflow: auto;
padding: 0;
margin: 0;
> li
{
list-style-type: none;
margin-bottom: 5px;
.bbWrapper
{
display: inline;
}
.bbMediaWrapper
{
margin-top: 5px;
}
&:last-child
{
margin-bottom: 0;
}
.username
{
font-weight: bold;
}
time
{
color: @xf-textColorMuted;
font-size: 12px;
}
a[data-xf-click="overlay"]
{
display: none;
opacity: 0.5;
&:hover
{
opacity: 1;
}
}
}
}
.siropuShoutboxLoadingMoreShouts
{
position: absolute;
bottom: 5px;
left: 0;
right: 0;
text-align: center;
font-weight: bold;
font-size: 12px;
color: @xf-textColorEmphasized;
&.siropuShoutboxReverse
{
top: 5px;
}
}
.siropuShoutboxHeader
{
margin-bottom: 10px;
padding-bottom: 10px;
border-bottom: 1px solid @xf-borderColor;
color: @xf-textColorDimmed;
}
.siropuShoutboxFooter
{
margin-top: 10px;
padding-top: 10px;
border-top: 1px solid @xf-borderColor;
color: @xf-textColorDimmed;
}
#siropuShoutboxFullPage
{
&::-webkit-scrollbar
{
display: none;
}
> .block
{
margin: 0;
padding: 0;
}
}
@media (max-width: 360px)
{
.siropuShoutbox
{
form
{
.input
{
width: 75%;
}
}
}
}
.siropuShoutboxBanned
{
opacity: 0.5;
}
.siropuShoutboxTag
{
user-select: none;
color: @xf-textColorDimmed;
&:hover
{
text-decoration: none;
color: @xf-textColorMuted;
}
}
.siropuShoutboxTagged
{
background: @xf-contentAccentBg;
padding: 3px;
border-radius: 5px;
border: 1px solid @xf-borderColorAttention;
}]]></template>
<template type="public" title="siropu_shoutbox_ban" version_id="1040070" version_string="1.4.0"><![CDATA[<xf:title>{{ phrase('ban:') }} {$user.username}</xf:title>
<xf:form action="{{ link('shoutbox/ban', '', {'user_id': $user.user_id}) }}" class="block" ajax="true" data-force-flash-message="true">
<div class="block-container">
<div class="block-body">
<xf:radiorow name="ban_length" value="perm" label="{{ phrase('ban_length')|for_attr }}">
<xf:option value="perm">{{ phrase('permanent') }}</xf:option>
<xf:option value="temp" label="{{ phrase('temporary')|for_attr }}" data-hide="true">
<xf:dependent>
<div class="inputGroup" style="margin-bottom: 5px;">
<xf:numberbox name="length_value" min="1" />
<span class="inputGroup-splitter"></span>
<xf:select name="length_unit" class="input--autoSize">
<xf:option value="hours">{{ phrase('hours') }}</xf:option>
<xf:option value="days">{{ phrase('days') }}</xf:option>
<xf:option value="months">{{ phrase('months') }}</xf:option>
</xf:select>
</div>
<xf:dateinput name="end_date" placeholder="{{ phrase('until...')|for_attr }}" class="input--autoSize" />
</xf:dependent>
</xf:option>
</xf:radiorow>
</div>
<xf:submitrow submit="{{ phrase('ban') }}" />
</div>
</xf:form>]]></template>
<template type="public" title="siropu_shoutbox_ban_list" version_id="1040070" version_string="1.4.0"><![CDATA[<xf:title>{{ phrase('banned_users') }}</xf:title>
<div clas="block">
<div class="block-container">
<ol class="block-body">
<xf:foreach loop="$banned" value="$ban">
<xf:set var="$extraData">
<b>{{ phrase('ban_ends:') }}</b> {{ $ban.siropu_shoutbox_ban > 0 ? date_time($ban.siropu_shoutbox_ban) : phrase('never') }}
<xf:button href="{{ link('shoutbox/unban', '', {'user_id': $ban.user_id}) }}" overlay="true">{{ phrase('lift_ban') }}</xf:button>
</xf:set>
<li class="block-row block-row--separated">
<xf:macro template="member_list_macros" name="item"
arg-user="{$ban}"
arg-extraData="{$extraData}" />
</li>
<xf:else />
<li class="block-row">{{ phrase('there_no_banned_users') }}</li>
</xf:foreach>
</ol>
</div>
</div>]]></template>
<template type="public" title="siropu_shoutbox_form" version_id="1040070" version_string="1.4.0"><![CDATA[<xf:macro name="submit" arg-class="">
<xf:if is="$xf.visitor.canUseSiropuShoutbox()">
<form action="{{ link('shoutbox/submit') }}"{{ $class ? ' class="' . $class . '"' : '' }} data-xf-init="siropu-shoutbox-submit">
<span>
<xf:textbox name="shout" placeholder="{{ phrase('siropu_shoutbox_placeholder') }}" maxlength="{$xf.options.siropuShoutboxShoutMaxLength}" autocomplete="off" data-xf-init="user-mentioner" />
<xf:if is="$xf.options.siropuShoutboxAllowBBCodes AND $xf.options.siropuShoutboxSmilieButton">
<xf:css src="editor.less" />
<button type="button" class="button button--link" title="{{ phrase('smilies')|for_attr }}" data-xf-init="tooltip siropu-shoutbox-smilies"><i class="fa fa-smile-o" aria-hidden="true"></i></button>
</xf:if>
<button type="submit" class="button button--link" title="{{ phrase('siropu_shoutbox_shout')|for_attr }}" data-xf-init="tooltip"><i class="fa fa-bullhorn" aria-hidden="true"></i></button>
</span>
</form>
</xf:if>
</xf:macro>]]></template>
<template type="public" title="siropu_shoutbox_shout_delete" version_id="10000" version_string="1.0.0"><![CDATA[<xf:title>{{ phrase('confirm_action') }}</xf:title>
<xf:form action="{{ link('shoutbox/delete', $shout) }}" class="block" ajax="true" data-xf-init="siropu-shoutbox-delete-shout">
<div class="block-container">
<div class="block-body">
<xf:inforow rowtype="confirm">
<p>{{ phrase('please_confirm_that_you_want_to_delete_following:') }}</p>
<strong>{$shout.shout_message}</strong>
</xf:inforow>
</div>
<xf:submitrow icon="delete" rowtype="simple" class="js-overlayClose" />
</div>
</xf:form>]]></template>
<template type="public" title="siropu_shoutbox_shout_edit" version_id="10000" version_string="1.0.0"><![CDATA[<xf:title>{{ phrase('siropu_shoutbox_edit_shout') }}</xf:title>
<xf:form action="{{ link('shoutbox/edit', $shout) }}" class="block" data-xf-init="siropu-shoutbox-edit-shout" ajax="true">
<div class="block-container">
<div class="block-body block-row">
<input type="text" name="message" class="input" value="{$shout.shout_message}" autocomplete="off">
</div>
<xf:submitrow icon="save" rowtype="simple" class="js-overlayClose" />
</div>
</xf:form>]]></template>
<template type="public" title="siropu_shoutbox_shout_list" version_id="1040070" version_string="1.4.0"><![CDATA[<xf:foreach loop="$shoutbox.shouts" value="$shout">
<xf:set var="$isBanned" value="{$shout.User.isBannedSiropuShoutbox()}" />
<li data-id="{$shout.shout_id}" class="{{ $isBanned ? 'siropuShoutboxBanned' : ($shout.isTagged() ? 'siropuShoutboxTagged' : '') }}">
<xf:if is="$xf.options.siropuShoutboxUserAvatar">
<xf:avatar user="$shout.User" size="xxs" defaultname="{{ phrase('guest') }}" itemprop="image" />
</xf:if>
<xf:if is="$xf.options.siropuShoutboxUserTag AND $xf.visitor.user_id != $shout.shout_user_id">
<a role="button" class="siropuShoutboxTag" title="{{ phrase('siropu_shoutbox_tag_user')|for_attr }}" data-xf-click="siropu-shoutbox-user-tag">@</a>
</xf:if>
<xf:username user="$shout.User" defaultname="{{ phrase('guest') }}" rich="true" />:
<span>{{ $xf.options.siropuShoutboxAllowBBCodes ? bb_code($shout.shout_message|censor, 'shoutbox_message', $shout.User) : $shout.shout_message|censor }}</span>
<xf:if is="$options.hideTimestamp == false">
<xf:date time="{$shout.shout_date}" />
</xf:if>
<xf:if is="$shout.canEdit()">
<a href="{{ link('shoutbox/edit', $shout) }}" data-xf-click="overlay" title="{{ phrase('edit')|for_attr }}"><i class="fa fa-pencil-square-o" aria-hidden="true"></i></a>
</xf:if>
<xf:if is="$shout.canDelete()">
<a href="{{ link('shoutbox/delete', $shout) }}" data-xf-click="overlay" title="{{ phrase('delete')|for_attr }}"><i class="fa fa-trash-o" aria-hidden="true"></i></a>
</xf:if>
<xf:if is="$shout.canBan()">
<xf:if is="$isBanned">
<a href="{{ link('shoutbox/unban', '', {'user_id': $shout.shout_user_id}) }}" data-xf-click="overlay" title="{{ phrase('lift_ban')|for_attr }}"><i class="fa fa-minus-circle" aria-hidden="true"></i></a>
<xf:else />
<a href="{{ link('shoutbox/ban', '', {'user_id': $shout.shout_user_id}) }}" data-xf-click="overlay" title="{{ phrase('ban')|for_attr }}"><i class="fa fa-ban" aria-hidden="true"></i></a>
</xf:if>
</xf:if>
</li>
</xf:foreach>]]></template>
<template type="public" title="siropu_shoutbox_unban" version_id="1040070" version_string="1.4.0"><![CDATA[<xf:title>{{ phrase('lift_ban:') }} {$user.username}</xf:title>
<xf:form action="{{ link('shoutbox/unban', null, {'user_id': $user.user_id}) }}" class="block" ajax="true" data-force-flash-message="true">
<div class="block-container">
<div class="block-body">
<xf:inforow rowtype="confirm">
{{ phrase('please_confirm_that_you_want_to_lift_ban_on_following_user:') }}
<strong>{$user.username}</strong>
</xf:inforow>
</div>
<xf:submitrow submit="{{ phrase('lift_ban') }}" />
</div>
</xf:form>]]></template>
</templates>