Merge commit 'gallery3-contrib/master'
This commit is contained in:
parent
8894fdd472
commit
1553d8aa2a
1346
themes/3nids/3nids/css/jquery.fancybox.css
vendored
1346
themes/3nids/3nids/css/jquery.fancybox.css
vendored
File diff suppressed because it is too large
Load Diff
@ -1,205 +1,205 @@
|
||||
/*
|
||||
* jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
|
||||
*
|
||||
* Uses the built in easing capabilities added In jQuery 1.1
|
||||
* to offer multiple easing options
|
||||
*
|
||||
* TERMS OF USE - jQuery Easing
|
||||
*
|
||||
* Open source under the BSD License.
|
||||
*
|
||||
* Copyright © 2008 George McGinley Smith
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification,
|
||||
* are permitted provided that the following conditions are met:
|
||||
*
|
||||
* Redistributions of source code must retain the above copyright notice, this list of
|
||||
* conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
* of conditions and the following disclaimer in the documentation and/or other materials
|
||||
* provided with the distribution.
|
||||
*
|
||||
* Neither the name of the author nor the names of contributors may be used to endorse
|
||||
* or promote products derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
||||
* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
// t: current time, b: begInnIng value, c: change In value, d: duration
|
||||
jQuery.easing['jswing'] = jQuery.easing['swing'];
|
||||
|
||||
jQuery.extend( jQuery.easing,
|
||||
{
|
||||
def: 'easeOutQuad',
|
||||
swing: function (x, t, b, c, d) {
|
||||
//alert(jQuery.easing.default);
|
||||
return jQuery.easing[jQuery.easing.def](x, t, b, c, d);
|
||||
},
|
||||
easeInQuad: function (x, t, b, c, d) {
|
||||
return c*(t/=d)*t + b;
|
||||
},
|
||||
easeOutQuad: function (x, t, b, c, d) {
|
||||
return -c *(t/=d)*(t-2) + b;
|
||||
},
|
||||
easeInOutQuad: function (x, t, b, c, d) {
|
||||
if ((t/=d/2) < 1) return c/2*t*t + b;
|
||||
return -c/2 * ((--t)*(t-2) - 1) + b;
|
||||
},
|
||||
easeInCubic: function (x, t, b, c, d) {
|
||||
return c*(t/=d)*t*t + b;
|
||||
},
|
||||
easeOutCubic: function (x, t, b, c, d) {
|
||||
return c*((t=t/d-1)*t*t + 1) + b;
|
||||
},
|
||||
easeInOutCubic: function (x, t, b, c, d) {
|
||||
if ((t/=d/2) < 1) return c/2*t*t*t + b;
|
||||
return c/2*((t-=2)*t*t + 2) + b;
|
||||
},
|
||||
easeInQuart: function (x, t, b, c, d) {
|
||||
return c*(t/=d)*t*t*t + b;
|
||||
},
|
||||
easeOutQuart: function (x, t, b, c, d) {
|
||||
return -c * ((t=t/d-1)*t*t*t - 1) + b;
|
||||
},
|
||||
easeInOutQuart: function (x, t, b, c, d) {
|
||||
if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
|
||||
return -c/2 * ((t-=2)*t*t*t - 2) + b;
|
||||
},
|
||||
easeInQuint: function (x, t, b, c, d) {
|
||||
return c*(t/=d)*t*t*t*t + b;
|
||||
},
|
||||
easeOutQuint: function (x, t, b, c, d) {
|
||||
return c*((t=t/d-1)*t*t*t*t + 1) + b;
|
||||
},
|
||||
easeInOutQuint: function (x, t, b, c, d) {
|
||||
if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
|
||||
return c/2*((t-=2)*t*t*t*t + 2) + b;
|
||||
},
|
||||
easeInSine: function (x, t, b, c, d) {
|
||||
return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
|
||||
},
|
||||
easeOutSine: function (x, t, b, c, d) {
|
||||
return c * Math.sin(t/d * (Math.PI/2)) + b;
|
||||
},
|
||||
easeInOutSine: function (x, t, b, c, d) {
|
||||
return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
|
||||
},
|
||||
easeInExpo: function (x, t, b, c, d) {
|
||||
return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
|
||||
},
|
||||
easeOutExpo: function (x, t, b, c, d) {
|
||||
return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
|
||||
},
|
||||
easeInOutExpo: function (x, t, b, c, d) {
|
||||
if (t==0) return b;
|
||||
if (t==d) return b+c;
|
||||
if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
|
||||
return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
|
||||
},
|
||||
easeInCirc: function (x, t, b, c, d) {
|
||||
return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
|
||||
},
|
||||
easeOutCirc: function (x, t, b, c, d) {
|
||||
return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
|
||||
},
|
||||
easeInOutCirc: function (x, t, b, c, d) {
|
||||
if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
|
||||
return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
|
||||
},
|
||||
easeInElastic: function (x, t, b, c, d) {
|
||||
var s=1.70158;var p=0;var a=c;
|
||||
if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
|
||||
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
||||
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
||||
return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
|
||||
},
|
||||
easeOutElastic: function (x, t, b, c, d) {
|
||||
var s=1.70158;var p=0;var a=c;
|
||||
if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
|
||||
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
||||
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
||||
return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
|
||||
},
|
||||
easeInOutElastic: function (x, t, b, c, d) {
|
||||
var s=1.70158;var p=0;var a=c;
|
||||
if (t==0) return b; if ((t/=d/2)==2) return b+c; if (!p) p=d*(.3*1.5);
|
||||
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
||||
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
||||
if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
|
||||
return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
|
||||
},
|
||||
easeInBack: function (x, t, b, c, d, s) {
|
||||
if (s == undefined) s = 1.70158;
|
||||
return c*(t/=d)*t*((s+1)*t - s) + b;
|
||||
},
|
||||
easeOutBack: function (x, t, b, c, d, s) {
|
||||
if (s == undefined) s = 1.70158;
|
||||
return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
|
||||
},
|
||||
easeInOutBack: function (x, t, b, c, d, s) {
|
||||
if (s == undefined) s = 1.70158;
|
||||
if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
|
||||
return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
|
||||
},
|
||||
easeInBounce: function (x, t, b, c, d) {
|
||||
return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b;
|
||||
},
|
||||
easeOutBounce: function (x, t, b, c, d) {
|
||||
if ((t/=d) < (1/2.75)) {
|
||||
return c*(7.5625*t*t) + b;
|
||||
} else if (t < (2/2.75)) {
|
||||
return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
|
||||
} else if (t < (2.5/2.75)) {
|
||||
return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
|
||||
} else {
|
||||
return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
|
||||
}
|
||||
},
|
||||
easeInOutBounce: function (x, t, b, c, d) {
|
||||
if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b;
|
||||
return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;
|
||||
}
|
||||
});
|
||||
|
||||
/*
|
||||
*
|
||||
* TERMS OF USE - EASING EQUATIONS
|
||||
*
|
||||
* Open source under the BSD License.
|
||||
*
|
||||
* Copyright © 2001 Robert Penner
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification,
|
||||
* are permitted provided that the following conditions are met:
|
||||
*
|
||||
* Redistributions of source code must retain the above copyright notice, this list of
|
||||
* conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
* of conditions and the following disclaimer in the documentation and/or other materials
|
||||
* provided with the distribution.
|
||||
*
|
||||
* Neither the name of the author nor the names of contributors may be used to endorse
|
||||
* or promote products derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
||||
* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
/*
|
||||
* jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
|
||||
*
|
||||
* Uses the built in easing capabilities added In jQuery 1.1
|
||||
* to offer multiple easing options
|
||||
*
|
||||
* TERMS OF USE - jQuery Easing
|
||||
*
|
||||
* Open source under the BSD License.
|
||||
*
|
||||
* Copyright © 2008 George McGinley Smith
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification,
|
||||
* are permitted provided that the following conditions are met:
|
||||
*
|
||||
* Redistributions of source code must retain the above copyright notice, this list of
|
||||
* conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
* of conditions and the following disclaimer in the documentation and/or other materials
|
||||
* provided with the distribution.
|
||||
*
|
||||
* Neither the name of the author nor the names of contributors may be used to endorse
|
||||
* or promote products derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
||||
* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
// t: current time, b: begInnIng value, c: change In value, d: duration
|
||||
jQuery.easing['jswing'] = jQuery.easing['swing'];
|
||||
|
||||
jQuery.extend( jQuery.easing,
|
||||
{
|
||||
def: 'easeOutQuad',
|
||||
swing: function (x, t, b, c, d) {
|
||||
//alert(jQuery.easing.default);
|
||||
return jQuery.easing[jQuery.easing.def](x, t, b, c, d);
|
||||
},
|
||||
easeInQuad: function (x, t, b, c, d) {
|
||||
return c*(t/=d)*t + b;
|
||||
},
|
||||
easeOutQuad: function (x, t, b, c, d) {
|
||||
return -c *(t/=d)*(t-2) + b;
|
||||
},
|
||||
easeInOutQuad: function (x, t, b, c, d) {
|
||||
if ((t/=d/2) < 1) return c/2*t*t + b;
|
||||
return -c/2 * ((--t)*(t-2) - 1) + b;
|
||||
},
|
||||
easeInCubic: function (x, t, b, c, d) {
|
||||
return c*(t/=d)*t*t + b;
|
||||
},
|
||||
easeOutCubic: function (x, t, b, c, d) {
|
||||
return c*((t=t/d-1)*t*t + 1) + b;
|
||||
},
|
||||
easeInOutCubic: function (x, t, b, c, d) {
|
||||
if ((t/=d/2) < 1) return c/2*t*t*t + b;
|
||||
return c/2*((t-=2)*t*t + 2) + b;
|
||||
},
|
||||
easeInQuart: function (x, t, b, c, d) {
|
||||
return c*(t/=d)*t*t*t + b;
|
||||
},
|
||||
easeOutQuart: function (x, t, b, c, d) {
|
||||
return -c * ((t=t/d-1)*t*t*t - 1) + b;
|
||||
},
|
||||
easeInOutQuart: function (x, t, b, c, d) {
|
||||
if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
|
||||
return -c/2 * ((t-=2)*t*t*t - 2) + b;
|
||||
},
|
||||
easeInQuint: function (x, t, b, c, d) {
|
||||
return c*(t/=d)*t*t*t*t + b;
|
||||
},
|
||||
easeOutQuint: function (x, t, b, c, d) {
|
||||
return c*((t=t/d-1)*t*t*t*t + 1) + b;
|
||||
},
|
||||
easeInOutQuint: function (x, t, b, c, d) {
|
||||
if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
|
||||
return c/2*((t-=2)*t*t*t*t + 2) + b;
|
||||
},
|
||||
easeInSine: function (x, t, b, c, d) {
|
||||
return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
|
||||
},
|
||||
easeOutSine: function (x, t, b, c, d) {
|
||||
return c * Math.sin(t/d * (Math.PI/2)) + b;
|
||||
},
|
||||
easeInOutSine: function (x, t, b, c, d) {
|
||||
return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
|
||||
},
|
||||
easeInExpo: function (x, t, b, c, d) {
|
||||
return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
|
||||
},
|
||||
easeOutExpo: function (x, t, b, c, d) {
|
||||
return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
|
||||
},
|
||||
easeInOutExpo: function (x, t, b, c, d) {
|
||||
if (t==0) return b;
|
||||
if (t==d) return b+c;
|
||||
if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
|
||||
return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
|
||||
},
|
||||
easeInCirc: function (x, t, b, c, d) {
|
||||
return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
|
||||
},
|
||||
easeOutCirc: function (x, t, b, c, d) {
|
||||
return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
|
||||
},
|
||||
easeInOutCirc: function (x, t, b, c, d) {
|
||||
if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
|
||||
return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
|
||||
},
|
||||
easeInElastic: function (x, t, b, c, d) {
|
||||
var s=1.70158;var p=0;var a=c;
|
||||
if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
|
||||
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
||||
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
||||
return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
|
||||
},
|
||||
easeOutElastic: function (x, t, b, c, d) {
|
||||
var s=1.70158;var p=0;var a=c;
|
||||
if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
|
||||
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
||||
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
||||
return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
|
||||
},
|
||||
easeInOutElastic: function (x, t, b, c, d) {
|
||||
var s=1.70158;var p=0;var a=c;
|
||||
if (t==0) return b; if ((t/=d/2)==2) return b+c; if (!p) p=d*(.3*1.5);
|
||||
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
||||
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
||||
if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
|
||||
return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
|
||||
},
|
||||
easeInBack: function (x, t, b, c, d, s) {
|
||||
if (s == undefined) s = 1.70158;
|
||||
return c*(t/=d)*t*((s+1)*t - s) + b;
|
||||
},
|
||||
easeOutBack: function (x, t, b, c, d, s) {
|
||||
if (s == undefined) s = 1.70158;
|
||||
return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
|
||||
},
|
||||
easeInOutBack: function (x, t, b, c, d, s) {
|
||||
if (s == undefined) s = 1.70158;
|
||||
if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
|
||||
return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
|
||||
},
|
||||
easeInBounce: function (x, t, b, c, d) {
|
||||
return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b;
|
||||
},
|
||||
easeOutBounce: function (x, t, b, c, d) {
|
||||
if ((t/=d) < (1/2.75)) {
|
||||
return c*(7.5625*t*t) + b;
|
||||
} else if (t < (2/2.75)) {
|
||||
return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
|
||||
} else if (t < (2.5/2.75)) {
|
||||
return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
|
||||
} else {
|
||||
return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
|
||||
}
|
||||
},
|
||||
easeInOutBounce: function (x, t, b, c, d) {
|
||||
if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b;
|
||||
return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;
|
||||
}
|
||||
});
|
||||
|
||||
/*
|
||||
*
|
||||
* TERMS OF USE - EASING EQUATIONS
|
||||
*
|
||||
* Open source under the BSD License.
|
||||
*
|
||||
* Copyright © 2001 Robert Penner
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification,
|
||||
* are permitted provided that the following conditions are met:
|
||||
*
|
||||
* Redistributions of source code must retain the above copyright notice, this list of
|
||||
* conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
* of conditions and the following disclaimer in the documentation and/or other materials
|
||||
* provided with the distribution.
|
||||
*
|
||||
* Neither the name of the author nor the names of contributors may be used to endorse
|
||||
* or promote products derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
||||
* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
@ -1,33 +1,33 @@
|
||||
This is a theme for gallery3.
|
||||
It uses jquery lightbox slideshow (fancybox) to display images, and includes a tagsmap module (originally from rWatcher).
|
||||
|
||||
*********
|
||||
Demo @ http://gallery.3nids.ch
|
||||
|
||||
*********
|
||||
Requirements:
|
||||
- Gallery 3 last experimental version @ http://github.com/gallery/gallery3
|
||||
- Tag module activated (if want to use tagsmap)
|
||||
- Comment and Comments for 3nids themes modules activated (if you want to use comments)
|
||||
|
||||
*********
|
||||
Installation:
|
||||
|
||||
1. Copy the theme folder (3nids) into gallery3/themes directory.
|
||||
2. Copy lib folder into gallery3 directory (it changes the themeroller).
|
||||
3. Copy modules folder into gallery3 directory. It includes tagsmap module.
|
||||
|
||||
*********
|
||||
Use:
|
||||
This theme displays full size images. So be carefull to upload not too large images!
|
||||
The theme uses the tagsmap module which has been enhanced.
|
||||
|
||||
If you want to separate geotag from others, name those with the "map." prefix., the "map." prefix will not be displayed on the map.
|
||||
If you want to remove the prefix in the tag cloud sidebar, wou will have to update in gallery3/modules/tag/helpers/tag.php the popular_tags function:
|
||||
static function popular_tags($count) {
|
||||
return ORM::factory("tag")
|
||||
->orderby("count", "DESC")
|
||||
->notregex("name","map\.")
|
||||
->limit($count)
|
||||
->find_all();
|
||||
}
|
||||
This is a theme for gallery3.
|
||||
It uses jquery lightbox slideshow (fancybox) to display images, and includes a tagsmap module (originally from rWatcher).
|
||||
|
||||
*********
|
||||
Demo @ http://gallery.3nids.ch
|
||||
|
||||
*********
|
||||
Requirements:
|
||||
- Gallery 3 last experimental version @ http://github.com/gallery/gallery3
|
||||
- Tag module activated (if want to use tagsmap)
|
||||
- Comment and Comments for 3nids themes modules activated (if you want to use comments)
|
||||
|
||||
*********
|
||||
Installation:
|
||||
|
||||
1. Copy the theme folder (3nids) into gallery3/themes directory.
|
||||
2. Copy lib folder into gallery3 directory (it changes the themeroller).
|
||||
3. Copy modules folder into gallery3 directory. It includes tagsmap module.
|
||||
|
||||
*********
|
||||
Use:
|
||||
This theme displays full size images. So be carefull to upload not too large images!
|
||||
The theme uses the tagsmap module which has been enhanced.
|
||||
|
||||
If you want to separate geotag from others, name those with the "map." prefix., the "map." prefix will not be displayed on the map.
|
||||
If you want to remove the prefix in the tag cloud sidebar, wou will have to update in gallery3/modules/tag/helpers/tag.php the popular_tags function:
|
||||
static function popular_tags($count) {
|
||||
return ORM::factory("tag")
|
||||
->orderby("count", "DESC")
|
||||
->notregex("name","map\.")
|
||||
->limit($count)
|
||||
->find_all();
|
||||
}
|
||||
|
@ -1,192 +1,192 @@
|
||||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2009 Bharat Mediratta
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or (at
|
||||
* your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
class Comments_3nids_Controller extends REST_Controller {
|
||||
protected $resource_type = "comment";
|
||||
|
||||
|
||||
/**
|
||||
* Display comments based on criteria.
|
||||
* @see REST_Controller::_index()
|
||||
*/
|
||||
public function _index() {
|
||||
$item_id = $this->input->get('item_id');
|
||||
$item = ORM::factory("item", $item_id);
|
||||
access::required("view", $item);
|
||||
|
||||
$comments = ORM::factory("comment")
|
||||
->where("item_id", $item->id)
|
||||
->where("state", "published")
|
||||
->orderby("created", "ASC")
|
||||
->find_all();
|
||||
|
||||
switch (rest::output_format()) {
|
||||
case "json":
|
||||
foreach ($comments as $comment) {
|
||||
$data[] = array(
|
||||
"id" => $comment->id,
|
||||
"author_name" => html::clean($comment->author_name()),
|
||||
"created" => $comment->created,
|
||||
"text" => nl2br(html::purify($comment->text)));
|
||||
}
|
||||
print json_encode($data);
|
||||
break;
|
||||
|
||||
case "html":
|
||||
$view = new Theme_View("comments.html", "page");
|
||||
$view->comments = $comments;
|
||||
$view->item_id = $item_id;
|
||||
$view->thumb = $item->thumb_url();
|
||||
print $view;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a new comment to the collection.
|
||||
* @see REST_Controller::_create($resource)
|
||||
*/
|
||||
public function _create($comment) {
|
||||
$item = ORM::factory("item", $this->input->post("item_id"));
|
||||
access::required("view", $item);
|
||||
|
||||
$form = comment_3nids::get_add_form($item);
|
||||
$valid = $form->validate();
|
||||
if ($valid) {
|
||||
if (user::active()->guest && !$form->add_comment->inputs["name"]->value) {
|
||||
$form->add_comment->inputs["name"]->add_error("missing", 1);
|
||||
$valid = false;
|
||||
}
|
||||
|
||||
if (!$form->add_comment->text->value) {
|
||||
$form->add_comment->text->add_error("missing", 1);
|
||||
$valid = false;
|
||||
}
|
||||
}
|
||||
|
||||
if ($valid) {
|
||||
$comment = comment::create(
|
||||
$item, user::active(),
|
||||
$form->add_comment->text->value,
|
||||
$form->add_comment->inputs["name"]->value,
|
||||
$form->add_comment->email->value,
|
||||
$form->add_comment->url->value);
|
||||
|
||||
$active = user::active();
|
||||
if ($active->guest) {
|
||||
$form->add_comment->inputs["name"]->value("");
|
||||
$form->add_comment->email->value("");
|
||||
$form->add_comment->url->value("");
|
||||
} else {
|
||||
$form->add_comment->inputs["name"]->value($active->full_name);
|
||||
$form->add_comment->email->value($active->email);
|
||||
$form->add_comment->url->value($active->url);
|
||||
}
|
||||
}
|
||||
url::redirect(url::site("comments_3nids?item_id=".$item->id));
|
||||
}
|
||||
/**
|
||||
* Display an existing comment.
|
||||
* @todo Set proper Content-Type in a central place (REST_Controller::dispatch?).
|
||||
* @see REST_Controller::_show($resource)
|
||||
*/
|
||||
public function _show($comment) {
|
||||
$item = ORM::factory("item", $comment->item_id);
|
||||
access::required("view", $item);
|
||||
if ($comment->state != "published") {
|
||||
return;
|
||||
}
|
||||
|
||||
if (rest::output_format() == "json") {
|
||||
print json_encode(
|
||||
array("result" => "success",
|
||||
"data" => array(
|
||||
"id" => $comment->id,
|
||||
"author_name" => html::clean($comment->author_name()),
|
||||
"created" => $comment->created,
|
||||
"text" => nl2br(html::purify($comment->text)))));
|
||||
} else {
|
||||
$view = new Theme_View("comment.html", "fragment");
|
||||
$view->comment = $comment;
|
||||
print $view;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Change an existing comment.
|
||||
* @see REST_Controller::_update($resource)
|
||||
*/
|
||||
public function _update($comment) {
|
||||
$item = ORM::factory("item", $comment->item_id);
|
||||
access::required("view", $item);
|
||||
access::required("edit", $item);
|
||||
|
||||
$form = comment_3nids::get_edit_form($comment);
|
||||
if ($form->validate()) {
|
||||
$comment->guest_name = $form->edit_comment->inputs["name"]->value;
|
||||
$comment->guest_email = $form->edit_comment->email->value;
|
||||
$comment->url = $form->edit_comment->url->value;
|
||||
$comment->text = $form->edit_comment->text->value;
|
||||
$comment->save();
|
||||
|
||||
print json_encode(
|
||||
array("result" => "success",
|
||||
"resource" => url::site("comments/{$comment->id}")));
|
||||
} else {
|
||||
print json_encode(
|
||||
array("result" => "error",
|
||||
"html" => $form->__toString()));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete existing comment.
|
||||
* @see REST_Controller::_delete($resource)
|
||||
*/
|
||||
public function _delete($comment) {
|
||||
$item = ORM::factory("item", $comment->item_id);
|
||||
access::required("view", $item);
|
||||
access::required("edit", $item);
|
||||
|
||||
$comment->delete();
|
||||
print json_encode(array("result" => "success"));
|
||||
}
|
||||
|
||||
/**
|
||||
* Present a form for adding a new comment to this item or editing an existing comment.
|
||||
* @see REST_Controller::form_add($resource)
|
||||
*/
|
||||
public function _form_add($item_id) {
|
||||
$item = ORM::factory("item", $item_id);
|
||||
access::required("view", $item);
|
||||
|
||||
print comment_3nids::get_add_form($item);
|
||||
}
|
||||
|
||||
/**
|
||||
* Present a form for editing an existing comment.
|
||||
* @see REST_Controller::form_edit($resource)
|
||||
*/
|
||||
public function _form_edit($comment) {
|
||||
if (!user::active()->admin) {
|
||||
access::forbidden();
|
||||
}
|
||||
print comment_3nids::get_edit_form($comment);
|
||||
}
|
||||
}
|
||||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2009 Bharat Mediratta
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or (at
|
||||
* your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
class Comments_3nids_Controller extends REST_Controller {
|
||||
protected $resource_type = "comment";
|
||||
|
||||
|
||||
/**
|
||||
* Display comments based on criteria.
|
||||
* @see REST_Controller::_index()
|
||||
*/
|
||||
public function _index() {
|
||||
$item_id = $this->input->get('item_id');
|
||||
$item = ORM::factory("item", $item_id);
|
||||
access::required("view", $item);
|
||||
|
||||
$comments = ORM::factory("comment")
|
||||
->where("item_id", $item->id)
|
||||
->where("state", "published")
|
||||
->orderby("created", "ASC")
|
||||
->find_all();
|
||||
|
||||
switch (rest::output_format()) {
|
||||
case "json":
|
||||
foreach ($comments as $comment) {
|
||||
$data[] = array(
|
||||
"id" => $comment->id,
|
||||
"author_name" => html::clean($comment->author_name()),
|
||||
"created" => $comment->created,
|
||||
"text" => nl2br(html::purify($comment->text)));
|
||||
}
|
||||
print json_encode($data);
|
||||
break;
|
||||
|
||||
case "html":
|
||||
$view = new Theme_View("comments.html", "page");
|
||||
$view->comments = $comments;
|
||||
$view->item_id = $item_id;
|
||||
$view->thumb = $item->thumb_url();
|
||||
print $view;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a new comment to the collection.
|
||||
* @see REST_Controller::_create($resource)
|
||||
*/
|
||||
public function _create($comment) {
|
||||
$item = ORM::factory("item", $this->input->post("item_id"));
|
||||
access::required("view", $item);
|
||||
|
||||
$form = comment_3nids::get_add_form($item);
|
||||
$valid = $form->validate();
|
||||
if ($valid) {
|
||||
if (user::active()->guest && !$form->add_comment->inputs["name"]->value) {
|
||||
$form->add_comment->inputs["name"]->add_error("missing", 1);
|
||||
$valid = false;
|
||||
}
|
||||
|
||||
if (!$form->add_comment->text->value) {
|
||||
$form->add_comment->text->add_error("missing", 1);
|
||||
$valid = false;
|
||||
}
|
||||
}
|
||||
|
||||
if ($valid) {
|
||||
$comment = comment::create(
|
||||
$item, user::active(),
|
||||
$form->add_comment->text->value,
|
||||
$form->add_comment->inputs["name"]->value,
|
||||
$form->add_comment->email->value,
|
||||
$form->add_comment->url->value);
|
||||
|
||||
$active = user::active();
|
||||
if ($active->guest) {
|
||||
$form->add_comment->inputs["name"]->value("");
|
||||
$form->add_comment->email->value("");
|
||||
$form->add_comment->url->value("");
|
||||
} else {
|
||||
$form->add_comment->inputs["name"]->value($active->full_name);
|
||||
$form->add_comment->email->value($active->email);
|
||||
$form->add_comment->url->value($active->url);
|
||||
}
|
||||
}
|
||||
url::redirect(url::site("comments_3nids?item_id=".$item->id));
|
||||
}
|
||||
/**
|
||||
* Display an existing comment.
|
||||
* @todo Set proper Content-Type in a central place (REST_Controller::dispatch?).
|
||||
* @see REST_Controller::_show($resource)
|
||||
*/
|
||||
public function _show($comment) {
|
||||
$item = ORM::factory("item", $comment->item_id);
|
||||
access::required("view", $item);
|
||||
if ($comment->state != "published") {
|
||||
return;
|
||||
}
|
||||
|
||||
if (rest::output_format() == "json") {
|
||||
print json_encode(
|
||||
array("result" => "success",
|
||||
"data" => array(
|
||||
"id" => $comment->id,
|
||||
"author_name" => html::clean($comment->author_name()),
|
||||
"created" => $comment->created,
|
||||
"text" => nl2br(html::purify($comment->text)))));
|
||||
} else {
|
||||
$view = new Theme_View("comment.html", "fragment");
|
||||
$view->comment = $comment;
|
||||
print $view;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Change an existing comment.
|
||||
* @see REST_Controller::_update($resource)
|
||||
*/
|
||||
public function _update($comment) {
|
||||
$item = ORM::factory("item", $comment->item_id);
|
||||
access::required("view", $item);
|
||||
access::required("edit", $item);
|
||||
|
||||
$form = comment_3nids::get_edit_form($comment);
|
||||
if ($form->validate()) {
|
||||
$comment->guest_name = $form->edit_comment->inputs["name"]->value;
|
||||
$comment->guest_email = $form->edit_comment->email->value;
|
||||
$comment->url = $form->edit_comment->url->value;
|
||||
$comment->text = $form->edit_comment->text->value;
|
||||
$comment->save();
|
||||
|
||||
print json_encode(
|
||||
array("result" => "success",
|
||||
"resource" => url::site("comments/{$comment->id}")));
|
||||
} else {
|
||||
print json_encode(
|
||||
array("result" => "error",
|
||||
"html" => $form->__toString()));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete existing comment.
|
||||
* @see REST_Controller::_delete($resource)
|
||||
*/
|
||||
public function _delete($comment) {
|
||||
$item = ORM::factory("item", $comment->item_id);
|
||||
access::required("view", $item);
|
||||
access::required("edit", $item);
|
||||
|
||||
$comment->delete();
|
||||
print json_encode(array("result" => "success"));
|
||||
}
|
||||
|
||||
/**
|
||||
* Present a form for adding a new comment to this item or editing an existing comment.
|
||||
* @see REST_Controller::form_add($resource)
|
||||
*/
|
||||
public function _form_add($item_id) {
|
||||
$item = ORM::factory("item", $item_id);
|
||||
access::required("view", $item);
|
||||
|
||||
print comment_3nids::get_add_form($item);
|
||||
}
|
||||
|
||||
/**
|
||||
* Present a form for editing an existing comment.
|
||||
* @see REST_Controller::form_edit($resource)
|
||||
*/
|
||||
public function _form_edit($comment) {
|
||||
if (!user::active()->admin) {
|
||||
access::forbidden();
|
||||
}
|
||||
print comment_3nids::get_edit_form($comment);
|
||||
}
|
||||
}
|
||||
|
@ -1,128 +1,128 @@
|
||||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2009 Bharat Mediratta
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or (at
|
||||
* your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
/**
|
||||
* This is the API for handling comments.
|
||||
*
|
||||
* Note: by design, this class does not do any permission checking.
|
||||
*/
|
||||
class comment_3nids_Core {
|
||||
|
||||
public function count($item) {
|
||||
access::required("view", $item);
|
||||
|
||||
$comments = ORM::factory("comment")
|
||||
->where("item_id", $item->id)
|
||||
->where("state", "published")
|
||||
->orderby("created", "DESC")
|
||||
->find_all();
|
||||
|
||||
return $comments->count();
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new comment.
|
||||
* @param Item_MOdel $item the parent item
|
||||
* @param User_Model $author the author User_Model
|
||||
* @param string $text comment body
|
||||
* @param string $guest_name guest's name (if the author is a guest user, default empty)
|
||||
* @param string $guest_email guest's email (if the author is a guest user, default empty)
|
||||
* @param string $guest_url guest's url (if the author is a guest user, default empty)
|
||||
* @return Comment_Model
|
||||
*/
|
||||
static function create($item, $author, $text, $guest_name=null,
|
||||
$guest_email=null, $guest_url=null) {
|
||||
$comment = ORM::factory("comment");
|
||||
$comment->author_id = $author->id;
|
||||
$comment->guest_email = $guest_email;
|
||||
$comment->guest_name = $guest_name;
|
||||
$comment->guest_url = $guest_url;
|
||||
$comment->item_id = $item->id;
|
||||
$comment->text = $text;
|
||||
$comment->state = "published";
|
||||
|
||||
// These values are useful for spam fighting, so save them with the comment.
|
||||
$input = Input::instance();
|
||||
$comment->server_http_accept = substr($input->server("HTTP_ACCEPT"), 0, 128);
|
||||
$comment->server_http_accept_charset = substr($input->server("HTTP_ACCEPT_CHARSET"), 0, 64);
|
||||
$comment->server_http_accept_encoding = substr($input->server("HTTP_ACCEPT_ENCODING"), 0, 64);
|
||||
$comment->server_http_accept_language = substr($input->server("HTTP_ACCEPT_LANGUAGE"), 0, 64);
|
||||
$comment->server_http_connection = substr($input->server("HTTP_CONNECTION"), 0, 64);
|
||||
$comment->server_http_host = substr($input->server("HTTP_HOST"), 0, 64);
|
||||
$comment->server_http_referer = substr($input->server("HTTP_REFERER"), 0, 255);
|
||||
$comment->server_http_user_agent = substr($input->server("HTTP_USER_AGENT"), 0, 128);
|
||||
$comment->server_query_string = substr($input->server("QUERY_STRING"), 0, 64);
|
||||
$comment->server_remote_addr = substr($input->server("REMOTE_ADDR"), 0, 32);
|
||||
$comment->server_remote_host = substr($input->server("REMOTE_HOST"), 0, 64);
|
||||
$comment->server_remote_port = substr($input->server("REMOTE_PORT"), 0, 16);
|
||||
$comment->save();
|
||||
|
||||
return $comment;
|
||||
}
|
||||
|
||||
static function get_add_form($item) {
|
||||
$form = new Forge("comments_3nids?item_id=".$item->id, "", "post", array("id" => "gAddCommentForm"));
|
||||
$group = $form->group("add_comment")->label(t("Add comment"));
|
||||
$group->input("name") ->label(t("Name")) ->id("gAuthor");
|
||||
$group->input("email") ->label(t("Email (hidden)")) ->id("gEmail");
|
||||
$group->input("url") ->label(t("Website (hidden)"))->id("gUrl");
|
||||
$group->textarea("text")->label(t("Comment")) ->id("gText");
|
||||
$group->hidden("item_id")->value($item->id);
|
||||
module::event("comment_add_form", $form);
|
||||
$group->submit("")->value(t("Add")) ->class("gButtonLink ui-corner-all ui-icon-left ui-state-default");
|
||||
|
||||
$active = user::active();
|
||||
if (!$active->guest) {
|
||||
$group->inputs["name"]->value($active->full_name)->disabled("disabled");
|
||||
$group->email->value($active->email)->disabled("disabled");
|
||||
$group->url->value($active->url)->disabled("disabled");
|
||||
} else {
|
||||
$group->inputs["name"]->error_messages("missing", t("You must provide a name"));
|
||||
}
|
||||
$group->text->error_messages("missing", t("You must provide a comment"));
|
||||
|
||||
return $form;
|
||||
}
|
||||
|
||||
static function get_edit_form($comment) {
|
||||
$form = new Forge("comments/{$comment->id}?_method=put", "", "post",
|
||||
array("id" => "gEditCommentForm"));
|
||||
$group = $form->group("edit_comment")->label(t("Edit comment"));
|
||||
$group->input("name") ->label(t("Author")) ->id("gAuthor");
|
||||
$group->input("email") ->label(t("Email (hidden)")) ->id("gEmail");
|
||||
$group->input("url") ->label(t("Website (hidden)"))->id("gUrl");
|
||||
$group->textarea("text")->label(t("Comment")) ->id("gText");
|
||||
$group->submit("")->value(t("Edit"));
|
||||
|
||||
$group->text = $comment->text;
|
||||
$author = $comment->author();
|
||||
if ($author->guest) {
|
||||
$group->inputs["name"]->value = $comment->guest_name;
|
||||
$group->email = $comment->guest_email;
|
||||
$group->url = $comment->guest_url;
|
||||
} else {
|
||||
$group->inputs["name"]->value($author->full_name)->disabled("disabled");
|
||||
$group->email->value($author->email)->disabled("disabled");
|
||||
$group->url->value($author->url)->disabled("disabled");
|
||||
}
|
||||
return $form;
|
||||
}
|
||||
}
|
||||
|
||||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2009 Bharat Mediratta
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or (at
|
||||
* your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
/**
|
||||
* This is the API for handling comments.
|
||||
*
|
||||
* Note: by design, this class does not do any permission checking.
|
||||
*/
|
||||
class comment_3nids_Core {
|
||||
|
||||
public function count($item) {
|
||||
access::required("view", $item);
|
||||
|
||||
$comments = ORM::factory("comment")
|
||||
->where("item_id", $item->id)
|
||||
->where("state", "published")
|
||||
->orderby("created", "DESC")
|
||||
->find_all();
|
||||
|
||||
return $comments->count();
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new comment.
|
||||
* @param Item_MOdel $item the parent item
|
||||
* @param User_Model $author the author User_Model
|
||||
* @param string $text comment body
|
||||
* @param string $guest_name guest's name (if the author is a guest user, default empty)
|
||||
* @param string $guest_email guest's email (if the author is a guest user, default empty)
|
||||
* @param string $guest_url guest's url (if the author is a guest user, default empty)
|
||||
* @return Comment_Model
|
||||
*/
|
||||
static function create($item, $author, $text, $guest_name=null,
|
||||
$guest_email=null, $guest_url=null) {
|
||||
$comment = ORM::factory("comment");
|
||||
$comment->author_id = $author->id;
|
||||
$comment->guest_email = $guest_email;
|
||||
$comment->guest_name = $guest_name;
|
||||
$comment->guest_url = $guest_url;
|
||||
$comment->item_id = $item->id;
|
||||
$comment->text = $text;
|
||||
$comment->state = "published";
|
||||
|
||||
// These values are useful for spam fighting, so save them with the comment.
|
||||
$input = Input::instance();
|
||||
$comment->server_http_accept = substr($input->server("HTTP_ACCEPT"), 0, 128);
|
||||
$comment->server_http_accept_charset = substr($input->server("HTTP_ACCEPT_CHARSET"), 0, 64);
|
||||
$comment->server_http_accept_encoding = substr($input->server("HTTP_ACCEPT_ENCODING"), 0, 64);
|
||||
$comment->server_http_accept_language = substr($input->server("HTTP_ACCEPT_LANGUAGE"), 0, 64);
|
||||
$comment->server_http_connection = substr($input->server("HTTP_CONNECTION"), 0, 64);
|
||||
$comment->server_http_host = substr($input->server("HTTP_HOST"), 0, 64);
|
||||
$comment->server_http_referer = substr($input->server("HTTP_REFERER"), 0, 255);
|
||||
$comment->server_http_user_agent = substr($input->server("HTTP_USER_AGENT"), 0, 128);
|
||||
$comment->server_query_string = substr($input->server("QUERY_STRING"), 0, 64);
|
||||
$comment->server_remote_addr = substr($input->server("REMOTE_ADDR"), 0, 32);
|
||||
$comment->server_remote_host = substr($input->server("REMOTE_HOST"), 0, 64);
|
||||
$comment->server_remote_port = substr($input->server("REMOTE_PORT"), 0, 16);
|
||||
$comment->save();
|
||||
|
||||
return $comment;
|
||||
}
|
||||
|
||||
static function get_add_form($item) {
|
||||
$form = new Forge("comments_3nids?item_id=".$item->id, "", "post", array("id" => "gAddCommentForm"));
|
||||
$group = $form->group("add_comment")->label(t("Add comment"));
|
||||
$group->input("name") ->label(t("Name")) ->id("gAuthor");
|
||||
$group->input("email") ->label(t("Email (hidden)")) ->id("gEmail");
|
||||
$group->input("url") ->label(t("Website (hidden)"))->id("gUrl");
|
||||
$group->textarea("text")->label(t("Comment")) ->id("gText");
|
||||
$group->hidden("item_id")->value($item->id);
|
||||
module::event("comment_add_form", $form);
|
||||
$group->submit("")->value(t("Add")) ->class("gButtonLink ui-corner-all ui-icon-left ui-state-default");
|
||||
|
||||
$active = user::active();
|
||||
if (!$active->guest) {
|
||||
$group->inputs["name"]->value($active->full_name)->disabled("disabled");
|
||||
$group->email->value($active->email)->disabled("disabled");
|
||||
$group->url->value($active->url)->disabled("disabled");
|
||||
} else {
|
||||
$group->inputs["name"]->error_messages("missing", t("You must provide a name"));
|
||||
}
|
||||
$group->text->error_messages("missing", t("You must provide a comment"));
|
||||
|
||||
return $form;
|
||||
}
|
||||
|
||||
static function get_edit_form($comment) {
|
||||
$form = new Forge("comments/{$comment->id}?_method=put", "", "post",
|
||||
array("id" => "gEditCommentForm"));
|
||||
$group = $form->group("edit_comment")->label(t("Edit comment"));
|
||||
$group->input("name") ->label(t("Author")) ->id("gAuthor");
|
||||
$group->input("email") ->label(t("Email (hidden)")) ->id("gEmail");
|
||||
$group->input("url") ->label(t("Website (hidden)"))->id("gUrl");
|
||||
$group->textarea("text")->label(t("Comment")) ->id("gText");
|
||||
$group->submit("")->value(t("Edit"));
|
||||
|
||||
$group->text = $comment->text;
|
||||
$author = $comment->author();
|
||||
if ($author->guest) {
|
||||
$group->inputs["name"]->value = $comment->guest_name;
|
||||
$group->email = $comment->guest_email;
|
||||
$group->url = $comment->guest_url;
|
||||
} else {
|
||||
$group->inputs["name"]->value($author->full_name)->disabled("disabled");
|
||||
$group->email->value($author->email)->disabled("disabled");
|
||||
$group->url->value($author->url)->disabled("disabled");
|
||||
}
|
||||
return $form;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,96 +1,96 @@
|
||||
.tooltip{
|
||||
position: absolute;
|
||||
left: 10px;
|
||||
top: 10px;
|
||||
width: 150px;
|
||||
background-color: #777;
|
||||
color: #ffffcc;
|
||||
border: 1px solid #f9db01;
|
||||
font: bold 13px "Trebuchet MS", Verdana, Arial, sans-serif;
|
||||
padding: 4px;
|
||||
z-index: 20;
|
||||
-moz-border-radius: 10px;
|
||||
-moz-opacity: .87;
|
||||
filter:alpha(opacity=87);
|
||||
opacity:.87;
|
||||
}
|
||||
|
||||
.gMapThumbTable{
|
||||
width:200px;
|
||||
height: 80px;
|
||||
font-size: 0.9em;
|
||||
font-style: normal;
|
||||
color: #FFFFCC;
|
||||
}
|
||||
.gMapThumbImg{
|
||||
overflow:auto;
|
||||
position: relative;
|
||||
height:125px;
|
||||
}
|
||||
.gMapThumbLink{
|
||||
height: 15px;
|
||||
}
|
||||
.gMapThumbTd{
|
||||
padding: 0;
|
||||
text-align: center;
|
||||
}
|
||||
.gMapThumbnail{
|
||||
height: 80px;
|
||||
}
|
||||
#gmInfo{
|
||||
width: 230px;
|
||||
}
|
||||
#gmInfo_contents{
|
||||
background: #3d3d3d;
|
||||
}
|
||||
#gmInfo_contents div{
|
||||
font-style: italic;
|
||||
vertical-align: middle;
|
||||
margin: 0 10px;
|
||||
}
|
||||
#gmInfo_tl{
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
background: url('../images/gmInfo_tl.png') top left no-repeat transparent;
|
||||
}
|
||||
#gmInfo_t{
|
||||
background: url('../images/gmInfo_t.png') top left repeat-x transparent;
|
||||
}
|
||||
#gmInfo_tr{
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
background: url('../images/gmInfo_tr.png') top left no-repeat transparent;
|
||||
}
|
||||
#gmInfo_l{
|
||||
width: 14px;
|
||||
background: url('../images/gmInfo_l.png') top left repeat-y transparent;
|
||||
}
|
||||
#gmInfo_r{
|
||||
width: 14px;
|
||||
background: url('../images/gmInfo_r.png') top right repeat-y transparent;
|
||||
}
|
||||
#gmInfo_bl{
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
background: url('../images/gmInfo_bl.png') top left no-repeat transparent;
|
||||
}
|
||||
#gmInfo_b{
|
||||
background: url('../images/gmInfo_b.png') top left repeat-x transparent;
|
||||
}
|
||||
#gmInfo_br{
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
background: url('../images/gmInfo_br.png') top left no-repeat transparent;
|
||||
}
|
||||
#gmInfo_close{
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
background: url('../images/gmInfo_close.png') top left no-repeat transparent;
|
||||
margin: -10px 0 0 10px;
|
||||
cursor: pointer;
|
||||
}
|
||||
#gmInfo_beak{
|
||||
width: 27px;
|
||||
height: 33px;
|
||||
background: url('../images/gmInfo_beak.png') top left no-repeat transparent;
|
||||
}
|
||||
.tooltip{
|
||||
position: absolute;
|
||||
left: 10px;
|
||||
top: 10px;
|
||||
width: 150px;
|
||||
background-color: #777;
|
||||
color: #ffffcc;
|
||||
border: 1px solid #f9db01;
|
||||
font: bold 13px "Trebuchet MS", Verdana, Arial, sans-serif;
|
||||
padding: 4px;
|
||||
z-index: 20;
|
||||
-moz-border-radius: 10px;
|
||||
-moz-opacity: .87;
|
||||
filter:alpha(opacity=87);
|
||||
opacity:.87;
|
||||
}
|
||||
|
||||
.gMapThumbTable{
|
||||
width:200px;
|
||||
height: 80px;
|
||||
font-size: 0.9em;
|
||||
font-style: normal;
|
||||
color: #FFFFCC;
|
||||
}
|
||||
.gMapThumbImg{
|
||||
overflow:auto;
|
||||
position: relative;
|
||||
height:125px;
|
||||
}
|
||||
.gMapThumbLink{
|
||||
height: 15px;
|
||||
}
|
||||
.gMapThumbTd{
|
||||
padding: 0;
|
||||
text-align: center;
|
||||
}
|
||||
.gMapThumbnail{
|
||||
height: 80px;
|
||||
}
|
||||
#gmInfo{
|
||||
width: 230px;
|
||||
}
|
||||
#gmInfo_contents{
|
||||
background: #3d3d3d;
|
||||
}
|
||||
#gmInfo_contents div{
|
||||
font-style: italic;
|
||||
vertical-align: middle;
|
||||
margin: 0 10px;
|
||||
}
|
||||
#gmInfo_tl{
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
background: url('../images/gmInfo_tl.png') top left no-repeat transparent;
|
||||
}
|
||||
#gmInfo_t{
|
||||
background: url('../images/gmInfo_t.png') top left repeat-x transparent;
|
||||
}
|
||||
#gmInfo_tr{
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
background: url('../images/gmInfo_tr.png') top left no-repeat transparent;
|
||||
}
|
||||
#gmInfo_l{
|
||||
width: 14px;
|
||||
background: url('../images/gmInfo_l.png') top left repeat-y transparent;
|
||||
}
|
||||
#gmInfo_r{
|
||||
width: 14px;
|
||||
background: url('../images/gmInfo_r.png') top right repeat-y transparent;
|
||||
}
|
||||
#gmInfo_bl{
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
background: url('../images/gmInfo_bl.png') top left no-repeat transparent;
|
||||
}
|
||||
#gmInfo_b{
|
||||
background: url('../images/gmInfo_b.png') top left repeat-x transparent;
|
||||
}
|
||||
#gmInfo_br{
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
background: url('../images/gmInfo_br.png') top left no-repeat transparent;
|
||||
}
|
||||
#gmInfo_close{
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
background: url('../images/gmInfo_close.png') top left no-repeat transparent;
|
||||
margin: -10px 0 0 10px;
|
||||
cursor: pointer;
|
||||
}
|
||||
#gmInfo_beak{
|
||||
width: 27px;
|
||||
height: 33px;
|
||||
background: url('../images/gmInfo_beak.png') top left no-repeat transparent;
|
||||
}
|
||||
|
@ -1,24 +1,24 @@
|
||||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2009 Bharat Mediratta
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or (at
|
||||
* your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
class tagsmap_theme {
|
||||
static function head($theme) {
|
||||
$theme->css("tagsmap.css");
|
||||
}
|
||||
}
|
||||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2009 Bharat Mediratta
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or (at
|
||||
* your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
class tagsmap_theme {
|
||||
static function head($theme) {
|
||||
$theme->css("tagsmap.css");
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user