- 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)

This commit is contained in:
Arjan Widlak 2008-05-30 23:46:01 +00:00
parent 9c77fdcce7
commit ab028b55ba
10 changed files with 672 additions and 0 deletions

View file

@ -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

View file

@ -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 += '<object ';
for (var i in objAttrs)
{
str += i + '="' + objAttrs[i] + '" ';
}
str += '>';
for (var i in params)
{
str += '<param name="' + i + '" value="' + params[i] + '" /> ';
}
str += '</object>';
}
else
{
str += '<embed ';
for (var i in embedAttrs)
{
str += i + '="' + embedAttrs[i] + '" ';
}
str += '> </embed>';
}
document.write(str);
}
function AC_FL_RunContent(){
var ret =
AC_GetArgs
( arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
, "application/x-shockwave-flash"
);
AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}
function AC_SW_RunContent(){
var ret =
AC_GetArgs
( arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
, null
);
AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}
function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
var ret = new Object();
ret.embedAttrs = new Object();
ret.params = new Object();
ret.objAttrs = new Object();
for (var i=0; i < args.length; i=i+2){
var currArg = args[i].toLowerCase();
switch (currArg){
case "classid":
break;
case "pluginspage":
ret.embedAttrs[args[i]] = args[i+1];
break;
case "src":
case "movie":
args[i+1] = AC_AddExtension(args[i+1], ext);
ret.embedAttrs["src"] = args[i+1];
ret.params[srcParamName] = args[i+1];
break;
case "onafterupdate":
case "onbeforeupdate":
case "onblur":
case "oncellchange":
case "onclick":
case "ondblclick":
case "ondrag":
case "ondragend":
case "ondragenter":
case "ondragleave":
case "ondragover":
case "ondrop":
case "onfinish":
case "onfocus":
case "onhelp":
case "onmousedown":
case "onmouseup":
case "onmouseover":
case "onmousemove":
case "onmouseout":
case "onkeypress":
case "onkeydown":
case "onkeyup":
case "onload":
case "onlosecapture":
case "onpropertychange":
case "onreadystatechange":
case "onrowsdelete":
case "onrowenter":
case "onrowexit":
case "onrowsinserted":
case "onstart":
case "onscroll":
case "onbeforeeditfocus":
case "onactivate":
case "onbeforedeactivate":
case "ondeactivate":
case "type":
case "codebase":
case "id":
ret.objAttrs[args[i]] = args[i+1];
break;
case "width":
case "height":
case "align":
case "vspace":
case "hspace":
case "class":
case "title":
case "accesskey":
case "name":
case "tabindex":
ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
break;
default:
ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
}
}
ret.objAttrs["classid"] = classid;
if (mimeType) ret.embedAttrs["type"] = mimeType;
return ret;
}

View file

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<config>
<content_url>/extras/ukplayer/content.xml</content_url>
<width>400</width><!-- this value is overwritten by the flashVars but the tag needs to be here (and it is useful for offline testing) -->
<height>300</height><!-- this value is overwritten by the flashVars but the tag needs to be here (and it is useful for offline testing) -->
<background_color>0xDDDDEE</background_color>
<default_duration>20</default_duration>
<default_slidewidth>100</default_slidewidth>
<default_slideheight>100</default_slideheight>
<font>Verdana</font>
<font_size>12</font_size>
<font_color>0xCCCCCC</font_color>
<text_border_color>0xCCCCCC</text_border_color>
<text_bg_color>0x000000</text_bg_color>
<text_autohide>true</text_autohide>
<controls_color>0xCCCCCC</controls_color>
<controls_border_color>0xCCCCCC</controls_border_color>
<controls_bg_color>0x000000</controls_bg_color>
<controls_autohide>false</controls_autohide>
<thumbnail_width>48</thumbnail_width>
<thumbnail_height>36</thumbnail_height>
<thumbnail_border_color>0x000000</thumbnail_border_color>
<menu_autohide>true</menu_autohide>
<menu_dead_zone_width>100</menu_dead_zone_width>
<menu_gaps>5</menu_gaps>
<mute_at_start>false</mute_at_start>
<autostart>true</autostart>
<autopause>false</autopause>
<loop>false</loop>
<error_message_content><![CDATA[XML not found: ]]></error_message_content>
<error_message_image><![CDATA[Image not found]]></error_message_image>
</config>

