SIMPLEVIEWER,
'module' => 'simpleviewer',
'shared_file' => 'simpleviewer/viewer.swf',
'file' => 'xmlDataPath',
'version' => '7',
'title' => t('SimpleViewer - Airtight Interactive'),
);
$methods[SWFTOOLS_IMAGE_DISPLAY_LIST][SIMPLEVIEWER] = $image_rotator;
return $methods;
}
function swftools_admin_simpleviewer_form() {
drupal_set_title('Airtight Interactive - SimpleViewer');
include_once(drupal_get_path('module', 'simpleviewer') .'/simpleviewer.admin.inc');
return _swftools_admin_simpleviewer_form();
}
/**
* Implementation of hook_menu().
*/
function simpleviewer_menu($may_cache) {
$items = array();
if ($may_cache) {
$items[] = array('path' => 'admin/media/swf/simpleviewer',
'title' => t('SimpleViewer'),
'description' => t('Plug-in for SimpleViewer image gallery'),
'weight' => 1,
);
}
return $items;
}
/**
* Implementation of swftools_flashvars hook
* Allows the Flash player provider to add variables to the Flashvars array.
* Other arrays can also be modified.
*
*/
function simpleviewer_swftools_flashvars($action, &$methods, &$vars) {
$sv_vars = _simpleviewer_vars(TRUE);
// Here we only assign 'other' settings to othervars, and return 'swf' settings
// as the flashvars. 'xml' settings are for the xml file only.
// See http://www.airtightinteractive.com/forum/viewtopic.php?t=4085&start=0
if (is_array($sv_vars['other'])) {
$vars->othervars = array_merge($sv_vars['other'], $vars->othervars);
}
return $sv_vars['swf'];
}
/**
* These are the default options and flashvars.
*
*/
function _simpleviewer_vars($flat = FALSE) {
include_once(drupal_get_path('module', 'simpleviewer') .'/simpleviewer.admin.inc');
// Grab the admin form and use all of the default values as settings for the flash embedding.
$sv_vars = _swftools_admin_simpleviewer_form($flat);
// If $flat is false, then we want a normal form version of the settings page
if (!$flat) {
return $sv_vars;
}
foreach (element_children($sv_vars) AS $name) {
$name_parts = explode('_', $name);
if ($name_parts[1] == 'xml') {
// The last part of the Drupal variable name matches the SimpleViewer XML option name
$return['xml'][$name_parts[2]] = $sv_vars[$name]['#default_value'];
}
elseif ($name_parts[1] == 'swf') {
$return['swf'][$name_parts[2]] = $sv_vars[$name]['#default_value'];
}
else {
$return['other'][$name_parts[2]] = $sv_vars[$name]['#default_value'];
}
}
return $return;
}
function swftools_simpleviewer_playlist($playlist_data, &$method, &$vars) {
$sv_vars = _simpleviewer_vars(TRUE);
/*
$width = 0;
$height = 0;
foreach ($playlist_data['playlist'] AS $key => $file) {
$info = swftools_get_info($file['filepath']);
$height = max($info['height'], $height);
$width = max($info['width'], $width);
}
*/
$xml_vars = array_merge($sv_vars['xml'], $vars->flashvars);
$xml = ''."\n";
$xml .= 'params['base'] .'/" '.
'thumbPath="'. $vars->params['base'] .'/" '.
'enableRightClickOpen="'. $xml_vars['enableRightClickOpen'] .'" '.
'backgroundImagePath="'. $xml_vars['backgroundImagePath'] .'">';
foreach($playlist_data['playlist'] AS $track => $details) {
$xml .= '
'. $details['filename']. '
'. $details['description'] .'
';
}
$xml .= "\n";
return $xml;
}
/**
* Call swf(), enforcing SimpleViewer, for a pre-saved xml file
* Parameters are identical to swf()
*/
function simpleviewer_swf($filepath, $params = SWFDEFAULT, $flashvars = SWFDEFAULT, $othervars = SWFDEFAULT, $methods = SWFDEFAULT, $debug = FALSE) {
$methods['player'] = SIMPLEVIEWER;
return swf($playlist_data, $params, $flashvars, $othervars, $methods);
}
/**
* Call swf_list(), enforcing the SimpleViewer, for a playlist array
* Parameters and calling are identical to swf_list()
*/
function simpleviewer_swf_list($playlist_data, $params = SWFDEFAULT, $flashvars = SWFDEFAULT, $othervars = SWFDEFAULT, $methods = array()) {
$methods['player'] = 'simpleviewer';
return swf_list($playlist_data, $params, $flashvars, $othervars, $methods);
}