diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index 44036385b..4a467cfff 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -1,4 +1,5 @@ 7.5.11 + - add: United Knowledge Player added. This player allows you to display a photo collection as a slideshow. A demo can be found in /extras/ukplayer/slideshow. html. (Arjan Widlak, United Knowledge) - add: Assets can now inherit their parent's URL, prepended. Check the meta tab. - rfe: Not being limited to single-worded Tags diff --git a/www/extras/ukplayer/AC_RunActiveContent.js b/www/extras/ukplayer/AC_RunActiveContent.js new file mode 100644 index 000000000..30cddb9db --- /dev/null +++ b/www/extras/ukplayer/AC_RunActiveContent.js @@ -0,0 +1,292 @@ +//v1.7 +// Flash Player Version Detection +// Detect Client Browser type +// Copyright 2005-2007 Adobe Systems Incorporated. All rights reserved. +var isIE = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false; +var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false; +var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false; + +function ControlVersion() +{ + var version; + var axo; + var e; + + // NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry + + try { + // version will be set for 7.X or greater players + axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7"); + version = axo.GetVariable("$version"); + } catch (e) { + } + + if (!version) + { + try { + // version will be set for 6.X players only + axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6"); + + // installed player is some revision of 6.0 + // GetVariable("$version") crashes for versions 6.0.22 through 6.0.29, + // so we have to be careful. + + // default to the first public version + version = "WIN 6,0,21,0"; + + // throws if AllowScripAccess does not exist (introduced in 6.0r47) + axo.AllowScriptAccess = "always"; + + // safe to call for 6.0r47 or greater + version = axo.GetVariable("$version"); + + } catch (e) { + } + } + + if (!version) + { + try { + // version will be set for 4.X or 5.X player + axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3"); + version = axo.GetVariable("$version"); + } catch (e) { + } + } + + if (!version) + { + try { + // version will be set for 3.X player + axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3"); + version = "WIN 3,0,18,0"; + } catch (e) { + } + } + + if (!version) + { + try { + // version will be set for 2.X player + axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash"); + version = "WIN 2,0,0,11"; + } catch (e) { + version = -1; + } + } + + return version; +} + +// JavaScript helper required to detect Flash Player PlugIn version information +function GetSwfVer(){ + // NS/Opera version >= 3 check for Flash plugin in plugin array + var flashVer = -1; + + if (navigator.plugins != null && navigator.plugins.length > 0) { + if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) { + var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : ""; + var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description; + var descArray = flashDescription.split(" "); + var tempArrayMajor = descArray[2].split("."); + var versionMajor = tempArrayMajor[0]; + var versionMinor = tempArrayMajor[1]; + var versionRevision = descArray[3]; + if (versionRevision == "") { + versionRevision = descArray[4]; + } + if (versionRevision[0] == "d") { + versionRevision = versionRevision.substring(1); + } else if (versionRevision[0] == "r") { + versionRevision = versionRevision.substring(1); + if (versionRevision.indexOf("d") > 0) { + versionRevision = versionRevision.substring(0, versionRevision.indexOf("d")); + } + } + var flashVer = versionMajor + "." + versionMinor + "." + versionRevision; + } + } + // MSN/WebTV 2.6 supports Flash 4 + else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4; + // WebTV 2.5 supports Flash 3 + else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3; + // older WebTV supports Flash 2 + else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2; + else if ( isIE && isWin && !isOpera ) { + flashVer = ControlVersion(); + } + return flashVer; +} + +// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available +function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision) +{ + versionStr = GetSwfVer(); + if (versionStr == -1 ) { + return false; + } else if (versionStr != 0) { + if(isIE && isWin && !isOpera) { + // Given "WIN 2,0,0,11" + tempArray = versionStr.split(" "); // ["WIN", "2,0,0,11"] + tempString = tempArray[1]; // "2,0,0,11" + versionArray = tempString.split(","); // ['2', '0', '0', '11'] + } else { + versionArray = versionStr.split("."); + } + var versionMajor = versionArray[0]; + var versionMinor = versionArray[1]; + var versionRevision = versionArray[2]; + + // is the major.revision >= requested major.revision AND the minor version >= requested minor + if (versionMajor > parseFloat(reqMajorVer)) { + return true; + } else if (versionMajor == parseFloat(reqMajorVer)) { + if (versionMinor > parseFloat(reqMinorVer)) + return true; + else if (versionMinor == parseFloat(reqMinorVer)) { + if (versionRevision >= parseFloat(reqRevision)) + return true; + } + } + return false; + } +} + +function AC_AddExtension(src, ext) +{ + if (src.indexOf('?') != -1) + return src.replace(/\?/, ext+'?'); + else + return src + ext; +} + +function AC_Generateobj(objAttrs, params, embedAttrs) +{ + var str = ''; + if (isIE && isWin && !isOpera) + { + str += ' '; + } + str += ''; + } + else + { + str += ' + + + /extras/ukplayer/content.xml + + 400 + 300 + 0xDDDDEE + 20 + 100 + 100 + + Verdana + 12 + 0xCCCCCC + 0xCCCCCC + 0x000000 + true + + 0xCCCCCC + 0xCCCCCC + 0x000000 + false + + 48 + 36 + 0x000000 + true + 100 + 5 + + false + true + false + false + + + + diff --git a/www/extras/ukplayer/content.xml b/www/extras/ukplayer/content.xml new file mode 100644 index 000000000..51aec15b7 --- /dev/null +++ b/www/extras/ukplayer/content.xml @@ -0,0 +1,25 @@ + + + + + 400 + 300 + <![CDATA[<b>Slide</b> One]]> + WebGUI!]]> + /extras/ukplayer/dummycontent/explain.jpg + 5 + /extras/ukplayer/dummycontent/explain.jpg + dummycontent/transporter.mp3 + + + 400 + 300 + <![CDATA[<b>Slide</b> Two]]> + WebGUI!]]> + /extras/ukplayer/dummycontent/united-knowledge-logo.jpg + 5 + /extras/ukplayer/dummycontent/united-knowledge-logo.jpg + dummycontent/transporter.mp3 + + + diff --git a/www/extras/ukplayer/dummycontent/explain.jpg b/www/extras/ukplayer/dummycontent/explain.jpg new file mode 100644 index 000000000..fe452828f Binary files /dev/null and b/www/extras/ukplayer/dummycontent/explain.jpg differ diff --git a/www/extras/ukplayer/dummycontent/transporter.mp3 b/www/extras/ukplayer/dummycontent/transporter.mp3 new file mode 100644 index 000000000..d148a80a5 Binary files /dev/null and b/www/extras/ukplayer/dummycontent/transporter.mp3 differ diff --git a/www/extras/ukplayer/dummycontent/united-knowledge-logo.jpg b/www/extras/ukplayer/dummycontent/united-knowledge-logo.jpg new file mode 100644 index 000000000..358b34411 Binary files /dev/null and b/www/extras/ukplayer/dummycontent/united-knowledge-logo.jpg differ diff --git a/www/extras/ukplayer/readme.txt b/www/extras/ukplayer/readme.txt new file mode 100644 index 000000000..5bb7d3436 --- /dev/null +++ b/www/extras/ukplayer/readme.txt @@ -0,0 +1,245 @@ +United Knowledge Slideshow Player - readme.txt + +Copyright: United Knowledge, 2008 +Under the terms of the GNU General Public License, version 2 + + +********************************************************************************************** +* * +* The configuration XML * +* * +********************************************************************************************** + +With the configuration .xml file you can customize the look and the behaviour of the +slideshow. It contains the following properties (the values are example values; there are +default values for most, but we recommend setting ALL properties yourself). + + + +********************************************************************************************** +* Structure of the xml * +********************************************************************************************** + + + [properties go here] + + + + +********************************************************************************************** +* General properties * +********************************************************************************************** + +/someUrl/someXmlFile.xml + The url to the .xml file that contains the content. + Value: an absolute or relative url to an xml file + +400 +300 + The width and height of the player itself (this value is overwritten by the flashVars + but the tags need to be here). + Value: number in px + +8 + The duration of each slide. This can be overwritten by setting the duration per slide + in the content .xml file. + Value: number in seconds + +400 +300 + If the width or height of a slide is larger than the values specified here, the slide + will be resized proportionally. Slides that are smaller than the slidshow will not be + resized. + Value: number in px + +0xeeeeee + The background color for the slideshow. This will be visible during the transitions + and when a slide is smaller than the slideshow. + Value: 0x followed by hexadecimal color + + + +********************************************************************************************** +* Text properties * +********************************************************************************************** + +Verdana + The font of the text in the slideshow. + Value: Verdana, Arial or TimesNewRoman + +12 + The font size of the text in the slideshow. + Value: number in px + +0xffffff + The color of the text in the slideshow. + Value: 0x followed by hexadecimal color + +0xffffff + The color of the border of the textarea. + Value: 0x followed by hexadecimal color + +0x000000 + The background color of the textarea. + Value: 0x followed by hexadecimal color + +false + When set to true the textarea will hide after a few seconds. + Value: true or false + + + +********************************************************************************************** +* Controls properties * +********************************************************************************************** + +0xffffff + The color of the buttons. + Value: 0x followed by hexadecimal color + +0xffffff + The color of the border of the area with the buttons. + Value: 0x followed by hexadecimal color + +0x000000 + The background color of the area with the buttons. + Value: 0x followed by hexadecimal color + +true + When set to true the controls will hide after a few seconds. + Value: true or false + + + +********************************************************************************************** +* Thumbnail properties * +********************************************************************************************** + +40 +30 + The height and width of each thumbnail image in the bar at the bottom of the + slideshow. + Value: number in px + +0x888888 + The color of the border of each thumbnail image. + Value: 0x followed by hexadecimal color + +true + When set to true the thumbnail bar will hide after a few seconds. + Value: true or false + +160 + The width of the area in the center of the thumbnail bar in which the user can hover + the mouse, without the thumbnail bar moving to the left or to the right. + Value: number in px + +6 + The width of the gap between two thumbnail images. + Value: number in px + + + +********************************************************************************************** +* Behaviour properties * +********************************************************************************************** + +true + If true the slideshow will start with the sound muted. + Value: true or false + +false + If true the slideshow will start upon loading. If false a play button will be + displayed. + Value: true or false + +true + If true the slideshow will pause when clicking on a thumbnail or clicking the + previous or next buttons. + Value: true or false + +false + If true the slideshow will loop. If false, when the last slide has been displayed, + the slideshow will move back to the first slide and show a play button. + Value: true or false + + + +********************************************************************************************** +* Error messages * +********************************************************************************************** + + + + Value: any text in CDATA tags: + + + + +********************************************************************************************** +* * +* The content XML * +* * +********************************************************************************************** + +The content .xml file contains the properties for each slide. + + + +********************************************************************************************** +* Structure of the xml * +********************************************************************************************** + + + + [properties go here] + [properties go here] + ... + + + + + +********************************************************************************************** +* Properties in the slide tag * +********************************************************************************************** + +<![CDATA[My first slide]]> + The title of the slide. + Value: any text in CDATA tags: + + + The description of the slide. + Value: any text in CDATA tags: + +/someUrl/someImg.jpg + The url to the slide image. + Value: an absolute or relative url to a .jpg, .gif or .png file + +/someUrl/someImg_thumb.jpg + The url to the thumbnail of the slide image. + Value: an absolute or relative url to a .jpg, .gif or .png file + +/someUrl/someImg_thumb.jpg + The url to the sound file that will be played when the slide is displayed. It will be + played once for the duration of the slide (if the duration of the sound file is longer + than the set duration of the slide it will be cut off). This property is optional. + Value: an absolute or relative url to a .mp3 file + +8 + The duration for this specific slide. This value will overwrite the duration value set + in the configuration xml. This property is optional. + Value: number in seconds + +400 +300 + The width and height of the slide. This will overwrite the default_slidewidth and + default_slideheight set in the configuration xml. The width and height properties are + optional. + Value: number in px + + + +********************************************************************************************** +* eof * +********************************************************************************************** \ No newline at end of file diff --git a/www/extras/ukplayer/slideShow.swf b/www/extras/ukplayer/slideShow.swf new file mode 100644 index 000000000..f0307c386 Binary files /dev/null and b/www/extras/ukplayer/slideShow.swf differ diff --git a/www/extras/ukplayer/slideshow.html b/www/extras/ukplayer/slideshow.html new file mode 100644 index 000000000..873223261 --- /dev/null +++ b/www/extras/ukplayer/slideshow.html @@ -0,0 +1,70 @@ + + + +slideshow + + + + + + + + + + + +