View file

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<content>
<slides>
<slide>
<width>400</width>
<height>300</height>
<title><![CDATA[<b>Slide</b> One]]></title>
<description><![CDATA[ This is the United Knowledge Player for <u>WebGUI</u>!]]></description>
<image_source>/extras/ukplayer/dummycontent/explain.jpg</image_source>
<duration>5</duration>
<thumb_source>/extras/ukplayer/dummycontent/explain.jpg</thumb_source>
<sound_source>dummycontent/transporter.mp3</sound_source>
</slide>
<slide>
<width>400</width>
<height>300</height>
<title><![CDATA[<b>Slide</b> Two]]></title>
<description><![CDATA[ This is the United Knowledge Player for <u>WebGUI</u>!]]></description>
<image_source>/extras/ukplayer/dummycontent/united-knowledge-logo.jpg</image_source>
<duration>5</duration>
<thumb_source>/extras/ukplayer/dummycontent/united-knowledge-logo.jpg</thumb_source>
<sound_source>dummycontent/transporter.mp3</sound_source>
</slide>
</slides>
</content>

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View file

@ -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 *
**********************************************************************************************
<config>
[properties go here]
</config>
**********************************************************************************************
* General properties *
**********************************************************************************************
<content_url>/someUrl/someXmlFile.xml</content_url>
The url to the .xml file that contains the content.
Value: an absolute or relative url to an xml file
<width>400</width>
<height>300</height>
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
<default_duration>8</default_duration>
The duration of each slide. This can be overwritten by setting the duration per slide
in the content .xml file.
Value: number in seconds
<default_slidewidth>400</default_slidewidth>
<default_slideheight>300</default_slideheight>
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
<background_color>0xeeeeee</background_color>
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 *
**********************************************************************************************
<font>Verdana</font>
The font of the text in the slideshow.
Value: Verdana, Arial or TimesNewRoman
<font_size>12</font_size>
The font size of the text in the slideshow.
Value: number in px
<font_color>0xffffff</font_color>
The color of the text in the slideshow.
Value: 0x followed by hexadecimal color
<text_border_color>0xffffff</text_border_color>
The color of the border of the textarea.
Value: 0x followed by hexadecimal color
<text_bg_color>0x000000</text_bg_color>
The background color of the textarea.
Value: 0x followed by hexadecimal color
<text_autohide>false</text_autohide>
When set to true the textarea will hide after a few seconds.
Value: true or false
**********************************************************************************************
* Controls properties *
**********************************************************************************************
<controls_color>0xffffff</controls_color>
The color of the buttons.
Value: 0x followed by hexadecimal color
<controls_border_color>0xffffff</controls_border_color>
The color of the border of the area with the buttons.
Value: 0x followed by hexadecimal color
<controls_bg_color>0x000000</controls_bg_color>
The background color of the area with the buttons.
Value: 0x followed by hexadecimal color
<controls_autohide>true</controls_autohide>
When set to true the controls will hide after a few seconds.
Value: true or false
**********************************************************************************************
* Thumbnail properties *
**********************************************************************************************
<thumbnail_width>40</thumbnail_width>
<thumbnail_height>30</thumbnail_height>
The height and width of each thumbnail image in the bar at the bottom of the
slideshow.
Value: number in px
<thumbnail_border_color>0x888888</thumbnail_border_color>
The color of the border of each thumbnail image.
Value: 0x followed by hexadecimal color
<menu_autohide>true</menu_autohide>
When set to true the thumbnail bar will hide after a few seconds.
Value: true or false
<menu_dead_zone_width>160</menu_dead_zone_width>
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
<menu_gaps>6</menu_gaps>
The width of the gap between two thumbnail images.
Value: number in px
**********************************************************************************************
* Behaviour properties *
**********************************************************************************************
<mute_at_start>true</mute_at_start>
If true the slideshow will start with the sound muted.
Value: true or false
<autostart>false</autostart>
If true the slideshow will start upon loading. If false a play button will be
displayed.
Value: true or false
<autopause>true</autopause>
If true the slideshow will pause when clicking on a thumbnail or clicking the
previous or next buttons.
Value: true or false
<loop>false</loop>
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 *
**********************************************************************************************
<error_message_content><![CDATA[Content Xml not found]]></error_message_content>
<error_message_image><![CDATA[Image not found]]></error_message_image>
Value: any text in CDATA tags: <![CDATA[ ... ]]>
**********************************************************************************************
* *
* The content XML *
* *
**********************************************************************************************
The content .xml file contains the properties for each slide.
**********************************************************************************************
* Structure of the xml *
**********************************************************************************************
<content>
<slides>
<slide>[properties go here]</slide>
<slide>[properties go here]</slide>
...
</slides>
</content>
**********************************************************************************************
* Properties in the slide tag *
**********************************************************************************************
<title><![CDATA[My first slide]]></title>
The title of the slide.
Value: any text in CDATA tags: <![CDATA[ ... ]]>
<description><![CDATA[This is my first slide!]]></description>
The description of the slide.
Value: any text in CDATA tags: <![CDATA[ ... ]]>
<image_source>/someUrl/someImg.jpg</image_source>
The url to the slide image.
Value: an absolute or relative url to a .jpg, .gif or .png file
<thumb_source>/someUrl/someImg_thumb.jpg</thumb_source>
The url to the thumbnail of the slide image.
Value: an absolute or relative url to a .jpg, .gif or .png file
<sound_source>/someUrl/someImg_thumb.jpg</sound_source>
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
<duration>8</duration>
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
<width>400</width>
<height>300</height>
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 *
**********************************************************************************************

