Imported Upstream version 3.0.5
This commit is contained in:
parent
4916d14f09
commit
542f1e39cd
14
README
14
README
|
@ -1,4 +1,4 @@
|
|||
Gallery 3.0.4 ("Ricochet")
|
||||
Gallery 3.0.5 (Daydreaming)
|
||||
|
||||
ABOUT:
|
||||
Gallery 3 is a web based software product that lets you manage your
|
||||
|
@ -15,14 +15,14 @@ welcome theme and module developers to play with this release and
|
|||
start turning out slick new designs for our happy users. If you have
|
||||
questions or problems, you can get help in the Gallery forums:
|
||||
|
||||
http://gallery.menalto.com/forum/96
|
||||
http://galleryproject.org/forum/96
|
||||
|
||||
|
||||
SECURITY:
|
||||
We've contracted a professional security audit, received their results
|
||||
and resolved all the issues they found.
|
||||
|
||||
Did you find a security flaw? Please email security@gallery.menalto.com
|
||||
Did you find a security flaw? Please email security@galleryproject.org
|
||||
with the details and we'll fix it ASAP!
|
||||
|
||||
|
||||
|
@ -34,12 +34,12 @@ SUPPORTED CONFIGURATION:
|
|||
- Database: MySQL 5 and newer.
|
||||
|
||||
For complete system requirements, please refer to:
|
||||
http://codex.gallery2.org/Gallery3:Requirements
|
||||
http://codex.galleryproject.org/Gallery3:Requirements
|
||||
|
||||
|
||||
INSTALLING AND UPGRADING INSTRUCTIONS:
|
||||
For comprehensive instructions, The online User Guide is your best resource:
|
||||
http://codex.gallery2.org/Gallery3:User_guide
|
||||
http://codex.galleryproject.org/Gallery3:User_guide
|
||||
|
||||
There are also simple instructions below. NOTE: You can upgrade from
|
||||
beta 1 and beyond, but not from alpha releases.
|
||||
|
@ -68,7 +68,7 @@ and log in with your SourceForge username and password, then click the
|
|||
|
||||
|
||||
QUESTIONS, PROBLEMS:
|
||||
- Check out the gallery3 FAQ http://codex.gallery2.org/Gallery3:FAQ
|
||||
- Post to the Gallery 3 forums: http://gallery.menalto.com/forum/96
|
||||
- Check out the gallery3 FAQ http://codex.galleryproject.org/Gallery3:FAQ
|
||||
- Post to the Gallery 3 forums: http://galleryproject.org/forum/96
|
||||
- Email gallery-devel@lists.sourceforge.net
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
@ -35,7 +35,7 @@ require SYSPATH.'core/Event'.EXT;
|
|||
final class Event extends Event_Core {}
|
||||
|
||||
require SYSPATH.'core/Kohana'.EXT;
|
||||
final class Kohana extends Kohana_Core {}
|
||||
require MODPATH.'gallery/libraries/MY_Kohana'.EXT;
|
||||
|
||||
require SYSPATH.'core/Kohana_Exception'.EXT;
|
||||
require MODPATH.'gallery/libraries/MY_Kohana_Exception'.EXT;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
DirectoryIndex .htaccess
|
||||
SetHandler Gallery_Security_Do_Not_Remove
|
||||
Options None
|
||||
<IfModule mod_rewrite.c>
|
||||
RewriteEngine off
|
||||
</IfModule>
|
||||
Order allow,deny
|
||||
Deny from all
|
|
@ -0,0 +1,5 @@
|
|||
This directory contains utility software that Gallery uses to perform
|
||||
image manipulation and other useful functions. It should not be
|
||||
accessible from a web browser, and by default it's empty. Gallery
|
||||
will instruct you when it's appropriate to download software and
|
||||
install it here.
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
@ -39,7 +39,7 @@ if (!ini_get("date.timezone")) {
|
|||
!ini_get("short_open_tag") and exit("Gallery requires short_open_tag to be on.");
|
||||
|
||||
// Suppress errors. For information on how to debug Gallery 3, see:
|
||||
// http://codex.gallery2.org/Gallery3:FAQ#How_do_I_see_debug_information.3F
|
||||
// http://codex.galleryproject.org/Gallery3:FAQ#How_do_I_see_debug_information.3F
|
||||
error_reporting(0);
|
||||
|
||||
// Disabling display_errors will effectively disable Kohana error display
|
||||
|
@ -51,6 +51,9 @@ ini_set("display_errors", false);
|
|||
// Ajax code.
|
||||
ini_set("session.use_trans_sid", false);
|
||||
|
||||
// Restrict all response frames to the same origin for security
|
||||
header("X-Frame-Options: SAMEORIGIN");
|
||||
|
||||
define("EXT", ".php");
|
||||
define("DOCROOT", getcwd() . "/");
|
||||
define("KOHANA", "index.php");
|
||||
|
@ -103,7 +106,7 @@ if (PHP_SAPI == "cli") {
|
|||
define("TEST_MODE", 0);
|
||||
define("VARPATH", realpath("var") . "/");
|
||||
}
|
||||
define("TMPPATH", VARPATH . "/tmp/");
|
||||
define("TMPPATH", VARPATH . "tmp/");
|
||||
|
||||
if (file_exists("local.php")) {
|
||||
include("local.php");
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
@ -78,8 +78,8 @@ function oops($message) {
|
|||
print "==> " . $message;
|
||||
print "\n";
|
||||
print "For help you can try:\n";
|
||||
print " * The Gallery 3 FAQ - http://codex.gallery2.org/Gallery3:FAQ\n";
|
||||
print " * The Gallery Forums - http://gallery.menalto.com/forum\n";
|
||||
print " * The Gallery 3 FAQ - http://codex.galleryproject.org/Gallery3:FAQ\n";
|
||||
print " * The Gallery Forums - http://galleryproject.org/forum\n";
|
||||
print "\n\n** INSTALLATION FAILED **\n";
|
||||
exit(1);
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -186,7 +186,8 @@ CREATE TABLE {items} (
|
|||
KEY `type` (`type`),
|
||||
KEY `random` (`rand_key`),
|
||||
KEY `weight` (`weight`),
|
||||
KEY `left_ptr` (`left_ptr`)
|
||||
KEY `left_ptr` (`left_ptr`),
|
||||
KEY `relative_path_cache` (`relative_path_cache`)
|
||||
) AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
INSERT INTO {items} VALUES (1,NULL,NULL,UNIX_TIMESTAMP(),'',NULL,1,1,NULL,NULL,2,0,NULL,'','',1,NULL,NULL,2,NULL,'weight','ASC',1,NULL,NULL,'Gallery','album',UNIX_TIMESTAMP(),0,1,NULL,'1','1');
|
||||
|
@ -244,9 +245,9 @@ CREATE TABLE {modules} (
|
|||
KEY `weight` (`weight`)
|
||||
) AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
INSERT INTO {modules} VALUES (1,1,'gallery',49,1);
|
||||
INSERT INTO {modules} VALUES (1,1,'gallery',56,1);
|
||||
INSERT INTO {modules} VALUES (2,1,'user',4,2);
|
||||
INSERT INTO {modules} VALUES (3,1,'comment',6,3);
|
||||
INSERT INTO {modules} VALUES (3,1,'comment',7,3);
|
||||
INSERT INTO {modules} VALUES (4,1,'organize',4,4);
|
||||
INSERT INTO {modules} VALUES (5,1,'info',2,5);
|
||||
INSERT INTO {modules} VALUES (6,1,'rss',1,6);
|
||||
|
@ -382,7 +383,7 @@ CREATE TABLE {vars} (
|
|||
`value` text,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `module_name` (`module_name`,`name`)
|
||||
) AUTO_INCREMENT=44 DEFAULT CHARSET=utf8;
|
||||
) AUTO_INCREMENT=47 DEFAULT CHARSET=utf8;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
INSERT INTO {vars} VALUES (NULL,'gallery','active_site_theme','wind');
|
||||
INSERT INTO {vars} VALUES (NULL,'gallery','active_admin_theme','admin_wind');
|
||||
|
@ -414,12 +415,15 @@ INSERT INTO {vars} VALUES (NULL,'gallery','email_header_separator','s:1:\"\n\";'
|
|||
INSERT INTO {vars} VALUES (NULL,'gallery','show_user_profiles_to','registered_users');
|
||||
INSERT INTO {vars} VALUES (NULL,'gallery','extra_binary_paths','/usr/local/bin:/opt/local/bin:/opt/bin');
|
||||
INSERT INTO {vars} VALUES (NULL,'gallery','timezone',NULL);
|
||||
INSERT INTO {vars} VALUES (NULL,'gallery','lock_timeout','1');
|
||||
INSERT INTO {vars} VALUES (NULL,'gallery','movie_extract_frame_time','3');
|
||||
INSERT INTO {vars} VALUES (NULL,'gallery','movie_allow_uploads','autodetect');
|
||||
INSERT INTO {vars} VALUES (NULL,'gallery','blocks_site_sidebar','a:4:{i:10;a:2:{i:0;s:7:\"gallery\";i:1;s:8:\"language\";}i:11;a:2:{i:0;s:4:\"info\";i:1;s:8:\"metadata\";}i:12;a:2:{i:0;s:3:\"rss\";i:1;s:9:\"rss_feeds\";}i:13;a:2:{i:0;s:3:\"tag\";i:1;s:3:\"tag\";}}');
|
||||
INSERT INTO {vars} VALUES (NULL,'gallery','identity_provider','user');
|
||||
INSERT INTO {vars} VALUES (NULL,'user','minimum_password_length','5');
|
||||
INSERT INTO {vars} VALUES (NULL,'comment','spam_caught','0');
|
||||
INSERT INTO {vars} VALUES (NULL,'comment','access_permissions','everybody');
|
||||
INSERT INTO {vars} VALUES (NULL,'comment','rss_visible','both');
|
||||
INSERT INTO {vars} VALUES (NULL,'comment','rss_visible','all');
|
||||
INSERT INTO {vars} VALUES (NULL,'info','show_title','1');
|
||||
INSERT INTO {vars} VALUES (NULL,'info','show_description','1');
|
||||
INSERT INTO {vars} VALUES (NULL,'info','show_owner','1');
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -13,9 +13,9 @@
|
|||
<div id="footer">
|
||||
<p>
|
||||
<i>Did something go wrong? Try
|
||||
the <a href="http://codex.gallery2.org/Gallery3:FAQ">FAQ</a>
|
||||
the <a href="http://codex.galleryproject.org/Gallery3:FAQ">FAQ</a>
|
||||
or ask in
|
||||
the <a href="http://gallery.menalto.com/forum">Gallery
|
||||
the <a href="http://galleryproject.org/forum">Gallery
|
||||
forums</a>.</i>
|
||||
</p>
|
||||
</div>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
@ -41,9 +41,9 @@ if (installer::already_installed()) {
|
|||
list ($config["host"], $config["port"]) = explode(":", $config["host"] . ":");
|
||||
foreach ($config as $k => $v) {
|
||||
if ($k == "password") {
|
||||
$config[$k] = str_replace("'", "\\'", $v);
|
||||
$config[$k] = str_replace(array("'", "\\"), array("\\'", "\\\\"), $v);
|
||||
} else {
|
||||
$config[$k] = strtr($v, "'`", "__");
|
||||
$config[$k] = strtr($v, "'`\\", "___");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Binary file not shown.
|
@ -42,23 +42,22 @@ return ret;}
|
|||
return self;}});};function Player(wrapper,params,conf){var self=this,api=null,isUnloading=false,html,commonClip,playlist=[],plugins={},listeners={},playerId,apiId,playerIndex,activeIndex,swfHeight,wrapperHeight;extend(self,{id:function(){return playerId;},isLoaded:function(){return(api!==null&&api.fp_play!==undefined&&!isUnloading);},getParent:function(){return wrapper;},hide:function(all){if(all){wrapper.style.height="0px";}
|
||||
if(self.isLoaded()){api.style.height="0px";}
|
||||
return self;},show:function(){wrapper.style.height=wrapperHeight+"px";if(self.isLoaded()){api.style.height=swfHeight+"px";}
|
||||
return self;},isHidden:function(){return self.isLoaded()&&parseInt(api.style.height,10)===0;},load:function(fn){if(!self.isLoaded()&&self._fireEvent("onBeforeLoad")!==false){var onPlayersUnloaded=function(){html=wrapper.innerHTML;if(html&&!flashembed.isSupported(params.version)){wrapper.innerHTML="";}
|
||||
return self;},isHidden:function(){return self.isLoaded()&&parseInt(api.style.height,10)===0;},load:function(fn){if(!self.isLoaded()&&self._fireEvent("onBeforeLoad")!==false){var onPlayersUnloaded=function(){if(html&&!flashembed.isSupported(params.version)){wrapper.innerHTML="";}
|
||||
if(fn){fn.cached=true;bind(listeners,"onLoad",fn);}
|
||||
flashembed(wrapper,params,{config:conf});};var unloadedPlayersNb=0;each(players,function(){this.unload(function(wasUnloaded){if(++unloadedPlayersNb==players.length){onPlayersUnloaded();}});});}
|
||||
return self;},unload:function(fn){if(this.isFullscreen()&&/WebKit/i.test(navigator.userAgent)){if(fn){fn(false);}
|
||||
return self;},unload:function(fn){if(html.replace(/\s/g,'')!==''){if(self._fireEvent("onBeforeUnload")===false){if(fn){fn(false);}
|
||||
return self;}
|
||||
if(html.replace(/\s/g,'')!==''){if(self._fireEvent("onBeforeUnload")===false){if(fn){fn(false);}
|
||||
return self;}
|
||||
isUnloading=true;try{if(api){api.fp_close();self._fireEvent("onUnload");}}catch(error){}
|
||||
var clean=function(){api=null;wrapper.innerHTML=html;isUnloading=false;if(fn){fn(true);}};setTimeout(clean,50);}
|
||||
isUnloading=true;try{if(api){if(api.fp_isFullscreen()){api.fp_toggleFullscreen();}
|
||||
api.fp_close();self._fireEvent("onUnload");}}catch(error){}
|
||||
var clean=function(){api=null;wrapper.innerHTML=html;isUnloading=false;if(fn){fn(true);}};if(/WebKit/i.test(navigator.userAgent)&&!/Chrome/i.test(navigator.userAgent)){setTimeout(clean,0);}else{clean();}}
|
||||
else if(fn){fn(false);}
|
||||
return self;},getClip:function(index){if(index===undefined){index=activeIndex;}
|
||||
return playlist[index];},getCommonClip:function(){return commonClip;},getPlaylist:function(){return playlist;},getPlugin:function(name){var plugin=plugins[name];if(!plugin&&self.isLoaded()){var json=self._api().fp_getPlugin(name);if(json){plugin=new Plugin(name,json,self);plugins[name]=plugin;}}
|
||||
return plugin;},getScreen:function(){return self.getPlugin("screen");},getControls:function(){return self.getPlugin("controls")._fireEvent("onUpdate");},getLogo:function(){try{return self.getPlugin("logo")._fireEvent("onUpdate");}catch(ignored){}},getPlay:function(){return self.getPlugin("play")._fireEvent("onUpdate");},getConfig:function(copy){return copy?clone(conf):conf;},getFlashParams:function(){return params;},loadPlugin:function(name,url,props,fn){if(typeof props=='function'){fn=props;props={};}
|
||||
var fnId=fn?makeId():"_";self._api().fp_loadPlugin(name,url,props,fnId);var arg={};arg[fnId]=fn;var p=new Plugin(name,null,self,arg);plugins[name]=p;return p;},getState:function(){return self.isLoaded()?api.fp_getState():-1;},play:function(clip,instream){var p=function(){if(clip!==undefined){self._api().fp_play(clip,instream);}else{self._api().fp_play();}};if(self.isLoaded()){p();}else if(isUnloading){setTimeout(function(){self.play(clip,instream);},50);}else{self.load(function(){p();});}
|
||||
return self;},getVersion:function(){var js="flowplayer.js 3.2.6";if(self.isLoaded()){var ver=api.fp_getVersion();ver.push(js);return ver;}
|
||||
return self;},getVersion:function(){var js="flowplayer.js 3.2.11";if(self.isLoaded()){var ver=api.fp_getVersion();ver.push(js);return ver;}
|
||||
return js;},_api:function(){if(!self.isLoaded()){throw"Flowplayer "+self.id()+" not loaded when calling an API method";}
|
||||
return api;},setClip:function(clip){self.setPlaylist([clip]);return self;},getIndex:function(){return playerIndex;},_swfHeight:function(){return api.clientHeight;}});each(("Click*,Load*,Unload*,Keypress*,Volume*,Mute*,Unmute*,PlaylistReplace,ClipAdd,Fullscreen*,FullscreenExit,Error,MouseOver,MouseOut").split(","),function(){var name="on"+this;if(name.indexOf("*")!=-1){name=name.slice(0,name.length-1);var name2="onBefore"+name.slice(2);self[name2]=function(fn){bind(listeners,name2,fn);return self;};}
|
||||
return api;},setClip:function(clip){each(clip,function(key,val){if(typeof val=='function'){bind(listeners,key,val);delete clip[key];}else if(key=='onCuepoint'){$f(wrapper).getCommonClip().onCuepoint(clip[key][0],clip[key][1]);}});self.setPlaylist([clip]);return self;},getIndex:function(){return playerIndex;},bufferAnimate:function(enable){api.fp_bufferAnimate(enable===undefined||enable);return self;},_swfHeight:function(){return api.clientHeight;}});each(("Click*,Load*,Unload*,Keypress*,Volume*,Mute*,Unmute*,PlaylistReplace,ClipAdd,Fullscreen*,FullscreenExit,Error,MouseOver,MouseOut").split(","),function(){var name="on"+this;if(name.indexOf("*")!=-1){name=name.slice(0,name.length-1);var name2="onBefore"+name.slice(2);self[name2]=function(fn){bind(listeners,name2,fn);return self;};}
|
||||
self[name]=function(fn){bind(listeners,name,fn);return self;};});each(("pause,resume,mute,unmute,stop,toggle,seek,getStatus,getVolume,setVolume,getTime,isPaused,isPlaying,startBuffering,stopBuffering,isFullscreen,toggleFullscreen,reset,close,setPlaylist,addClip,playFeed,setKeyboardShortcutsEnabled,isKeyboardShortcutsEnabled").split(","),function(){var name=this;self[name]=function(a1,a2){if(!self.isLoaded()){return self;}
|
||||
var ret=null;if(a1!==undefined&&a2!==undefined){ret=api["fp_"+name](a1,a2);}else{ret=(a1===undefined)?api["fp_"+name]():api["fp_"+name](a1);}
|
||||
return ret==='undefined'||ret===undefined?self:ret;};});self._fireEvent=function(a){if(typeof a=='string'){a=[a];}
|
||||
|
@ -77,28 +76,28 @@ if(!clip||ret!==false){ret=commonClip._fireEvent(evt,arg1,arg2,clip);}}
|
|||
each(listeners[evt],function(){ret=this.call(self,arg0,arg1);if(this.cached){listeners[evt].splice(i,1);}
|
||||
if(ret===false){return false;}
|
||||
i++;});return ret;};function init(){if($f(wrapper)){$f(wrapper).getParent().innerHTML="";playerIndex=$f(wrapper).getIndex();players[playerIndex]=self;}else{players.push(self);playerIndex=players.length-1;}
|
||||
wrapperHeight=parseInt(wrapper.style.height,10)||wrapper.clientHeight;playerId=wrapper.id||"fp"+makeId();apiId=params.id||playerId+"_api";params.id=apiId;conf.playerId=playerId;if(typeof conf=='string'){conf={clip:{url:conf}};}
|
||||
if(typeof conf.clip=='string'){conf.clip={url:conf.clip};}
|
||||
conf.clip=conf.clip||{};if(wrapper.getAttribute("href",2)&&!conf.clip.url){conf.clip.url=wrapper.getAttribute("href",2);}
|
||||
wrapperHeight=parseInt(wrapper.style.height,10)||wrapper.clientHeight;playerId=wrapper.id||"fp"+makeId();apiId=params.id||playerId+"_api";params.id=apiId;html=wrapper.innerHTML;if(typeof conf=='string'){conf={clip:{url:conf}};}
|
||||
conf.playerId=playerId;conf.clip=conf.clip||{};if(wrapper.getAttribute("href",2)&&!conf.clip.url){conf.clip.url=wrapper.getAttribute("href",2);}
|
||||
commonClip=new Clip(conf.clip,-1,self);conf.playlist=conf.playlist||[conf.clip];var index=0;each(conf.playlist,function(){var clip=this;if(typeof clip=='object'&&clip.length){clip={url:""+clip};}
|
||||
each(conf.clip,function(key,val){if(val!==undefined&&clip[key]===undefined&&typeof val!='function'){clip[key]=val;}});conf.playlist[index]=clip;clip=new Clip(clip,index,self);playlist.push(clip);index++;});each(conf,function(key,val){if(typeof val=='function'){if(commonClip[key]){commonClip[key](val);}else{bind(listeners,key,val);}
|
||||
delete conf[key];}});each(conf.plugins,function(name,val){if(val){plugins[name]=new Plugin(name,val,self);}});if(!conf.plugins||conf.plugins.controls===undefined){plugins.controls=new Plugin("controls",null,self);}
|
||||
plugins.canvas=new Plugin("canvas",null,self);html=wrapper.innerHTML;function doClick(e){var hasiPadSupport=self.hasiPadSupport&&self.hasiPadSupport();if(/iPad|iPhone|iPod/i.test(navigator.userAgent)&&!/.flv$/i.test(playlist[0].url)&&!hasiPadSupport){return true;}
|
||||
plugins.canvas=new Plugin("canvas",null,self);html=wrapper.innerHTML;function doClick(e){if(/iPad|iPhone|iPod/i.test(navigator.userAgent)&&!/.flv$/i.test(playlist[0].url)&&!checkForIpadSupport()){return true;}
|
||||
if(!self.isLoaded()&&self._fireEvent("onBeforeClick")!==false){self.load();}
|
||||
return stopEvent(e);}
|
||||
function installPlayer(){if(html.replace(/\s/g,'')!==''){if(wrapper.addEventListener){wrapper.addEventListener("click",doClick,false);}else if(wrapper.attachEvent){wrapper.attachEvent("onclick",doClick);}}else{if(wrapper.addEventListener){wrapper.addEventListener("click",stopEvent,false);}
|
||||
function checkForIpadSupport(){return self.hasiPadSupport&&self.hasiPadSupport();}
|
||||
function installPlayer(){if(html.replace(/\s/g,'')!==''){if(wrapper.addEventListener){wrapper.addEventListener("click",doClick,false);}else if(wrapper.attachEvent){wrapper.attachEvent("onclick",doClick);}}else{if(wrapper.addEventListener&&!checkForIpadSupport()){wrapper.addEventListener("click",stopEvent,false);}
|
||||
self.load();}}
|
||||
setTimeout(installPlayer,0);}
|
||||
if(typeof wrapper=='string'){var node=el(wrapper);if(!node){throw"Flowplayer cannot access element: "+wrapper;}
|
||||
wrapper=node;init();}else{init();}}
|
||||
var players=[];function Iterator(arr){this.length=arr.length;this.each=function(fn){each(arr,fn);};this.size=function(){return arr.length;};}
|
||||
var players=[];function Iterator(arr){this.length=arr.length;this.each=function(fn){each(arr,fn);};this.size=function(){return arr.length;};var self=this;for(name in Player.prototype){self[name]=function(){var args=arguments;self.each(function(){this[name].apply(this,args);});};}}
|
||||
window.flowplayer=window.$f=function(){var instance=null;var arg=arguments[0];if(!arguments.length){each(players,function(){if(this.isLoaded()){instance=this;return false;}});return instance||players[0];}
|
||||
if(arguments.length==1){if(typeof arg=='number'){return players[arg];}else{if(arg=='*'){return new Iterator(players);}
|
||||
each(players,function(){if(this.id()==arg.id||this.id()==arg||this.getParent()==arg){instance=this;return false;}});return instance;}}
|
||||
if(arguments.length>1){var params=arguments[1],conf=(arguments.length==3)?arguments[2]:{};if(typeof params=='string'){params={src:params};}
|
||||
params=extend({bgcolor:"#000000",version:[9,0],expressInstall:"http://static.flowplayer.org/swf/expressinstall.swf",cachebusting:false},params);if(typeof arg=='string'){if(arg.indexOf(".")!=-1){var instances=[];each(select(arg),function(){instances.push(new Player(this,clone(params),clone(conf)));});return new Iterator(instances);}else{var node=el(arg);return new Player(node!==null?node:arg,params,conf);}}else if(arg){return new Player(arg,params,conf);}}
|
||||
params=extend({bgcolor:"#000000",version:[10,1],expressInstall:"http://releases.flowplayer.org/swf/expressinstall.swf",cachebusting:false},params);if(typeof arg=='string'){if(arg.indexOf(".")!=-1){var instances=[];each(select(arg),function(){instances.push(new Player(this,clone(params),clone(conf)));});return new Iterator(instances);}else{var node=el(arg);return new Player(node!==null?node:clone(arg),clone(params),clone(conf));}}else if(arg){return new Player(arg,clone(params),clone(conf));}}
|
||||
return null;};extend(window.$f,{fireEvent:function(){var a=[].slice.call(arguments);var p=$f(a[0]);return p?p._fireEvent(a.slice(1)):null;},addPlugin:function(name,fn){Player.prototype[name]=fn;return $f;},each:each,extend:extend});if(typeof jQuery=='function'){jQuery.fn.flowplayer=function(params,conf){if(!arguments.length||typeof arguments[0]=='number'){var arr=[];this.each(function(){var p=$f(this);if(p){arr.push(p);}});return arguments.length?arr[arguments[0]]:new Iterator(arr);}
|
||||
return this.each(function(){$f(this,clone(params),conf?clone(conf):{});});};}})();(function(){var IE=document.all,URL='http://www.adobe.com/go/getflashplayer',JQUERY=typeof jQuery=='function',RE=/(\d+)[^\d]+(\d+)[^\d]*(\d*)/,GLOBAL_OPTS={width:'100%',height:'100%',id:"_"+(""+Math.random()).slice(9),allowfullscreen:true,allowscriptaccess:'always',quality:'high',version:[3,0],onFail:null,expressInstall:null,w3c:false,cachebusting:false};if(window.attachEvent){window.attachEvent("onbeforeunload",function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};});}
|
||||
return this.each(function(){$f(this,clone(params),conf?clone(conf):{});});};}})();(function(){var IE=document.all,URL='http://get.adobe.com/flashplayer',JQUERY=typeof jQuery=='function',RE=/(\d+)[^\d]+(\d+)[^\d]*(\d*)/,GLOBAL_OPTS={width:'100%',height:'100%',id:"_"+(""+Math.random()).slice(9),allowfullscreen:true,allowscriptaccess:'always',quality:'high',version:[3,0],onFail:null,expressInstall:null,w3c:false,cachebusting:false};if(window.attachEvent){window.attachEvent("onbeforeunload",function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};});}
|
||||
function extend(to,from){if(from){for(var key in from){if(from.hasOwnProperty(key)){to[key]=from[key];}}}
|
||||
return to;}
|
||||
function map(arr,func){var newArr=[];for(var i in arr){if(arr.hasOwnProperty(i)){newArr[i]=func(arr[i]);}}
|
||||
|
@ -107,29 +106,27 @@ window.flashembed=function(root,opts,conf){if(typeof root=='string'){root=docume
|
|||
if(!root){return;}
|
||||
if(typeof opts=='string'){opts={src:opts};}
|
||||
return new Flash(root,extend(extend({},GLOBAL_OPTS),opts),conf);};var f=extend(window.flashembed,{conf:GLOBAL_OPTS,getVersion:function(){var fo,ver;try{ver=navigator.plugins["Shockwave Flash"].description.slice(16);}catch(e){try{fo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");ver=fo&&fo.GetVariable("$version");}catch(err){try{fo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");ver=fo&&fo.GetVariable("$version");}catch(err2){}}}
|
||||
ver=RE.exec(ver);return ver?[ver[1],ver[3]]:[0,0];},asString:function(obj){if(obj===null||obj===undefined){return null;}
|
||||
ver=RE.exec(ver);return ver?[1*ver[1],1*ver[(ver[1]*1>9?2:3)]*1]:[0,0];},asString:function(obj){if(obj===null||obj===undefined){return null;}
|
||||
var type=typeof obj;if(type=='object'&&obj.push){type='array';}
|
||||
switch(type){case'string':return string2JsonString(obj);case'array':return'['+map(obj,function(el){return f.asString(el);}).join(',')+']';case'function':return'"function()"';case'object':var str=[];for(var prop in obj){if(obj.hasOwnProperty(prop)){str.push('"'+prop+'":'+f.asString(obj[prop]));}}
|
||||
switch(type){case'string':obj=obj.replace(new RegExp('(["\\\\])','g'),'\\$1');obj=obj.replace(/^\s?(\d+\.?\d*)%/,"$1pct")
|
||||
return'"'+obj+'"';case'array':return'['+map(obj,function(el){return f.asString(el);}).join(',')+']';case'function':return'"function()"';case'object':var str=[];for(var prop in obj){if(obj.hasOwnProperty(prop)){str.push('"'+prop+'":'+f.asString(obj[prop]));}}
|
||||
return'{'+str.join(',')+'}';}
|
||||
return String(obj).replace(/\s/g," ").replace(/\'/g,"\"");},getHTML:function(opts,conf){opts=extend({},opts);var html='<object width="'+opts.width+'" height="'+opts.height+'" id="'+opts.id+'" name="'+opts.id+'"';if(opts.cachebusting){opts.src+=((opts.src.indexOf("?")!=-1?"&":"?")+Math.random());}
|
||||
if(opts.w3c||!IE){html+=' data="'+opts.src+'" type="application/x-shockwave-flash"';}else{html+=' classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';}
|
||||
html+='>';if(opts.w3c||IE){html+='<param name="movie" value="'+opts.src+'" />';}
|
||||
opts.width=opts.height=opts.id=opts.w3c=opts.src=null;opts.onFail=opts.version=opts.expressInstall=null;for(var key in opts){if(opts[key]){html+='<param name="'+key+'" value="'+opts[key]+'" />';}}
|
||||
var vars="";if(conf){for(var k in conf){if(conf[k]){var val=conf[k];vars+=encodeURIComponent(k)+'='
|
||||
+encodeURIComponent(/function|object/.test(typeof val)?f.asString(val):val)
|
||||
+'&';}}
|
||||
vars=vars.slice(0,-1);html+='<param name="flashvars" value="'+vars+'" />';}
|
||||
html+="</object>";return html;},isSupported:function(ver){return VERSION[0]>ver[0]||VERSION[0]==ver[0]&&VERSION[1]>=ver[1];}});var VERSION=f.getVersion();function Flash(root,opts,conf){if(f.isSupported(opts.version)){root.innerHTML=f.getHTML(opts,conf);}else if(opts.expressInstall&&f.isSupported([6,65])){root.innerHTML=f.getHTML(extend(opts,{src:opts.expressInstall}),{MMredirectURL:location.href,MMplayerType:'PlugIn',MMdoctitle:document.title});}else{if(!root.innerHTML.replace(/\s/g,'')){root.innerHTML="<h2>Flash version "+opts.version+" or greater is required</h2>"+"<h3>"+
|
||||
var vars="";if(conf){for(var k in conf){if(conf[k]){var val=conf[k];vars+=k+'='+(/function|object/.test(typeof val)?f.asString(val):val)+'&';}}
|
||||
vars=vars.slice(0,-1);html+='<param name="flashvars" value=\''+vars+'\' />';}
|
||||
html+="</object>";return html;},isSupported:function(ver){return VERSION[0]>ver[0]||VERSION[0]==ver[0]&&VERSION[1]>=ver[1];}});var VERSION=f.getVersion();function Flash(root,opts,conf){if(f.isSupported(opts.version)){root.innerHTML=f.getHTML(opts,conf);}else if(opts.expressInstall&&f.isSupported([6,65])){root.innerHTML=f.getHTML(extend(opts,{src:opts.expressInstall}),{MMredirectURL:encodeURIComponent(location.href),MMplayerType:'PlugIn',MMdoctitle:document.title});}else{if(!root.innerHTML.replace(/\s/g,'')){root.innerHTML="<h2>Flash version "+opts.version+" or greater is required</h2>"+"<h3>"+
|
||||
(VERSION[0]>0?"Your version is "+VERSION:"You have no flash plugin installed")+"</h3>"+
|
||||
(root.tagName=='A'?"<p>Click here to download latest version</p>":"<p>Download latest version from <a href='"+URL+"'>here</a></p>");if(root.tagName=='A'){root.onclick=function(){location.href=URL;};}}
|
||||
(root.tagName=='A'?"<p>Click here to download latest version</p>":"<p>Download latest version from <a href='"+URL+"'>here</a></p>");if(root.tagName=='A'||root.tagName=="DIV"){root.onclick=function(){location.href=URL;};}}
|
||||
if(opts.onFail){var ret=opts.onFail.call(this);if(typeof ret=='string'){root.innerHTML=ret;}}}
|
||||
if(IE){window[opts.id]=document.getElementById(opts.id);}
|
||||
extend(this,{getRoot:function(){return root;},getOptions:function(){return opts;},getConf:function(){return conf;},getApi:function(){return root.firstChild;}});}
|
||||
var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'},rep;function string2JsonString(string){escapable.lastIndex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==='string'?c:'\\u'+('0000'+a.charCodeAt(0).toString(16)).slice(-4);})+'"':'"'+string+'"';}
|
||||
if(JQUERY){jQuery.tools=jQuery.tools||{version:'3.2.6'};jQuery.tools.flashembed={conf:GLOBAL_OPTS};jQuery.fn.flashembed=function(opts,conf){return this.each(function(){jQuery(this).data("flashembed",flashembed(this,opts,conf));});};}})();$f.addPlugin("ipad",function(options){var STATE_UNLOADED=-1;var STATE_LOADED=0;var STATE_UNSTARTED=1;var STATE_BUFFERING=2;var STATE_PLAYING=3;var STATE_PAUSED=4;var STATE_ENDED=5;var self=this;var currentVolume=1;var onStartFired=false;var stopping=false;var playAfterSeek=false;var activeIndex=0;var activePlaylist=[];var clipDefaults={accelerated:false,autoBuffering:false,autoPlay:true,baseUrl:null,bufferLength:3,connectionProvider:null,cuepointMultiplier:1000,cuepoints:[],controls:{},duration:0,extension:'',fadeInSpeed:1000,fadeOutSpeed:1000,image:false,linkUrl:null,linkWindow:'_self',live:false,metaData:{},originalUrl:null,position:0,playlist:[],provider:'http',scaling:'scale',seekableOnBegin:false,start:0,url:null,urlResolvers:[]};var currentState=STATE_UNLOADED;var previousState=STATE_UNLOADED;var isiDevice=/iPad|iPhone|iPod/i.test(navigator.userAgent);var video=null;function extend(to,from,includeFuncs){if(from){for(key in from){if(key){if(from[key]&&typeof from[key]=="function"&&!includeFuncs)
|
||||
continue;if(from[key]&&typeof from[key]=="object"&&from[key].length==undefined){var cp={};extend(cp,from[key]);to[key]=cp;}else{to[key]=from[key];}}}}
|
||||
if(JQUERY){jQuery.tools=jQuery.tools||{version:'3.2.11'};jQuery.tools.flashembed={conf:GLOBAL_OPTS};jQuery.fn.flashembed=function(opts,conf){return this.each(function(){$(this).data("flashembed",flashembed(this,opts,conf));});};}})();$f.addPlugin("ipad",function(options){var STATE_UNLOADED=-1;var STATE_LOADED=0;var STATE_UNSTARTED=1;var STATE_BUFFERING=2;var STATE_PLAYING=3;var STATE_PAUSED=4;var STATE_ENDED=5;var self=this;var currentVolume=1;var onStartFired=false;var stopping=false;var playAfterSeek=false;var activeIndex=0;var activePlaylist=[];var lastSecondTimer;var endTime=null;var startTime=0;var clipDefaults={accelerated:false,autoBuffering:false,autoPlay:true,baseUrl:null,bufferLength:3,connectionProvider:null,cuepointMultiplier:1000,cuepoints:[],controls:{},duration:0,extension:'',fadeInSpeed:1000,fadeOutSpeed:1000,image:false,linkUrl:null,linkWindow:'_self',live:false,metaData:{},originalUrl:null,position:0,playlist:[],provider:'http',scaling:'scale',seekableOnBegin:false,start:0,url:null,urlResolvers:[]};var currentState=STATE_UNLOADED;var previousState=STATE_UNLOADED;var isiDevice=/iPad|iPhone|iPod/i.test(navigator.userAgent);var video=null;function extend(to,from,includeFuncs){if(from){for(key in from){if(key){if(from[key]&&typeof from[key]=="function"&&!includeFuncs)
|
||||
continue;if(from[key]&&typeof from[key]=="object"&&from[key].length===undefined){var cp={};extend(cp,from[key]);to[key]=cp;}else{to[key]=from[key];}}}}
|
||||
return to;}
|
||||
var opts={simulateiDevice:false,controlsSizeRatio:1.5,controls:true,debug:false,validExtensions:/mov|m4v|mp4|avi/gi};extend(opts,options);function log(){if(opts.debug){if(isiDevice){var str=[].splice.call(arguments,0).join(', ');console.log.apply(console,[str]);}else{console.log.apply(console,arguments);}}}
|
||||
var opts={simulateiDevice:false,controlsSizeRatio:1.5,controls:true,debug:false,validExtensions:'mov|m4v|mp4|avi|mp3|m4a|aac|m3u8|m3u|pls',posterExtensions:'png|jpg'};extend(opts,options);var validExtensions=new RegExp('^\.('+opts.validExtensions+')$','i');var posterExtensions=new RegExp('^\.('+opts.posterExtensions+')$','i');function log(){if(opts.debug){if(isiDevice){var str=[].splice.call(arguments,0).join(', ');console.log.apply(console,[str]);}else{console.log.apply(console,arguments);}}}
|
||||
function stateDescription(state){switch(state){case-1:return"UNLOADED";case 0:return"LOADED";case 1:return"UNSTARTED";case 2:return"BUFFERING";case 3:return"PLAYING";case 4:return"PAUSED";case 5:return"ENDED";}
|
||||
return"UNKOWN";}
|
||||
function actionAllowed(eventName){var ret=$f.fireEvent(self.id(),"onBefore"+eventName,activeIndex);return ret!==false;}
|
||||
|
@ -142,25 +139,29 @@ var _playTimeTracker=null;function startPlayTimeTracker(){if(_playTimeTracker)
|
|||
return;console.log("starting tracker");_playTimeTracker=setInterval(onTimeTracked,100);onTimeTracked();}
|
||||
function stopPlayTimeTracker(){clearInterval(_playTimeTracker);_playTimeTracker=null;}
|
||||
function onTimeTracked(){var currentTime=Math.floor(video.fp_getTime()*10)*100;var duration=Math.floor(video.duration*10)*100;var fireTime=(new Date()).time;function fireCuePointsIfNeeded(time,cues){time=time>=0?time:duration-Math.abs(time);for(var i=0;i<cues.length;i++){if(cues[i].lastTimeFired>fireTime){cues[i].lastTimeFired=-1;}else if(cues[i].lastTimeFired+500>fireTime){continue;}else{if(time==currentTime||(currentTime-500<time&¤tTime>time)){cues[i].lastTimeFired=fireTime;$f.fireEvent(self.id(),'onCuepoint',activeIndex,cues[i].fnId,cues[i].parameters);}}}}
|
||||
$f.each(self.getCommonClip()._cuepoints,fireCuePointsIfNeeded);$f.each(activePlaylist[activeIndex]._cuepoints,fireCuePointsIfNeeded);}
|
||||
$f.each(self.getCommonClip().cuepoints,fireCuePointsIfNeeded);$f.each(activePlaylist[activeIndex].cuepoints,fireCuePointsIfNeeded);}
|
||||
function replay(){resetState();playAfterSeek=true;video.fp_seek(0);}
|
||||
function scaleVideo(clip){}
|
||||
function addAPI(){function fixClip(clip){var extendedClip={};extend(extendedClip,clipDefaults);extend(extendedClip,self.getCommonClip());extend(extendedClip,clip);if(extendedClip.ipadUrl)
|
||||
function addAPI(){console.log(video);function fixClip(clip){var extendedClip={};extend(extendedClip,clipDefaults);extend(extendedClip,self.getCommonClip());extend(extendedClip,clip);if(extendedClip.ipadUrl)
|
||||
url=decodeURIComponent(extendedClip.ipadUrl);else if(extendedClip.url)
|
||||
url=extendedClip.url;if(url&&url.indexOf('://')==-1&&extendedClip.baseUrl)
|
||||
url=extendedClip.baseUrl+'/'+url;extendedClip.originalUrl=extendedClip.url;extendedClip.completeUrl=url;extendedClip.extension=extendedClip.completeUrl.substr(extendedClip.completeUrl.lastIndexOf('.'));extendedClip.type='video';delete extendedClip.index;log("fixed clip",extendedClip);return extendedClip;}
|
||||
video.fp_play=function(clip,inStream,forcePlay){var url=null;var autoBuffering=true;var autoPlay=true;log("Calling play() "+clip,clip);if(inStream){log("ERROR: inStream clips not yet supported");return;}
|
||||
url=extendedClip.url;if(url&&url.indexOf('://')==-1&&extendedClip.ipadBaseUrl)
|
||||
url=extendedClip.ipadBaseUrl+'/'+url;else if(url&&url.indexOf('://')==-1&&extendedClip.baseUrl)
|
||||
url=extendedClip.baseUrl+'/'+url;extendedClip.originalUrl=extendedClip.url;extendedClip.completeUrl=url;extendedClip.extension=extendedClip.completeUrl.substr(extendedClip.completeUrl.lastIndexOf('.'));var queryIndex=extendedClip.extension.indexOf('?');if(queryIndex>-1)
|
||||
extendedClip.extension=extendedClip.extension.substr(0,queryIndex);extendedClip.type='video';delete extendedClip.index;log("fixed clip",extendedClip);return extendedClip;}
|
||||
video.fp_play=function(clip,inStream,forcePlay,poster){var url=null;var autoBuffering=true;var autoPlay=true;log("Calling play() "+clip,clip);if(inStream){log("ERROR: inStream clips not yet supported");return;}
|
||||
if(clip!==undefined){if(typeof clip=="number"){if(activeIndex>=activePlaylist.length)
|
||||
return;activeIndex=clip;clip=activePlaylist[activeIndex];}else{if(typeof clip=="string"){clip={url:clip};}
|
||||
video.fp_setPlaylist(clip.length!==undefined?clip:[clip]);}
|
||||
if(!opts.validExtensions.test(activePlaylist[activeIndex].extension)){if(activePlaylist.length>1&&activeIndex<(activePlaylist.length-1)){log("Not last clip in the playlist, moving to next one");video.fp_play(++activeIndex,false,true);}
|
||||
if(!validExtensions.test(activePlaylist[activeIndex].extension)){if(activePlaylist.length>1&&activeIndex<activePlaylist.length-1){var poster;if(posterExtensions.test(activePlaylist[activeIndex].extension)){poster=activePlaylist[activeIndex].url;console.log("Poster image available with url "+poster);}
|
||||
++activeIndex;console.log("Not last clip in the playlist, moving to next one");video.fp_play(activeIndex,false,true,poster);}
|
||||
return;}
|
||||
clip=activePlaylist[activeIndex];url=clip.completeUrl;if(clip.autoBuffering!==undefined&&clip.autoBuffering===false)
|
||||
autoBuffering=false;if(clip.autoPlay===undefined||clip.autoPlay===true||forcePlay===true){autoBuffering=true;autoPlay=true;}else{autoPlay=false;}}else{log("clip was not given, simply calling video.play, if not already buffering");if(currentState!=STATE_BUFFERING)
|
||||
video.play();return;}
|
||||
autoBuffering=false;if(clip.autoPlay===undefined||clip.autoPlay===true||forcePlay===true){autoBuffering=true;autoPlay=true;}else{autoPlay=false;}}else{log("clip was not given, simply calling video.play, if not already buffering");if(currentState!=STATE_BUFFERING){video.play();}
|
||||
return;}
|
||||
log("about to play "+url,autoBuffering,autoPlay);resetState();if(url){log("Changing SRC attribute"+url);video.setAttribute('src',url);}
|
||||
if(autoBuffering){if(!actionAllowed('Begin'))
|
||||
return false;$f.fireEvent(self.id(),'onBegin',activeIndex);log("calling video.load()");video.load();}
|
||||
return false;if(poster){autoPlay=clip.autoPlay;video.setAttribute('poster',poster);video.setAttribute('preload',"none");}
|
||||
$f.fireEvent(self.id(),'onBegin',activeIndex);log("calling video.load()");video.load();}
|
||||
if(autoPlay){log("calling video.play()");video.play();}}
|
||||
video.fp_pause=function(){log("pause called");if(!actionAllowed('Pause'))
|
||||
return false;video.pause();};video.fp_resume=function(){log("resume called");if(!actionAllowed('Resume'))
|
||||
|
@ -182,26 +183,30 @@ video.fp_isFullscreen=function(){return false;}
|
|||
video.fp_toggleFullscreen=function(){if(video.fp_isFullscreen())
|
||||
video.webkitExitFullscreen();else
|
||||
video.webkitEnterFullscreen();}
|
||||
video.fp_addCuepoints=function(points,index,fnId){var clip=index==-1?self.getCommonClip():activePlaylist[index];clip._cuepoints=clip._cuepoints||{};points=points instanceof Array?points:[points];for(var i=0;i<points.length;i++){var time=typeof points[i]=="object"?(points[i]['time']||null):points[i];if(time==null)continue;time=Math.floor(time/100)*100;var parameters=time;if(typeof points[i]=="object"){parameters=extend({},points[i],false);if(parameters['time']!=undefined)delete parameters['time'];if(parameters['parameters']!=undefined){extend(parameters,parameters['parameters'],false);delete parameters['parameters'];}}
|
||||
clip._cuepoints[time]=clip._cuepoints[time]||[];clip._cuepoints[time].push({fnId:fnId,lastTimeFired:-1,parameters:parameters});}}
|
||||
video.fp_addCuepoints=function(points,index,fnId){var clip=index==-1?self.getCommonClip():activePlaylist[index];clip.cuepoints=clip.cuepoints||{};points=points instanceof Array?points:[points];for(var i=0;i<points.length;i++){var time=typeof points[i]=="object"?(points[i]['time']||null):points[i];if(time==null)continue;time=Math.floor(time/100)*100;var parameters=time;if(typeof points[i]=="object"){parameters=extend({},points[i],false);if(parameters['time']===undefined)delete parameters['time'];if(parameters['parameters']!==undefined){extend(parameters,parameters['parameters'],false);delete parameters['parameters'];}}
|
||||
clip.cuepoints[time]=clip.cuepoints[time]||[];clip.cuepoints[time].push({fnId:fnId,lastTimeFired:-1,parameters:parameters});}}
|
||||
$f.each(("toggleFullscreen,stopBuffering,reset,playFeed,setKeyboardShortcutsEnabled,isKeyboardShortcutsEnabled,css,animate,showPlugin,hidePlugin,togglePlugin,fadeTo,invoke,loadPlugin").split(","),function(){var name=this;video["fp_"+name]=function(){log("ERROR: unsupported API on iDevices "+name);return false;};});}
|
||||
function addListeners(){var events=['abort','canplay','canplaythrough','durationchange','emptied','ended','error','loadeddata','loadedmetadata','loadstart','pause','play','playing','progress','ratechange','seeked','seeking','stalled','suspend','volumechange','waiting'];var eventsLogger=function(e){log("Got event "+e.type,e);}
|
||||
for(var i=0;i<events.length;i++)
|
||||
video.addEventListener(events[i],eventsLogger,false);var onBufferEmpty=function(e){log("got onBufferEmpty event "+e.type)
|
||||
setState(STATE_BUFFERING);$f.fireEvent(self.id(),'onBufferEmpty',activeIndex);};video.addEventListener('emptied',onBufferEmpty,false);video.addEventListener('waiting',onBufferEmpty,false);var onBufferFull=function(e){if(previousState==STATE_UNSTARTED||previousState==STATE_BUFFERING){}else{log("Restoring old state "+stateDescription(previousState));setState(previousState);}
|
||||
$f.fireEvent(self.id(),'onBufferFull',activeIndex);};video.addEventListener('canplay',onBufferFull,false);video.addEventListener('canplaythrough',onBufferFull,false);var onMetaData=function(e){video.fp_updateClip({duration:video.duration,metaData:{duration:video.duration}},activeIndex);activePlaylist[activeIndex].duration=video.duration;$f.fireEvent(self.id(),'onMetaData',activeIndex,activePlaylist[activeIndex]);};video.addEventListener('loadedmetadata',onMetaData,false);video.addEventListener('durationchange',onMetaData,false);var onStart=function(e){if(currentState==STATE_PAUSED){if(!actionAllowed('Resume')){log("Resume disallowed, pausing");video.fp_pause();return stopEvent(e);}
|
||||
$f.fireEvent(self.id(),'onBufferFull',activeIndex);};video.addEventListener('canplay',onBufferFull,false);video.addEventListener('canplaythrough',onBufferFull,false);var onMetaData=function(e){var clipDuration;startTime=activePlaylist[activeIndex].start;if(activePlaylist[activeIndex].duration>0){clipDuration=activePlaylist[activeIndex].duration;endTime=clipDuration+startTime;}else{clipDuration=video.duration;endTime=null;}
|
||||
video.fp_updateClip({duration:clipDuration,metaData:{duration:video.duration}},activeIndex);activePlaylist[activeIndex].duration=video.duration;activePlaylist[activeIndex].metaData={duration:video.duration};$f.fireEvent(self.id(),'onMetaData',activeIndex,activePlaylist[activeIndex]);};video.addEventListener('loadedmetadata',onMetaData,false);video.addEventListener('durationchange',onMetaData,false);var onTimeUpdate=function(e){if(endTime&&video.currentTime>endTime){video.fp_seek(startTime);resetState();return stopEvent(e);}};video.addEventListener("timeupdate",onTimeUpdate,false);var onStart=function(e){if(currentState==STATE_PAUSED){if(!actionAllowed('Resume')){log("Resume disallowed, pausing");video.fp_pause();return stopEvent(e);}
|
||||
$f.fireEvent(self.id(),'onResume',activeIndex);}
|
||||
setState(STATE_PLAYING);if(!onStartFired){onStartFired=true;$f.fireEvent(self.id(),'onStart',activeIndex);}};video.addEventListener('playing',onStart,false);var onFinish=function(e){if(!actionAllowed('Finish')){if(activePlaylist.length==1){log("Active playlist only has one clip, onBeforeFinish returned false. Replaying");replay();}else if(activeIndex!=(activePlaylist.length-1)){log("Not the last clip in the playlist, but onBeforeFinish returned false. Returning to the beginning of current clip");video.fp_seek(0);}else{log("Last clip in playlist, but onBeforeFinish returned false, start again from the beginning");video.fp_play(0);}
|
||||
setState(STATE_PLAYING);if(!onStartFired){onStartFired=true;$f.fireEvent(self.id(),'onStart',activeIndex);}};video.addEventListener('playing',onStart,false);var onPlay=function(e){startLastSecondTimer();}
|
||||
video.addEventListener('play',onPlay,false);var onFinish=function(e){if(!actionAllowed('Finish')){if(activePlaylist.length==1){log("Active playlist only has one clip, onBeforeFinish returned false. Replaying");replay();}else if(activeIndex!=(activePlaylist.length-1)){log("Not the last clip in the playlist, but onBeforeFinish returned false. Returning to the beginning of current clip");video.fp_seek(0);}else{log("Last clip in playlist, but onBeforeFinish returned false, start again from the beginning");video.fp_play(0);}
|
||||
return stopEvent(e);}
|
||||
setState(STATE_ENDED);$f.fireEvent(self.id(),'onFinish',activeIndex);if(activePlaylist.length>1&&activeIndex<(activePlaylist.length-1)){log("Not last clip in the playlist, moving to next one");video.fp_play(++activeIndex,false,true);}};video.addEventListener('ended',onFinish,false);var onError=function(e){setState(STATE_LOADED,true);$f.fireEvent(self.id(),'onError',activeIndex,201);if(opts.onFail&&opts.onFail instanceof Function)
|
||||
opts.onFail.apply(self,[]);};video.addEventListener('error',onError,false);var onPause=function(e){log("got pause event from player"+self.id());if(stopping)
|
||||
return;if(currentState==STATE_BUFFERING&&previousState==STATE_UNSTARTED){log("forcing play");setTimeout(function(){video.play();},0);return;}
|
||||
if(!actionAllowed('Pause')){video.fp_resume();return stopEvent(e);}
|
||||
setState(STATE_PAUSED);$f.fireEvent(self.id(),'onPause',activeIndex);}
|
||||
stopLastSecondTimer();setState(STATE_PAUSED);$f.fireEvent(self.id(),'onPause',activeIndex);}
|
||||
video.addEventListener('pause',onPause,false);var onSeek=function(e){$f.fireEvent(self.id(),'onBeforeSeek',activeIndex);};video.addEventListener('seeking',onSeek,false);var onSeekDone=function(e){if(stopping){stopping=false;$f.fireEvent(self.id(),'onStop',activeIndex);}
|
||||
else
|
||||
$f.fireEvent(self.id(),'onSeek',activeIndex);log("seek done, currentState",stateDescription(currentState));if(playAfterSeek){playAfterSeek=false;video.fp_play();}else if(currentState!=STATE_PLAYING)
|
||||
video.fp_pause();};video.addEventListener('seeked',onSeekDone,false);var onVolumeChange=function(e){$f.fireEvent(self.id(),'onVolume',video.fp_getVolume());};video.addEventListener('volumechange',onVolumeChange,false);}
|
||||
function startLastSecondTimer(){lastSecondTimer=setInterval(function(){if(video.fp_getTime()>=video.duration-1){$f.fireEvent(self.id(),'onLastSecond',activeIndex);stopLastSecondTimer();}},100);}
|
||||
function stopLastSecondTimer(){clearInterval(lastSecondTimer);}
|
||||
function onPlayerLoaded(){video.fp_play(0);}
|
||||
function installControlbar(){}
|
||||
if(isiDevice||opts.simulateiDevice){if(!window.flashembed.__replaced){var realFlashembed=window.flashembed;window.flashembed=function(root,opts,conf){if(typeof root=='string'){root=document.getElementById(root.replace("#",""));}
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -2,6 +2,6 @@ name = "Akismet"
|
|||
description = "Filter comments through the Akismet web service to detect and eliminate spam (http://akismet.com). You'll need a WordPress.com API key to use it."
|
||||
version = 1
|
||||
author_name = "Gallery Team"
|
||||
author_url = "http://codex.gallery2.org/Gallery:Team"
|
||||
info_url = "http://codex.gallery2.org/Gallery3:Modules:akismet"
|
||||
discuss_url = "http://gallery.menalto.com/forum_module_akismet"
|
||||
author_url = "http://codex.galleryproject.org/Gallery:Team"
|
||||
info_url = "http://codex.galleryproject.org/Gallery3:Modules:akismet"
|
||||
discuss_url = "http://galleryproject.org/forum_module_akismet"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
@ -48,8 +48,7 @@ class comment_installer {
|
|||
|
||||
module::set_var("comment", "spam_caught", 0);
|
||||
module::set_var("comment", "access_permissions", "everybody");
|
||||
module::set_var("comment", "rss_visible", "both");
|
||||
module::set_version("comment", 6);
|
||||
module::set_var("comment", "rss_visible", "all");
|
||||
}
|
||||
|
||||
static function upgrade($version) {
|
||||
|
@ -91,6 +90,15 @@ class comment_installer {
|
|||
module::clear_var("comment", "rss_available");
|
||||
module::set_version("comment", $version = 6);
|
||||
}
|
||||
|
||||
// In version 6 we accidentally left the install value of "rss_visible" to "both" when it
|
||||
// should have been "all"
|
||||
if ($version == 6) {
|
||||
if (module::get_var("comment", "rss_visible") == "both") {
|
||||
module::set_var("comment", "rss_visible", "all");
|
||||
}
|
||||
module::set_version("comment", $version = 7);
|
||||
}
|
||||
}
|
||||
|
||||
static function uninstall() {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
@ -36,7 +36,7 @@ class comment_rss_Core {
|
|||
}
|
||||
|
||||
if ($item && comment_rss::feed_visible("per_item")) {
|
||||
$feeds["comment/item/$item->id"] =
|
||||
$feeds["comment/per_item/$item->id"] =
|
||||
t("Comments on %title", array("title" => html::purify($item->title)));
|
||||
}
|
||||
return $feeds;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
name = "Comments"
|
||||
description = "Allows users and guests to leave comments on photos and albums."
|
||||
version = 6
|
||||
version = 7
|
||||
author_name = "Gallery Team"
|
||||
author_url = "http://codex.gallery2.org/Gallery:Team"
|
||||
info_url = "http://codex.gallery2.org/Gallery3:Modules:comment"
|
||||
discuss_url = "http://gallery.menalto.com/forum_module_comment"
|
||||
author_url = "http://codex.galleryproject.org/Gallery:Team"
|
||||
info_url = "http://codex.galleryproject.org/Gallery3:Modules:comment"
|
||||
discuss_url = "http://galleryproject.org/forum_module_comment"
|
||||
|
|
|
@ -1,29 +0,0 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 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.
|
||||
*/
|
||||
/**
|
||||
* PHP Mail Configuration parameters
|
||||
* from => email address that appears as the from address
|
||||
* line-length => word wrap length (PHP documentations suggest no larger tha 70 characters
|
||||
* reply-to => what goes into the reply to header
|
||||
*/
|
||||
$config["ranges"] = array(
|
||||
"Digibug1" => array("low" => "65.249.152.0", "high" => "65.249.159.255"),
|
||||
"Digibug2" => array("low" => "208.122.55.0", "high" => "208.122.55.255")
|
||||
);
|
|
@ -1,27 +0,0 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 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 Admin_Digibug_Controller extends Admin_Controller {
|
||||
public function index() {
|
||||
$v = new Admin_View("admin.html");
|
||||
$v->page_title = t("Digibug");
|
||||
$v->content = new View("admin_digibug.html");
|
||||
print $v;
|
||||
}
|
||||
}
|
|
@ -1,121 +0,0 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 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 Digibug_Controller extends Controller {
|
||||
const ALLOW_PRIVATE_GALLERY = true;
|
||||
|
||||
public function print_photo($id) {
|
||||
access::verify_csrf();
|
||||
$item = ORM::factory("item", $id);
|
||||
access::required("view", $item);
|
||||
|
||||
if (access::group_can(identity::everybody(), "view_full", $item)) {
|
||||
$full_url = $item->file_url(true);
|
||||
$thumb_url = $item->thumb_url(true);
|
||||
} else {
|
||||
$proxy = ORM::factory("digibug_proxy");
|
||||
$proxy->uuid = random::hash();
|
||||
$proxy->item_id = $item->id;
|
||||
$proxy->save();
|
||||
$full_url = url::abs_site("digibug/print_proxy/full/$proxy->uuid/$item->id");
|
||||
$thumb_url = url::abs_site("digibug/print_proxy/thumb/$proxy->uuid/$item->id");
|
||||
}
|
||||
|
||||
$v = new View("digibug_form.html");
|
||||
$v->order_params = array(
|
||||
"digibug_api_version" => "100",
|
||||
"company_id" => module::get_var("digibug", "company_id"),
|
||||
"event_id" => module::get_var("digibug", "event_id"),
|
||||
"cmd" => "addimg",
|
||||
"partner_code" => "69",
|
||||
"return_url" => url::abs_site("digibug/close_window"),
|
||||
"num_images" => "1",
|
||||
"image_1" => $full_url,
|
||||
"thumb_1" => $thumb_url,
|
||||
"image_height_1" => $item->height,
|
||||
"image_width_1" => $item->width,
|
||||
"thumb_height_1" => $item->thumb_height,
|
||||
"thumb_width_1" => $item->thumb_width,
|
||||
"title_1" => html::purify($item->title));
|
||||
|
||||
print $v;
|
||||
}
|
||||
|
||||
public function print_proxy($type, $uuid) {
|
||||
// If its a request for the full size then make sure we are coming from an
|
||||
// authorized address
|
||||
if ($type == "full") {
|
||||
$remote_addr = ip2long(Input::instance()->server("REMOTE_ADDR"));
|
||||
if ($remote_addr === false) {
|
||||
throw new Kohana_404_Exception();
|
||||
}
|
||||
$config = Kohana::config("digibug");
|
||||
|
||||
$authorized = false;
|
||||
foreach ($config["ranges"] as $ip_range) {
|
||||
$low = ip2long($ip_range["low"]);
|
||||
$high = ip2long($ip_range["high"]);
|
||||
$authorized = $low !== false && $high !== false &&
|
||||
$low <= $remote_addr && $remote_addr <= $high;
|
||||
if ($authorized) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!$authorized) {
|
||||
throw new Kohana_404_Exception();
|
||||
}
|
||||
}
|
||||
|
||||
$proxy = ORM::factory("digibug_proxy")->where("uuid", "=", $uuid)->find();
|
||||
if (!$proxy->loaded() || !$proxy->item->loaded()) {
|
||||
throw new Kohana_404_Exception();
|
||||
}
|
||||
|
||||
$file = $type == "full" ? $proxy->item->file_path() : $proxy->item->thumb_path();
|
||||
if (!file_exists($file)) {
|
||||
throw new Kohana_404_Exception();
|
||||
}
|
||||
|
||||
// We don't need to save the session for this request
|
||||
Session::instance()->abort_save();
|
||||
|
||||
if (!TEST_MODE) {
|
||||
// Dump out the image
|
||||
header("Content-Type: {$proxy->item->mime_type}");
|
||||
Kohana::close_buffers(false);
|
||||
$fd = fopen($file, "rb");
|
||||
fpassthru($fd);
|
||||
fclose($fd);
|
||||
}
|
||||
|
||||
$this->_clean_expired();
|
||||
}
|
||||
|
||||
public function close_window() {
|
||||
print "<script type=\"text/javascript\">window.close();</script>";
|
||||
}
|
||||
|
||||
private function _clean_expired() {
|
||||
db::build()
|
||||
->delete("digibug_proxies")
|
||||
->where("request_date", "<=", db::expr("(CURDATE() - INTERVAL 90 DAY)"))
|
||||
->limit(20)
|
||||
->execute();
|
||||
}
|
||||
}
|
|
@ -1,52 +0,0 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 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 digibug_event_Core {
|
||||
static function admin_menu($menu, $theme) {
|
||||
$menu->get("settings_menu")
|
||||
->append(Menu::factory("link")
|
||||
->id("digibug_menu")
|
||||
->label(t("Digibug"))
|
||||
->url(url::site("admin/digibug")));
|
||||
}
|
||||
|
||||
static function site_menu($menu, $theme) {
|
||||
$item = $theme->item();
|
||||
if ($item && $item->type == "photo") {
|
||||
$menu->get("options_menu")
|
||||
->append(Menu::factory("link")
|
||||
->id("digibug")
|
||||
->label(t("Print with Digibug"))
|
||||
->url(url::site("digibug/print_photo/$item->id?csrf=$theme->csrf"))
|
||||
->css_id("g-print-digibug-link")
|
||||
->css_class("g-print-digibug-link ui-icon-print"));
|
||||
}
|
||||
}
|
||||
|
||||
static function context_menu($menu, $theme, $item) {
|
||||
if ($item->type == "photo") {
|
||||
$menu->get("options_menu")
|
||||
->append(Menu::factory("link")
|
||||
->id("digibug")
|
||||
->label(t("Print with Digibug"))
|
||||
->url(url::site("digibug/print_photo/$item->id?csrf=$theme->csrf"))
|
||||
->css_class("g-print-digibug-link ui-icon-print"));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,52 +0,0 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 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 digibug_installer {
|
||||
static function install() {
|
||||
Database::instance()
|
||||
->query("CREATE TABLE {digibug_proxies} (
|
||||
`id` int(9) NOT NULL AUTO_INCREMENT,
|
||||
`uuid` char(32) NOT NULL,
|
||||
`request_date` TIMESTAMP NOT NULL DEFAULT current_timestamp,
|
||||
`item_id` int(9) NOT NULL,
|
||||
PRIMARY KEY (`id`))
|
||||
DEFAULT CHARSET=utf8;");
|
||||
|
||||
module::set_var("digibug", "company_id", "3153");
|
||||
module::set_var("digibug", "event_id", "8491");
|
||||
module::set_version("digibug", 2);
|
||||
}
|
||||
|
||||
static function upgrade($version) {
|
||||
if ($version == 1) {
|
||||
module::clear_var("digibug", "default_company_id");
|
||||
module::clear_var("digibug", "default_event_id");
|
||||
module::clear_var("digibug", "basic_default_company_id");
|
||||
module::clear_var("digibug", "basic_event_id");
|
||||
module::set_var("digibug", "company_id", "3153");
|
||||
module::set_var("digibug", "event_id", "8491");
|
||||
module::set_version("digibug", $version = 2);
|
||||
}
|
||||
}
|
||||
|
||||
static function uninstall() {
|
||||
Database::instance()->query("DROP TABLE IF EXISTS {digibug_proxies}");
|
||||
module::delete("digibug");
|
||||
}
|
||||
}
|
Binary file not shown.
Before Width: | Height: | Size: 17 KiB |
|
@ -1,43 +0,0 @@
|
|||
$(document).ready(function() {
|
||||
$(".g-print-digibug-link").click(function(e) {
|
||||
e.preventDefault();
|
||||
return digibug_popup(e.currentTarget.href, { width: 800, height: 600 } );
|
||||
});
|
||||
});
|
||||
|
||||
function digibug_popup(url, options) {
|
||||
options = $.extend({
|
||||
/* default options */
|
||||
width: '800',
|
||||
height: '600',
|
||||
target: 'dbPopWin',
|
||||
scrollbars: 'yes',
|
||||
resizable: 'no',
|
||||
menuBar: 'no',
|
||||
addressBar: 'yes'
|
||||
}, options);
|
||||
|
||||
// center the window by default.
|
||||
if (!options.winY) {
|
||||
options.winY = screen.height / 2 - options.height / 2;
|
||||
};
|
||||
if (!options.winX) {
|
||||
options.winX = screen.width / 2 - options.width / 2;
|
||||
};
|
||||
|
||||
open(
|
||||
url,
|
||||
options['target'],
|
||||
'width= ' + options.width +
|
||||
',height=' + options.height +
|
||||
',top=' + options.winY +
|
||||
',left=' + options.winX +
|
||||
',scrollbars=' + options.scrollbars +
|
||||
',resizable=' + options.resizable +
|
||||
',menubar=' + options.menuBar +
|
||||
',location=' + options.addressBar
|
||||
);
|
||||
|
||||
return false;
|
||||
|
||||
}
|
|
@ -1,22 +0,0 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 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 Digibug_Proxy_Model_Core extends ORM {
|
||||
protected $belongs_to = array("item");
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
name = "Digibug"
|
||||
description = "Digibug Photo Printing Module"
|
||||
version = 2
|
||||
author_name = "Gallery Team"
|
||||
author_url = "http://codex.gallery2.org/Gallery:Team"
|
||||
info_url = "http://codex.gallery2.org/Gallery3:Modules:digibug"
|
||||
discuss_url = "http://gallery.menalto.com/forum_module_digibug"
|
|
@ -1,20 +0,0 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.") ?>
|
||||
<div class="g-block">
|
||||
<img src="<?= url::file("modules/digibug/images/digibug_logo.png") ?>" alt="Digibug logo" class="g-right"/>
|
||||
<h1> <?= t("Digibug photo printing") ?> </h1>
|
||||
<div class="g-block-content">
|
||||
<p>
|
||||
<?= t("Turn your photos into a wide variety of prints, gifts and games!") ?>
|
||||
</p>
|
||||
<ul>
|
||||
<li class="g-module-status g-success">
|
||||
<?= t("You're ready to print photos!") ?>
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
<?= t("You don't need an account with Digibug, but if you <a href=\"%signup_url\">register with Digibug</a> and enter your Digibug id in the <a href=\"%advanced_settings_url\">Advanced Settings</a> page you can make money off of your photos!",
|
||||
array("signup_url" => "http://www.digibug.com/signup.php",
|
||||
"advanced_settings_url" => html::mark_clean(url::site("admin/advanced_settings")))) ?>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
|
@ -1,13 +0,0 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.") ?>
|
||||
<html>
|
||||
<body>
|
||||
<?= form::open("http://www.digibug.com/dapi/order.php") ?>
|
||||
<? foreach ($order_params as $key => $value): ?>
|
||||
<?= form::hidden($key, $value) ?>
|
||||
<? endforeach ?>
|
||||
</form>
|
||||
<script type="text/javascript">
|
||||
document.forms[0].submit();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
@ -29,7 +29,6 @@ class exif_installer {
|
|||
PRIMARY KEY (`id`),
|
||||
KEY(`item_id`))
|
||||
DEFAULT CHARSET=utf8;");
|
||||
module::set_version("exif", 1);
|
||||
}
|
||||
|
||||
static function activate() {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -2,6 +2,6 @@ name = "Exif Data"
|
|||
description = "Extract Exif data and display it on photo pages."
|
||||
version = 1
|
||||
author_name = "Gallery Team"
|
||||
author_url = "http://codex.gallery2.org/Gallery:Team"
|
||||
info_url = "http://codex.gallery2.org/Gallery3:Modules:exif"
|
||||
discuss_url = "http://gallery.menalto.com/forum_module_exif"
|
||||
author_url = "http://codex.galleryproject.org/Gallery:Team"
|
||||
info_url = "http://codex.galleryproject.org/Gallery3:Modules:exif"
|
||||
discuss_url = "http://galleryproject.org/forum_module_exif"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
@ -33,6 +33,31 @@ class G2_Controller extends Controller {
|
|||
$input = Input::instance();
|
||||
$path = $input->get("path");
|
||||
$id = $input->get("g2_itemId");
|
||||
$view = $input->get("g2_view");
|
||||
|
||||
// Tags did not have mappings created, so we need to catch them first. However, if a g2_itemId was
|
||||
// passed, we'll want to show lookup the mapping anyway
|
||||
if (($path && 0 === strpos($path, "tag/")) || $view == "tags.VirtualAlbum") {
|
||||
if (0 === strpos($path, "tag/")) {
|
||||
$tag_name = substr($path, 4);
|
||||
}
|
||||
if ($view == "tags.VirtualAlbum") {
|
||||
$tag_name = $input->get("g2_tagName");
|
||||
}
|
||||
|
||||
if (!$id) {
|
||||
url::redirect("tag_name/$tag_name", 301);
|
||||
}
|
||||
|
||||
$tag = ORM::factory("tag")->where("name", "=", $tag_name)->find();
|
||||
if ($tag->loaded()) {
|
||||
item::set_display_context_callback("Tag_Controller::get_display_context", $tag->id);
|
||||
// We want to show the item as part of the tag virtual album. Most of this code is below; we'll
|
||||
// change $path and $view to let it fall through
|
||||
$view = "";
|
||||
$path = "";
|
||||
}
|
||||
}
|
||||
|
||||
if (($path && $path != 'index.php' && $path != 'main.php') || $id) {
|
||||
if ($id) {
|
||||
|
@ -40,11 +65,10 @@ class G2_Controller extends Controller {
|
|||
// Gallery 2 don't specify g2_view if it's the default (core.ShowItem). And in some cases
|
||||
// (bbcode, embedding) people are using the id style URLs although URL rewriting is enabled.
|
||||
$where = array(array("g2_id", "=", $id));
|
||||
$view = $input->get("g2_view");
|
||||
if ($view == "core.DownloadItem") {
|
||||
$where[] = array("resource_type", "IN", array("file", "resize", "thumbnail", "full"));
|
||||
} else if ($view) {
|
||||
$where[] = array("g2_url", "like", "%g2_view=$view%");
|
||||
$where[] = array("g2_url", "LIKE", "%" . Database::escape_for_like("g2_view=$view") . "%");
|
||||
} // else: Assuming that the first search hit is sufficiently good.
|
||||
} else if ($path) {
|
||||
$where = array(array("g2_url", "IN", array($path, str_replace(" ", "+", $path))));
|
||||
|
@ -75,18 +99,18 @@ class G2_Controller extends Controller {
|
|||
// Redirect the user to the new url
|
||||
switch ($resource_type) {
|
||||
case "thumbnail":
|
||||
url::redirect($item->thumb_url(true));
|
||||
url::redirect($item->thumb_url(true), 301);
|
||||
|
||||
case "resize":
|
||||
url::redirect($item->resize_url(true));
|
||||
url::redirect($item->resize_url(true), 301);
|
||||
|
||||
case "file":
|
||||
case "full":
|
||||
url::redirect($item->file_url(true));
|
||||
url::redirect($item->file_url(true), 301);
|
||||
|
||||
case "item":
|
||||
case "album":
|
||||
url::redirect($item->abs_url());
|
||||
url::redirect($item->abs_url(), 301);
|
||||
|
||||
case "group":
|
||||
case "user":
|
||||
|
@ -94,4 +118,4 @@ class G2_Controller extends Controller {
|
|||
throw new Kohana_404_Exception();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
@ -31,7 +31,6 @@ class g2_import_installer {
|
|||
KEY `g2_id` (`g2_id`))
|
||||
DEFAULT CHARSET=utf8;");
|
||||
|
||||
module::set_version("g2_import", 2);
|
||||
mkdir(VARPATH . "modules/g2_import");
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -2,6 +2,6 @@ name = "Gallery 2 Import"
|
|||
description = "Import your Gallery 2 content into Gallery 3"
|
||||
version = 2
|
||||
author_name = "Gallery Team"
|
||||
author_url = "http://codex.gallery2.org/Gallery:Team"
|
||||
info_url = "http://codex.gallery2.org/Gallery3:Modules:g2_import"
|
||||
discuss_url = "http://gallery.menalto.com/forum_module_g2_import"
|
||||
author_url = "http://codex.galleryproject.org/Gallery:Team"
|
||||
info_url = "http://codex.galleryproject.org/Gallery3:Modules:g2_import"
|
||||
discuss_url = "http://galleryproject.org/forum_module_g2_import"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
@ -30,24 +30,28 @@ class Admin_Advanced_Settings_Controller extends Admin_Controller {
|
|||
}
|
||||
|
||||
public function edit($module_name, $var_name) {
|
||||
$value = module::get_var($module_name, $var_name);
|
||||
$form = new Forge("admin/advanced_settings/save/$module_name/$var_name", "", "post");
|
||||
$group = $form->group("edit_var")->label(t("Edit setting"));
|
||||
$group->input("module_name")->label(t("Module"))->value($module_name)->disabled(1);
|
||||
$group->input("var_name")->label(t("Setting"))->value($var_name)->disabled(1);
|
||||
$group->textarea("value")->label(t("Value"))->value($value);
|
||||
$group->submit("")->value(t("Save"));
|
||||
print $form;
|
||||
if (module::is_installed($module_name)) {
|
||||
$value = module::get_var($module_name, $var_name);
|
||||
$form = new Forge("admin/advanced_settings/save/$module_name/$var_name", "", "post");
|
||||
$group = $form->group("edit_var")->label(t("Edit setting"));
|
||||
$group->input("module_name")->label(t("Module"))->value($module_name)->disabled(1);
|
||||
$group->input("var_name")->label(t("Setting"))->value($var_name)->disabled(1);
|
||||
$group->textarea("value")->label(t("Value"))->value($value);
|
||||
$group->submit("")->value(t("Save"));
|
||||
print $form;
|
||||
}
|
||||
}
|
||||
|
||||
public function save($module_name, $var_name) {
|
||||
access::verify_csrf();
|
||||
|
||||
module::set_var($module_name, $var_name, Input::instance()->post("value"));
|
||||
message::success(
|
||||
t("Saved value for %var (%module_name)",
|
||||
array("var" => $var_name, "module_name" => $module_name)));
|
||||
if (module::is_installed($module_name)) {
|
||||
module::set_var($module_name, $var_name, Input::instance()->post("value"));
|
||||
message::success(
|
||||
t("Saved value for %var (%module_name)",
|
||||
array("var" => $var_name, "module_name" => $module_name)));
|
||||
|
||||
json::reply(array("result" => "success"));
|
||||
json::reply(array("result" => "success"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
@ -26,6 +26,7 @@ class Admin_Dashboard_Controller extends Admin_Controller {
|
|||
$view->sidebar = "<div id=\"g-admin-dashboard-sidebar\">" .
|
||||
block_manager::get_html("dashboard_sidebar") .
|
||||
"</div>";
|
||||
$view->content->obsolete_modules_message = module::get_obsolete_modules_message();
|
||||
print $view;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
@ -26,6 +26,7 @@ class Admin_Modules_Controller extends Admin_Controller {
|
|||
$view->page_title = t("Modules");
|
||||
$view->content = new View("admin_modules.html");
|
||||
$view->content->available = module::available();
|
||||
$view->content->obsolete_modules_message = module::get_obsolete_modules_message();
|
||||
print $view;
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,72 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2013 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 Admin_Movies_Controller extends Admin_Controller {
|
||||
public function index() {
|
||||
// Print screen from new form.
|
||||
$form = $this->_get_admin_form();
|
||||
$this->_print_view($form);
|
||||
}
|
||||
|
||||
public function save() {
|
||||
access::verify_csrf();
|
||||
$form = $this->_get_admin_form();
|
||||
if ($form->validate()) {
|
||||
module::set_var("gallery", "movie_allow_uploads", $form->settings->allow_uploads->value);
|
||||
if ($form->settings->rebuild_thumbs->value) {
|
||||
graphics::mark_dirty(true, false, "movie");
|
||||
}
|
||||
// All done - redirect with message.
|
||||
message::success(t("Movies settings updated successfully"));
|
||||
url::redirect("admin/movies");
|
||||
}
|
||||
// Something went wrong - print view from existing form.
|
||||
$this->_print_view($form);
|
||||
}
|
||||
|
||||
private function _print_view($form) {
|
||||
list ($ffmpeg_version, $ffmpeg_date) = movie::get_ffmpeg_version();
|
||||
$ffmpeg_version = $ffmpeg_date ? "{$ffmpeg_version} ({$ffmpeg_date})" : $ffmpeg_version;
|
||||
$ffmpeg_path = movie::find_ffmpeg();
|
||||
$ffmpeg_dir = substr($ffmpeg_path, 0, strrpos($ffmpeg_path, "/"));
|
||||
|
||||
$view = new Admin_View("admin.html");
|
||||
$view->page_title = t("Movies settings");
|
||||
$view->content = new View("admin_movies.html");
|
||||
$view->content->form = $form;
|
||||
$view->content->ffmpeg_dir = $ffmpeg_dir;
|
||||
$view->content->ffmpeg_version = $ffmpeg_version;
|
||||
print $view;
|
||||
}
|
||||
|
||||
private function _get_admin_form() {
|
||||
$form = new Forge("admin/movies/save", "", "post", array("id" => "g-movies-admin-form"));
|
||||
$group = $form->group("settings")->label(t("Settings"));
|
||||
$group->dropdown("allow_uploads")
|
||||
->label(t("Allow movie uploads into Gallery (does not affect existing movies)"))
|
||||
->options(array("autodetect"=>t("only if FFmpeg is detected (default)"),
|
||||
"always"=>t("always"), "never"=>t("never")))
|
||||
->selected(module::get_var("gallery", "movie_allow_uploads", "autodetect"));
|
||||
$group->checkbox("rebuild_thumbs")
|
||||
->label(t("Rebuild all movie thumbnails (once FFmpeg is installed, use this to update existing movie thumbnails)"))
|
||||
->checked(false); // always set as false
|
||||
$form->submit("save")->value(t("Save"));
|
||||
return $form;
|
||||
}
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
@ -93,10 +93,16 @@ class Albums_Controller extends Items_Controller {
|
|||
"previous_item" => $previous_item,
|
||||
"next_item" => $next_item,
|
||||
"sibling_count" => $item->parent()->viewable()->children_count($where),
|
||||
"siblings_callback" => array("Albums_Controller::get_siblings", array($item)),
|
||||
"parents" => $item->parents()->as_array(),
|
||||
"breadcrumbs" => Breadcrumb::array_from_item_parents($item));
|
||||
}
|
||||
|
||||
static function get_siblings($item, $limit=null, $offset=null) {
|
||||
// @todo consider creating Item_Model::siblings() if we use this more broadly.
|
||||
return $item->parent()->viewable()->children($limit, $offset);
|
||||
}
|
||||
|
||||
public function create($parent_id) {
|
||||
access::verify_csrf();
|
||||
$album = ORM::factory("item", $parent_id);
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
@ -50,7 +50,7 @@ class Combined_Controller extends Controller {
|
|||
if ($input->server("HTTP_IF_MODIFIED_SINCE")) {
|
||||
header('HTTP/1.0 304 Not Modified');
|
||||
header("Expires: Tue, 19 Jan 2038 00:00:00 GMT");
|
||||
header("Cache-Control: max-age=2678400");
|
||||
header("Cache-Control: public,max-age=2678400");
|
||||
header('Pragma: public');
|
||||
Kohana::close_buffers(false);
|
||||
return "";
|
||||
|
@ -83,7 +83,7 @@ class Combined_Controller extends Controller {
|
|||
header("Content-Type: text/css; charset=UTF-8");
|
||||
}
|
||||
header("Expires: Tue, 19 Jan 2038 00:00:00 GMT");
|
||||
header("Cache-Control: max-age=2678400");
|
||||
header("Cache-Control: public,max-age=2678400");
|
||||
header("Pragma: public");
|
||||
header("Last-Modified: " . gmdate("D, d M Y H:i:s T", time()));
|
||||
header("Content-Length: " . strlen($content));
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
@ -49,7 +49,9 @@ class File_Proxy_Controller extends Controller {
|
|||
// Make sure that the request is for a file inside var
|
||||
$offset = strpos(rawurldecode($request_uri), $var_uri);
|
||||
if ($offset !== 0) {
|
||||
throw new Kohana_404_Exception();
|
||||
$e = new Kohana_404_Exception();
|
||||
$e->test_fail_code = 1;
|
||||
throw $e;
|
||||
}
|
||||
|
||||
// file_uri: albums/foo/bar.jpg
|
||||
|
@ -59,7 +61,9 @@ class File_Proxy_Controller extends Controller {
|
|||
// path: foo/bar.jpg
|
||||
list ($type, $path) = explode("/", $file_uri, 2);
|
||||
if ($type != "resizes" && $type != "albums" && $type != "thumbs") {
|
||||
throw new Kohana_404_Exception();
|
||||
$e = new Kohana_404_Exception();
|
||||
$e->test_fail_code = 2;
|
||||
throw $e;
|
||||
}
|
||||
|
||||
// If the last element is .album.jpg, pop that off since it's not a real item
|
||||
|
@ -68,10 +72,10 @@ class File_Proxy_Controller extends Controller {
|
|||
$item = item::find_by_path($path);
|
||||
if (!$item->loaded()) {
|
||||
// We didn't turn it up. If we're looking for a .jpg then it's it's possible that we're
|
||||
// requesting the thumbnail for a movie. In that case, the .flv, .mp4 or .m4v file would
|
||||
// requesting the thumbnail for a movie. In that case, the movie file would
|
||||
// have been converted to a .jpg. So try some alternate types:
|
||||
if (preg_match('/.jpg$/', $path)) {
|
||||
foreach (array("flv", "mp4", "m4v") as $ext) {
|
||||
foreach (legal_file::get_movie_extensions() as $ext) {
|
||||
$movie_path = preg_replace('/.jpg$/', ".$ext", $path);
|
||||
$item = item::find_by_path($movie_path);
|
||||
if ($item->loaded()) {
|
||||
|
@ -82,24 +86,35 @@ class File_Proxy_Controller extends Controller {
|
|||
}
|
||||
|
||||
if (!$item->loaded()) {
|
||||
throw new Kohana_404_Exception();
|
||||
$e = new Kohana_404_Exception();
|
||||
$e->test_fail_code = 3;
|
||||
throw $e;
|
||||
}
|
||||
|
||||
// Make sure we have access to the item
|
||||
if (!access::can("view", $item)) {
|
||||
throw new Kohana_404_Exception();
|
||||
$e = new Kohana_404_Exception();
|
||||
$e->test_fail_code = 4;
|
||||
throw $e;
|
||||
}
|
||||
|
||||
// Make sure we have view_full access to the original
|
||||
if ($type == "albums" && !access::can("view_full", $item)) {
|
||||
throw new Kohana_404_Exception();
|
||||
$e = new Kohana_404_Exception();
|
||||
$e->test_fail_code = 5;
|
||||
throw $e;
|
||||
}
|
||||
|
||||
// Don't try to load a directory
|
||||
if ($type == "albums" && $item->is_album()) {
|
||||
throw new Kohana_404_Exception();
|
||||
$e = new Kohana_404_Exception();
|
||||
$e->test_fail_code = 6;
|
||||
throw $e;
|
||||
}
|
||||
|
||||
// Note: this code is roughly duplicated in data_rest, so if you modify this, please look to
|
||||
// see if you should make the same change there as well.
|
||||
|
||||
if ($type == "albums") {
|
||||
$file = $item->file_path();
|
||||
} else if ($type == "resizes") {
|
||||
|
@ -109,7 +124,16 @@ class File_Proxy_Controller extends Controller {
|
|||
}
|
||||
|
||||
if (!file_exists($file)) {
|
||||
throw new Kohana_404_Exception();
|
||||
$e = new Kohana_404_Exception();
|
||||
$e->test_fail_code = 7;
|
||||
throw $e;
|
||||
}
|
||||
|
||||
if (gallery::show_profiler()) {
|
||||
Profiler::enable();
|
||||
$profiler = new Profiler();
|
||||
$profiler->render();
|
||||
exit;
|
||||
}
|
||||
|
||||
header("Content-Length: " . filesize($file));
|
||||
|
@ -123,26 +147,29 @@ class File_Proxy_Controller extends Controller {
|
|||
|
||||
expires::set(2592000, $item->updated); // 30 days
|
||||
|
||||
// Dump out the image. If the item is a movie, then its thumbnail will be a JPG.
|
||||
if ($item->is_movie() && $type != "albums") {
|
||||
// Dump out the image. If the item is a movie or album, then its thumbnail will be a JPG.
|
||||
if (($item->is_movie() || $item->is_album()) && $type == "thumbs") {
|
||||
header("Content-Type: image/jpeg");
|
||||
} else {
|
||||
header("Content-Type: $item->mime_type");
|
||||
}
|
||||
|
||||
// Don't use Kohana::close_buffers(false) here because that only closes all the buffers
|
||||
// that Kohana started. We want to close *all* buffers at this point because otherwise we're
|
||||
// going to buffer up whatever file we're proxying (and it may be very large). This may
|
||||
// affect embedding or systems with PHP's output_buffering enabled.
|
||||
while (ob_get_level()) {
|
||||
Kohana_Log::add("error","".print_r(ob_get_level(),1));
|
||||
if (!@ob_end_clean()) {
|
||||
// ob_end_clean() can return false if the buffer can't be removed for some reason
|
||||
// (zlib output compression buffers sometimes cause problems).
|
||||
break;
|
||||
if (TEST_MODE) {
|
||||
return $file;
|
||||
} else {
|
||||
// Don't use Kohana::close_buffers(false) here because that only closes all the buffers
|
||||
// that Kohana started. We want to close *all* buffers at this point because otherwise we're
|
||||
// going to buffer up whatever file we're proxying (and it may be very large). This may
|
||||
// affect embedding or systems with PHP's output_buffering enabled.
|
||||
while (ob_get_level()) {
|
||||
Kohana_Log::add("error","".print_r(ob_get_level(),1));
|
||||
if (!@ob_end_clean()) {
|
||||
// ob_end_clean() can return false if the buffer can't be removed for some reason
|
||||
// (zlib output compression buffers sometimes cause problems).
|
||||
break;
|
||||
}
|
||||
}
|
||||
readfile($file);
|
||||
}
|
||||
|
||||
readfile($file);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
@ -88,14 +88,17 @@ class Packager_Controller extends Controller {
|
|||
|
||||
$dbconfig = Kohana::config('database.default');
|
||||
$conn = $dbconfig["connection"];
|
||||
$pass = $conn["pass"] ? "-p{$conn['pass']}" : "";
|
||||
$sql_file = DOCROOT . "installer/install.sql";
|
||||
if (!is_writable($sql_file)) {
|
||||
print "$sql_file is not writeable";
|
||||
return;
|
||||
}
|
||||
$command = "mysqldump --compact --skip-extended-insert --add-drop-table -h{$conn['host']} " .
|
||||
"-u{$conn['user']} $pass {$conn['database']} > $sql_file";
|
||||
$command = sprintf(
|
||||
"mysqldump --compact --skip-extended-insert --add-drop-table %s %s %s %s > $sql_file",
|
||||
escapeshellarg("-h{$conn['host']}"),
|
||||
escapeshellarg("-u{$conn['user']}"),
|
||||
$conn['pass'] ? escapeshellarg("-p{$conn['pass']}") : "",
|
||||
escapeshellarg($conn['database']));
|
||||
exec($command, $output, $status);
|
||||
if ($status) {
|
||||
print "<pre>";
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
@ -41,7 +41,6 @@ class Quick_Controller extends Controller {
|
|||
gallery_graphics::rotate($item->file_path(), $tmpfile, array("degrees" => $degrees), $item);
|
||||
$item->set_data_file($tmpfile);
|
||||
$item->save();
|
||||
unlink($tmpfile);
|
||||
}
|
||||
|
||||
if (Input::instance()->get("page_type") == "collection") {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2012 Bharat Mediratta
|
||||
* Copyright (C) 2000-2013 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
|
||||
|
@ -46,6 +46,7 @@ class Upgrader_Controller extends Controller {
|
|||
$view->available = module::available();
|
||||
$view->failed = $failed ? explode(",", $failed) : array();
|
||||
$view->done = $available_upgrades == 0;
|
||||
$view->obsolete_modules_message = module::get_obsolete_modules_message();
|
||||
print $view;
|
||||
}
|
||||
|
||||
|
@ -107,7 +108,11 @@ class Upgrader_Controller extends Controller {
|
|||
print "Upgrade complete\n";
|
||||
}
|
||||
} else {
|
||||
url::redirect("upgrader?failed=" . join(",", $failed));
|
||||
if ($failed) {
|
||||
url::redirect("upgrader?failed=" . join(",", $failed));
|
||||
} else {
|
||||
url::redirect("upgrader");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue