diff options
author | David Norman <drupal@deekayen.net> | 2006-05-15 20:14:58 +0000 |
---|---|---|
committer | David Norman <drupal@deekayen.net> | 2006-05-15 20:14:58 +0000 |
commit | cd32600c0196e117fff56e96af842bcb77440ef2 (patch) | |
tree | 2b90b0d9f4338f8348e8eb5ed21331dd7d8ba2ba | |
parent | 5f6a5223f4c2de9cc26a02279fda13fdda249d7b (diff) | |
download | video-cd32600c0196e117fff56e96af842bcb77440ef2.tar.gz video-cd32600c0196e117fff56e96af842bcb77440ef2.tar.bz2 |
license concerns about AC_Quicktime.js
-rw-r--r-- | AC_QuickTime.js | 263 | ||||
-rw-r--r-- | video.module | 4 | ||||
-rw-r--r-- | video_insert.js | 8 |
3 files changed, 10 insertions, 265 deletions
diff --git a/AC_QuickTime.js b/AC_QuickTime.js deleted file mode 100644 index 998d42c..0000000 --- a/AC_QuickTime.js +++ /dev/null @@ -1,263 +0,0 @@ -/* - -File: AC_QuickTime.js - -Abstract: This file contains functions to generate OBJECT and EMBED tags for QuickTime content. - -Version: <1.1> - -Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple -Computer, Inc. ("Apple") in consideration of your agreement to the -following terms, and your use, installation, modification or -redistribution of this Apple software constitutes acceptance of these -terms. If you do not agree with these terms, please do not use, -install, modify or redistribute this Apple software. - -In consideration of your agreement to abide by the following terms, and -subject to these terms, Apple grants you a personal, non-exclusive -license, under Apple's copyrights in this original Apple software (the -"Apple Software"), to use, reproduce, modify and redistribute the Apple -Software, with or without modifications, in source and/or binary forms; -provided that if you redistribute the Apple Software in its entirety and -without modifications, you must retain this notice and the following -text and disclaimers in all such redistributions of the Apple Software. -Neither the name, trademarks, service marks or logos of Apple Computer, -Inc. may be used to endorse or promote products derived from the Apple -Software without specific prior written permission from Apple. Except -as expressly stated in this notice, no other rights or licenses, express -or implied, are granted by Apple herein, including but not limited to -any patent rights that may be infringed by your derivative works or by -other works in which the Apple Software may be incorporated. - -The Apple Software is provided by Apple on an "AS IS" basis. APPLE -MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION -THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND -OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. - -IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL -OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, -MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED -AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), -STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. - -Copyright © 2006 Apple Computer, Inc., All Rights Reserved - -*/ - -/* - * This file contains functions to generate OBJECT and EMBED tags for QuickTime content. - */ - -/************** LOCALIZABLE GLOBAL VARIABLES ****************/ - -var gArgCountErr = 'The "%%" function requires an even number of arguments.' - + '\nArguments should be in the form "atttributeName", "attributeValue", ...'; - -/******************** END LOCALIZABLE **********************/ - -var gTagAttrs = null; -var gQTGeneratorVersion = 1.0; - -function AC_QuickTimeVersion() { return gQTGeneratorVersion; } - -function _QTComplain(callingFcnName, errMsg) -{ - errMsg = errMsg.replace("%%", callingFcnName); - alert(errMsg); -} - -function _QTAddAttribute(prefix, slotName, tagName) -{ - var value; - - value = gTagAttrs[prefix + slotName]; - if ( null == value ) - value = gTagAttrs[slotName]; - - if ( null != value ) - { - if ( 0 == slotName.indexOf(prefix) && (null == tagName) ) - tagName = slotName.substring(prefix.length); - if ( null == tagName ) - tagName = slotName; - return tagName + '="' + value + '" '; - } - else - return ""; -} - -function _QTAddObjectAttr(slotName, tagName) -{ - // don't bother if it is only for the embed tag - if ( 0 == slotName.indexOf("emb#") ) - return ""; - - if ( 0 == slotName.indexOf("obj#") && (null == tagName) ) - tagName = slotName.substring(4); - - return _QTAddAttribute("obj#", slotName, tagName); -} - -function _QTAddEmbedAttr(slotName, tagName) -{ - // don't bother if it is only for the object tag - if ( 0 == slotName.indexOf("obj#") ) - return ""; - - if ( 0 == slotName.indexOf("emb#") && (null == tagName) ) - tagName = slotName.substring(4); - - return _QTAddAttribute("emb#", slotName, tagName); -} - - -function _QTAddObjectParam(slotName, generateXHTML) -{ - var paramValue; - var paramStr = ""; - var endTagChar = (generateXHTML) ? ' />' : '>'; - - if ( -1 == slotName.indexOf("emb#") ) - { - // look for the OBJECT-only param first. if there is none, look for a generic one - paramValue = gTagAttrs["obj#" + slotName]; - if ( null == paramValue ) - paramValue = gTagAttrs[slotName]; - - if ( 0 == slotName.indexOf("obj#") ) - slotName = slotName.substring(4); - - if ( null != paramValue ) - paramStr = ' <param name="' + slotName + '" value="' + paramValue + '"' + endTagChar + '\n'; - } - - return paramStr; -} - -function _QTDeleteTagAttrs() -{ - for ( var ndx = 0; ndx < arguments.length; ndx++ ) - { - var attrName = arguments[ndx]; - delete gTagAttrs[attrName]; - delete gTagAttrs["emb#" + attrName]; - delete gTagAttrs["obj#" + attrName]; - } -} - - - -// generate an embed and object tag, return as a string -function _QTGenerate(callingFcnName, generateXHTML, args) -{ - // is the number of optional arguments even? - if ( args.length < 4 || (0 != (args.length % 2)) ) - { - _QTComplain(callingFcnName, gArgCountErr); - return ""; - } - - // allocate an array, fill in the required attributes with fixed place params and defaults - gTagAttrs = new Array(); - gTagAttrs["src"] = args[0]; - gTagAttrs["width"] = args[1]; - gTagAttrs["height"] = args[2]; - gTagAttrs["classid"] = "clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B"; - //Impportant note: It is recommended that you use this exact classid in order to ensure a seamless experience for all viewers - gTagAttrs["pluginspage"] = "http://www.apple.com/quicktime/download/"; - - // set up codebase attribute with specified or default version before parsing args so - // anything passed in will override - var activexVers = args[3] - if ( (null == activexVers) || ("" == activexVers) ) - activexVers = "6,0,2,0"; - gTagAttrs["codebase"] = "http://www.apple.com/qtactivex/qtplugin.cab#version=" + activexVers; - - var attrName, - attrValue; - - // add all of the optional attributes to the array - for ( var ndx = 4; ndx < args.length; ndx += 2) - { - attrName = args[ndx].toLowerCase(); - attrValue = args[ndx + 1]; - - // "name" and "id" should have the same value, the former goes in the embed and the later goes in - // the object. use one array slot - if ( "name" == attrName || "id" == attrName ) - gTagAttrs["name"] = attrValue; - - else - gTagAttrs[attrName] = attrValue; - } - - // init both tags with the required and "special" attributes - var objTag = '<object ' - + _QTAddObjectAttr("classid") - + _QTAddObjectAttr("width") - + _QTAddObjectAttr("height") - + _QTAddObjectAttr("codebase") - + _QTAddObjectAttr("name", "id") - + _QTAddObjectAttr("tabindex") - + _QTAddObjectAttr("hspace") - + _QTAddObjectAttr("vspace") - + _QTAddObjectAttr("border") - + _QTAddObjectAttr("align") - + _QTAddObjectAttr("class") - + _QTAddObjectAttr("title") - + _QTAddObjectAttr("accesskey") - + _QTAddObjectAttr("noexternaldata") - + '>\n' - + _QTAddObjectParam("src", generateXHTML); - var embedTag = ' <embed ' - + _QTAddEmbedAttr("src") - + _QTAddEmbedAttr("width") - + _QTAddEmbedAttr("height") - + _QTAddEmbedAttr("pluginspage") - + _QTAddEmbedAttr("name") - + _QTAddEmbedAttr("align") - + _QTAddEmbedAttr("tabindex"); - - // delete the attributes/params we have already added - _QTDeleteTagAttrs("src","width","height","pluginspage","classid","codebase","name","tabindex", - "hspace","vspace","border","align","noexternaldata","class","title","accesskey"); - - // and finally, add all of the remaining attributes to the embed and object - for ( var attrName in gTagAttrs ) - { - attrValue = gTagAttrs[attrName]; - if ( null != attrValue ) - { - embedTag += _QTAddEmbedAttr(attrName); - objTag += _QTAddObjectParam(attrName, generateXHTML); - } - } - - // end both tags, we're done - return objTag + embedTag + '> </em' + 'bed>\n</ob' + 'ject' + '>'; -} - -// return the object/embed as a string -function QT_GenerateOBJECTText() -{ - return _QTGenerate("QT_GenerateOBJECTText", false, arguments); -} - -function QT_GenerateOBJECTText_XHTML() -{ - return _QTGenerate("QT_GenerateOBJECTText_XHTML", true, arguments); -} - -function QT_WriteOBJECT() -{ - document.writeln(_QTGenerate("QT_WriteOBJECT", false, arguments)); -} - -function QT_WriteOBJECT_XHTML() -{ - document.writeln(_QTGenerate("QT_WriteOBJECT_XHTML", true, arguments)); -} diff --git a/video.module b/video.module index 29d0c86..11ac105 100644 --- a/video.module +++ b/video.module @@ -1147,10 +1147,10 @@ function theme_video_play_swf($node) { * string of content to display */ function theme_video_play_quicktime($node) { - drupal_set_html_head('<script src="'. drupal_get_path('module', 'video') .'/AC_QuickTime.js" language="JavaScript" type="text/javascript"></script>'); + drupal_set_html_head('<script src="'. drupal_get_path('module', 'video') .'/video_insert.js" language="JavaScript" type="text/javascript"></script>'); $height = $node->videoy + 16; //Increase the height to accommodate the player controls on the bottom. $output = '<script language="JavaScript" type="text/javascript">'; - $output .= "QT_WriteOBJECT_XHTML('$node->vidfile','{$node->videox}','$height','','autoplay','true','kioskmode','false');"; + $output .= "InsertQuicktimeVideo('{$node->vidfile}','$height','{$node->videox}');"; $output .= '</script>'; $output = _theme_video_format_play($output, t('http://www.apple.com/quicktime/download'), t('Link to QuickTime Download Page'), diff --git a/video_insert.js b/video_insert.js new file mode 100644 index 0000000..ea66a15 --- /dev/null +++ b/video_insert.js @@ -0,0 +1,8 @@ +function InsertQuicktimeVideo(vidfile, height, width) +{ + document.writeln('<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" width="' + width + '" height="' + height + '" scale="tofit" codebase="http://www.apple.com/qtactivex/qtplugin.cab">'); + document.writeln('<param name="SRC" value="' + vidfile + '" />'); + document.writeln('<param name="AUTOPLAY" value="true" />'); + document.writeln('<param name="KIOSKMODE" value="false" />'); + document.writeln('<embed src="' + vidfile + '" width="' + width + '" height="' + height + '" scale="tofit" autoplay="true" kioskmode="false" pluginspage="http://www.apple.com/quicktime/download/"></embed>\n</object>'); +}
\ No newline at end of file |