Binary file not shown.

View file

@ -0,0 +1,70 @@
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>slideshow</title>
<script language="javascript">AC_FL_RunContent = 0;</script>
<script src="/extras/ukplayer/AC_RunActiveContent.js" language="javascript"></script>
</head>
<body bgcolor="#ffffff">
<!--url's used in the movie-->
<!--text used in the movie-->
<!--
This is the United Knowledge Player for WebGUI.
It enables you to display foto's as a movie. The
configuration options can be found in the readme
file here:
/extras/ukplayer/readme.txt
There are three example files to show you how to
use this player:
/extras/ukplayer/slideshow.html
/extras/ukplayer/config.xml
/extras/ukplayer/content.xml
This player is Free Software under the GPL v2
Check out the latest source on:
http://195.64.86.55/ukslideshow/trunk .
copyright 2008 United Knowledge http://www.unitedknowledge.nl/
-->
<!-- saved from url=(0013)about:internet -->
<script language="javascript">
if (AC_FL_RunContent == 0) {
alert("This page requires AC_RunActiveContent.js.");
} else {
AC_FL_RunContent(
'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0',
'width', '400',
'height', '300',
'src', 'swc/assets',
'quality', 'high',
'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
'align', 'middle',
'play', 'true',
'loop', 'true',
'scale', 'showall',
'wmode', 'window',
'devicefont', 'false',
'id', 'slideShow',
'bgcolor', '#ffffff',
'name', 'coverflow',
'menu', 'true',
// note: the width & height in the flashVars below MUST match the width & height set above
'flashVars', 'config=/extras/ukplayer/config.xml&width=400&height=300&backgroundColor=0xCCCCCC&fontColor=&textBorderColor=&textBackgroundColor=&controlsColor=&controlsBorderColor=&controlsBackgroundColor=',
'allowFullScreen', 'false',
'allowScriptAccess','sameDomain',
'movie', '/extras/ukplayer/slideShow',
'salign', ''
); //end AC code
}
</script>
<noscript>
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="400" height="300" id="swc/assets" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="allowFullScreen" value="false" />
<param name="flashVars" value="config=/extras/ukplayer/config.xml" />
<param name="movie" value="/extras/ukplayer/slideShow.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /> <embed src="/extras/ukplayer/slideShow.swf" quality="high" bgcolor="#ffffff" width="400" height="300" name="swc/assets" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" flashvars="config=/extras/ukplayer/config.xml" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
</noscript>
</body>
</html>