Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 88
Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 215
Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 216
Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 217
Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 218
Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 219
Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 220
/*! asGradient - v0.2.1 - 2014-08-27
* https://github.com/amazingSurge/asGradient
* Copyright (c) 2014 amazingSurge; Licensed GPL */
(function(window, document, $, Color, undefined) {
'use strict';
function getPrefix() {
var ua = window.navigator.userAgent;
var prefix = '';
if (/MSIE/g.test(ua)) {
prefix = '-ms-';
} else if (/Firefox/g.test(ua)) {
prefix = '-moz-';
} else if (/(WebKit)/i.test(ua)) {
prefix = '-webkit-';
} else if (/Opera/g.test(ua)) {
prefix = '-o-';
}
return prefix;
}
function flip(o) {
var flipped = {};
for (var i in o) {
if (o.hasOwnProperty(i)) {
flipped[o[i]] = i;
}
}
return flipped;
}
// function isPercentage(n) {
// return typeof n === "string" && n.indexOf('%') != -1;
// }
function reverseDirection(direction) {
var mapping = {
'top': 'bottom',
'right': 'left',
'bottom': 'top',
'left': 'right',
'right top': 'left bottom',
'top right': 'bottom left',
'bottom right': 'top left',
'right bottom': 'left top',
'left bottom': 'right top',
'bottom left': 'top right',
'top left': 'bottom right',
'left top': 'right bottom'
};
return mapping.hasOwnProperty(direction) ? mapping[direction] : direction;
}
function isDirection(n) {
var reg = /^(top|left|right|bottom)$/i;
return reg.test(n);
}
var RegExpStrings = (function() {
var color = /(?:rgba|rgb|hsla|hsl)\s*\([\s\d\.,%]+\)|#[a-z0-9]{3,6}|[a-z]+/i,
position = /\d{1,3}%/i,
angle = /(?:to ){0,1}(?:(?:top|left|right|bottom)\s*){1,2}|\d+deg/i,
stop = new RegExp('(' + color.source + ')\\s*(' + position.source + '){0,1}', 'i'),
stops = new RegExp(stop.source, 'gi'),
parameters = new RegExp('(?:(' + angle.source + ')){0,1}\\s*,{0,1}\\s*(.*?)\\s*', 'i'),
full = new RegExp('^(-webkit-|-moz-|-ms-|-o-){0,1}(linear|radial|repeating-linear)-gradient\\s*\\(\\s*('+ parameters.source +')\\s*\\)$', 'i');
return {
FULL: full,
ANGLE: angle,
COLOR: color,
POSITION: position,
STOP: stop,
STOPS: stops,
PARAMETERS: new RegExp('^' + parameters.source + '$', 'i')
};
})(),
GradientTypes = {
LINEAR: {
parse: function(result) {
return {
r: (result[1].substr(-1) === '%') ? parseInt(result[1].slice(0, -1) * 2.55, 10) : parseInt(result[1], 10),
g: (result[2].substr(-1) === '%') ? parseInt(result[2].slice(0, -1) * 2.55, 10) : parseInt(result[2], 10),
b: (result[3].substr(-1) === '%') ? parseInt(result[3].slice(0, -1) * 2.55, 10) : parseInt(result[3], 10),
a: 1
};
},
to: function(gradient, instance, prefix) {
if (gradient.stops.length === 0) {
return instance.options.emptyString;
}
if (gradient.stops.length === 1) {
return gradient.stops[0].color.to(instance.options.degradationFormat);
}
var standard = instance.options.forceStandard,
_prefix = instance._prefix;
if (!_prefix) {
standard = true;
}
if (prefix && -1 !== $.inArray(prefix, instance.options.prefixes)) {
standard = false;
_prefix = prefix;
}
var angle = Gradient.formatAngle(gradient.angle, standard, instance.options.angleUseKeyword);
var stops = Gradient.formatStops(gradient.stops, instance.options.cleanPosition);
var output = 'linear-gradient(' + angle + ', ' + stops + ')';
if (standard) {
return output;
} else {
return _prefix + output;
}
}
}
};
var Gradient = $.asGradient = function(string, options) {
if (typeof string === 'object' && typeof options === 'undefined') {
options = string;
string = undefined;
}
this.value = {
angle: 0,
stops: []
};
this.options = $.extend(true, {}, Gradient.defaults, options);
this._type = 'LINEAR';
this._prefix = null;
this.length = this.value.stops.length;
this.current = 0;
this._stop_id_count = 0;
this.init(string);
};
Gradient.prototype = {
constructor: Gradient,
init: function(string) {
if (string) {
this.fromString(string);
}
},
val: function(value) {
if (typeof value === 'undefined') {
return this.toString();
} else {
this.fromString(value);
return this;
}
},
angle: function(value) {
if (typeof value === 'undefined') {
return this.value.angle;
} else {
this.value.angle = Gradient.parseAngle(value);
}
},
append: function(color, position) {
return this.insert(color, position, this.length);
},
reorder: function(){
if(this.length < 2){
return;
}
this.value.stops = this.value.stops.sort(function(a,b){
return a.position - b.position;
});
},
insert: function(color, position, index) {
if (typeof index === 'undefined') {
index = this.current;
}
var format;
if (this.options.forceColorFormat) {
format = this.options.forceColorFormat;
}
var self = this;
var ColorStop = function(color, position){
this.color = new Color(color, format, self.options.color),
this.position = Gradient.parsePosition(position);
this.id = ++self._stop_id_count;
};
ColorStop.prototype = {
constructor: ColorStop,
setPosition: function(string) {
var position = Gradient.parsePosition(string);
if(this.position !== position){
this.position = position;
self.reorder();
}
},
setColor: function(string){
this.color.fromString(string);
},
remove: function(){
self.removeById(this.id);
}
};
var stop = new ColorStop(color, position);
this.value.stops.splice(index, 0, stop);
this.length = this.length + 1;
this.current = index;
return stop;
},
getById: function(id) {
if(this.length > 0){
for(var i in this.value.stops){
if(id === this.value.stops[i].id){
return this.value.stops[i];
}
}
}
return false;
},
removeById: function(id){
var index = this.getIndexById(id);
if(index){
this.remove(index);
}
},
getIndexById: function(id){
var index = 0;
for(var i in this.value.stops){
if(id === this.value.stops[i].id){
return index;
}
index ++;
}
return false;
},
getCurrent: function(){
return this.value.stops[this.current];
},
setCurrentById: function(id){
var index = 0;
for(var i in this.value.stops){
if(this.value.stops[i].id !== id){
index ++;
} else {
this.current = index;
}
}
},
get: function(index) {
if (typeof index === 'undefined') {
index = this.current;
}
if (index >= 0 && index < this.length) {
this.current = index;
return this.value.stops[index];
} else {
return false;
}
},
remove: function(index) {
if (typeof index === 'undefined') {
index = this.current;
}
if (index >= 0 && index < this.length) {
this.value.stops.splice(index, 1);
this.length = this.length - 1;
this.current = index - 1;
}
},
empty: function() {
this.value.stops = [];
this.length = 0;
this.current = 0;
},
reset: function() {
this.value._angle = 0;
this.empty();
this._prefix = null;
this._type = 'LINEAR';
},
type: function(type) {
if (typeof type === 'string' && (type = type.toUpperCase()) && typeof GradientTypes[type] !== 'undefined') {
this._type = type;
} else {
return this._type;
}
},
fromString: function(string) {
this.reset();
var result = Gradient.parseString(string);
if (result) {
this._prefix = result.prefix;
this.type(result.type);
if (result.value) {
this.value.angle = Gradient.parseAngle(result.value.angle, this._prefix !== null);
var self = this;
$.each(result.value.stops, function(i, stop) {
self.append(stop.color, stop.position);
});
}
}
},
toString: function(prefix) {
if(prefix === true){
prefix = getPrefix();
}
return GradientTypes[this.type()].to(this.value, this, prefix);
},
matchString: function(string){
return Gradient.matchString(string);
},
toStringWithAngle: function(angle, prefix){
var value = $.extend(true, {}, this.value);
value.angle = Gradient.parseAngle(angle);
if(prefix === true){
prefix = getPrefix();
}
return GradientTypes[this.type()].to(value, this, prefix);
},
getPrefixedStrings: function() {
var strings = [];
for (var i in this.options.prefixes) {
strings.push(this.toString(this.options.prefixes[i]));
}
return strings;
}
};
Gradient.matchString = function(string) {
var matched = Gradient.parseString(string);
if(matched && matched.value && matched.value.stops && matched.value.stops.length > 1){
return true;
}
return false;
};
Gradient.parseString = function(string) {
string = $.trim(string);
var matched;
if ((matched = RegExpStrings.FULL.exec(string)) != null) {
return {
prefix: (typeof matched[1] === 'undefined') ? null : matched[1],
type: matched[2],
value: Gradient.parseParameters(matched[3])
};
} else {
return false;
}
};
Gradient.parseParameters = function(string) {
var matched;
if ((matched = RegExpStrings.PARAMETERS.exec(string)) != null) {
return {
angle: (typeof matched[1] === 'undefined') ? 0 : matched[1],
stops: Gradient.parseStops(matched[2])
};
} else {
return false;
}
};
Gradient.parseStops = function(string) {
var matched, result = [];
if ((matched = string.match(RegExpStrings.STOPS)) != null) {
$.each(matched, function(i, item) {
var stop = Gradient.parseStop(item);
if (stop) {
result.push(stop);
}
});
return result;
} else {
return false;
}
};
Gradient.formatStops = function(stops, cleanPosition) {
var stop, output = [],
positions = [],
colors = [],
position;
for (var i = 0; i < stops.length; i++) {
stop = stops[i];
if (typeof stop.position === 'undefined') {
if (i === 0) {
position = 0;
} else if (i === stops.length - 1) {
position = 1;
} else {
position = undefined;
}
} else {
position = stop.position;
}
positions.push(position);
colors.push(stop.color.toString());
}
positions = (function(data) {
var start = null,
average;
for (var i = 0; i < data.length; i++) {
if (isNaN(data[i])) {
if (start === null) {
start = i;
continue;
}
} else if (start) {
average = (data[i] - data[start - 1]) / (i - start + 1);
for (var j = start; j < i; j++) {
data[j] = data[start - 1] + (j - start + 1) * average;
}
start = null;
}
}
return data;
})(positions);
for (var x = 0; x < stops.length; x++) {
if (cleanPosition && ((x === 0 && positions[x] === 0) || (x === stops.length - 1 && positions[x] === 1))) {
position = '';
} else {
position = ' ' + Gradient.formatPosition(positions[x]);
}
output.push(colors[x] + position);
}
return output.join(', ');
};
Gradient.parseStop = function(string) {
var matched;
if ((matched = RegExpStrings.STOP.exec(string)) != null) {
return {
color: matched[1],
position: Gradient.parsePosition(matched[2])
};
} else {
return false;
}
};
Gradient.parsePosition = function(string) {
if (typeof string === 'string' && string.substr(-1) === '%') {
string = parseFloat(string.slice(0, -1) / 100);
}
return string;
};
Gradient.formatPosition = function(value) {
return parseInt(value * 100, 10) + '%';
};
Gradient.parseAngle = function(string, notStandard) {
if (typeof string === 'string' && string.indexOf('deg') !== -1) {
string = string.replace('deg', '');
}
if (!isNaN(string)) {
if (notStandard) {
string = Gradient.fixOldAngle(string);
}
}
if (typeof string === 'string') {
var directions = string.split(' ');
var filtered = [];
for (var i in directions) {
if (isDirection(directions[i])) {
filtered.push(directions[i].toLowerCase());
}
}
var keyword = filtered.join(' ');
if (string.indexOf('to ') === -1) {
keyword = reverseDirection(keyword);
}
keyword = 'to ' + keyword;
if (Gradient.keywordAngleMap.hasOwnProperty(keyword)) {
string = Gradient.keywordAngleMap[keyword];
}
}
var value = parseFloat(string, 10);
if (value > 360) {
value = value % 360;
} else if (value < 0) {
value = value % -360;
if (value !== 0) {
value = 360 + value;
}
}
return value;
};
Gradient.fixOldAngle = function(value) {
value = parseFloat(value);
value = Math.abs(450 - value) % 360;
value = parseFloat(value.toFixed(3));
return value;
};
Gradient.formatAngle = function(value, standard, useKeyword) {
value = parseInt(value, 10);
if (useKeyword && Gradient.angleKeywordMap.hasOwnProperty(value)) {
value = Gradient.angleKeywordMap[value];
if (!standard) {
value = reverseDirection(value.substr(3));
}
} else {
if (!standard) {
value = Gradient.fixOldAngle(value);
}
value = value + 'deg';
}
return value;
};
Gradient.defaults = {
prefixes: ['-webkit-', '-moz-', '-ms-', '-o-'],
forceStandard: true,
angleUseKeyword: true,
emptyString: '',
degradationFormat: false,
cleanPosition: true,
forceColorFormat: false, // rgb, rgba, hsl, hsla, hex
color: {
hexUseName: false,
reduceAlpha: true,
shortenHex: true,
zeroAlphaAsTransparent: false,
invalidValue: {
r: 0,
g: 0,
b: 0,
a: 1
}
}
};
Gradient.keywordAngleMap = {
'to top': 0,
'to right': 90,
'to bottom': 180,
'to left': 270,
'to right top': 45,
'to top right': 45,
'to bottom right': 135,
'to right bottom': 135,
'to left bottom': 225,
'to bottom left': 225,
'to top left': 315,
'to left top': 315
};
Gradient.angleKeywordMap = flip(Gradient.keywordAngleMap);
}(window, document, jQuery, (function($) {
'use strict';
if ($.asColor === undefined) {
// console.info('lost dependency lib of $.asColor , please load it first !');
return false;
} else {
return $.asColor;
}
}(jQuery))));