Feature #347 - The online editor: The "MP3" plugin is back as it was requested by Juan.
parent
0d870d404c
commit
55049d7d37
@ -0,0 +1,369 @@ |
||||
<?php |
||||
$language_file = array('create_course', 'document'); |
||||
include_once('global.inc.php'); |
||||
require_once(api_get_path(SYS_CODE_PATH).'inc/lib/course_document.lib.php'); |
||||
/* |
||||
============================================================================== |
||||
INIT SECTION |
||||
============================================================================== |
||||
*/ |
||||
// name of the language file that needs to be included |
||||
|
||||
require_once api_get_path(INCLUDE_PATH).'lib/fckeditor/repository.php'; |
||||
|
||||
include(api_get_path(SYS_CODE_PATH).'document/document.inc.php'); |
||||
|
||||
//if(!$is_in_admin){ |
||||
if(!api_is_platform_admin()){ |
||||
api_protect_course_script(); |
||||
} |
||||
|
||||
//session |
||||
if(isset($_GET['id_session'])) |
||||
$_SESSION['id_session'] = intval($_GET['id_session']); |
||||
|
||||
$htmlHeadXtra[] = |
||||
"<script type=\"text/javascript\"> |
||||
function confirmation (name) |
||||
{ |
||||
if (confirm(\" ". api_convert_encoding(get_lang('AreYouSureToDelete'), 'UTF-8', $charset) ." \"+ name + \" ?\")) |
||||
{return true;} |
||||
else |
||||
{return false;} |
||||
} |
||||
</script>"; |
||||
|
||||
/* |
||||
----------------------------------------------------------- |
||||
Variables |
||||
- some need defining before inclusion of libraries |
||||
----------------------------------------------------------- |
||||
*/ |
||||
|
||||
$sType = isset($sType) ? $sType : ''; |
||||
|
||||
if($sType=="MP3") $sType="audio"; |
||||
|
||||
// Resource type |
||||
$sType = strtolower($sType); |
||||
|
||||
// Choosing the repository to be used. |
||||
if (api_is_in_course()) |
||||
{ |
||||
if (!api_is_in_group()) |
||||
{ |
||||
// 1. We are inside a course and not in a group. |
||||
if (api_is_allowed_to_edit()) |
||||
{ |
||||
// 1.1. Teacher |
||||
$base_work_dir = api_get_path(SYS_COURSE_PATH).api_get_course_path().'/document/'; |
||||
$http_www = api_get_path(WEB_COURSE_PATH).api_get_course_path().'/document/'; |
||||
} |
||||
else |
||||
{ |
||||
// 1.2. Student |
||||
$base_work_dir = api_get_path(SYS_COURSE_PATH).api_get_course_path().'/document/shared_folder/'.api_get_user_id().'/'; |
||||
$http_www = api_get_path(WEB_COURSE_PATH).api_get_course_path().'/document/shared_folder/'.api_get_user_id().'/'; |
||||
} |
||||
} |
||||
else |
||||
{ |
||||
// 2. Inside a course and inside a group. |
||||
$base_work_dir = api_get_path(SYS_COURSE_PATH).api_get_course_path().'/document'.$group_properties['directory'].'/'; |
||||
$http_www = api_get_path(WEB_COURSE_PATH).api_get_course_path().'/document'.$group_properties['directory'].'/'; |
||||
} |
||||
} |
||||
else |
||||
{ |
||||
if (api_is_platform_admin() && $_SESSION['this_section'] == 'platform_admin') |
||||
{ |
||||
// 3. Platform administration activities. |
||||
$base_work_dir = $_configuration['root_sys'].'home/default_platform_document/'; |
||||
$http_www = $_configuration['root_web'].'home/default_platform_document/'; |
||||
} |
||||
else |
||||
{ |
||||
// 4. The user is outside courses. |
||||
$base_work_dir = $_configuration['root_sys'].'main/upload/users/'.api_get_user_id().'/my_files/'; |
||||
$http_www = $_configuration['root_web'].'main/upload/users/'.api_get_user_id().'/my_files/'; |
||||
} |
||||
} |
||||
|
||||
// Set the upload path according to the resource type. |
||||
if ($sType == 'audio') |
||||
{ |
||||
check_and_create_resource_directory($base_work_dir, '/audio', get_lang('Audio')); |
||||
$base_work_dir = $base_work_dir.'audio/'; |
||||
$http_www = $http_www.'audio/'; |
||||
$path = "/audio/"; |
||||
} |
||||
elseif ($sType == 'flash') |
||||
{ |
||||
check_and_create_resource_directory($base_work_dir, '/flash', get_lang('Flash')); |
||||
$base_work_dir = $base_work_dir.'flash/'; |
||||
$http_www = $http_www.'flash/'; |
||||
$path = "/flash/"; |
||||
} |
||||
elseif ($sType == 'images') |
||||
{ |
||||
check_and_create_resource_directory($base_work_dir, '/images', get_lang('Images')); |
||||
$base_work_dir = $base_work_dir.'images/'; |
||||
$http_www = $http_www.'images/'; |
||||
$path = "/images/"; |
||||
} |
||||
elseif ($sType == 'video') |
||||
{ |
||||
check_and_create_resource_directory($base_work_dir, '/video', get_lang('Video')); |
||||
$base_work_dir = $base_work_dir.'video/'; |
||||
$http_www = $http_www.'video/'; |
||||
$path = "/video/"; |
||||
} |
||||
elseif ($sType == 'video/flv') |
||||
{ |
||||
check_and_create_resource_directory($base_work_dir, '/video', get_lang('Video')); |
||||
check_and_create_resource_directory($base_work_dir, '/video/flv', 'flv'); |
||||
$base_work_dir = $base_work_dir.'video/flv/'; |
||||
$http_www = $http_www.'video/flv/'; |
||||
$path = "/video/flv/"; |
||||
} |
||||
|
||||
$course_dir = $_course['path']."/document/".$sType; |
||||
$sys_course_path = api_get_path(SYS_COURSE_PATH); |
||||
|
||||
$dbl_click_id = 0; // used to avoid double-click |
||||
$is_allowed_to_edit = api_is_allowed_to_edit(); |
||||
|
||||
$req_gid = ''; |
||||
|
||||
/* |
||||
----------------------------------------------------------- |
||||
Libraries |
||||
----------------------------------------------------------- |
||||
*/ |
||||
//libraries are included by default |
||||
|
||||
include_once(api_get_path(LIBRARY_PATH) . 'fileDisplay.lib.php'); |
||||
include_once(api_get_path(LIBRARY_PATH) . 'document.lib.php'); |
||||
include_once(api_get_path(LIBRARY_PATH) . 'tablesort.lib.php'); |
||||
|
||||
/* |
||||
----------------------------------------------------------- |
||||
Constants and variables |
||||
----------------------------------------------------------- |
||||
*/ |
||||
|
||||
$course_quota = DocumentManager::get_course_quota(); |
||||
|
||||
/* |
||||
============================================================================== |
||||
MAIN SECTION |
||||
============================================================================== |
||||
*/ |
||||
|
||||
|
||||
/* |
||||
----------------------------------------------------------- |
||||
Header |
||||
----------------------------------------------------------- |
||||
*/ |
||||
|
||||
$tool_name = get_lang("Doc"); // title of the page (should come from the language file) |
||||
|
||||
?> |
||||
<style type="text/css" media="screen, projection"> |
||||
/*<![CDATA[*/ |
||||
@import "<?php echo api_get_path(WEB_CODE_PATH); ?>css/public_admin/default.css";
|
||||
/*]]>*/ |
||||
</style> |
||||
|
||||
<?php |
||||
if(api_get_setting('stylesheets')<>'') |
||||
{ |
||||
?> |
||||
<style type="text/css" media="screen, projection"> |
||||
/*<![CDATA[*/ |
||||
@import "<?php echo api_get_path(WEB_CODE_PATH); ?>css/<?php echo api_get_setting('stylesheets');?>/default.css";
|
||||
/*]]>*/ |
||||
</style> |
||||
|
||||
<?php |
||||
} |
||||
|
||||
$is_allowed_to_edit = api_is_allowed_to_edit(); |
||||
|
||||
if($is_allowed_to_edit) // TEACHER ONLY |
||||
{ |
||||
|
||||
/*====================================== |
||||
DELETE FILE OR DIRECTORY |
||||
======================================*/ |
||||
|
||||
if ( isset($_GET['delete']) ) |
||||
{ |
||||
include_once(api_get_path(LIBRARY_PATH) . 'fileManage.lib.php'); |
||||
if(DocumentManager::delete_document($_course,$_GET['delete'],$base_work_dir)) |
||||
{ |
||||
Display::display_normal_message(api_convert_encoding(get_lang('DocDeleted'), 'UTF-8', $charset)); |
||||
} |
||||
else |
||||
{ |
||||
Display::display_normal_message(api_convert_encoding(get_lang('DocDeleteError'), 'UTF-8', $charset)); |
||||
} |
||||
} |
||||
|
||||
if( isset($_POST['action'])) |
||||
{ |
||||
switch($_POST['action']) |
||||
{ |
||||
case 'delete': |
||||
foreach($_POST['path'] as $index => $path) |
||||
{ |
||||
DocumentManager::delete_document($_course,$path,$base_work_dir); |
||||
} |
||||
Display::display_normal_message(api_convert_encoding(get_lang('DocDeleted'), 'UTF-8', $charset)); |
||||
break; |
||||
} |
||||
} |
||||
} |
||||
|
||||
/* |
||||
----------------------------------------------------------- |
||||
GET ALL DOCUMENT DATA FOR CURDIRPATH |
||||
----------------------------------------------------------- |
||||
*/ |
||||
|
||||
$docs_and_folders = getlist ($base_work_dir.'/'); |
||||
|
||||
?> |
||||
|
||||
<?php |
||||
if($docs_and_folders) |
||||
{ |
||||
//echo('<pre>'); |
||||
//print_r($docs_and_folders); |
||||
//echo('</pre>'); |
||||
//************************************************************************************************* |
||||
//do we need the title field for the document name or not? |
||||
//we get the setting here, so we only have to do it once |
||||
$use_document_title = api_get_setting('use_document_title'); |
||||
//create a sortable table with our data |
||||
$sortable_data = array(); |
||||
while (list ($key, $id) = each($docs_and_folders)) |
||||
{ |
||||
// Skip directories. |
||||
if ($id['filetype'] != 'file') |
||||
{ |
||||
continue; |
||||
} |
||||
|
||||
$row = array (); |
||||
|
||||
//if the item is invisible, wrap it in a span with class invisible |
||||
$invisibility_span_open = ($id['visibility']==0)?'<span class="invisible">':''; |
||||
$invisibility_span_close = ($id['visibility']==0)?'</span>':''; |
||||
//size (or total size of a directory) |
||||
$size = $id['filetype']=='folder' ? get_total_folder_size($id['path'],$is_allowed_to_edit) : $id[size]; |
||||
//get the title or the basename depending on what we're using |
||||
if ($use_document_title=='true' AND $id['title']<>'') |
||||
{ |
||||
$document_name=$id['title']; |
||||
} |
||||
else |
||||
{ |
||||
$document_name=basename($id['path']); |
||||
} |
||||
//$row[] = $key; //testing |
||||
//data for checkbox |
||||
/* |
||||
if ($is_allowed_to_edit AND count($docs_and_folders)>1) |
||||
{ |
||||
$row[] = $id['path']; |
||||
} |
||||
*/ |
||||
// icons with hyperlinks |
||||
$row[]= '<a href="#" onclick="javascript:OpenFile(\''.$http_www.'/'.$id['title'].'\', \''.$sType.'\');return false;">'.build_document_icon_tag($id['filetype'],$id['path']).'</a>'; |
||||
//document title with hyperlink |
||||
$row[] = '<a href="#" onclick="javascript:OpenFile(\''.$http_www.'/'.$id['title'].'\', \''.$sType.'\');return false;">'.$id['title'].'</a>'; |
||||
//comments => display comment under the document name |
||||
//$row[] = $invisibility_span_open.nl2br(htmlspecialchars($id['comment'])).$invisibility_span_close; |
||||
$display_size = format_file_size($size); |
||||
$row[] = '<span style="display:none;">'.$size.'</span>'.$invisibility_span_open.$display_size.$invisibility_span_close; |
||||
//last edit date |
||||
$display_date = format_date(strtotime($id['lastedit_date'])); |
||||
$row[] = '<span style="display:none;">'.$id['lastedit_date'].'</span>'.$invisibility_span_open.$display_date.$invisibility_span_close; |
||||
|
||||
$sortable_data[] = $row; |
||||
} |
||||
//******************************************************************************************* |
||||
|
||||
} |
||||
else |
||||
{ |
||||
$sortable_data=array(); |
||||
//$table_footer='<div style="text-align:center;"><strong>'.get_lang('NoDocsInFolder').'</strong></div>'; |
||||
} |
||||
|
||||
$table = new SortableTableFromArray($sortable_data,4,10); |
||||
$query_vars['curdirpath'] = $curdirpath; |
||||
if(isset($_SESSION['_gid'])) |
||||
{ |
||||
$query_vars['gidReq'] = $_SESSION['_gid']; |
||||
} |
||||
$table->set_additional_parameters($query_vars); |
||||
$column = 0; |
||||
/* |
||||
if ($is_allowed_to_edit AND count($docs_and_folders)>1) |
||||
{ |
||||
$table->set_header($column++,'',false); |
||||
} |
||||
*/ |
||||
|
||||
$table->set_header($column++, api_htmlentities(get_lang('Type'), ENT_QUOTES, $charset)); |
||||
$table->set_header($column++, api_htmlentities(get_lang('Title'), ENT_QUOTES, $charset)); |
||||
|
||||
//$column_header[] = array(get_lang('Comment'),true); => display comment under the document name |
||||
$table->set_header($column++, api_htmlentities(get_lang('Size'), ENT_QUOTES, $charset)); |
||||
$table->set_header($column++, api_htmlentities(get_lang('Date'), ENT_QUOTES, $charset)); |
||||
|
||||
//currently only delete action -> take only DELETE right into account |
||||
/* |
||||
if (count($docs_and_folders)>1) |
||||
{ |
||||
if ($is_allowed_to_edit) |
||||
{ |
||||
$form_actions = array(); |
||||
$form_action['delete'] = get_lang('Delete'); |
||||
$table->set_form_actions($form_action,'path'); |
||||
} |
||||
} |
||||
*/ |
||||
|
||||
echo api_convert_encoding($table->get_table_html(), 'UTF-8', $charset); |
||||
echo api_convert_encoding($table_footer, 'UTF-8', $charset); |
||||
|
||||
////////// functions //////////// |
||||
|
||||
|
||||
|
||||
?> |
||||
<script type="text/javascript"> |
||||
<!-- |
||||
function OpenFile( fileUrl, type ) |
||||
{ |
||||
if(type=="audio") |
||||
{ |
||||
ret = confirm('<?php echo api_convert_encoding(get_lang('AutostartMp3'), 'UTF-8', $charset); ?>');
|
||||
if(ret==true) |
||||
{ |
||||
GetE('autostart').checked = true; |
||||
} |
||||
else |
||||
{ |
||||
GetE('autostart').checked = false; |
||||
} |
||||
} |
||||
SetUrl( fileUrl ) ; |
||||
//window.close() ; |
||||
} |
||||
//--> |
||||
</script> |
@ -0,0 +1,426 @@ |
||||
var dialog = window.parent ; |
||||
var oEditor = window.parent.InnerDialogLoaded() ; |
||||
var FCK = oEditor.FCK ; |
||||
var FCKLang = oEditor.FCKLang ; |
||||
var FCKConfig = oEditor.FCKConfig ; |
||||
var FCKTools = oEditor.FCKTools ; |
||||
var mp3_url=""; |
||||
|
||||
// Set the language direction.
|
||||
window.document.dir = oEditor.FCKLang.Dir ; |
||||
|
||||
// We have to avoid javascript errors if some language variables have not been defined.
|
||||
FCKLang['UploadSelectFileFirst'] = FCKLang['UploadSelectFileFirst'] ? FCKLang['UploadSelectFileFirst'] : 'Please, select a file before pressing the upload button.' ; |
||||
FCKLang['FileSuccessfullyUploaded'] = FCKLang['FileSuccessfullyUploaded'] ? FCKLang['FileSuccessfullyUploaded'] : 'Your file has been successfully uploaded.' ; |
||||
FCKLang['FileRenamed'] = FCKLang['FileRenamed'] ? FCKLang['FileRenamed'] : 'A file with the same name is already available. The uploaded file has been renamed to ' ; |
||||
FCKLang['InvalidFileType'] = FCKLang['InvalidFileType'] ? FCKLang['InvalidFileType'] : 'Invalid file type.' ; |
||||
FCKLang['SecurityError'] = FCKLang['SecurityError'] ? FCKLang['SecurityError'] : 'Security error. You probably don\'t have enough permissions to upload. Please check your server.' ; |
||||
FCKLang['ConnectorDisabled'] = FCKLang['ConnectorDisabled'] ? FCKLang['ConnectorDisabled'] : 'The upload feature (connector) is disabled.' ; |
||||
FCKLang['UploadError'] = FCKLang['UploadError'] ? FCKLang['UploadError'] : 'Error on file upload. Error number: ' ; |
||||
|
||||
// Set the dialog tabs.
|
||||
window.parent.AddTab( 'Info', FCKLang.DlgMP3Tab ) ; |
||||
window.parent.AddTab( 'Upload', FCKLang.DlgMP3Upload ) ; |
||||
|
||||
function OnDialogTabChange( tabCode ) |
||||
{ |
||||
ShowE('divInfo' , ( tabCode == 'Info' ) ) ; |
||||
ShowE('divUpload' , ( tabCode == 'Upload' ) ) ; |
||||
} |
||||
|
||||
var sAgent = navigator.userAgent.toLowerCase() ; |
||||
var is_ie = (sAgent.indexOf("msie") != -1); // FCKBrowserInfo.IsIE
|
||||
var is_gecko = !is_ie; // FCKBrowserInfo.IsGecko
|
||||
var oMedia = null; |
||||
|
||||
|
||||
// Get the selected flash embed (if available).
|
||||
var oFakeImage = dialog.Selection.GetSelectedElement() ; |
||||
var oEmbed ; |
||||
|
||||
if ( oFakeImage ) |
||||
{ |
||||
if ( oFakeImage.tagName == 'IMG' && oFakeImage.getAttribute('_fckflash') ) |
||||
oEmbed = FCK.GetRealElement( oFakeImage ) ; |
||||
else |
||||
oFakeImage = null ; |
||||
} |
||||
|
||||
function window_onload(tab_to_select) |
||||
{ |
||||
// Translate the dialog box texts.
|
||||
oEditor.FCKLanguageManager.TranslatePage(document) ; |
||||
|
||||
if (!tab_to_select) |
||||
{ |
||||
window.parent.SetSelectedTab( 'Info' ) ; |
||||
//window.parent.SetSelectedTab( 'Upload' ) ;
|
||||
} |
||||
else |
||||
{ |
||||
window.parent.SetSelectedTab( tab_to_select ) ; |
||||
} |
||||
|
||||
// Load the selected element information (if any).
|
||||
LoadSelection() ; |
||||
|
||||
// Show/Hide the "Browse Server" button.
|
||||
GetE('tdBrowse').style.display = FCKConfig.MP3Browser ? '' : 'none' ; |
||||
|
||||
// Set the actual uploader URL.
|
||||
if ( FCKConfig.MP3Upload ) |
||||
{ |
||||
GetE('frmUpload').action = FCKConfig.MP3UploadURL ; |
||||
} |
||||
|
||||
window.parent.SetAutoSize( true ) ; |
||||
|
||||
// Activate the "OK" button.
|
||||
//window.parent.SetOkButton( true ) ;
|
||||
} |
||||
|
||||
|
||||
/** |
||||
* obtiene el elemento seleccionado |
||||
* Gets the selected item. |
||||
*/ |
||||
function getSelectedMovie() |
||||
{ |
||||
var oSel = null; |
||||
|
||||
// explorer..
|
||||
if (is_ie) { |
||||
oSel = FCK.Selection.GetSelectedElement( 'OBJECT' ); |
||||
} |
||||
|
||||
// gecko
|
||||
else if (is_gecko) { |
||||
var o = FCK.EditorWindow.getSelection() ; |
||||
|
||||
if ((o != null) && (o.anchorNode.tagName == 'OBJECT')) { |
||||
oSel = o.anchorNode; |
||||
} |
||||
} |
||||
|
||||
// other
|
||||
else |
||||
{ |
||||
alert ("Browser Not Supported"); |
||||
} |
||||
|
||||
return oSel; |
||||
} |
||||
|
||||
|
||||
function LoadSelection() |
||||
{ |
||||
oMedia = new Media(); |
||||
oMedia.setObjectElement(getSelectedMovie()); |
||||
GetE('mpUrl').value = getObjUrl(oMedia.url); |
||||
updatePreview(); |
||||
} |
||||
|
||||
//#### The OK button was hit.
|
||||
function Ok() |
||||
{ |
||||
if ( GetE('mpUrl').value.length == 0 ) |
||||
{ |
||||
window.parent.SetSelectedTab( 'Info' ) ; |
||||
GetE('mpUrl').focus() ; |
||||
alert( 'Please insert the URL.' ) ; |
||||
return false ; |
||||
} |
||||
|
||||
var oFakeImage = null ; |
||||
|
||||
oEmbed = FCK.EditorDocument.createElement('embed'); |
||||
UpdateEmbed(oEmbed); |
||||
|
||||
//oObject = FCK.EditorDocument.createElement('object');
|
||||
//oObject.appendChild(oEmbed);
|
||||
|
||||
/*SetAttribute(oObject, 'classid', 'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000'); |
||||
SetAttribute(oObject, 'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#6,0,0,0'); |
||||
SetAttribute(oObject, 'width', '300'); |
||||
SetAttribute(oObject, 'height', '20'); |
||||
|
||||
oParamBgcolor = FCK.EditorDocument.createElement('param'); |
||||
SetAttribute(oParamBgcolor, 'value', '#FFFFFF'); |
||||
SetAttribute(oParamBgcolor, 'name', 'bgcolor'); |
||||
oObject.appendChild(oParamBgcolor); |
||||
|
||||
oParamMovie = FCK.EditorDocument.createElement('param'); |
||||
SetAttribute(oParamMovie, 'value', getObjData(GetE('mpUrl').value)); |
||||
SetAttribute(oParamMovie, 'name', 'movie'); |
||||
oObject.appendChild(oParamMovie); |
||||
|
||||
oParamWAllowfullscreen = FCK.EditorDocument.createElement('param'); |
||||
SetAttribute(oParamWAllowfullscreen, 'value', 'false'); |
||||
SetAttribute(oParamWAllowfullscreen, 'name', 'allowfullscreen'); |
||||
oObject.appendChild(oParamWAllowfullscreen); |
||||
|
||||
oParamScriptAccess = FCK.EditorDocument.createElement('param'); |
||||
SetAttribute(oParamScriptAccess, 'value', 'always'); |
||||
SetAttribute(oParamScriptAccess, 'name', 'allowscriptaccess'); |
||||
oObject.appendChild(oParamScriptAccess); |
||||
|
||||
oParamSRC = FCK.EditorDocument.createElement('param'); |
||||
SetAttribute(oParamSRC, 'value', 'file='+getSoundUrl()+'&autostart='+getAutostart()); |
||||
SetAttribute(oParamSRC, 'name', 'flashvars'); |
||||
oObject.appendChild(oParamSRC);*/ |
||||
|
||||
oFakeImage = oEditor.FCKDocumentProcessor_CreateFakeImage( 'FCK__MP3', oEmbed ) ; |
||||
oFakeImage.setAttribute( '_fckmp3', 'true', 0 ) ; |
||||
oFakeImage = FCK.InsertElement( oFakeImage ) ; |
||||
|
||||
return true ; |
||||
} |
||||
|
||||
function UpdateEmbed( e ) |
||||
{ |
||||
SetAttribute( e, 'type' , 'application/x-shockwave-flash' ); |
||||
SetAttribute( e, 'pluginspage' , 'http://www.macromedia.com/go/getflashplayer' ); |
||||
SetAttribute( e, 'width' , '300' ); |
||||
SetAttribute( e, 'height' , '20' ); |
||||
SetAttribute( e, 'bgcolor' , '#FFFFFF' ); |
||||
SetAttribute( e, 'src', getObjData(GetE('mpUrl').value)); |
||||
SetAttribute( e, 'allowfullscreen', 'false' ); |
||||
SetAttribute( e, 'allowscriptaccess', 'always' ); |
||||
SetAttribute( e, 'flashvars', 'file='+getSoundUrl()+'&autostart='+getAutostart()); |
||||
} |
||||
|
||||
/** |
||||
* Obtiene los datos del form y actualiza el objeto.. |
||||
* Obtains data from the form and updates the object ... |
||||
*/ |
||||
function updateMovie(e) |
||||
{ |
||||
e.url = GetE('mpUrl').value; |
||||
} |
||||
|
||||
var ePreview ; |
||||
function SetPreviewElement( previewEl ) |
||||
{ |
||||
ePreview = previewEl ; |
||||
|
||||
if ( GetE('mpUrl').value.length > 0 ) |
||||
updatePreview() ; |
||||
} |
||||
|
||||
function updatePreview() |
||||
{ |
||||
if ( GetE('mpUrl').value.length == 0 ){ |
||||
return; |
||||
} |
||||
else { |
||||
window.parent.SetSelectedTab( 'Info' ) ; |
||||
} |
||||
} |
||||
|
||||
function BrowseServer() |
||||
{ |
||||
// Set the browser window feature.
|
||||
var iWidth = oEditor.FCKConfig.MP3BrowserWindowWidth ; |
||||
var iHeight = oEditor.FCKConfig.MP3BrowserWindowHeight ; |
||||
|
||||
var iLeft = (screen.width - iWidth) / 2 ; |
||||
var iTop = (screen.height - iHeight) / 2 ; |
||||
|
||||
var sOptions = "toolbar=no,status=no,resizable=yes,dependent=yes" ; |
||||
sOptions += ",width=" + iWidth ; |
||||
sOptions += ",height=" + iHeight ; |
||||
sOptions += ",left=" + iLeft ; |
||||
sOptions += ",top=" + iTop ; |
||||
|
||||
// Open the browser window.
|
||||
var oWindow = window.open( oEditor.FCKConfig.MP3BrowserURL, "FCKBrowseWindow", sOptions ) ; |
||||
} |
||||
|
||||
function SetUrl( url ) |
||||
{ |
||||
document.getElementById('mpUrl').value = url ; |
||||
//updatePreview();
|
||||
Ok(); |
||||
window.parent.Cancel(); |
||||
} |
||||
|
||||
var Media = function (o) |
||||
{ |
||||
this.url = ''; |
||||
this.width = ''; |
||||
this.height = ''; |
||||
if (o) |
||||
this.setObjectElement(o); |
||||
}; |
||||
|
||||
/** |
||||
* Toma los datos de un elemento. |
||||
* Takes data from an item. |
||||
*/ |
||||
Media.prototype.setObjectElement = function (e) |
||||
{ |
||||
if (!e) return ; |
||||
this.width = GetAttribute( e, 'width', this.width ); |
||||
this.height = GetAttribute( e, 'height', this.height ); |
||||
this.url = GetAttribute( e, 'data', this.url ); |
||||
// params
|
||||
for (var i=0;i<e.childNodes.length;i++){ |
||||
if (e.childNodes[i].tagName == 'PARAM'){ |
||||
var paramName = GetAttribute(e.childNodes[i], 'name', '').toLowerCase(); |
||||
var paramValue = GetAttribute(e.childNodes[i], 'value', ''); |
||||
|
||||
switch (paramName) |
||||
{ |
||||
case 'movie': |
||||
this.url = paramValue; |
||||
break; |
||||
case 'quality': |
||||
this.quality = paramValue; |
||||
break; |
||||
case 'scale': |
||||
this.scale = paramValue; |
||||
break; |
||||
case 'bgcolor': |
||||
this.bgcolor = paramValue; |
||||
break; |
||||
case 'loop': |
||||
this.loop = paramValue; |
||||
break; |
||||
case 'play': |
||||
this.play = paramValue; |
||||
break; |
||||
} |
||||
} |
||||
} |
||||
}; |
||||
|
||||
|
||||
/** |
||||
* Devuelve el codigo HTML externo del elemento |
||||
* Returns the HTML code of the external element |
||||
*/ |
||||
Media.prototype.getOuterHTML = function (objectId){ |
||||
var s; |
||||
s= this.getInnerHTML(objectId); |
||||
return s; |
||||
}; |
||||
|
||||
/** |
||||
* Devuelve el codigo HTML interno del elemento |
||||
* Returns the HTML code inside the element |
||||
*/ |
||||
Media.prototype.getInnerHTML = function (objectId) |
||||
{ |
||||
//var s = '<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" WIDTH="90" HEIGHT="25" id="test" ALIGN=""><PARAM NAME=movie VALUE="'+getObjData(this.url)+'?autostart='+getAutostart()+'&mp3file='+getSoundUrl()+'"> <PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#FFFFFF> <EMBED src="'+getObjData(this.url)+'?autostart='+getAutostart()+'&mp3file='+getSoundUrl()+'" quality=high bgcolor=#FFFFFF WIDTH="90" HEIGHT="25" NAME="Streaming" ALIGN=""TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED></OBJECT>';
|
||||
var s=''; return s; |
||||
}; |
||||
|
||||
Media.prototype.createAttribute = function(n,v) |
||||
{ |
||||
return ' '+n+'="'+v+'" '; |
||||
} |
||||
|
||||
function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg ) |
||||
{ |
||||
switch ( errorNumber ) |
||||
{ |
||||
case 0 : // No errors
|
||||
//alert( FCKLang['FileSuccessfullyUploaded'] ) ;
|
||||
break ; |
||||
case 1 : // Custom error
|
||||
alert( customMsg ) ; |
||||
return ; |
||||
case 101 : // Custom warning
|
||||
alert( customMsg ) ; |
||||
break ; |
||||
case 201 : |
||||
alert( FCKLang['FileRenamed'] + ' "' + fileName + '".' ) ; |
||||
break ; |
||||
case 202 : |
||||
alert( FCKLang['InvalidFileType'] ) ; |
||||
window.location.href=FCKConfig.PluginsPath + 'MP3/fck_mp3.php'; |
||||
return ; |
||||
case 203 : |
||||
alert( FCKLang['SecurityError'] ) ; |
||||
window.location.href=FCKConfig.PluginsPath + 'MP3/fck_mp3.php'; |
||||
return ; |
||||
case 500 : |
||||
alert( FCKLang['ConnectorDisabled'] ) ; |
||||
window.location.href=FCKConfig.PluginsPath + 'MP3/fck_mp3.php'; |
||||
return ; |
||||
default : |
||||
alert( FCKLang['UploadError'] + errorNumber ) ; |
||||
window.location.href=FCKConfig.PluginsPath + 'MP3/fck_mp3.php'; |
||||
return ; |
||||
} |
||||
|
||||
SetUrl( fileUrl ) ; |
||||
//SetAutostart(GetE('autostart').value);
|
||||
|
||||
GetE('frmUpload').reset() ; |
||||
// Reset the interface elements.
|
||||
//document.getElementById('eUploadMessage').innerHTML = 'Upload' ;
|
||||
document.getElementById('btnUpload').disabled = false ; |
||||
|
||||
} |
||||
|
||||
var oUploadAllowedExtRegex = new RegExp( FCKConfig.MP3UploadAllowedExtensions, 'i' ) ; |
||||
var oUploadDeniedExtRegex = new RegExp( FCKConfig.MP3UploadDeniedExtensions, 'i' ) ; |
||||
|
||||
function CheckUpload() |
||||
{ |
||||
var sFile = GetE('txtUploadFile').value ; |
||||
|
||||
if ( sFile.length == 0 ) |
||||
{ |
||||
alert( FCKLang['UploadSelectFileFirst'] ) ; |
||||
return false ; |
||||
} |
||||
|
||||
if ( ( FCKConfig.MP3UploadAllowedExtensions.length > 0 && !oUploadAllowedExtRegex.test( sFile ) ) || |
||||
( FCKConfig.MP3UploadDeniedExtensions.length > 0 && oUploadDeniedExtRegex.test( sFile ) ) ) |
||||
{ |
||||
OnUploadCompleted( 202 ) ; |
||||
return false ; |
||||
} |
||||
//document.getElementById('eUploadMessage').innerHTML = 'Upload in progress, please wait...' ;
|
||||
document.getElementById('btnUpload').disabled = true ; |
||||
return true ; |
||||
} |
||||
|
||||
function getObjData(mpUrl) |
||||
{ // to create data attribute for object
|
||||
var url=mpUrl; |
||||
//var configBasePath = FCKConfig.BasePath;
|
||||
//var cor_indx=configBasePath.indexOf("inc/")+4;
|
||||
//configBasePath.substring(0, cor_indx)+"lib/mp3player/player_mp3.swf";
|
||||
var objdata = rel_path+'inc/lib/mediaplayer/player.swf'; // real_path variable is defined in fck_mp3.php
|
||||
setSoundUrl(GetE('mpUrl').value); |
||||
return objdata; |
||||
} |
||||
|
||||
function setSoundUrl(url) |
||||
{ |
||||
// Added by Ivan Tcholakov.
|
||||
url = FCK.GetUrl( url, FCK.SEMI_ABSOLUTE_URL ) ; |
||||
|
||||
mp3_url = url ; |
||||
} |
||||
|
||||
function getSoundUrl() |
||||
{ |
||||
return mp3_url; |
||||
} |
||||
|
||||
function getAutostart() |
||||
{ |
||||
return GetE('autostart').checked; |
||||
} |
||||
|
||||
function getObjUrl(mpUrl2) |
||||
{ // to get source url
|
||||
var url2=mpUrl2; |
||||
var cor_indx2 = url2.indexOf("son=")+4; |
||||
var objdata2 = url2.substring(cor_indx2, mpUrl2.length); |
||||
return objdata2; |
||||
} |
@ -0,0 +1,84 @@ |
||||
<?php |
||||
// name of the language file that needs to be included |
||||
$language_file = array('resourcelinker','document'); |
||||
include('../../../../../../inc/global.inc.php'); |
||||
?> |
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
||||
<html> |
||||
<head> |
||||
<title>Import MP3</title> |
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
||||
<meta content="noindex, nofollow" name="robots"> |
||||
<script type="text/javascript"> |
||||
/*<![CDATA[*/ |
||||
var rel_path = "<?php echo api_get_path(REL_CODE_PATH); ?>";
|
||||
//var tab_to_select = '<?php echo !empty($_SERVER['QUERY_STRING']) ? 'Info' : 'Upload'; ?>';
|
||||
var tab_to_select = 'Info' ; |
||||
/*]]>*/ |
||||
</script> |
||||
<script src="../../dialog/common/fck_dialog_common.js" type="text/javascript"></script> |
||||
<script src="fck_mp3.js" type="text/javascript"></script> |
||||
<link href="../../dialog/common/fck_dialog_common.css" type="text/css" rel="stylesheet"> |
||||
</head> |
||||
<body> <!--scroll="no" style="overflow: hidden"--> |
||||
<div id="divInfo"> |
||||
<div id="divExtra1"style="display: none"> |
||||
<table cellspacing="1" cellpadding="1" border="0" width="100%"> |
||||
<tr> |
||||
<td> |
||||
<table cellspacing="0" cellpadding="0" width="100%" border="0"> |
||||
<tr> |
||||
<td valign="top" width="100%"> |
||||
<span fckLang="DlgMP3URL">URL</span><br> |
||||
<input id="mpUrl" onBlur="javascript:updatePreview();" style="width: 100%" type="text"> |
||||
</td> |
||||
<td id="tdBrowse" valign="bottom" nowrap> |
||||
<input type="button" fckLang="DlgMP3BtnBrowse" value="Browse Server" onClick="javascript:BrowseServer();" id="btnBrowse"> |
||||
</td> |
||||
</tr> |
||||
</table> |
||||
</td> |
||||
</tr> |
||||
</table> |
||||
</div> |
||||
<div style="text-align: center;"> |
||||
<table style="width: 95%; border: none; margin-left: auto; margin-right: auto;"> |
||||
<tr> |
||||
<td> |
||||
<?php |
||||
$sType = "MP3"; |
||||
//if (api_is_in_course() || api_is_platform_admin()) |
||||
//{ |
||||
include(api_get_path(INCLUDE_PATH).'course_document.inc.php'); |
||||
//} |
||||
?> |
||||
</td> |
||||
</tr> |
||||
</table> |
||||
</div> |
||||
</div> |
||||
<div id="divUpload" style="display: none"> |
||||
<?php |
||||
include_once(api_get_path(LIBRARY_PATH).'formvalidator/FormValidator.class.php'); |
||||
$form = new FormValidator('frmUpload','POST','','UploadWindow','id="frmUpload" enctype="multipart/form-data" onSubmit="javascript:return CheckUpload();"'); |
||||
$form->addElement('html','<table cellspacing="1" cellpadding="1" border="0" width="90%" align="center">'); |
||||
$form->addElement('html','<tr><td> </td><tr><td>'); |
||||
$form->addElement('file','NewFile','','id="txtUploadFile" size="40"'); |
||||
$form->addElement('html','</td></tr>'); |
||||
$form->addElement('html','<tr><td>'); |
||||
//$renderer = & $form->defaultRenderer(); |
||||
//$renderer->setElementTemplate('<div style="margin-left:-4px;">{element} {label}</div>', 'autostart'); |
||||
$form->addElement('checkbox', 'autostart', '', ' '.api_convert_encoding(get_lang('FckMp3Autostart'), 'UTF-8', $charset), array('id' => 'autostart')); |
||||
$form->addElement('html','</td></tr>'); |
||||
$form->addElement('html','<tr><td>'); |
||||
$form->addElement('submit','','Send it to the Server','id="btnUpload" fckLang="DlgLnkBtnUpload"'); |
||||
$form->addElement('html','</td></tr></table>'); |
||||
$form->addElement('html','<iframe name="UploadWindow" style="display: none" src="../../fckblank.html"></iframe>'); |
||||
|
||||
$form->add_real_progress_bar('fckMP3','NewFile'); |
||||
$form->display(); |
||||
?> |
||||
</div> |
||||
<script type="text/javascript">window_onload(tab_to_select);</script> |
||||
</body> |
||||
</html> |
@ -0,0 +1,10 @@ |
||||
// Register the command.
|
||||
FCKCommands.RegisterCommand( 'MP3', |
||||
new FCKDialogCommand( FCKLang["DlgMP3Title"], FCKLang["DlgMP3Title"], |
||||
FCKConfig.PluginsPath + 'MP3/fck_mp3.php', 600, 530 ) |
||||
) ; |
||||
|
||||
// Create and register the MP3 toolbar button.
|
||||
var oMP3Item = new FCKToolbarButton( 'MP3', FCKLang["DlgMP3Title"] ) ; |
||||
oMP3Item.IconPath = FCKConfig.PluginsPath + 'MP3/mp3.gif' ; |
||||
FCKToolbarItems.RegisterItem( 'MP3', oMP3Item ) ; |
@ -0,0 +1,8 @@ |
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> |
||||
<head> |
||||
</head> |
||||
<body> |
||||
<br /> |
||||
</body> |
||||
</html> |
@ -0,0 +1,8 @@ |
||||
/* |
||||
* Asturian language file. |
||||
* Please, use UTF-8 encoding. |
||||
*/ |
||||
|
||||
FCKLang["DlgMP3Title"] = "Import MP3" ; |
||||
FCKLang["DlgMP3Upload"] = "From my Computer" ; |
||||
FCKLang["DlgMP3Tab"] = "From course" ; |
@ -0,0 +1,9 @@ |
||||
// Bulgarian language file.
|
||||
// MP3 Dialog.
|
||||
// Please, use UTF-8 encoding.
|
||||
|
||||
FCKLang["DlgMP3Title"] = "Добавяне/Редактиране на аудио файл" ; |
||||
FCKLang["DlgMP3Upload"] = "Качване на файл" ; |
||||
FCKLang["DlgMP3Tab"] = "Файлове на сървъра" ; |
||||
|
||||
|
@ -0,0 +1,7 @@ |
||||
// English (Australia) language file.
|
||||
// MP3 Dialog.
|
||||
// Please, use UTF-8 encoding.
|
||||
|
||||
FCKLang["DlgMP3Title"] = "Import MP3" ; |
||||
FCKLang["DlgMP3Upload"] = "From my Computer" ; |
||||
FCKLang["DlgMP3Tab"] = "From course" ; |
@ -0,0 +1,7 @@ |
||||
// English (Canadian) language file.
|
||||
// MP3 Dialog.
|
||||
// Please, use UTF-8 encoding.
|
||||
|
||||
FCKLang["DlgMP3Title"] = "Import MP3" ; |
||||
FCKLang["DlgMP3Upload"] = "From my Computer" ; |
||||
FCKLang["DlgMP3Tab"] = "From course" ; |
@ -0,0 +1,7 @@ |
||||
// English (United Kingdom) language file.
|
||||
// MP3 Dialog.
|
||||
// Please, use UTF-8 encoding.
|
||||
|
||||
FCKLang["DlgMP3Title"] = "Import MP3" ; |
||||
FCKLang["DlgMP3Upload"] = "From my Computer" ; |
||||
FCKLang["DlgMP3Tab"] = "From course" ; |
@ -0,0 +1,8 @@ |
||||
/* |
||||
* Friulian language file. |
||||
* Please, use UTF-8 encoding. |
||||
*/ |
||||
|
||||
FCKLang["DlgMP3Title"] = "Import MP3" ; |
||||
FCKLang["DlgMP3Upload"] = "From my Computer" ; |
||||
FCKLang["DlgMP3Tab"] = "From course" ; |
@ -0,0 +1,8 @@ |
||||
/* |
||||
* Indonesian language file. |
||||
* Please, use UTF-8 encoding. |
||||
*/ |
||||
|
||||
FCKLang["DlgMP3Title"] = "Import MP3" ; |
||||
FCKLang["DlgMP3Upload"] = "From my Computer" ; |
||||
FCKLang["DlgMP3Tab"] = "From course" ; |
@ -0,0 +1,8 @@ |
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> |
||||
<head> |
||||
</head> |
||||
<body> |
||||
<br /> |
||||
</body> |
||||
</html> |
@ -0,0 +1,8 @@ |
||||
/* |
||||
* Georgian language file. |
||||
* Please, use UTF-8 encoding. |
||||
*/ |
||||
|
||||
FCKLang["DlgMP3Title"] = "Import MP3" ; |
||||
FCKLang["DlgMP3Upload"] = "From my Computer" ; |
||||
FCKLang["DlgMP3Tab"] = "From course" ; |
@ -0,0 +1,8 @@ |
||||
/* |
||||
* Macedonian language file. |
||||
* Please, use UTF-8 encoding. |
||||
*/ |
||||
|
||||
FCKLang["DlgMP3Title"] = "Import MP3" ; |
||||
FCKLang["DlgMP3Upload"] = "From my Computer" ; |
||||
FCKLang["DlgMP3Tab"] = "From course" ; |
@ -0,0 +1,8 @@ |
||||
/* |
||||
* Occitan language file. |
||||
* Please, use UTF-8 encoding. |
||||
*/ |
||||
|
||||
FCKLang["DlgMP3Title"] = "Import MP3" ; |
||||
FCKLang["DlgMP3Upload"] = "From my Computer" ; |
||||
FCKLang["DlgMP3Tab"] = "From course" ; |
@ -0,0 +1,8 @@ |
||||
/* |
||||
* Dari language file. |
||||
* Please, use UTF-8 encoding. |
||||
*/ |
||||
|
||||
FCKLang["DlgMP3Title"] = "Import MP3" ; |
||||
FCKLang["DlgMP3Upload"] = "From my Computer" ; |
||||
FCKLang["DlgMP3Tab"] = "From course" ; |
@ -0,0 +1,8 @@ |
||||
/* |
||||
* Pashto language file. |
||||
* Please, use UTF-8 encoding. |
||||
*/ |
||||
|
||||
FCKLang["DlgMP3Title"] = "Import MP3" ; |
||||
FCKLang["DlgMP3Upload"] = "From my Computer" ; |
||||
FCKLang["DlgMP3Tab"] = "From course" ; |
@ -0,0 +1,8 @@ |
||||
/* |
||||
* Runasimi (Quechua-Cusco) language file. |
||||
* Please, use UTF-8 encoding. |
||||
*/ |
||||
|
||||
FCKLang["DlgMP3Title"] = "Import MP3" ; |
||||
FCKLang["DlgMP3Upload"] = "From my Computer" ; |
||||
FCKLang["DlgMP3Tab"] = "From course" ; |
@ -0,0 +1,8 @@ |
||||
/* |
||||
* Swahili language file. |
||||
* Please, use UTF-8 encoding. |
||||
*/ |
||||
|
||||
FCKLang["DlgMP3Title"] = "Import MP3" ; |
||||
FCKLang["DlgMP3Upload"] = "From my Computer" ; |
||||
FCKLang["DlgMP3Tab"] = "From course" ; |
@ -0,0 +1,8 @@ |
||||
/* |
||||
* Yoruba language file. |
||||
* Please, use UTF-8 encoding. |
||||
*/ |
||||
|
||||
FCKLang["DlgMP3Title"] = "Import MP3" ; |
||||
FCKLang["DlgMP3Upload"] = "From my Computer" ; |
||||
FCKLang["DlgMP3Tab"] = "From course" ; |
After Width: | Height: | Size: 527 B |
Loading…
Reference in new issue