Browse Source

Feature #347 - The online editor: The "MP3" plugin is back as it was requested by Juan.

Ivan Tcholakov 15 years ago
parent
commit
55049d7d37
76 changed files with 1399 additions and 0 deletions
  1. 369 0
      main/inc/course_document.inc.php
  2. 426 0
      main/inc/lib/fckeditor/editor/plugins/MP3/fck_mp3.js
  3. 84 0
      main/inc/lib/fckeditor/editor/plugins/MP3/fck_mp3.php
  4. 10 0
      main/inc/lib/fckeditor/editor/plugins/MP3/fckplugin.js
  5. 8 0
      main/inc/lib/fckeditor/editor/plugins/MP3/index.html
  6. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/af.js
  7. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/ar.js
  8. 8 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/ast.js
  9. 9 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/bg.js
  10. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/bn.js
  11. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/bs.js
  12. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/ca.js
  13. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/cs.js
  14. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/da.js
  15. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/de.js
  16. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/el.js
  17. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/en-au.js
  18. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/en-ca.js
  19. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/en-uk.js
  20. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/en.js
  21. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/eo.js
  22. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/es.js
  23. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/et.js
  24. 8 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/eu.js
  25. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/fa.js
  26. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/fi.js
  27. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/fo.js
  28. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/fr-ca.js
  29. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/fr.js
  30. 8 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/fur.js
  31. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/gl.js
  32. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/gu.js
  33. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/he.js
  34. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/hi.js
  35. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/hr.js
  36. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/hu.js
  37. 8 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/id.js
  38. 8 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/index.html
  39. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/is.js
  40. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/it.js
  41. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/ja.js
  42. 8 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/ka.js
  43. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/km.js
  44. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/ko.js
  45. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/lt.js
  46. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/lv.js
  47. 8 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/mk.js
  48. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/mn.js
  49. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/ms.js
  50. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/nb.js
  51. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/nl.js
  52. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/no.js
  53. 8 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/oc.js
  54. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/pl.js
  55. 8 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/prs.js
  56. 8 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/ps.js
  57. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/pt-br.js
  58. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/pt.js
  59. 8 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/qu.js
  60. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/ro.js
  61. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/ru.js
  62. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/sk.js
  63. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/sl.js
  64. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/sr-latn.js
  65. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/sr.js
  66. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/sv.js
  67. 8 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/sw.js
  68. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/th.js
  69. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/tr.js
  70. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/uk.js
  71. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/vi.js
  72. 8 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/yo.js
  73. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/zh-cn.js
  74. 7 0
      main/inc/lib/fckeditor/editor/plugins/MP3/lang/zh.js
  75. BIN
      main/inc/lib/fckeditor/editor/plugins/MP3/mp3.gif
  76. 4 0
      main/inc/lib/fckeditor/myconfig.php

+ 369 - 0
main/inc/course_document.inc.php

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

+ 426 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/fck_mp3.js

@@ -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;
+}

+ 84 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/fck_mp3.php

@@ -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>&nbsp;</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', '', '&nbsp;'.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>

+ 10 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/fckplugin.js

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

+ 8 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/index.html

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

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/af.js

@@ -0,0 +1,7 @@
+// Afrikaans language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/ar.js

@@ -0,0 +1,7 @@
+// Arabic language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 8 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/ast.js

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

+ 9 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/bg.js

@@ -0,0 +1,9 @@
+// Bulgarian language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Добавяне/Редактиране на аудио файл" ;
+FCKLang["DlgMP3Upload"] = "Качване на файл" ;
+FCKLang["DlgMP3Tab"] = "Файлове на сървъра" ;
+
+

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/bn.js

@@ -0,0 +1,7 @@
+// Bengali/Bangla language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/bs.js

@@ -0,0 +1,7 @@
+// Bosnian language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/ca.js

@@ -0,0 +1,7 @@
+// Catalan language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/cs.js

@@ -0,0 +1,7 @@
+// Czech language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/da.js

@@ -0,0 +1,7 @@
+// Danish language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/de.js

@@ -0,0 +1,7 @@
+// German language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/el.js

@@ -0,0 +1,7 @@
+// Greek language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/en-au.js

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

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/en-ca.js

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

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/en-uk.js

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

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/en.js

@@ -0,0 +1,7 @@
+// English language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/eo.js

@@ -0,0 +1,7 @@
+// Esperanto language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/es.js

@@ -0,0 +1,7 @@
+// Spanish language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Importar MP3" ;
+FCKLang["DlgMP3Upload"] = "Desde mi Ordenador" ;
+FCKLang["DlgMP3Tab"] = "Desde mi curso" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/et.js

@@ -0,0 +1,7 @@
+// Estonian language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 8 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/eu.js

