/[drupal]/contributions/modules/jquery_media/jquery_media.jq.inc
ViewVC logotype

Contents of /contributions/modules/jquery_media/jquery_media.jq.inc

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.4 - (show annotations) (download) (as text)
Wed Apr 30 00:37:48 2008 UTC (18 months, 3 weeks ago) by aaron
Branch: MAIN
CVS Tags: DRUPAL-6--1-0, DRUPAL-5--1-3, DRUPAL-5--1-2, HEAD
Branch point for: DRUPAL-6--1
Changes since 1.3: +12 -0 lines
File MIME type: text/x-php
latest updates
1 <?php
2
3 /**
4 * Callback for jquery_media_jq
5 */
6 function _jquery_media_jq($op, $plugin = NULL, $options = array()) {
7 switch ($op) {
8 case 'info':
9 return array(
10 'jquery_media' => array(
11 'name' => t('jQuery Media'),
12 'description' => t('By M. Alsup. The jQuery Media Plugin supports unobtrusive conversion of standard markup into rich media content. It can be used to embed virtually any media type, including Flash, Quicktime, Windows Media Player, Real Player, MP3, Silverlight, PDF and more, into a web page. The plugin converts an element (usually a link) into a div which holds the object, embed or iframe tags neccessary to render the media content.'),
13 'version' => '0.75 (02/20/2008)',
14 'url' => 'http://www.malsup.com/jquery/media/',
15 'invocation' => t('You may invoke this plugin with %code. You may further set additional default parameters by passing an array, such as with %array (which will override the defaults on this screen). See !help for more information.', array('%code' => "jq_add('jquery_media')", '%array' => "jq_add('jquery_media', array('bgcolor' => '#660000', 'autoplay' => TRUE))", '!help' => l(t('jQuery Media help'), 'admin/help/jquery_media'))),
16 'files' => array(
17 'js' => array(
18 drupal_get_path('module', 'jquery_media') .'/js/jquery.media.js',
19 ),
20 ),
21 ),
22 );
23 break;
24 case 'add':
25 _jquery_media_add($options);
26 break;
27 case 'settings':
28 include_once(drupal_get_path('module', 'jquery_media') .'/jquery_media.settings.inc');
29 return _jquery_media_settings_form();
30 break;
31 }
32 }
33
34 function _jquery_media_add($options = array(), $return_js = FALSE) {
35 static $defaults = array();
36 static $jquery_blockui_installed = FALSE;
37
38 $options = (array)$options;
39 if (empty($defaults) && !$return_js && variable_get('jquery_media_use_default_js_file', JQUERY_MEDIA_USE_DEFAULT_JS_FILE)) {
40 drupal_add_js(variable_get('jquery_media_default_js_filepath', JQUERY_MEDIA_DEFAULT_JS_FILEPATH));
41 $default_js_loaded = TRUE;
42 }
43
44 if (empty($defaults) || !empty($options)) {
45 if ($swf = variable_get('jquery_media_swfobject_path', '')) {
46 drupal_add_js($swf);
47 }
48 // change jQuery Media's defaults. these may be overrriden on an individual basis.
49 if (!($default_js_loaded || isset($defaults['flvplayer'])) || $options['flvplayer']) {
50 $defaults['flvplayer'] = $options['flvplayer'] ? url($options['flvplayer']) : url(variable_get('jquery_media_flvplayer', JQUERY_MEDIA_FLVPLAYER_DEFAULT));
51 $js .= " $.fn.media.defaults.flvPlayer = '{$defaults['flvplayer']}';\n";
52 }
53 if (!($default_js_loaded || isset($defaults['mp3player'])) || $options['mp3player']) {
54 $defaults['mp3player'] = $options['mp3player'] ? url($options['mp3player']) : url(variable_get('jquery_media_mp3player', JQUERY_MEDIA_MP3PLAYER_DEFAULT));
55 $js .= " $.fn.media.defaults.mp3Player = '{$defaults['mp3player']}';\n";
56 }
57 if (!($default_js_loaded || isset($defaults['boxtitle'])) || $options['boxtitle']) {
58 $defaults['boxtitle'] = $options['boxtitle'] ? check_plain($options['boxtitle']) : check_plain(variable_get('jquery_media_boxtitle', ''));
59 if ($defaults['boxtitle']) {
60 $js .= " $.fn.media.defaults.boxTitle = '{$defaults['boxtitle']}';\n";
61 }
62 }
63 if (!($default_js_loaded || isset($defaults['loadingimage'])) || $options['loadingimage']) {
64 $defaults['loadingimage'] = $options['loadingimage'] ? $options['loadingimage'] : variable_get('jquery_media_loadingimage', '');
65 if ($defaults['loadingimage']) {
66 $defaults['loadingimage'] = url($defaults['loadingimage']);
67 $js .= " $.fn.media.defaults.loadingImage = '{$defaults['loadingimage']}';\n";
68 }
69 }
70 if (!($default_js_loaded || isset($defaults['autoplay'])) || isset($options['autoplay'])) {
71 $defaults['autoplay'] = $options['autoplay'] ? $options['autoplay'] : variable_get('jquery_media_autoplay', JQUERY_MEDIA_AUTOPLAY_DEFAULT);
72 if ($defaults['autoplay'] != JQUERY_MEDIA_AUTOPLAY_DEFAULT) {
73 $js .= " $.fn.media.defaults.autoplay = {$defaults['autoplay']};\n";
74 }
75 }
76 if (!($default_js_loaded || isset($defaults['bgcolor'])) || $options['bgcolor']) {
77 $defaults['bgcolor'] = $options['bgcolor'] ? $options['bgcolor'] : variable_get('jquery_media_bgcolor', JQUERY_MEDIA_BGCOLOR_DEFAULT);
78 if ($defaults['bgcolor'] != JQUERY_MEDIA_BGCOLOR_DEFAULT) {
79 $js .= " $.fn.media.defaults.bgColor = '{$defaults['bgcolor']}';\n";
80 }
81 }
82 if (!($default_js_loaded || isset($defaults['flashvars'])) || $options['flashvars']) {
83 $defaults['flashvars'] = $options['flashvars'] ? $options['flashvars'] : variable_get('jquery_media_flashvars', '');
84 if ($defaults['flashvars']) {
85 $js .= " $.fn.media.defaults.flashvars = { {$defaults['flashvars']} };\n";
86 }
87 }
88 if (!($default_js_loaded || isset($defaults['params'])) || $options['params']) {
89 $defaults['params'] = $options['params'] ? $options['params'] : variable_get('jquery_media_params', '');
90 if ($defaults['params']) {
91 $js .= " $.fn.media.defaults.params = { {$defaults['params']} };\n";
92 }
93 }
94 if (!($default_js_loaded || isset($defaults['invoke media'])) || $options['invoke media'] || $options['media class'] || $options['media width'] || $options['media height']) {
95 $defaults['invoke media'] = $options['invoke media'] ? $options['invoke media'] : variable_get('jquery_media_class_media_autoinvoke', JQUERY_MEDIA_CLASS_MEDIA_AUTOINVOKE_DEFAULT);
96 if ($defaults['invoke media']) {
97 $defaults['media class'] = $options['media class'] ? $options['media class'] : variable_get('jquery_media_class_media', JQUERY_MEDIA_CLASS_MEDIA_DEFAULT);
98 $defaults['media width'] = $options['media width'] ? $options['media width'] : variable_get('jquery_media_media_width', JQUERY_MEDIA_MEDIA_WIDTH_DEFAULT);
99 $defaults['media height'] = $options['media height'] ? $options['media height'] : variable_get('jquery_media_media_height', JQUERY_MEDIA_MEDIA_HEIGHT_DEFAULT);
100 $size = array();
101 if (!($defaults['media width'] === '')) {
102 $size[] = 'width: '. $defaults['media width'];
103 }
104 if (!($defaults['media height'] === '')) {
105 $size[] = 'height: '. $defaults['media height'];
106 }
107 $list = implode(', ', $size);
108 $list = $list ? " { $list } " : '';
109 if ($defaults['media class']) {
110 $js .= " $('{$defaults['media class']}').media($list);\n";
111 }
112 }
113 }
114 if (!($default_js_loaded || isset($defaults['invoke mediabox'])) || $options['invoke mediabox'] || $options['mediabox class']) {
115 $defaults['invoke mediabox'] = $options['invoke mediabox'] ? $options['invoke mediabox'] : variable_get('jquery_media_class_mediabox_autoinvoke', JQUERY_MEDIA_CLASS_MEDIABOX_AUTOINVOKE_DEFAULT);
116 if ($defaults['invoke mediabox']) {
117 _jquery_media_add_blockui();
118 $defaults['mediabox class'] = $options['mediabox class'] ? $options['mediabox class'] : variable_get('jquery_media_class_mediabox', JQUERY_MEDIA_CLASS_MEDIABOX_DEFAULT);
119 $defaults['mediabox width'] = $options['mediabox width'] ? $options['mediabox width'] : variable_get('jquery_media_mediabox_width', JQUERY_MEDIA_MEDIABOX_WIDTH_DEFAULT);
120 $defaults['mediabox height'] = $options['mediabox height'] ? $options['mediabox height'] : variable_get('jquery_media_mediabox_height', JQUERY_MEDIA_MEDIABOX_HEIGHT_DEFAULT);
121 $size = array();
122 if (!($defaults['mediabox width'] === '')) {
123 $size[] = 'width: '. $defaults['mediabox width'];
124 }
125 if (!($defaults['mediabox height'] === '')) {
126 $size[] = 'height: '. $defaults['mediabox height'];
127 }
128 $list = implode(', ', $size);
129 $list = $list ? " { $list } " : '';
130 if ($defaults['mediabox class']) {
131 $js .= " $('{$defaults['mediabox class']}').mediabox($list);\n";
132 }
133 }
134 }
135 if ($js) {
136 $js = $js = "\nif (Drupal.jsEnabled) {\n $(document).ready(function() {\n$js }); \n}\n";
137 }
138 if ($return_js == TRUE) {
139 return $js;
140 }
141 if ($js) {
142 drupal_add_js($js, 'inline');
143 }
144 }
145 }
146
147 /**
148 * Install the jQuery BoxUI plugin. This is required for mediabox. We attempt to invoke it through jq and jquery_blockui first,
149 * to make sure we have the most recent version available. As a fallback, it's included with this module.
150 */
151 function _jquery_media_add_blockui() {
152 static $jquery_blockui_installed;
153 if (!$jquery_blockui_installed) {
154 if (!($jquery_blockui_installed = module_invoke('jq', 'add', 'jquery_blockui'))) {
155 if (!($jquery_blockui_installed = module_invoke('jquery_blockui', 'add'))) {
156 drupal_add_js(drupal_get_path('module', 'jquery_media') .'/js/jquery.blockUI.js');
157 $jquery_blockui_installed = TRUE;
158 }
159 }
160 }
161 return TRUE;
162 }

  ViewVC Help
Powered by ViewVC 1.1.2