1/* 2 * FCKeditor - The text editor for Internet - http://www.fckeditor.net 3 * Copyright (C) 2003-2007 Frederico Caldeira Knabben 4 * 5 * == BEGIN LICENSE == 6 * 7 * Licensed under the terms of any of the following licenses at your 8 * choice: 9 * 10 * - GNU General Public License Version 2 or later (the "GPL") 11 * http://www.gnu.org/licenses/gpl.html 12 * 13 * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") 14 * http://www.gnu.org/licenses/lgpl.html 15 * 16 * - Mozilla Public License Version 1.1 or later (the "MPL") 17 * http://www.mozilla.org/MPL/MPL-1.1.html 18 * 19 * == END LICENSE == 20 * 21 * FCKPlugin Class: Represents a single plugin. 22 */ 23 24var FCKPlugin = function( name, availableLangs, basePath ) 25{ 26 this.Name = name ; 27 this.BasePath = basePath ? basePath : FCKConfig.PluginsPath ; 28 this.Path = this.BasePath + name + '/' ; 29 30 if ( !availableLangs || availableLangs.length == 0 ) 31 this.AvailableLangs = new Array() ; 32 else 33 this.AvailableLangs = availableLangs.split(',') ; 34} 35 36FCKPlugin.prototype.Load = function() 37{ 38 // Load the language file, if defined. 39 if ( this.AvailableLangs.length > 0 ) 40 { 41 var sLang ; 42 43 // Check if the plugin has the language file for the active language. 44 if ( this.AvailableLangs.IndexOf( FCKLanguageManager.ActiveLanguage.Code ) >= 0 ) 45 sLang = FCKLanguageManager.ActiveLanguage.Code ; 46 else 47 // Load the default language file (first one) if the current one is not available. 48 sLang = this.AvailableLangs[0] ; 49 50 // Add the main plugin script. 51 LoadScript( this.Path + 'lang/' + sLang + '.js' ) ; 52 } 53 54 // Add the main plugin script. 55 LoadScript( this.Path + 'fckplugin.js' ) ; 56}