@@ -0,0 +1,8 @@
+// Basque language file.
+// Euskara hizkuntza fitxategia.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/fa.js

@@ -0,0 +1,7 @@
+// Persian language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/fi.js

@@ -0,0 +1,7 @@
+// Finnish language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/fo.js

@@ -0,0 +1,7 @@
+// Faroese language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/fr-ca.js

@@ -0,0 +1,7 @@
+// Canadian French language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/fr.js

@@ -0,0 +1,7 @@
+// French language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 8 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/fur.js

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

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/gl.js

@@ -0,0 +1,7 @@
+// Galician language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/gu.js

@@ -0,0 +1,7 @@
+// Gujarati language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/he.js

@@ -0,0 +1,7 @@
+// Hebrew language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/hi.js

@@ -0,0 +1,7 @@
+// Hindi language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/hr.js

@@ -0,0 +1,7 @@
+// Croatian language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/hu.js

@@ -0,0 +1,7 @@
+// Hungarian language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 8 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/id.js

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

+ 8 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/index.html

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

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/is.js

@@ -0,0 +1,7 @@
+// Icelandic language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/it.js

@@ -0,0 +1,7 @@
+// Italian language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/ja.js

@@ -0,0 +1,7 @@
+// Japanese language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 8 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/ka.js

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

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/km.js

@@ -0,0 +1,7 @@
+// Khmer language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/ko.js

@@ -0,0 +1,7 @@
+// Korean language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/lt.js

@@ -0,0 +1,7 @@
+// Lithuanian language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/lv.js

@@ -0,0 +1,7 @@
+// Latvian language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 8 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/mk.js

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

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/mn.js

@@ -0,0 +1,7 @@
+// Mongolian language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/ms.js

@@ -0,0 +1,7 @@
+// Malay language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/nb.js

@@ -0,0 +1,7 @@
+// Norwegian Bokmål language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/nl.js

@@ -0,0 +1,7 @@
+// Dutch language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/no.js

@@ -0,0 +1,7 @@
+// Norwegian language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 8 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/oc.js

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

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/pl.js

@@ -0,0 +1,7 @@
+// Polish language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 8 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/prs.js

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

+ 8 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/ps.js

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

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/pt-br.js

@@ -0,0 +1,7 @@
+// Brazilian Portuguese language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/pt.js

@@ -0,0 +1,7 @@
+// Portuguese language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 8 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/qu.js

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

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/ro.js

@@ -0,0 +1,7 @@
+// Romanian language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/ru.js

@@ -0,0 +1,7 @@
+// Russian language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/sk.js

@@ -0,0 +1,7 @@
+// Slovak language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/sl.js

@@ -0,0 +1,7 @@
+// Slovenian language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/sr-latn.js

@@ -0,0 +1,7 @@
+// Serbian (Latin) language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/sr.js

@@ -0,0 +1,7 @@
+// Serbian (Cyrillic) language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/sv.js

@@ -0,0 +1,7 @@
+// Swedish language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 8 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/sw.js

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

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/th.js

@@ -0,0 +1,7 @@
+// Thai language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/tr.js

@@ -0,0 +1,7 @@
+// Turkish language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/uk.js

@@ -0,0 +1,7 @@
+// Ukrainian language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/vi.js

@@ -0,0 +1,7 @@
+// Vietnamese language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 8 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/yo.js

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

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/zh-cn.js

@@ -0,0 +1,7 @@
+// Chinese Simplified language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

+ 7 - 0
main/inc/lib/fckeditor/editor/plugins/MP3/lang/zh.js

@@ -0,0 +1,7 @@
+// Chinese Traditional language file.
+// MP3 Dialog.
+// Please, use UTF-8 encoding.
+
+FCKLang["DlgMP3Title"] = "Import MP3" ;
+FCKLang["DlgMP3Upload"] = "From my Computer" ;
+FCKLang["DlgMP3Tab"] = "From course" ;

BIN
main/inc/lib/fckeditor/editor/plugins/MP3/mp3.gif


+ 4 - 0
main/inc/lib/fckeditor/myconfig.php

@@ -109,6 +109,10 @@ if (api_get_setting('show_glossary_in_documents') == 'ismanual') {
 	$config['LoadPlugin'][] = 'glossary';
 }
 
+// MP3: This is the old plugin for inserting audio files.
+// If you wish to use it, disable the "audio" plugin first.
+//$config['LoadPlugin'][] = 'MP3';
+
 // ImageManager : Adds a dialog (image gallery) for inserting images. The advanced file manager has its own functionality
 // for previewing images. This is why we load this plugin only in case when the simple file manager is used.
 if (!(api_get_setting('advanced_filemanager') == 'true')) {