feat: Add comprehensive documentation suite and reorganize project structure
- Created complete documentation in docs/ directory - Added PROJECT_OVERVIEW.md with feature highlights and getting started guide - Added ARCHITECTURE.md with system design and technical details - Added SECURITY.md with comprehensive security implementation guide - Added DEVELOPMENT.md with development workflows and best practices - Added DEPLOYMENT.md with production deployment instructions - Added API.md with complete REST API documentation - Added CONTRIBUTING.md with contribution guidelines - Added CHANGELOG.md with version history and migration notes - Reorganized all documentation files into docs/ directory for better organization - Updated README.md with proper documentation links and quick navigation - Enhanced project structure with professional documentation standards
This commit is contained in:
35
f_templates/tpl_backend/tpl_token/tpl_search_inner.tpl
Normal file
35
f_templates/tpl_backend/tpl_token/tpl_search_inner.tpl
Normal file
@@ -0,0 +1,35 @@
|
||||
<div class="search_holder_fe">
|
||||
<div id="sb-search-fe" class="sb-search-fe">
|
||||
<form name="file_search_form" id="file-search-form" method="get" action="">
|
||||
<input class="sb-search-input" placeholder="{lang_entry key="frontend.global.searchtext"}" type="text" value="{$smarty.get.sq|sanitize}" name="sq" id="sq" onclick="this.select()">
|
||||
<input class="sb-search-submit file-search" id="file-search-button" type="button" value="">
|
||||
<i class="icon icon-search no-display"></i>
|
||||
<span title="{lang_entry key="account.entry.search.users"}" rel="tooltip" class="sb-icon-search-fe icon-search"></span>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">{fetch file="f_scripts/be/js/uisearch.js"}</script>
|
||||
<script type="text/javascript">
|
||||
new UISearch(document.getElementById('sb-search-fe'));
|
||||
|
||||
$(document).ready(function(){ldelim}
|
||||
$("#sq").autocomplete({ldelim}
|
||||
showNoSuggestionNotice: true,
|
||||
type: "post",
|
||||
params: {ldelim}"t": "sub" {rdelim},
|
||||
serviceUrl: "?a=1&t=sub&do=autocomplete",
|
||||
onSearchStart: function() {ldelim}{rdelim},
|
||||
onSearchComplete: function(query, suggestion) {ldelim}{rdelim},
|
||||
onSelect: function (suggestion) {ldelim}
|
||||
if (typeof suggestion.data != 'undefined') {ldelim}
|
||||
var u = String(window.location);
|
||||
u = u.replace('&uk={$smarty.get.uk|sanitize}', '');
|
||||
|
||||
$("#custom-date-form").attr("action", u + '&uk='+suggestion.data);
|
||||
$("#custom-date-form").submit();
|
||||
{rdelim}
|
||||
{rdelim}
|
||||
{rdelim});
|
||||
$("#file-search-form").submit(function(e){ldelim}e.preventDefault();{rdelim});
|
||||
{rdelim});
|
||||
</script>
|
||||
308
f_templates/tpl_backend/tpl_token/tpl_tokengraphs.tpl
Normal file
308
f_templates/tpl_backend/tpl_token/tpl_tokengraphs.tpl
Normal file
@@ -0,0 +1,308 @@
|
||||
<link rel="stylesheet" type="text/css" href="{$styles_url_be}/affiliate.css">
|
||||
<style>
|
||||
{literal}
|
||||
.cbp-spmenu-push.vs-column.rg{margin-top: 25px;}
|
||||
.rev_earned{background:rgba(133, 187, 101, 1);}
|
||||
.rev_shared{background:rgba(101, 133, 187, 1);}
|
||||
.rev_total{background:rgba(155, 101, 187, 1);}
|
||||
.timer-rev{margin-bottom:5px;font-size:30px;}
|
||||
.dark #time-sort-filters, .dark #week-sort-filters{border-bottom: 1px solid #2e2e2e;}
|
||||
#time-sort-filters,#week-sort-filters{border-bottom:1px solid #f0f0f0;}
|
||||
.vs-column.rg .vs-column.fourths{margin-bottom:5px !important}
|
||||
{/literal}
|
||||
</style>
|
||||
<div class="container-off cbp-spmenu-push vs-column rg">
|
||||
{if $smarty.get.f eq "" or $smarty.get.f eq "week" or $smarty.get.f eq "month" or $smarty.get.f eq "year"}
|
||||
{assign var=ff value="{if $smarty.get.f eq ""}week{else}{$smarty.get.f|sanitize}{/if}"}
|
||||
<div class="vs-column sixths">
|
||||
<div class="rev_earned files_holder">
|
||||
<div class="counter_title">{lang_entry key="backend.sub.label.estimated"}</div>
|
||||
<div class="timer-rev">${$twearned}</div>
|
||||
<div class="clearfix"></div>
|
||||
<div class="small-timer small-timer-rev">{$twsubscriptions}</div>
|
||||
<div class="status active-status">{lang_entry key="backend.menu.token.purchases"}</div>
|
||||
<div class="small-inactive-timer small-inactive-timer-rev">{$twsubscribers}</div>
|
||||
<div class="status inactive-status">{lang_entry key="backend.menu.token.customers"}</div>
|
||||
<div class="close_but icon-times" rel-close="rev_total"></div>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="vs-column sixths">
|
||||
<div class="rev_shared files_holder">
|
||||
<div class="counter_title">{lang_entry key="backend.menu.token.purchased"}</div>
|
||||
<div class="timer-rev">{$twshared}</div>
|
||||
<div class="clearfix"></div>
|
||||
<div class="small-timer small-timer-rev">{$twsubscriptions}</div>
|
||||
<div class="status active-status">{lang_entry key="backend.menu.token.purchases"}</div>
|
||||
<div class="small-inactive-timer small-inactive-timer-rev">{$twsubscribers}</div>
|
||||
<div class="status inactive-status">{lang_entry key="backend.menu.token.customers"}</div>
|
||||
<div class="close_but icon-times" rel-close="rev_shared"></div>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="vs-column sixths">
|
||||
<div class="rev_total files_holder">
|
||||
<div class="counter_title">{lang_entry key="backend.sub.label.total.p"}</div>
|
||||
<div class="timer-rev">${$twtotal}</div>
|
||||
<div class="clearfix"></div>
|
||||
<div class="small-timer small-timer-rev">{$twsubscriptions}</div>
|
||||
<div class="status active-status">{lang_entry key="backend.menu.token.purchases"}</div>
|
||||
<div class="small-inactive-timer small-inactive-timer-rev">{$twsubscribers}</div>
|
||||
<div class="status inactive-status">{lang_entry key="backend.menu.token.customers"}</div>
|
||||
<div class="close_but icon-times" rel-close="rev_total"></div>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="vs-column sixths">
|
||||
<div class="rev_earned files_holder">
|
||||
<div class="counter_title">{lang_entry key="backend.sub.label.estimated"}</div>
|
||||
<div class="timer-rev">${$lwearned}</div>
|
||||
<div class="clearfix"></div>
|
||||
<div class="small-timer small-timer-rev">{$lwsubscriptions}</div>
|
||||
<div class="status active-status">{lang_entry key="backend.menu.token.purchases"}</div>
|
||||
<div class="small-inactive-timer small-inactive-timer-rev">{$lwsubscribers}</div>
|
||||
<div class="status inactive-status">{lang_entry key="backend.menu.token.customers"}</div>
|
||||
<div class="close_but icon-times" rel-close="rev_total"></div>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="vs-column sixths">
|
||||
<div class="rev_shared files_holder">
|
||||
<div class="counter_title">{lang_entry key="backend.menu.token.purchased"}</div>
|
||||
<div class="timer-rev">{$lwshared}</div>
|
||||
<div class="clearfix"></div>
|
||||
<div class="small-timer small-timer-rev">{$lwsubscriptions}</div>
|
||||
<div class="status active-status">{lang_entry key="backend.menu.token.purchases"}</div>
|
||||
<div class="small-inactive-timer small-inactive-timer-rev">{$lwsubscribers}</div>
|
||||
<div class="status inactive-status">{lang_entry key="backend.menu.token.customers"}</div>
|
||||
<div class="close_but icon-times" rel-close="rev_shared"></div>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="vs-column sixths fit">
|
||||
<div class="rev_total files_holder">
|
||||
<div class="counter_title">{lang_entry key="backend.sub.label.total.p"}</div>
|
||||
<div class="timer-rev">${$lwtotal}</div>
|
||||
<div class="clearfix"></div>
|
||||
<div class="small-timer small-timer-rev">{$lwsubscriptions}</div>
|
||||
<div class="status active-status">{lang_entry key="backend.menu.token.purchases"}</div>
|
||||
<div class="small-inactive-timer small-inactive-timer-rev">{$lwsubscribers}</div>
|
||||
<div class="status inactive-status">{lang_entry key="backend.menu.token.customers"}</div>
|
||||
<div class="close_but icon-times" rel-close="rev_total"></div>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="clearfix"></div><br>
|
||||
|
||||
<div class="vs-column half">
|
||||
<div class="block">
|
||||
<header class="Titles">
|
||||
<h1 class="Titles-main"><i class="icon-coin"></i> {if $smarty.get.y > 0}{lang_entry key="backend.token.dash.head.month.nr"}{$smarty.get.y|sanitize}{else}{if $smarty.get.m > 0}{lang_entry key="backend.token.dash.head.month.nr"}{$mn[{$smarty.get.m|sanitize}]}{else}{if $smarty.get.w > 0}{lang_entry key="backend.token.dash.head.week.nr"}{$smarty.get.w|sanitize}{else}{lang_entry key="backend.token.dash.head1.{$ff}"}{/if}{/if}{/if}</h1>
|
||||
<div class="filters-loading">Loading filters...</div>
|
||||
<div class="Titles-sub icheck-box no-display">
|
||||
<div class="vs-column full">
|
||||
<div class="filter-wrap">
|
||||
<input type="checkbox" name="this_week_filter" value="e" class="this-week-filter" checked="checked"><label>{lang_entry key="backend.sub.label.estimated"}</label>
|
||||
<input type="checkbox" name="this_week_filter" value="t" class="this-week-filter" checked="checked"><label>{lang_entry key="backend.menu.token.purchased"}</label>
|
||||
<input type="checkbox" name="this_week_filter" value="s" class="this-week-filter" checked="checked"><label>{lang_entry key="backend.sub.label.total.p"}</label>
|
||||
|
||||
<button class="button-grey search-button form-button save-button button-blue save-entry-button graph-update" id="this-week-uploads" type="button" value="1" onfocus="blur();">
|
||||
<span>{lang_entry key="frontend.global.apply"}</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<div class="clearfix"></div>
|
||||
<figure class="Chartjs-figure" id="chart-1-container"></figure>
|
||||
<ol class="Chartjs-legend" id="legend-1-container"></ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="vs-column half fit">
|
||||
<div class="block">
|
||||
<header class="Titles">
|
||||
<h1 class="Titles-main"><i class="icon-coin"></i> {if $smarty.get.y > 0}{lang_entry key="backend.token.dash.head.month.nr"}{$smarty.get.y-1|sanitize}{else}{if $smarty.get.m > 0}{lang_entry key="backend.token.dash.head.month.nr"}{$mn[{$smarty.get.m-1|sanitize}]}{else}{if $smarty.get.w > 0}{lang_entry key="backend.token.dash.head.week.nr"}{$smarty.get.w-1|sanitize}{else}{lang_entry key="backend.token.dash.head2.{$ff}"}{/if}{/if}{/if}</h1>
|
||||
<div class="filters-loading">Loading filters...</div>
|
||||
<div class="Titles-sub icheck-box no-display">
|
||||
<div class="vs-column full">
|
||||
<div class="filter-wrap">
|
||||
<input type="checkbox" name="last_week_filter" value="e" class="last-week-filter" checked="checked"><label>{lang_entry key="backend.sub.label.estimated"}</label>
|
||||
<input type="checkbox" name="last_week_filter" value="t" class="last-week-filter" checked="checked"><label>{lang_entry key="backend.menu.token.purchased"}</label>
|
||||
<input type="checkbox" name="last_week_filter" value="s" class="last-week-filter" checked="checked"><label>{lang_entry key="backend.sub.label.total.p"}</label>
|
||||
|
||||
<button class="button-grey search-button form-button save-button button-blue save-entry-button graph-update" id="last-week-uploads" type="button" value="1" onfocus="blur();">
|
||||
<span>{lang_entry key="frontend.global.apply"}</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<div class="clearfix"></div>
|
||||
<figure class="Chartjs-figure" id="chart-2-container"></figure>
|
||||
<ol class="Chartjs-legend" id="legend-2-container"></ol>
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearfix"></div>
|
||||
<br>
|
||||
<div class="vs-column half">
|
||||
<div class="block">
|
||||
<header class="Titles">
|
||||
<h1 class="Titles-main"><i class="icon-cart"></i> {if $smarty.get.y > 0}{lang_entry key="backend.token.dash.subs.month.nr"}{$smarty.get.y|sanitize}{else}{if $smarty.get.m > 0}{lang_entry key="backend.token.dash.subs.month.nr"}{$mn[{$smarty.get.m|sanitize}]}{else}{if $smarty.get.w > 0}{lang_entry key="backend.token.dash.subs.week.nr"}{$smarty.get.w|sanitize}{else}{lang_entry key="backend.token.dash.head3.{$ff}"}{/if}{/if}{/if}</h1>
|
||||
</header>
|
||||
<div class="clearfix"></div>
|
||||
<figure class="Chartjs-figure" id="chart-1a-container"></figure>
|
||||
<ol class="Chartjs-legend" id="legend-1a-container"></ol>
|
||||
</div>
|
||||
</div>
|
||||
<div class="vs-column half fit">
|
||||
<div class="block">
|
||||
<header class="Titles">
|
||||
<h1 class="Titles-main"><i class="icon-cart"></i> {if $smarty.get.y > 0}{lang_entry key="backend.token.dash.subs.month.nr"}{$smarty.get.y-1|sanitize}{else}{if $smarty.get.m > 0}{lang_entry key="backend.token.dash.subs.month.nr"}{$mn[{$smarty.get.m-1|sanitize}]}{else}{if $smarty.get.w > 0}{lang_entry key="backend.token.dash.subs.week.nr"}{$smarty.get.w-1|sanitize}{else}{lang_entry key="backend.token.dash.head4.{$ff}"}{/if}{/if}{/if}</h1>
|
||||
</header>
|
||||
<div class="clearfix"></div>
|
||||
<figure class="Chartjs-figure" id="chart-2a-container"></figure>
|
||||
<ol class="Chartjs-legend" id="legend-2a-container"></ol>
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearfix"></div>
|
||||
{else}
|
||||
<div class="vs-column half">
|
||||
<div class="block">
|
||||
<header class="Titles">
|
||||
<h1 class="Titles-main"><i class="icon-users"></i> {lang_entry key="backend.dashboard.members.week"}</h1>
|
||||
<div class="Titles-sub">
|
||||
</div>
|
||||
</header>
|
||||
<figure class="Chartjs-figure" id="chart-4-container"></figure>
|
||||
<ol class="Chartjs-legend" id="legend-4-container"></ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="vs-column half fit">
|
||||
<div class="block">
|
||||
<header class="Titles">
|
||||
<h1 class="Titles-main"><i class="iconBe-coin"></i> {lang_entry key="backend.dashboard.earn.year"}</h1>
|
||||
<div class="Titles-sub">
|
||||
</div>
|
||||
</header>
|
||||
<figure class="Chartjs-figure" id="chart-8-container"></figure>
|
||||
<ol class="Chartjs-legend" id="legend-8-container"></ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="dash-dn">
|
||||
<div class="vs-column thirds stats">
|
||||
<div class="block">
|
||||
<header class="Titles">
|
||||
<h1 class="Titles-main"><i class="icon-live"></i> {lang_entry key="backend.dashboard.stats.l"} {if $lcount[0] eq 0}<span class="small-text">{lang_entry key="backend.dashboard.stats.none"}</span>{/if}</h1>
|
||||
<div class="Titles-sub">
|
||||
</div>
|
||||
</header>
|
||||
<div class="vs-column half">
|
||||
<figure class="Chartjs-figure" id="chart-11-container"></figure>
|
||||
<ol class="Chartjs-legend" id="legend-11-container"></ol>
|
||||
</div>
|
||||
<div class="vs-column half fit">
|
||||
<figure class="Chartjs-figure" id="chart-11a-container"></figure>
|
||||
<ol class="Chartjs-legend" id="legend-11a-container"></ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="vs-column thirds stats">
|
||||
<div class="block">
|
||||
<header class="Titles">
|
||||
<h1 class="Titles-main">
|
||||
<i class="icon-video"></i> {lang_entry key="backend.dashboard.stats.v"}
|
||||
{if $vcount[0] eq 0}<span class="small-text">{lang_entry key="backend.dashboard.stats.none"}</span>{/if}
|
||||
</h1>
|
||||
<div class="Titles-sub"></div>
|
||||
</header>
|
||||
<div class="vs-column half">
|
||||
<figure class="Chartjs-figure" id="chart-3-container"></figure>
|
||||
<ol class="Chartjs-legend" id="legend-3-container"></ol>
|
||||
</div>
|
||||
<div class="vs-column half fit">
|
||||
<figure class="Chartjs-figure" id="chart-3a-container"></figure>
|
||||
<ol class="Chartjs-legend" id="legend-3a-container"></ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="vs-column thirds stats fit">
|
||||
<div class="block">
|
||||
<header class="Titles">
|
||||
<h1 class="Titles-main"><i class="icon-image"></i> {lang_entry key="backend.dashboard.stats.i"} {if $icount[0] eq 0}<span class="small-text">{lang_entry key="backend.dashboard.stats.none"}</span>{/if}</h1>
|
||||
<div class="Titles-sub">
|
||||
</div>
|
||||
</header>
|
||||
<div class="vs-column half">
|
||||
<figure class="Chartjs-figure" id="chart-6-container"></figure>
|
||||
<ol class="Chartjs-legend" id="legend-6-container"></ol>
|
||||
</div>
|
||||
<div class="vs-column half fit">
|
||||
<figure class="Chartjs-figure" id="chart-6a-container"></figure>
|
||||
<ol class="Chartjs-legend" id="legend-6a-container"></ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="vs-column thirds stats">
|
||||
<div class="block">
|
||||
<header class="Titles">
|
||||
<h1 class="Titles-main"><i class="icon-headphones"></i> {lang_entry key="backend.dashboard.stats.a"} {if $acount[0] eq 0}<span class="small-text">{lang_entry key="backend.dashboard.stats.none"}</span>{/if}</h1>
|
||||
<div class="Titles-sub">
|
||||
</div>
|
||||
</header>
|
||||
<div class="vs-column half">
|
||||
<figure class="Chartjs-figure" id="chart-5-container"></figure>
|
||||
<ol class="Chartjs-legend" id="legend-5-container"></ol>
|
||||
</div>
|
||||
<div class="vs-column half fit">
|
||||
<figure class="Chartjs-figure" id="chart-5a-container"></figure>
|
||||
<ol class="Chartjs-legend" id="legend-5a-container"></ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="vs-column thirds stats">
|
||||
<div class="block">
|
||||
<header class="Titles">
|
||||
<h1 class="Titles-main"><i class="icon-file"></i> {lang_entry key="backend.dashboard.stats.d"} {if $dcount[0] eq 0}<span class="small-text">{lang_entry key="backend.dashboard.stats.none"}</span>{/if}</h1>
|
||||
<div class="Titles-sub">
|
||||
</div>
|
||||
</header>
|
||||
<div class="vs-column half">
|
||||
<figure class="Chartjs-figure" id="chart-7-container"></figure>
|
||||
<ol class="Chartjs-legend" id="legend-7-container"></ol>
|
||||
</div>
|
||||
<div class="vs-column half fit">
|
||||
<figure class="Chartjs-figure" id="chart-7a-container"></figure>
|
||||
<ol class="Chartjs-legend" id="legend-7a-container"></ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="vs-column thirds fit stats">
|
||||
<div class="block">
|
||||
<header class="Titles">
|
||||
<h1 class="Titles-main"><i class="icon-blog"></i> {lang_entry key="backend.dashboard.stats.b"} {if $bcount[0] eq 0}<span class="small-text">{lang_entry key="backend.dashboard.stats.none"}</span>{/if}</h1>
|
||||
<div class="Titles-sub">
|
||||
</div>
|
||||
</header>
|
||||
<div class="vs-column half">
|
||||
<figure class="Chartjs-figure" id="chart-9-container"></figure>
|
||||
<ol class="Chartjs-legend" id="legend-9-container"></ol>
|
||||
</div>
|
||||
<div class="vs-column half fit">
|
||||
<figure class="Chartjs-figure" id="chart-9a-container"></figure>
|
||||
<ol class="Chartjs-legend" id="legend-9a-container"></ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearfix"></div>
|
||||
{/if}
|
||||
</div>
|
||||
84
f_templates/tpl_backend/tpl_token/tpl_tokens.tpl
Normal file
84
f_templates/tpl_backend/tpl_token/tpl_tokens.tpl
Normal file
@@ -0,0 +1,84 @@
|
||||
<div class="container cbp-spmenu-push">
|
||||
<link rel="stylesheet" type="text/css" href="{$styles_url_be}/affiliate.css">
|
||||
<style id="be-affiliate-style">
|
||||
.tabs nav{ldelim}text-align:left{rdelim}
|
||||
.tabs-style-line nav ul{ldelim}display:flex{rdelim}
|
||||
.u-chart {ldelim}width:100%;min-height:400px;{rdelim}
|
||||
#video_table_sort_div.u-chart,#image_table_sort_div.u-chart,#audio_table_sort_div.u-chart,#document_table_sort_div.u-chart,#blog_table_sort_div.u-chart {ldelim}min-height:auto;{rdelim}
|
||||
.u-chart g text{ldelim}font-size:14px;font-family:Ubuntu;line-height:50px;{rdelim}
|
||||
.google-visualization-table-table td, .google-visualization-table-th {ldelim}font-family:Ubuntu;{rdelim}
|
||||
h3.content-filter{ldelim}width:10%;color:#888;font-size:14px;{rdelim}
|
||||
.content-filters li{ldelim}float:left;font-size:14px;margin-left:10px;line-height:47px{rdelim}
|
||||
.content-filters i{ldelim}font-size:11px;{rdelim}
|
||||
/*.content-filters a{ldelim}color:#888;{rdelim}*/
|
||||
.filter-text{ldelim}font-size:14px;font-weight:normal;margin-left:10px;padding:0px 0;display:inline-block{rdelim}
|
||||
.content-filters {ldelim}vertical-align: middle;display: inline-block;line-height: 47px;margin-right:10px;{rdelim}
|
||||
.gapi-analytics-data-chart-styles-table-td{ldelim}font-size:14px !important;{rdelim}
|
||||
h3.content-title{ldelim}width: 40%;{rdelim}
|
||||
.view-mode-filters{ldelim}margin-right:0px;{rdelim}
|
||||
.tfb{ldelim}font-weight: bold !important;{rdelim}
|
||||
.sb-search-input{ldelim}border:0 !important;{rdelim}
|
||||
svg > g:last-child > g:last-child {ldelim}pointer-events: none;{rdelim}
|
||||
.loadmask-msg div:before{ldelim}font-size: 14px;{rdelim}
|
||||
#view-limits input{ldelim}max-width: 50px; padding: 0 5px;margin-bottom: 0; height: 32px; margin-right: 10px; margin-top: 7px;{rdelim}
|
||||
#lb-wrapper .responsive-accordion-panel {ldelim}display: flex;{rdelim}
|
||||
.fancybox-inner #lb-wrapper .responsive-accordion-panel {ldelim}display: block;{rdelim}
|
||||
#lb-wrapper {ldelim}position: relative; padding:0; display: inline-block; background-color: #ebeef1; width: 100%;{rdelim}
|
||||
.fancybox-inner #lb-wrapper {ldelim}padding: 0 20px; background-color: #fff;{rdelim}
|
||||
#lb-wrapper h3.content-title{ldelim}width:auto;font-size: 16px;{rdelim}
|
||||
.fancybox-inner #lb-wrapper h3.content-title{ldelim}width: 95%;font-size: 16px;{rdelim}
|
||||
#lb-wrapper .open-close-reports {ldelim}position:absolute;right:0;top:0;display: inline-block; float: right; margin-bottom: 10px;margin-top: 10px;{rdelim}
|
||||
#lb-wrapper .greyed-out{ldelim}color: darkgrey; margin-left: 10px; font-size: 14px;{rdelim}
|
||||
.fancybox-inner #lb-wrapper .greyed-out{ldelim}color: #999; margin-left: 0px;{rdelim}
|
||||
#lb-wrapper .rep-info{ldelim}color: black; margin-left: 10px;{rdelim}
|
||||
#lb-wrapper .rep-amt{ldelim}color: cadetblue; margin-left: 10px;{rdelim}
|
||||
.views-details li {ldelim}margin-left: 9px; font-size: 14px;{rdelim}
|
||||
.views-details li i{ldelim}margin-right: 10px;{rdelim}
|
||||
.err-red, .conf-green {ldelim}font-size: 14px;{rdelim}
|
||||
.err-red {ldelim}color:red;{rdelim}
|
||||
.conf-green {ldelim}color:green;{rdelim}
|
||||
.tabs nav ul, .content-wrap section, .tabs-style-topline {ldelim}max-width: none;{rdelim}
|
||||
.content-current ul.responsive-accordion:first-child{ldelim}margin-top: 10px;{rdelim}
|
||||
.tabs-style-topline nav li.tab-current a{ldelim}background-color: #fff;{rdelim}
|
||||
.tabs-style-topline nav a span {ldelim}font-size: 13px;{rdelim}
|
||||
#section-paid, #section-unpaid, #section-all {ldelim}min-height: 100px;{rdelim}
|
||||
#info-text{ldelim}position: absolute; top: 13px; font-size: 15px;{rdelim}
|
||||
.r-image{ldelim}max-width: 70%; display:inline-block; height: auto;{rdelim}
|
||||
.views-details.views-thumbs{ldelim}float: left;display: inline-block; width: 60%;{rdelim}
|
||||
.backend_tpl_subscriber .expand-entry {ldelim}margin-top: 15px;{rdelim}
|
||||
.dark #lb-wrapper .rep-info{ldelim}color:#d0d0d0;{rdelim}
|
||||
.dark .sb-search-fe {ldelim}border: 1px solid #000;{rdelim}
|
||||
.dark .sb-icon-search-fe {ldelim}border: 0px solid #303030; background: #111;{rdelim}
|
||||
.dark .tabs-style-topline nav li.tab-current a{ldelim}background-color: #111;{rdelim}
|
||||
.dark #lb-wrapper {ldelim}background-color: transparent{rdelim}
|
||||
.toggle-all-filters {ldelim}display: inline-block;margin-top: 20px;margin-right: 15px;cursor:pointer;display: none;{rdelim}
|
||||
.mt10{ldelim}margin-top:10px;{rdelim}
|
||||
.dark #time-sort-filters, .dark #week-sort-filters { border-bottom: 1px solid #2e2e2e; }
|
||||
#time-sort-filters, #week-sort-filters { border-bottom: 1px solid #f0f0f0;border-radius: 7px; margin-top: 15px }
|
||||
#search-boxes{ldelim}float:right{rdelim}
|
||||
{literal}@media (max-width:960px){.views-details.views-thumbs{width: 80%;}}{/literal}
|
||||
{literal}@media (max-width:1310px){#sb-search-fe,#sb-search-be{margin-right:10px;}#search-boxes-off{width: 100%; display: inline-block; margin-top:-7px; margin-bottom:3px; float: none;}}{/literal}
|
||||
{literal}@media (max-width:960px){#lb-wrapper .rep-wrap{display: block; width: 100%;margin-top: -20px;}#lb-wrapper .greyed-out{margin-left: 30px;}}{/literal}
|
||||
{literal}@media (max-width:920px){.sb-search-fe.sb-search-open{width: calc(100% - 20px)}#search-boxes .inner-search{width:100%}#sb-search-fe{margin-bottom:auto;}.inner-search,.search_holder_fe{width:auto}}{/literal}
|
||||
{literal}@media (max-width:860px){.content-filters li{line-height:30px}#time-sort-filters h3.content-title.content-filter{display: none}#search-boxes{width: 100%;margin-bottom:10px;}#time-sort-filters section.filter{float: left;}.toggle-all-filters{display: block;}section.filter,section.inner-search,#search-boxes{display:none;}h3.content-title{width: 100%; display: inline-block;}#search-boxes{margin-top:0}a[rel-def-off="1"]{display:none;}}{/literal}
|
||||
@media (max-width:640px){ldelim}
|
||||
#info-text{ldelim}font-size:13px;{rdelim}
|
||||
.entry-left{ldelim}float:left;width:100%;margin-top:-10px;{rdelim}
|
||||
.entry-right{ldelim}float:left;width:100%;margin-top:-25px;{rdelim}
|
||||
#v-tabs .responsive-accordion-panel .vs-column.half{ldelim}width: 100%;display: inline-block;{rdelim}
|
||||
#v-tabs .responsive-accordion-panel, #lb-wrapper .responsive-accordion-panel{ldelim}display: flex;{rdelim}
|
||||
#v-tabs .responsive-accordion-panel .vs-column.half.fit{ldelim}margin-top: 7px;{rdelim}
|
||||
#lb-wrapper h3.content-title{ldelim}white-space: nowrap;overflow: hidden;text-overflow: ellipsis;width:90%{rdelim}
|
||||
{rdelim}
|
||||
{literal}@media (max-width:470px){#sb-search-be{margin-right:10px}}{/literal}
|
||||
</style>
|
||||
<script type="text/javascript">{include file="f_scripts/be/js/settings-accordion.js"}</script>
|
||||
{$html_payouts}
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
{if $smarty.get.rg eq ""}
|
||||
{include file="tpl_backend/tpl_token/tpl_tokens_js.tpl"}
|
||||
{else}
|
||||
{include file="tpl_backend/tpl_token/tpl_tokensrg_js.tpl"}
|
||||
{/if}
|
||||
</script>
|
||||
149
f_templates/tpl_backend/tpl_token/tpl_tokens_js.tpl
Normal file
149
f_templates/tpl_backend/tpl_token/tpl_tokens_js.tpl
Normal file
@@ -0,0 +1,149 @@
|
||||
$(document).ready(function() {ldelim}
|
||||
{if $smarty.get.a ne ""}$("#chart-views-container").mask(""); $("#chart-line-container").mask(""); $("#device-pie-container").mask(""); $("#timeline-container").mask("");
|
||||
{elseif $smarty.get.g ne ""}$("#geo-container").mask(""); $("#country-container").mask(""); $("#pagetitle-container").mask(""); $("#country-search-load").mask(""); $("#continent-search-load").mask(""); $("#country-search-dots").mask(""); $("#continent-search-dots").mask("");
|
||||
{elseif $smarty.get.rp ne ""}
|
||||
{/if}
|
||||
|
||||
$("#view-limits").submit(function(e){ldelim}
|
||||
e.preventDefault();
|
||||
|
||||
l1 = parseInt($("#view-limit-min-off").val());
|
||||
l2 = parseInt($("#view-limit-max-off").val());
|
||||
|
||||
$("#view-limit-min").val(l1);
|
||||
$("#view-limit-max").val(l2);
|
||||
|
||||
$("#custom-date-form").submit();
|
||||
{rdelim});
|
||||
$(".view-mode-type").click(function(){ldelim}
|
||||
t = $(this);
|
||||
type = t.attr("rel-t");
|
||||
u = '{$backend_url}/{href_entry key="be_tokens"}?{if $smarty.get.a ne ""}a={$smarty.get.a|sanitize}{elseif $smarty.get.g ne ""}g={$smarty.get.g|sanitize}{elseif $smarty.get.rp ne ""}rp={$smarty.get.rp|sanitize}{/if}&t='+type{if $smarty.get.f ne ""}+'&f={$smarty.get.f|sanitize}'{/if}{if $smarty.get.g ne ""}+'&c={if $smarty.get.c ne ""}{$smarty.get.c|sanitize}{elseif $smarty.post.custom_country ne ""}{$smarty.post.custom_country|sanitize}{else}xx{/if}{if $smarty.get.r ne ""}&r={$smarty.get.r|sanitize}{/if}'{/if};
|
||||
u+= '{if $smarty.get.uk ne "" and $smarty.get.fk eq ""}&uk={$smarty.get.uk|sanitize}{/if}';
|
||||
u+= '{if $smarty.get.tab ne ""}&tab={$smarty.get.tab|sanitize}{/if}';
|
||||
|
||||
$(".view-mode-type").removeClass("active"); t.addClass("active");
|
||||
|
||||
if ($(".content-filters li a.active").attr("rel-t") == "date" || $(".content-filters li a.active").attr("rel-t") == "range") {ldelim}
|
||||
$('#custom-date-form').attr('action', u).submit();
|
||||
{rdelim} else {ldelim}
|
||||
window.location = u;
|
||||
{rdelim}
|
||||
{rdelim});
|
||||
|
||||
$("a.filter-tag").click(function(){ldelim}
|
||||
t = $(this);
|
||||
type = t.attr("rel-t");
|
||||
u = String(window.location);
|
||||
rep = '';
|
||||
switch (type) {ldelim}
|
||||
case "f":
|
||||
rep = '{if $smarty.get.f ne ""}&f={$smarty.get.f|sanitize}{/if}';
|
||||
break;
|
||||
case "r":
|
||||
rep = '{if $smarty.get.r ne ""}&r={$smarty.get.r|sanitize}{/if}';
|
||||
break;
|
||||
case "c":
|
||||
rep = '{if $smarty.get.c ne "" and $smarty.get.c ne "xx"}&c={$smarty.get.c|sanitize}{/if}';
|
||||
break;
|
||||
case "fk":
|
||||
rep = '{if $smarty.get.fk ne ""}&fk={$smarty.get.fk|sanitize}{/if}';
|
||||
break;
|
||||
case "uk":
|
||||
rep = '{if $smarty.get.uk ne ""}&uk={$smarty.get.uk|sanitize}{/if}';
|
||||
break;
|
||||
{rdelim}
|
||||
if (rep != '') {ldelim}
|
||||
u = u.replace(rep, '');
|
||||
|
||||
if ($(".content-filters li a.active").attr("rel-t") == "date" || $(".content-filters li a.active").attr("rel-t") == "range") {ldelim}
|
||||
$('#custom-date-form').attr('action', u).submit();
|
||||
{rdelim} else {ldelim}
|
||||
window.location = u;
|
||||
{rdelim}
|
||||
{rdelim}
|
||||
{rdelim});
|
||||
|
||||
$(".content-filters li a").click(function(){ldelim}
|
||||
t = $(this);
|
||||
type = t.attr("rel-t");
|
||||
ft = $(".view-mode-type.active").attr("rel-t");
|
||||
|
||||
$("#filter-section-"+(ft == 'document' ? 'doc' : ft)+" .content-filters li a").removeClass("active"); t.addClass("active");
|
||||
|
||||
switch (type) {ldelim}
|
||||
case "today":
|
||||
case "yesterday":
|
||||
case "thisweek":
|
||||
case "lastweek":
|
||||
case "thismonth":
|
||||
case "lastmonth":
|
||||
case "thisyear":
|
||||
case "lastyear":
|
||||
case "last3months":
|
||||
case "last6months":
|
||||
window.location = '{$backend_url}/{href_entry key="be_tokens"}?{if $smarty.get.a ne ""}a={$smarty.get.a|sanitize}{elseif $smarty.get.g ne ""}g={$smarty.get.g|sanitize}{elseif $smarty.get.rp ne ""}rp={$smarty.get.rp|sanitize}{/if}&t='+$('.view-mode-type.active').attr('rel-t')+'&f='+type{if $smarty.get.g ne ""}+'&c={if $smarty.get.c ne ""}{$smarty.get.c|sanitize}{elseif $smarty.post.custom_country ne ""}{$smarty.post.custom_country|sanitize}{else}xx{/if}{if $smarty.get.r ne ""}&r={$smarty.get.r|sanitize}{/if}'{/if}{if $smarty.get.fk ne ""}+'&fk={$smarty.get.fk|sanitize}'{/if}{if $smarty.get.uk ne ""}+'&uk={$smarty.get.uk|sanitize}'{/if}{if $smarty.get.tab ne ""}+'&tab={$smarty.get.tab|sanitize}'{/if};
|
||||
break;
|
||||
case "date":
|
||||
$('.rpick{$file_type}').hide();
|
||||
dp.open();
|
||||
break;
|
||||
case "range":
|
||||
dp.close();
|
||||
$('.rpick{$file_type}').toggle();
|
||||
break;
|
||||
{rdelim}
|
||||
{rdelim});
|
||||
|
||||
function setrdate(dp){ldelim}
|
||||
var d = new Date(dp.state.start);
|
||||
var ds = d.getFullYear() + '-' + ("0"+(d.getMonth()+1)).slice(-2) + '-' + ("0" + d.getDate()).slice(-2);
|
||||
$('#custom-date-start').val(ds);
|
||||
|
||||
d = new Date(dp.state.end);
|
||||
var de = d.getFullYear() + '-' + ("0"+(d.getMonth()+1)).slice(-2) + '-' + ("0" + d.getDate()).slice(-2);
|
||||
$('#custom-date-end').val(de);
|
||||
|
||||
var u = '{$backend_url}/{href_entry key="be_tokens"}?{if $smarty.get.a ne ""}a={$smarty.get.a|sanitize}{elseif $smarty.get.g ne ""}g={$smarty.get.g|sanitize}{elseif $smarty.get.rp ne ""}rp={$smarty.get.rp|sanitize}{/if}&t='+$('.view-mode-type.active').attr('rel-t')+'&f=range';
|
||||
u += '{if $smarty.get.g ne ""}&c={if $smarty.get.c ne ""}{$smarty.get.c|sanitize}{elseif $smarty.post.custom_country ne ""}{$smarty.post.custom_country|sanitize}{else}xx{/if}{if $smarty.get.r ne ""}&r={$smarty.get.r|sanitize}{/if}{/if}';
|
||||
u += '{if $smarty.get.fk ne ""}&fk={$smarty.get.fk|sanitize}{/if}';
|
||||
u += '{if $smarty.get.uk ne "" and $smarty.get.fk eq ""}&uk={$smarty.get.uk|sanitize}{/if}';
|
||||
u += '{if $smarty.get.tab ne ""}&tab={$smarty.get.tab|sanitize}{/if}';
|
||||
|
||||
if (dp.state.end) {ldelim}
|
||||
$('#custom-date').val("");
|
||||
$('#custom-date-form').attr('action', u).submit();
|
||||
{rdelim}
|
||||
{rdelim}
|
||||
|
||||
function setdate(datestring){ldelim}
|
||||
var d = new Date(datestring);
|
||||
var ds = d.getFullYear() + '-' + ("0"+(d.getMonth()+1)).slice(-2) + '-' + ("0" + d.getDate()).slice(-2);
|
||||
var u = '{$backend_url}/{href_entry key="be_tokens"}?{if $smarty.get.a ne ""}a={$smarty.get.a|sanitize}{elseif $smarty.get.g ne ""}g={$smarty.get.g|sanitize}{elseif $smarty.get.rp ne ""}rp={$smarty.get.rp|sanitize}{/if}&t='+$('.view-mode-type.active').attr('rel-t')+'&f=date';
|
||||
u += '{if $smarty.get.g ne ""}&c={if $smarty.get.c ne ""}{$smarty.get.c|sanitize}{elseif $smarty.post.custom_country ne ""}{$smarty.post.custom_country|sanitize}{else}xx{/if}{if $smarty.get.r ne ""}&r={$smarty.get.r|sanitize}{/if}{/if}';
|
||||
u += '{if $smarty.get.fk ne ""}&fk={$smarty.get.fk|sanitize}{/if}';
|
||||
u += '{if $smarty.get.uk ne "" and $smarty.get.fk eq ""}&uk={$smarty.get.uk|sanitize}{/if}';
|
||||
u += '{if $smarty.get.tab ne ""}&tab={$smarty.get.tab|sanitize}{/if}';
|
||||
|
||||
$('#custom-date-start').val("");
|
||||
$('#custom-date-end').val("");
|
||||
$('#custom-date').val(ds);
|
||||
$('#custom-date-form').attr('action', u).submit();
|
||||
{rdelim}
|
||||
function setopen(datestring){ldelim}
|
||||
$('.country-select .flag-dropdown').css({ldelim}'z-index':'0'{rdelim});
|
||||
{rdelim}
|
||||
function setclose(datestring){ldelim}
|
||||
$('.country-select .flag-dropdown').css({ldelim}'z-index':'auto'{rdelim});
|
||||
{rdelim}
|
||||
|
||||
dp = TinyDatePicker('.dpick{$file_type}', {ldelim}mode: 'dp-below'{if $smarty.post.custom_date ne ""},hilightedDate:'{$smarty.post.custom_date|sanitize}'{/if}{rdelim});
|
||||
dp.on({ldelim} open: () => setopen(), close: () => setclose(), select: (_, dp) => setdate(dp.state.selectedDate) {rdelim});
|
||||
|
||||
rp = DateRangePicker.DateRangePicker('.rpick{$file_type}', {ldelim}mode: 'dp-below'{rdelim});
|
||||
rp.on('statechange', (_, rp) => setrdate(rp));
|
||||
|
||||
const root = document.querySelector('.rpickoff{$file_type}');
|
||||
root.addEventListener('focusout', function() {ldelim}{rdelim});
|
||||
root.addEventListener('focus', function() {ldelim}{rdelim});
|
||||
{rdelim});
|
||||
83
f_templates/tpl_backend/tpl_token/tpl_tokensrg_js.tpl
Normal file
83
f_templates/tpl_backend/tpl_token/tpl_tokensrg_js.tpl
Normal file
@@ -0,0 +1,83 @@
|
||||
$(document).ready(function() {ldelim}
|
||||
{if $smarty.get.a ne ""}$("#chart-views-container").mask(""); $("#chart-line-container").mask(""); $("#device-pie-container").mask(""); $("#timeline-container").mask("");
|
||||
{elseif $smarty.get.g ne ""}$("#geo-container").mask(""); $("#country-container").mask(""); $("#pagetitle-container").mask(""); $("#country-search-load").mask(""); $("#continent-search-load").mask(""); $("#country-search-dots").mask(""); $("#continent-search-dots").mask("");
|
||||
{elseif $smarty.get.rp ne ""}
|
||||
{/if}
|
||||
|
||||
$("#view-limits").submit(function(e){ldelim}
|
||||
e.preventDefault();
|
||||
|
||||
l1 = parseInt($("#view-limit-min-off").val());
|
||||
l2 = parseInt($("#view-limit-max-off").val());
|
||||
|
||||
$("#view-limit-min").val(l1);
|
||||
$("#view-limit-max").val(l2);
|
||||
|
||||
$("#custom-date-form").submit();
|
||||
{rdelim});
|
||||
$(".view-mode-type").click(function(){ldelim}
|
||||
t = $(this);
|
||||
type = t.attr("rel-t");
|
||||
u = '{$backend_url}/{href_entry key="be_tokens"}?{if $smarty.get.a ne ""}a={$smarty.get.a|sanitize}{elseif $smarty.get.g ne ""}g={$smarty.get.g|sanitize}{elseif $smarty.get.rp ne ""}rp={$smarty.get.rp|sanitize}{/if}&t='+type{if $smarty.get.f ne ""}+'&f={$smarty.get.f|sanitize}'{/if}{if $smarty.get.g ne ""}+'&c={if $smarty.get.c ne ""}{$smarty.get.c|sanitize}{elseif $smarty.post.custom_country ne ""}{$smarty.post.custom_country|sanitize}{else}xx{/if}{if $smarty.get.r ne ""}&r={$smarty.get.r|sanitize}{/if}'{/if};
|
||||
u+= '{if $smarty.get.uk ne "" and $smarty.get.fk eq ""}&uk={$smarty.get.uk|sanitize}{/if}';
|
||||
u+= '{if $smarty.get.tab ne ""}&tab={$smarty.get.tab|sanitize}{/if}';
|
||||
|
||||
$(".view-mode-type").removeClass("active"); t.addClass("active");
|
||||
|
||||
if ($(".content-filters li a.active").attr("rel-t") == "date" || $(".content-filters li a.active").attr("rel-t") == "range") {ldelim}
|
||||
$('#custom-date-form').attr('action', u).submit();
|
||||
{rdelim} else {ldelim}
|
||||
window.location = u;
|
||||
{rdelim}
|
||||
{rdelim});
|
||||
|
||||
$("a.filter-tag").click(function(){ldelim}
|
||||
t = $(this);
|
||||
type = t.attr("rel-t");
|
||||
u = String(window.location);
|
||||
rep = '';
|
||||
switch (type) {ldelim}
|
||||
case "f":
|
||||
rep = '{if $smarty.get.f ne ""}&t=sub&f={$smarty.get.f|sanitize}{/if}{if $smarty.get.w ne ""}&w={$smarty.get.w|sanitize}{/if}{if $smarty.get.m ne ""}&m={$smarty.get.m|sanitize}{/if}{if $smarty.get.y ne ""}&y={$smarty.get.y|sanitize}{/if}';
|
||||
break;
|
||||
case "r":
|
||||
rep = '{if $smarty.get.r ne ""}&r={$smarty.get.r|sanitize}{/if}';
|
||||
break;
|
||||
case "c":
|
||||
rep = '{if $smarty.get.c ne "" and $smarty.get.c ne "xx"}&c={$smarty.get.c|sanitize}{/if}';
|
||||
break;
|
||||
case "fk":
|
||||
rep = '{if $smarty.get.fk ne ""}&fk={$smarty.get.fk|sanitize}{/if}';
|
||||
break;
|
||||
case "uk":
|
||||
rep = '{if $smarty.get.uk ne ""}&uk={$smarty.get.uk|sanitize}{/if}';
|
||||
break;
|
||||
{rdelim}
|
||||
if (rep != '') {ldelim}
|
||||
u = u.replace(rep, '');
|
||||
|
||||
if ($(".content-filters li a.active").attr("rel-t") == "date" || $(".content-filters li a.active").attr("rel-t") == "range") {ldelim}
|
||||
$('#custom-date-form').attr('action', u).submit();
|
||||
{rdelim} else {ldelim}
|
||||
window.location = u;
|
||||
{rdelim}
|
||||
{rdelim}
|
||||
{rdelim});
|
||||
|
||||
$(".content-filters li a").click(function(){ldelim}
|
||||
t = $(this);
|
||||
type = t.attr("rel-t");
|
||||
ft = $(".view-mode-type.active").attr("rel-t");
|
||||
|
||||
$("#filter-section-"+(ft == 'document' ? 'doc' : ft)+" .content-filters li a").removeClass("active"); t.addClass("active");
|
||||
|
||||
switch (type) {ldelim}
|
||||
case "week":
|
||||
case "month":
|
||||
case "year":
|
||||
window.location = '{$backend_url}/{href_entry key="be_tokens"}?{if $smarty.get.a ne ""}a={$smarty.get.a|sanitize}{elseif $smarty.get.g ne ""}g={$smarty.get.g|sanitize}{elseif $smarty.get.rg ne ""}rg=1{/if}&t='+$('.view-mode-type.active').attr('rel-t')+'&f='+type{if $smarty.get.g ne ""}+'&c={if $smarty.get.c ne ""}{$smarty.get.c|sanitize}{elseif $smarty.post.custom_country ne ""}{$smarty.post.custom_country|sanitize}{else}xx{/if}{if $smarty.get.r ne ""}&r={$smarty.get.r|sanitize}{/if}'{/if}{if $smarty.get.fk ne ""}+'&fk={$smarty.get.fk|sanitize}'{/if}{if $smarty.get.uk ne ""}+'&uk={$smarty.get.uk|sanitize}'{/if}{if $smarty.get.tab ne ""}+'&tab={$smarty.get.tab|sanitize}'{/if};
|
||||
break;
|
||||
{rdelim}
|
||||
{rdelim});
|
||||
|
||||
{rdelim});
|
||||
Reference in New Issue
Block a user