hello github! 😘
34
admin/Masmak/admin_ban.html
Executable file
@@ -0,0 +1,34 @@
|
||||
|
||||
|
||||
<!-- Breadcrumbs -->
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="./">{lang.R_CPINDEX}</a></li>
|
||||
<li class="breadcrumb-item active">{lang.R_BAN}</li>
|
||||
</ol>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
{lang.BAN_EXP1}
|
||||
<br>
|
||||
{lang.BAN_EXP2}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<form method="post" action="{action}" id="ban_form">
|
||||
|
||||
<div class="form-group">
|
||||
<!-- textarea -->
|
||||
<textarea name="ban_text" class="form-control" rows="2" cols="20" style="width:99%; height: 100px;direction:ltr;">{ban}</textarea>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<input type="submit" name="submit" value="{lang.UPDATE_BAN}" class="btn btn-primary">
|
||||
|
||||
|
||||
{H_FORM_KEYS}
|
||||
</form>
|
||||
|
||||
|
||||
114
admin/Masmak/admin_calls.html
Executable file
@@ -0,0 +1,114 @@
|
||||
|
||||
<!-- Breadcrumbs -->
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="./">{lang.R_CPINDEX}</a></li>
|
||||
<li class="breadcrumb-item active">{lang.R_CALLS}</li>
|
||||
<IF NAME="current_smt == show_h24"><li class="breadcrumb-item active"> {lang.SHOW_FROM_24H}</li></IF>
|
||||
</ol>
|
||||
|
||||
|
||||
<IF NAME="no_results">
|
||||
<div class="alert alert-info">{lang.MESSAGE_NONE}</div>
|
||||
<ELSE>
|
||||
|
||||
|
||||
<form method="post" name="callform" action="{action}" id="calls_form">
|
||||
|
||||
|
||||
<div id="accordion" role="tablist" aria-multiselectable="true">
|
||||
|
||||
<LOOP NAME="arr">
|
||||
<div class="card mb-1" id="su[{{id}}]">
|
||||
<div class="card-header" role="tab" id="heading{{id}}">
|
||||
|
||||
<h6 class="mb-0">
|
||||
<input type="checkbox" class="custom-checkbox" name="del_{{id}}" value="{{id}}" onclick="change_color(this,'su[{{id}}]', 'bg-warning card', 'card');" rel="_del" />
|
||||
|
||||
<a data-toggle="collapse" data-parent="#accordion" href="#collapse{{id}}" aria-expanded="false" aria-controls="collapse{{id}}">
|
||||
{{name}}
|
||||
<IF LOOP="sent"><i class="fa fa-reply" title="{lang.IS_SEND_MAIL}" data-toggle="tooltip"></i></IF>
|
||||
</a>
|
||||
<small class="pull-(lang.DIR==ltr?right:left)">{{human_time}}</small>
|
||||
</h6>
|
||||
|
||||
</div>
|
||||
<div id="collapse{{id}}" class="collapse" role="tabpanel" aria-labelledby="heading{{id}}">
|
||||
|
||||
<div class="card-body">
|
||||
{{text}}
|
||||
<br>
|
||||
<br>
|
||||
____<br>
|
||||
<IF LOOP="mail"><span class="text-muted">{lang.EMAIL}:</span> {{mail}}<br></IF>
|
||||
<span class="text-muted">{lang.IP}:</span> <a href="{{ip_finder}}" target="_blank">{{ip}}</a><br>
|
||||
<span class="text-muted">{lang.TIME}:</span> {{time}}<br>
|
||||
<IF LOOP="mail">
|
||||
<hr>
|
||||
<a class="btn btn-primary" data-toggle="modal" data-target="#contactForm{{id}}" href="#">
|
||||
{lang.REPLY_CALL}
|
||||
</a>
|
||||
</IF>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</LOOP>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- pagination -->
|
||||
{page_nums}
|
||||
<div class="clearfix"></div>
|
||||
|
||||
<br>
|
||||
<div class="row justify-content-between">
|
||||
<div class="col col-md-auto">[ <a href="javascript:void(0);" onclick="checkAll(document.callform, '_del', 'su', 'card bg-warning mb-1', 'card mb-1');">{lang.CHECK_ALL}</a> ]</div>
|
||||
<div class="col col-md-auto"><input type="submit" class="btn btn-outline-primary" name="submit" value="{lang.DEL_SELECTED}" /></div>
|
||||
</div>
|
||||
|
||||
{H_FORM_KEYS}
|
||||
</form>
|
||||
|
||||
<!-- contact form modals -->
|
||||
<LOOP NAME="arr">
|
||||
<div class="modal" id="contactForm{{id}}">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<form method="post" action="{action}" id="send_form" role="form">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">{lang.REPLY_CALL}</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="modal-body">
|
||||
{{text}}
|
||||
<br>
|
||||
<br>
|
||||
____<br>
|
||||
<IF LOOP="mail"><span class="text-muted">{lang.EMAIL}:</span> {{mail}}<br></IF>
|
||||
<br>
|
||||
|
||||
<textarea name="v_{{id}}" cols="80" class="form-control" rows="3" placeholder="{lang.TEXT}"></textarea>
|
||||
<input type="hidden" name="reply_submit" value="1">
|
||||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="submit" name="reply_submit" class="btn btn-primary btn-sm"><span>{lang.REPLY}</span></button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</LOOP>
|
||||
|
||||
</IF>
|
||||
|
||||
|
||||
|
||||
<IF NAME="there_queue">
|
||||
<br><hr>
|
||||
<div class="alert alert-info">{lang.DELETE_PROCESS_IN_WORK}</div>
|
||||
</IF>
|
||||
30
admin/Masmak/admin_check_update.html
Executable file
@@ -0,0 +1,30 @@
|
||||
|
||||
<IF NAME="current_smt == general">
|
||||
|
||||
<!-- Breadcrumbs -->
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="./">{lang.R_CPINDEX}</a></li>
|
||||
<li class="breadcrumb-item active">{lang.R_CHECK_UPDATE}</li>
|
||||
</ol>
|
||||
|
||||
<div class="alert <IF NAME="error">alert-warning<ELSE>alert-info</IF>">{text}</div>
|
||||
|
||||
|
||||
<ELSEIF NAME="current_smt == howto">
|
||||
|
||||
<!-- Breadcrumbs -->
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="./">{lang.R_CPINDEX}</a></li>
|
||||
<li class="breadcrumb-item active">{lang.HOW_UPDATE_KLEEJA}</li>
|
||||
</ol>
|
||||
|
||||
<ul class="update_list">
|
||||
<li>{lang.HOW_UPDATE_KLEEJA_STEP1}</li>
|
||||
<li>{lang.HOW_UPDATE_KLEEJA_STEP2}</li>
|
||||
<li>{lang.HOW_UPDATE_KLEEJA_STEP3}
|
||||
<input class="form-control" type="text" value="{update_link}" readonly>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</IF>
|
||||
20
admin/Masmak/admin_configs.html
Executable file
@@ -0,0 +1,20 @@
|
||||
|
||||
|
||||
|
||||
|
||||
<form method="post" action="{action}" id="opt_form" class="form">
|
||||
<!-- admin configs tr extra begin -->
|
||||
{options}
|
||||
<!-- admin configs tr extra -->
|
||||
|
||||
|
||||
<!-- button -->
|
||||
<div class="form-group">
|
||||
<br>
|
||||
<input type="hidden" name="submit" value="1" />
|
||||
<button type="submit" id="submit" name="_submit_" class="btn btn-primary"><span>{n_submit}</span></button>
|
||||
</div>
|
||||
|
||||
{H_FORM_KEYS}
|
||||
|
||||
</form>
|
||||
3
admin/Masmak/admin_err.html
Executable file
@@ -0,0 +1,3 @@
|
||||
<div class="alert alert-danger" role="alert">
|
||||
{text}
|
||||
</div>
|
||||
63
admin/Masmak/admin_extra.html
Executable file
@@ -0,0 +1,63 @@
|
||||
|
||||
|
||||
|
||||
<!-- Breadcrumbs -->
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="./">{lang.R_CPINDEX}</a></li>
|
||||
<li class="breadcrumb-item">{lang.R_EXTRA}</li>
|
||||
<IF NAME="current_smt == he">
|
||||
<li class="breadcrumb-item active">{lang.ADD_HEADER_EXTRA}</li>
|
||||
<ELSEIF NAME="current_smt == fe">
|
||||
<li class="breadcrumb-item active">{lang.ADD_FOOTER_EXTRA}</li>
|
||||
</IF>
|
||||
</ol>
|
||||
|
||||
|
||||
|
||||
|
||||
<form method="post" action="{action}" id="extra_form">
|
||||
<IF NAME="current_smt == he">
|
||||
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
{lang.EX_HEADER_N}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<textarea id="ex_header" name="ex_header" class="form-control" rows="8">{ex_header}</textarea>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<ELSEIF NAME="current_smt == fe">
|
||||
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
{lang.EX_FOOTER_N}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="form-group">
|
||||
<textarea id="ex_footer" name="ex_footer" class="form-control" rows="8">{ex_footer}</textarea>
|
||||
</div>
|
||||
|
||||
</IF>
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
|
||||
<input type="submit" name="submit" value="{lang.UPDATE_EXTRA}" class="btn btn-primary">
|
||||
|
||||
|
||||
|
||||
{H_FORM_KEYS}
|
||||
</form>
|
||||
|
||||
83
admin/Masmak/admin_files.html
Executable file
@@ -0,0 +1,83 @@
|
||||
|
||||
<!-- Breadcrumbs -->
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="./">{lang.R_CPINDEX}</a></li>
|
||||
<li class="breadcrumb-item active">{lang.R_FILES} (<span>{current_page}/{total_pages}</span>)</li>
|
||||
</ol>
|
||||
|
||||
<IF NAME="is_search">
|
||||
<div class="card">
|
||||
<span>{lang.FIND_IP_FILES} ( {nums_rows} ) {lang.FILE} <IF NAME="nums_rows"> | <a href="{deletelink}" onclick="javascript:get_kleeja_link(this.href, '#content', {confirm:true}); return false;">{lang.DELETEALLRES}</a></IF></span>
|
||||
</div>
|
||||
</IF>
|
||||
|
||||
|
||||
|
||||
<form method="post" name="filesform" action="{action}" id="files_form">
|
||||
|
||||
<IF NAME="no_results">
|
||||
<div class="alert alert-info">
|
||||
{lang.NO_RESULT_USE_SYNC}
|
||||
</div>
|
||||
<ELSE>
|
||||
|
||||
|
||||
<!-- start data table -->
|
||||
<div class="table-responsive">
|
||||
<table class="table table-bordered table-hover table-striped table-sm" width="100%" cellspacing="0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><a href="javascript:void(0);" onclick="checkAll(document.filesform, '_del', 'su');" title="{lang.DELETE}">#</a></th>
|
||||
<th style="width:20px;"></th>
|
||||
<th style="white-space:nowrap;">
|
||||
<a title="{lang.ALPHABETICAL_ORDER_FILES}"
|
||||
href="{ord_action}&order_by=real_filename">{lang.FILENAME}</a>
|
||||
<a href="{page2_action}&order_way=1"><i class="fa fa-sort-asc" title="↑"></i></a>
|
||||
<a href="{page2_action}&order_way=2"><i class="fa fa-sort-desc"
|
||||
title="↓"></i></a>
|
||||
</th>
|
||||
<th><a title="{lang.ORDER_SIZE}" href="{ord_action}&order_by=size">{lang.SIZE}</a></th>
|
||||
<th><a href="{ord_action}&order_by=folder">{lang.FILDER}</a></th>
|
||||
<th><a href="{ord_action}&order_by=user">{lang.BY}</a></th>
|
||||
<th><a href="{ord_action}&order_by=user_ip">{lang.IP}</a></th>
|
||||
<th><a title="{lang.ORDER_TOTAL_DOWNLOADS}" href="{ord_action}&order_by=uploads"><i class="fa fa-download" title="{lang.FILEUPS}" data-toggle="tooltip"></i></a></th>
|
||||
<th><a href="{ord_action}&order_by=report"><i class="fa fa-flag" title="{lang.NUMPER_REPORT}" data-toggle="tooltip"></i></a></th>
|
||||
<th><a href="{ord_action}&order_by=time">{lang.FILEDATE}</a></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<LOOP NAME="arr">
|
||||
<tr id="su[{{id}}]" class="osilver">
|
||||
<td><input type="checkbox" name="del_{{id}}" value="{{id}}" onclick="change_color(this,'su[{{id}}]');" rel="_del" /></td>
|
||||
<td style="width:20px;"><img src="{{typeicon}}" alt="{{type}}" title="{{type}}" data-toggle="tooltip"/></td>
|
||||
<td title="{{fullname}}" data-toggle="tooltip">{{name}}</td>
|
||||
<td>{{size}}</td>
|
||||
<td>{{folder}}</td>
|
||||
<td>{{user}}</td>
|
||||
<td>{{ip}} <a title="{lang.SHOWFILESBYIP}" href="{{showfilesbyip}}"><i class="fa fa-search"></i></a></td>
|
||||
<td><IF LOOP="direct"><i class="fa fa-bell-slash-o" title="{lang.DIRECT_FILE_NOTE}" data-toggle="tooltip"></i><ELSE>{{ups}}</IF></td>
|
||||
<td>{{report}}</td>
|
||||
<td title="{{time}}" data-toggle="tooltip">{{time_human}}</td>
|
||||
<!-- admin files data td2 extra -->
|
||||
</tr>
|
||||
</LOOP>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end data table -->
|
||||
|
||||
<div class="form-group">
|
||||
<!--<div class="col">[ <a href="javascript:void(0);" onclick="checkAll(document.filesform, '_del', 'su');">{lang.CHECK_ALL}</a> ]</div>-->
|
||||
|
||||
<input type="submit" class="btn btn-outline-primary" name="submit" value="{lang.DEL_SELECTED}">
|
||||
</div>
|
||||
|
||||
|
||||
<!-- pagination -->
|
||||
{page_nums}
|
||||
|
||||
</IF>
|
||||
|
||||
{H_FORM_KEYS}
|
||||
</form>
|
||||
|
||||
228
admin/Masmak/admin_footer.html
Executable file
@@ -0,0 +1,228 @@
|
||||
|
||||
<br>
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- /.content-wrapper -->
|
||||
|
||||
<a class="scroll-to-top rounded" href="#page-top">
|
||||
<i class="fa fa-chevron-up"></i>
|
||||
</a>
|
||||
|
||||
<!-- Bootstrap core JavaScript -->
|
||||
<script src="{STYLE_PATH_ADMIN}js/jquery.min.js"></script>
|
||||
<script src="{STYLE_PATH_ADMIN}js/tether.min.js"></script>
|
||||
<script src="{STYLE_PATH_ADMIN}js/popper.min.js"></script>
|
||||
<script src="{STYLE_PATH_ADMIN}js/bootstrap.min.js"></script>
|
||||
|
||||
|
||||
<!-- extra javascript -->
|
||||
<script type="text/javascript" src="{STYLE_PATH_ADMIN}js/jqBarGraph.js"></script>
|
||||
|
||||
<IF NAME="go_to==d_img_ctrl">
|
||||
<script type="text/javascript" src="{STYLE_PATH_ADMIN}js/jquery.waitforimages.js"></script>
|
||||
</IF>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
<!--//
|
||||
$(function () {
|
||||
|
||||
//check for msg, reports every 5min
|
||||
setTimeout(check_msg_and_reports, 240000);
|
||||
|
||||
|
||||
$('[data-toggle="tooltip"]').tooltip();
|
||||
$('[data-toggle="popover"]').popover();
|
||||
|
||||
|
||||
<IF NAME="go_to==start">
|
||||
$('#chart_stats').jqBarGraph({
|
||||
data: arrayOfDataMulti,
|
||||
colors: ['#0275d8', '#d9534f'],
|
||||
legends: ['{lang.FILE}', '{lang.IMAGE}'],
|
||||
legend: true,
|
||||
animate: true,
|
||||
height: 240,
|
||||
barSpace: 5,
|
||||
width: $('#chart_stats').width
|
||||
});
|
||||
</IF>
|
||||
|
||||
|
||||
<IF NAME="go_to==d_img_ctrl">
|
||||
$('.xthumbs').waitForImages(function(){
|
||||
$('#imgs_loading').fadeOut(2000);
|
||||
$('#imgs_loading').css('display', 'none');
|
||||
});
|
||||
|
||||
//when checked one checkbox?
|
||||
$(".kcheck input[type=checkbox]").change( function(){
|
||||
if($('.kcheck input[type=checkbox]:checked').length == 1){
|
||||
$('#search-one-item').css('display', 'inline');
|
||||
} else{
|
||||
$('#search-one-item select').prop('selectedIndex', 0);
|
||||
$('#search-one-item').css('display', 'none');
|
||||
}
|
||||
});
|
||||
|
||||
$(".kcheck input[type=checkbox]").click( function(){
|
||||
$(this).attr('checked', !$(this).attr('checked'));
|
||||
$(this).trigger('change');
|
||||
});
|
||||
|
||||
$(".kcheck").click( function(){
|
||||
$(this).find('input').attr('checked', !$(this).find('input').attr('checked'));
|
||||
$(this).find('input').trigger('change');
|
||||
});
|
||||
|
||||
|
||||
$('#search-one-item select').change(function(){
|
||||
tt = this.options[this.selectedIndex].value;
|
||||
dd = $('.kcheck input[type=checkbox]:checked').val();
|
||||
if(tt == 1){
|
||||
s_value = $('#ip_'+dd).html();
|
||||
}else if(tt == 2){
|
||||
s_value = $('#user_'+dd).html();
|
||||
}
|
||||
|
||||
window.open("{action_search}&s_input="+tt+"&s_value=" + encodeURI(s_value), '_blank');
|
||||
});
|
||||
|
||||
$('.img-thumb-item a').click(function (e) {
|
||||
$('.image-model img').attr('src', $(this).attr('data-img-url'));
|
||||
// return false;
|
||||
});
|
||||
</IF>
|
||||
|
||||
|
||||
|
||||
$(".cb-enable").click(function(){
|
||||
var parent = $(this).parents('.switch');
|
||||
$('.cb-disable',parent).removeClass('selected');
|
||||
$(this).addClass('selected');
|
||||
$('.checkbox',parent).attr('checked', true);
|
||||
});
|
||||
$(".cb-disable").click(function(){
|
||||
var parent = $(this).parents('.switch');
|
||||
$('.cb-enable',parent).removeClass('selected');
|
||||
$(this).addClass('selected');
|
||||
$('.checkbox',parent).attr('checked', false);
|
||||
});
|
||||
|
||||
|
||||
// Scroll to top button appear
|
||||
$(document).scroll(function() {
|
||||
var scrollDistance = $(this).scrollTop();
|
||||
if (scrollDistance > 100) {
|
||||
$('.scroll-to-top').fadeIn();
|
||||
} else {
|
||||
$('.scroll-to-top').fadeOut();
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
function check_msg_and_reports(){
|
||||
$.ajax({
|
||||
url: './?check_msgs=1',
|
||||
success: function (data) {
|
||||
if (data.indexOf("::") !== -1) {
|
||||
var nums = data.split("::");
|
||||
if (nums[0] !== 0) {
|
||||
$('.bubble_calls').html(nums[0]).css('display', 'inline');
|
||||
}
|
||||
|
||||
if (nums[1] !== 0) {
|
||||
$('.bubble_reports').html(nums[1]).css('display', 'inline');
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
setTimeout(check_msg_and_reports, 240000);
|
||||
}
|
||||
|
||||
|
||||
function change_color(obj, id, c, c2) {
|
||||
c = (c === null) ? 'bg-danger' : c;
|
||||
c2 = (c === null) ? 'bg-warning' : c2;
|
||||
var ii = document.getElementById(id);
|
||||
if (obj.checked) {
|
||||
ii.setAttribute("class", c);
|
||||
ii.setAttribute("className", c)
|
||||
} else {
|
||||
ii.setAttribute("class", c2);
|
||||
ii.setAttribute("className", c2)
|
||||
}
|
||||
}
|
||||
function checkAll(form, id, _do_c_, c, c2) {
|
||||
for (var i = 0; i < form.elements.length; i++) {
|
||||
if (form.elements[i].getAttribute("rel") !== id) { continue; }
|
||||
if (form.elements[i].checked) {
|
||||
uncheckAll(form, id, _do_c_, c, c2);
|
||||
break
|
||||
}
|
||||
form.elements[i].checked = true;
|
||||
change_color(form.elements[i], _do_c_ + '[' + form.elements[i].value + ']', c, c2)
|
||||
}
|
||||
}
|
||||
function uncheckAll(form, id, _do_c_, c, c2) {
|
||||
for (var i = 0; i < form.elements.length; i++) {
|
||||
if (form.elements[i].getAttribute("rel") !== id) { continue; }
|
||||
form.elements[i].checked = false;
|
||||
change_color(form.elements[i], _do_c_ + '[' + form.elements[i].value + ']', c, c2)
|
||||
}
|
||||
}
|
||||
function change_color_exts(id) {
|
||||
eval('var ii = document.getElementById("su[' + id + ']");');
|
||||
eval('var g_obj = document.getElementById("gal_' + id + '");');
|
||||
eval('var u_obj = document.getElementById("ual_' + id + '");');
|
||||
if (g_obj.checked && u_obj.checked) {
|
||||
ii.setAttribute("class", 'o_all');
|
||||
ii.setAttribute("className", 'o_all')
|
||||
} else if (g_obj.checked) {
|
||||
ii.setAttribute("class", 'o_g');
|
||||
ii.setAttribute("className", 'o_g')
|
||||
} else if (u_obj.checked) {
|
||||
ii.setAttribute("class", 'o_u');
|
||||
ii.setAttribute("className", 'o_u')
|
||||
} else {
|
||||
ii.setAttribute("class", '');
|
||||
ii.setAttribute("className", '')
|
||||
}
|
||||
}
|
||||
function checkAll_exts(form, id, _do_c_) {
|
||||
for (var i = 0; i < form.elements.length; i++) {
|
||||
if (form.elements[i].getAttribute("rel") !== id) { continue; }
|
||||
if (form.elements[i].checked) {
|
||||
uncheckAll_exts(form, id, _do_c_);
|
||||
break
|
||||
}
|
||||
form.elements[i].checked = true;
|
||||
change_color_exts(form.elements[i].value)
|
||||
}
|
||||
}
|
||||
function uncheckAll_exts(form, id, _do_c_) {
|
||||
for (var i = 0; i < form.elements.length; i++) {
|
||||
if (form.elements[i].getAttribute("rel") !== id) { continue; }
|
||||
form.elements[i].checked = false;
|
||||
change_color_exts(form.elements[i].value)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function confirm_form(r)
|
||||
{
|
||||
var msg = !r ? '{lang.ARE_YOU_SURE_DO_THIS}' : r;
|
||||
return confirm(msg);
|
||||
}
|
||||
|
||||
function get_kleeja_link(link) {
|
||||
location.href = link;
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
125
admin/Masmak/admin_header.html
Executable file
@@ -0,0 +1,125 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{lang.LANG_SMALL_NAME}">
|
||||
|
||||
<head>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
|
||||
<title>{lang.KLEEJA_CP} - {config.sitename}</title>
|
||||
|
||||
<link rel="shortcut icon" href="{STYLE_PATH_ADMIN}images/favicon.ico" />
|
||||
<link rel="icon" type="image/png" href="{STYLE_PATH_ADMIN}images/favicon.png" />
|
||||
|
||||
<!-- Bootstrap core CSS -->
|
||||
<link href="{STYLE_PATH_ADMIN}css/bootstrap.min.css" rel="stylesheet">
|
||||
|
||||
<!-- Custom fonts for this template -->
|
||||
<link href="{STYLE_PATH_ADMIN}css/font-awesome.min.css" rel="stylesheet" type="text/css">
|
||||
|
||||
<!-- Plugin CSS -->
|
||||
<link href="{STYLE_PATH_ADMIN}css/dataTables.bootstrap4.css" rel="stylesheet">
|
||||
|
||||
<!-- Custom styles for this template -->
|
||||
<link href="{STYLE_PATH_ADMIN}css/sb-admin.css" rel="stylesheet">
|
||||
<link href="{STYLE_PATH_ADMIN}css/custom.css" rel="stylesheet">
|
||||
|
||||
<IF NAME="lang.DIR==rtl">
|
||||
<link rel="stylesheet" type="text/css" href="{STYLE_PATH_ADMIN}css/bootstrap.rtl.min.css" />
|
||||
<link rel="stylesheet" type="text/css" href="{STYLE_PATH_ADMIN}css/sb-admin-rtl.css" />
|
||||
|
||||
|
||||
<style type="text/css">
|
||||
body{font-family: "Tahoma",Arial,sans-serif;}
|
||||
body{
|
||||
direction: rtl; /* placing it here fixes the issue with jquery white page bug */
|
||||
}
|
||||
</style>
|
||||
</IF>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
<!--//
|
||||
var STYLE_PATH_ADMIN = '{STYLE_PATH_ADMIN}';
|
||||
var go_to = '{go_to}';
|
||||
//-->
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body class="fixed-nav sticky-footer bg-{admin_theme_color}" id="page-top">
|
||||
|
||||
|
||||
|
||||
<!-- Navigation -->
|
||||
<nav class="navbar navbar-expand-lg navbar-{admin_theme_color} bg-{admin_theme_color} fixed-top" id="mainNav">
|
||||
|
||||
<a class="navbar-brand" href="./"><img src="{STYLE_PATH_ADMIN}/images/kleeja.png" alt="Kleeja" style="margin:2px 8px;vertical-align:middle;width:24px"/> Kleeja <small>{assigned_klj_ver}</small></a>
|
||||
|
||||
<button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarAcp" aria-controls="navbarAcp" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
|
||||
|
||||
|
||||
<div class="collapse navbar-collapse" id="navbarAcp">
|
||||
|
||||
<!-- side menu -->
|
||||
<ul class="navbar-nav navbar-sidenav">
|
||||
<li class="nav-item<IF NAME="go_to==start"> activex</IF>" data-toggle="tooltip" data-placement="right" title="{lang.R_CPINDEX}">
|
||||
<a class="first-level nav-link <IF NAME="go_to==start">nav-link-collapse</IF>" href="./"><i class="fa fa-fw fa-dashboard"></i> {lang.R_CPINDEX}</a>
|
||||
<ul class="sidenav-second-level<IF NAME="go_to!=start"> collapse</IF>" id="collapseIndex">
|
||||
<IF NAME="go_to==start">{go_menu_html}</IF>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
|
||||
<LOOP NAME="adm_extensions_menu">
|
||||
<li class="nav-item ({{current}}?activex:)" id="menu_item{{i}}" data-toggle="tooltip" data-placement="right" title="{{title}}">
|
||||
<a class="first-level nav-link<IF LOOP="current"><IF NAME="go_menu_html"> nav-link-collapse</IF></IF>" title="{{title}}" href="{{link}}"<IF LOOP="confirm"> onclick="return confirm_form();"</IF>>
|
||||
<i class="fa fa-fw fa-{{icon}}"></i> {{title}} {{bubble}}
|
||||
</a>
|
||||
<IF NAME="go_menu_html">
|
||||
<ul class="sidenav-second-level<IF LOOP="current"><ELSE> collapse</IF>" id="collapseItem{{i}}">
|
||||
<IF LOOP="current">{go_menu_html}</IF>
|
||||
</ul>
|
||||
</IF>
|
||||
</li>
|
||||
</LOOP>
|
||||
</ul>
|
||||
|
||||
<!-- top menu -->
|
||||
<ul class="navbar-nav ml-auto">
|
||||
|
||||
|
||||
<LOOP NAME="adm_topmenu">
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link mr-lg-2" href="{{link}}">
|
||||
<i class="fa fa-fw fa-{{icon}}"></i> <span class="hidden-lg-up">{{title}} {{bubble}}</span>
|
||||
<IF LOOP="counter"><span class="new-indicator text-warning hidden-md-down"><i class="fa fa-fw fa-circle"></i><span class="number bubble_{{m}}">{{counter}}</span></span></IF>
|
||||
</a>
|
||||
</li>
|
||||
</LOOP>
|
||||
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="./?cp={go_to}&change_theme=<IF NAME="admin_theme_color==dark">light<ELSE>dark</IF>&{GET_FORM_KEY_GLOBAL}"><i class="fa fa-fw fa-lightbulb-o"></i></a>
|
||||
</li>
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="https://www.kleeja.com" target="_blank" title="kleeja.com"><i class="fa fa-fw fa-support"></i></a>
|
||||
</li>
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="./?cp=b_lgoutcp&{GET_FORM_KEY_GLOBAL}" onclick="javascript:return confirm_form();"><i class="fa fa-fw fa-sign-out"></i> {lang.R_LGOUTCP} [ {username} ]</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{config.siteurl}"><i class="fa fa-fw fa-sign-out"></i> {lang.RETURN_HOME}</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="content-wrapper">
|
||||
<div class="container-fluid">
|
||||
96
admin/Masmak/admin_img.html
Executable file
@@ -0,0 +1,96 @@
|
||||
|
||||
<!-- Breadcrumbs -->
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="./">{lang.R_CPINDEX}</a></li>
|
||||
<li class="breadcrumb-item active justify-content-between">
|
||||
{lang.R_IMG_CTRL} ({current_page}/{total_pages})
|
||||
</li>
|
||||
<li class="pull-(lang.DIR==ltr?right:left)">
|
||||
<div id="imgs_loading"><img src="{STYLE_PATH_ADMIN}images/ajax-loader-small.gif" /></div>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
<IF NAME="config.thumbs_imgs"><ELSE>
|
||||
<div class="alert alert-info">
|
||||
{lang.THUMB_DIS_LONGTIME}
|
||||
</div>
|
||||
</IF>
|
||||
|
||||
|
||||
<form method="post" name="imgform" action="{action}" id="imgs_form">
|
||||
|
||||
<IF NAME="no_results">
|
||||
<div class="alert alert-info">
|
||||
<h2>{lang.NO_RESULT_USE_SYNC}</h2>
|
||||
</div>
|
||||
<ELSE>
|
||||
|
||||
|
||||
<!-- start data div -->
|
||||
|
||||
|
||||
<div class="row text-center text-lg-left xthumbs">
|
||||
<LOOP NAME="arr">
|
||||
<div class="col-lg-3 col-md-4 col-xs-6 img-thumb-item" data-toggle="tooltip" data-html="true" title="<span>{lang.FILENAME} : </span>{{name}}<br />
|
||||
<span>{lang.FILEUPS} : </span> {{ups}}<br />
|
||||
<span>{lang.FILESIZE} : </span> {{size}}<br />
|
||||
<span>{lang.FILEDATE} : </span> {{time}}<br />
|
||||
<span>{lang.BY} : </span> {{user}}<br />
|
||||
<span>{lang.IP} : </span> {{ip}}">
|
||||
<a href="{{href}}" target="_blank" data-img-url="{{href}}" class="d-block mb-4 h-100" data-toggle="modal" data-target=".image-model">
|
||||
<img class="img-fluid img-thumbnail" src="{{thumb_link}}" alt="" style="min-height:200px;" id="su[{{id}}]" onError="this.onerror=null;this.src='{STYLE_PATH_ADMIN}images/image-not-found.png';">
|
||||
</a>
|
||||
<div class="ktip" style="display: none;">
|
||||
<span id="user_{{id}}">{{user}}</span>
|
||||
<span id="ip_{{id}}">{{ip}}</span>
|
||||
</div>
|
||||
<p class="kcheck">
|
||||
<input id="del_{{id}}" name="del_{{id}}" type="checkbox" value="{{id}}" rel="_del" onclick="change_color(this, 'su[{{id}}]', 'img-thumbnail img-fluid bg-danger', 'img-thumbnail img-fluid');" />
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</LOOP>
|
||||
</div>
|
||||
|
||||
<!-- end data div -->
|
||||
|
||||
|
||||
|
||||
<!-- pagination -->
|
||||
{page_nums}
|
||||
|
||||
|
||||
<div class="row justify-content-between">
|
||||
<div class="col col-md-auto check_all">[ <a href="javascript:void(0);" onclick="checkAll(document.imgform, '_del', 'su', 'img-thumbnail img-fluid bg-danger', 'img-thumbnail img-fluid');">{lang.CHECK_ALL}</a> ]</div>
|
||||
|
||||
<div class="col col-md-auto" id="search-one-item" style="display:none">
|
||||
<select class="custom-select">
|
||||
<option value="0">{lang.SEARCH_SUBMIT} : </option>
|
||||
<option value="1">{lang.SEARCH4FILES_BYIP}</option>
|
||||
<option value="2">{lang.SEARCH4FILES_BYUSER}</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col col-md-auto">
|
||||
<input type="submit" class="btn btn-outline-primary" name="submit" value="{lang.DEL_SELECTED}" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</IF>
|
||||
|
||||
{H_FORM_KEYS}
|
||||
</form>
|
||||
|
||||
|
||||
|
||||
<div class="modal fade image-model" tabindex="-1" role="dialog" aria-labelledby="ImagePreviewModel" aria-hidden="true">
|
||||
<div class="modal-dialog ">
|
||||
<div class="modal-content">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<img src="{STYLE_PATH_ADMIN}images/placeholder.jpg" class="img-fluid" style="height: auto" onclick="window.open(this.src, '_blank');"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
3
admin/Masmak/admin_info.html
Executable file
@@ -0,0 +1,3 @@
|
||||
<div class="alert alert-success" role="alert">
|
||||
{text}
|
||||
</div>
|
||||
139
admin/Masmak/admin_login.html
Executable file
@@ -0,0 +1,139 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{lang.LANG_SMALL_NAME}">
|
||||
<head>
|
||||
<title>{lang.LOGIN} - {lang.KLEEJA_CP} - {config.sitename}</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="robots" content="noindex" />
|
||||
<link rel="shortcut icon" href="{STYLE_PATH_ADMIN}images/favicon.ico" />
|
||||
<link rel="icon" href="{STYLE_PATH_ADMIN}images/favicon.png" />
|
||||
|
||||
<link rel="stylesheet" type="text/css" media="screen" href="{STYLE_PATH_ADMIN}css/bootstrap.min.css" />
|
||||
|
||||
|
||||
<IF NAME="lang.DIR==rtl">
|
||||
<link rel="stylesheet" type="text/css" media="all" href="{STYLE_PATH_ADMIN}css/bootstrap.rtl.min.css" />
|
||||
<link rel="stylesheet" type="text/css" href="{STYLE_PATH_ADMIN}css/sb-admin-rtl.css" />
|
||||
|
||||
<style type="text/css">
|
||||
body{font-family: "Tahoma",Arial,sans-serif;}
|
||||
.container{
|
||||
direction: rtl; /* placing it here fixes the issue with jquery white page bug */
|
||||
}
|
||||
</style>
|
||||
</IF>
|
||||
|
||||
<style type="text/css">
|
||||
body {
|
||||
padding-top: 40px;
|
||||
padding-bottom: 40px;
|
||||
background:#fcedef;
|
||||
}
|
||||
|
||||
.form-signin {
|
||||
max-width: 330px;
|
||||
padding: 15px;
|
||||
margin: 50px auto;
|
||||
}
|
||||
|
||||
|
||||
.form-signin-logo{
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.form-signin-heading{
|
||||
font-size:16px;
|
||||
color: darkslategray;
|
||||
}
|
||||
|
||||
|
||||
.form-signin .form-signin-heading, .form-signin-logo,
|
||||
.form-signin .checkbox {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.form-signin .checkbox {
|
||||
font-weight: normal;
|
||||
}
|
||||
.form-signin .form-control {
|
||||
position: relative;
|
||||
font-size: 16px;
|
||||
height: auto;
|
||||
padding: 10px;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.form-signin .form-control:focus {
|
||||
z-index: 2;
|
||||
}
|
||||
.form-signin input[type="text"] {
|
||||
|
||||
border-bottom-left-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
.form-signin input[type="password"] {
|
||||
margin-bottom: 10px;
|
||||
border-top-left-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
}
|
||||
</style>
|
||||
{extra_header_admin_login}
|
||||
</head>
|
||||
<body id="login_body">
|
||||
|
||||
<div class="container">
|
||||
|
||||
<form action="{action}" method="post" style="clear: both;" id="login_form" class="form-signin">
|
||||
<IF NAME="err">
|
||||
<hr>
|
||||
<div class="alert alert-danger">
|
||||
{errs}
|
||||
</div>
|
||||
</IF>
|
||||
|
||||
<!--{lang.KLEEJA_CP}-->
|
||||
|
||||
<img src="{STYLE_PATH_ADMIN}images/kleeja.png" class="form-signin-logo">
|
||||
<h2 class="form-signin-heading">{lang.WELCOME}</h2>
|
||||
|
||||
|
||||
<input type="text" class="form-control" placeholder="{lang.USERNAME}" readonly="readonly" value="{username}">
|
||||
|
||||
<input type="hidden" name="lname" id="lname" value="{username}" />
|
||||
<input type="password" name="lpass_{KEY_FOR_PASS}" class="form-control" placeholder="{lang.PASSWORD}" autofocus>
|
||||
|
||||
<!-- captcha -->
|
||||
<IF NAME="show_captcha">
|
||||
<div class="form-group text-center">
|
||||
<p class="form-control-static">
|
||||
<img style="vertical-align:middle;" id="kleeja_img_captcha" src="{captcha_file_path}" alt="{lang.REFRESH_CAPTCHA}"
|
||||
title="{lang.REFRESH_CAPTCHA}"
|
||||
onclick="javascript:update_kleeja_captcha('{captcha_file_path}', 'kleeja_code_answer');" />
|
||||
</p>
|
||||
|
||||
<input type="text" class="formin" name="kleeja_code_answer" id="kleeja_code_answer" tabindex="4" autocomplete="false" />
|
||||
|
||||
<p class="form-text text-muted">{lang.NOTE_CODE}</p>
|
||||
|
||||
</div>
|
||||
</IF>
|
||||
<!-- end captcha -->
|
||||
|
||||
<button class="btn btn-lg btn-primary btn-block" type="submit" name="submit">{lang.LOGIN}</button>
|
||||
|
||||
{H_FORM_KEYS}
|
||||
<input type="hidden" name="kid" value="{KEY_FOR_WEE}" />
|
||||
|
||||
<hr>
|
||||
<div class="row justify-content-between">
|
||||
<small><a href="{config.siteurl}" title="{lang.RETURN_HOME}" class="muted"> « {lang.RETURN_HOME}</a></small>
|
||||
<small>({not_you})</small>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
</div> <!-- /container -->
|
||||
</body>
|
||||
</html>
|
||||
129
admin/Masmak/admin_plugins.html
Executable file
@@ -0,0 +1,129 @@
|
||||
|
||||
<!-- Breadcrumbs -->
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="./">{lang.R_CPINDEX}</a></li>
|
||||
<li class="breadcrumb-item">{lang.R_PLUGINS}</li>
|
||||
</ol>
|
||||
|
||||
|
||||
|
||||
<IF NAME="no_plugins">
|
||||
|
||||
<div class="alert alert-info">
|
||||
{lang.NO_PLUGINS}
|
||||
<br>
|
||||
<br>
|
||||
<a class="btn btn-primary btn-lg text-center" href="#" data-toggle="modal" data-target="#plugin_add_new">
|
||||
<i class="fa fa-upload"></i> {lang.UPLOAD_LOCAL_PC}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<ELSE>
|
||||
|
||||
<IF NAME="installed_plugins">
|
||||
<div class="row">
|
||||
|
||||
<LOOP NAME="installed_plugins">
|
||||
|
||||
<div class="col-sm-12 col-md-3 mt-2">
|
||||
<div class="card">
|
||||
<img class="card-img-top" src="{{icon}}" alt="{{plg_name}}">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title" style="max-height: 30px; min-height: 30px; overflow-y: auto">
|
||||
<IF LOOP="plg_disabled">
|
||||
{{plg_name}}
|
||||
<i class="fa fa-toggle-off"></i>
|
||||
<ELSE>
|
||||
{{extra_info.plugin_title}} {{extra_info.plugin_version}}
|
||||
</IF>
|
||||
</h4>
|
||||
<p class="card-text" style="max-height: 100px; min-height: 100px; overflow-y: auto">
|
||||
<IF LOOP="plg_disabled">
|
||||
{{plg_dsc}}
|
||||
<ELSE>
|
||||
{{extra_info.plugin_description}}
|
||||
</IF>
|
||||
<br>
|
||||
<small>{{extra_info.plugin_developer}}</small>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="card-footer">
|
||||
<IF LOOP="plg_disabled">
|
||||
<a class="btn btn-outline-primary btn-sm" href="{plugin_enable_link}{{plg_name}}" title="{lang.ENABLE}"><i class="fa fa-toggle-on" title="{lang.ENABLE}"></i> {lang.ENABLE}</a>
|
||||
<ELSE>
|
||||
<a class="btn btn-outline-primary btn-sm" href="{plugin_disable_link}{{plg_name}}" title="{lang.DISABLE}"><i class="fa fa-toggle-off" title="{lang.DISABLE}"></i> {lang.DISABLE}</a>
|
||||
</IF>
|
||||
|
||||
<a class="btn btn-outline-primary btn-sm" href="{plugin_uninstall_link}{{plg_name}}" title="{lang.DELETE}" onclick="javascript:return confirm_form();"><i class="fa fa-remove" title="{lang.DELETE}"></i> {lang.DELETE}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</LOOP>
|
||||
|
||||
</div>
|
||||
|
||||
<br>
|
||||
<hr>
|
||||
|
||||
</IF>
|
||||
|
||||
<!-- available plugins -->
|
||||
|
||||
<nav class="breadcrumb">
|
||||
<div class="breadcrumb-item align-middle">{lang.ADD_NEW_PLUGIN}</div>
|
||||
<a class="btn btn-primary btn-sm float-right" href="#" data-toggle="modal" data-target="#plugin_add_new">
|
||||
<i class="fa fa-upload"></i> {lang.UPLOAD_LOCAL_PC}
|
||||
</a>
|
||||
</nav>
|
||||
|
||||
|
||||
<br>
|
||||
|
||||
<ul class="list-unstyled list-group">
|
||||
<LOOP NAME="available_plugins">
|
||||
<li class="media d-flex justify-content-between list-group-item">
|
||||
<img class="mr-3 rounded-circle" src="{{icon}}" alt="{{name}}" style="width: 75px">
|
||||
<div class="media-body">
|
||||
<h5 class="mt-0 mb-1 pull-(lang.DIR==ltr?left:right)">{{name}}</h5>
|
||||
|
||||
<a class="btn btn-primary pull-(lang.DIR==ltr?right:left)" href="{plugin_install_link}{{name}}" title="{lang.ENABLE}" onclick="javascript:return confirm_form('{lang.PLUGIN_CONFIRM_ADD}');"><i class="fa fa-download" title="{lang.ENABLE}"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
</LOOP>
|
||||
</ul>
|
||||
|
||||
|
||||
</IF>
|
||||
|
||||
|
||||
|
||||
<!-- new plugin modal -->
|
||||
<div id="plugin_add_new" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="addNewPlugin" aria-hidden="true">
|
||||
|
||||
<form method="post" action="{action}" id="add_plugin_form" enctype="multipart/form-data">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="addNewPlugin">{lang.ADD_NEW_PLUGIN}</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
|
||||
<label class="form-control">
|
||||
<input type="file" id="file" name="plugin_file">
|
||||
</label>
|
||||
|
||||
{H_FORM_KEYS}
|
||||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<input type="submit" name="newplugin" class="btn btn-primary" value="{lang.SUBMIT}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<!-- end new plugin modal -->
|
||||
71
admin/Masmak/admin_repair.html
Executable file
@@ -0,0 +1,71 @@
|
||||
|
||||
<!-- Breadcrumbs -->
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="./">{lang.R_CPINDEX}</a></li>
|
||||
<li class="breadcrumb-item">{lang.R_REPAIR}</li>
|
||||
</ol>
|
||||
|
||||
|
||||
<div class="card card-inverse card-primary">
|
||||
<div class="card-body">
|
||||
<h3 class="card-title">{lang.DEL_CACHE}</h3>
|
||||
<a href="{del_cache_link}" class="btn btn-secondary">{lang.DELETE}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="card card-primary card-inverse">
|
||||
<div class="card-body">
|
||||
<h3 class="card-title">{lang.ALL_FILES}: {all_files}</h3>
|
||||
<p class="card-text">{lang.WHY_SYNCING}</p>
|
||||
<a href="{resync_files_link}" class="btn btn-secondary">{lang.RESYNC}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="card card-primary card-inverse">
|
||||
<div class="card-body">
|
||||
<h3 class="card-title">{lang.ALL_IMAGES}: {all_images}</h3>
|
||||
<p class="card-text">{lang.WHY_SYNCING}</p>
|
||||
<a href="{resync_images_link}" class="btn btn-secondary">{lang.RESYNC}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="card card-primary card-inverse">
|
||||
<div class="card-body">
|
||||
<h3 class="card-title">{lang.USERS_ST}: {all_users}</h3>
|
||||
<p class="card-text">{lang.WHY_SYNCING}</p>
|
||||
<a href="{resync_users_link}" class="btn btn-secondary">{lang.RESYNC}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="card card-primary card-inverse">
|
||||
<div class="card-body">
|
||||
<h3 class="card-title">{lang.SIZES_ST}: {all_sizes}</h3>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
<div class="card card-primary card-inverse">
|
||||
<div class="card-body">
|
||||
<h3 class="card-title">{lang.REPAIR_DB_TABLES}</h3>
|
||||
<p class="card-text">{lang.WHY_SYNCING}</p>
|
||||
<a href="{repair_tables_link}" class="btn btn-secondary">{lang.SUBMIT}</a>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="card card-primary card-inverse">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">{lang.ADVICE_CRON_LINK}:</h4>
|
||||
<p class="card-text">
|
||||
<input class="form-control" value="{queue_cron_job_url}" readonly="readonly" />
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
119
admin/Masmak/admin_reports.html
Executable file
@@ -0,0 +1,119 @@
|
||||
|
||||
|
||||
<!-- Breadcrumbs -->
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="./">{lang.R_CPINDEX}</a></li>
|
||||
<li class="breadcrumb-item active">{lang.R_REPORTS}</li>
|
||||
<IF NAME="current_smt == show_h24"><li class="breadcrumb-item active"> {lang.SHOW_FROM_24H}</li></IF>
|
||||
</ol>
|
||||
|
||||
|
||||
<IF NAME="no_results">
|
||||
<div class="alert alert-info">{lang.MESSAGE_NONE}</div>
|
||||
<ELSE>
|
||||
|
||||
|
||||
|
||||
<form method="post" name="reportform" action="{action}" id="reports_form">
|
||||
|
||||
|
||||
<div id="accordion" role="tablist" aria-multiselectable="true">
|
||||
|
||||
<LOOP NAME="arr">
|
||||
<div class="card mb-1" id="su[{{id}}]">
|
||||
<div class="card-header" role="tab" id="heading{{id}}">
|
||||
|
||||
<h6 class="mb-0">
|
||||
<input type="checkbox" class="custom-checkbox" name="del_{{id}}" value="{{id}}" onclick="change_color(this,'su[{{id}}]', 'bg-warning card', 'card');" rel="_del" />
|
||||
|
||||
<a data-toggle="collapse" data-parent="#accordion" href="#collapse{{id}}" aria-expanded="false" aria-controls="collapse{{id}}">
|
||||
{{name}}
|
||||
<IF LOOP="sent"><i class="fa fa-reply" title="{lang.IS_SEND_MAIL}" data-toggle="tooltip"></i></IF>
|
||||
</a>
|
||||
<small class="pull-(lang.DIR==ltr?right:left)">{{human_time}}</small>
|
||||
</h6>
|
||||
|
||||
</div>
|
||||
<div id="collapse{{id}}" class="collapse" role="tabpanel" aria-labelledby="heading{{id}}">
|
||||
|
||||
<div class="card-body">
|
||||
{{text}}
|
||||
<br>
|
||||
<br>
|
||||
____<br>
|
||||
<IF LOOP="mail"><span class="text-muted">{lang.EMAIL}:</span> {{mail}}<br></IF>
|
||||
<span class="text-muted">{lang.IP}:</span> <a href="{{ip_finder}}" target="_blank">{{ip}}</a><br>
|
||||
<span class="text-muted">{lang.TIME}:</span> {{time}}<br>
|
||||
<span class="text-muted">{lang.URL}:</span> <a target="_blank" href="{{url}}">{lang.CLICKHERE}<a/><br>
|
||||
<IF LOOP="mail">
|
||||
<hr>
|
||||
<a class="btn btn-primary" data-toggle="modal" data-target="#contactForm{{id}}" href="#">
|
||||
{lang.REPLY_REPORT}
|
||||
</a>
|
||||
</IF>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</LOOP>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- pagination -->
|
||||
{page_nums}
|
||||
<div class="clearfix"></div>
|
||||
|
||||
<br>
|
||||
<div class="row justify-content-between">
|
||||
<div class="col col-md-auto">[ <a href="javascript:void(0);" onclick="checkAll(document.reportform, '_del', 'su', 'card bg-warning mb-1', 'card mb-1');">{lang.CHECK_ALL}</a> ]</div>
|
||||
<div class="col col-md-auto"><input type="submit" class="btn btn-outline-primary" name="submit" value="{lang.DEL_SELECTED}" /></div>
|
||||
</div>
|
||||
|
||||
|
||||
{H_FORM_KEYS}
|
||||
</form>
|
||||
|
||||
|
||||
<!-- contact form modals -->
|
||||
<LOOP NAME="arr">
|
||||
<div class="modal" id="contactForm{{id}}">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<form method="post" action="{action}" id="send_form" role="form">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">{lang.REPLY_REPORT}</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="modal-body">
|
||||
{{text}}
|
||||
<br>
|
||||
<br>
|
||||
____<br>
|
||||
<IF LOOP="mail"><span class="text-muted">{lang.EMAIL}:</span> {{mail}}<br></IF>
|
||||
<br>
|
||||
|
||||
<textarea name="v_{{id}}" cols="80" class="form-control" rows="3" placeholder="{lang.TEXT}"></textarea>
|
||||
<input type="hidden" name="reply_submit" value="1">
|
||||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="submit" name="reply_submit" class="btn btn-primary btn-sm"><span>{lang.REPLY}</span></button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</LOOP>
|
||||
|
||||
</IF>
|
||||
|
||||
<IF NAME="there_queue">
|
||||
<br><hr>
|
||||
<div class="alert alert-info">{lang.DELETE_PROCESS_IN_WORK}</div>
|
||||
</IF>
|
||||
30
admin/Masmak/admin_rules.html
Executable file
@@ -0,0 +1,30 @@
|
||||
|
||||
|
||||
<!-- Breadcrumbs -->
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="./">{lang.R_CPINDEX}</a></li>
|
||||
<li class="breadcrumb-item active">{lang.R_RULES}</li>
|
||||
</ol>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
{lang.RULES_EXP}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
|
||||
<form method="post" action="{action}" id="rules_form">
|
||||
|
||||
<div class="form-group">
|
||||
<textarea class="form-control" name="rules_text" id="rules_text" rows="10">{rules}</textarea>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<input type="submit" name="submit" value="{lang.UPDATE_RULES}" class="btn btn-primary">
|
||||
|
||||
|
||||
{H_FORM_KEYS}
|
||||
</form>
|
||||
177
admin/Masmak/admin_search.html
Executable file
@@ -0,0 +1,177 @@
|
||||
<script type="text/javascript">
|
||||
function check_search_files_form(form) {
|
||||
var do_it = false;
|
||||
if (form.filename.value != '') {
|
||||
do_it = true;
|
||||
} else if (form.username.value != ''){
|
||||
do_it = true;
|
||||
}else if(form.ext.value != ''){
|
||||
do_it = true;
|
||||
}else if(form.size.value != ''){
|
||||
do_it = true;
|
||||
}else if(form.ups.value != ''){
|
||||
do_it = true;
|
||||
}else if(form.rep.value != ''){
|
||||
do_it = true;
|
||||
}else if(form.lastdown.value != ''){
|
||||
do_it = true;
|
||||
}else if(form.user_ip.value != ''){
|
||||
do_it = true;
|
||||
}
|
||||
|
||||
if(!do_it)
|
||||
{
|
||||
alert("{lang.NO_SEARCH_WORD}");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
function check_search_users_form(form)
|
||||
{
|
||||
var do_it = false;
|
||||
if(form.username.value != '') {
|
||||
do_it = true;
|
||||
}else if(form.username.value != '') {
|
||||
do_it = true;
|
||||
}
|
||||
|
||||
if(!do_it)
|
||||
{
|
||||
alert("{lang.NO_SEARCH_WORD}");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<IF NAME="current_smt==files">
|
||||
|
||||
|
||||
<!-- Breadcrumbs -->
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="./">{lang.R_CPINDEX}</a></li>
|
||||
<li class="breadcrumb-item active">{lang.SEARCH_FILES}</li>
|
||||
</ol>
|
||||
|
||||
|
||||
<form method="post" action="{action}" onsubmit="return check_search_files_form(this);" id="adv_search">
|
||||
|
||||
<div class="form-group">
|
||||
<label for="filename">{lang.FILENAME}</label>
|
||||
<input type="text" class="form-control" id="filename" name="filename" placeholder="">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="username">{lang.USERNAME}</label>
|
||||
<input type="text" class="form-control" id="username" name="username" placeholder="" value="{filled_username}">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="user_ip">{lang.IP}</label>
|
||||
<input type="text" class="form-control" id="user_ip" name="user_ip" placeholder="" value="{filled_ip}">
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<label for="ext">{lang.FILETYPE}</label>
|
||||
<input type="text" class="form-control" id="ext" name="ext" placeholder="">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="size">{lang.FILESIZE}</label>
|
||||
<div class="input-group">
|
||||
<span class="input-group-addon">
|
||||
<select name="than">
|
||||
<option value="1">></option>
|
||||
<option value="2"><</option>
|
||||
</select>
|
||||
</span>
|
||||
<input type="text" class="form-control" id="size" name="size" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<label for="ups">{lang.FILEUPS}</label>
|
||||
<div class="input-group">
|
||||
<span class="input-group-addon">
|
||||
<select name="uthan">
|
||||
<option value="1">></option>
|
||||
<option value="2"><</option>
|
||||
</select>
|
||||
</span>
|
||||
<input type="text" class="form-control" id="ups" name="ups" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<label for="rep">{lang.REPORT}</label>
|
||||
<div class="input-group">
|
||||
<span class="input-group-addon">
|
||||
<select name="rthan">
|
||||
<option value="1">></option>
|
||||
<option value="2"><</option>
|
||||
</select>
|
||||
</span>
|
||||
<input type="text" class="form-control" id="rep" name="rep" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="lastdown">{lang.LAST_DOWN}</label>
|
||||
<div class="input-group">
|
||||
<span class="input-group-addon">{lang.WAS_B4}</span>
|
||||
<input type="text" class="form-control" id="lastdown" name="lastdown" placeholder="">
|
||||
<span class="input-group-addon">{lang.DAYS}</span>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<input type="submit" name="search_file" value="{lang.SEARCH_SUBMIT}" class="btn btn-primary btn-lg"/>
|
||||
|
||||
|
||||
{H_FORM_KEYS}
|
||||
</form>
|
||||
|
||||
|
||||
|
||||
<ELSEIF NAME="current_smt==users">
|
||||
|
||||
<!-- start users search -->
|
||||
<IF NAME="default_user_system">
|
||||
|
||||
<!-- Breadcrumbs -->
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="./">{lang.R_CPINDEX}</a></li>
|
||||
<li class="breadcrumb-item active">{lang.SEARCH_USERS}</li>
|
||||
</ol>
|
||||
|
||||
|
||||
<form method="post" action="{action}" onsubmit="return check_search_users_form(this);" id="user_search">
|
||||
|
||||
<div class="form-group">
|
||||
<label for="username">{lang.USERNAME}</label>
|
||||
<input type="text" class="form-control" id="username" name="username" placeholder="">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="usermail">{lang.EMAIL}</label>
|
||||
<input type="text" class="form-control" id="usermail" name="usermail" placeholder="">
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
|
||||
<input type="submit" name="search_user" value="{lang.SEARCH_SUBMIT}" class="btn btn-primary btn-lg"/>
|
||||
|
||||
|
||||
{H_FORM_KEYS2}
|
||||
</form>
|
||||
|
||||
</IF>
|
||||
|
||||
</IF>
|
||||
|
||||
|
||||
437
admin/Masmak/admin_start.html
Executable file
@@ -0,0 +1,437 @@
|
||||
<!-- general -->
|
||||
<IF NAME="current_smt == general">
|
||||
|
||||
<!-- hello message -->
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item active">{usernamelang}</li>
|
||||
</ol>
|
||||
|
||||
|
||||
<IF NAME="ADM_NOTIFICATIONS">
|
||||
<!-- notifications -->
|
||||
<div class="card mb-3">
|
||||
<div class="card-header">
|
||||
<i class="fa fa-bell-o"></i> {lang.NOTE}
|
||||
</div>
|
||||
<div class="list-group list-group-flush small">
|
||||
<LOOP NAME="ADM_NOTIFICATIONS">
|
||||
<div class="list-group-item list-group-item-action">
|
||||
<div class="media">
|
||||
<IF LOOP="msg_type==error">
|
||||
<span class="d-flex mr-3 rounded-circle fa fa fa-warning" style="font-size: 30px;"></span>
|
||||
<ELSEIF LOOP="msg_type==info">
|
||||
<span class="d-flex mr-3 rounded-circle fa fa-info-circle" style="font-size: 30px;"></span>
|
||||
</IF>
|
||||
<div class="media-body">
|
||||
<strong>{{title}}</strong> <br>
|
||||
{{msg}}
|
||||
<!--<div class="text-muted smaller">Today at 5:43 PM - 5m ago</div>-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</LOOP>
|
||||
</div>
|
||||
</div>
|
||||
<!-- end notifications -->
|
||||
</IF>
|
||||
|
||||
{extra_adm_start_html}
|
||||
|
||||
<!-- stats boxes -->
|
||||
<!-- Icon Cards -->
|
||||
<div class="row">
|
||||
<div class="col-xl-3 col-sm-6 mb-3">
|
||||
<div class="card text-white bg-primary o-hidden h-100">
|
||||
<div class="card-body">
|
||||
<div class="card-body-icon">
|
||||
<i class="fa fa-fw fa-comments"></i>
|
||||
</div>
|
||||
<div class="mr-5">
|
||||
{kbubbles.calls} {lang.R_CALLS}
|
||||
</div>
|
||||
</div>
|
||||
<a href="./?cp=e_calls" class="card-footer text-white clearfix small z-1">
|
||||
<span class="float-left">{lang.VIEW}</span>
|
||||
<span class="float-right"><i class="fa fa-angle-right"></i></span>
|
||||
</a>
|
||||
<a href="./?cp=e_calls&smt=show_h24" class="card-footer text-white clearfix small z-1">
|
||||
<span class="float-left">{lang.SHOW_FROM_24H}</span>
|
||||
<span class="float-right"><i class="fa fa-angle-right"></i></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-3 col-sm-6 mb-3">
|
||||
<div class="card text-white bg-success o-hidden h-100">
|
||||
<div class="card-body">
|
||||
<div class="card-body-icon">
|
||||
<i class="fa fa-fw fa-flag"></i>
|
||||
</div>
|
||||
<div class="mr-5">
|
||||
{kbubbles.reports} {lang.R_REPORTS}
|
||||
</div>
|
||||
</div>
|
||||
<a href="./?cp=f_reports" class="card-footer text-white clearfix small z-1">
|
||||
<span class="float-left">{lang.VIEW}</span>
|
||||
<span class="float-right"><i class="fa fa-angle-right"></i></span>
|
||||
</a>
|
||||
<a href="./?cp=f_reports&smt=show_h24" class="card-footer text-white clearfix small z-1">
|
||||
<span class="float-left">{lang.SHOW_FROM_24H}</span>
|
||||
<span class="float-right"><i class="fa fa-angle-right"></i></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-xl-3 col-sm-6 mb-3">
|
||||
<div class="card text-white bg-danger o-hidden h-100">
|
||||
<div class="card-body">
|
||||
<div class="card-body-icon">
|
||||
<i class="fa fa-fw fa-files-o"></i>
|
||||
</div>
|
||||
<div class="mr-5">
|
||||
<small>{lang.AFILES_NUM}</small>
|
||||
<br>
|
||||
{files_number} <small>({stat_files} {lang.FILE} + {stat_imgs} {lang.IMAGE})</small>
|
||||
</div>
|
||||
</div>
|
||||
<a href="./?cp=c_files" class="card-footer text-white clearfix small z-1">
|
||||
<span class="float-left">{lang.R_FILES}</span>
|
||||
<span class="float-right"><i class="fa fa-angle-right"></i></span>
|
||||
</a>
|
||||
<a href="./?cp=d_img_ctrl" class="card-footer text-white clearfix small z-1">
|
||||
<span class="float-left">{lang.R_IMG_CTRL}</span>
|
||||
<span class="float-right"><i class="fa fa-angle-right"></i></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="col-xl-3 col-sm-6 mb-3">
|
||||
<div class="card text-white bg-info o-hidden h-100">
|
||||
<div class="card-body">
|
||||
<div class="card-body-icon">
|
||||
<i class="fa fa-fw fa-users"></i>
|
||||
</div>
|
||||
<div class="mr-5">
|
||||
{users_number} {lang.AUSERS_NUM}
|
||||
<IF NAME="config.user_system==1">
|
||||
<br><small>{lang.LAST_REG}: {lst_reg}</small>
|
||||
</IF>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<a href="./?cp=g_users" class="card-footer text-white clearfix small z-1">
|
||||
<span class="float-left">{lang.R_USERS}</span>
|
||||
<span class="float-right"><i class="fa fa-angle-right"></i></span>
|
||||
</a>
|
||||
<a href="./?cp=h_search&smt=users" class="card-footer text-white clearfix small z-1">
|
||||
<span class="float-left">{lang.SEARCH_USERS}</span>
|
||||
<span class="float-right"><i class="fa fa-angle-right"></i></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- end stats boxes -->
|
||||
|
||||
|
||||
<hr>
|
||||
|
||||
|
||||
<!-- last visit actions -->
|
||||
<IF NAME="last_visit">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
{lang.LAST_VISIT} ({last_visit})
|
||||
</div>
|
||||
<div class="card-body">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h3 class="card-title">{lang.FLS_LST_VST_SEARCH}:</h3>
|
||||
|
||||
<IF NAME="files_last_visit"><a href="{h_lst_files}{files_last_visit}" class="btn btn-primary">{lang.LAST_VIEW}</a> {lang.OR} </IF>
|
||||
<select class="show_since_time custom-select" tabindex="3" onchange="javascript:get_kleeja_link('{h_lst_files}' + (Math.round((new Date()).getTime() / 1000) - $(this).val()), '#content');">">
|
||||
<option>{lang.TIME}...</option>
|
||||
<option value="3600">{lang.HOUR}</option>
|
||||
<option value="18000">{lang.5HOURS}</option>
|
||||
<option value="864000">{lang.DAY}</option>
|
||||
<option value="6048000">{lang.WEEK}</option>
|
||||
<option value="25920000">{lang.MONTH}</option>
|
||||
<option value="31536000">{lang.YEAR}</option>
|
||||
</select>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h3 class="card-title">{lang.IMG_LST_VST_SEARCH}:</h3>
|
||||
|
||||
<IF NAME="image_last_visit"><a href="{h_lst_imgs}{image_last_visit}" class="btn btn-primary">{lang.LAST_VIEW}</a> {lang.OR} </IF>
|
||||
|
||||
<select class="show_since_time custom-select" tabindex="3" onchange="javascript:get_kleeja_link('{h_lst_imgs}' + (Math.round((new Date()).getTime() / 1000) - $(this).val()), '#content');">">
|
||||
<option>{lang.TIME}...</option>
|
||||
<option value="3600">{lang.HOUR}</option>
|
||||
<option value="18000">{lang.5HOURS}</option>
|
||||
<option value="864000">{lang.DAY}</option>
|
||||
<option value="6048000">{lang.WEEK}</option>
|
||||
<option value="25920000">{lang.MONTH}</option>
|
||||
<option value="31536000">{lang.YEAR}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</IF>
|
||||
<!-- end last visit actions -->
|
||||
|
||||
<hr>
|
||||
|
||||
<!-- stats_chart -->
|
||||
<IF NAME="stats_chart">
|
||||
|
||||
<div class="card mb-3">
|
||||
<div class="card-header">
|
||||
<i class="fa fa-area-chart"></i> {lang.STATS}
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div id="chart_stats"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
{stats_chart}
|
||||
</script>
|
||||
|
||||
</IF>
|
||||
<!-- end stats_chart -->
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
|
||||
<!-- hurry hurry actions -->
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
{lang.HURRY_HURRY}
|
||||
</div>
|
||||
<ul class="list-group list-group-flush">
|
||||
<li class="list-group-item d-flex justify-content-between">
|
||||
{lang.STYLE}
|
||||
<div>
|
||||
<select name="style_change" id="style_change" class="custom-select">
|
||||
{hurry_styles_list}
|
||||
</select>
|
||||
<button class="btn btn-outline-primary" onclick="javascript:get_kleeja_link('{hurry_style_link}' + $('#style_change').val()); return false;"><span>{lang.CHANGE}</span></button>
|
||||
</div>
|
||||
</li>
|
||||
<li class="list-group-item d-lg-flex justify-content-between">
|
||||
{lang.LANGUAGE}
|
||||
<div>
|
||||
<select name="lang_change" class="custom-select" id="lang_change">
|
||||
{hurry_langs_list}
|
||||
</select>
|
||||
{lang.FOR}
|
||||
<select name="groups_list" class="custom-select" id="groups_list">
|
||||
{hurry_groups_list}
|
||||
</select>
|
||||
<button class="btn btn-outline-primary mt-2" onclick="javascript:get_kleeja_link('{hurry_lang_link}' + $('#lang_change').val() + '&qg=' + $('#groups_list').val()); return false;"><span>{lang.CHANGE}</span></button>
|
||||
</div>
|
||||
|
||||
</li>
|
||||
<li class="list-group-item d-lg-flex justify-content-between">
|
||||
{lang.R_REPAIR}
|
||||
<button class="btn btn-outline-primary" onclick="javascript:get_kleeja_link('{del_cache_link}'); return false;"><span>{lang.DEL_CACHE}</span></button>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<!-- hurry hurry actions -->
|
||||
|
||||
<hr>
|
||||
|
||||
<!-- another stats -->
|
||||
<div class="card">
|
||||
<ul class="list-group list-group-flush">
|
||||
<li class="list-group-item d-flex justify-content-between">
|
||||
{lang.LSTDELST}
|
||||
<span>{last_del_fles}</span>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
{lang.AFILES_SIZE_SPACE}
|
||||
<br>
|
||||
<div class="progress" style="width: 100%">
|
||||
<div class="progress-bar" role="progressbar" aria-valuenow="{per1}" aria-valuemin="0" aria-valuemax="100">{per1}%</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="list-group-item d-flex justify-content-between">
|
||||
{lang.KLEEJA_VERSION}
|
||||
<span>{kleeja_version}</span>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
<!-- end another stats -->
|
||||
|
||||
|
||||
|
||||
<ELSEIF NAME="current_smt == other">
|
||||
|
||||
<!-- Breadcrumbs -->
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="./">{lang.R_CPINDEX}</a></li>
|
||||
<li class="breadcrumb-item active">{lang.OTHER_INFO}</li>
|
||||
</ol>
|
||||
|
||||
|
||||
<div class="card">
|
||||
<ul class="list-group list-group-flush">
|
||||
<li class="list-group-item d-flex justify-content-between">
|
||||
{lang.PHP_VER}
|
||||
<span>{php_version}</span>
|
||||
</li>
|
||||
<li class="list-group-item d-flex justify-content-between">
|
||||
{lang.MYSQL_VER}
|
||||
|
||||
<span>{mysql_version}</span>
|
||||
</li>
|
||||
|
||||
<li class="list-group-item d-flex justify-content-between">
|
||||
{lang.KLEEJA_VERSION}
|
||||
<span>{kleeja_version}</span>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
<hr>
|
||||
|
||||
<div class="card">
|
||||
<ul class="list-group list-group-flush">
|
||||
<li class="list-group-item d-flex justify-content-between">
|
||||
max_execution_time
|
||||
<span>{max_execution_time}</span>
|
||||
</li>
|
||||
<li class="list-group-item d-flex justify-content-between">
|
||||
upload_max_filesize
|
||||
<span>{upload_max_filesize}</span>
|
||||
</li>
|
||||
<li class="list-group-item d-flex justify-content-between">
|
||||
post_max_size
|
||||
<span>{post_max_size}</span>
|
||||
</li>
|
||||
<li class="list-group-item d-flex justify-content-between">
|
||||
memory_limit
|
||||
<span>{memory_limit}</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
|
||||
<!-- search engines stats -->
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
{lang.SEARCH_STAT} / <b>Google</b>
|
||||
</div>
|
||||
<ul class="list-group list-group-flush">
|
||||
<li class="list-group-item d-flex justify-content-between">
|
||||
{lang.LAST_GOOGLE}
|
||||
<span>{s_last_google}</span>
|
||||
</li>
|
||||
<li class="list-group-item d-flex justify-content-between">
|
||||
{lang.GOOGLE_NUM}
|
||||
<span>{s_google_num}</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
{lang.SEARCH_STAT} / <b>Bing</b>
|
||||
</div>
|
||||
<ul class="list-group list-group-flush">
|
||||
<li class="list-group-item d-flex justify-content-between">
|
||||
{lang.LAST_BING}
|
||||
<span>{s_last_bing}</span>
|
||||
</li>
|
||||
<li class="list-group-item d-flex justify-content-between">
|
||||
{lang.BING_NUM}
|
||||
<span>{s_bing_num}</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- end search engines stats -->
|
||||
|
||||
|
||||
|
||||
|
||||
<ELSEIF NAME="current_smt == team">
|
||||
|
||||
<!-- Breadcrumbs -->
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="./">{lang.R_CPINDEX}</a></li>
|
||||
<li class="breadcrumb-item active">{lang.KLEEJA_TEAM}</li>
|
||||
</ol>
|
||||
|
||||
|
||||
<ul class="list-group">
|
||||
<div class="list-group-item list-group-item-action flex-column align-items-start ">
|
||||
<div class="d-flex w-100 justify-content-between">
|
||||
<h5 class="mb-1">Abdullrahman M. Alshuwayi</h5>
|
||||
<small><a href="http://twitter.com/abdu1m" target="_blank">@abdu1m</a></small>
|
||||
</div>
|
||||
<p class="mb-1">Founder and main developer, skilled and has 13+ years of programming experience.
|
||||
<br><small>2007-{current_year}</small></p>
|
||||
<small style="font-family: Tahoma, sans-serif">عبدالرحمن الشويعي</small>
|
||||
</div>
|
||||
<div class="list-group-item list-group-item-action flex-column align-items-start ">
|
||||
<div class="d-flex w-100 justify-content-between">
|
||||
<h5 class="mb-1">Bader N. Al-Mutairi</h5>
|
||||
<small><a href="http://twitter.com/phpfalcon" target="_blank">@phpfalcon</a></small>
|
||||
</div>
|
||||
<p class="mb-1">An app developer with a passion for making beautiful things.
|
||||
<br><small>2009-2012</small></p>
|
||||
<small style="font-family: Tahoma, sans-serif">بدر المطيري</small>
|
||||
</div>
|
||||
<div class="list-group-item list-group-item-action flex-column align-items-start ">
|
||||
<div class="d-flex w-100 justify-content-between">
|
||||
<h5 class="mb-1">Moayead Y. Hejazi</h5>
|
||||
</div>
|
||||
<p class="mb-1">Enthusiastic and Leader in customer support.
|
||||
<br><small>2011-2017</small></p>
|
||||
<small style="font-family: Tahoma, sans-serif">مؤيد حجازي</small>
|
||||
</div>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
<IF NAME="translator_copyrights">
|
||||
<hr>
|
||||
<small>{translator_copyrights}</small>
|
||||
</IF>
|
||||
|
||||
<hr>
|
||||
<small>You can support Kleeja by reporting or fixing a bug, designing a style, building a plugin or even just sending a thank you message to info@kleeja.com.</small>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
<hr>
|
||||
<div class="text-muted text-center">Kleeja proudly made in Buraydah City <br> ❤ Trusted since 2007 <br><small>{kleeja_version}</small></div>
|
||||
|
||||
|
||||
</IF>
|
||||
|
||||
68
admin/Masmak/admin_styles.html
Executable file
@@ -0,0 +1,68 @@
|
||||
|
||||
|
||||
<!-- Breadcrumbs -->
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="./">{lang.R_CPINDEX}</a></li>
|
||||
<li class="breadcrumb-item">{lang.R_STYLES}</li>
|
||||
|
||||
<li class="float-right">
|
||||
<a class="btn btn-primary btn-sm" href="#" data-toggle="modal" data-target="#style_add_new">
|
||||
<i class="fa fa-upload"></i> {lang.UPLOAD_LOCAL_PC}
|
||||
</a>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
|
||||
<ul class="list-unstyled list-group">
|
||||
<LOOP NAME="arr">
|
||||
<li class="media justify-content-between d-lg-flex list-group-item">
|
||||
<img class="mr-3" src="{{icon}}" alt="{{style_name}}" style="width: 250px">
|
||||
<div class="media-body col-xs-12" style="padding: 10px">
|
||||
<h5 class="mt-0 mb-1">{{info.name}} <small class="text-muted">{{info.version}}</small> </h5>
|
||||
|
||||
<p>{{info.desc}}</p>
|
||||
<p class="text-muted">{{info.copyright}}</p>
|
||||
<div class="mt-4">
|
||||
<IF LOOP="is_default">
|
||||
<span class="badge badge-pill badge-dark"><i class="fa fa-certificate text-warning" title="{lang.STYLE_IS_DEFAULT}"></i> {lang.STYLE_IS_DEFAULT}</span>
|
||||
<ELSE>
|
||||
<a href="{{link_mk_default}}" class="btn btn-primary" title="{lang.MAKE_AS_DEFAULT}"><i class="fa fa-check-square-o" title="{lang.MAKE_AS_DEFAULT}"></i> {lang.MAKE_AS_DEFAULT}</a>
|
||||
</IF>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</LOOP>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
<!-- new style modal -->
|
||||
<div id="style_add_new" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="addNewStyle" aria-hidden="true">
|
||||
|
||||
<form method="post" action="{action}" id="add_style_form" enctype="multipart/form-data">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="addNewStyle">{lang.UPLOAD_LOCAL_PC}</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
|
||||
<label class="form-control">
|
||||
<input type="file" id="file" name="style_file">
|
||||
</label>
|
||||
|
||||
{H_FORM_KEYS}
|
||||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<input type="submit" name="newstyle" class="btn btn-primary" value="{lang.SUBMIT}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<!-- end new style modal -->
|
||||
|
||||
802
admin/Masmak/admin_users.html
Executable file
@@ -0,0 +1,802 @@
|
||||
|
||||
|
||||
<IF NAME="current_smt == general">
|
||||
|
||||
|
||||
<!-- Breadcrumbs -->
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="./">{lang.R_CPINDEX}</a></li>
|
||||
<li class="breadcrumb-item">{lang.R_GROUPS}</li>
|
||||
</ol>
|
||||
|
||||
|
||||
<IF NAME="user_not_normal"><ELSE>
|
||||
<a href="#" class="btn btn-primary pull-(lang.DIR==ltr?right:left)" data-toggle="modal" data-target="#group_add_new">
|
||||
<i class="fa fa-plus-circle"></i> {lang.ADD_NEW_GROUP}
|
||||
</a>
|
||||
</IF>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
|
||||
|
||||
<br>
|
||||
|
||||
<!-- if not normal user system, tell him -->
|
||||
<IF NAME="user_not_normal">
|
||||
<div class="alert alert-info">
|
||||
{lang.USERS_NOT_NORMAL_SYS}
|
||||
</div>
|
||||
<br>
|
||||
</IF>
|
||||
|
||||
|
||||
<!-- start data table -->
|
||||
<UNLESS NAME="no_results">
|
||||
<h3>{lang.ESSENTIAL_GROUPS}</h3>
|
||||
|
||||
|
||||
<!-- start essential groups -->
|
||||
<div class="row">
|
||||
|
||||
<LOOP NAME="e_groups">
|
||||
|
||||
<div class="col-xl-4 col-sm-6 mb-4">
|
||||
<div class="card text-white bg-{{style.background}} o-hidden h-100">
|
||||
<div class="card-body">
|
||||
<div class="card-body-icon">
|
||||
<i class="fa fa-fw {{style.icon}}"></i>
|
||||
</div>
|
||||
<div class="mr-5">
|
||||
{{name}}
|
||||
<UNLESS NAME="user_not_normal">
|
||||
<IF LOOP="is_default">
|
||||
<i class="fa fa-check" title="{lang.GROUP_IS_DEFAULT}" data-toggle="tooltip"></i>
|
||||
</IF>
|
||||
</UNLESS>
|
||||
</div>
|
||||
</div>
|
||||
<a href="{action}&smt=group_data&qg={{id}}" class="card-footer bg-white clearfix small z-1" title="{lang.EDIT_DATA}">
|
||||
<i class="fa fa-edit"></i> {lang.EDIT_DATA}
|
||||
</a>
|
||||
<a href="{action}&smt=group_acl&qg={{id}}" class="card-footer bg-white clearfix small z-1" title="{lang.EDIT_ACL}">
|
||||
<i class="fa fa-tasks"></i> {lang.EDIT_ACL}
|
||||
</a>
|
||||
<a href="{action}&smt=group_exts&qg={{id}}" class="card-footer bg-white clearfix small z-1" title="{lang.R_EXTS}">
|
||||
<i class="fa fa-file-code-o"></i> {lang.R_EXTS}
|
||||
</a>
|
||||
|
||||
<IF LOOP="id != 2">
|
||||
<a class="card-footer bg-white clearfix small z-1" href="{action}&smt=show_group&qg={{id}}" title="{lang.USERS}">
|
||||
<i class="fa fa-users"></i> {lang.USERS}
|
||||
</a>
|
||||
</IF>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</LOOP>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<IF NAME="c_groups">
|
||||
<br>
|
||||
<hr>
|
||||
<br>
|
||||
|
||||
|
||||
<h3>{lang.CUSTOM_GROUPS}</h3>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<LOOP NAME="c_groups">
|
||||
|
||||
<div class="col-xl-4 col-sm-6 mb-4">
|
||||
<div class="card text-white o-hidden h-100" style="background-color: #a85053; border-color: #a85053;">
|
||||
<div class="card-body">
|
||||
<div class="card-body-icon">
|
||||
<i class="fa fa-fw fa-user-plus"></i>
|
||||
</div>
|
||||
<div class="mr-5">
|
||||
{{name}}
|
||||
<IF NAME="user_not_normal"><ELSE><IF LOOP="is_default">
|
||||
<i class="fa fa-check" title="{lang.GROUP_IS_DEFAULT}" data-toggle="tooltip"></i>
|
||||
</IF></IF>
|
||||
</div>
|
||||
</div>
|
||||
<a href="{action}&smt=group_data&qg={{id}}" class="card-footer bg-white clearfix small z-1" title="{lang.EDIT_DATA}">
|
||||
<i class="fa fa-edit"></i> {lang.EDIT_DATA}
|
||||
</a>
|
||||
<a href="{action}&smt=group_acl&qg={{id}}" class="card-footer bg-white clearfix small z-1" title="{lang.EDIT_ACL}">
|
||||
<i class="fa fa-tasks"></i> {lang.EDIT_ACL}
|
||||
</a>
|
||||
<a href="{action}&smt=group_exts&qg={{id}}" class="card-footer bg-white clearfix small z-1" title="{lang.R_EXTS}">
|
||||
<i class="fa fa-file-code-o"></i> {lang.R_EXTS}
|
||||
</a>
|
||||
|
||||
<a class="card-footer bg-white clearfix small z-1" href="{action}&smt=show_group&qg={{id}}" title="{lang.USERS}">
|
||||
<i class="fa fa-users"></i> {lang.USERS}
|
||||
</a>
|
||||
|
||||
<a href="#" class="card-footer bg-white clearfix small z-1" data-toggle="modal" data-target="#delete_group_{{id}}" title="{lang.DELETE}">
|
||||
<i class="fa fa-remove"></i> {lang.DELETE}
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</LOOP>
|
||||
</div>
|
||||
|
||||
|
||||
</IF>
|
||||
<!-- end c_groups -->
|
||||
</UNLESS>
|
||||
<!-- end if result -->
|
||||
|
||||
|
||||
|
||||
<!-- new group modal -->
|
||||
<div id="group_add_new" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="addNewGroup" aria-hidden="true">
|
||||
|
||||
<form method="post" action="{action}" id="add_group_form">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="addNewGroup">{lang.ADD_NEW_GROUP}</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
|
||||
<div class="form-group">
|
||||
<label for="gname">{lang.GROUP_NAME}</label>
|
||||
<input type="text" class="form-control" id="gname" name="gname">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="cfrom">{lang.COPY_FROM}</label>
|
||||
<select class="form-control" id="cfrom" name="cfrom">
|
||||
<option value="-1">{lang.DEFAULT_GROUP}</option>
|
||||
<LOOP NAME="e_groups"><IF LOOP="id == 2"><ELSE><option value="{{id}}">{{name}}</option></IF></LOOP>
|
||||
<LOOP NAME="c_groups"><option value="{{id}}">{{name}}</option></LOOP>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
{H_FORM_KEYS3}
|
||||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<input type="submit" name="newgroup" class="btn btn-primary" value="{lang.SUBMIT}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<!-- end new group modal -->
|
||||
|
||||
|
||||
<!-- end delete group modal -->
|
||||
<LOOP NAME="c_groups">
|
||||
|
||||
<div id="delete_group_{{id}}" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="delAGroup" aria-hidden="true">
|
||||
|
||||
<form method="post" action="{action}" id="del_group_form{{id}}">
|
||||
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="delAGroup">{lang.DELETE_GROUP} : {{name}}</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
|
||||
<input type="hidden" name="dgroup" id="dgroup" value="{{id}}" />
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<label for="tgroup">{lang.G_USERS_MOVE_TO}</label>
|
||||
<select class="form-control" id="tgroup" name="tgroup">
|
||||
<IF LOOP="is_default"><ELSE><option value="-1">{lang.DEFAULT_GROUP}</option></IF>
|
||||
<LOOP NAME="e_groups"><IF LOOP="id == 2"><ELSE><option value="{{id}}">{{name}}</option></IF></LOOP>
|
||||
<LOOP NAME="c_groups"><option value="{{id}}">{{name}}</option></LOOP>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
|
||||
{H_FORM_KEYS4}
|
||||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<input type="submit" name="delgroup" class="btn btn-primary" value="{lang.SUBMIT}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</LOOP>
|
||||
<!-- end delete group modal -->
|
||||
|
||||
<!-- ********** -->
|
||||
<!-- ********** -->
|
||||
<!-- end smt == general -->
|
||||
<!-- ********** -->
|
||||
<!-- ********** -->
|
||||
|
||||
|
||||
|
||||
|
||||
<ELSEIF NAME="show_results">
|
||||
|
||||
|
||||
<!-- Breadcrumbs -->
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="./">{lang.R_CPINDEX}</a></li>
|
||||
<li class="breadcrumb-item"><a href="{cp_users_url}&smt=general">{lang.R_GROUPS}</a></li>
|
||||
<IF NAME="is_search"><li class="breadcrumb-item active"><IF NAME="current_smt == show_group">{group_name}<ELSE>{lang.SEARCH_USERS}</IF> ( {nums_rows} )</li></IF>
|
||||
</ol>
|
||||
|
||||
|
||||
|
||||
<!-- if not normal user system, tell him -->
|
||||
<IF NAME="user_not_normal">
|
||||
<div class="alert alert-info">
|
||||
{lang.USERS_NOT_NORMAL_SYS}
|
||||
</div>
|
||||
<br>
|
||||
</IF>
|
||||
|
||||
|
||||
<IF NAME="GE_INFO">
|
||||
<script type="text/javascript">
|
||||
setTimeout(function() {
|
||||
$('.infoexts').fadeOut('fast');
|
||||
}, 5000);
|
||||
</script>
|
||||
<div class="alert alert-info infoexts">
|
||||
{GE_INFO}
|
||||
</div>
|
||||
</IF>
|
||||
|
||||
<br>
|
||||
|
||||
|
||||
<IF NAME="arr">
|
||||
<ul class="list-group">
|
||||
<LOOP NAME="arr">
|
||||
|
||||
<li class="list-group-item d-flex justify-content-between">
|
||||
<div class="col col-md-auto">
|
||||
<h3>{{name}} <IF LOOP="founder==1"><i class="fa fa-star text-warning" title="{lang.FOUNDER}" data-toggle="tooltip" style="font-size: medium;vertical-align: top;"></i></IF></h3>
|
||||
|
||||
<small class="text-muted">
|
||||
<i class="fa fa-users"></i> {lang.GROUP}: {{group}} <i class="fa fa-clock-o"></i> {lang.LAST_VISIT}: {{last_visit}}
|
||||
</small>
|
||||
</div>
|
||||
<div class="col col-md-auto">
|
||||
<div class="btn-group btn-group-sm" role="group" aria-label="...">
|
||||
|
||||
<a target="_blank" href="{{userfile_link}}" title="{lang.BROSWERF}" class="btn btn-secondary"><i class="fa fa-folder-open-o" title="{lang.BROSWERF}"></i> {lang.BROSWERF}</a>
|
||||
<a href="{{delusrfile_link}}&{GET_FORM_KEY}" class="btn btn-secondary" onclick="javascript:return confirm_form();" title="{lang.ADMIN_DELETE_FILES}"><i class="fa fa-trash" title="{lang.ADMIN_DELETE_FILES}"></i> {lang.ADMIN_DELETE_FILES}</a>
|
||||
<IF LOOP="delusr_link">
|
||||
<a href="{{delusr_link}}&{GET_FORM_KEY}" class="btn btn-secondary" onclick="javascript:return confirm_form();" title="{lang.DELETE}"><i class="fa fa-remove" title="{lang.DELETE}"></i> {lang.DELETE}</a>
|
||||
</IF>
|
||||
<a href="{{editusr_link}}" title="{lang.EDIT}" class="btn btn-secondary"><i class="fa fa-edit" title="{lang.EDIT}"></i> {lang.EDIT}</a>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
|
||||
</LOOP>
|
||||
</ul>
|
||||
<ELSE>
|
||||
<div class="alert alert-info">{lang.NOTHING}</div>
|
||||
</IF>
|
||||
|
||||
|
||||
|
||||
<!-- pagination -->
|
||||
{page_nums}
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- ********** -->
|
||||
<!-- ********** -->
|
||||
<!-- end show results -->
|
||||
<!-- ********** -->
|
||||
<!-- ********** -->
|
||||
|
||||
|
||||
<ELSEIF NAME="current_smt == new_u">
|
||||
|
||||
<!-- Breadcrumbs -->
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="./">{lang.R_CPINDEX}</a></li>
|
||||
<li class="breadcrumb-item"><a href="{cp_users_url}&smt=general">{lang.R_GROUPS}</a></li>
|
||||
<li class="breadcrumb-item active">{lang.NEW_USER} </li>
|
||||
</ol>
|
||||
|
||||
|
||||
<IF NAME="errs">
|
||||
<div class="alert alert-danger">
|
||||
{errs}
|
||||
</div>
|
||||
</IF>
|
||||
|
||||
<form method="post" action="{action}" id="add_user_form">
|
||||
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<label for="lname">{lang.USERNAME}</label>
|
||||
<input type="text" class="form-control" id="lname" name="lname" value="{uname}" >
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="lmail">{lang.EMAIL}</label>
|
||||
<input type="email" class="form-control" id="lmail" name="lmail" value="{umail}" >
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<label for="lpass">{lang.PASSWORD}</label>
|
||||
<input type="password" class="form-control" id="lpass" name="lpass" value="" autocomplete="false" >
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="lgroup">{lang.GROUP}</label>
|
||||
<select class="form-control" id="lgroup" name="lgroup">
|
||||
<LOOP NAME="u_groups">
|
||||
<option value="{{id}}"<IF LOOP="selected"> selected="selected"</IF>>{{name}} <IF LOOP="default">({lang.DEFAULT_GROUP})</IF></option>
|
||||
</LOOP>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
|
||||
<input type="submit" name="newuser" value="{lang.SUBMIT}" class="btn btn-primary" />
|
||||
|
||||
|
||||
{H_FORM_KEYS2}
|
||||
</form>
|
||||
|
||||
|
||||
|
||||
<!-- ********** -->
|
||||
<!-- ********** -->
|
||||
<!-- end new user -->
|
||||
<!-- ********** -->
|
||||
<!-- ********** -->
|
||||
|
||||
|
||||
<ELSEIF NAME="current_smt == edit_user">
|
||||
|
||||
|
||||
<!-- Breadcrumbs -->
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="./">{lang.R_CPINDEX}</a></li>
|
||||
<li class="breadcrumb-item"><a href="{cp_users_url}&smt=general">{lang.R_GROUPS}</a></li>
|
||||
<li class="breadcrumb-item active">{lang.EDIT} ({title_name})</li>
|
||||
</ol>
|
||||
|
||||
|
||||
<IF NAME="errs">
|
||||
<div class="alert alert-danger">
|
||||
{errs}
|
||||
</div>
|
||||
</IF>
|
||||
|
||||
|
||||
<form method="post" action="{action}&uid={userid}&qg={u_qg}&page={u_page}" id="edit_user_form">
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<label for="l_name">{lang.USERNAME}</label>
|
||||
<input type="text" class="form-control" id="l_name" name="l_name" value="{u_name}">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="l_mail">{lang.EMAIL}</label>
|
||||
<input type="email" class="form-control" id="l_mail" name="l_mail" value="{u_mail}">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="l_pass">{lang.PASS_ON_CHANGE}</label>
|
||||
<input type="password" class="form-control" id="l_pass" name="l_pass" value="">
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<label for="l_show_filecp">{lang.SHOW_MY_FILECP}</label>
|
||||
<select class="form-control" id="l_show_filecp" name="l_show_filecp">
|
||||
<option value="1"<IF NAME="u_show_filecp"> selected="selected"</IF>>{lang.YES}</option>
|
||||
<option value="0"<IF NAME="u_show_filecp"><ELSE> selected="selected"</IF>>{lang.NO}</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<label for="l_group">{lang.GROUP}</label>
|
||||
<select class="form-control" id="l_group" name="l_group">
|
||||
<LOOP NAME="u_groups">
|
||||
<IF LOOP="id == 2"><ELSE>
|
||||
<option value="{{id}}"<IF LOOP="selected"> selected="selected"</IF>>{{name}} <IF LOOP="default">({lang.DEFAULT_GROUP})</IF></option>
|
||||
</IF>
|
||||
</LOOP>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
|
||||
<IF NAME="im_founder">
|
||||
<div class="form-group">
|
||||
<label for="l_founder">{lang.FOUNDER}</label>
|
||||
<select class="form-control" id="l_founder" name="l_founder">
|
||||
<option value="1"<IF NAME="u_founder"> selected="selected"</IF>>{lang.YES}</option>
|
||||
<option value="0"<IF NAME="u_founder"><ELSE> selected="selected"</IF>>{lang.NO}</option>
|
||||
</select>
|
||||
</div>
|
||||
</IF>
|
||||
|
||||
|
||||
|
||||
<div class="br"></div>
|
||||
<input type="hidden" name="l_qg" value="{u_qg}" />
|
||||
<input type="hidden" name="l_page" value="{u_page}" />
|
||||
<input type="hidden" name="uid" value="{userid}" />
|
||||
|
||||
<br>
|
||||
|
||||
<input type="submit" class="btn btn-primary" name="edituser" value="{lang.SUBMIT}" />
|
||||
|
||||
|
||||
{H_FORM_KEYS8}
|
||||
</form>
|
||||
|
||||
|
||||
|
||||
<!-- ********** -->
|
||||
<!-- ********** -->
|
||||
<!-- end edit user -->
|
||||
<!-- ********** -->
|
||||
<!-- ********** -->
|
||||
|
||||
|
||||
<ELSEIF NAME="current_smt == group_acl">
|
||||
|
||||
<!-- Breadcrumbs -->
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="./">{lang.R_CPINDEX}</a></li>
|
||||
<li class="breadcrumb-item"><a href="{cp_users_url}&smt=general">{lang.R_GROUPS}</a></li>
|
||||
<li class="breadcrumb-item active">{lang.EDIT_ACL} ({group_name})</li>
|
||||
</ol>
|
||||
|
||||
|
||||
<form method="post" action="{action}" id="edit_acl_form">
|
||||
|
||||
<ul class="list-group">
|
||||
|
||||
<LOOP NAME="acls">
|
||||
<li class="list-group-item d-flex justify-content-between">
|
||||
<div class="col col-md-auto">
|
||||
{{acl_title}}
|
||||
</div>
|
||||
<div class="col col-md-auto">
|
||||
<p class="field switch">
|
||||
<label class="cb-enable<IF LOOP="acl_can == 1"> selected</IF>"><span>{lang.HE_CAN}</span></label>
|
||||
<label class="cb-disable<IF LOOP="acl_can == 0"> selected</IF>"><span>{lang.HE_CAN_NOT}</span></label>
|
||||
|
||||
<input type="checkbox" id="acls_{{acl_name}}" class="checkbox" name="{{acl_name}}" <IF LOOP="acl_can == 1">checked="checked"</IF> />
|
||||
</p>
|
||||
</div>
|
||||
</li>
|
||||
</LOOP>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<br>
|
||||
<input type="submit" name="editacl" value="{lang.SUBMIT}" class="btn btn-primary" />
|
||||
|
||||
|
||||
{H_FORM_KEYS5}
|
||||
</form>
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- ********** -->
|
||||
<!-- ********** -->
|
||||
<!-- end acl -->
|
||||
<!-- ********** -->
|
||||
<!-- ********** -->
|
||||
|
||||
|
||||
<ELSEIF NAME="current_smt == group_exts">
|
||||
|
||||
|
||||
<!-- Breadcrumbs -->
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="./">{lang.R_CPINDEX}</a></li>
|
||||
<li class="breadcrumb-item"><a href="{cp_users_url}&smt=general">{lang.R_GROUPS}</a></li>
|
||||
<li class="breadcrumb-item active">{lang.R_EXTS} ({group_name})</li>
|
||||
</ol>
|
||||
|
||||
<a href="#" class="btn btn-primary pull-(lang.DIR==ltr?right:left)" data-toggle="modal" data-target="#new_ext_form">
|
||||
<i class="fa fa-plus-circle"></i> {lang.ADD_NEW_EXT}
|
||||
</a>
|
||||
|
||||
|
||||
<div class="clearfix"></div>
|
||||
|
||||
<IF NAME="GE_INFO">
|
||||
<script type="text/javascript">
|
||||
setTimeout(function() {
|
||||
$('.infoexts').fadeOut('fast');
|
||||
}, 5000);
|
||||
</script>
|
||||
<div class="infoexts">
|
||||
<IF NAME="DELETED_EXT">
|
||||
<IF NAME="DELETED_EXT == 2">
|
||||
<div class="alert alert-info">{lang.EXT_DELETED}</div>
|
||||
<ELSE>
|
||||
<div class="alert alert-danger">{lang.DATA_CHANGED_NO}</div>
|
||||
</IF>
|
||||
</IF>
|
||||
<IF NAME="ADDED_EXT">
|
||||
<IF NAME="ADDED_EXT == 2">
|
||||
<div class="alert alert-info">{lang.NEW_EXT_ADD}</div>
|
||||
<ELSE>
|
||||
<div class="alert alert-danger">{lang.DATA_CHANGED_NO}</div>
|
||||
</IF>
|
||||
</IF>
|
||||
</div>
|
||||
</IF>
|
||||
|
||||
|
||||
<br>
|
||||
|
||||
|
||||
<form method="post" action="{action}" id="edit_exts_form">
|
||||
|
||||
<table class="table table-striped">
|
||||
<tr>
|
||||
<th style="width: 20px">#</th>
|
||||
<th>{lang.EXT}</th>
|
||||
<th>{lang.SIZE}</th>
|
||||
<th style="width: 100px">{lang.DELETE}</th>
|
||||
</tr>
|
||||
|
||||
<LOOP NAME="exts">
|
||||
<tr>
|
||||
<td><img src="{{ext_icon}}"></td>
|
||||
<td><b>{{ext_name}}</b></td>
|
||||
<td>
|
||||
<div class="input-group">
|
||||
<input type="text" name="size[{{ext_id}}]" value="{{ext_size}}" size="6" class="form-control" style="float:left;">
|
||||
<span class="input-group-addon hidden-sm-down">{lang.KILOBYTE}</span>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
<td>
|
||||
<a href="{action}&del={{ext_id}}&{GET_FORM_KEY}" onclick="return confirm_from();"
|
||||
title="{lang.DELETE}" data-toggle="tooltip" class="btn btn-danger">
|
||||
<span class="fa fa-trash"></span>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</LOOP>
|
||||
</table>
|
||||
|
||||
|
||||
<input type="submit" name="editexts" value="{lang.SUBMIT}" class="btn btn-primary" />
|
||||
|
||||
<br>
|
||||
|
||||
|
||||
{H_FORM_KEYS7}
|
||||
</form>
|
||||
|
||||
<br>
|
||||
<div class="card">
|
||||
{lang.E_EXTS} <a href="#converter_form" data-toggle="modal" data-target="#converter_modal">{lang.BCONVERTER}</a>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- add new ext -->
|
||||
<div id="new_ext_form" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="addNewExt" aria-hidden="true">
|
||||
|
||||
<form method="post" action="{action}" id="add_new_ext--change--">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="addNewExt">{lang.ADD_NEW_EXT}</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
|
||||
<div class="form-group">
|
||||
<label for="gname">{lang.ADD_NEW_EXT_EXP}</label>
|
||||
<input type="text" class="form-control" id="extisnew" name="extisnew">
|
||||
</div>
|
||||
|
||||
|
||||
{H_FORM_KEYS7}
|
||||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<input type="submit" name="newext" class="btn btn-primary" value="{lang.SUBMIT}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<!-- end add new ext -->
|
||||
|
||||
|
||||
|
||||
<!-- converter -->
|
||||
<div id="converter_modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="converterBox" aria-hidden="true">
|
||||
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="converterBox">{lang.BCONVERTER}</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<form>
|
||||
<table class="table table-striped text-center">
|
||||
<tr class="first">
|
||||
<td>Byte</td>
|
||||
<td>Kilobyte</td>
|
||||
<td>Megabyte</td>
|
||||
<td>Gigabyte</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><input type="text" size="10" name="byte" value="0" class="form-control" /></td>
|
||||
<td><input type="text" size="10" name="kb" value="0" class="form-control" /></td>
|
||||
<td><input type="text" size="10" name="mb" value="0" class="form-control" /></td>
|
||||
<td><input type="text" size="10" name="gb" value="0" class="form-control" /></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td style="border-width:0px">
|
||||
<button type="button" name="B2" class="btn btn-primary" onClick="convert(this.form)"><span
|
||||
class="bc"> > </span></button>
|
||||
</td>
|
||||
<td style="border-width:0px">
|
||||
<button type="button" name="B22" class="btn btn-primary" onClick="convertkb(this.form)"><span class="bc"> < > </span>
|
||||
</button>
|
||||
</td>
|
||||
<td style="border-width:0px">
|
||||
<button type="button" name="B23" class="btn btn-primary" onClick="convertmb(this.form)"><span class="bc"> < > </span>
|
||||
</td>
|
||||
<td style="border-width:0px">
|
||||
<button type="button" name="B24" class="btn btn-primary" onClick="convertgb(this.form)"><span class="bc"> < </span>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- end converter -->
|
||||
|
||||
|
||||
<!-- converter table -->
|
||||
<script type="text/javascript">
|
||||
/*Created by: Uncle Jim :: http://jdstiles.com/javamain.html */
|
||||
|
||||
function convert(f)
|
||||
{
|
||||
f.kb.value=Math.round(f.byte.value/1024*100000)/100000
|
||||
f.mb.value=Math.round(f.byte.value/1048576*100000)/100000
|
||||
f.gb.value=Math.round(f.byte.value/1073741824*100000)/100000
|
||||
}
|
||||
|
||||
function convertkb(f)
|
||||
{
|
||||
f.byte.value=Math.round(f.kb.value*1024*100000)/100000
|
||||
f.mb.value=Math.round(f.kb.value/1024*100000)/100000
|
||||
f.gb.value=Math.round(f.kb.value/1048576*100000)/100000
|
||||
}
|
||||
|
||||
function convertmb(f)
|
||||
{
|
||||
f.byte.value=Math.round(f.mb.value*1048576*100000)/100000
|
||||
f.kb.value=Math.round(f.mb.value*1024*100000)/100000
|
||||
f.gb.value=Math.round(f.mb.value/1024*100000)/100000
|
||||
}
|
||||
|
||||
function convertgb(f)
|
||||
{
|
||||
f.byte.value=Math.round(f.gb.value*1073741824*100000)/100000
|
||||
f.kb.value=Math.round(f.gb.value*1048576*100000)/100000
|
||||
f.mb.value=Math.round(f.gb.value*1024*100000)/100000
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- ********** -->
|
||||
<!-- ********** -->
|
||||
<!-- end exts -->
|
||||
<!-- ********** -->
|
||||
<!-- ********** -->
|
||||
|
||||
<ELSEIF NAME="current_smt == group_data">
|
||||
|
||||
<!-- Breadcrumbs -->
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="./">{lang.R_CPINDEX}</a></li>
|
||||
<li class="breadcrumb-item"><a href="{cp_users_url}&smt=general">{lang.R_GROUPS}</a></li>
|
||||
<li class="breadcrumb-item active">{lang.EDIT_DATA} ({group_name})</li>
|
||||
</ol>
|
||||
|
||||
|
||||
|
||||
<form method="post" action="{action}" id="edit_data_form">
|
||||
<UNLESS NAME="user_not_normal">
|
||||
|
||||
<div class="form-group">
|
||||
<label for="group_name">{lang.GROUP_NAME}</label>
|
||||
<IF NAME="gdata.group_is_essential">
|
||||
<p class="form-control-static"><b>{group_name}</b></p>
|
||||
<ELSE>
|
||||
<input type="text" class="form-control" id="group_name" name="group_name" value="{gdata.group_name}">
|
||||
</IF>
|
||||
</div>
|
||||
|
||||
|
||||
<fieldset class="form-group">
|
||||
<legend class="col-form-legend">{lang.GROUP_IS_DEFAULT}</legend>
|
||||
<div class="form-check">
|
||||
<label class="form-check-label">
|
||||
<input type="radio" class="form-check-input" name="group_is_default" id="group_is_default1" value="1" <IF NAME="gdata.group_is_default == 1">checked="checked"</IF>>
|
||||
{lang.YES}
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-check">
|
||||
<label class="form-check-label">
|
||||
<input type="radio" class="form-check-input" name="group_is_default" id="group_is_default0" value="0" <IF NAME="gdata.group_is_default == 0">checked="checked"</IF>>
|
||||
{lang.NO}
|
||||
</label>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
|
||||
<hr>
|
||||
|
||||
</UNLESS>
|
||||
|
||||
<LOOP NAME="data">
|
||||
{{option}}
|
||||
</LOOP>
|
||||
|
||||
|
||||
<br>
|
||||
|
||||
<input type="submit" name="editdata" value="{lang.SUBMIT}" class="btn btn-primary" />
|
||||
|
||||
|
||||
{H_FORM_KEYS6}
|
||||
</form>
|
||||
|
||||
|
||||
</IF>
|
||||
1353
admin/Masmak/css/bootstrap-grid.css
vendored
Executable file
2
admin/Masmak/css/bootstrap-grid.min.css
vendored
Executable file
330
admin/Masmak/css/bootstrap-reboot.css
vendored
Executable file
@@ -0,0 +1,330 @@
|
||||
html {
|
||||
box-sizing: border-box;
|
||||
font-family: sans-serif;
|
||||
line-height: 1.15;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
-ms-text-size-adjust: 100%;
|
||||
-ms-overflow-style: scrollbar;
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
}
|
||||
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
box-sizing: inherit;
|
||||
}
|
||||
|
||||
@-ms-viewport {
|
||||
width: device-width;
|
||||
}
|
||||
|
||||
article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {
|
||||
display: block;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
||||
font-size: 1rem;
|
||||
font-weight: normal;
|
||||
line-height: 1.5;
|
||||
color: #212529;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
[tabindex="-1"]:focus {
|
||||
outline: none !important;
|
||||
}
|
||||
|
||||
hr {
|
||||
box-sizing: content-box;
|
||||
height: 0;
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
margin-top: 0;
|
||||
margin-bottom: .5rem;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
abbr[title],
|
||||
abbr[data-original-title] {
|
||||
text-decoration: underline;
|
||||
-webkit-text-decoration: underline dotted;
|
||||
text-decoration: underline dotted;
|
||||
cursor: help;
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
address {
|
||||
margin-bottom: 1rem;
|
||||
font-style: normal;
|
||||
line-height: inherit;
|
||||
}
|
||||
|
||||
ol,
|
||||
ul,
|
||||
dl {
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
ol ol,
|
||||
ul ul,
|
||||
ol ul,
|
||||
ul ol {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
dt {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
dd {
|
||||
margin-bottom: .5rem;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
margin: 0 0 1rem;
|
||||
}
|
||||
|
||||
dfn {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
b,
|
||||
strong {
|
||||
font-weight: bolder;
|
||||
}
|
||||
|
||||
small {
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
sub,
|
||||
sup {
|
||||
position: relative;
|
||||
font-size: 75%;
|
||||
line-height: 0;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
sub {
|
||||
bottom: -.25em;
|
||||
}
|
||||
|
||||
sup {
|
||||
top: -.5em;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #007bff;
|
||||
text-decoration: none;
|
||||
background-color: transparent;
|
||||
-webkit-text-decoration-skip: objects;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: #0056b3;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
a:not([href]):not([tabindex]) {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:not([href]):not([tabindex]):focus {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
pre,
|
||||
code,
|
||||
kbd,
|
||||
samp {
|
||||
font-family: monospace, monospace;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
pre {
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
figure {
|
||||
margin: 0 0 1rem;
|
||||
}
|
||||
|
||||
img {
|
||||
vertical-align: middle;
|
||||
border-style: none;
|
||||
}
|
||||
|
||||
svg:not(:root) {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
a,
|
||||
area,
|
||||
button,
|
||||
[role="button"],
|
||||
input,
|
||||
label,
|
||||
select,
|
||||
summary,
|
||||
textarea {
|
||||
-ms-touch-action: manipulation;
|
||||
touch-action: manipulation;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
caption {
|
||||
padding-top: 0.75rem;
|
||||
padding-bottom: 0.75rem;
|
||||
color: #868e96;
|
||||
text-align: left;
|
||||
caption-side: bottom;
|
||||
}
|
||||
|
||||
th {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
label {
|
||||
display: inline-block;
|
||||
margin-bottom: .5rem;
|
||||
}
|
||||
|
||||
button:focus {
|
||||
outline: 1px dotted;
|
||||
outline: 5px auto -webkit-focus-ring-color;
|
||||
}
|
||||
|
||||
input,
|
||||
button,
|
||||
select,
|
||||
optgroup,
|
||||
textarea {
|
||||
margin: 0;
|
||||
font-family: inherit;
|
||||
font-size: inherit;
|
||||
line-height: inherit;
|
||||
}
|
||||
|
||||
button,
|
||||
input {
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
button,
|
||||
select {
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
button,
|
||||
html [type="button"],
|
||||
[type="reset"],
|
||||
[type="submit"] {
|
||||
-webkit-appearance: button;
|
||||
}
|
||||
|
||||
button::-moz-focus-inner,
|
||||
[type="button"]::-moz-focus-inner,
|
||||
[type="reset"]::-moz-focus-inner,
|
||||
[type="submit"]::-moz-focus-inner {
|
||||
padding: 0;
|
||||
border-style: none;
|
||||
}
|
||||
|
||||
input[type="radio"],
|
||||
input[type="checkbox"] {
|
||||
box-sizing: border-box;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
input[type="date"],
|
||||
input[type="time"],
|
||||
input[type="datetime-local"],
|
||||
input[type="month"] {
|
||||
-webkit-appearance: listbox;
|
||||
}
|
||||
|
||||
textarea {
|
||||
overflow: auto;
|
||||
resize: vertical;
|
||||
}
|
||||
|
||||
fieldset {
|
||||
min-width: 0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
legend {
|
||||
display: block;
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
padding: 0;
|
||||
margin-bottom: .5rem;
|
||||
font-size: 1.5rem;
|
||||
line-height: inherit;
|
||||
color: inherit;
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
progress {
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
[type="number"]::-webkit-inner-spin-button,
|
||||
[type="number"]::-webkit-outer-spin-button {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
[type="search"] {
|
||||
outline-offset: -2px;
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
[type="search"]::-webkit-search-cancel-button,
|
||||
[type="search"]::-webkit-search-decoration {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
::-webkit-file-upload-button {
|
||||
font: inherit;
|
||||
-webkit-appearance: button;
|
||||
}
|
||||
|
||||
output {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
summary {
|
||||
display: list-item;
|
||||
}
|
||||
|
||||
template {
|
||||
display: none;
|
||||
}
|
||||
|
||||
[hidden] {
|
||||
display: none !important;
|
||||
}
|
||||
/*# sourceMappingURL=bootstrap-reboot.css.map */
|
||||
2
admin/Masmak/css/bootstrap-reboot.min.css
vendored
Executable file
@@ -0,0 +1,2 @@
|
||||
html{box-sizing:border-box;font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}*,::after,::before{box-sizing:inherit}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}[role=button],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#868e96;text-align:left;caption-side:bottom}th{text-align:left}label{display:inline-block;margin-bottom:.5rem}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}
|
||||
/*# sourceMappingURL=bootstrap-reboot.min.css.map */
|
||||
8185
admin/Masmak/css/bootstrap.css
vendored
Executable file
7
admin/Masmak/css/bootstrap.min.css
vendored
Executable file
6
admin/Masmak/css/bootstrap.rtl.min.css
vendored
Executable file
63
admin/Masmak/css/custom.css
Normal file
@@ -0,0 +1,63 @@
|
||||
#thmb_dim_w, #thmb_dim_h{
|
||||
width: 90px; display: inline-block;
|
||||
}
|
||||
|
||||
.img-thumb-item{
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.kcheck {
|
||||
position: absolute;
|
||||
bottom: 10px;
|
||||
left: 20px;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.cb-enable, .cb-disable, .cb-enable span, .cb-disable span { background: url(../images/switch.gif) repeat-x; display: block; float: left; }
|
||||
.cb-enable span, .cb-disable span { line-height: 30px; display: block; background-repeat: no-repeat; font-weight: bold; }
|
||||
.cb-enable span { background-position: left -90px; padding: 0 10px; }
|
||||
.cb-disable span { background-position: right -180px;padding: 0 10px; }
|
||||
.cb-disable.selected { background-position: 0 -30px; }
|
||||
.cb-disable.selected span { background-position: right -210px; color: #fff; }
|
||||
.cb-enable.selected { background-position: 0 -60px; }
|
||||
.cb-enable.selected span { background-position: left -150px; color: #fff; }
|
||||
.switch label { cursor: pointer; }
|
||||
.switch input { display: none; }
|
||||
|
||||
.navbar-light .navbar-sidenav .activex .first-level{
|
||||
background-color: #4a7996 !important;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.navbar-dark .navbar-sidenav .activex .first-level{
|
||||
background-color: #000 !important;
|
||||
color: #fff !important;
|
||||
}
|
||||
.navbar-light .nav-link:hover{
|
||||
background-color: #ccc !important;
|
||||
}
|
||||
|
||||
.navbar-dark .nav-link:hover{
|
||||
background-color: #5e6872 !important;
|
||||
}
|
||||
|
||||
.navbar-light ul.sidenav-second-level{
|
||||
background-color: #e9ecef !important;
|
||||
}
|
||||
|
||||
.navbar-dark ul.sidenav-second-level{
|
||||
background-color: #495057 !important;
|
||||
}
|
||||
|
||||
.nav-item a.first-level{
|
||||
padding: 12px 15px !important;
|
||||
}
|
||||
|
||||
.sidenav-second-level li a{
|
||||
padding: 12px 20px !important;
|
||||
}
|
||||
|
||||
#chart_stats{
|
||||
margin: 0 auto;
|
||||
overflow-x: scroll;
|
||||
}
|
||||
194
admin/Masmak/css/dataTables.bootstrap4.css
Executable file
@@ -0,0 +1,194 @@
|
||||
table.dataTable {
|
||||
clear: both;
|
||||
margin-top: 6px !important;
|
||||
margin-bottom: 6px !important;
|
||||
max-width: none !important;
|
||||
border-collapse: separate !important;
|
||||
}
|
||||
table.dataTable td,
|
||||
table.dataTable th {
|
||||
-webkit-box-sizing: content-box;
|
||||
box-sizing: content-box;
|
||||
}
|
||||
table.dataTable td.dataTables_empty,
|
||||
table.dataTable th.dataTables_empty {
|
||||
text-align: center;
|
||||
}
|
||||
table.dataTable.nowrap th,
|
||||
table.dataTable.nowrap td {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
div.dataTables_wrapper div.dataTables_length label {
|
||||
font-weight: normal;
|
||||
text-align: left;
|
||||
white-space: nowrap;
|
||||
}
|
||||
div.dataTables_wrapper div.dataTables_length select {
|
||||
width: 75px;
|
||||
display: inline-block;
|
||||
}
|
||||
div.dataTables_wrapper div.dataTables_filter {
|
||||
text-align: right;
|
||||
}
|
||||
div.dataTables_wrapper div.dataTables_filter label {
|
||||
font-weight: normal;
|
||||
white-space: nowrap;
|
||||
text-align: left;
|
||||
}
|
||||
div.dataTables_wrapper div.dataTables_filter input {
|
||||
margin-left: 0.5em;
|
||||
display: inline-block;
|
||||
width: auto;
|
||||
}
|
||||
div.dataTables_wrapper div.dataTables_info {
|
||||
padding-top: 0.85em;
|
||||
white-space: nowrap;
|
||||
}
|
||||
div.dataTables_wrapper div.dataTables_paginate {
|
||||
margin: 0;
|
||||
white-space: nowrap;
|
||||
text-align: right;
|
||||
}
|
||||
div.dataTables_wrapper div.dataTables_paginate ul.pagination {
|
||||
margin: 2px 0;
|
||||
white-space: nowrap;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
div.dataTables_wrapper div.dataTables_processing {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
width: 200px;
|
||||
margin-left: -100px;
|
||||
margin-top: -26px;
|
||||
text-align: center;
|
||||
padding: 1em 0;
|
||||
}
|
||||
|
||||
table.dataTable thead > tr > th.sorting_asc, table.dataTable thead > tr > th.sorting_desc, table.dataTable thead > tr > th.sorting,
|
||||
table.dataTable thead > tr > td.sorting_asc,
|
||||
table.dataTable thead > tr > td.sorting_desc,
|
||||
table.dataTable thead > tr > td.sorting {
|
||||
padding-right: 30px;
|
||||
}
|
||||
table.dataTable thead > tr > th:active,
|
||||
table.dataTable thead > tr > td:active {
|
||||
outline: none;
|
||||
}
|
||||
table.dataTable thead .sorting,
|
||||
table.dataTable thead .sorting_asc,
|
||||
table.dataTable thead .sorting_desc,
|
||||
table.dataTable thead .sorting_asc_disabled,
|
||||
table.dataTable thead .sorting_desc_disabled {
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
}
|
||||
table.dataTable thead .sorting:before, table.dataTable thead .sorting:after,
|
||||
table.dataTable thead .sorting_asc:before,
|
||||
table.dataTable thead .sorting_asc:after,
|
||||
table.dataTable thead .sorting_desc:before,
|
||||
table.dataTable thead .sorting_desc:after,
|
||||
table.dataTable thead .sorting_asc_disabled:before,
|
||||
table.dataTable thead .sorting_asc_disabled:after,
|
||||
table.dataTable thead .sorting_desc_disabled:before,
|
||||
table.dataTable thead .sorting_desc_disabled:after {
|
||||
position: absolute;
|
||||
bottom: 0.9em;
|
||||
display: block;
|
||||
opacity: 0.3;
|
||||
}
|
||||
table.dataTable thead .sorting:before,
|
||||
table.dataTable thead .sorting_asc:before,
|
||||
table.dataTable thead .sorting_desc:before,
|
||||
table.dataTable thead .sorting_asc_disabled:before,
|
||||
table.dataTable thead .sorting_desc_disabled:before {
|
||||
right: 1em;
|
||||
content: "\2191";
|
||||
}
|
||||
table.dataTable thead .sorting:after,
|
||||
table.dataTable thead .sorting_asc:after,
|
||||
table.dataTable thead .sorting_desc:after,
|
||||
table.dataTable thead .sorting_asc_disabled:after,
|
||||
table.dataTable thead .sorting_desc_disabled:after {
|
||||
right: 0.5em;
|
||||
content: "\2193";
|
||||
}
|
||||
table.dataTable thead .sorting_asc:before,
|
||||
table.dataTable thead .sorting_desc:after {
|
||||
opacity: 1;
|
||||
}
|
||||
table.dataTable thead .sorting_asc_disabled:before,
|
||||
table.dataTable thead .sorting_desc_disabled:after {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
div.dataTables_scrollHead table.dataTable {
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
|
||||
div.dataTables_scrollBody table {
|
||||
border-top: none;
|
||||
margin-top: 0 !important;
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
div.dataTables_scrollBody table thead .sorting:after,
|
||||
div.dataTables_scrollBody table thead .sorting_asc:after,
|
||||
div.dataTables_scrollBody table thead .sorting_desc:after {
|
||||
display: none;
|
||||
}
|
||||
div.dataTables_scrollBody table tbody tr:first-child th,
|
||||
div.dataTables_scrollBody table tbody tr:first-child td {
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
div.dataTables_scrollFoot table {
|
||||
margin-top: 0 !important;
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 767px) {
|
||||
div.dataTables_wrapper div.dataTables_length,
|
||||
div.dataTables_wrapper div.dataTables_filter,
|
||||
div.dataTables_wrapper div.dataTables_info,
|
||||
div.dataTables_wrapper div.dataTables_paginate {
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
table.dataTable.table-condensed > thead > tr > th {
|
||||
padding-right: 20px;
|
||||
}
|
||||
table.dataTable.table-condensed .sorting:after,
|
||||
table.dataTable.table-condensed .sorting_asc:after,
|
||||
table.dataTable.table-condensed .sorting_desc:after {
|
||||
top: 6px;
|
||||
right: 6px;
|
||||
}
|
||||
|
||||
table.table-bordered.dataTable th,
|
||||
table.table-bordered.dataTable td {
|
||||
border-left-width: 0;
|
||||
}
|
||||
table.table-bordered.dataTable th:last-child, table.table-bordered.dataTable th:last-child,
|
||||
table.table-bordered.dataTable td:last-child,
|
||||
table.table-bordered.dataTable td:last-child {
|
||||
border-right-width: 0;
|
||||
}
|
||||
table.table-bordered.dataTable tbody th,
|
||||
table.table-bordered.dataTable tbody td {
|
||||
border-bottom-width: 0;
|
||||
}
|
||||
|
||||
div.dataTables_scrollHead table.table-bordered {
|
||||
border-bottom-width: 0;
|
||||
}
|
||||
|
||||
div.table-responsive > div.dataTables_wrapper > div.row {
|
||||
margin: 0;
|
||||
}
|
||||
div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:first-child {
|
||||
padding-left: 0;
|
||||
}
|
||||
div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:last-child {
|
||||
padding-right: 0;
|
||||
}
|
||||
2337
admin/Masmak/css/font-awesome.css
vendored
Executable file
4
admin/Masmak/css/font-awesome.min.css
vendored
Executable file
58
admin/Masmak/css/index.html
Executable file
@@ -0,0 +1,58 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=windows-1256"/>
|
||||
<title>Powered by Kleeja</title>
|
||||
<style type="text/css">* {
|
||||
font-size: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
color: #CECFCE;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: Tahoma, Arial, sans-serif;
|
||||
font-size: 100%;
|
||||
color: #69788E;
|
||||
margin: 10px 30px;
|
||||
background: #F7F7F7;
|
||||
}
|
||||
|
||||
a:link, a:visited {
|
||||
text-decoration: none;
|
||||
color: #CECFCE;
|
||||
}
|
||||
|
||||
a:active, a:hover {
|
||||
text-decoration: underline;
|
||||
color: #111;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-family: "Trebuchet MS", Helvetica, sans-serif;
|
||||
font-size: 1.70em;
|
||||
font-weight: normal;
|
||||
color: #333333;
|
||||
margin-top: 0;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.content_box {
|
||||
border: 1px dashed #CECFCE;
|
||||
background: #FFFFFF;
|
||||
padding: 10px;
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
}</style>
|
||||
</head>
|
||||
<body title="كليجا"><br/>
|
||||
<div class="content_box">
|
||||
<p>
|
||||
<a target="_blank" href="http://www.kleeja.com" title="kleeja"></a>
|
||||
</p>
|
||||
<br/>
|
||||
<h1><span style="font-size:250%;color:#D80000;">403 - Access forbidden!</span></h1></div>
|
||||
<br/>
|
||||
<div class="content_box"style="font-size: 140%">Powered by Kleeja</div>
|
||||
</body>
|
||||
</html>
|
||||
30
admin/Masmak/css/sb-admin-rtl.css
Normal file
@@ -0,0 +1,30 @@
|
||||
@media (min-width: 992px) {
|
||||
.content-wrapper {
|
||||
margin-right: 250px;
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
#mainNav .navbar-collapse .navbar-sidenav {
|
||||
right: 0;
|
||||
left: auto;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.card-body-icon { left: -25px; right: auto}
|
||||
|
||||
|
||||
|
||||
#mainNav .navbar-collapse .navbar-sidenav .nav-link-collapse.collapsed:after {
|
||||
content: '\f104';
|
||||
}
|
||||
|
||||
|
||||
#mainNav .navbar-collapse .navbar-sidenav .nav-link-collapse:after {
|
||||
float: left;
|
||||
}
|
||||
|
||||
#imgs_form .kcheck{
|
||||
right: 20px;
|
||||
left: auto;
|
||||
}
|
||||
351
admin/Masmak/css/sb-admin.css
Executable file
@@ -0,0 +1,351 @@
|
||||
/*!
|
||||
* Start Bootstrap - SB Admin v4.0.0-beta (https://startbootstrap.com/template-overviews/sb-admin)
|
||||
* Copyright 2013-2017 Start Bootstrap
|
||||
* Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap-sb-admin/blob/master/LICENSE)
|
||||
*/
|
||||
html {
|
||||
position: relative;
|
||||
min-height: 100%; }
|
||||
|
||||
body.sticky-footer {
|
||||
margin-bottom: 56px; }
|
||||
body.sticky-footer .content-wrapper {
|
||||
min-height: calc(100vh - 56px - 56px); }
|
||||
|
||||
body.fixed-nav {
|
||||
padding-top: 56px; }
|
||||
|
||||
.content-wrapper {
|
||||
min-height: calc(100vh - 56px);
|
||||
padding-top: 1rem; }
|
||||
|
||||
.scroll-to-top {
|
||||
position: fixed;
|
||||
right: 15px;
|
||||
bottom: 3px;
|
||||
display: none;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
text-align: center;
|
||||
color: white;
|
||||
background: rgba(52, 58, 64, 0.5);
|
||||
line-height: 45px; }
|
||||
.scroll-to-top:focus, .scroll-to-top:hover {
|
||||
color: white; }
|
||||
.scroll-to-top:hover {
|
||||
background: #343a40; }
|
||||
.scroll-to-top i {
|
||||
font-weight: 800; }
|
||||
|
||||
.smaller {
|
||||
font-size: 0.7rem; }
|
||||
|
||||
.o-hidden {
|
||||
overflow: hidden !important; }
|
||||
|
||||
.z-0 {
|
||||
z-index: 0; }
|
||||
|
||||
.z-1 {
|
||||
z-index: 1; }
|
||||
|
||||
.card-body-icon {
|
||||
position: absolute;
|
||||
z-index: 0;
|
||||
top: -25px;
|
||||
right: -25px;
|
||||
font-size: 5rem;
|
||||
-webkit-transform: rotate(15deg);
|
||||
-ms-transform: rotate(15deg);
|
||||
transform: rotate(15deg); }
|
||||
|
||||
@media (min-width: 576px) {
|
||||
.card-columns {
|
||||
column-count: 1; } }
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.card-columns {
|
||||
column-count: 2; } }
|
||||
|
||||
@media (min-width: 1200px) {
|
||||
.card-columns {
|
||||
column-count: 2; } }
|
||||
|
||||
#mainNav .navbar-collapse {
|
||||
overflow: auto;
|
||||
max-height: 75vh; }
|
||||
#mainNav .navbar-collapse .navbar-nav .nav-item .nav-link {
|
||||
cursor: pointer; }
|
||||
#mainNav .navbar-collapse .navbar-sidenav .nav-link-collapse:after {
|
||||
float: right;
|
||||
content: '\f107';
|
||||
font-family: 'FontAwesome'; }
|
||||
#mainNav .navbar-collapse .navbar-sidenav .nav-link-collapse.collapsed:after {
|
||||
content: '\f105'; }
|
||||
#mainNav .navbar-collapse .navbar-sidenav .sidenav-second-level,
|
||||
#mainNav .navbar-collapse .navbar-sidenav .sidenav-third-level {
|
||||
padding-left: 0; }
|
||||
#mainNav .navbar-collapse .navbar-sidenav .sidenav-second-level > li > a,
|
||||
#mainNav .navbar-collapse .navbar-sidenav .sidenav-third-level > li > a {
|
||||
display: block;
|
||||
padding: 0.5em 0; }
|
||||
#mainNav .navbar-collapse .navbar-sidenav .sidenav-second-level > li > a:focus, #mainNav .navbar-collapse .navbar-sidenav .sidenav-second-level > li > a:hover,
|
||||
#mainNav .navbar-collapse .navbar-sidenav .sidenav-third-level > li > a:focus,
|
||||
#mainNav .navbar-collapse .navbar-sidenav .sidenav-third-level > li > a:hover {
|
||||
text-decoration: none; }
|
||||
#mainNav .navbar-collapse .navbar-sidenav .sidenav-second-level > li > a {
|
||||
padding-left: 1em; }
|
||||
#mainNav .navbar-collapse .navbar-sidenav .sidenav-third-level > li > a {
|
||||
padding-left: 2em; }
|
||||
#mainNav .navbar-collapse .sidenav-toggler {
|
||||
display: none; }
|
||||
#mainNav .navbar-collapse .navbar-nav > .nav-item.dropdown > .nav-link {
|
||||
position: relative;
|
||||
min-width: 45px; }
|
||||
#mainNav .navbar-collapse .navbar-nav > .nav-item.dropdown > .nav-link:after {
|
||||
float: right;
|
||||
width: auto;
|
||||
content: '\f105';
|
||||
border: none;
|
||||
font-family: 'FontAwesome'; }
|
||||
#mainNav .navbar-collapse .navbar-nav > .nav-item.dropdown > .nav-link .new-indicator {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 25px;
|
||||
font-size: 1.1rem; }
|
||||
#mainNav .navbar-collapse .navbar-nav > .nav-item.dropdown > .nav-link .new-indicator .number {
|
||||
position: absolute;
|
||||
top: 6px;
|
||||
left: 0;
|
||||
width: 22.625px;
|
||||
text-align: center;
|
||||
color: white;
|
||||
font-size: 0.5rem; }
|
||||
#mainNav .navbar-collapse .navbar-nav > .nav-item.dropdown.show > .nav-link:after {
|
||||
content: '\f107'; }
|
||||
#mainNav .navbar-collapse .navbar-nav > .nav-item.dropdown .dropdown-menu > .dropdown-item > .dropdown-message {
|
||||
overflow: hidden;
|
||||
max-width: none;
|
||||
text-overflow: ellipsis; }
|
||||
|
||||
@media (min-width: 992px) {
|
||||
#mainNav .navbar-brand {
|
||||
width: 250px; }
|
||||
#mainNav .navbar-collapse {
|
||||
overflow: visible;
|
||||
max-height: none; }
|
||||
#mainNav .navbar-collapse .navbar-sidenav {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
-webkit-flex-direction: column;
|
||||
-ms-flex-direction: column;
|
||||
flex-direction: column;
|
||||
margin-top: 56px; }
|
||||
#mainNav .navbar-collapse .navbar-sidenav > .nav-item {
|
||||
width: 250px;
|
||||
padding: 0; }
|
||||
#mainNav .navbar-collapse .navbar-sidenav > .nav-item > .nav-link {
|
||||
padding: 1em; }
|
||||
#mainNav .navbar-collapse .navbar-sidenav > .nav-item .sidenav-second-level,
|
||||
#mainNav .navbar-collapse .navbar-sidenav > .nav-item .sidenav-third-level {
|
||||
padding-left: 0;
|
||||
list-style: none; }
|
||||
#mainNav .navbar-collapse .navbar-sidenav > .nav-item .sidenav-second-level > li,
|
||||
#mainNav .navbar-collapse .navbar-sidenav > .nav-item .sidenav-third-level > li {
|
||||
width: 250px; }
|
||||
#mainNav .navbar-collapse .navbar-sidenav > .nav-item .sidenav-second-level > li > a,
|
||||
#mainNav .navbar-collapse .navbar-sidenav > .nav-item .sidenav-third-level > li > a {
|
||||
padding: 1em; }
|
||||
#mainNav .navbar-collapse .navbar-sidenav > .nav-item .sidenav-second-level > li > a {
|
||||
padding-left: 2em; }
|
||||
#mainNav .navbar-collapse .navbar-sidenav > .nav-item .sidenav-third-level > li > a {
|
||||
padding-left: 3em; }
|
||||
#mainNav .navbar-collapse .navbar-nav > .nav-item.dropdown > .nav-link {
|
||||
min-width: 0; }
|
||||
#mainNav .navbar-collapse .navbar-nav > .nav-item.dropdown > .nav-link:after {
|
||||
width: 24px;
|
||||
text-align: center; }
|
||||
#mainNav .navbar-collapse .navbar-nav > .nav-item.dropdown .dropdown-menu > .dropdown-item > .dropdown-message {
|
||||
max-width: 300px; } }
|
||||
|
||||
#mainNav.navbar-dark .navbar-collapse .navbar-sidenav .nav-link-collapse:after {
|
||||
color: #868e96; }
|
||||
|
||||
#mainNav.navbar-dark .navbar-collapse .navbar-sidenav > .nav-item > .nav-link {
|
||||
color: #868e96; }
|
||||
#mainNav.navbar-dark .navbar-collapse .navbar-sidenav > .nav-item > .nav-link:hover {
|
||||
color: #adb5bd; }
|
||||
|
||||
#mainNav.navbar-dark .navbar-collapse .navbar-sidenav > .nav-item .sidenav-second-level > li > a,
|
||||
#mainNav.navbar-dark .navbar-collapse .navbar-sidenav > .nav-item .sidenav-third-level > li > a {
|
||||
color: #868e96; }
|
||||
#mainNav.navbar-dark .navbar-collapse .navbar-sidenav > .nav-item .sidenav-second-level > li > a:focus, #mainNav.navbar-dark .navbar-collapse .navbar-sidenav > .nav-item .sidenav-second-level > li > a:hover,
|
||||
#mainNav.navbar-dark .navbar-collapse .navbar-sidenav > .nav-item .sidenav-third-level > li > a:focus,
|
||||
#mainNav.navbar-dark .navbar-collapse .navbar-sidenav > .nav-item .sidenav-third-level > li > a:hover {
|
||||
color: #adb5bd; }
|
||||
|
||||
#mainNav.navbar-dark .navbar-collapse .navbar-nav > .nav-item.dropdown > .nav-link:after {
|
||||
color: #adb5bd; }
|
||||
|
||||
@media (min-width: 992px) {
|
||||
#mainNav.navbar-dark .navbar-collapse .navbar-sidenav {
|
||||
background: #343a40; }
|
||||
#mainNav.navbar-dark .navbar-collapse .navbar-sidenav li.active a {
|
||||
color: white !important;
|
||||
background-color: #495057; }
|
||||
#mainNav.navbar-dark .navbar-collapse .navbar-sidenav li.active a:focus, #mainNav.navbar-dark .navbar-collapse .navbar-sidenav li.active a:hover {
|
||||
color: white; }
|
||||
#mainNav.navbar-dark .navbar-collapse .navbar-sidenav > .nav-item .sidenav-second-level,
|
||||
#mainNav.navbar-dark .navbar-collapse .navbar-sidenav > .nav-item .sidenav-third-level {
|
||||
background: #343a40; } }
|
||||
|
||||
#mainNav.navbar-light .navbar-collapse .navbar-sidenav .nav-link-collapse:after {
|
||||
color: rgba(0, 0, 0, 0.5); }
|
||||
|
||||
#mainNav.navbar-light .navbar-collapse .navbar-sidenav > .nav-item > .nav-link {
|
||||
color: rgba(0, 0, 0, 0.5); }
|
||||
#mainNav.navbar-light .navbar-collapse .navbar-sidenav > .nav-item > .nav-link:hover {
|
||||
color: rgba(0, 0, 0, 0.7); }
|
||||
|
||||
#mainNav.navbar-light .navbar-collapse .navbar-sidenav > .nav-item .sidenav-second-level > li > a,
|
||||
#mainNav.navbar-light .navbar-collapse .navbar-sidenav > .nav-item .sidenav-third-level > li > a {
|
||||
color: rgba(0, 0, 0, 0.5); }
|
||||
#mainNav.navbar-light .navbar-collapse .navbar-sidenav > .nav-item .sidenav-second-level > li > a:focus, #mainNav.navbar-light .navbar-collapse .navbar-sidenav > .nav-item .sidenav-second-level > li > a:hover,
|
||||
#mainNav.navbar-light .navbar-collapse .navbar-sidenav > .nav-item .sidenav-third-level > li > a:focus,
|
||||
#mainNav.navbar-light .navbar-collapse .navbar-sidenav > .nav-item .sidenav-third-level > li > a:hover {
|
||||
color: rgba(0, 0, 0, 0.7); }
|
||||
|
||||
#mainNav.navbar-light .navbar-collapse .navbar-nav > .nav-item.dropdown > .nav-link:after {
|
||||
color: rgba(0, 0, 0, 0.5); }
|
||||
|
||||
@media (min-width: 992px) {
|
||||
#mainNav.navbar-light .navbar-collapse .navbar-sidenav {
|
||||
background: #f8f9fa; }
|
||||
#mainNav.navbar-light .navbar-collapse .navbar-sidenav li.active a {
|
||||
color: #000 !important;
|
||||
background-color: #e9ecef; }
|
||||
#mainNav.navbar-light .navbar-collapse .navbar-sidenav li.active a:focus, #mainNav.navbar-light .navbar-collapse .navbar-sidenav li.active a:hover {
|
||||
color: #000; }
|
||||
#mainNav.navbar-light .navbar-collapse .navbar-sidenav > .nav-item .sidenav-second-level,
|
||||
#mainNav.navbar-light .navbar-collapse .navbar-sidenav > .nav-item .sidenav-third-level {
|
||||
background: #f8f9fa; } }
|
||||
|
||||
#mainNav.fixed-top .sidenav-toggler {
|
||||
display: none; }
|
||||
|
||||
@media (min-width: 992px) {
|
||||
#mainNav.fixed-top .navbar-sidenav {
|
||||
height: calc(100vh - 112px); }
|
||||
#mainNav.fixed-top .sidenav-toggler {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
display: flex;
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
-webkit-flex-direction: column;
|
||||
-ms-flex-direction: column;
|
||||
flex-direction: column;
|
||||
margin-top: calc(100vh - 56px); }
|
||||
#mainNav.fixed-top .sidenav-toggler > .nav-item {
|
||||
width: 250px;
|
||||
padding: 0; }
|
||||
#mainNav.fixed-top .sidenav-toggler > .nav-item > .nav-link {
|
||||
padding: 1em; } }
|
||||
|
||||
#mainNav.fixed-top.navbar-dark .sidenav-toggler {
|
||||
background-color: #212529; }
|
||||
#mainNav.fixed-top.navbar-dark .sidenav-toggler a i {
|
||||
color: #adb5bd; }
|
||||
|
||||
#mainNav.fixed-top.navbar-light .sidenav-toggler {
|
||||
background-color: #dee2e6; }
|
||||
#mainNav.fixed-top.navbar-light .sidenav-toggler a i {
|
||||
color: rgba(0, 0, 0, 0.5); }
|
||||
|
||||
body.sidenav-toggled #mainNav.fixed-top .sidenav-toggler {
|
||||
overflow-x: hidden;
|
||||
width: 55px; }
|
||||
body.sidenav-toggled #mainNav.fixed-top .sidenav-toggler .nav-item,
|
||||
body.sidenav-toggled #mainNav.fixed-top .sidenav-toggler .nav-link {
|
||||
width: 55px !important; }
|
||||
|
||||
body.sidenav-toggled #mainNav.fixed-top #sidenavToggler i {
|
||||
-webkit-transform: scaleX(-1);
|
||||
-moz-transform: scaleX(-1);
|
||||
-o-transform: scaleX(-1);
|
||||
transform: scaleX(-1);
|
||||
filter: FlipH;
|
||||
-ms-filter: 'FlipH'; }
|
||||
|
||||
#mainNav.static-top .sidenav-toggler {
|
||||
display: none; }
|
||||
|
||||
@media (min-width: 992px) {
|
||||
#mainNav.static-top .sidenav-toggler {
|
||||
display: flex; } }
|
||||
|
||||
body.sidenav-toggled #mainNav.static-top #sidenavToggler i {
|
||||
-webkit-transform: scaleX(-1);
|
||||
-moz-transform: scaleX(-1);
|
||||
-o-transform: scaleX(-1);
|
||||
transform: scaleX(-1);
|
||||
filter: FlipH;
|
||||
-ms-filter: 'FlipH'; }
|
||||
|
||||
.content-wrapper {
|
||||
overflow-x: hidden;
|
||||
background: white; }
|
||||
@media (min-width: 992px) {
|
||||
.content-wrapper {
|
||||
margin-left: 250px; } }
|
||||
|
||||
#sidenavToggler i {
|
||||
font-weight: 800; }
|
||||
|
||||
.navbar-sidenav-tooltip.show {
|
||||
display: none; }
|
||||
|
||||
@media (min-width: 992px) {
|
||||
body.sidenav-toggled .content-wrapper {
|
||||
margin-left: 55px; } }
|
||||
|
||||
body.sidenav-toggled .navbar-sidenav {
|
||||
overflow-x: hidden;
|
||||
width: 55px; }
|
||||
body.sidenav-toggled .navbar-sidenav .nav-link-text {
|
||||
display: none; }
|
||||
body.sidenav-toggled .navbar-sidenav .nav-item,
|
||||
body.sidenav-toggled .navbar-sidenav .nav-link {
|
||||
width: 55px !important; }
|
||||
body.sidenav-toggled .navbar-sidenav .nav-item:after,
|
||||
body.sidenav-toggled .navbar-sidenav .nav-link:after {
|
||||
display: none; }
|
||||
|
||||
body.sidenav-toggled .navbar-sidenav-tooltip.show {
|
||||
display: flex; }
|
||||
|
||||
.card-login {
|
||||
max-width: 25rem; }
|
||||
|
||||
.card-register {
|
||||
max-width: 40rem; }
|
||||
|
||||
footer.sticky-footer {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
height: 56px;
|
||||
background-color: #e9ecef;
|
||||
line-height: 55px; }
|
||||
@media (min-width: 992px) {
|
||||
footer.sticky-footer {
|
||||
width: calc(100% - 250px); } }
|
||||
|
||||
@media (min-width: 992px) {
|
||||
body.sidenav-toggled footer.sticky-footer {
|
||||
width: calc(100% - 55px); } }
|
||||
5
admin/Masmak/css/sb-admin.min.css
vendored
Executable file
BIN
admin/Masmak/fonts/FontAwesome.otf
Executable file
BIN
admin/Masmak/fonts/fontawesome-webfont.eot
Executable file
2671
admin/Masmak/fonts/fontawesome-webfont.svg
Executable file
|
After Width: | Height: | Size: 434 KiB |
BIN
admin/Masmak/fonts/fontawesome-webfont.ttf
Executable file
BIN
admin/Masmak/fonts/fontawesome-webfont.woff
Executable file
BIN
admin/Masmak/fonts/fontawesome-webfont.woff2
Executable file
58
admin/Masmak/fonts/index.html
Executable file
@@ -0,0 +1,58 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=windows-1256"/>
|
||||
<title>Powered by Kleeja</title>
|
||||
<style type="text/css">* {
|
||||
font-size: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
color: #CECFCE;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: Tahoma, Arial, sans-serif;
|
||||
font-size: 100%;
|
||||
color: #69788E;
|
||||
margin: 10px 30px;
|
||||
background: #F7F7F7;
|
||||
}
|
||||
|
||||
a:link, a:visited {
|
||||
text-decoration: none;
|
||||
color: #CECFCE;
|
||||
}
|
||||
|
||||
a:active, a:hover {
|
||||
text-decoration: underline;
|
||||
color: #111;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-family: "Trebuchet MS", Helvetica, sans-serif;
|
||||
font-size: 1.70em;
|
||||
font-weight: normal;
|
||||
color: #333333;
|
||||
margin-top: 0;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.content_box {
|
||||
border: 1px dashed #CECFCE;
|
||||
background: #FFFFFF;
|
||||
padding: 10px;
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
}</style>
|
||||
</head>
|
||||
<body title="كليجا"><br/>
|
||||
<div class="content_box">
|
||||
<p>
|
||||
<a target="_blank" href="http://www.kleeja.com" title="kleeja"></a>
|
||||
</p>
|
||||
<br/>
|
||||
<h1><span style="font-size:250%;color:#D80000;">403 - Access forbidden!</span></h1></div>
|
||||
<br/>
|
||||
<div class="content_box"style="font-size: 140%">Powered by Kleeja</div>
|
||||
</body>
|
||||
</html>
|
||||
BIN
admin/Masmak/images/ajax-loader-small.gif
Executable file
|
After Width: | Height: | Size: 477 B |
BIN
admin/Masmak/images/favicon.ico
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
admin/Masmak/images/favicon.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
admin/Masmak/images/image-not-found.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
58
admin/Masmak/images/index.html
Executable file
@@ -0,0 +1,58 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=windows-1256"/>
|
||||
<title>Powered by Kleeja</title>
|
||||
<style type="text/css">* {
|
||||
font-size: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
color: #CECFCE;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: Tahoma, Arial, sans-serif;
|
||||
font-size: 100%;
|
||||
color: #69788E;
|
||||
margin: 10px 30px;
|
||||
background: #F7F7F7;
|
||||
}
|
||||
|
||||
a:link, a:visited {
|
||||
text-decoration: none;
|
||||
color: #CECFCE;
|
||||
}
|
||||
|
||||
a:active, a:hover {
|
||||
text-decoration: underline;
|
||||
color: #111;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-family: "Trebuchet MS", Helvetica, sans-serif;
|
||||
font-size: 1.70em;
|
||||
font-weight: normal;
|
||||
color: #333333;
|
||||
margin-top: 0;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.content_box {
|
||||
border: 1px dashed #CECFCE;
|
||||
background: #FFFFFF;
|
||||
padding: 10px;
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
}</style>
|
||||
</head>
|
||||
<body title="كليجا"><br/>
|
||||
<div class="content_box">
|
||||
<p>
|
||||
<a target="_blank" href="http://www.kleeja.com" title="kleeja"></a>
|
||||
</p>
|
||||
<br/>
|
||||
<h1><span style="font-size:250%;color:#D80000;">403 - Access forbidden!</span></h1></div>
|
||||
<br/>
|
||||
<div class="content_box"style="font-size: 140%">Powered by Kleeja</div>
|
||||
</body>
|
||||
</html>
|
||||
BIN
admin/Masmak/images/kleeja.png
Normal file
|
After Width: | Height: | Size: 6.8 KiB |
BIN
admin/Masmak/images/placeholder.jpg
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
admin/Masmak/images/plugin.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
admin/Masmak/images/switch.gif
Executable file
|
After Width: | Height: | Size: 1.2 KiB |
58
admin/Masmak/index.html
Executable file
@@ -0,0 +1,58 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=windows-1256"/>
|
||||
<title>Powered by Kleeja</title>
|
||||
<style type="text/css">* {
|
||||
font-size: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
color: #CECFCE;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: Tahoma, Arial, sans-serif;
|
||||
font-size: 100%;
|
||||
color: #69788E;
|
||||
margin: 10px 30px;
|
||||
background: #F7F7F7;
|
||||
}
|
||||
|
||||
a:link, a:visited {
|
||||
text-decoration: none;
|
||||
color: #CECFCE;
|
||||
}
|
||||
|
||||
a:active, a:hover {
|
||||
text-decoration: underline;
|
||||
color: #111;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-family: "Trebuchet MS", Helvetica, sans-serif;
|
||||
font-size: 1.70em;
|
||||
font-weight: normal;
|
||||
color: #333333;
|
||||
margin-top: 0;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.content_box {
|
||||
border: 1px dashed #CECFCE;
|
||||
background: #FFFFFF;
|
||||
padding: 10px;
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
}</style>
|
||||
</head>
|
||||
<body title="كليجا"><br/>
|
||||
<div class="content_box">
|
||||
<p>
|
||||
<a target="_blank" href="http://www.kleeja.com" title="kleeja"></a>
|
||||
</p>
|
||||
<br/>
|
||||
<h1><span style="font-size:250%;color:#D80000;">403 - Access forbidden!</span></h1></div>
|
||||
<br/>
|
||||
<div class="content_box"style="font-size: 140%">Powered by Kleeja</div>
|
||||
</body>
|
||||
</html>
|
||||
3831
admin/Masmak/js/bootstrap.js
vendored
Executable file
6
admin/Masmak/js/bootstrap.min.js
vendored
Executable file
184
admin/Masmak/js/dataTables.bootstrap4.js
Executable file
@@ -0,0 +1,184 @@
|
||||
/*! DataTables Bootstrap 3 integration
|
||||
* ©2011-2015 SpryMedia Ltd - datatables.net/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* DataTables integration for Bootstrap 3. This requires Bootstrap 3 and
|
||||
* DataTables 1.10 or newer.
|
||||
*
|
||||
* This file sets the defaults and adds options to DataTables to style its
|
||||
* controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap
|
||||
* for further information.
|
||||
*/
|
||||
(function( factory ){
|
||||
if ( typeof define === 'function' && define.amd ) {
|
||||
// AMD
|
||||
define( ['jquery', 'datatables.net'], function ( $ ) {
|
||||
return factory( $, window, document );
|
||||
} );
|
||||
}
|
||||
else if ( typeof exports === 'object' ) {
|
||||
// CommonJS
|
||||
module.exports = function (root, $) {
|
||||
if ( ! root ) {
|
||||
root = window;
|
||||
}
|
||||
|
||||
if ( ! $ || ! $.fn.dataTable ) {
|
||||
// Require DataTables, which attaches to jQuery, including
|
||||
// jQuery if needed and have a $ property so we can access the
|
||||
// jQuery object that is used
|
||||
$ = require('datatables.net')(root, $).$;
|
||||
}
|
||||
|
||||
return factory( $, root, root.document );
|
||||
};
|
||||
}
|
||||
else {
|
||||
// Browser
|
||||
factory( jQuery, window, document );
|
||||
}
|
||||
}(function( $, window, document, undefined ) {
|
||||
'use strict';
|
||||
var DataTable = $.fn.dataTable;
|
||||
|
||||
|
||||
/* Set the defaults for DataTables initialisation */
|
||||
$.extend( true, DataTable.defaults, {
|
||||
dom:
|
||||
"<'row'<'col-sm-12 col-md-6'l><'col-sm-12 col-md-6'f>>" +
|
||||
"<'row'<'col-sm-12'tr>>" +
|
||||
"<'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>",
|
||||
renderer: 'bootstrap'
|
||||
} );
|
||||
|
||||
|
||||
/* Default class modification */
|
||||
$.extend( DataTable.ext.classes, {
|
||||
sWrapper: "dataTables_wrapper container-fluid dt-bootstrap4",
|
||||
sFilterInput: "form-control form-control-sm",
|
||||
sLengthSelect: "form-control form-control-sm",
|
||||
sProcessing: "dataTables_processing card",
|
||||
sPageButton: "paginate_button page-item"
|
||||
} );
|
||||
|
||||
|
||||
/* Bootstrap paging button renderer */
|
||||
DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, buttons, page, pages ) {
|
||||
var api = new DataTable.Api( settings );
|
||||
var classes = settings.oClasses;
|
||||
var lang = settings.oLanguage.oPaginate;
|
||||
var aria = settings.oLanguage.oAria.paginate || {};
|
||||
var btnDisplay, btnClass, counter=0;
|
||||
|
||||
var attach = function( container, buttons ) {
|
||||
var i, ien, node, button;
|
||||
var clickHandler = function ( e ) {
|
||||
e.preventDefault();
|
||||
if ( !$(e.currentTarget).hasClass('disabled') && api.page() != e.data.action ) {
|
||||
api.page( e.data.action ).draw( 'page' );
|
||||
}
|
||||
};
|
||||
|
||||
for ( i=0, ien=buttons.length ; i<ien ; i++ ) {
|
||||
button = buttons[i];
|
||||
|
||||
if ( $.isArray( button ) ) {
|
||||
attach( container, button );
|
||||
}
|
||||
else {
|
||||
btnDisplay = '';
|
||||
btnClass = '';
|
||||
|
||||
switch ( button ) {
|
||||
case 'ellipsis':
|
||||
btnDisplay = '…';
|
||||
btnClass = 'disabled';
|
||||
break;
|
||||
|
||||
case 'first':
|
||||
btnDisplay = lang.sFirst;
|
||||
btnClass = button + (page > 0 ?
|
||||
'' : ' disabled');
|
||||
break;
|
||||
|
||||
case 'previous':
|
||||
btnDisplay = lang.sPrevious;
|
||||
btnClass = button + (page > 0 ?
|
||||
'' : ' disabled');
|
||||
break;
|
||||
|
||||
case 'next':
|
||||
btnDisplay = lang.sNext;
|
||||
btnClass = button + (page < pages-1 ?
|
||||
'' : ' disabled');
|
||||
break;
|
||||
|
||||
case 'last':
|
||||
btnDisplay = lang.sLast;
|
||||
btnClass = button + (page < pages-1 ?
|
||||
'' : ' disabled');
|
||||
break;
|
||||
|
||||
default:
|
||||
btnDisplay = button + 1;
|
||||
btnClass = page === button ?
|
||||
'active' : '';
|
||||
break;
|
||||
}
|
||||
|
||||
if ( btnDisplay ) {
|
||||
node = $('<li>', {
|
||||
'class': classes.sPageButton+' '+btnClass,
|
||||
'id': idx === 0 && typeof button === 'string' ?
|
||||
settings.sTableId +'_'+ button :
|
||||
null
|
||||
} )
|
||||
.append( $('<a>', {
|
||||
'href': '#',
|
||||
'aria-controls': settings.sTableId,
|
||||
'aria-label': aria[ button ],
|
||||
'data-dt-idx': counter,
|
||||
'tabindex': settings.iTabIndex,
|
||||
'class': 'page-link'
|
||||
} )
|
||||
.html( btnDisplay )
|
||||
)
|
||||
.appendTo( container );
|
||||
|
||||
settings.oApi._fnBindAction(
|
||||
node, {action: button}, clickHandler
|
||||
);
|
||||
|
||||
counter++;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// IE9 throws an 'unknown error' if document.activeElement is used
|
||||
// inside an iframe or frame.
|
||||
var activeEl;
|
||||
|
||||
try {
|
||||
// Because this approach is destroying and recreating the paging
|
||||
// elements, focus is lost on the select button which is bad for
|
||||
// accessibility. So we want to restore focus once the draw has
|
||||
// completed
|
||||
activeEl = $(host).find(document.activeElement).data('dt-idx');
|
||||
}
|
||||
catch (e) {}
|
||||
|
||||
attach(
|
||||
$(host).empty().html('<ul class="pagination"/>').children('ul'),
|
||||
buttons
|
||||
);
|
||||
|
||||
if ( activeEl !== undefined ) {
|
||||
$(host).find( '[data-dt-idx='+activeEl+']' ).focus();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
return DataTable;
|
||||
}));
|
||||
58
admin/Masmak/js/index.html
Executable file
@@ -0,0 +1,58 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=windows-1256"/>
|
||||
<title>Powered by Kleeja</title>
|
||||
<style type="text/css">* {
|
||||
font-size: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
color: #CECFCE;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: Tahoma, Arial, sans-serif;
|
||||
font-size: 100%;
|
||||
color: #69788E;
|
||||
margin: 10px 30px;
|
||||
background: #F7F7F7;
|
||||
}
|
||||
|
||||
a:link, a:visited {
|
||||
text-decoration: none;
|
||||
color: #CECFCE;
|
||||
}
|
||||
|
||||
a:active, a:hover {
|
||||
text-decoration: underline;
|
||||
color: #111;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-family: "Trebuchet MS", Helvetica, sans-serif;
|
||||
font-size: 1.70em;
|
||||
font-weight: normal;
|
||||
color: #333333;
|
||||
margin-top: 0;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.content_box {
|
||||
border: 1px dashed #CECFCE;
|
||||
background: #FFFFFF;
|
||||
padding: 10px;
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
}</style>
|
||||
</head>
|
||||
<body title="كليجا"><br/>
|
||||
<div class="content_box">
|
||||
<p>
|
||||
<a target="_blank" href="http://www.kleeja.com" title="kleeja"></a>
|
||||
</p>
|
||||
<br/>
|
||||
<h1><span style="font-size:250%;color:#D80000;">403 - Access forbidden!</span></h1></div>
|
||||
<br/>
|
||||
<div class="content_box"style="font-size: 140%">Powered by Kleeja</div>
|
||||
</body>
|
||||
</html>
|
||||
34
admin/Masmak/js/jqBarGraph.js
Executable file
@@ -0,0 +1,34 @@
|
||||
/**
|
||||
* jqBarGraph - jQuery plugin
|
||||
* @version: 1.1 (2011/04/03)
|
||||
* @requires jQuery v1.2.2 or later
|
||||
* @author Ivan Lazarevic
|
||||
* Examples and documentation at: http://www.workshop.rs/jqbargraph/
|
||||
*
|
||||
* Dual licensed under the MIT and GPL licenses:
|
||||
* http://www.opensource.org/licenses/mit-license.php
|
||||
* http://www.gnu.org/licenses/gpl.html
|
||||
*
|
||||
*/
|
||||
|
||||
(function($){var opts=new Array;var level=new Array;$.fn.jqBarGraph=$.fn.jqbargraph=function(options){init=function(el){opts[el.id]=$.extend({},$.fn.jqBarGraph.defaults,options);$(el).css({'width':opts[el.id].width,'height':opts[el.id].height,'position':'relative','text-align':'center'});doGraph(el);};sum=function(ar){total=0;for(val in ar){total+=ar[val];}
|
||||
return total.toFixed(2);};max=function(ar){maxvalue=0;for(var val in ar){value=ar[val][0];if(value instanceof Array)value=sum(value);if(parseFloat(value)>parseFloat(maxvalue))maxvalue=value;}
|
||||
return maxvalue;};maxMulti=function(ar){maxvalue=0;maxvalue2=0;for(var val in ar){ar2=ar[val][0];for(var val2 in ar2){if(ar2[val2]>maxvalue2)maxvalue2=ar2[val2];}
|
||||
if(maxvalue2>maxvalue)maxvalue=maxvalue2;}
|
||||
return maxvalue;};doGraph=function(el){arr=opts[el.id];data=arr.data;if(data==undefined){$(el).html('There is not enought data for graph');return;}
|
||||
if(arr.sort=='asc')data.sort(sortNumberAsc);if(arr.sort=='desc')data.sort(sortNumberDesc);legend='';prefix=arr.prefix;postfix=arr.postfix;space=arr.barSpace;legendWidth=arr.legend?arr.legendWidth:0;fieldWidth=($(el).width()-legendWidth)/data.length;totalHeight=$(el).height();var leg=new Array();max=max(data);colPosition=0;for(var val in data){valueData=data[val][0];if(valueData instanceof Array)
|
||||
value=sum(valueData);else
|
||||
value=valueData;lbl=data[val][1];color=data[val][2];unique=val+el.id;if(color==undefined&&arr.colors==false)
|
||||
color=arr.color;if(arr.colors&&!color){colorsCounter=arr.colors.length;if(colorsCounter==colPosition)colPosition=0;color=arr.colors[colPosition];colPosition++;}
|
||||
if(arr.type=='multi')color='none';if(lbl==undefined)lbl=arr.lbl;out="<div class='graphField"+el.id+"' id='graphField"+unique+"' style='position: absolute'>";out+="<div class='graphValue"+el.id+"' id='graphValue"+unique+"'>"+prefix+value+postfix+"</div>";out+="<div class='graphBar"+el.id+"' id='graphFieldBar"+unique+"' style='background-color:"+color+";position: relative; overflow: hidden;'></div>";if(!arr.legend||arr.legends)
|
||||
out+="<div class='graphLabel"+el.id+"' id='graphLabel"+unique+"'>"+lbl+"</div>";out+="</div>";$(el).append(out);totalHeightBar=totalHeight-$('.graphLabel'+el.id).height()-$('.graphValue'+el.id).height();fieldHeight=(totalHeightBar*value)/max;$('#graphField'+unique).css({'left':(fieldWidth)*val,'width':fieldWidth-space,'margin-left':space});if(valueData instanceof Array){if(arr.type=="multi"){maxe=maxMulti(data);totalHeightBar=fieldHeight=totalHeight-$('.graphLabel'+el.id).height();$('.graphValue'+el.id).remove();}else{maxe=max;}
|
||||
for(i in valueData){heig=totalHeightBar*valueData[i]/maxe;wid=parseInt((fieldWidth-space)/valueData.length);sv='';fs=0;if(arr.showValues){sv=arr.prefix+valueData[i]+arr.postfix;fs=12;}
|
||||
o="<div class='subBars"+el.id+"' style='height:"+heig+"px; background-color: "+arr.colors[i]+"; left:"+wid*i+"px; color:"+arr.showValuesColor+"; font-size:"+fs+"px' >"+sv+"</div>";$('#graphFieldBar'+unique).prepend(o);}}
|
||||
if(arr.type=='multi')
|
||||
$('.subBars'+el.id).css({'width':wid,'position':'absolute','bottom':0});if(arr.position=='bottom')$('.graphField'+el.id).css('bottom',0);if(!arr.legends)
|
||||
leg.push([color,lbl,el.id,unique]);if(arr.animate){$('#graphFieldBar'+unique).css({'height':0});$('#graphFieldBar'+unique).animate({'height':fieldHeight},arr.speed*1000);}else{$('#graphFieldBar'+unique).css({'height':fieldHeight});}}
|
||||
for(var l in arr.legends){leg.push([arr.colors[l],arr.legends[l],el.id,l]);}
|
||||
createLegend(leg);if(arr.legend){$(el).append("<div id='legendHolder"+unique+"'></div>");$('#legendHolder'+unique).css({'width':legendWidth,'float':'right','text-align':'left'});$('#legendHolder'+unique).append(legend);$('.legendBar'+el.id).css({'float':'left','margin':3,'height':12,'width':20,'font-size':0});}
|
||||
if(arr.title){$(el).wrap("<div id='graphHolder"+unique+"'></div>");$('#graphHolder'+unique).prepend(arr.title).css({'width':arr.width+'px','text-align':'center'});}};createLegend=function(legendArr){legend='';for(var val in legendArr){legend+="<div id='legend"+legendArr[val][3]+"' style='overflow: hidden; zoom: 1;'>";legend+="<div class='legendBar"+legendArr[val][2]+"' id='legendColor"+legendArr[val][3]+"' style='background-color:"+legendArr[val][0]+"'></div>";legend+="<div class='legendLabel"+legendArr[val][2]+"' id='graphLabel"+unique+"'>"+legendArr[val][1]+"</div>";legend+="</div>";}};this.each(function()
|
||||
{init(this);})};$.fn.jqBarGraph.defaults={barSpace:10,width:400,height:300,color:'#000000',colors:false,lbl:'',sort:false,position:'bottom',prefix:'',postfix:'',animate:true,speed:1.5,legendWidth:100,legend:false,legends:false,type:false,showValues:true,showValuesColor:'#fff',title:false};function sortNumberAsc(a,b){if(a[0]<b[0])return-1;if(a[0]>b[0])return 1;return 0;}
|
||||
function sortNumberDesc(a,b){if(a[0]>b[0])return-1;if(a[0]<b[0])return 1;return 0;}})(jQuery);
|
||||
15344
admin/Masmak/js/jquery.dataTables.js
vendored
Executable file
4
admin/Masmak/js/jquery.min.js
vendored
Normal file
144
admin/Masmak/js/jquery.waitforimages.js
Executable file
@@ -0,0 +1,144 @@
|
||||
/*
|
||||
* waitForImages 1.4
|
||||
* -----------------
|
||||
* Provides a callback when all images have loaded in your given selector.
|
||||
* http://www.alexanderdickson.com/
|
||||
*
|
||||
*
|
||||
* Copyright (c) 2011 Alex Dickson
|
||||
* Licensed under the MIT licenses.
|
||||
* See website for more info.
|
||||
*
|
||||
*/
|
||||
|
||||
;(function($) {
|
||||
// Namespace all events.
|
||||
var eventNamespace = 'waitForImages';
|
||||
|
||||
// CSS properties which contain references to images.
|
||||
$.waitForImages = {
|
||||
hasImageProperties: [
|
||||
'backgroundImage',
|
||||
'listStyleImage',
|
||||
'borderImage',
|
||||
'borderCornerImage'
|
||||
]
|
||||
};
|
||||
|
||||
// Custom selector to find `img` elements that have a valid `src` attribute and have not already loaded.
|
||||
$.expr[':'].uncached = function(obj) {
|
||||
// Ensure we are dealing with an `img` element with a valid `src` attribute.
|
||||
if ( ! $(obj).is('img[src!=""]')) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Firefox's `complete` property will always be`true` even if the image has not been downloaded.
|
||||
// Doing it this way works in Firefox.
|
||||
var img = document.createElement('img');
|
||||
img.src = obj.src;
|
||||
return ! img.complete;
|
||||
};
|
||||
|
||||
$.fn.waitForImages = function(finishedCallback, eachCallback, waitForAll) {
|
||||
|
||||
// Handle options object.
|
||||
if ($.isPlainObject(arguments[0])) {
|
||||
eachCallback = finishedCallback.each;
|
||||
waitForAll = finishedCallback.waitForAll;
|
||||
finishedCallback = finishedCallback.finished;
|
||||
}
|
||||
|
||||
// Handle missing callbacks.
|
||||
finishedCallback = finishedCallback || $.noop;
|
||||
eachCallback = eachCallback || $.noop;
|
||||
|
||||
// Convert waitForAll to Boolean
|
||||
waitForAll = !! waitForAll;
|
||||
|
||||
// Ensure callbacks are functions.
|
||||
if (!$.isFunction(finishedCallback) || !$.isFunction(eachCallback)) {
|
||||
throw new TypeError('An invalid callback was supplied.');
|
||||
};
|
||||
|
||||
return this.each(function() {
|
||||
// Build a list of all imgs, dependent on what images will be considered.
|
||||
var obj = $(this),
|
||||
allImgs = [];
|
||||
|
||||
if (waitForAll) {
|
||||
// CSS properties which may contain an image.
|
||||
var hasImgProperties = $.waitForImages.hasImageProperties || [],
|
||||
matchUrl = /url\((['"]?)(.*?)\1\)/g;
|
||||
|
||||
// Get all elements, as any one of them could have a background image.
|
||||
obj.find('*').each(function() {
|
||||
var element = $(this);
|
||||
|
||||
// If an `img` element, add it. But keep iterating in case it has a background image too.
|
||||
if (element.is('img:uncached')) {
|
||||
allImgs.push({
|
||||
src: element.attr('src'),
|
||||
element: element[0]
|
||||
});
|
||||
}
|
||||
|
||||
$.each(hasImgProperties, function(i, property) {
|
||||
var propertyValue = element.css(property);
|
||||
// If it doesn't contain this property, skip.
|
||||
if ( ! propertyValue) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// Get all url() of this element.
|
||||
var match;
|
||||
while (match = matchUrl.exec(propertyValue)) {
|
||||
allImgs.push({
|
||||
src: match[2],
|
||||
element: element[0]
|
||||
});
|
||||
};
|
||||
});
|
||||
});
|
||||
} else {
|
||||
// For images only, the task is simpler.
|
||||
obj
|
||||
.find('img:uncached')
|
||||
.each(function() {
|
||||
allImgs.push({
|
||||
src: this.src,
|
||||
element: this
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
var allImgsLength = allImgs.length,
|
||||
allImgsLoaded = 0;
|
||||
|
||||
// If no images found, don't bother.
|
||||
if (allImgsLength == 0) {
|
||||
finishedCallback.call(obj[0]);
|
||||
};
|
||||
|
||||
$.each(allImgs, function(i, img) {
|
||||
|
||||
var image = new Image;
|
||||
|
||||
// Handle the image loading and error with the same callback.
|
||||
$(image).bind('load.' + eventNamespace + ' error.' + eventNamespace, function(event) {
|
||||
allImgsLoaded++;
|
||||
|
||||
// If an error occurred with loading the image, set the third argument accordingly.
|
||||
eachCallback.call(img.element, allImgsLoaded, allImgsLength, event.type == 'load');
|
||||
|
||||
if (allImgsLoaded == allImgsLength) {
|
||||
finishedCallback.call(obj[0]);
|
||||
return false;
|
||||
};
|
||||
|
||||
});
|
||||
|
||||
image.src = img.src;
|
||||
});
|
||||
});
|
||||
};
|
||||
})(jQuery);
|
||||