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:
1
f_templates/tpl_frontend/tpl_subscriber/subdashboard.js
Normal file
1
f_templates/tpl_frontend/tpl_subscriber/subdashboard.js
Normal file
File diff suppressed because one or more lines are too long
84
f_templates/tpl_frontend/tpl_subscriber/tpl_overview.tpl
Normal file
84
f_templates/tpl_frontend/tpl_subscriber/tpl_overview.tpl
Normal file
@@ -0,0 +1,84 @@
|
||||
<link rel="stylesheet" type="text/css" href="{$styles_url}/view.min.css">
|
||||
<div class="left-float wdmax">
|
||||
<div id="overview-userinfo">
|
||||
<div class="statsBox">
|
||||
<article class="no-display">
|
||||
<h3 class="content-title"><i class="icon-user"></i>{lang_entry key="account.entry.account.overview"}</h3>
|
||||
<div class="line"></div>
|
||||
</article>
|
||||
<div class="swiper-ph swiper-ph-tnav"></div>
|
||||
<div class="swiper-top swiper-top-tnav" style="display:{$ssd}">
|
||||
<div class="swiper-button-prev swiper-button-prev-tnav"{$sso}></div>
|
||||
<div class="swiper-button-next swiper-button-next-tnav"{$sso}></div>
|
||||
<div class="swiper swiper-tnav">
|
||||
<div class="swiper-wrapper">
|
||||
<div id="account-menu-entry13" class="swiper-slide{if $smarty.get.rg eq "" and $smarty.get.rp eq ""} swiper-slide-current{/if}" rel-m="{href_entry key="subscribers"}"><a class="{if $smarty.get.rg eq "" and $smarty.get.rp eq ""}dcjq-parent active{/if}" href="{$main_url}/{href_entry key="subscribers"}"><span><i class="icon-user"></i> {lang_entry key="account.entry.overview"}</span></a></div>
|
||||
{if $smarty.session.USER_PARTNER eq 1}
|
||||
<div id="account-menu-entry9" class="swiper-slide{if $smarty.get.rg ne ""} swiper-slide-current{/if}" rel-m="{href_entry key="subscribers"}"><a class="{if $smarty.get.rg ne ""}dcjq-parent active{/if}" href="{$main_url}/{href_entry key="subscribers"}?rg={$smarty.session.USER_KEY|md5}"><span><i class="icon-bars"></i> {lang_entry key="account.entry.act.graph"}</span></a></div>
|
||||
<div id="account-menu-entry12" class="swiper-slide{if $smarty.get.rp ne ""} swiper-slide-current{/if}" rel-m="{href_entry key="subscribers"}"><a class="{if $smarty.get.rp ne ""}dcjq-parent active{/if}" href="{$main_url}/{href_entry key="subscribers"}?rp={$smarty.session.USER_KEY|md5}"><span><i class="icon-paypal"></i> {lang_entry key="account.entry.payout.rep"}</span></a></div>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="vs-column fourths">
|
||||
<div class="user-thumb-xlarge">
|
||||
<div><center><a href="{$main_url}/@{$smarty.session.USER_NAME}"><img id="own-profile-image" title="{$smarty.session.USER_NAME}" alt="{$smarty.session.USER_NAME}" src="{insert name="getProfileImage" assign="profileImage" for="{$smarty.session.USER_ID}"}{$profileImage}"></a></center></div>
|
||||
</div>
|
||||
<div class="imageChange">
|
||||
<form method="post" action="" class="entry-form-class overview-form">
|
||||
<center>
|
||||
{if !$smarty.session.USER_PARTNER and $smarty.session.USER_PARTNER_REQUEST}
|
||||
<button class="save-entry-button button-grey search-button form-button usr-delete" type="button" onclick="$('.partner-request-popup').trigger('click');"><span>{lang_entry key="account.entry.btn.request.prt"}</span></button>
|
||||
<a href="javascript:;" rel="popuprel" class="partner-request-popup hidden">{lang_entry key="account.entry.btn.request.prt"}</a>
|
||||
{elseif $smarty.session.USER_PARTNER}
|
||||
<button class="save-entry-button button-grey search-button form-button purge-button" type="button" onclick="$('.partner-cancel-popup').trigger('click');"><span>{lang_entry key="account.entry.btn.terminate.prt"}</span></button>
|
||||
<a href="javascript:;" rel="popuprel" class="partner-cancel-popup hidden">{lang_entry key="account.entry.btn.terminate.prt"}</a>
|
||||
{/if}
|
||||
</center>
|
||||
</form>
|
||||
</div>
|
||||
<div class="popupbox" id="popuprel"></div>
|
||||
<div id="fade"></div>
|
||||
</div>
|
||||
|
||||
<div class="vs-column three_fourths fit">
|
||||
{insert name="getUserStats" type="subs"}
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(document).on("click", ".partner-request-popup", function() {ldelim}
|
||||
af_url = current_url + menu_section + "?s=account-menu-entry1&do=make-partner";
|
||||
$.fancybox({ldelim} type: "ajax", minWidth: "80%", margin: 20, href: af_url {rdelim});
|
||||
{rdelim});
|
||||
{if $smarty.session.USER_PARTNER eq 1}
|
||||
$(function() {ldelim}SelectList.init("user_partner_badge");{rdelim});
|
||||
$(document).on("click", ".partner-cancel-popup", function() {ldelim}
|
||||
af_url = current_url + menu_section + "?s=account-menu-entry1&do=clear-partner";
|
||||
$.fancybox({ldelim} type: "ajax", minWidth: "80%", margin: 20, href: af_url {rdelim});
|
||||
{rdelim});
|
||||
$(document).on("change", ".badge-select-input", function() {ldelim}
|
||||
v = $(this).val();
|
||||
h = '<i id="affiliate-icon" class="'+v+'"></i>';
|
||||
$("#affiliate-icon").replaceWith(h);
|
||||
if (v == "") $("#affiliate-icon").hide();
|
||||
af_url = current_url + menu_section + "?s=account-menu-entry13&do=save-subscriber";
|
||||
$.post(af_url, $("#ct-set-form").serialize(), function(data) {ldelim}
|
||||
$("#affiliate-response").html(data);
|
||||
{rdelim});
|
||||
{rdelim});
|
||||
$(document).on("keydown", ".user-partner-paypal", function(e) {ldelim}
|
||||
var code = e.which;
|
||||
if (code == 13) {ldelim}
|
||||
e.preventDefault();
|
||||
af_url = current_url + menu_section + "?s=account-menu-entry13&do=save-subscriber";
|
||||
$.post(af_url, $("#ct-set-form").serialize(), function(data) {ldelim}
|
||||
$("#affiliate-response").html(data);
|
||||
{rdelim});
|
||||
{rdelim}
|
||||
{rdelim});
|
||||
{/if}
|
||||
</script>
|
||||
{insert name="swiperJS" for="tnav"}
|
||||
35
f_templates/tpl_frontend/tpl_subscriber/tpl_search_inner.tpl
Normal file
35
f_templates/tpl_frontend/tpl_subscriber/tpl_search_inner.tpl
Normal file
@@ -0,0 +1,35 @@
|
||||
<div class="search_holder_fe">
|
||||
<div id="sb-search-fe" class="sb-search-fe{if $is_mobile} sb-search-open{/if}">
|
||||
<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"></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/fe/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>
|
||||
75
f_templates/tpl_frontend/tpl_subscriber/tpl_subgraphs.tpl
Normal file
75
f_templates/tpl_frontend/tpl_subscriber/tpl_subgraphs.tpl
Normal file
@@ -0,0 +1,75 @@
|
||||
<link rel="stylesheet" type="text/css" href="{$styles_url_be}/dash.css">
|
||||
<!--<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;}
|
||||
.Chartjs-figure{margin:auto;}
|
||||
.Chartjs-legend{margin-top:0;}
|
||||
.dark .Chartjs-legend{background-color:#131313;}
|
||||
.Chartjs-legend>li{padding:8px 0 0px 0;}
|
||||
.Titles{margin:0;}
|
||||
.Titles-main{padding:10px}
|
||||
.dark .Titles-main {background:#131313;color:#fff;}
|
||||
.cbp-spmenu-push .col {width: 100%;padding-bottom:25px;}
|
||||
.dark #time-sort-filters, .dark #week-sort-filters { border-bottom: 1px solid #2e2e2e; }
|
||||
#time-sort-filters, #week-sort-filters { border-bottom: 1px solid #f0f0f0; }
|
||||
@media (max-width: 860px) { section.filter{display:block} .toggle-all-filters{display:none} h3.content-title{width:75%} }
|
||||
{/literal}
|
||||
</style>
|
||||
<div class="container-off cbp-spmenu-push vs-column rg full">
|
||||
{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="clearfix"></div>
|
||||
<div class="vs-column half col">
|
||||
<div class="block">
|
||||
<header class="Titles">
|
||||
<h1 class="Titles-main"><i class="icon-coin"></i> {if $smarty.get.y > 0}{lang_entry key="backend.sub.dash.head.month.nr"}{$smarty.get.y|sanitize}{else}{if $smarty.get.m > 0}{lang_entry key="backend.sub.dash.head.month.nr"}{$mn[{$smarty.get.m|sanitize}]}{else}{if $smarty.get.w > 0}{lang_entry key="backend.sub.dash.head.week.nr"}{$smarty.get.w|sanitize}{else}{lang_entry key="backend.sub.dash.head1.{$ff}"}{/if}{/if}{/if} - <b>{$twshared} {$pcurrency}</b></h1>
|
||||
</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 col">
|
||||
<div class="block">
|
||||
<header class="Titles">
|
||||
<h1 class="Titles-main"><i class="icon-users"></i> {if $smarty.get.y > 0}{lang_entry key="backend.sub.dash.subs.month.nr"}{$smarty.get.y|sanitize}{else}{if $smarty.get.m > 0}{lang_entry key="backend.sub.dash.subs.month.nr"}{$mn[{$smarty.get.m|sanitize}]}{else}{if $smarty.get.w > 0}{lang_entry key="backend.sub.dash.subs.week.nr"}{$smarty.get.w|sanitize}{else}{lang_entry key="backend.sub.dash.head3.{$ff}"}{/if}{/if}{/if} - <b>{$twsubscriptions}</b></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 col">
|
||||
<div class="block">
|
||||
<header class="Titles">
|
||||
<h1 class="Titles-main"><i class="icon-coin"></i> {if $smarty.get.y > 0}{lang_entry key="backend.sub.dash.head.month.nr"}{$smarty.get.y-1|sanitize}{else}{if $smarty.get.m > 0}{lang_entry key="backend.sub.dash.head.month.nr"}{$mn[{$smarty.get.m-1|sanitize}]}{else}{if $smarty.get.w > 0}{lang_entry key="backend.sub.dash.head.week.nr"}{$smarty.get.w-1|sanitize}{else}{lang_entry key="backend.sub.dash.head2.{$ff}"}{/if}{/if}{/if} - <b>{$lwshared} {$pcurrency}</b></h1>
|
||||
</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>
|
||||
|
||||
<div class="vs-column half fit col">
|
||||
<div class="block">
|
||||
<header class="Titles">
|
||||
<h1 class="Titles-main"><i class="icon-users"></i> {if $smarty.get.y > 0}{lang_entry key="backend.sub.dash.subs.month.nr"}{$smarty.get.y-1|sanitize}{else}{if $smarty.get.m > 0}{lang_entry key="backend.sub.dash.subs.month.nr"}{$mn[{$smarty.get.m-1|sanitize}]}{else}{if $smarty.get.w > 0}{lang_entry key="backend.sub.dash.subs.week.nr"}{$smarty.get.w-1|sanitize}{else}{lang_entry key="backend.sub.dash.head4.{$ff}"}{/if}{/if}{/if} - <b>{$lwsubscriptions}</b></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="clearfix"></div>
|
||||
{/if}
|
||||
</div>
|
||||
90
f_templates/tpl_frontend/tpl_subscriber/tpl_subscribers.tpl
Normal file
90
f_templates/tpl_frontend/tpl_subscriber/tpl_subscribers.tpl
Normal file
@@ -0,0 +1,90 @@
|
||||
<div class="container cbp-spmenu-push">
|
||||
<style id="be-affiliate-style">
|
||||
.tabs nav{ldelim}text-align:left{rdelim}
|
||||
.tabs-style-line nav ul{ldelim}display:flex{rdelim}
|
||||
.responsive-accordion-head article{ldelim}width:100%{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}
|
||||
.filter-text{ldelim}font-size:14px;font-weight:normal;margin-left:0px;padding:10px 0;display:inline-block{rdelim}
|
||||
.content-filters {ldelim}vertical-align: middle;display: inline-block;line-height:47px;margin-right:0px;{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}
|
||||
.be .sb-search-input{ldelim}border:0;{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: #fff; width: 100%;{rdelim}
|
||||
.fancybox-inner #lb-wrapper {ldelim}padding: 0 20px; background-color: #fff;{rdelim}
|
||||
#lb-wrapper h3.content-title{ldelim}width: 95%;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: 14px;{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}
|
||||
.tpl_subscribers .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: 1px solid #303030; background: #000;{rdelim}
|
||||
.dark .tabs-style-topline nav li.tab-current a{ldelim}background-color: #000;{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}
|
||||
.mt7{ldelim}margin-top:7px;{rdelim}
|
||||
#search-boxes{ldelim}float:right{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}
|
||||
{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{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){#time-sort-filters h3.content-title.content-filter{display: none}#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}
|
||||
{literal}@media (max-width: 860px) { section.filter{display:block} .toggle-all-filters{display:none} h3.content-title{width:75%} }{/literal}
|
||||
@media (max-width:640px){ldelim}
|
||||
.entry-left{ldelim}float:left;width:100%;margin-top:-10px;{rdelim}
|
||||
.entry-right{ldelim}float:left;width:100%;margin-top:-25px;{rdelim}
|
||||
#info-text{ldelim}font-size:13px;{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>
|
||||
{if $smarty.get.rg eq "" and $smarty.get.rp eq ""}
|
||||
{include file="tpl_frontend/tpl_subscriber/tpl_overview.tpl"}
|
||||
{else}
|
||||
{$html_payouts}
|
||||
{/if}
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
{if $smarty.get.rp and $smarty.session.USER_PARTNER eq 1}
|
||||
{include file="tpl_frontend/tpl_subscriber/tpl_subscribers_js.tpl"}
|
||||
{elseif $smarty.get.rg and $smarty.session.USER_PARTNER eq 1}
|
||||
{include file="tpl_frontend/tpl_subscriber/tpl_subscribersrg_js.tpl"}
|
||||
{/if}
|
||||
</script>
|
||||
{insert name="swiperJS" for="tnav"}
|
||||
149
f_templates/tpl_frontend/tpl_subscriber/tpl_subscribers_js.tpl
Normal file
149
f_templates/tpl_frontend/tpl_subscriber/tpl_subscribers_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 = '{$main_url}/{href_entry key="subscribers"}?{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 = '{$main_url}/{href_entry key="subscribers"}?{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 = '{$main_url}/{href_entry key="subscribers"}?{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 = '{$main_url}/{href_entry key="subscribers"}?{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});
|
||||
@@ -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 = '{$main_url}/{href_entry key="subscribers"}?{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 = '{$main_url}/{href_entry key="subscribers"}?{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