mirror of
https://git.friendi.ca/friendica/friendica.git
synced 2025-06-17 01:25:21 +02:00
Merge pull request #7044 from MrPetovan/task/router
Move mod/admin to src/Module/Admin
This commit is contained in:
commit
774d04cd2f
97 changed files with 3031 additions and 3894 deletions
|
@ -70,7 +70,6 @@ function clean_form(App $a, &$colorset, $user)
|
|||
$t = Renderer::getMarkupTemplate("theme_settings.tpl");
|
||||
$o = Renderer::replaceMacros($t, [
|
||||
'$submit' => L10n::t('Submit'),
|
||||
'$baseurl' => System::baseUrl(),
|
||||
'$title' => L10n::t("Theme settings"),
|
||||
'$colorset' => ['duepuntozero_colorset', L10n::t('Variations'), $color, '', $colorset],
|
||||
]);
|
||||
|
|
|
@ -3507,6 +3507,7 @@ div.jGrowl div.info {
|
|||
width: 100%;
|
||||
padding: 0.5em;
|
||||
height: auto;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
aside:before {
|
||||
content: ">>";
|
||||
|
|
|
@ -30,7 +30,7 @@ function theme_post(App $a)
|
|||
|
||||
function theme_admin_post(App $a)
|
||||
{
|
||||
if (!local_user()) {
|
||||
if (!is_site_admin()) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -119,7 +119,6 @@ function frio_form($arr)
|
|||
$t = Renderer::getMarkupTemplate('theme_settings.tpl');
|
||||
$ctx = [
|
||||
'$submit' => L10n::t('Submit'),
|
||||
'$baseurl' => System::baseUrl(),
|
||||
'$title' => L10n::t('Theme settings'),
|
||||
'$scheme' => ['frio_scheme', L10n::t('Select color scheme'), $arr['scheme'], '', $scheme_choices],
|
||||
'$share_string' => ['frio_share_string', L10n::t('Copy or paste schemestring'), $arr['share_string'], L10n::t('You can copy this string to share your theme with others. Pasting here applies the schemestring'), false, false],
|
||||
|
|
|
@ -33,6 +33,10 @@ body {
|
|||
/*color: #555;*/
|
||||
font-family: 'Open Sans',sans-serif;
|
||||
}
|
||||
body.minimal {
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
body a {
|
||||
/*color: #555;*/
|
||||
/*color: #6fdbe8;*/
|
||||
|
@ -131,14 +135,6 @@ blockquote {
|
|||
* standard page elements
|
||||
*/
|
||||
|
||||
section.minimal {
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
#back-to-top {
|
||||
display: none;
|
||||
cursor: pointer;
|
||||
|
@ -3240,53 +3236,6 @@ main .nav-tabs>li.active>a:hover {
|
|||
* Framework overwrite
|
||||
*/
|
||||
|
||||
/* jRange */
|
||||
.theme-frio .back-bar {
|
||||
height: 5px !important;
|
||||
border-radius: 2px;
|
||||
background-color: #eeeeee;
|
||||
background-color: #e7e7e7;
|
||||
background-image: -moz-linear-gradient(top, #eeeeee, #dddddd);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#eeeeee), to(#dddddd));
|
||||
background-image: -webkit-linear-gradient(top, #eeeeee, #dddddd);
|
||||
background-image: -o-linear-gradient(top, #eeeeee, #dddddd);
|
||||
background-image: linear-gradient(to bottom, #eeeeee, #dddddd);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffeeeeee', endColorstr='#ffdddddd', GradientType=0);
|
||||
}
|
||||
.theme-frio .back-bar .selected-bar {
|
||||
border-radius: 2px;
|
||||
background-color: $link_color;
|
||||
/* background-image: -moz-linear-gradient(top, #bdfade, #76fabc);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#bdfade), to(#76fabc));
|
||||
background-image: -webkit-linear-gradient(top, #bdfade, #76fabc);
|
||||
background-image: -o-linear-gradient(top, #bdfade, #76fabc);
|
||||
background-image: linear-gradient(to bottom, #bdfade, #76fabc);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffbdfade', endColorstr='#ff76fabc', GradientType=0);*/
|
||||
}
|
||||
.theme-frio .back-bar .pointer {
|
||||
width: 14px !important;
|
||||
height: 14px !important;
|
||||
top: -5px;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
border-radius: 10px;
|
||||
border: 1px solid #AAA;
|
||||
background-color: #e7e7e7 !important;
|
||||
background-image: -moz-linear-gradient(top, #eeeeee, #dddddd);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#eeeeee), to(#dddddd));
|
||||
background-image: -webkit-linear-gradient(top, #eeeeee, #dddddd);
|
||||
background-image: -o-linear-gradient(top, #eeeeee, #dddddd);
|
||||
background-image: linear-gradient(to bottom, #eeeeee, #dddddd);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffeeeeee', endColorstr='#ffdddddd', GradientType=0);
|
||||
}
|
||||
.theme-frio .back-bar .pointer-label {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
/* textcomplete for contact filtering*/
|
||||
#contact-list ul.dropdown-menu.textcomplete-dropdown.media-list {
|
||||
position: relative !important;
|
||||
|
@ -3553,8 +3502,11 @@ section .profile-match-wrapper {
|
|||
body {
|
||||
padding-top: 95px;
|
||||
}
|
||||
body.minimal {
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
#friendica-logo-mask {
|
||||
#friendica-logo-mask {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,21 +0,0 @@
|
|||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2014 Nitin Hayaran
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
|
@ -1,5 +0,0 @@
|
|||
## jQuery plugin to create Range Selector
|
||||
|
||||

|
||||
|
||||
[Demo and Documentation](http://nitinhayaran.github.io/jRange/demo/)
|
File diff suppressed because one or more lines are too long
|
@ -1,173 +0,0 @@
|
|||
.slider-container {
|
||||
width: 300px;
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
}
|
||||
.slider-container .back-bar {
|
||||
height: 10px;
|
||||
position: relative;
|
||||
}
|
||||
.slider-container .back-bar .selected-bar {
|
||||
position: absolute;
|
||||
height: 100%;
|
||||
}
|
||||
.slider-container .back-bar .pointer {
|
||||
position: absolute;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
background-color: red;
|
||||
cursor: col-resize;
|
||||
opacity: 1;
|
||||
z-index: 2;
|
||||
}
|
||||
.slider-container .back-bar .pointer.last-active {
|
||||
z-index: 3;
|
||||
}
|
||||
.slider-container .back-bar .pointer-label {
|
||||
position: absolute;
|
||||
top: -17px;
|
||||
font-size: 8px;
|
||||
background: white;
|
||||
white-space: nowrap;
|
||||
line-height: 1;
|
||||
}
|
||||
.slider-container .back-bar .focused {
|
||||
z-index: 10;
|
||||
}
|
||||
.slider-container .clickable-dummy {
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 1;
|
||||
}
|
||||
.slider-container .scale {
|
||||
top: 2px;
|
||||
position: relative;
|
||||
}
|
||||
.slider-container .scale span {
|
||||
position: absolute;
|
||||
height: 5px;
|
||||
border-left: 1px solid #999;
|
||||
font-size: 0;
|
||||
}
|
||||
.slider-container .scale ins {
|
||||
font-size: 9px;
|
||||
text-decoration: none;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 5px;
|
||||
color: #999;
|
||||
line-height: 1;
|
||||
}
|
||||
.slider-container.slider-readonly .clickable-dummy,
|
||||
.slider-container.slider-readonly .pointer {
|
||||
cursor: auto;
|
||||
}
|
||||
.theme-green .back-bar {
|
||||
height: 5px;
|
||||
border-radius: 2px;
|
||||
background-color: #eeeeee;
|
||||
background-color: #e7e7e7;
|
||||
background-image: -moz-linear-gradient(top, #eeeeee, #dddddd);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#eeeeee), to(#dddddd));
|
||||
background-image: -webkit-linear-gradient(top, #eeeeee, #dddddd);
|
||||
background-image: -o-linear-gradient(top, #eeeeee, #dddddd);
|
||||
background-image: linear-gradient(to bottom, #eeeeee, #dddddd);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffeeeeee', endColorstr='#ffdddddd', GradientType=0);
|
||||
}
|
||||
.theme-green .back-bar .selected-bar {
|
||||
border-radius: 2px;
|
||||
background-color: #a1fad0;
|
||||
background-image: -moz-linear-gradient(top, #bdfade, #76fabc);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#bdfade), to(#76fabc));
|
||||
background-image: -webkit-linear-gradient(top, #bdfade, #76fabc);
|
||||
background-image: -o-linear-gradient(top, #bdfade, #76fabc);
|
||||
background-image: linear-gradient(to bottom, #bdfade, #76fabc);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffbdfade', endColorstr='#ff76fabc', GradientType=0);
|
||||
}
|
||||
.theme-green .back-bar .pointer {
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
top: -5px;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
border-radius: 10px;
|
||||
border: 1px solid #AAA;
|
||||
background-color: #e7e7e7;
|
||||
background-image: -moz-linear-gradient(top, #eeeeee, #dddddd);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#eeeeee), to(#dddddd));
|
||||
background-image: -webkit-linear-gradient(top, #eeeeee, #dddddd);
|
||||
background-image: -o-linear-gradient(top, #eeeeee, #dddddd);
|
||||
background-image: linear-gradient(to bottom, #eeeeee, #dddddd);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffeeeeee', endColorstr='#ffdddddd', GradientType=0);
|
||||
}
|
||||
.theme-green .back-bar .pointer-label {
|
||||
color: #999;
|
||||
}
|
||||
.theme-green .back-bar .focused {
|
||||
color: #333;
|
||||
}
|
||||
.theme-green .scale span {
|
||||
border-left: 1px solid #e5e5e5;
|
||||
}
|
||||
.theme-green .scale ins {
|
||||
color: #999;
|
||||
}
|
||||
.theme-blue .back-bar {
|
||||
height: 5px;
|
||||
border-radius: 2px;
|
||||
background-color: #eeeeee;
|
||||
background-color: #e7e7e7;
|
||||
background-image: -moz-linear-gradient(top, #eeeeee, #dddddd);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#eeeeee), to(#dddddd));
|
||||
background-image: -webkit-linear-gradient(top, #eeeeee, #dddddd);
|
||||
background-image: -o-linear-gradient(top, #eeeeee, #dddddd);
|
||||
background-image: linear-gradient(to bottom, #eeeeee, #dddddd);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffeeeeee', endColorstr='#ffdddddd', GradientType=0);
|
||||
}
|
||||
.theme-blue .back-bar .selected-bar {
|
||||
border-radius: 2px;
|
||||
background-color: #92c1f9;
|
||||
background-image: -moz-linear-gradient(top, #b1d1f9, #64a8f9);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#b1d1f9), to(#64a8f9));
|
||||
background-image: -webkit-linear-gradient(top, #b1d1f9, #64a8f9);
|
||||
background-image: -o-linear-gradient(top, #b1d1f9, #64a8f9);
|
||||
background-image: linear-gradient(to bottom, #b1d1f9, #64a8f9);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffb1d1f9', endColorstr='#ff64a8f9', GradientType=0);
|
||||
}
|
||||
.theme-blue .back-bar .pointer {
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
top: -5px;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
border-radius: 10px;
|
||||
border: 1px solid #AAA;
|
||||
background-color: #e7e7e7;
|
||||
background-image: -moz-linear-gradient(top, #eeeeee, #dddddd);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#eeeeee), to(#dddddd));
|
||||
background-image: -webkit-linear-gradient(top, #eeeeee, #dddddd);
|
||||
background-image: -o-linear-gradient(top, #eeeeee, #dddddd);
|
||||
background-image: linear-gradient(to bottom, #eeeeee, #dddddd);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffeeeeee', endColorstr='#ffdddddd', GradientType=0);
|
||||
}
|
||||
.theme-blue .back-bar .pointer-label {
|
||||
color: #999;
|
||||
}
|
||||
.theme-blue .back-bar .focused {
|
||||
color: #333;
|
||||
}
|
||||
.theme-blue .scale span {
|
||||
border-left: 1px solid #e5e5e5;
|
||||
}
|
||||
.theme-blue .scale ins {
|
||||
color: #999;
|
||||
}
|
|
@ -1,401 +0,0 @@
|
|||
/*jshint multistr:true, curly: false */
|
||||
/*global jQuery:false, define: false */
|
||||
/**
|
||||
* jRange - Awesome range control
|
||||
*
|
||||
* Written by
|
||||
* ----------
|
||||
* Nitin Hayaran (nitinhayaran@gmail.com)
|
||||
*
|
||||
* Licensed under the MIT (MIT-LICENSE.txt).
|
||||
*
|
||||
* @author Nitin Hayaran
|
||||
* @version 0.1-RELEASE
|
||||
*
|
||||
* Dependencies
|
||||
* ------------
|
||||
* jQuery (http://jquery.com)
|
||||
*
|
||||
**/
|
||||
;
|
||||
(function($, window, document, undefined) {
|
||||
'use strict';
|
||||
|
||||
var jRange = function() {
|
||||
return this.init.apply(this, arguments);
|
||||
};
|
||||
jRange.prototype = {
|
||||
defaults: {
|
||||
onstatechange: function() {},
|
||||
ondragend: function() {},
|
||||
onbarclicked: function() {},
|
||||
isRange: false,
|
||||
showLabels: true,
|
||||
showScale: true,
|
||||
step: 1,
|
||||
format: '%s',
|
||||
theme: 'theme-green',
|
||||
width: 300,
|
||||
disable: false,
|
||||
snap: false
|
||||
},
|
||||
template: '<div class="slider-container">\
|
||||
<div class="back-bar">\
|
||||
<div class="selected-bar"></div>\
|
||||
<div class="pointer low"></div><div class="pointer-label low">123456</div>\
|
||||
<div class="pointer high"></div><div class="pointer-label high">456789</div>\
|
||||
<div class="clickable-dummy"></div>\
|
||||
</div>\
|
||||
<div class="scale"></div>\
|
||||
</div>',
|
||||
init: function(node, options) {
|
||||
this.options = $.extend({}, this.defaults, options);
|
||||
this.inputNode = $(node);
|
||||
this.options.value = this.inputNode.val() || (this.options.isRange ? this.options.from + ',' + this.options.from : this.options.from);
|
||||
this.domNode = $(this.template);
|
||||
this.domNode.addClass(this.options.theme);
|
||||
this.inputNode.after(this.domNode);
|
||||
this.domNode.on('change', this.onChange);
|
||||
this.pointers = $('.pointer', this.domNode);
|
||||
this.lowPointer = this.pointers.first();
|
||||
this.highPointer = this.pointers.last();
|
||||
this.labels = $('.pointer-label', this.domNode);
|
||||
this.lowLabel = this.labels.first();
|
||||
this.highLabel = this.labels.last();
|
||||
this.scale = $('.scale', this.domNode);
|
||||
this.bar = $('.selected-bar', this.domNode);
|
||||
this.clickableBar = this.domNode.find('.clickable-dummy');
|
||||
this.interval = this.options.to - this.options.from;
|
||||
this.render();
|
||||
},
|
||||
render: function() {
|
||||
// Check if inputNode is visible, and have some width, so that we can set slider width accordingly.
|
||||
if (this.inputNode.width() === 0 && !this.options.width) {
|
||||
console.log('jRange : no width found, returning');
|
||||
return;
|
||||
} else {
|
||||
this.options.width = this.options.width || this.inputNode.width();
|
||||
this.domNode.width(this.options.width);
|
||||
this.inputNode.hide();
|
||||
}
|
||||
|
||||
if (this.isSingle()) {
|
||||
this.lowPointer.hide();
|
||||
this.lowLabel.hide();
|
||||
}
|
||||
if (!this.options.showLabels) {
|
||||
this.labels.hide();
|
||||
}
|
||||
this.attachEvents();
|
||||
if (this.options.showScale) {
|
||||
this.renderScale();
|
||||
}
|
||||
this.setValue(this.options.value);
|
||||
},
|
||||
isSingle: function() {
|
||||
if (typeof(this.options.value) === 'number') {
|
||||
return true;
|
||||
}
|
||||
return (this.options.value.indexOf(',') !== -1 || this.options.isRange) ?
|
||||
false : true;
|
||||
},
|
||||
attachEvents: function() {
|
||||
this.clickableBar.click($.proxy(this.barClicked, this));
|
||||
this.pointers.on('mousedown touchstart', $.proxy(this.onDragStart, this));
|
||||
this.pointers.bind('dragstart', function(event) {
|
||||
event.preventDefault();
|
||||
});
|
||||
},
|
||||
onDragStart: function(e) {
|
||||
if ( this.options.disable || (e.type === 'mousedown' && e.which !== 1)) {
|
||||
return;
|
||||
}
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
var pointer = $(e.target);
|
||||
this.pointers.removeClass('last-active');
|
||||
pointer.addClass('focused last-active');
|
||||
this[(pointer.hasClass('low') ? 'low' : 'high') + 'Label'].addClass('focused');
|
||||
$(document).on('mousemove.slider touchmove.slider', $.proxy(this.onDrag, this, pointer));
|
||||
$(document).on('mouseup.slider touchend.slider touchcancel.slider', $.proxy(this.onDragEnd, this));
|
||||
},
|
||||
onDrag: function(pointer, e) {
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
|
||||
if (e.originalEvent.touches && e.originalEvent.touches.length) {
|
||||
e = e.originalEvent.touches[0];
|
||||
} else if (e.originalEvent.changedTouches && e.originalEvent.changedTouches.length) {
|
||||
e = e.originalEvent.changedTouches[0];
|
||||
}
|
||||
|
||||
var position = e.clientX - this.domNode.offset().left;
|
||||
this.domNode.trigger('change', [this, pointer, position]);
|
||||
},
|
||||
onDragEnd: function(e) {
|
||||
this.pointers.removeClass('focused')
|
||||
.trigger('rangeslideend');
|
||||
this.labels.removeClass('focused');
|
||||
$(document).off('.slider');
|
||||
this.options.ondragend.call(this, this.options.value);
|
||||
},
|
||||
barClicked: function(e) {
|
||||
if(this.options.disable) return;
|
||||
var x = e.pageX - this.clickableBar.offset().left;
|
||||
if (this.isSingle())
|
||||
this.setPosition(this.pointers.last(), x, true, true);
|
||||
else {
|
||||
var firstLeft = Math.abs(parseFloat(this.pointers.first().css('left'), 10)),
|
||||
firstHalfWidth = this.pointers.first().width() / 2,
|
||||
lastLeft = Math.abs(parseFloat(this.pointers.last().css('left'), 10)),
|
||||
lastHalfWidth = this.pointers.first().width() / 2,
|
||||
leftSide = Math.abs(firstLeft - x + firstHalfWidth),
|
||||
rightSide = Math.abs(lastLeft - x + lastHalfWidth),
|
||||
pointer;
|
||||
|
||||
if(leftSide == rightSide) {
|
||||
pointer = x < firstLeft ? this.pointers.first() : this.pointers.last();
|
||||
} else {
|
||||
pointer = leftSide < rightSide ? this.pointers.first() : this.pointers.last();
|
||||
}
|
||||
this.setPosition(pointer, x, true, true);
|
||||
}
|
||||
this.options.onbarclicked.call(this, this.options.value);
|
||||
},
|
||||
onChange: function(e, self, pointer, position) {
|
||||
var min, max;
|
||||
min = 0;
|
||||
max = self.domNode.width();
|
||||
|
||||
if (!self.isSingle()) {
|
||||
min = pointer.hasClass('high') ? parseFloat(self.lowPointer.css("left")) + (self.lowPointer.width() / 2) : 0;
|
||||
max = pointer.hasClass('low') ? parseFloat(self.highPointer.css("left")) + (self.highPointer.width() / 2) : self.domNode.width();
|
||||
}
|
||||
|
||||
var value = Math.min(Math.max(position, min), max);
|
||||
self.setPosition(pointer, value, true);
|
||||
},
|
||||
setPosition: function(pointer, position, isPx, animate) {
|
||||
var leftPos, rightPos,
|
||||
lowPos = parseFloat(this.lowPointer.css("left")),
|
||||
highPos = parseFloat(this.highPointer.css("left")) || 0,
|
||||
circleWidth = this.highPointer.width() / 2;
|
||||
if (!isPx) {
|
||||
position = this.prcToPx(position);
|
||||
}
|
||||
if(this.options.snap){
|
||||
var expPos = this.correctPositionForSnap(position);
|
||||
if(expPos === -1){
|
||||
return;
|
||||
}else{
|
||||
position = expPos;
|
||||
}
|
||||
}
|
||||
if (pointer[0] === this.highPointer[0]) {
|
||||
highPos = Math.round(position - circleWidth);
|
||||
} else {
|
||||
lowPos = Math.round(position - circleWidth);
|
||||
}
|
||||
pointer[animate ? 'animate' : 'css']({
|
||||
'left': Math.round(position - circleWidth)
|
||||
});
|
||||
if (this.isSingle()) {
|
||||
leftPos = 0;
|
||||
} else {
|
||||
leftPos = lowPos + circleWidth;
|
||||
rightPos = highPos + circleWidth;
|
||||
}
|
||||
var w = Math.round(highPos + circleWidth - leftPos);
|
||||
this.bar[animate ? 'animate' : 'css']({
|
||||
'width': Math.abs(w),
|
||||
'left': (w>0) ? leftPos : leftPos + w
|
||||
});
|
||||
this.showPointerValue(pointer, position, animate);
|
||||
this.isReadonly();
|
||||
},
|
||||
correctPositionForSnap: function(position){
|
||||
var currentValue = this.positionToValue(position) - this.options.from;
|
||||
var diff = this.options.width / (this.interval / this.options.step),
|
||||
expectedPosition = (currentValue / this.options.step) * diff;
|
||||
if( position <= expectedPosition + diff / 2 && position >= expectedPosition - diff / 2){
|
||||
return expectedPosition;
|
||||
}else{
|
||||
return -1;
|
||||
}
|
||||
},
|
||||
// will be called from outside
|
||||
setValue: function(value) {
|
||||
var values = value.toString().split(',');
|
||||
values[0] = Math.min(Math.max(values[0], this.options.from), this.options.to) + '';
|
||||
if (values.length > 1){
|
||||
values[1] = Math.min(Math.max(values[1], this.options.from), this.options.to) + '';
|
||||
}
|
||||
this.options.value = value;
|
||||
var prc = this.valuesToPrc(values.length === 2 ? values : [0, values[0]]);
|
||||
if (this.isSingle()) {
|
||||
this.setPosition(this.highPointer, prc[1]);
|
||||
} else {
|
||||
this.setPosition(this.lowPointer, prc[0]);
|
||||
this.setPosition(this.highPointer, prc[1]);
|
||||
}
|
||||
},
|
||||
renderScale: function() {
|
||||
var s = this.options.scale || [this.options.from, this.options.to];
|
||||
var prc = Math.round((100 / (s.length - 1)) * 10) / 10;
|
||||
var str = '';
|
||||
for (var i = 0; i < s.length; i++) {
|
||||
str += '<span style="left: ' + i * prc + '%">' + (s[i] != '|' ? '<ins>' + s[i] + '</ins>' : '') + '</span>';
|
||||
}
|
||||
this.scale.html(str);
|
||||
|
||||
$('ins', this.scale).each(function() {
|
||||
$(this).css({
|
||||
marginLeft: -$(this).outerWidth() / 2
|
||||
});
|
||||
});
|
||||
},
|
||||
getBarWidth: function() {
|
||||
var values = this.options.value.split(',');
|
||||
if (values.length > 1) {
|
||||
return parseFloat(values[1]) - parseFloat(values[0]);
|
||||
} else {
|
||||
return parseFloat(values[0]);
|
||||
}
|
||||
},
|
||||
showPointerValue: function(pointer, position, animate) {
|
||||
var label = $('.pointer-label', this.domNode)[pointer.hasClass('low') ? 'first' : 'last']();
|
||||
var text;
|
||||
var value = this.positionToValue(position);
|
||||
// Is it higer or lower than it should be?
|
||||
|
||||
if ($.isFunction(this.options.format)) {
|
||||
var type = this.isSingle() ? undefined : (pointer.hasClass('low') ? 'low' : 'high');
|
||||
text = this.options.format(value, type);
|
||||
} else {
|
||||
text = this.options.format.replace('%s', value);
|
||||
}
|
||||
|
||||
var width = label.html(text).width(),
|
||||
left = position - width / 2;
|
||||
left = Math.min(Math.max(left, 0), this.options.width - width);
|
||||
label[animate ? 'animate' : 'css']({
|
||||
left: left
|
||||
});
|
||||
this.setInputValue(pointer, value);
|
||||
},
|
||||
valuesToPrc: function(values) {
|
||||
var lowPrc = ((parseFloat(values[0]) - parseFloat(this.options.from)) * 100 / this.interval),
|
||||
highPrc = ((parseFloat(values[1]) - parseFloat(this.options.from)) * 100 / this.interval);
|
||||
return [lowPrc, highPrc];
|
||||
},
|
||||
prcToPx: function(prc) {
|
||||
return (this.domNode.width() * prc) / 100;
|
||||
},
|
||||
isDecimal: function() {
|
||||
return ((this.options.value + this.options.from + this.options.to).indexOf(".")===-1) ? false : true;
|
||||
},
|
||||
positionToValue: function(pos) {
|
||||
var value = (pos / this.domNode.width()) * this.interval;
|
||||
value = parseFloat(value, 10) + parseFloat(this.options.from, 10);
|
||||
if (this.isDecimal()) {
|
||||
var final = Math.round(Math.round(value / this.options.step) * this.options.step *100)/100;
|
||||
if (final!==0.0) {
|
||||
final = '' + final;
|
||||
if (final.indexOf(".")===-1) {
|
||||
final = final + ".";
|
||||
}
|
||||
while (final.length - final.indexOf('.')<3) {
|
||||
final = final + "0";
|
||||
}
|
||||
} else {
|
||||
final = "0.00";
|
||||
}
|
||||
return final;
|
||||
} else {
|
||||
return Math.round(value / this.options.step) * this.options.step;
|
||||
}
|
||||
},
|
||||
setInputValue: function(pointer, v) {
|
||||
// if(!isChanged) return;
|
||||
if (this.isSingle()) {
|
||||
this.options.value = v.toString();
|
||||
} else {
|
||||
var values = this.options.value.split(',');
|
||||
if (pointer.hasClass('low')) {
|
||||
this.options.value = v + ',' + values[1];
|
||||
} else {
|
||||
this.options.value = values[0] + ',' + v;
|
||||
}
|
||||
}
|
||||
if (this.inputNode.val() !== this.options.value) {
|
||||
this.inputNode.val(this.options.value)
|
||||
.trigger('change');
|
||||
this.options.onstatechange.call(this, this.options.value);
|
||||
}
|
||||
},
|
||||
getValue: function() {
|
||||
return this.options.value;
|
||||
},
|
||||
getOptions: function() {
|
||||
return this.options;
|
||||
},
|
||||
getRange: function() {
|
||||
return this.options.from + "," + this.options.to;
|
||||
},
|
||||
isReadonly: function(){
|
||||
this.domNode.toggleClass('slider-readonly', this.options.disable);
|
||||
},
|
||||
disable: function(){
|
||||
this.options.disable = true;
|
||||
this.isReadonly();
|
||||
},
|
||||
enable: function(){
|
||||
this.options.disable = false;
|
||||
this.isReadonly();
|
||||
},
|
||||
toggleDisable: function(){
|
||||
this.options.disable = !this.options.disable;
|
||||
this.isReadonly();
|
||||
},
|
||||
updateRange: function(range, value) {
|
||||
var values = range.toString().split(',');
|
||||
this.interval = parseInt(values[1]) - parseInt(values[0]);
|
||||
if(value){
|
||||
this.setValue(value);
|
||||
}else{
|
||||
this.setValue(this.getValue());
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var pluginName = 'jRange';
|
||||
// A really lightweight plugin wrapper around the constructor,
|
||||
// preventing against multiple instantiations
|
||||
$.fn[pluginName] = function(option) {
|
||||
var args = arguments,
|
||||
result;
|
||||
|
||||
this.each(function() {
|
||||
var $this = $(this),
|
||||
data = $.data(this, 'plugin_' + pluginName),
|
||||
options = typeof option === 'object' && option;
|
||||
if (!data) {
|
||||
$this.data('plugin_' + pluginName, (data = new jRange(this, options)));
|
||||
$(window).resize(function() {
|
||||
data.setValue(data.getValue());
|
||||
}); // Update slider position when window is resized to keep it in sync with scale
|
||||
}
|
||||
// if first argument is a string, call silimarly named function
|
||||
// this gives flexibility to call functions of the plugin e.g.
|
||||
// - $('.dial').plugin('destroy');
|
||||
// - $('.dial').plugin('render', $('.new-child'));
|
||||
if (typeof option === 'string') {
|
||||
result = data[option].apply(data, Array.prototype.slice.call(args, 1));
|
||||
}
|
||||
});
|
||||
|
||||
// To enable plugin returns values
|
||||
return result || this;
|
||||
};
|
||||
|
||||
})(jQuery, window, document);
|
|
@ -1,198 +0,0 @@
|
|||
#gradient {
|
||||
.horizontal(@startColor: #555, @endColor: #333) {
|
||||
background-color: @endColor;
|
||||
background-image: -moz-linear-gradient(left, @startColor, @endColor); // FF 3.6+
|
||||
background-image: -webkit-gradient(linear, 0 0, 100% 0, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+
|
||||
background-image: -webkit-linear-gradient(left, @startColor, @endColor); // Safari 5.1+, Chrome 10+
|
||||
background-image: -o-linear-gradient(left, @startColor, @endColor); // Opera 11.10
|
||||
background-image: linear-gradient(to right, @startColor, @endColor); // Standard, IE10
|
||||
background-repeat: repeat-x;
|
||||
filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@startColor),argb(@endColor))); // IE9 and down
|
||||
}
|
||||
.vertical(@startColor: #555, @endColor: #333) {
|
||||
background-color: mix(@startColor, @endColor, 60%);
|
||||
background-image: -moz-linear-gradient(top, @startColor, @endColor); // FF 3.6+
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+
|
||||
background-image: -webkit-linear-gradient(top, @startColor, @endColor); // Safari 5.1+, Chrome 10+
|
||||
background-image: -o-linear-gradient(top, @startColor, @endColor); // Opera 11.10
|
||||
background-image: linear-gradient(to bottom, @startColor, @endColor); // Standard, IE10
|
||||
background-repeat: repeat-x;
|
||||
filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@startColor),argb(@endColor))); // IE9 and down
|
||||
}
|
||||
.directional(@startColor: #555, @endColor: #333, @deg: 45deg) {
|
||||
background-color: @endColor;
|
||||
background-repeat: repeat-x;
|
||||
background-image: -moz-linear-gradient(@deg, @startColor, @endColor); // FF 3.6+
|
||||
background-image: -webkit-linear-gradient(@deg, @startColor, @endColor); // Safari 5.1+, Chrome 10+
|
||||
background-image: -o-linear-gradient(@deg, @startColor, @endColor); // Opera 11.10
|
||||
background-image: linear-gradient(@deg, @startColor, @endColor); // Standard, IE10
|
||||
}
|
||||
.vertical-three-colors(@startColor: #00b3ee, @midColor: #7a43b6, @colorStop: 50%, @endColor: #c3325f) {
|
||||
background-color: mix(@midColor, @endColor, 80%);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), color-stop(@colorStop, @midColor), to(@endColor));
|
||||
background-image: -webkit-linear-gradient(@startColor, @midColor @colorStop, @endColor);
|
||||
background-image: -moz-linear-gradient(top, @startColor, @midColor @colorStop, @endColor);
|
||||
background-image: -o-linear-gradient(@startColor, @midColor @colorStop, @endColor);
|
||||
background-image: linear-gradient(@startColor, @midColor @colorStop, @endColor);
|
||||
background-repeat: no-repeat;
|
||||
filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@startColor),argb(@endColor))); // IE9 and down, gets no color-stop at all for proper fallback
|
||||
}
|
||||
.radial(@innerColor: #555, @outerColor: #333) {
|
||||
background-color: @outerColor;
|
||||
background-image: -webkit-gradient(radial, center center, 0, center center, 460, from(@innerColor), to(@outerColor));
|
||||
background-image: -webkit-radial-gradient(circle, @innerColor, @outerColor);
|
||||
background-image: -moz-radial-gradient(circle, @innerColor, @outerColor);
|
||||
background-image: -o-radial-gradient(circle, @innerColor, @outerColor);
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
.striped(@color: #555, @angle: 45deg) {
|
||||
background-color: @color;
|
||||
background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255,255,255,.15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255,255,255,.15)), color-stop(.75, rgba(255,255,255,.15)), color-stop(.75, transparent), to(transparent));
|
||||
background-image: -webkit-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
|
||||
background-image: -moz-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
|
||||
background-image: -o-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
|
||||
background-image: linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
|
||||
}
|
||||
}
|
||||
|
||||
.slider-container {
|
||||
width: 300px;
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
.back-bar {
|
||||
height: 10px;
|
||||
position: relative;
|
||||
.selected-bar {
|
||||
position: absolute;
|
||||
height: 100%;
|
||||
}
|
||||
.pointer {
|
||||
position: absolute;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
background-color: red;
|
||||
cursor: col-resize;
|
||||
opacity: 1;
|
||||
z-index: 2;
|
||||
&.last-active{
|
||||
z-index: 3;
|
||||
}
|
||||
}
|
||||
.pointer-label {
|
||||
position: absolute;
|
||||
top: -17px;
|
||||
font-size: 8px;
|
||||
background: white;
|
||||
white-space: nowrap;
|
||||
line-height: 1;
|
||||
}
|
||||
.focused {
|
||||
z-index: 10;
|
||||
}
|
||||
}
|
||||
.clickable-dummy {
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 1;
|
||||
}
|
||||
.scale {
|
||||
top: 2px;
|
||||
position: relative;
|
||||
span {
|
||||
position: absolute;
|
||||
height: 5px;
|
||||
border-left: 1px solid #999;
|
||||
font-size: 0;
|
||||
}
|
||||
ins {
|
||||
font-size: 9px;
|
||||
text-decoration: none;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 5px;
|
||||
color: #999;
|
||||
line-height: 1;
|
||||
}
|
||||
}
|
||||
&.slider-readonly{
|
||||
.clickable-dummy, .pointer {
|
||||
cursor: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
.theme-green {
|
||||
.back-bar {
|
||||
height: 5px;
|
||||
border-radius: 2px;
|
||||
background-color: #eeeeee;
|
||||
#gradient > .vertical(#eeeeee, #dddddd);
|
||||
.selected-bar {
|
||||
border-radius: 2px;
|
||||
#gradient > .vertical(#bdfade, #76fabc);
|
||||
}
|
||||
.pointer {
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
top: -5px;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
border-radius: 10px;
|
||||
border: 1px solid #AAA;
|
||||
#gradient > .vertical(#eeeeee, #dddddd);
|
||||
}
|
||||
.pointer-label {
|
||||
color: #999;
|
||||
}
|
||||
.focused {
|
||||
color: #333;
|
||||
}
|
||||
}
|
||||
.scale {
|
||||
span {
|
||||
border-left: 1px solid #e5e5e5;
|
||||
}
|
||||
ins {
|
||||
color: #999;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.theme-blue {
|
||||
.back-bar {
|
||||
height: 5px;
|
||||
border-radius: 2px;
|
||||
background-color: #eeeeee;
|
||||
#gradient > .vertical(#eeeeee, #dddddd);
|
||||
.selected-bar {
|
||||
border-radius: 2px;
|
||||
#gradient > .vertical(#b1d1f9, #64a8f9);
|
||||
}
|
||||
.pointer {
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
top: -5px;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
border-radius: 10px;
|
||||
border: 1px solid #AAA;
|
||||
#gradient > .vertical(#eeeeee, #dddddd);
|
||||
}
|
||||
.pointer-label {
|
||||
color: #999;
|
||||
}
|
||||
.focused {
|
||||
color: #333;
|
||||
}
|
||||
}
|
||||
.scale {
|
||||
span {
|
||||
border-left: 1px solid #e5e5e5;
|
||||
}
|
||||
ins {
|
||||
color: #999;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
{
|
||||
"name": "jquery-range",
|
||||
"version": "1.0.0",
|
||||
"description": "jQuery plugin to create range selector",
|
||||
"main": "jquery.range-min.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/nitinhayaran/jRange.git"
|
||||
},
|
||||
"keywords": [
|
||||
"jquery",
|
||||
"range"
|
||||
],
|
||||
"author": "Nitin Hayaran <nitinhayaran@gmail.com>",
|
||||
"license": "ISC",
|
||||
"bugs": {
|
||||
"url": "https://github.com/nitinhayaran/jRange/issues"
|
||||
},
|
||||
"homepage": "https://github.com/nitinhayaran/jRange#readme"
|
||||
}
|
|
@ -99,7 +99,7 @@ var FileBrowser = {
|
|||
// Click on album link
|
||||
$(".fbrowser").on("click", ".folders a, .path a", function(e) {
|
||||
e.preventDefault();
|
||||
var url = baseurl + "/fbrowser/" + FileBrowser.type + "/" + this.dataset.folder + "?mode=none";
|
||||
var url = baseurl + "/fbrowser/" + FileBrowser.type + "/" + this.dataset.folder + "?mode=none&theme=frio";
|
||||
FileBrowser.folder = this.dataset.folder;
|
||||
|
||||
FileBrowser.loadContent(url);
|
||||
|
@ -134,7 +134,7 @@ var FileBrowser = {
|
|||
|
||||
console.log(FileBrowser.event, this.dataset.filename, embed, FileBrowser.id);
|
||||
|
||||
parent.$("body").trigger(FileBrowser.event, [
|
||||
$("body").trigger(FileBrowser.event, [
|
||||
this.dataset.filename,
|
||||
embed,
|
||||
FileBrowser.id,
|
||||
|
@ -152,7 +152,7 @@ var FileBrowser = {
|
|||
e.preventDefault();
|
||||
FileBrowser.type = this.getAttribute("data-mode");
|
||||
$(".fbrowser").removeClass().addClass("fbrowser " + FileBrowser.type);
|
||||
url = baseurl + "/fbrowser/" + FileBrowser.type + "?mode=none";
|
||||
url = baseurl + "/fbrowser/" + FileBrowser.type + "?mode=none&theme=frio";
|
||||
|
||||
FileBrowser.loadContent(url);
|
||||
});
|
||||
|
@ -183,10 +183,7 @@ var FileBrowser = {
|
|||
return;
|
||||
}
|
||||
|
||||
// location = baseurl + "/fbrowser/image/?mode=none"+location['hash'];
|
||||
// location.reload(true);
|
||||
|
||||
var url = baseurl + "/fbrowser/" + FileBrowser.type + "/" + FileBrowser.folder + "?mode=none";
|
||||
var url = baseurl + "/fbrowser/" + FileBrowser.type + "/" + FileBrowser.folder + "?mode=none&theme=frio";
|
||||
// load new content to fbrowser window
|
||||
FileBrowser.loadContent(url);
|
||||
}
|
||||
|
@ -214,10 +211,7 @@ var FileBrowser = {
|
|||
return;
|
||||
}
|
||||
|
||||
// location = baseurl + "/fbrowser/file/?mode=none"+location['hash'];
|
||||
// location.reload(true);
|
||||
|
||||
var url = baseurl + "/fbrowser/" + FileBrowser.type + "?mode=none";
|
||||
var url = baseurl + "/fbrowser/" + FileBrowser.type + "?mode=none&theme=frio";
|
||||
// Load new content to fbrowser window
|
||||
FileBrowser.loadContent(url);
|
||||
}
|
||||
|
|
|
@ -120,7 +120,7 @@ Dialog.show = function(url, title) {
|
|||
Dialog._get_url = function(type, name, id) {
|
||||
var hash = name;
|
||||
if (id !== undefined) hash = hash + "-" + id;
|
||||
return "fbrowser/"+type+"/?mode=none#"+hash;
|
||||
return "fbrowser/"+type+"/?mode=none&theme=frio#"+hash;
|
||||
};
|
||||
|
||||
// Does load the filebrowser into the jot modal.
|
||||
|
@ -148,7 +148,7 @@ Dialog._load = function(url) {
|
|||
var type = $("#fb-type").attr("value");
|
||||
|
||||
// Try to fetch the hash form the url.
|
||||
var match = url.match(/fbrowser\/[a-z]+\/\?mode=none(.*)/);
|
||||
var match = url.match(/fbrowser\/[a-z]+\/.*(#.*)/);
|
||||
if (match===null) return; //not fbrowser
|
||||
var hash = match[1];
|
||||
|
||||
|
|
|
@ -79,7 +79,8 @@ $is_singleuser_class = $is_singleuser ? "is-singleuser" : "is-not-singleuser";
|
|||
// special minimal style for modal dialogs
|
||||
if ($minimal) {
|
||||
?>
|
||||
<section class="minimal" style="margin:0px!important; padding:0px!important; float:none!important; display:block!important;">
|
||||
<!-- <?php echo __FILE__ ?> -->
|
||||
<section class="minimal">
|
||||
<?php if (!empty($page['content'])) echo $page['content']; ?>
|
||||
<div id="page-footer"></div>
|
||||
</section>
|
||||
|
|
30
view/theme/frio/php/minimal.php
Normal file
30
view/theme/frio/php/minimal.php
Normal file
|
@ -0,0 +1,30 @@
|
|||
<!DOCTYPE html >
|
||||
<html>
|
||||
<head>
|
||||
<title><?php if(!empty($page['title'])) echo $page['title'] ?></title>
|
||||
<script>var baseurl="<?php echo Friendica\Core\System::baseUrl() ?>";</script>
|
||||
<?php if(!empty($page['htmlhead'])) echo $page['htmlhead'] ?>
|
||||
</head>
|
||||
<body class="minimal">
|
||||
<section><?php if(!empty($page['content'])) echo $page['content']; ?>
|
||||
<div id="page-footer"></div>
|
||||
</section>
|
||||
<!-- Modal -->
|
||||
<div id="modal" class="modal fade" tabindex="-1" role="dialog" aria-hidden="true">
|
||||
<div class="modal-dialog modal-full-screen">
|
||||
<div class="modal-content">
|
||||
<div id="modal-header" class="modal-header">
|
||||
<button id="modal-cloase" type="button" class="close" data-dismiss="modal" aria-hidden="true">
|
||||
×
|
||||
</button>
|
||||
<h4 id="modal-title" class="modal-title"></h4>
|
||||
</div>
|
||||
<div id="modal-body" class="modal-body">
|
||||
<!-- /# content goes here -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
|
||||
<div id='adminpage'>
|
||||
<h1>{{$title}} - {{$page}}</h1>
|
||||
{{if $pcount eq 0}}
|
||||
<div class="error-message">
|
||||
{{$noplugshint}}
|
||||
</div>
|
||||
{{else}}
|
||||
<a class="btn" href="{{$baseurl}}/admin/{{$function}}?a=r&t={{$form_security_token}}">{{$reload}}</a>
|
||||
<ul id='addonslist'>
|
||||
{{foreach $addons as $p}}
|
||||
<li class="addon {{$p.1}}">
|
||||
<span class="offset-anchor" id="{{$p.0}}"></span>
|
||||
<a class='toggleaddon' href='{{$baseurl}}/admin/{{$function}}/{{$p.0}}?a=t&t={{$form_security_token}}#{{$p.0}}' title="{{if $p.1==on}}Disable{{else}}Enable{{/if}}" ><span class='icon {{$p.1}}'></span></a>
|
||||
<a href='{{$baseurl}}/admin/{{$function}}/{{$p.0}}'><span class='name'>{{$p.2.name}}</span></a> - <span class="version">{{$p.2.version}}</span>
|
||||
{{if $p.2.experimental}} {{$experimental}} {{/if}}{{if $p.2.unsupported}} {{$unsupported}} {{/if}}
|
||||
<div class='desc'>{{$p.2.description nofilter}}</div>
|
||||
</li>
|
||||
{{/foreach}}
|
||||
</ul>
|
||||
{{/if}}
|
||||
</div>
|
|
@ -43,9 +43,9 @@
|
|||
<h3>{{$plugadmtxt}}</h3>
|
||||
<ul role="menu">
|
||||
{{foreach $admin.addons_admin as $name => $item}}
|
||||
<li role="menuitem" class="{{$item.2}}">
|
||||
<a href="{{$item.0}}" {{if $item.accesskey}}accesskey="{{$item.accesskey}}"{{/if}}>
|
||||
{{$item.1}}
|
||||
<li role="menuitem" class="{{$item.class}}">
|
||||
<a href="{{$item.url}}" {{if $item.accesskey}}accesskey="{{$item.accesskey}}"{{/if}}>
|
||||
{{$item.name}}
|
||||
</a>
|
||||
</li>
|
||||
{{/foreach}}
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
</div>
|
||||
|
||||
<div id="admin-settings-contactblock-block-collapse" class="panel-collapse collapse" role="tabpanel" aria-labelledby="admin-settings-contactblock-block">
|
||||
<form action="{{$baseurl}}/admin/contactblock" method="post">
|
||||
<form action="{{$baseurl}}/admin/blocklist/contact" method="post">
|
||||
<input type="hidden" name="form_security_token" value="{{$form_security_token}}">
|
||||
|
||||
{{include file="field_input.tpl" field=$contacturl}}
|
||||
|
@ -42,7 +42,7 @@
|
|||
</div>
|
||||
|
||||
<div id="admin-settings-contactblock-blocked-collapse" class="panel-collapse collapse {{if count($contacts) > 0}}in{{/if}}" role="tabpanel" aria-labelledby="admin-settings-contactblock-blocked">
|
||||
<form action="{{$baseurl}}/admin/contactblock" method="post">
|
||||
<form action="{{$baseurl}}/admin/blocklist/contact" method="post">
|
||||
<input type="hidden" name="form_security_token" value="{{$form_security_token}}">
|
||||
|
||||
{{if $contacts}}
|
|
@ -5,20 +5,16 @@
|
|||
<table class="table">
|
||||
<tr>
|
||||
<th>{{$id_header}}</th>
|
||||
<th>{{$to_header}}</th>
|
||||
<th>{{$url_header}}</th>
|
||||
<th>{{$network_header}}</th>
|
||||
<th>{{$param_header}}</th>
|
||||
<th>{{$created_header}}</th>
|
||||
<th>{{$last_header}}</th>
|
||||
<th>{{$prio_header}}</th>
|
||||
</tr>
|
||||
{{foreach $entries as $e}}
|
||||
<tr>
|
||||
<td>{{$e.id}}</td>
|
||||
<td>{{$e.name}}</td>
|
||||
<td><a href="{{$e.nurl}}">{{$e.nurl}}</a></td>
|
||||
<td>{{$e.network}}</td>
|
||||
<td>{{$e.parameter}}</td>
|
||||
<td>{{$e.created}}</td>
|
||||
<td>{{$e.last}}</td>
|
||||
<td>{{$e.priority}}</td>
|
||||
</tr>
|
||||
{{/foreach}}
|
||||
</table>
|
||||
|
|
|
@ -1,44 +1,5 @@
|
|||
|
||||
<script>
|
||||
$(function(){
|
||||
|
||||
$("#cnftheme").click(function(){
|
||||
$.colorbox({
|
||||
width: 800,
|
||||
height: '90%',
|
||||
/*onOpen: function(){
|
||||
var theme = $("#id_theme :selected").val();
|
||||
$("#cnftheme").attr('href',"{{$baseurl}}/admin/themes/"+theme);
|
||||
},*/
|
||||
iframe: true,
|
||||
href: "{{$baseurl}}/admin/themes/" + $("#id_theme :selected").val() + "?mode=minimal",
|
||||
onComplete: function(){
|
||||
$("div#fancybox-content form").submit(function(e){
|
||||
var url = $(this).attr('action');
|
||||
// can't get .serialize() to work...
|
||||
var data={};
|
||||
$(this).find("input").each(function(){
|
||||
data[$(this).attr('name')] = $(this).val();
|
||||
});
|
||||
$(this).find("select").each(function(){
|
||||
data[$(this).attr('name')] = $(this).children(":selected").val();
|
||||
});
|
||||
console.log(":)", url, data);
|
||||
|
||||
$.post(url, data, function(data) {
|
||||
if(timer) clearTimeout(timer);
|
||||
NavUpdate();
|
||||
$.colorbox.close();
|
||||
})
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
});
|
||||
$(function(){
|
||||
$(".collapse").on('show.bs.collapse', function(e) {
|
||||
var id = $(e.target).attr('id');
|
||||
|
@ -50,6 +11,11 @@
|
|||
$(element).addClass('in');
|
||||
window.scroll(0, $(element).offset().top - 120);
|
||||
}
|
||||
|
||||
$("#cnftheme").click(function(){
|
||||
document.location.assign("{{$baseurl}}/admin/themes/" + $("#id_theme :selected").val());
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<link rel="stylesheet" href="view/theme/frio/css/mod_admin.css" type="text/css" media="screen"/>
|
||||
|
@ -73,9 +39,7 @@
|
|||
</h4>
|
||||
</div>
|
||||
<div id="admin-settings-general-collapse" class="panel-collapse collapse" role="tabpanel" aria-labelledby="admin-settings-general">
|
||||
|
||||
{{include file="field_input.tpl" field=$sitename}}
|
||||
{{include file="field_input.tpl" field=$hostname}}
|
||||
{{include file="field_input.tpl" field=$sender_email}}
|
||||
{{include file="field_textarea.tpl" field=$banner}}
|
||||
{{include file="field_input.tpl" field=$shortcut_icon}}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<div id='adminpage-summery' class="adminpage generic-page-wrapper">
|
||||
<h1>{{$title}} - {{$page}}</h1>
|
||||
|
||||
{{if $showwarning}}
|
||||
{{if $warningtext|count}}
|
||||
<div id="admin-warning-message-wrapper" class="alert alert-warning">
|
||||
{{foreach $warningtext as $wt}}
|
||||
<p>{{$wt nofilter}}</p>
|
||||
|
@ -14,7 +14,7 @@
|
|||
{{* The work queues short statistic. *}}
|
||||
<div id="admin-summary-queues" class="col-lg-12 col-md-12 col-sm-12 col-xs-12 admin-summary">
|
||||
<div class="col-lg-4 col-md-4 col-sm-4 col-xs-12 admin-summary-label-name text-muted">{{$queues.label}}</div>
|
||||
<div class="col-lg-8 col-md-8 col-sm-8 col-xs-12 admin-summary-entry"><a href="{{$baseurl}}/admin/deferred">{{$queues.deferred}}</a> - <a href="{{$baseurl}}/admin/workerqueue">{{$queues.workerq}}</a></div>
|
||||
<div class="col-lg-8 col-md-8 col-sm-8 col-xs-12 admin-summary-entry"><a href="{{$baseurl}}/admin/queue/deferred">{{$queues.deferred}}</a> - <a href="{{$baseurl}}/admin/queue">{{$queues.workerq}}</a></div>
|
||||
</div>
|
||||
|
||||
{{* Number of pending registrations. *}}
|
||||
|
|
|
@ -223,13 +223,15 @@
|
|||
</td>
|
||||
<td class="text-right">
|
||||
{{if $u.is_deletable}}
|
||||
<a href="{{$baseurl}}/admin/users/block/{{$u.uid}}?t={{$form_security_token}}" class="admin-settings-action-link"title="{{if $u.blocked}}{{$unblock}}{{else}}{{$block}}{{/if}}">
|
||||
{{if $u.blocked == 0}}
|
||||
<i class="fa fa-ban" aria-hidden="true"></i>
|
||||
{{else}}
|
||||
{{if $u.blocked}}
|
||||
<a href="{{$baseurl}}/admin/users/unblock/{{$u.uid}}?t={{$form_security_token}}" class="admin-settings-action-link" title="{{$unblock}}">
|
||||
<i class="fa fa-circle-o" aria-hidden="true"></i>
|
||||
{{/if}}
|
||||
</a>
|
||||
{{else}}
|
||||
<a href="{{$baseurl}}/admin/users/block/{{$u.uid}}?t={{$form_security_token}}" class="admin-settings-action-link" title="{{$block}}">
|
||||
<i class="fa fa-ban" aria-hidden="true"></i>
|
||||
</a>
|
||||
{{/if}}
|
||||
<a href="{{$baseurl}}/admin/users/delete/{{$u.uid}}?t={{$form_security_token}}" class="admin-settings-action-link" title="{{$delete}}" onclick="return confirm_delete('{{$confirm_delete}}','{{$u.name}}')">
|
||||
<i class="fa fa-trash" aria-hidden="true"></i>
|
||||
</a>
|
||||
|
@ -256,7 +258,10 @@
|
|||
</div>
|
||||
<div class="col-xs-9 admin-settings-footer-elements text-right">
|
||||
<button type="submit" name="page_users_block" value="1" class="btn btn-warning">
|
||||
<i class="fa fa-ban" aria-hidden="true"></i> {{$block}} / <i class="fa fa-circle-o" aria-hidden="true"></i> {{$unblock}}
|
||||
<i class="fa fa-ban" aria-hidden="true"></i> {{$block}}
|
||||
</button>
|
||||
<button type="submit" name="page_users_unblock" value="1" class="btn btn-default">
|
||||
<i class="fa fa-circle-o" aria-hidden="true"></i> {{$unblock}}
|
||||
</button>
|
||||
<button type="submit" name="page_users_delete" value="1" class="btn btn-danger" onclick="return confirm_delete('{{$confirm_delete_multi}}')">
|
||||
<i class="fa fa-trash" aria-hidden="true"></i> {{$delete}}
|
||||
|
|
|
@ -1,21 +0,0 @@
|
|||
<div id="adminpage">
|
||||
<h1>{{$title}} - {{$page}} ({{$count}})</h1>
|
||||
|
||||
<p>{{$info}}</p>
|
||||
<table class="table">
|
||||
<tr>
|
||||
<th>{{$id_header}}</th>
|
||||
<th>{{$param_header}}</th>
|
||||
<th>{{$created_header}}</th>
|
||||
<th>{{$prio_header}}</th>
|
||||
</tr>
|
||||
{{foreach $entries as $e}}
|
||||
<tr>
|
||||
<td>{{$e.id}}</td>
|
||||
<td>{{$e.parameter}}</td>
|
||||
<td>{{$e.created}}</td>
|
||||
<td>{{$e.priority}}</td>
|
||||
</tr>
|
||||
{{/foreach}}
|
||||
</table>
|
||||
</div>
|
|
@ -2,9 +2,9 @@
|
|||
<div class="form-group field input color">
|
||||
<label for="id_{{$field.0}}" id="label_{{$field.0}}">{{$field.1}}</label>
|
||||
<div class="input-group" id="{{$field.0}}">
|
||||
<span class="input-group-addon"><i></i></span>
|
||||
<input class="form-control color" name="{{$field.0}}" id="id_{{$field.0}}" type="text" value="{{$field.2 nofilter}}" aria-describedby="{{$field.0}}_tip">
|
||||
{{if $field.4}}<span class="required">{{$field.4}}</span>{{/if}}
|
||||
<span class="input-group-addon"><i></i></span>
|
||||
</div>
|
||||
{{if $field.3}}
|
||||
<span class="help-block" id="{{$field.0}}_tip" role="tooltip">{{$field.3 nofilter}}</span>
|
||||
|
|
|
@ -1,7 +1,4 @@
|
|||
|
||||
<link rel="stylesheet" href="{{$baseurl}}/view/theme/frio/frameworks/jRange/jquery.range.css" type="text/css" media="screen" />
|
||||
<script src="{{$baseurl}}/view/theme/quattro/jquery.tools.min.js"></script>
|
||||
<script src="{{$baseurl}}/view/theme/frio/frameworks/jRange/jquery.range.js"></script>
|
||||
<script type="text/javascript" src="{{$baseurl}}/view/js/ajaxupload.js" ></script>
|
||||
|
||||
{{include file="field_select.tpl" field=$scheme}}
|
||||
|
@ -17,7 +14,19 @@
|
|||
{{if $contentbg_transp}}
|
||||
<div class="form-group field input color">
|
||||
<label for="id_{{$contentbg_transp.0}}" id="label_{{$contentbg_transp.0}}">{{$contentbg_transp.1}}</label>
|
||||
<input type="hidden" class="form-control color slider-input" name="{{$contentbg_transp.0}}" id="{{$contentbg_transp.0}}" type="text" value="{{$contentbg_transp.2}}" aria-describedby="{{$contentbg_transp.0}}_tip">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-9">
|
||||
<input type="range" class="form-control color" id="{{$contentbg_transp.0}}_range" min="0" max="100" step="1" value="{{$contentbg_transp.2}}" onchange="{{$contentbg_transp.0}}.value = this.value" oninput="{{$contentbg_transp.0}}.value = this.value">
|
||||
</div>
|
||||
<div class="col-xs-3">
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control input-sm" name="{{$contentbg_transp.0}}" id="{{$contentbg_transp.0}}" value="{{$contentbg_transp.2}}" onchange="{{$contentbg_transp.0}}_range.value = this.value" oninput="{{$contentbg_transp.0}}_range.value = this.value" aria-describedby="{{$contentbg_transp.0}}_tip">
|
||||
<span class="input-group-addon image-select">%</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<span id="{{$contentbg_transp.0}}_tip" class="help-block" role="tooltip">{{$contentbg_transp.3}}</span>
|
||||
<div id="end_{{$contentbg_transp.0}}" class="field_end"></div>
|
||||
</div>
|
||||
|
@ -171,25 +180,6 @@
|
|||
if($("#id_frio_background_image").val().length != 0) {
|
||||
$("#frio_bg_image_options").show();
|
||||
}
|
||||
|
||||
$('.slider-input').jRange({
|
||||
from: 0,
|
||||
to: 100,
|
||||
step: 1,
|
||||
scale: [0,10,20,30,40,50,60,70,80,90,100],
|
||||
format: '%s',
|
||||
width: '100%',
|
||||
showLabels: true,
|
||||
theme: 'theme-frio',
|
||||
});
|
||||
|
||||
// The position of the slider is wrong calculated on hidden elements.
|
||||
// So set an event listener toggle and update the jRange value.
|
||||
$(document).on('click', '#custom-settings-title a', function() {
|
||||
var bgTransp = $('#frio_contentbg_transp').val();
|
||||
$('.slider-input').jRange('setValue', bgTransp);
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
|
@ -197,7 +187,3 @@
|
|||
<button type="submit" value="{{$submit}}" class="settings-submit btn btn-primary" name="frio-settings-submit">{{$submit}}</button>
|
||||
</div>
|
||||
<div class="clearfix"></div>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(".inputRange").rangeinput();
|
||||
</script>
|
||||
|
|
|
@ -72,7 +72,6 @@ function quattro_form(App $a, $align, $color, $tfs, $pfs) {
|
|||
$t = Renderer::getMarkupTemplate("theme_settings.tpl" );
|
||||
$o = Renderer::replaceMacros($t, [
|
||||
'$submit' => L10n::t('Submit'),
|
||||
'$baseurl' => System::baseUrl(),
|
||||
'$title' => L10n::t("Theme settings"),
|
||||
'$align' => ['quattro_align', L10n::t('Alignment'), $align, '', ['left' => L10n::t('Left'), 'center' => L10n::t('Center')]],
|
||||
'$color' => ['quattro_color', L10n::t('Color scheme'), $color, '', $colors],
|
||||
|
|
|
@ -105,7 +105,11 @@
|
|||
</tbody>
|
||||
</table>
|
||||
<div class='selectall'><a href='#' onclick="return selectall('users_ckbx');">{{$select_all}}</a></div>
|
||||
<div class="submit"><input type="submit" name="page_users_block" value="{{$block}}/{{$unblock}}" /> <input type="submit" name="page_users_delete" value="{{$delete}}" onclick="return confirm_delete_multi()" /></div>
|
||||
<div class="submit">
|
||||
<input type="submit" name="page_users_block" value="{{$block}}" />
|
||||
<input type="submit" name="page_users_unblock" value="{{$unblock}}" />
|
||||
<input type="submit" name="page_users_delete" value="{{$delete}}" onclick="return confirm_delete_multi()" />
|
||||
</div>
|
||||
{{else}}
|
||||
NO USERS?!?
|
||||
{{/if}}
|
||||
|
|
|
@ -118,7 +118,6 @@ function vier_form(App $a, $style, $show_pages, $show_profiles, $show_helpers, $
|
|||
$t = Renderer::getMarkupTemplate("theme_settings.tpl");
|
||||
$o = Renderer::replaceMacros($t, [
|
||||
'$submit' => L10n::t('Submit'),
|
||||
'$baseurl' => System::baseUrl(),
|
||||
'$title' => L10n::t("Theme settings"),
|
||||
'$style' => ['vier_style', L10n::t('Set style'), $style, '', $styles],
|
||||
'$show_pages' => ['vier_show_pages', L10n::t('Community Pages'), $show_pages, '', $show_or_not],
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue