Upgrade to Xinha 0.931. Xinha has been optimized for size and dozens of issues have been closed
out since the last upgrade . Add Firefox and Xinha buttons to main page to show our support.
BIN
images/xinha-red-95.png
Normal file
|
After Width: | Height: | Size: 4.3 KiB |
@@ -693,7 +693,7 @@ function HtmlAreaLoaderScript($aTextareas)
|
||||
|
||||
echo '
|
||||
<!-- Load up the actual editor core -->
|
||||
<script type="text/javascript" src="'.BASE.'xinha/htmlarea.js"></script>
|
||||
<script type="text/javascript" src="'.BASE.'xinha/XinhaCore.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
xinha_editors_'.$outputIndex.' = null;
|
||||
|
||||
20
index.php
@@ -131,6 +131,26 @@ If you have screenshots or links to contribute, please browse the database and u
|
||||
application site, with tips and how-to's on getting listed apps to run.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
|
||||
// promotional buttons
|
||||
echo "<center>\n";
|
||||
echo "<table>\n";
|
||||
echo "<tr>\n";
|
||||
echo "<td style='padding:10px;'>\n";
|
||||
echo '<a href="http://getfirefox.com/"
|
||||
title="Get Firefox - Web browsing redefined."><img
|
||||
src="http://www.mozilla.org/products/firefox/buttons/getfirefox_large2.png"
|
||||
width="178" height="60" border="0" alt="Get Firefox"></a>'."\n";
|
||||
echo "</td>\n";
|
||||
echo "<td style='padding:10px;'>\n";
|
||||
echo '<a href="http://xinha.python-hosting.com/" title="Xinha textarea replacement">
|
||||
<img src="images/xinha-red-95.png" width="95" height="100" alt="Xinha"></a>'."\n";
|
||||
echo "</td>\n";
|
||||
echo "</tr>\n";
|
||||
echo "</table>\n";
|
||||
echo "</center>\n";
|
||||
|
||||
apidb_footer();
|
||||
?>
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
.htmlarea { background: #fff; margin:2px; }
|
||||
.htmlarea { background: #fff; }
|
||||
.htmlarea td { margin:0;padding:0; }
|
||||
|
||||
.htmlarea .toolbar {
|
||||
cursor: default;
|
||||
@@ -49,11 +50,12 @@
|
||||
.htmlarea .toolbar .buttonDisabled img {
|
||||
filter: gray() alpha(opacity = 25);
|
||||
-moz-opacity: 0.25;
|
||||
opacity: 0.25;
|
||||
}
|
||||
|
||||
.htmlarea .toolbar .separator {
|
||||
/*position: relative;*/
|
||||
margin: 3px;
|
||||
margin:0 3px;
|
||||
border-left: 1px solid ButtonShadow;
|
||||
border-right: 1px solid ButtonHighlight;
|
||||
width: 0px;
|
||||
@@ -70,8 +72,8 @@
|
||||
.htmlarea .toolbar select:active {
|
||||
margin-top: 2px;
|
||||
margin-bottom: 1px;
|
||||
background: FieldFace;
|
||||
color: ButtonText;
|
||||
height: 17px;
|
||||
}
|
||||
|
||||
.htmlarea iframe.xinha_iframe, .htmlarea textarea.xinha_textarea
|
||||
@@ -86,6 +88,7 @@
|
||||
background-color: ButtonFace;
|
||||
color: ButtonText;
|
||||
font: 11px Tahoma,Verdana,sans-serif;
|
||||
height:16px;
|
||||
}
|
||||
|
||||
.htmlarea .statusBar .statusBarTree a {
|
||||
@@ -145,16 +148,13 @@
|
||||
}
|
||||
|
||||
.dialog .buttonColor {
|
||||
width :1em;
|
||||
padding: 1px;
|
||||
cursor: default;
|
||||
border: 1px solid;
|
||||
border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;
|
||||
}
|
||||
|
||||
.dialog .buttonColor-hilite {
|
||||
border-color: #000;
|
||||
}
|
||||
|
||||
.dialog .buttonColor .chooser, .dialog .buttonColor .nocolor {
|
||||
height: 0.6em;
|
||||
border: 1px solid;
|
||||
@@ -162,6 +162,13 @@
|
||||
border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;
|
||||
}
|
||||
|
||||
.dialog .buttonClick {
|
||||
border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;
|
||||
}
|
||||
.dialog .buttonColor-hilite {
|
||||
border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;
|
||||
}
|
||||
|
||||
.dialog .buttonColor .nocolor { padding: 0px; }
|
||||
.dialog .buttonColor .nocolor-hilite { background-color: #fff; color: #f00; }
|
||||
|
||||
@@ -225,10 +232,32 @@ form { margin: 0px; border: none; }
|
||||
font-size:100%;
|
||||
font-weight:bold;
|
||||
padding: 2px;
|
||||
clear:left;
|
||||
|
||||
}
|
||||
|
||||
.htmlarea .panel { overflow:hidden; }
|
||||
.htmlarea .panels.left .panel { border-right:none; border-left:none; }
|
||||
.htmlarea .panels.left h1 { border-right:none; }
|
||||
.htmlarea .panels.right .panel { border-right:none; border-left:none; }
|
||||
.htmlarea .panels.left h1 { border-left:none; }
|
||||
.htmlarea { border: 1px solid black; }
|
||||
|
||||
.loading
|
||||
{
|
||||
background-color:#666;
|
||||
position:absolute;
|
||||
z-index:998;
|
||||
}
|
||||
.loading_main
|
||||
{
|
||||
font-size:1.6em;
|
||||
color:#ff6;
|
||||
text-align:center;
|
||||
}
|
||||
.loading_sub
|
||||
{
|
||||
font-size:1.0em;
|
||||
color:#fff;
|
||||
text-align:center;
|
||||
}
|
||||
3668
xinha/XinhaCore.js
Normal file
@@ -1,264 +0,0 @@
|
||||
<?php
|
||||
//die("this script is disabled for security");
|
||||
|
||||
/**
|
||||
* LC-Parse-Strings-Script
|
||||
*
|
||||
* This script parses all xinhas source-files and creates base lang-files
|
||||
* in the lang-folders (one for base and one every plugin)
|
||||
*
|
||||
* How To use it: - remove the die() in line 2 (security)
|
||||
* - make sure all lang-folders are writeable for your webserver
|
||||
* - open the contrib/lc_parse_strings.php in your browser
|
||||
* - lang/base.js will be written
|
||||
* - open base.js, translate all strings into your language and save it
|
||||
* as yourlangauge.js
|
||||
* - send the translated file to the xinha-team
|
||||
**/
|
||||
|
||||
|
||||
|
||||
error_reporting(E_ALL);
|
||||
|
||||
$ret = array();
|
||||
$files = getFiles("../", "js$");
|
||||
foreach($files as $file)
|
||||
{
|
||||
$fp = fopen($file, "r");
|
||||
$data = "";
|
||||
while(!feof($fp)) {
|
||||
$data .= fread($fp, 1024);
|
||||
}
|
||||
|
||||
preg_match_all('#_lc\("([^"]+)"\)|_lc\(\'([^\']+)\'\)#', $data, $m);
|
||||
foreach($m[1] as $i) {
|
||||
if(trim($i)=="") continue;
|
||||
$ret[] = $i;
|
||||
}
|
||||
foreach($m[2] as $i) {
|
||||
if(trim($i)=="") continue;
|
||||
$ret[] = $i;
|
||||
}
|
||||
|
||||
if(eregi('htmlarea\\.js$', $file)) {
|
||||
//toolbar-buttons
|
||||
//bold: [ "Bold"
|
||||
preg_match_all('#[a-z]+: *\[ * "([^"]+)"#', $data, $m);
|
||||
foreach($m[1] as $i) {
|
||||
if(trim($i)=="") continue;
|
||||
$ret[] = $i;
|
||||
}
|
||||
|
||||
//HTMLArea._lc({key: 'button_bold', string
|
||||
preg_match_all('#HTMLArea\\._lc\\({key: \'([^\']*)\'#', $data, $m);
|
||||
foreach($m[1] as $i) {
|
||||
if(trim($i)=="") continue;
|
||||
$ret[] = $i;
|
||||
}
|
||||
|
||||
//config.fontname, fontsize and formatblock
|
||||
$data = substr($data, strpos($data, "this.fontname = {"), strpos($data, "this.customSelects = {};")-strpos($data, "this.fontname = {"));
|
||||
preg_match_all('#"([^"]+)"[ \t]*:[ \t]*["\'][^"\']*["\'],?#', $data, $m);
|
||||
foreach($m[1] as $i) {
|
||||
if(trim($i)=="") continue;
|
||||
$ret[] = $i;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$files = getFiles("../popups/", "html$");
|
||||
foreach($files as $file)
|
||||
{
|
||||
if(preg_match("#custom2.html$#", $file)) continue;
|
||||
if(preg_match('#old_#', $file)) continue;
|
||||
$ret = array_merge($ret, parseHtmlFile($file));
|
||||
}
|
||||
$ret = array_unique($ret);
|
||||
$langData['HTMLArea'] = $ret;
|
||||
|
||||
|
||||
|
||||
$plugins = getFiles("../plugins/");
|
||||
foreach($plugins as $pluginDir)
|
||||
{
|
||||
$plugin = substr($pluginDir, 12);
|
||||
if($plugin=="ibrowser") continue;
|
||||
$ret = array();
|
||||
|
||||
$files = getFiles("$pluginDir/", "js$");
|
||||
$files = array_merge($files, getFiles("$pluginDir/popups/", "html$"));
|
||||
$files = array_merge($files, getFiles("$pluginDir/", "php$"));
|
||||
foreach($files as $file)
|
||||
{
|
||||
$fp = fopen($file, "r");
|
||||
$data = "";
|
||||
if($fp) {
|
||||
echo "$file open...<br>";
|
||||
while(!feof($fp)) {
|
||||
$data .= fread($fp, 1024);
|
||||
}
|
||||
preg_match_all('#_lc\("([^"]+)"|_lc\(\'([^\']+)\'#', $data, $m);
|
||||
foreach($m[1] as $i) {
|
||||
if(trim(strip_tags($i))=="") continue;
|
||||
$ret[] = $i;
|
||||
}
|
||||
foreach($m[2] as $i) {
|
||||
if(trim(strip_tags($i))=="") continue;
|
||||
$ret[] = $i;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if($plugin=="TableOperations")
|
||||
{
|
||||
preg_match_all('#options = \\[([^\\]]+)\\];#', $data, $m);
|
||||
foreach($m[1] as $i) {
|
||||
preg_match_all('#"([^"]+)"#', $i, $m1);
|
||||
foreach($m1[1] as $i) {
|
||||
$ret[] = $i;
|
||||
}
|
||||
}
|
||||
|
||||
//["cell-delete", "td", "Delete cell"],
|
||||
preg_match_all('#\\["[^"]+",[ \t]*"[^"]+",[ \t]*"([^"]+)"\\]#', $data, $m);
|
||||
foreach($m[1] as $i) {
|
||||
$ret[] = $i;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$files = getFiles("$pluginDir/", "html$");
|
||||
$files = array_merge($files, getFiles("$pluginDir/", "php$"));
|
||||
foreach($files as $file)
|
||||
{
|
||||
$ret = array_merge($ret, parseHtmlFile($file, $plugin));
|
||||
}
|
||||
|
||||
$files = getFiles("$pluginDir/popups/", "html$");
|
||||
foreach($files as $file)
|
||||
{
|
||||
$ret = array_merge($ret, parseHtmlFile($file, $plugin));
|
||||
}
|
||||
$ret = array_unique($ret);
|
||||
|
||||
$langData[$plugin] = $ret;
|
||||
}
|
||||
|
||||
foreach($langData as $plugin=>$strings)
|
||||
{
|
||||
if(sizeof($strings)==0) continue;
|
||||
|
||||
|
||||
$data = "// I18N constants\n";
|
||||
$data .= "//\n";
|
||||
$data .= "//LANG: \"base\", ENCODING: UTF-8\n";
|
||||
$data .= "//Author: Translator-Name, <email@example.com>\n";
|
||||
$data .= "// FOR TRANSLATORS:\n";
|
||||
$data .= "//\n";
|
||||
$data .= "// 1. PLEASE PUT YOUR CONTACT INFO IN THE ABOVE LINE\n";
|
||||
$data .= "// (at least a valid email address)\n";
|
||||
$data .= "//\n";
|
||||
$data .= "// 2. PLEASE TRY TO USE UTF-8 FOR ENCODING;\n";
|
||||
$data .= "// (if this is not possible, please include a comment\n";
|
||||
$data .= "// that states what encoding is necessary.)\n";
|
||||
$data .= "\n";
|
||||
$data .= "{\n";
|
||||
sort($strings);
|
||||
foreach($strings as $string) {
|
||||
$string = str_replace(array('\\', '"'), array('\\\\', '\\"'), $string);
|
||||
$data .= " \"".$string."\": \"\",\n";
|
||||
}
|
||||
$data = substr($data, 0, -2);
|
||||
$data .= "\n";
|
||||
$data .= "}\n";
|
||||
|
||||
if($plugin=="HTMLArea")
|
||||
$file = "../lang/base.js";
|
||||
else
|
||||
$file = "../plugins/$plugin/lang/base.js";
|
||||
|
||||
$fp = fopen($file, "w");
|
||||
if(!$fp) continue;
|
||||
fwrite($fp, $data);
|
||||
fclose($fp);
|
||||
echo "$file written...<br>";
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
function parseHtmlFile($file, $plugin="")
|
||||
{
|
||||
$ret = array();
|
||||
|
||||
$fp = fopen($file, "r");
|
||||
if(!$fp) {
|
||||
die("invalid fp");
|
||||
}
|
||||
$data = "";
|
||||
while(!feof($fp)) {
|
||||
$data .= fread($fp, 1024);
|
||||
}
|
||||
|
||||
if($plugin=="FormOperations" || $plugin=="SuperClean" || $plugin=="Linker") {
|
||||
//<l10n>-tags for inline-dialog or panel-dialog based dialogs
|
||||
$elems = array("l10n");
|
||||
} else {
|
||||
$elems = array("title", "input", "select", "legend", "span", "option", "td", "button", "div", "label");
|
||||
}
|
||||
foreach($elems as $elem) {
|
||||
preg_match_all("#<{$elem}[^>]*>([^<^\"]+)</$elem>#i", $data, $m);
|
||||
foreach($m[1] as $i) {
|
||||
if(trim(strip_tags($i))=="") continue;
|
||||
if($i=="/") continue;
|
||||
if($plugin=="ImageManager" && preg_match('#^--+$#', $i)) continue; //skip those ------
|
||||
if($plugin=="CharacterMap" && preg_match('#&[a-z0-9]+;#i', trim($i)) || $i=="@") continue;
|
||||
if($plugin=="SpellChecker" && preg_match('#^\'\\.\\$[a-z]+\\.\'$#', $i)) continue;
|
||||
$ret[] = trim($i);
|
||||
}
|
||||
}
|
||||
|
||||
if($plugin=="FormOperations" || $plugin=="SuperClean" || $plugin=="Linker")
|
||||
{
|
||||
//_( for inline-dialog or panel-dialog based dialogs
|
||||
preg_match_all('#"_\(([^"]+)\)"#i', $data, $m);
|
||||
foreach($m[1] as $i) {
|
||||
if(trim($i)=="") continue;
|
||||
$ret[] = $i;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
preg_match_all('#title="([^"]+)"#i', $data, $m);
|
||||
foreach($m[1] as $i) {
|
||||
if(trim(strip_tags($i))=="") continue;
|
||||
if(strip_tags($i)==" - ") continue; //skip those - (ImageManager)
|
||||
$ret[] = $i;
|
||||
}
|
||||
}
|
||||
return($ret);
|
||||
}
|
||||
|
||||
|
||||
function getFiles($rootdirpath, $eregi_match='') {
|
||||
$array = array();
|
||||
if ($dir = @opendir($rootdirpath)) {
|
||||
$array = array();
|
||||
while (($file = readdir($dir)) !== false) {
|
||||
if($file=="." || $file==".." || $file==".svn") continue;
|
||||
if($eregi_match=="")
|
||||
$array[] = $rootdirpath."/".$file;
|
||||
else if(eregi($eregi_match,$file))
|
||||
$array[] = $rootdirpath."/".$file;
|
||||
|
||||
}
|
||||
closedir($dir);
|
||||
}
|
||||
return $array;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
?>
|
||||
202
xinha/contrib/php-xinha.php
Normal file
@@ -0,0 +1,202 @@
|
||||
<?php
|
||||
/** Write the appropriate xinha_config directives to pass data to a PHP (Plugin) backend file.
|
||||
*
|
||||
* ImageManager Example:
|
||||
* The following would be placed in step 3 of your configuration (see the NewbieGuide
|
||||
* (http://xinha.python-hosting.com/wiki/NewbieGuide)
|
||||
*
|
||||
* <script language="javascript">
|
||||
* with (xinha_config.ImageManager)
|
||||
* {
|
||||
* <?php
|
||||
* xinha_pass_to_php_backend
|
||||
* (
|
||||
* array
|
||||
* (
|
||||
* 'images_dir' => '/home/your/directory',
|
||||
* 'images_url' => '/directory'
|
||||
* )
|
||||
* )
|
||||
* ?>
|
||||
* }
|
||||
* </script>
|
||||
*
|
||||
*/
|
||||
|
||||
function xinha_pass_to_php_backend($Data, $KeyLocation = 'Xinha:BackendKey')
|
||||
{
|
||||
|
||||
$bk = array();
|
||||
$bk['data'] = serialize($Data);
|
||||
|
||||
@session_start();
|
||||
if(!isset($_SESSION[$KeyLocation]))
|
||||
{
|
||||
$_SESSION[$KeyLocation] = uniqid('Key_');
|
||||
}
|
||||
|
||||
$bk['session_name'] = session_name();
|
||||
$bk['key_location'] = $KeyLocation;
|
||||
$bk['hash'] =
|
||||
function_exists('sha1') ?
|
||||
sha1($_SESSION[$KeyLocation] . $bk['data'])
|
||||
: md5($_SESSION[$KeyLocation] . $bk['data']);
|
||||
|
||||
|
||||
// The data will be passed via a postback to the
|
||||
// backend, we want to make sure these are going to come
|
||||
// out from the PHP as an array like $bk above, so
|
||||
// we need to adjust the keys.
|
||||
$backend_data = array();
|
||||
foreach($bk as $k => $v)
|
||||
{
|
||||
$backend_data["backend_data[$k]"] = $v;
|
||||
}
|
||||
|
||||
// The session_start() above may have been after data was sent, so cookies
|
||||
// wouldn't have worked.
|
||||
$backend_data[session_name()] = session_id();
|
||||
|
||||
echo 'backend_data = ' . xinha_to_js($backend_data) . "; \n";
|
||||
|
||||
}
|
||||
|
||||
/** Convert PHP data structure to Javascript */
|
||||
|
||||
function xinha_to_js($var, $tabs = 0)
|
||||
{
|
||||
if(is_numeric($var))
|
||||
{
|
||||
return $var;
|
||||
}
|
||||
|
||||
if(is_string($var))
|
||||
{
|
||||
return "'" . xinha_js_encode($var) . "'";
|
||||
}
|
||||
|
||||
if(is_array($var))
|
||||
{
|
||||
$useObject = false;
|
||||
foreach(array_keys($var) as $k) {
|
||||
if(!is_numeric($k)) $useObject = true;
|
||||
}
|
||||
$js = array();
|
||||
foreach($var as $k => $v)
|
||||
{
|
||||
$i = "";
|
||||
if($useObject) {
|
||||
if(preg_match('#^[a-zA-Z]+[a-zA-Z0-9]*$#', $k)) {
|
||||
$i .= "$k: ";
|
||||
} else {
|
||||
$i .= "'$k': ";
|
||||
}
|
||||
}
|
||||
$i .= xinha_to_js($v, $tabs + 1);
|
||||
$js[] = $i;
|
||||
}
|
||||
if($useObject) {
|
||||
$ret = "{\n" . xinha_tabify(implode(",\n", $js), $tabs) . "\n}";
|
||||
} else {
|
||||
$ret = "[\n" . xinha_tabify(implode(",\n", $js), $tabs) . "\n]";
|
||||
}
|
||||
return $ret;
|
||||
}
|
||||
|
||||
return 'null';
|
||||
}
|
||||
|
||||
/** Like htmlspecialchars() except for javascript strings. */
|
||||
|
||||
function xinha_js_encode($string)
|
||||
{
|
||||
static $strings = "\\,\",',%,&,<,>,{,},@,\n,\r";
|
||||
|
||||
if(!is_array($strings))
|
||||
{
|
||||
$tr = array();
|
||||
foreach(explode(',', $strings) as $chr)
|
||||
{
|
||||
$tr[$chr] = sprintf('\x%02X', ord($chr));
|
||||
}
|
||||
$strings = $tr;
|
||||
}
|
||||
|
||||
return strtr($string, $strings);
|
||||
}
|
||||
|
||||
|
||||
/** Used by plugins to get the config passed via
|
||||
* xinha_pass_to_backend()
|
||||
* returns either the structure given, or NULL
|
||||
* if none was passed or a security error was encountered.
|
||||
*/
|
||||
|
||||
function xinha_read_passed_data()
|
||||
{
|
||||
if(isset($_REQUEST['backend_data']) && is_array($_REQUEST['backend_data']))
|
||||
{
|
||||
$bk = $_REQUEST['backend_data'];
|
||||
session_name($bk['session_name']);
|
||||
@session_start();
|
||||
if(!isset($_SESSION[$bk['key_location']])) return NULL;
|
||||
|
||||
if($bk['hash'] ===
|
||||
function_exists('sha1') ?
|
||||
sha1($_SESSION[$bk['key_location']] . $bk['data'])
|
||||
: md5($_SESSION[$bk['key_location']] . $bk['data']))
|
||||
{
|
||||
return unserialize(ini_get('magic_quotes_gpc') ? stripslashes($bk['data']) : $bk['data']);
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/** Used by plugins to get a query string that can be sent to the backend
|
||||
* (or another part of the backend) to send the same data.
|
||||
*/
|
||||
|
||||
function xinha_passed_data_querystring()
|
||||
{
|
||||
$qs = array();
|
||||
if(isset($_REQUEST['backend_data']) && is_array($_REQUEST['backend_data']))
|
||||
{
|
||||
foreach($_REQUEST['backend_data'] as $k => $v)
|
||||
{
|
||||
$v = ini_get('magic_quotes_gpc') ? stripslashes($v) : $v;
|
||||
$qs[] = "backend_data[" . rawurlencode($k) . "]=" . rawurlencode($v);
|
||||
}
|
||||
}
|
||||
|
||||
$qs[] = session_name() . '=' . session_id();
|
||||
return implode('&', $qs);
|
||||
}
|
||||
|
||||
|
||||
/** Just space-tab indent some text */
|
||||
function xinha_tabify($text, $tabs)
|
||||
{
|
||||
if($text)
|
||||
{
|
||||
return str_repeat(" ", $tabs) . preg_replace('/\n(.)/', "\n" . str_repeat(" ", $tabs) . "\$1", $text);
|
||||
}
|
||||
}
|
||||
|
||||
/** Return upload_max_filesize value from php.ini in kilobytes (function adapted from php.net)**/
|
||||
function upload_max_filesize_kb()
|
||||
{
|
||||
$val = ini_get('upload_max_filesize');
|
||||
$val = trim($val);
|
||||
$last = strtolower($val{strlen($val)-1});
|
||||
switch($last)
|
||||
{
|
||||
// The 'G' modifier is available since PHP 5.1.0
|
||||
case 'g':
|
||||
$val *= 1024;
|
||||
case 'm':
|
||||
$val *= 1024;
|
||||
}
|
||||
return $val;
|
||||
}
|
||||
?>
|
||||
@@ -1,76 +0,0 @@
|
||||
// htmlArea v3.0 - Copyright (c) 2003-2004 interactivetools.com, inc.
|
||||
// This copyright notice MUST stay intact for use (see license.txt).
|
||||
//
|
||||
// Portions (c) dynarch.com, 2003-2004
|
||||
//
|
||||
// A free WYSIWYG editor replacement for <textarea> fields.
|
||||
// For full source code and docs, visit http://www.interactivetools.com/
|
||||
//
|
||||
// Version 3.0 developed by Mihai Bazon.
|
||||
// http://dynarch.com/mishoo
|
||||
//
|
||||
// $Id$
|
||||
|
||||
// Though "Dialog" looks like an object, it isn't really an object. Instead
|
||||
// it's just namespace for protecting global symbols.
|
||||
|
||||
function Dialog(url, action, init) {
|
||||
if (typeof init == "undefined") {
|
||||
init = window; // pass this window object by default
|
||||
}
|
||||
Dialog._geckoOpenModal(url, action, init);
|
||||
}
|
||||
|
||||
Dialog._parentEvent = function(ev) {
|
||||
setTimeout( function() { if (Dialog._modal && !Dialog._modal.closed) { Dialog._modal.focus() } }, 50);
|
||||
if (Dialog._modal && !Dialog._modal.closed) {
|
||||
HTMLArea._stopEvent(ev);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
// should be a function, the return handler of the currently opened dialog.
|
||||
Dialog._return = null;
|
||||
|
||||
// constant, the currently opened dialog
|
||||
Dialog._modal = null;
|
||||
|
||||
// the dialog will read it's args from this variable
|
||||
Dialog._arguments = null;
|
||||
|
||||
Dialog._geckoOpenModal = function(url, action, init) {
|
||||
var dlg = window.open(url, "hadialog",
|
||||
"toolbar=no,menubar=no,personalbar=no,width=10,height=10," +
|
||||
"scrollbars=no,resizable=yes,modal=yes,dependable=yes");
|
||||
Dialog._modal = dlg;
|
||||
Dialog._arguments = init;
|
||||
|
||||
// capture some window's events
|
||||
function capwin(w) {
|
||||
HTMLArea._addEvent(w, "click", Dialog._parentEvent);
|
||||
HTMLArea._addEvent(w, "mousedown", Dialog._parentEvent);
|
||||
HTMLArea._addEvent(w, "focus", Dialog._parentEvent);
|
||||
}
|
||||
// release the captured events
|
||||
function relwin(w) {
|
||||
HTMLArea._removeEvent(w, "click", Dialog._parentEvent);
|
||||
HTMLArea._removeEvent(w, "mousedown", Dialog._parentEvent);
|
||||
HTMLArea._removeEvent(w, "focus", Dialog._parentEvent);
|
||||
}
|
||||
capwin(window);
|
||||
// capture other frames, note the exception trapping, this is because
|
||||
// we are not permitted to add events to frames outside of the current
|
||||
// window's domain.
|
||||
for (var i = 0; i < window.frames.length; i++) {try { capwin(window.frames[i]); } catch(e) { } };
|
||||
// make up a function to be called when the Dialog ends.
|
||||
Dialog._return = function (val) {
|
||||
if (val && action) {
|
||||
action(val);
|
||||
}
|
||||
relwin(window);
|
||||
// capture other frames
|
||||
for (var i = 0; i < window.frames.length; i++) { try { relwin(window.frames[i]); } catch(e) { } };
|
||||
Dialog._modal = null;
|
||||
};
|
||||
Dialog._modal.focus();
|
||||
};
|
||||
@@ -15,14 +15,55 @@ function getAbsolutePos(el) {
|
||||
return r;
|
||||
};
|
||||
|
||||
function comboSelectValue(c, val) {
|
||||
var ops = c.getElementsByTagName("option");
|
||||
function getSelectedValue(el) {
|
||||
if(!el)
|
||||
return "";
|
||||
return el[el.selectedIndex].value;
|
||||
}
|
||||
|
||||
function setSelectedValue(el, val) {
|
||||
if(!el)
|
||||
return "";
|
||||
var ops = el.getElementsByTagName("option");
|
||||
for (var i = ops.length; --i >= 0;) {
|
||||
var op = ops[i];
|
||||
op.selected = (op.value == val);
|
||||
}
|
||||
c.value = val;
|
||||
};
|
||||
el.value = val;
|
||||
}
|
||||
|
||||
function getCheckedValue(el) {
|
||||
if(!el)
|
||||
return "";
|
||||
var radioLength = el.length;
|
||||
if(radioLength == undefined)
|
||||
if(el.checked)
|
||||
return el.value;
|
||||
else
|
||||
return "false";
|
||||
for(var i = 0; i < radioLength; i++) {
|
||||
if(el[i].checked) {
|
||||
return el[i].value;
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
function setCheckedValue(el, val) {
|
||||
if(!el)
|
||||
return;
|
||||
var radioLength = el.length;
|
||||
if(radioLength == undefined) {
|
||||
el.checked = (el.value == val.toString());
|
||||
return;
|
||||
}
|
||||
for(var i = 0; i < radioLength; i++) {
|
||||
el[i].checked = false;
|
||||
if(el[i].value == val.toString()) {
|
||||
el[i].checked = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function __dlg_onclose() {
|
||||
opener.Dialog._return(null);
|
||||
@@ -84,49 +125,76 @@ function __dlg_init(bottom) {
|
||||
document.body.onkeypress = __dlg_close_on_esc;
|
||||
};
|
||||
|
||||
function placeFocus() {
|
||||
var bFound = false;
|
||||
// for each form
|
||||
for (f=0; f < document.forms.length; f++) {
|
||||
// for each element in each form
|
||||
for(i=0; i < document.forms[f].length; i++) {
|
||||
// if it's not a hidden element
|
||||
if (document.forms[f][i].type != "hidden") {
|
||||
// and it's not disabled
|
||||
if (document.forms[f][i].disabled != true) {
|
||||
// set the focus to it
|
||||
document.forms[f][i].focus();
|
||||
var bFound = true;
|
||||
}
|
||||
}
|
||||
// if found in this element, stop looking
|
||||
if (bFound == true)
|
||||
break;
|
||||
}
|
||||
// if found in this form, stop looking
|
||||
if (bFound == true)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
function Init() {
|
||||
__dlg_init();
|
||||
var param = window.dialogArguments;
|
||||
if(param) {
|
||||
document.getElementById("width").value = param["width"];
|
||||
document.getElementById("height").value = param["height"];
|
||||
document.getElementById("sizeIncludesBars").checked = (param["sizeIncludesBars"] == 'true');
|
||||
document.getElementById("statusBar").checked = (param["statusBar"] == 'true');
|
||||
document.getElementById("mozParaHandler").value = param["mozParaHandler"];
|
||||
document.getElementById("undoSteps").value = param["undoSteps"];
|
||||
document.getElementById("baseHref").value = param["baseHref"];
|
||||
document.getElementById("stripBaseHref").checked = (param["stripBaseHref"] == 'true');
|
||||
document.getElementById("stripSelfNamedAnchors").checked = (param["stripSelfNamedAnchors"] == 'true');
|
||||
document.getElementById("only7BitPrintablesInURLs").checked = (param["only7BitPrintablesInURLs"] == 'true');
|
||||
document.getElementById("sevenBitClean").checked = (param["sevenBitClean"] == 'true');
|
||||
document.getElementById("killWordOnPaste").checked = (param["killWordOnPaste"] == 'true');
|
||||
document.getElementById("flowToolbars").checked = (param["flowToolbars"] == 'true');
|
||||
document.getElementById("CharacterMapMode").value = param["CharacterMapMode"];
|
||||
document.getElementById("ListTypeMode").value = param["ListTypeMode"];
|
||||
|
||||
var el;
|
||||
for (var field in param) {
|
||||
//alert(field + '="' + param[field] + '"');
|
||||
el = document.getElementById(field);
|
||||
if (el.tagName.toLowerCase()=="input"){
|
||||
if ((el.type.toLowerCase()=="radio") || (el.type.toLowerCase()=="checkbox")){
|
||||
setCheckedValue(el, param[field]);
|
||||
} else {
|
||||
el.value = param[field];
|
||||
}
|
||||
document.getElementById("width").focus();
|
||||
window.resizeTo(420, 500);
|
||||
} else if (el.tagName.toLowerCase()=="select"){
|
||||
setSelectedValue(el, param[field]);
|
||||
} else if (el.tagName.toLowerCase()=="textarea"){
|
||||
el.value = param[field];
|
||||
}
|
||||
}
|
||||
}
|
||||
placeFocus();
|
||||
};
|
||||
|
||||
function onOK() {
|
||||
// pass data back to the calling window
|
||||
var param = { width: document.getElementById("width").value,
|
||||
height: document.getElementById("height").value,
|
||||
sizeIncludesBars: (document.getElementById("sizeIncludesBars").checked?true:""),
|
||||
statusBar: (document.getElementById("statusBar").checked?true:""),
|
||||
mozParaHandler: document.getElementById("mozParaHandler").value,
|
||||
undoSteps: document.getElementById("undoSteps").value,
|
||||
baseHref: document.getElementById("baseHref").value,
|
||||
stripBaseHref: (document.getElementById("stripBaseHref").checked?true:""),
|
||||
stripSelfNamedAnchors: (document.getElementById("stripSelfNamedAnchors").checked?true:""),
|
||||
only7BitPrintablesInURLs: (document.getElementById("only7BitPrintablesInURLs").checked?true:""),
|
||||
sevenBitClean: (document.getElementById("sevenBitClean").checked?true:""),
|
||||
killWordOnPaste: (document.getElementById("killWordOnPaste").checked?true:""),
|
||||
flowToolbars: (document.getElementById("flowToolbars").checked?true:""),
|
||||
CharacterMapMode: document.getElementById("CharacterMapMode").value,
|
||||
ListTypeOptions: document.getElementById("ListTypeMode").value
|
||||
};
|
||||
function onOK() {
|
||||
var param = new Object();
|
||||
var el = document.getElementsByTagName('input');
|
||||
for (var i=0; i<el.length;i++){
|
||||
if ((el[i].type.toLowerCase()=="radio") || (el[i].type.toLowerCase()=="checkbox")){
|
||||
if (getCheckedValue(el[i])!=''){
|
||||
param[el[i].id] = getCheckedValue(el[i]);
|
||||
}
|
||||
} else {
|
||||
param[el[i].id] = el[i].value;
|
||||
}
|
||||
}
|
||||
el = document.getElementsByTagName('select');
|
||||
for (var i=0; i<el.length;i++){
|
||||
param[el[i].id] = getSelectedValue(el[i]);
|
||||
}
|
||||
el = document.getElementsByTagName('textarea');
|
||||
for (var i=0; i<el.length;i++){
|
||||
param[el[i].id] = el[i].value;
|
||||
}
|
||||
__dlg_close(param);
|
||||
return false;
|
||||
};
|
||||
@@ -144,7 +212,7 @@ function onCancel() {
|
||||
|
||||
</head>
|
||||
|
||||
<body class="dialog" onload="Init()">
|
||||
<body class="dialog" onload="Init(); window.resizeTo(360, 590);">
|
||||
<div class="title">Settings</div>
|
||||
<form action="" method="get">
|
||||
<div class="fr">Editor width:</div>
|
||||
@@ -154,10 +222,10 @@ function onCancel() {
|
||||
<input type="text" name="height" id="height" title="" />
|
||||
<p />
|
||||
<div class="fr">Size includes bars</div>
|
||||
<input type="checkbox" name="sizeIncludesBars" id="sizeIncludesBars" />
|
||||
<input type="checkbox" name="sizeIncludesBars" id="sizeIncludesBars" value="true" />
|
||||
<p />
|
||||
<div class="fr">Status Bar</div>
|
||||
<input type="checkbox" name="statusBar" id="statusBar" />
|
||||
<input type="checkbox" name="statusBar" id="statusBar" value="true" />
|
||||
<p />
|
||||
<div class="fr">Mozilla Parameter Handler:</div>
|
||||
<select name="mozParaHandler" id="mozParaHandler">
|
||||
@@ -173,22 +241,25 @@ function onCancel() {
|
||||
<input type="text" name="baseHref" id="baseHref" title="" />
|
||||
<p />
|
||||
<div class="fr">Strip base href</div>
|
||||
<input type="checkbox" name="stripBaseHref" id="stripBaseHref" />
|
||||
<input type="checkbox" name="stripBaseHref" id="stripBaseHref" value="true" />
|
||||
<p />
|
||||
<div class="fr">Strip self named anchors</div>
|
||||
<input type="checkbox" name="stripSelfNamedAnchors" id="stripSelfNamedAnchors" />
|
||||
<input type="checkbox" name="stripSelfNamedAnchors" id="stripSelfNamedAnchors" value="true" />
|
||||
<p />
|
||||
<div class="fr">only 7bit printables in URLs</div>
|
||||
<input type="checkbox" name="only7BitPrintablesInURLs" id="only7BitPrintablesInURLs" />
|
||||
<input type="checkbox" name="only7BitPrintablesInURLs" id="only7BitPrintablesInURLs" value="true" />
|
||||
<p />
|
||||
<div class="fr">7bit Clean</div>
|
||||
<input type="checkbox" name="sevenBitClean" id="sevenBitClean" />
|
||||
<input type="checkbox" name="sevenBitClean" id="sevenBitClean" value="true" />
|
||||
<p />
|
||||
<div class="fr">kill Word on paste</div>
|
||||
<input type="checkbox" name="killWordOnPaste" id="killWordOnPaste" />
|
||||
<input type="checkbox" name="killWordOnPaste" id="killWordOnPaste" value="true" />
|
||||
<p />
|
||||
<div class="fr">flow toolbars</div>
|
||||
<input type="checkbox" name="flowToolbars" id="flowToolbars" />
|
||||
<input type="checkbox" name="flowToolbars" id="flowToolbars" value="true" />
|
||||
<p />
|
||||
<div class="fr">show loading</div>
|
||||
<input type="checkbox" name="showLoading" id="showLoading" value="true" />
|
||||
<p />
|
||||
|
||||
<div id="CharacterMapOptions" class="options">
|
||||
@@ -211,6 +282,14 @@ function onCancel() {
|
||||
</div>
|
||||
<p />
|
||||
|
||||
<div id="CharCounterOptions" class="options">
|
||||
<hr size="0.5">
|
||||
<div class="fr">CharCounter (showChar) :</div><input type="checkbox" name="showChar" id="showChar" value="true" /><br />
|
||||
<div class="fr">CharCounter (showWord) :</div><input type="checkbox" name="showWord" id="showWord" value="true" /><br />
|
||||
<div class="fr">CharCounter (showHtml) :</div><input type="checkbox" name="showHtml" id="showHtml" value="true" />
|
||||
</div>
|
||||
<p />
|
||||
|
||||
<div id="buttons">
|
||||
<button type="submit" name="ok" onclick="return onOK();">OK</button>
|
||||
<button type="button" name="cancel" onclick="return onCancel();">Cancel</button>
|
||||
|
||||
22
xinha/examples/Newbie.html
Normal file
@@ -0,0 +1,22 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||
<head>
|
||||
<title>Xinha Newbie Guide</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<script type="text/javascript">
|
||||
_editor_url = "../" // (preferably absolute) URL (including trailing slash) where Xinha is installed
|
||||
_editor_lang = "en"; // And the language we need to use in the editor.
|
||||
_editor_skin = "silva"; // If you want use skin, add the name here
|
||||
</script>
|
||||
<script type="text/javascript" src="../XinhaCore.js"></script>
|
||||
<script type="text/javascript" src="XinhaConfig.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<form action="">
|
||||
<textarea id="myTextArea" name="myTextArea" rows="10" cols="50" style="width: 100%"></textarea>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
17
xinha/examples/XinhaConfig.js
Normal file
@@ -0,0 +1,17 @@
|
||||
xinha_editors=null;
|
||||
xinha_init=null;
|
||||
xinha_config=null;
|
||||
xinha_plugins=null;
|
||||
xinha_init=xinha_init?xinha_init:function(){
|
||||
xinha_editors=xinha_editors?xinha_editors:["myTextArea","anotherOne"];
|
||||
xinha_plugins=xinha_plugins?xinha_plugins:["CharacterMap","ContextMenu","ListType","Stylist","Linker","SuperClean","TableOperations"];
|
||||
if(!Xinha.loadPlugins(xinha_plugins,xinha_init)){
|
||||
return;
|
||||
}
|
||||
xinha_config=xinha_config?xinha_config():new Xinha.Config();
|
||||
xinha_config.pageStyleSheets=[_editor_url+"examples/full_example.css"];
|
||||
xinha_editors=Xinha.makeEditors(xinha_editors,xinha_config,xinha_plugins);
|
||||
Xinha.startEditors(xinha_editors);
|
||||
};
|
||||
Xinha._addEvent(window,"load",xinha_init);
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
-- @TODO Make this CSS more useful.
|
||||
--
|
||||
-- $HeadURL: http://svn.xinha.python-hosting.com/trunk/examples/custom.css $
|
||||
-- $LastChangedDate: 2005-02-18 23:10:03 -0500 (Fri, 18 Feb 2005) $
|
||||
-- $LastChangedRevision: 14 $
|
||||
-- $LastChangedBy: gogo $
|
||||
-- $LastChangedDate: 2007-01-19 23:24:36 +0100 (Fr, 19 Jan 2007) $
|
||||
-- $LastChangedRevision: 677 $
|
||||
-- $LastChangedBy: ray $
|
||||
--------------------------------------------------------------------------*/
|
||||
|
||||
body { background-color: #234; color: #dd8; font-family: tahoma; font-size: 12px; }
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
-- @TODO Make this CSS more useful.
|
||||
--
|
||||
-- $HeadURL: http://svn.xinha.python-hosting.com/trunk/examples/dynamic.css $
|
||||
-- $LastChangedDate: 2005-02-18 23:10:03 -0500 (Fri, 18 Feb 2005) $
|
||||
-- $LastChangedRevision: 14 $
|
||||
-- $LastChangedBy: gogo $
|
||||
-- $LastChangedDate: 2007-01-19 23:24:36 +0100 (Fr, 19 Jan 2007) $
|
||||
-- $LastChangedRevision: 677 $
|
||||
-- $LastChangedBy: ray $
|
||||
--------------------------------------------------------------------------*/
|
||||
|
||||
p {
|
||||
|
||||
@@ -4,14 +4,14 @@
|
||||
|
||||
<!-- ---------------------------------------------------------------------
|
||||
-- $HeadURL: http://svn.xinha.python-hosting.com/trunk/examples/ext_example-body.html $
|
||||
-- $LastChangedDate: 2005-07-27 16:43:19 +0200 (Mi, 27 Jul 2005) $
|
||||
-- $LastChangedRevision: 287 $
|
||||
-- $LastChangedDate: 2007-01-22 16:06:18 +0100 (Mo, 22 Jan 2007) $
|
||||
-- $LastChangedRevision: 686 $
|
||||
-- $LastChangedBy: gocher $
|
||||
------------------------------------------------------------------------ -->
|
||||
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<title>Example of Xinha</title>
|
||||
<link rel="stylesheet" href="full_example.css" />
|
||||
<link rel="stylesheet" type="text/css" href="full_example.css" />
|
||||
|
||||
<script type="text/javascript">
|
||||
function showError( sMsg, sUrl, sLine){
|
||||
@@ -20,10 +20,6 @@
|
||||
'Line: ' + sLine + '\n';
|
||||
return false;
|
||||
}
|
||||
window.onerror = showError;
|
||||
document.onerror = showError;
|
||||
|
||||
var f = window.parent.menu.document.forms[0];
|
||||
// You must set _editor_url to the URL (including trailing slash) where
|
||||
// where xinha is installed, it's highly recommended to use an absolute URL
|
||||
// eg: _editor_url = "/path/to/xinha/";
|
||||
@@ -31,12 +27,11 @@
|
||||
// eg: _editor_url = "../";
|
||||
// in this example we do a little regular expression to find the absolute path.
|
||||
_editor_url = document.location.href.replace(/examples\/ext_example-body\.html.*/, '')
|
||||
_editor_lang = f.lang.value; // And the language we need to use in the editor.
|
||||
_editor_skin = f.skin.value; // the skin we use in the editor
|
||||
//moved _editor_lang & _editor_skin to init function because of error thrown when frame document not ready
|
||||
</script>
|
||||
|
||||
<!-- Load up the actual editor core -->
|
||||
<script type="text/javascript" src="../htmlarea.js"></script>
|
||||
<script type="text/javascript" src="../XinhaCore.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
xinha_editors = null;
|
||||
@@ -45,7 +40,12 @@
|
||||
xinha_plugins = null;
|
||||
|
||||
xinha_init = xinha_init ? xinha_init : function() {
|
||||
var f = window.parent.menu.document.forms[0];
|
||||
window.onerror = showError;
|
||||
document.onerror = showError;
|
||||
|
||||
var f = top.frames["menu"].document.forms["fsettings"];
|
||||
_editor_lang = f.lang[f.lang.selectedIndex].value; // the language we need to use in the editor.
|
||||
_editor_skin = f.skin[f.skin.selectedIndex].value; // the skin we use in the editor
|
||||
// What are the plugins you will be using in the editors on this page.
|
||||
// List all the plugins you will need, even if not all the editors will use all the plugins.
|
||||
xinha_plugins = [ ];
|
||||
@@ -54,7 +54,7 @@
|
||||
}
|
||||
|
||||
// THIS BIT OF JAVASCRIPT LOADS THE PLUGINS, NO TOUCHING :)
|
||||
if(!HTMLArea.loadPlugins(xinha_plugins, xinha_init)) return;
|
||||
if(!Xinha.loadPlugins(xinha_plugins, xinha_init)) return;
|
||||
|
||||
// What are the names of the textareas you will be turning into editors?
|
||||
var num = 1;
|
||||
@@ -86,22 +86,31 @@
|
||||
}
|
||||
|
||||
// Create a default configuration to be used by all the editors.
|
||||
xinha_config = new HTMLArea.Config();
|
||||
if (f.width) xinha_config.width = f.width.value;
|
||||
if (f.height) xinha_config.height = f.height.value;
|
||||
if (f.sizeIncludesBars) xinha_config.sizeIncludesBars = f.sizeIncludesBars.value;
|
||||
if (f.statusBar) xinha_config.statusBar = f.statusBar.value;
|
||||
if (f.mozParaHandler) xinha_config.mozParaHandler = f.mozParaHandler.value;
|
||||
if (f.undoSteps) xinha_config.undoSteps = f.undoSteps.value;
|
||||
if (f.baseHref) xinha_config.baseHref = f.baseHref.value;
|
||||
if (f.stripBaseHref) xinha_config.stripBaseHref = f.stripBaseHref.value;
|
||||
if (f.stripSelfNamedAnchors) xinha_config.stripSelfNamedAnchors = f.stripSelfNamedAnchors.value;
|
||||
if (f.only7BitPrintablesInURLs) xinha_config.only7BitPrintablesInURLs = f.only7BitPrintablesInURLs.value;
|
||||
if (f.sevenBitClean) xinha_config.sevenBitClean = f.sevenBitClean.value;
|
||||
if (f.killWordOnPaste) xinha_config.killWordOnPaste = f.killWordOnPaste.value;
|
||||
if (f.flowToolbars) xinha_config.flowToolbars = f.flowToolbars.value;
|
||||
if ((typeof CharacterMap != 'undefined') && (f.CharacterMapMode)) xinha_config.CharacterMap.mode = f.CharacterMapMode.value;
|
||||
if ((typeof ListType != 'undefined') && (f.ListTypeMode)) xinha_config.ListType.mode = f.ListTypeMode.value;
|
||||
settings = top.frames["menu"].settings;
|
||||
xinha_config = new Xinha.Config();
|
||||
xinha_config.width = settings.width;
|
||||
xinha_config.height = settings.height;
|
||||
xinha_config.sizeIncludesBars = settings.sizeIncludesBars;
|
||||
xinha_config.statusBar = settings.statusBar;
|
||||
xinha_config.mozParaHandler = settings.mozParaHandler;
|
||||
xinha_config.undoSteps = settings.undoSteps;
|
||||
xinha_config.baseHref = settings.baseHref;
|
||||
xinha_config.stripBaseHref = settings.stripBaseHref;
|
||||
xinha_config.stripSelfNamedAnchors = settings.stripSelfNamedAnchors;
|
||||
xinha_config.only7BitPrintablesInURLs = settings.only7BitPrintablesInURLs;
|
||||
xinha_config.sevenBitClean = settings.sevenBitClean;
|
||||
xinha_config.killWordOnPaste = settings.killWordOnPaste;
|
||||
xinha_config.flowToolbars = settings.flowToolbars;
|
||||
xinha_config.showLoading = settings.showLoading;
|
||||
|
||||
if (typeof CharCounter != 'undefined') {
|
||||
xinha_config.CharCounter.showChar = settings.showChar;
|
||||
xinha_config.CharCounter.showWord = settings.showWord;
|
||||
xinha_config.CharCounter.showHtml = settings.showHtml;
|
||||
}
|
||||
|
||||
if (typeof CharacterMap != 'undefined') xinha_config.CharacterMap.mode = settings.CharacterMapMode;
|
||||
if (typeof ListType != 'undefined') xinha_config.ListType.mode = settings.ListTypeMode;
|
||||
|
||||
if(typeof CSS != 'undefined') {
|
||||
xinha_config.pageStyle = "@import url(custom.css);";
|
||||
@@ -143,58 +152,51 @@
|
||||
}
|
||||
}
|
||||
|
||||
if(typeof InsertPicture != 'undefined') {
|
||||
// Path for InsertPicture plugin
|
||||
InsertPicture.PicturePath = '/schmal/pictures/';
|
||||
}
|
||||
|
||||
if(typeof Filter != 'undefined') {
|
||||
xinha_config.Filters = ["Word", "Paragraph"];
|
||||
}
|
||||
|
||||
// First create editors for the textareas.
|
||||
// You can do this in two ways, either
|
||||
// xinha_editors = HTMLArea.makeEditors(xinha_editors, xinha_config, xinha_plugins);
|
||||
// xinha_editors = Xinha.makeEditors(xinha_editors, xinha_config, xinha_plugins);
|
||||
// if you want all the editor objects to use the same set of plugins, OR;
|
||||
// xinha_editors = HTMLArea.makeEditors(xinha_editors, xinha_config);
|
||||
// xinha_editors['myTextArea'].registerPlugins(['Stylist','FullScreen']);
|
||||
// xinha_editors['anotherOne'].registerPlugins(['CSS','SuperClean']);
|
||||
// xinha_editors = Xinha.makeEditors(xinha_editors, xinha_config);
|
||||
// xinha_editors['myTextarea0'].registerPlugins(['Stylist','FullScreen']);
|
||||
// xinha_editors['myTextarea1'].registerPlugins(['CSS','SuperClean']);
|
||||
// if you want to use a different set of plugins for one or more of the editors.
|
||||
xinha_editors = HTMLArea.makeEditors(xinha_editors, xinha_config, xinha_plugins);
|
||||
xinha_editors = Xinha.makeEditors(xinha_editors, xinha_config, xinha_plugins);
|
||||
|
||||
// If you want to change the configuration variables of any of the editors,
|
||||
// this is the place to do that, for example you might want to
|
||||
// change the width and height of one of the editors, like this...
|
||||
// xinha_editors.myTextArea.config.width = '640px';
|
||||
// xinha_editors.myTextArea.config.height = '480px';
|
||||
// xinha_editors['myTextarea0'].config.width = '640px';
|
||||
// xinha_editors['myTextarea0'].config.height = '480px';
|
||||
|
||||
// Finally we "start" the editors, this turns the textareas into Xinha editors.
|
||||
HTMLArea.startEditors(xinha_editors);
|
||||
Xinha.startEditors(xinha_editors);
|
||||
}
|
||||
|
||||
// javascript submit handler
|
||||
// this shows how to create a javascript submit button that works with the htmleditor.
|
||||
submitHandler = function(formname) {
|
||||
var form = document.getElementById(formname);
|
||||
// in order for the submit to work both of these methods have to be called.
|
||||
form.onsubmit();
|
||||
window.parent.menu.document.getElementById('myTextarea0').value = document.getElementById('myTextarea0').value;
|
||||
form.submit();
|
||||
return true;
|
||||
}
|
||||
|
||||
window.onload = xinha_init;
|
||||
// window.onunload = Xinha.collectGarbageForIE;
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<form id="to_submit" method="post" action="ext_example-dest.php">
|
||||
<div id="editors_here"></div>
|
||||
<button type="submit">Submit</button>
|
||||
<textarea id="errors" style="width:100%; height:100px; background:silver;"></textarea><!-- style="display:none;"> -->
|
||||
<form id="to_submit" name="to_submit" method="post" action="ext_example-dest.php">
|
||||
<div id="editors_here" name="editors_here"></div>
|
||||
<button type="button" onclick="submitHandler('to_submit');">Submit</button>
|
||||
<textarea id="errors" name="errors" style="width:100%; height:100px; background:silver;"></textarea><!-- style="display:none;" -->
|
||||
</form>
|
||||
<script type="text/javascript">
|
||||
var _oldSubmitHandler = null;
|
||||
if (document.forms[0].onsubmit != null) {
|
||||
_oldSubmitHandler = document.forms[0].onsubmit;
|
||||
}
|
||||
function frame_onSubmit(){
|
||||
document.getElementById('myTextarea0').value = document.getElementById('myTextarea0').value.replace(/^[\r\n]+|\s+$/, '')
|
||||
window.parent.menu.document.getElementById('myTextarea0').value = document.getElementById('myTextarea0').value;
|
||||
if (_oldSubmitHandler != null) {
|
||||
_oldSubmitHandler();
|
||||
}
|
||||
}
|
||||
document.forms[0].onsubmit = frame_onSubmit;
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?PHP
|
||||
$LocalPluginPath = dirname(dirname(__FILE__)).'\plugins';
|
||||
$LocalSkinPath = dirname(dirname(__File__)).'\skins';
|
||||
$LocalPluginPath = dirname(dirname(__FILE__)).DIRECTORY_SEPARATOR.'plugins';
|
||||
$LocalSkinPath = dirname(dirname(__File__)).DIRECTORY_SEPARATOR.'skins';
|
||||
?>
|
||||
<html>
|
||||
<head>
|
||||
@@ -10,10 +10,10 @@
|
||||
-- frame to provide a menu for generating example editors using
|
||||
-- full_example-body.html, and full_example.js.
|
||||
--
|
||||
-- $HeadURL$
|
||||
-- $LastChangedDate$
|
||||
-- $LastChangedRevision$
|
||||
-- $LastChangedBy$
|
||||
-- $HeadURL: http://svn.xinha.python-hosting.com/trunk/examples/ext_example-menu.php $
|
||||
-- $LastChangedDate: 2007-02-07 20:12:42 +0100 (Mi, 07 Feb 2007) $
|
||||
-- $LastChangedRevision: 715 $
|
||||
-- $LastChangedBy: htanaka $
|
||||
--------------------------------------------------------------------------->
|
||||
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
@@ -25,6 +25,29 @@
|
||||
label { display:block;}
|
||||
</style>
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
var settings = null;
|
||||
settings = {
|
||||
width: "auto",
|
||||
height: "auto",
|
||||
sizeIncludesBars: true,
|
||||
statusBar: true,
|
||||
mozParaHandler: "best",
|
||||
undoSteps: 20,
|
||||
baseHref: null,
|
||||
stripBaseHref: true,
|
||||
stripSelfNamedAnchors: true,
|
||||
only7BitPrintablesInURLs: true,
|
||||
sevenBitClean: false,
|
||||
killWordOnPaste: true,
|
||||
flowToolbars: true,
|
||||
CharacterMapMode: "popup",
|
||||
ListTypeMode: "toolbar",
|
||||
showLoading: false,
|
||||
showChar: true,
|
||||
showWord: true,
|
||||
showHtml: true
|
||||
};
|
||||
|
||||
|
||||
function getCookieVal (offset) {
|
||||
var endstr = document.cookie.indexOf (";", offset);
|
||||
@@ -117,15 +140,15 @@ Dialog._geckoOpenModal = function(url, action, init) {
|
||||
|
||||
// capture some window's events
|
||||
function capwin(w) {
|
||||
// HTMLArea._addEvent(w, "click", Dialog._parentEvent);
|
||||
// HTMLArea._addEvent(w, "mousedown", Dialog._parentEvent);
|
||||
// HTMLArea._addEvent(w, "focus", Dialog._parentEvent);
|
||||
// Xinha._addEvent(w, "click", Dialog._parentEvent);
|
||||
// Xinha._addEvent(w, "mousedown", Dialog._parentEvent);
|
||||
// Xinha._addEvent(w, "focus", Dialog._parentEvent);
|
||||
};
|
||||
// release the captured events
|
||||
function relwin(w) {
|
||||
// HTMLArea._removeEvent(w, "click", Dialog._parentEvent);
|
||||
// HTMLArea._removeEvent(w, "mousedown", Dialog._parentEvent);
|
||||
// HTMLArea._removeEvent(w, "focus", Dialog._parentEvent);
|
||||
// Xinha._removeEvent(w, "click", Dialog._parentEvent);
|
||||
// Xinha._removeEvent(w, "mousedown", Dialog._parentEvent);
|
||||
// Xinha._removeEvent(w, "focus", Dialog._parentEvent);
|
||||
};
|
||||
capwin(window);
|
||||
// capture other frames
|
||||
@@ -143,41 +166,29 @@ Dialog._geckoOpenModal = function(url, action, init) {
|
||||
};
|
||||
|
||||
function fExtended () {
|
||||
var outparam = { width: document.getElementById("width").value,
|
||||
height: document.getElementById("height").value,
|
||||
sizeIncludesBars: document.getElementById("sizeIncludesBars").value,
|
||||
statusBar: document.getElementById("statusBar").value,
|
||||
mozParaHandler: document.getElementById("mozParaHandler").value,
|
||||
undoSteps: document.getElementById("undoSteps").value,
|
||||
baseHref: document.getElementById("baseHref").value,
|
||||
stripBaseHref: document.getElementById("stripBaseHref").value,
|
||||
stripSelfNamedAnchors: document.getElementById("stripSelfNamedAnchors").value,
|
||||
only7BitPrintablesInURLs: document.getElementById("only7BitPrintablesInURLs").value,
|
||||
sevenBitClean: document.getElementById("sevenBitClean").value,
|
||||
killWordOnPaste: document.getElementById("killWordOnPaste").value,
|
||||
flowToolbars: document.getElementById("flowToolbars").value,
|
||||
CharacterMapMode: document.getElementById("CharacterMapMode").value,
|
||||
ListTypeMode: document.getElementById("ListTypeMode").value
|
||||
};
|
||||
Dialog("Extended.html", function(param) {
|
||||
if(param) {
|
||||
document.getElementById("width").value = param["width"];
|
||||
document.getElementById("height").value = param["height"];
|
||||
document.getElementById("sizeIncludesBars").value = param["sizeIncludesBars"];
|
||||
document.getElementById("statusBar").value = param["statusBar"];
|
||||
document.getElementById("mozParaHandler").value = param["mozParaHandler"];
|
||||
document.getElementById("undoSteps").value = param["undoSteps"];
|
||||
document.getElementById("baseHref").value = param["baseHref"];
|
||||
document.getElementById("stripBaseHref").value = param["stripBaseHref"];
|
||||
document.getElementById("stripSelfNamedAnchors").value = param["stripSelfNamedAnchors"];
|
||||
document.getElementById("only7BitPrintablesInURLs").value = param["only7BitPrintablesInURLs"];
|
||||
document.getElementById("sevenBitClean").value = param["sevenBitClean"];
|
||||
document.getElementById("killWordOnPaste").value = param["killWordOnPaste"];
|
||||
document.getElementById("flowToolbars").value = param["flowToolbars"];
|
||||
document.getElementById("CharacterMapMode").value = param["CharacterMapMode"];
|
||||
document.getElementById("ListTypeMode").value = param["ListTypeMode"];
|
||||
settings.width = param["width"];
|
||||
settings.height = param["height"];
|
||||
settings.sizeIncludesBars = (param["sizeIncludesBars"]=="true");
|
||||
settings.statusBar = (param["statusBar"]=="true");
|
||||
settings.mozParaHandler = param["mozParaHandler"];
|
||||
settings.undoSteps = param["undoSteps"];
|
||||
settings.baseHref = param["baseHref"];
|
||||
settings.stripBaseHref = (param["stripBaseHref"]=="true");
|
||||
settings.stripSelfNamedAnchors = (param["stripSelfNamedAnchors"]=="true");
|
||||
settings.only7BitPrintablesInURLs = (param["only7BitPrintablesInURLs"]=="true");
|
||||
settings.sevenBitClean = (param["sevenBitClean"]=="true");
|
||||
settings.killWordOnPaste = (param["killWordOnPaste"]=="true");
|
||||
settings.flowToolbars = (param["flowToolbars"]=="true");
|
||||
settings.CharacterMapMode = param["CharacterMapMode"];
|
||||
settings.ListTypeMode = param["ListTypeMode"];
|
||||
settings.showLoading = (param["showLoading"]=="true");
|
||||
settings.showChar = (param["showChar"]=="true");
|
||||
settings.showWord = (param["showWord"]=="true");
|
||||
settings.showHtml = (param["showHtml"]=="true");
|
||||
}
|
||||
}, outparam );
|
||||
}, settings );
|
||||
}
|
||||
|
||||
function init(){
|
||||
@@ -207,7 +218,7 @@ Dialog._geckoOpenModal = function(url, action, init) {
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<form action="ext_example-body.html" target="body">
|
||||
<form action="ext_example-body.html" target="body" name="fsettings" id="fsettings">
|
||||
<h1>Xinha Example</h1>
|
||||
<fieldset>
|
||||
<legend>Settings</legend>
|
||||
@@ -223,6 +234,7 @@ Dialog._geckoOpenModal = function(url, action, init) {
|
||||
<option value="it">Italian</option>
|
||||
<option value="no">Norwegian</option>
|
||||
<option value="pl">Polish</option>
|
||||
<option value="ja">Japanese</option>
|
||||
</select>
|
||||
</label>
|
||||
<label>
|
||||
@@ -233,28 +245,13 @@ Dialog._geckoOpenModal = function(url, action, init) {
|
||||
$d = @dir($LocalSkinPath);
|
||||
while (false !== ($entry = $d->read())) //not a dot file or directory
|
||||
{ if(substr($entry,0,1) != '.')
|
||||
{ echo '<option value="' . $entry . '"> ' . $entry . '</option>';
|
||||
{ echo '<option value="' . $entry . '"> ' . $entry . '</option>'."\n";
|
||||
}
|
||||
}
|
||||
$d->close();
|
||||
?>
|
||||
</select>
|
||||
</label>
|
||||
<input type="hidden" id="width" name="width" value="auto" />
|
||||
<input type="hidden" id="height" name="height" value="auto" />
|
||||
<input type="hidden" id="sizeIncludesBars" name="sizeIncludeBars" value="true" />
|
||||
<input type="hidden" id="statusBar" name="statusBar" value="true" />
|
||||
<input type="hidden" id="mozParaHandler" name="mozParaHandler" value="best" />
|
||||
<input type="hidden" id="undoSteps" name="undoSteps" value="20" />
|
||||
<input type="hidden" id="baseHref" name="baseHref" value="null" />
|
||||
<input type="hidden" id="stripBaseHref" name="stripBaseHref" value="true" />
|
||||
<input type="hidden" id="stripSelfNamedAnchors" name="stripSelfNamedAnchors" value="true" />
|
||||
<input type="hidden" id="only7BitPrintablesInURLs" name="only7BitPrintablesInURLs" value="true" />
|
||||
<input type="hidden" id="sevenBitClean" name="sevenBitClean" value="false" />
|
||||
<input type="hidden" id="killWordOnPaste" name="killWordOnPaste" value="true" />
|
||||
<input type="hidden" id="flowToolbars" name="flowToolbars" value="true" />
|
||||
<input type="hidden" id="CharacterMapMode" name="CharacterMapMode" value="popup" />
|
||||
<input type="hidden" id="ListTypeMode" name="ListTypeMode" value="toolbar" />
|
||||
<center><input type="button" value="extended Settings" onClick="fExtended();" /></center>
|
||||
|
||||
</fieldset>
|
||||
@@ -263,12 +260,20 @@ Dialog._geckoOpenModal = function(url, action, init) {
|
||||
<div id="div_plugins" style="width:100%; overflow:auto">
|
||||
<?php
|
||||
$d = @dir($LocalPluginPath);
|
||||
$dir_array = array();
|
||||
while (false !== ($entry = $d->read())) //not a dot file or directory
|
||||
{ if(substr($entry,0,1) != '.')
|
||||
{ echo '<label><input type="checkbox" name="plugins" value="' . $entry . '"> ' . $entry . '</label>';
|
||||
{
|
||||
$dir_array[] = $entry;
|
||||
}
|
||||
}
|
||||
$d->close();
|
||||
sort($dir_array);
|
||||
foreach ($dir_array as $entry)
|
||||
{
|
||||
echo '<label><input type="checkbox" name="plugins" id="plugins" value="' . $entry . '"> ' . $entry . '</label>'."\n";
|
||||
}
|
||||
|
||||
?>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
@@ -3,14 +3,14 @@
|
||||
<!--------------------------------------:noTabs=true:tabSize=2:indentSize=2:--
|
||||
-- Xinha example frameset.
|
||||
--
|
||||
-- $HeadURL: http://svn.xinha.python-hosting.com/trunk/examples/full_example.html $
|
||||
-- $LastChangedDate: 2005-06-02 11:14:41 +0200 (Thu, 02 Jun 2005) $
|
||||
-- $LastChangedRevision: 212 $
|
||||
-- $LastChangedBy: gocher $
|
||||
-- $HeadURL: http://svn.xinha.python-hosting.com/trunk/examples/ext_example.html $
|
||||
-- $LastChangedDate: 2007-01-19 23:24:36 +0100 (Fr, 19 Jan 2007) $
|
||||
-- $LastChangedRevision: 677 $
|
||||
-- $LastChangedBy: ray $
|
||||
--------------------------------------------------------------------------->
|
||||
|
||||
<frameset cols="240,*">
|
||||
<frame src="ext_example-menu.php" name="menu">
|
||||
<frame src="about:blank" name="body">
|
||||
<frame src="ext_example-menu.php" name="menu" id="menu">
|
||||
<frame src="about:blank" name="body" id="body">
|
||||
</frameset>
|
||||
</html>
|
||||
|
||||
@@ -1,185 +0,0 @@
|
||||
<!DOCTYPE BHTML PUBLIC "-//BC//DTD BHTML 3.2 Final//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
<!--------------------------------------:noTabs=true:tabSize=2:indentSize=2:--
|
||||
-- Xinha example usage. This file shows how a developer might make use of
|
||||
-- Xinha, it forms the primary example file for the entire Xinha project.
|
||||
-- This file can be copied and used as a template for development by the
|
||||
-- end developer who should simply removed the area indicated at the bottom
|
||||
-- of the file to remove the auto-example-generating code and allow for the
|
||||
-- use of the file as a boilerplate.
|
||||
--
|
||||
-- $HeadURL: http://svn.xinha.python-hosting.com/trunk/examples/full_example-body.html $
|
||||
-- $LastChangedDate: 2005-07-27 10:43:19 -0400 (Wed, 27 Jul 2005) $
|
||||
-- $LastChangedRevision: 287 $
|
||||
-- $LastChangedBy: gocher $
|
||||
--------------------------------------------------------------------------->
|
||||
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<title>Example of Xinha</title>
|
||||
<link rel="stylesheet" href="full_example.css" />
|
||||
|
||||
<script type="text/javascript">
|
||||
// You must set _editor_url to the URL (including trailing slash) where
|
||||
// where xinha is installed, it's highly recommended to use an absolute URL
|
||||
// eg: _editor_url = "/path/to/xinha/";
|
||||
// You may try a relative URL if you wish]
|
||||
// eg: _editor_url = "../";
|
||||
// in this example we do a little regular expression to find the absolute path.
|
||||
_editor_url = document.location.href.replace(/examples\/full_example-body\.html.*/, '')
|
||||
_editor_lang = "en"; // And the language we need to use in the editor.
|
||||
</script>
|
||||
|
||||
<!-- Load up the actual editor core -->
|
||||
<script type="text/javascript" src="../htmlarea.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
xinha_editors = null;
|
||||
xinha_init = null;
|
||||
xinha_config = null;
|
||||
xinha_plugins = null;
|
||||
|
||||
// This contains the names of textareas we will make into Xinha editors
|
||||
xinha_init = xinha_init ? xinha_init : function()
|
||||
{
|
||||
/** STEP 1 ***************************************************************
|
||||
* First, what are the plugins you will be using in the editors on this
|
||||
* page. List all the plugins you will need, even if not all the editors
|
||||
* will use all the plugins.
|
||||
************************************************************************/
|
||||
|
||||
xinha_plugins = xinha_plugins ? xinha_plugins :
|
||||
[
|
||||
'CharacterMap',
|
||||
'ContextMenu',
|
||||
'FullScreen',
|
||||
'ListType',
|
||||
'SpellChecker',
|
||||
'Stylist',
|
||||
'SuperClean',
|
||||
'TableOperations'
|
||||
];
|
||||
|
||||
// THIS BIT OF JAVASCRIPT LOADS THE PLUGINS, NO TOUCHING :)
|
||||
if(!HTMLArea.loadPlugins(xinha_plugins, xinha_init)) return;
|
||||
|
||||
/** STEP 2 ***************************************************************
|
||||
* Now, what are the names of the textareas you will be turning into
|
||||
* editors?
|
||||
************************************************************************/
|
||||
|
||||
xinha_editors = xinha_editors ? xinha_editors :
|
||||
[
|
||||
'myTextArea',
|
||||
'anotherOne'
|
||||
];
|
||||
|
||||
/** STEP 3 ***************************************************************
|
||||
* We create a default configuration to be used by all the editors.
|
||||
* If you wish to configure some of the editors differently this will be
|
||||
* done in step 5.
|
||||
*
|
||||
* If you want to modify the default config you might do something like this.
|
||||
*
|
||||
* xinha_config = new HTMLArea.Config();
|
||||
* xinha_config.width = '640px';
|
||||
* xinha_config.height = '420px';
|
||||
*
|
||||
*************************************************************************/
|
||||
|
||||
xinha_config = xinha_config ? xinha_config() : new HTMLArea.Config();
|
||||
|
||||
/** STEP 4 ***************************************************************
|
||||
* We first create editors for the textareas.
|
||||
*
|
||||
* You can do this in two ways, either
|
||||
*
|
||||
* xinha_editors = HTMLArea.makeEditors(xinha_editors, xinha_config, xinha_plugins);
|
||||
*
|
||||
* if you want all the editor objects to use the same set of plugins, OR;
|
||||
*
|
||||
* xinha_editors = HTMLArea.makeEditors(xinha_editors, xinha_config);
|
||||
* xinha_editors['myTextArea'].registerPlugins(['Stylist','FullScreen']);
|
||||
* xinha_editors['anotherOne'].registerPlugins(['CSS','SuperClean']);
|
||||
*
|
||||
* if you want to use a different set of plugins for one or more of the
|
||||
* editors.
|
||||
************************************************************************/
|
||||
|
||||
xinha_editors = HTMLArea.makeEditors(xinha_editors, xinha_config, xinha_plugins);
|
||||
|
||||
/** STEP 5 ***************************************************************
|
||||
* If you want to change the configuration variables of any of the
|
||||
* editors, this is the place to do that, for example you might want to
|
||||
* change the width and height of one of the editors, like this...
|
||||
*
|
||||
* xinha_editors.myTextArea.config.width = '640px';
|
||||
* xinha_editors.myTextArea.config.height = '480px';
|
||||
*
|
||||
************************************************************************/
|
||||
|
||||
|
||||
/** STEP 6 ***************************************************************
|
||||
* Finally we "start" the editors, this turns the textareas into
|
||||
* Xinha editors.
|
||||
************************************************************************/
|
||||
|
||||
HTMLArea.startEditors(xinha_editors);
|
||||
}
|
||||
|
||||
window.onload = xinha_init;
|
||||
</script>
|
||||
<!--link type="text/css" rel="alternate stylesheet" title="blue-look" href="../skins/blue-look/skin.css" />
|
||||
<link type="text/css" rel="alternate stylesheet" title="green-look" href="../skins/green-look/skin.css" />
|
||||
<link type="text/css" rel="alternate stylesheet" title="xp-blue" href="../skins/xp-blue/skin.css" />
|
||||
<link type="text/css" rel="alternate stylesheet" title="xp-green" href="../skins/xp-green/skin.css" />
|
||||
<link type="text/css" rel="alternate stylesheet" title="inditreuse" href="../skins/inditreuse/skin.css" />
|
||||
<link type="text/css" rel="alternate stylesheet" title="blue-metallic" href="../skins/blue-metallic/skin.css" /-->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<form id="editors_here">
|
||||
<textarea id="myTextArea" name="myTextArea" rows="10" cols="80" style="width:100%"></textarea>
|
||||
<textarea id="anotherOne" name="anotherOne" rows="10" cols="80" style="width:100%"></textarea>
|
||||
</form>
|
||||
|
||||
|
||||
<!-- *************************************************************************
|
||||
- !! IMPORTANT !!
|
||||
- The html and javascript below is the code used to create the example page.
|
||||
- It renders a lot of the above unused because it pre-fills xinha_editors,
|
||||
- xinha_config and xinha_plugins for you, and creates new textareas in place
|
||||
- of the ones above. The items above are not used while the example is being
|
||||
- used!
|
||||
-
|
||||
- If you are going to take the code in this file to form the basis of your
|
||||
- own, then leave out this marked area.
|
||||
- ********************************************************************* -->
|
||||
|
||||
<div id="lipsum" style="display:none">
|
||||
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
|
||||
Aliquam et tellus vitae justo varius placerat. Suspendisse iaculis
|
||||
velit semper dolor. Donec gravida tincidunt mi. Curabitur tristique
|
||||
ante elementum turpis. Aliquam nisl. Nulla posuere neque non
|
||||
tellus. Morbi vel nibh. Cum sociis natoque penatibus et magnis dis
|
||||
parturient montes, nascetur ridiculus mus. Nam nec wisi. In wisi.
|
||||
Curabitur pharetra bibendum lectus.</p>
|
||||
|
||||
<ul>
|
||||
<li> Phasellus et massa sed diam viverra semper. </li>
|
||||
<li> Mauris tincidunt felis in odio. </li>
|
||||
<li> Nulla placerat nunc ut pede. </li>
|
||||
<li> Vivamus ultrices mi sit amet urna. </li>
|
||||
<li> Quisque sed augue quis nunc laoreet volutpat.</li>
|
||||
<li> Nunc sit amet metus in tortor semper mattis. </li>
|
||||
</ul>
|
||||
</div>
|
||||
<script src="full_example.js"></script>
|
||||
|
||||
<!-- ********************************************************************* -->
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,213 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<!--
|
||||
:noTabs=true:tabSize=2:indentSize=2:
|
||||
Xinha example menu. This file is used by full_example.html within a
|
||||
frame to provide a menu for generating example editors using
|
||||
full_example-body.html, and full_example.js.
|
||||
-->
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<title>Example of Xinha</title>
|
||||
<link rel="stylesheet" href="full_example.css" type="text/css">
|
||||
<style type="text/css">
|
||||
form, p {margin:0; padding:0;}
|
||||
label {display:block;}
|
||||
#numeditor {width:25px;}
|
||||
.options {display:none;}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
function checkPluginsOptions()
|
||||
{
|
||||
var plugins = document.forms[0].elements['plugins'];
|
||||
for(var x = 0; x < plugins.length; x++)
|
||||
if (document.getElementById(plugins[x].value + 'Options'))
|
||||
document.getElementById(plugins[x].value + 'Options').style.display = (plugins[x].checked)? 'block':'none';
|
||||
}
|
||||
function toggleOnChange(elt) {
|
||||
document.getElementById(elt.value + 'Options').style.display = (elt.checked)? 'block':'none';
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body onload="checkPluginsOptions();">
|
||||
<form action="full_example-body.html" target="body">
|
||||
<p>
|
||||
Select from the options below and <input type="submit" value="click to show Example">
|
||||
</p>
|
||||
<fieldset>
|
||||
<legend>Settings</legend>
|
||||
<label>
|
||||
Number of Editors: <input type="text" name="num" value="1" id="numeditor" maxlength="2">
|
||||
</label>
|
||||
<label>
|
||||
Language:
|
||||
<select name="lang">
|
||||
<option value="en">English</option>
|
||||
<option value="de">German</option>
|
||||
<option value="fr">French</option>
|
||||
<option value="it">Italian</option>
|
||||
<option value="no">Norwegian</option>
|
||||
</select>
|
||||
</label>
|
||||
<label>
|
||||
Skin:
|
||||
<select name="skin">
|
||||
<option value="blue-look">blue-look</option>
|
||||
<option value="green-look">green-look</option>
|
||||
<option value="xp-blue">xp-blue</option>
|
||||
<option value="xp-green">xp-green</option>
|
||||
<option value="inditreuse">inditreuse</option>
|
||||
<option value="blue-metallic">blue-metallic</option>
|
||||
<option value="titan">titan</option>
|
||||
</select>
|
||||
</label>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>Plugins</legend>
|
||||
<label>
|
||||
<input type="checkbox" name="plugins" value="Abbreviation"> Abbreviation
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="plugins" value="BackgroundImage"> BackgroundImage
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="plugins" value="CharacterMap" checked="checked" onchange="toggleOnChange(this);"> CharacterMap
|
||||
</label>
|
||||
<div id="CharacterMapOptions" class="options">
|
||||
mode : <select name="CharacterMapMode">
|
||||
<option value="popup">popup</option>
|
||||
<option value="panel">panel</option>
|
||||
</select>
|
||||
</div>
|
||||
<label>
|
||||
<input type="checkbox" name="plugins" value="CharCounter"> CharCounter
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="plugins" value="ClientsideSpellcheck" checked="checked"> ClientsideSpellcheck
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="plugins" value="ContextMenu" checked="checked"> ContextMenu
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="plugins" value="CSS" > CSS
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="plugins" value="DoubleClick"> DoubleClick
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="plugins" value="DynamicCSS" > DynamicCSS
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="plugins" value="EditTag"> EditTag
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="plugins" value="EnterParagraphs"> EnterParagraphs
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="plugins" value="Equation"> Equation
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="plugins" value="FindReplace" checked="checked"> FindReplace
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="plugins" value="FormOperations"> FormOperations
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="plugins" value="Forms"> Forms
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="plugins" value="FullPage" > FullPage
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="plugins" value="FullScreen" checked="checked"> FullScreen
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="plugins" value="GetHtml" checked="checked"> GetHtml
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="plugins" value="HorizontalRule"> HorizontalRule
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="plugins" value="InsertAnchor" checked="checked"> InsertAnchor
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="plugins" value="InsertMarquee"> InsertMarquee
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="plugins" value="InsertPagebreak"> InsertPagebreak
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="plugins" value="InsertSmiley"> InsertSmiley
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="plugins" value="InsertWords"> InsertWords
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="plugins" value="LangMarks"> LangMarks
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="plugins" value="ListType" checked="checked" onchange="toggleOnChange(this);"> ListType
|
||||
</label>
|
||||
<div id="ListTypeOptions" class="options">
|
||||
mode : <select name="ListTypeMode">
|
||||
<option value="toolbar">toolbar</option>
|
||||
<option value="panel">panel</option>
|
||||
</select>
|
||||
</div>
|
||||
<label>
|
||||
<input type="checkbox" name="plugins" value="NoteServer"> NoteServer
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="plugins" value="PasteText" checked="checked"> PasteText
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="plugins" value="QuickTag"> QuickTag
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="plugins" value="Stylist" checked="checked"> Stylist
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="plugins" value="TableOperations" checked="checked"> TableOperations
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="plugins" value="Template"> Template
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="plugins" value="UnFormat"> UnFormat
|
||||
</label>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>PHP Plugins</legend>
|
||||
<p>
|
||||
<small>These plugins require PHP in order to run.</small>
|
||||
</p>
|
||||
<label>
|
||||
<input type="checkbox" name="plugins" value="HtmlTidy"> HtmlTidy
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="plugins" value="ImageManager"> ImageManager
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="plugins" value="InsertPicture"> InsertPicture
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="plugins" value="Linker"> Linker
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="plugins" value="SpellChecker"> SpellChecker
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" name="plugins" value="SuperClean"> SuperClean
|
||||
</label>
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
<script type="text/javascript">
|
||||
top.frames["body"].location.href = document.location.href.replace(/full_example-menu\.html.*/, 'full_example-body.html')
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -2,9 +2,9 @@
|
||||
-- Xinha example CSS file. This is ripped from Trac ;)
|
||||
--
|
||||
-- $HeadURL: http://svn.xinha.python-hosting.com/trunk/examples/full_example.css $
|
||||
-- $LastChangedDate: 2005-02-18 23:10:03 -0500 (Fri, 18 Feb 2005) $
|
||||
-- $LastChangedRevision: 14 $
|
||||
-- $LastChangedBy: gogo $
|
||||
-- $LastChangedDate: 2007-01-19 23:24:36 +0100 (Fr, 19 Jan 2007) $
|
||||
-- $LastChangedRevision: 677 $
|
||||
-- $LastChangedBy: ray $
|
||||
--------------------------------------------------------------------------*/
|
||||
|
||||
body {
|
||||
@@ -45,3 +45,4 @@
|
||||
{
|
||||
margin:10px;
|
||||
}
|
||||
label {font-size: 11px;}
|
||||
@@ -1,16 +0,0 @@
|
||||
<html>
|
||||
|
||||
<!--------------------------------------:noTabs=true:tabSize=2:indentSize=2:--
|
||||
-- Xinha example frameset.
|
||||
--
|
||||
-- $HeadURL: http://svn.xinha.python-hosting.com/trunk/examples/full_example.html $
|
||||
-- $LastChangedDate: 2005-09-07 09:12:14 -0400 (Wed, 07 Sep 2005) $
|
||||
-- $LastChangedRevision: 312 $
|
||||
-- $LastChangedBy: gocher $
|
||||
--------------------------------------------------------------------------->
|
||||
|
||||
<frameset cols="220,*">
|
||||
<frame src="full_example-menu.html" name="menu">
|
||||
<frame src="about:blank" name="body">
|
||||
</frameset>
|
||||
</html>
|
||||
@@ -1,147 +1,88 @@
|
||||
|
||||
/*--------------------------------------:noTabs=true:tabSize=2:indentSize=2:--
|
||||
-- Xinha example logic. This javascript is used to auto-generate examples
|
||||
-- as controlled by the options set in full_example-menu.html. it's called
|
||||
-- from full_example-body.html.
|
||||
--
|
||||
-- $HeadURL: http://svn.xinha.python-hosting.com/trunk/examples/full_example.js $
|
||||
-- $LastChangedDate: 2005-10-29 12:28:08 -0400 (Sat, 29 Oct 2005) $
|
||||
-- $LastChangedRevision: 416 $
|
||||
-- $LastChangedBy: gogo $
|
||||
--------------------------------------------------------------------------*/
|
||||
|
||||
var num=1;
|
||||
if(window.parent && window.parent != window)
|
||||
{
|
||||
if(window.parent&&window.parent!=window){
|
||||
var f=window.parent.menu.document.forms[0];
|
||||
_editor_lang=f.lang[f.lang.selectedIndex].value;
|
||||
_editor_skin=f.skin[f.skin.selectedIndex].value;
|
||||
|
||||
num=parseInt(f.num.value);
|
||||
if(isNaN(num))
|
||||
{
|
||||
if(isNaN(num)){
|
||||
num=1;
|
||||
f.num.value=1;
|
||||
}
|
||||
xinha_plugins=[];
|
||||
for(var x = 0; x < f.plugins.length; x++)
|
||||
{
|
||||
if(f.plugins[x].checked) xinha_plugins.push(f.plugins[x].value);
|
||||
for(var x=0;x<f.plugins.length;x++){
|
||||
if(f.plugins[x].checked){
|
||||
xinha_plugins.push(f.plugins[x].value);
|
||||
}
|
||||
}
|
||||
|
||||
xinha_editors = [ ]
|
||||
for(var x = 0; x < num; x++)
|
||||
{
|
||||
var ta = 'myTextarea' + x;
|
||||
}
|
||||
xinha_editors=[];
|
||||
for(var x=0;x<num;x++){
|
||||
var ta="myTextarea"+x;
|
||||
xinha_editors.push(ta);
|
||||
}
|
||||
|
||||
xinha_config = function()
|
||||
{
|
||||
var config = new HTMLArea.Config();
|
||||
|
||||
if(typeof CSS != 'undefined')
|
||||
{
|
||||
config.pageStyle = "@import url(custom.css);";
|
||||
xinha_config=function(){
|
||||
var _1=new HTMLArea.Config();
|
||||
if(typeof CSS!="undefined"){
|
||||
_1.pageStyle="@import url(custom.css);";
|
||||
}
|
||||
|
||||
if(typeof Stylist != 'undefined')
|
||||
{
|
||||
// We can load an external stylesheet like this - NOTE : YOU MUST GIVE AN ABSOLUTE URL
|
||||
// otherwise it won't work!
|
||||
config.stylistLoadStylesheet(document.location.href.replace(/[^\/]*\.html/, 'stylist.css'));
|
||||
|
||||
// Or we can load styles directly
|
||||
config.stylistLoadStyles('p.red_text { color:red }');
|
||||
|
||||
// If you want to provide "friendly" names you can do so like
|
||||
// (you can do this for stylistLoadStylesheet as well)
|
||||
config.stylistLoadStyles('p.pink_text { color:pink }', {'p.pink_text' : 'Pretty Pink'});
|
||||
if(typeof Stylist!="undefined"){
|
||||
_1.stylistLoadStylesheet(document.location.href.replace(/[^\/]*\.html/,"stylist.css"));
|
||||
_1.stylistLoadStyles("p.red_text { color:red }");
|
||||
_1.stylistLoadStyles("p.pink_text { color:pink }",{"p.pink_text":"Pretty Pink"});
|
||||
}
|
||||
|
||||
if(typeof DynamicCSS != 'undefined')
|
||||
{
|
||||
config.pageStyle = "@import url(dynamic.css);";
|
||||
if(typeof DynamicCSS!="undefined"){
|
||||
_1.pageStyle="@import url(dynamic.css);";
|
||||
}
|
||||
|
||||
if(typeof InsertWords != 'undefined')
|
||||
{
|
||||
// Register the keyword/replacement list
|
||||
var keywrds1 = new Object();
|
||||
var keywrds2 = new Object();
|
||||
|
||||
keywrds1['-- Dropdown Label --'] = '';
|
||||
keywrds1['onekey'] = 'onevalue';
|
||||
keywrds1['twokey'] = 'twovalue';
|
||||
keywrds1['threekey'] = 'threevalue';
|
||||
|
||||
keywrds2['-- Insert Keyword --'] = '';
|
||||
keywrds2['Username'] = '%user%';
|
||||
keywrds2['Last login date'] = '%last_login%';
|
||||
config.InsertWords = {
|
||||
combos : [ { options: keywrds1, context: "body" },
|
||||
{ options: keywrds2, context: "li" } ]
|
||||
if(typeof InsertWords!="undefined"){
|
||||
var _2=new Object();
|
||||
var _3=new Object();
|
||||
_2["-- Dropdown Label --"]="";
|
||||
_2["onekey"]="onevalue";
|
||||
_2["twokey"]="twovalue";
|
||||
_2["threekey"]="threevalue";
|
||||
_3["-- Insert Keyword --"]="";
|
||||
_3["Username"]="%user%";
|
||||
_3["Last login date"]="%last_login%";
|
||||
_1.InsertWords={combos:[{options:_2,context:"body"},{options:_3,context:"li"}]};
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (typeof ListType != 'undefined')
|
||||
{
|
||||
if(window.parent && window.parent != window)
|
||||
{
|
||||
if(typeof ListType!="undefined"){
|
||||
if(window.parent&&window.parent!=window){
|
||||
var f=window.parent.menu.document.forms[0];
|
||||
config.ListType.mode = f.elements['ListTypeMode'].options[f.elements['ListTypeMode'].selectedIndex].value;
|
||||
_1.ListType.mode=f.elements["ListTypeMode"].options[f.elements["ListTypeMode"].selectedIndex].value;
|
||||
}
|
||||
}
|
||||
|
||||
if (typeof CharacterMap != 'undefined')
|
||||
{
|
||||
if(window.parent && window.parent != window)
|
||||
{
|
||||
if(typeof CharacterMap!="undefined"){
|
||||
if(window.parent&&window.parent!=window){
|
||||
var f=window.parent.menu.document.forms[0];
|
||||
config.CharacterMap.mode = f.elements['CharacterMapMode'].options[f.elements['CharacterMapMode'].selectedIndex].value;
|
||||
_1.CharacterMap.mode=f.elements["CharacterMapMode"].options[f.elements["CharacterMapMode"].selectedIndex].value;
|
||||
}
|
||||
}
|
||||
|
||||
if(typeof Filter != 'undefined') {
|
||||
xinha_config.Filters = ["Word", "Paragraph"]
|
||||
if(typeof Filter!="undefined"){
|
||||
xinha_config.Filters=["Word","Paragraph"];
|
||||
}
|
||||
|
||||
return config;
|
||||
}
|
||||
|
||||
|
||||
return _1;
|
||||
};
|
||||
var f=document.forms[0];
|
||||
f.innerHTML = '';
|
||||
|
||||
var lipsum = document.getElementById('lipsum').innerHTML;
|
||||
|
||||
for(var x = 0; x < num; x++)
|
||||
{
|
||||
var ta = 'myTextarea' + x;
|
||||
|
||||
var div = document.createElement('div');
|
||||
div.className = 'area_holder';
|
||||
|
||||
var txta = document.createElement('textarea');
|
||||
f.innerHTML="";
|
||||
var lipsum=document.getElementById("lipsum").innerHTML;
|
||||
for(var x=0;x<num;x++){
|
||||
var ta="myTextarea"+x;
|
||||
var div=document.createElement("div");
|
||||
div.className="area_holder";
|
||||
var txta=document.createElement("textarea");
|
||||
txta.id=ta;
|
||||
txta.name=ta;
|
||||
txta.value=lipsum;
|
||||
txta.style.width="100%";
|
||||
txta.style.height="420px";
|
||||
|
||||
div.appendChild(txta);
|
||||
f.appendChild(div);
|
||||
}
|
||||
|
||||
//check submitted values
|
||||
var submit = document.createElement('input');
|
||||
var submit=document.createElement("input");
|
||||
submit.type="submit";
|
||||
submit.id="submit";
|
||||
submit.value="submit";
|
||||
f.appendChild(submit);
|
||||
|
||||
var _oldSubmitHandler=null;
|
||||
if(document.forms[0].onsubmit!=null){
|
||||
_oldSubmitHandler=document.forms[0].onsubmit;
|
||||
@@ -153,3 +94,4 @@
|
||||
}
|
||||
}
|
||||
document.forms[0].onsubmit=frame_onSubmit;
|
||||
|
||||
|
||||
138
xinha/examples/simple_example.html
Normal file
@@ -0,0 +1,138 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<title>Simple example of Xinha</title>
|
||||
<script type="text/javascript">
|
||||
/************************************************************************
|
||||
* Please refer to http://xinha.python-hosting.com/wiki/NewbieGuide
|
||||
************************************************************************
|
||||
* You must set _editor_url to the URL (including trailing slash) where
|
||||
* where xinha is installed, it's highly recommended to use an absolute URL
|
||||
* eg: _editor_url = "/path/to/xinha/";
|
||||
* You may try a relative URL if you wish]
|
||||
* eg: _editor_url = "../";
|
||||
* in this example we do a little regular expression to find the absolute path.
|
||||
************************************************************************/
|
||||
var _editor_url = document.location.href.replace(/examples\/simple_example\.html.*/, '')
|
||||
// And the language we need to use in the editor.
|
||||
var _editor_lang = "en";
|
||||
</script>
|
||||
<!-- Load up the actual editor core -->
|
||||
<script type="text/javascript" src="../XinhaCore.js"></script>
|
||||
<script type="text/javascript">
|
||||
/************************************************************************
|
||||
* Plugins you will be using in the editors on this page.
|
||||
* List all the plugins you will need, even if not all the editors will
|
||||
* use all the plugins.
|
||||
************************************************************************
|
||||
* Please refer to http://xinha.python-hosting.com/wiki/Plugins for the
|
||||
* list of availables plugins
|
||||
************************************************************************/
|
||||
var xinha_plugins =
|
||||
[
|
||||
'CharacterMap',
|
||||
'ContextMenu',
|
||||
'FullScreen',
|
||||
'ListType',
|
||||
'SpellChecker',
|
||||
'Stylist',
|
||||
'SuperClean',
|
||||
'TableOperations'
|
||||
];
|
||||
/************************************************************************
|
||||
* Names of the textareas you will be turning into editors
|
||||
************************************************************************/
|
||||
var xinha_editors =
|
||||
[
|
||||
'myTextArea',
|
||||
'anotherOne'
|
||||
];
|
||||
/************************************************************************
|
||||
* Initialisation function
|
||||
************************************************************************/
|
||||
function xinha_init()
|
||||
{
|
||||
// THIS BIT OF JAVASCRIPT LOADS THE PLUGINS, NO TOUCHING :)
|
||||
if(!Xinha.loadPlugins(xinha_plugins, xinha_init)) return;
|
||||
/*************************************************************************
|
||||
* We create a default configuration to be used by all the editors.
|
||||
* If you wish to configure some of the editors differently this will be
|
||||
* done later after editors are initiated.
|
||||
************************************************************************
|
||||
* Please refer to http://xinha.python-hosting.com/wiki/Documentation/Customise
|
||||
* for the configuration parameters
|
||||
************************************************************************/
|
||||
var xinha_config = new Xinha.Config();
|
||||
/************************************************************************
|
||||
* We first create editors for the textareas.
|
||||
* You can do this in two ways, either
|
||||
*
|
||||
* xinha_editors = Xinha.makeEditors(xinha_editors, xinha_config, xinha_plugins);
|
||||
*
|
||||
* if you want all the editor objects to use the same set of plugins, OR;
|
||||
*
|
||||
* xinha_editors = Xinha.makeEditors(xinha_editors, xinha_config);
|
||||
* xinha_editors['myTextArea'].registerPlugins(['Stylist','FullScreen']);
|
||||
* xinha_editors['anotherOne'].registerPlugins(['CSS','SuperClean']);
|
||||
*
|
||||
* if you want to use a different set of plugins for one or more of the
|
||||
* editors.
|
||||
************************************************************************/
|
||||
xinha_editors = Xinha.makeEditors(xinha_editors, xinha_config, xinha_plugins);
|
||||
/************************************************************************
|
||||
* If you want to change the configuration variables of any of the
|
||||
* editors, this is the place to do that, for example you might want to
|
||||
* change the width and height of one of the editors, like this...
|
||||
************************************************************************/
|
||||
xinha_editors.myTextArea.config.width = '640px';
|
||||
xinha_editors.myTextArea.config.height = '480px';
|
||||
/************************************************************************
|
||||
* Or remove the statusbar on the other one, like this...
|
||||
* For every possible configuration, please refer to
|
||||
* http://xinha.python-hosting.com/wiki/Documentation/ConfigVariablesList
|
||||
************************************************************************/
|
||||
xinha_editors.anotherOne.config.statusBar = false;
|
||||
/************************************************************************
|
||||
* Finally we "start" the editors, this turns the textareas into
|
||||
* Xinha editors.
|
||||
************************************************************************/
|
||||
Xinha.startEditors(xinha_editors);
|
||||
}
|
||||
window.onload = xinha_init;
|
||||
</script>
|
||||
<link type="text/css" rel="stylesheet" title="blue-look" href="../skins/blue-look/skin.css">
|
||||
<link type="text/css" rel="alternate stylesheet" title="green-look" href="../skins/green-look/skin.css">
|
||||
<link type="text/css" rel="alternate stylesheet" title="xp-blue" href="../skins/xp-blue/skin.css">
|
||||
<link type="text/css" rel="alternate stylesheet" title="xp-green" href="../skins/xp-green/skin.css">
|
||||
<link type="text/css" rel="alternate stylesheet" title="inditreuse" href="../skins/inditreuse/skin.css">
|
||||
<link type="text/css" rel="alternate stylesheet" title="blue-metallic" href="../skins/blue-metallic/skin.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<form onsubmit="alert(this.myTextArea.value); alert(this.anotherOne.value); return false;">
|
||||
<textarea id="myTextArea" name="myTextArea" rows="10" cols="80" style="width:100%">
|
||||
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
|
||||
Aliquam et tellus vitae justo varius placerat. Suspendisse iaculis
|
||||
velit semper dolor. Donec gravida tincidunt mi. Curabitur tristique
|
||||
ante elementum turpis. Aliquam nisl. Nulla posuere neque non
|
||||
tellus. Morbi vel nibh. Cum sociis natoque penatibus et magnis dis
|
||||
parturient montes, nascetur ridiculus mus. Nam nec wisi. In wisi.
|
||||
Curabitur pharetra bibendum lectus.</p>
|
||||
</textarea>
|
||||
<textarea id="anotherOne" name="anotherOne" rows="10" cols="80" style="width:100%">
|
||||
<ul>
|
||||
<li> Phasellus et massa sed diam viverra semper. </li>
|
||||
<li> Mauris tincidunt felis in odio. </li>
|
||||
<li> Nulla placerat nunc ut pede. </li>
|
||||
<li> Vivamus ultrices mi sit amet urna. </li>
|
||||
<li> Quisque sed augue quis nunc laoreet volutpat.</li>
|
||||
<li> Nunc sit amet metus in tortor semper mattis. </li>
|
||||
</ul>
|
||||
</textarea>
|
||||
<input type="submit">
|
||||
</form>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -3,9 +3,9 @@
|
||||
-- when the Stylist plugin is included in an auto-generated example.
|
||||
--
|
||||
-- $HeadURL: http://svn.xinha.python-hosting.com/trunk/examples/stylist.css $
|
||||
-- $LastChangedDate: 2005-07-19 02:23:58 -0400 (Tue, 19 Jul 2005) $
|
||||
-- $LastChangedRevision: 277 $
|
||||
-- $LastChangedBy: gogo $
|
||||
-- $LastChangedDate: 2007-01-19 23:24:36 +0100 (Fr, 19 Jan 2007) $
|
||||
-- $LastChangedRevision: 677 $
|
||||
-- $LastChangedBy: ray $
|
||||
--------------------------------------------------------------------------*/
|
||||
|
||||
.bluetext
|
||||
|
||||
@@ -13,10 +13,10 @@
|
||||
-- of the file to remove the auto-example-generating code and allow for the
|
||||
-- use of the file as a boilerplate.
|
||||
--
|
||||
-- $HeadURL: svn://gogo@xinha.gogo.co.nz/repository/trunk/examples/full_example-body.html $
|
||||
-- $LastChangedDate: 2005-03-05 21:42:32 +1300 (Sat, 05 Mar 2005) $
|
||||
-- $LastChangedRevision: 35 $
|
||||
-- $LastChangedBy: gogo $
|
||||
-- $HeadURL: http://svn.xinha.python-hosting.com/trunk/examples/testbed.html $
|
||||
-- $LastChangedDate: 2007-01-19 23:24:36 +0100 (Fr, 19 Jan 2007) $
|
||||
-- $LastChangedRevision: 677 $
|
||||
-- $LastChangedBy: ray $
|
||||
--------------------------------------------------------------------------->
|
||||
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
@@ -54,10 +54,10 @@
|
||||
|
||||
xinha_plugins = xinha_plugins ? xinha_plugins :
|
||||
[
|
||||
|
||||
'CharacterMap', 'SpellChecker', 'Linker'
|
||||
];
|
||||
// THIS BIT OF JAVASCRIPT LOADS THE PLUGINS, NO TOUCHING :)
|
||||
if(!HTMLArea.loadPlugins(xinha_plugins, xinha_init)) return;
|
||||
if(!Xinha.loadPlugins(xinha_plugins, xinha_init)) return;
|
||||
|
||||
/** STEP 2 ***************************************************************
|
||||
* Now, what are the names of the textareas you will be turning into
|
||||
@@ -76,13 +76,15 @@
|
||||
*
|
||||
* If you want to modify the default config you might do something like this.
|
||||
*
|
||||
* xinha_config = new HTMLArea.Config();
|
||||
* xinha_config = new Xinha.Config();
|
||||
* xinha_config.width = 640;
|
||||
* xinha_config.height = 420;
|
||||
*
|
||||
*************************************************************************/
|
||||
|
||||
xinha_config = xinha_config ? xinha_config : new HTMLArea.Config();
|
||||
xinha_config = xinha_config ? xinha_config : new Xinha.Config();
|
||||
xinha_config.fullPage = true;
|
||||
xinha_config.CharacterMap.mode = 'panel';
|
||||
/*
|
||||
// We can load an external stylesheet like this - NOTE : YOU MUST GIVE AN ABSOLUTE URL
|
||||
// otherwise it won't work!
|
||||
@@ -100,11 +102,11 @@
|
||||
*
|
||||
* You can do this in two ways, either
|
||||
*
|
||||
* xinha_editors = HTMLArea.makeEditors(xinha_editors, xinha_config, xinha_plugins);
|
||||
* xinha_editors = Xinha.makeEditors(xinha_editors, xinha_config, xinha_plugins);
|
||||
*
|
||||
* if you want all the editor objects to use the same set of plugins, OR;
|
||||
*
|
||||
* xinha_editors = HTMLArea.makeEditors(xinha_editors, xinha_config);
|
||||
* xinha_editors = Xinha.makeEditors(xinha_editors, xinha_config);
|
||||
* xinha_editors['myTextArea'].registerPlugins(['Stylist','FullScreen']);
|
||||
* xinha_editors['anotherOne'].registerPlugins(['CSS','SuperClean']);
|
||||
*
|
||||
@@ -112,7 +114,7 @@
|
||||
* editors.
|
||||
************************************************************************/
|
||||
|
||||
xinha_editors = HTMLArea.makeEditors(xinha_editors, xinha_config, xinha_plugins);
|
||||
xinha_editors = Xinha.makeEditors(xinha_editors, xinha_config, xinha_plugins);
|
||||
|
||||
/** STEP 4 ***************************************************************
|
||||
* If you want to change the configuration variables of any of the
|
||||
@@ -130,12 +132,12 @@
|
||||
* Xinha editors.
|
||||
************************************************************************/
|
||||
|
||||
HTMLArea.startEditors(xinha_editors);
|
||||
Xinha.startEditors(xinha_editors);
|
||||
window.onload = null;
|
||||
}
|
||||
|
||||
window.onload = xinha_init;
|
||||
// window.onunload = HTMLArea.collectGarbageForIE;
|
||||
// window.onunload = Xinha.collectGarbageForIE;
|
||||
</script>
|
||||
</head>
|
||||
|
||||
@@ -143,6 +145,19 @@
|
||||
|
||||
<form action="javascript:var x = document.getElementById('editors_here');alert(x.myTextArea.value);" id="editors_here" onsubmit="alert(this.myTextArea.value);">
|
||||
<textarea id="myTextArea" name="myTextArea" style="width:100%;height:320px;">
|
||||
<html>
|
||||
<head>
|
||||
<title>Hello</title>
|
||||
<style type="text/css">
|
||||
li { color:red; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<img src="http://xinha.python-hosting.com/trac/logo.jpg" usemap="#m1">
|
||||
<map name="m1">
|
||||
<area shape="rect" coords="137,101,255,124" href="http://www.mydomain.com">
|
||||
</map>
|
||||
|
||||
<p>
|
||||
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
|
||||
Aliquam et tellus vitae justo varius placerat. Suspendisse iaculis
|
||||
@@ -161,6 +176,8 @@
|
||||
<li> Quisque sed augue quis nunc laoreet volutpat.</li>
|
||||
<li> Nunc sit amet metus in tortor semper mattis. </li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
</textarea>
|
||||
|
||||
<input type="submit" /> <input type="reset" />
|
||||
|
||||
5584
xinha/htmlarea.js
|
Before Width: | Height: | Size: 69 B After Width: | Height: | Size: 57 B |
|
Before Width: | Height: | Size: 71 B After Width: | Height: | Size: 63 B |
|
Before Width: | Height: | Size: 82 B After Width: | Height: | Size: 69 B |
|
Before Width: | Height: | Size: 87 B After Width: | Height: | Size: 76 B |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 69 B After Width: | Height: | Size: 61 B |
|
Before Width: | Height: | Size: 69 B After Width: | Height: | Size: 60 B |
|
Before Width: | Height: | Size: 69 B After Width: | Height: | Size: 60 B |
|
Before Width: | Height: | Size: 68 B After Width: | Height: | Size: 61 B |
|
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 6.5 KiB |
|
Before Width: | Height: | Size: 143 B After Width: | Height: | Size: 134 B |
|
Before Width: | Height: | Size: 149 B After Width: | Height: | Size: 134 B |
|
Before Width: | Height: | Size: 181 B After Width: | Height: | Size: 172 B |
|
Before Width: | Height: | Size: 171 B After Width: | Height: | Size: 164 B |
|
Before Width: | Height: | Size: 110 B After Width: | Height: | Size: 97 B |
|
Before Width: | Height: | Size: 67 B After Width: | Height: | Size: 50 B |
|
Before Width: | Height: | Size: 91 B After Width: | Height: | Size: 78 B |
|
Before Width: | Height: | Size: 90 B After Width: | Height: | Size: 80 B |
|
Before Width: | Height: | Size: 74 B After Width: | Height: | Size: 57 B |
|
Before Width: | Height: | Size: 77 B After Width: | Height: | Size: 67 B |
|
Before Width: | Height: | Size: 78 B After Width: | Height: | Size: 66 B |
|
Before Width: | Height: | Size: 78 B After Width: | Height: | Size: 67 B |
|
Before Width: | Height: | Size: 77 B After Width: | Height: | Size: 67 B |
|
Before Width: | Height: | Size: 85 B After Width: | Height: | Size: 69 B |
|
Before Width: | Height: | Size: 70 B After Width: | Height: | Size: 55 B |
|
Before Width: | Height: | Size: 70 B After Width: | Height: | Size: 53 B |
|
Before Width: | Height: | Size: 75 B After Width: | Height: | Size: 64 B |
|
Before Width: | Height: | Size: 148 B After Width: | Height: | Size: 125 B |
|
Before Width: | Height: | Size: 87 B After Width: | Height: | Size: 84 B |
|
Before Width: | Height: | Size: 87 B After Width: | Height: | Size: 84 B |
|
Before Width: | Height: | Size: 154 B After Width: | Height: | Size: 151 B |
|
Before Width: | Height: | Size: 89 B After Width: | Height: | Size: 72 B |
|
Before Width: | Height: | Size: 97 B After Width: | Height: | Size: 78 B |
|
Before Width: | Height: | Size: 80 B After Width: | Height: | Size: 72 B |
|
Before Width: | Height: | Size: 82 B After Width: | Height: | Size: 76 B |
|
Before Width: | Height: | Size: 888 B After Width: | Height: | Size: 100 B |
|
Before Width: | Height: | Size: 139 B After Width: | Height: | Size: 126 B |
|
Before Width: | Height: | Size: 128 B After Width: | Height: | Size: 117 B |
|
Before Width: | Height: | Size: 80 B After Width: | Height: | Size: 67 B |
|
Before Width: | Height: | Size: 88 B After Width: | Height: | Size: 75 B |
|
Before Width: | Height: | Size: 118 B After Width: | Height: | Size: 105 B |
|
Before Width: | Height: | Size: 143 B After Width: | Height: | Size: 128 B |
|
Before Width: | Height: | Size: 905 B After Width: | Height: | Size: 104 B |
|
Before Width: | Height: | Size: 941 B After Width: | Height: | Size: 150 B |
|
Before Width: | Height: | Size: 104 B After Width: | Height: | Size: 88 B |
|
Before Width: | Height: | Size: 886 B After Width: | Height: | Size: 82 B |
|
Before Width: | Height: | Size: 143 B After Width: | Height: | Size: 111 B |
|
Before Width: | Height: | Size: 81 B After Width: | Height: | Size: 67 B |
|
Before Width: | Height: | Size: 660 B After Width: | Height: | Size: 652 B |
BIN
xinha/images/fr/bold.gif
Normal file
|
After Width: | Height: | Size: 128 B |
BIN
xinha/images/fr/strikethrough.gif
Normal file
|
After Width: | Height: | Size: 131 B |
BIN
xinha/images/fr/underline.gif
Normal file
|
After Width: | Height: | Size: 134 B |
|
Before Width: | Height: | Size: 97 B After Width: | Height: | Size: 87 B |
|
Before Width: | Height: | Size: 97 B After Width: | Height: | Size: 87 B |
|
Before Width: | Height: | Size: 121 B After Width: | Height: | Size: 104 B |
|
Before Width: | Height: | Size: 158 B After Width: | Height: | Size: 148 B |
|
Before Width: | Height: | Size: 988 B After Width: | Height: | Size: 375 B |
|
Before Width: | Height: | Size: 129 B After Width: | Height: | Size: 73 B |
BIN
xinha/images/xinha_logo.gif
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
@@ -1,327 +0,0 @@
|
||||
|
||||
HTMLArea.Dialog = function(editor, html, localizer)
|
||||
{
|
||||
this.id = { };
|
||||
this.r_id = { }; // reverse lookup id
|
||||
this.editor = editor;
|
||||
this.document = document;
|
||||
|
||||
this.rootElem = document.createElement('div');
|
||||
this.rootElem.className = 'dialog';
|
||||
this.rootElem.style.position = 'absolute';
|
||||
this.rootElem.style.display = 'none';
|
||||
this.editor._framework.ed_cell.insertBefore(this.rootElem, this.editor._framework.ed_cell.firstChild);
|
||||
this.rootElem.style.width = this.width = this.editor._framework.ed_cell.offsetWidth + 'px';
|
||||
this.rootElem.style.height = this.height = this.editor._framework.ed_cell.offsetHeight + 'px';
|
||||
|
||||
var dialog = this;
|
||||
if(typeof localizer == 'function')
|
||||
{
|
||||
this._lc = localizer;
|
||||
}
|
||||
else if(localizer)
|
||||
{
|
||||
this._lc = function(string)
|
||||
{
|
||||
return HTMLArea._lc(string,localizer);
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
this._lc = function(string)
|
||||
{
|
||||
return string;
|
||||
};
|
||||
}
|
||||
|
||||
html = html.replace(/\[([a-z0-9_]+)\]/ig,
|
||||
function(fullString, id)
|
||||
{
|
||||
if(typeof dialog.id[id] == 'undefined')
|
||||
{
|
||||
dialog.id[id] = HTMLArea.uniq('Dialog');
|
||||
dialog.r_id[dialog.id[id]] = id;
|
||||
}
|
||||
return dialog.id[id];
|
||||
}
|
||||
).replace(/<l10n>(.*?)<\/l10n>/ig,
|
||||
function(fullString,translate)
|
||||
{
|
||||
return dialog._lc(translate) ;
|
||||
}
|
||||
).replace(/="_\((.*?)\)"/g,
|
||||
function(fullString, translate)
|
||||
{
|
||||
return '="' + dialog._lc(translate) + '"';
|
||||
}
|
||||
);
|
||||
|
||||
this.rootElem.innerHTML = html;
|
||||
|
||||
|
||||
|
||||
|
||||
this.editor.notifyOn
|
||||
('resize',
|
||||
function(e, args)
|
||||
{
|
||||
dialog.rootElem.style.width = dialog.width = dialog.editor._framework.ed_cell.offsetWidth + 'px';
|
||||
dialog.rootElem.style.height = dialog.height = dialog.editor._framework.ed_cell.offsetHeight + 'px';
|
||||
dialog.onresize();
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
HTMLArea.Dialog.prototype.onresize = function()
|
||||
{
|
||||
return true;
|
||||
};
|
||||
|
||||
HTMLArea.Dialog.prototype.show = function(values)
|
||||
{
|
||||
// We need to preserve the selection for IE
|
||||
if(HTMLArea.is_ie)
|
||||
{
|
||||
this._lastRange = this.editor._createRange(this.editor._getSelection());
|
||||
}
|
||||
|
||||
if(typeof values != 'undefined')
|
||||
{
|
||||
this.setValues(values);
|
||||
}
|
||||
this._restoreTo = [this.editor._textArea.style.display, this.editor._iframe.style.visibility, this.editor.hidePanels()];
|
||||
|
||||
this.editor._textArea.style.display = 'none';
|
||||
this.editor._iframe.style.visibility = 'hidden';
|
||||
this.rootElem.style.display = '';
|
||||
};
|
||||
|
||||
HTMLArea.Dialog.prototype.hide = function()
|
||||
{
|
||||
this.rootElem.style.display = 'none';
|
||||
this.editor._textArea.style.display = this._restoreTo[0];
|
||||
this.editor._iframe.style.visibility = this._restoreTo[1];
|
||||
this.editor.showPanels(this._restoreTo[2]);
|
||||
|
||||
// Restore the selection
|
||||
if(HTMLArea.is_ie)
|
||||
{
|
||||
this._lastRange.select();
|
||||
}
|
||||
this.editor.updateToolbar();
|
||||
return this.getValues();
|
||||
};
|
||||
|
||||
HTMLArea.Dialog.prototype.toggle = function()
|
||||
{
|
||||
if(this.rootElem.style.display == 'none')
|
||||
{
|
||||
this.show();
|
||||
}
|
||||
else
|
||||
{
|
||||
this.hide();
|
||||
}
|
||||
};
|
||||
|
||||
HTMLArea.Dialog.prototype.setValues = function(values)
|
||||
{
|
||||
for(var i in values)
|
||||
{
|
||||
var elems = this.getElementsByName(i);
|
||||
if(!elems) continue;
|
||||
for(var x = 0; x < elems.length; x++)
|
||||
{
|
||||
var e = elems[x];
|
||||
switch(e.tagName.toLowerCase())
|
||||
{
|
||||
case 'select' :
|
||||
{
|
||||
for(var j = 0; j < e.options.length; j++)
|
||||
{
|
||||
if(typeof values[i] == 'object')
|
||||
{
|
||||
for(var k = 0; k < values[i].length; k++)
|
||||
{
|
||||
if(values[i][k] == e.options[j].value)
|
||||
{
|
||||
e.options[j].selected = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if(values[i] == e.options[j].value)
|
||||
{
|
||||
e.options[j].selected = true;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
case 'textarea':
|
||||
case 'input' :
|
||||
{
|
||||
switch(e.getAttribute('type'))
|
||||
{
|
||||
case 'radio' :
|
||||
{
|
||||
if(e.value == values[i])
|
||||
{
|
||||
e.checked = true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case 'checkbox':
|
||||
{
|
||||
if(typeof values[i] == 'object')
|
||||
{
|
||||
for(var j in values[i])
|
||||
{
|
||||
if(values[i][j] == e.value)
|
||||
{
|
||||
e.checked = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(values[i] == e.value)
|
||||
{
|
||||
e.checked = true;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
default :
|
||||
{
|
||||
e.value = values[i];
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
default :
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
HTMLArea.Dialog.prototype.getValues = function()
|
||||
{
|
||||
var values = [ ];
|
||||
var inputs = HTMLArea.collectionToArray(this.rootElem.getElementsByTagName('input'))
|
||||
.append(HTMLArea.collectionToArray(this.rootElem.getElementsByTagName('textarea')))
|
||||
.append(HTMLArea.collectionToArray(this.rootElem.getElementsByTagName('select')));
|
||||
|
||||
for(var x = 0; x < inputs.length; x++)
|
||||
{
|
||||
var i = inputs[x];
|
||||
if(!(i.name && this.r_id[i.name])) continue;
|
||||
|
||||
if(typeof values[this.r_id[i.name]] == 'undefined')
|
||||
{
|
||||
values[this.r_id[i.name]] = null;
|
||||
}
|
||||
var v = values[this.r_id[i.name]];
|
||||
|
||||
switch(i.tagName.toLowerCase())
|
||||
{
|
||||
case 'select':
|
||||
{
|
||||
if(i.multiple)
|
||||
{
|
||||
if(!v.push)
|
||||
{
|
||||
if(v != null)
|
||||
{
|
||||
v = [v];
|
||||
}
|
||||
else
|
||||
{
|
||||
v = new Array();
|
||||
}
|
||||
}
|
||||
for(var j = 0; j < i.options.length; j++)
|
||||
{
|
||||
if(i.options[j].selected)
|
||||
{
|
||||
v.push(i.options[j].value);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(i.selectedIndex >= 0)
|
||||
{
|
||||
v = i.options[i.selectedIndex];
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case 'textarea':
|
||||
case 'input' :
|
||||
default :
|
||||
{
|
||||
switch(i.type.toLowerCase())
|
||||
{
|
||||
case 'radio':
|
||||
{
|
||||
if(i.checked)
|
||||
{
|
||||
v = i.value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
case 'checkbox':
|
||||
{
|
||||
if(v == null)
|
||||
{
|
||||
if(this.getElementsByName(this.r_id[i.name]).length > 1)
|
||||
{
|
||||
v = new Array();
|
||||
}
|
||||
}
|
||||
|
||||
if(i.checked)
|
||||
{
|
||||
if(v != null && typeof v == 'object' && v.push)
|
||||
{
|
||||
v.push(i.value);
|
||||
}
|
||||
else
|
||||
{
|
||||
v = i.value;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
default :
|
||||
{
|
||||
v = i.value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
values[this.r_id[i.name]] = v;
|
||||
}
|
||||
return values;
|
||||
};
|
||||
|
||||
HTMLArea.Dialog.prototype.getElementById = function(id)
|
||||
{
|
||||
return this.document.getElementById(this.id[id] ? this.id[id] : id);
|
||||
};
|
||||
|
||||
HTMLArea.Dialog.prototype.getElementsByName = function(name)
|
||||
{
|
||||
return this.document.getElementsByName(this.id[name] ? this.id[name] : name);
|
||||
};
|
||||
@@ -61,7 +61,7 @@
|
||||
"Cancel": "Abbrechen",
|
||||
"Path": "Pfad",
|
||||
"You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "Sie sind im Text-Modus. Benutzen Sie den [<>] Button, um in den visuellen Modus (WYSIWIG) zu gelangen.",
|
||||
"The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "Aus Sicherheitsgründen dürfen Skripte normalerweise nicht auf Ausschneiden/Kopieren/Einfügen zugreifen. Bitte klicken Sie OK um die technische Erläuterung auf mozilla.org zu öffnen, in der erklärt wird, wie einem Skript Zugriff gewährt werden kann.",
|
||||
"The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "Aus Sicherheitsgründen dürfen Skripte normalerweise nicht auf Ausschneiden/Kopieren/Einfügen zugreifen. Benutzen Sie bitte die entsprechenden Tastatur-Kommandos (Strg + x/c/v).",
|
||||
|
||||
"You need to select some text before create a link": "Sie müssen einen Text markieren, um einen Link zu erstellen",
|
||||
"Your Document is not well formed. Check JavaScript console for details.": "Ihr Dokument ist in keinem sauberen Format. Benutzen Sie die Javascript Console für weitere Informationen.",
|
||||
@@ -100,7 +100,7 @@
|
||||
"You must enter the URL where this link points to": "Sie müssen eine Ziel-URL angeben für die Verknüpfung angeben",
|
||||
|
||||
// Insert Table
|
||||
"Insert Table": "Table einfügen",
|
||||
"Insert Table": "Tabelle einfügen",
|
||||
"Rows:": "Zeilen:",
|
||||
"Number of rows": "Zeilenanzahl",
|
||||
"Cols:": "Spalten:",
|
||||
@@ -144,5 +144,26 @@
|
||||
"Set format to paragraph": "Setze Formatierung auf Absatz",
|
||||
"Clean content pasted from Word": "Von Word eingefügter Text bereinigen",
|
||||
"Headings": "Überschrift Typ 1 bis 6",
|
||||
"Close": "Schließen"
|
||||
"Close": "Schließen",
|
||||
|
||||
// Loading messages
|
||||
"Loading in progress. Please wait!": "Editor wird geladen. Bitte warten !",
|
||||
"Loading plugin $plugin" : "Plugin $plugin wird geladen",
|
||||
"Register plugin $plugin" : "Plugin $plugin wird registriert",
|
||||
"Constructing object": "Objekt wird generiert",
|
||||
"Generate Xinha framework": "Xinha Framework wird generiert",
|
||||
"Init editor size":"Größe wird berechnet",
|
||||
"Create Toolbar": "Werkzeugleiste wird generiert",
|
||||
"Create Statusbar" : "Statusleiste wird generiert",
|
||||
"Register right panel" : "Rechtes Panel wird generiert",
|
||||
"Register left panel" : "Linkes Panel wird generiert",
|
||||
"Register bottom panel" : "Unteres Panel wird generiert",
|
||||
"Register top panel" : "Oberes Panel wird generiert",
|
||||
"Finishing" : "Laden wird abgeschlossen",
|
||||
|
||||
// ColorPicker
|
||||
"Click a color..." : "Farbe wählen",
|
||||
"Sample" : "Beispiel",
|
||||
"Web Safe: " : "Web Safe: ",
|
||||
"Color: " : "Farbe: "
|
||||
};
|
||||
169
xinha/lang/eu.js
Normal file
@@ -0,0 +1,169 @@
|
||||
// I18N constants
|
||||
// LANG: "eu", ENCODING: UTF-8
|
||||
{
|
||||
"Bold": "Lodia",
|
||||
"Italic": "Etzana",
|
||||
"Underline": "Azpimarratua",
|
||||
"Strikethrough": "Marratua",
|
||||
"Subscript": "Azpindizea",
|
||||
"Superscript": "Goi-indizea",
|
||||
"Justify Left": "Ezkerretara lerrokatu",
|
||||
"Justify Center": "Zentratu",
|
||||
"Justify Right": "Eskuinetara lerrokatu",
|
||||
"Justify Full": "Justifikatu",
|
||||
"Ordered List": "Zerrenda ordenatua",
|
||||
"Bulleted List": "Zerrenda ez ordenatua",
|
||||
"Decrease Indent": "Koska handitu",
|
||||
"Increase Indent": "Koska txikitu",
|
||||
"Font Color": "Testu-kolorea",
|
||||
"Background Color": "Atzeko kolorea",
|
||||
"Horizontal Rule": "Marra horizontala",
|
||||
"Insert Web Link": "Lotura txertatu",
|
||||
"Insert/Modify Image": "Irudia txertatu",
|
||||
"Insert Table": "Taula txertatu",
|
||||
"Toggle HTML Source": "Ikusi dokumentua HTML-n",
|
||||
"Enlarge Editor": "Editorea handitu",
|
||||
"About this editor": "Editoreari buruz...",
|
||||
"Help using editor": "Laguntza",
|
||||
"Current style": "Uneko estiloa",
|
||||
"Undoes your last action": "Desegin",
|
||||
"Redoes your last action": "Berregin",
|
||||
"Cut selection": "Ebaki hautaketa",
|
||||
"Copy selection": "Kopiatu hautaketa",
|
||||
"Paste from clipboard": "Itsatsi arbelean dagoena",
|
||||
"Direction left to right": "Ezkerretik eskuinetarako norabidea",
|
||||
"Direction right to left": "Eskuinetik ezkerretarako norabidea",
|
||||
"Remove formatting": "Formatoa kendu",
|
||||
"Select all": "Dena aukeratu",
|
||||
"Print document": "Dokumentua inprimatu",
|
||||
"Clear MSOffice tags": "MSOffice etiketak ezabatu",
|
||||
"Clear Inline Font Specifications": "Ezabatu testuaren ezaugarriak",
|
||||
"Would you like to clear font typefaces?": "Letra-tipoak ezabatu nahi al dituzu?",
|
||||
"Would you like to clear font sizes?": "Letra-tipoen neurriak ezabatu nahi al dituzu?",
|
||||
"Would you like to clear font colours?": "Letra-tipoen koloreak ezabatu nahi al dituzu?",
|
||||
"Split Block": "Blokea zatitu",
|
||||
"Toggle Borders": "Ertzak trukatu",
|
||||
"Save as": "Gorde honela:",
|
||||
"Insert/Overwrite": "Txertatu/Gainidatzi",
|
||||
"— format —": "— Formatua —",
|
||||
"Heading 1": "Goiburua 1",
|
||||
"Heading 2": "Goiburua 2",
|
||||
"Heading 3": "Goiburua 3",
|
||||
"Heading 4": "Goiburua 4",
|
||||
"Heading 5": "Goiburua 5",
|
||||
"Heading 6": "Goiburua 6",
|
||||
"Normal": "Normala",
|
||||
"Address": "Helbidea",
|
||||
"Formatted": "Formateatua",
|
||||
|
||||
//dialogs
|
||||
"OK": "Ados",
|
||||
"Cancel": "Utzi",
|
||||
"Path": "Bidea",
|
||||
"You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "TESTU eran ari zara. Erabil ezazu [<>] botoia WYSIWIG erara itzultzeko.",
|
||||
"The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "Itsatsi botoia ez dabil Mozillan oinarritutako nabigatzaileetan (arrazoi teknikoengatik). Sacatu CTRL-V zure teklatuan, zuzenean itsasteko.",
|
||||
|
||||
"You need to select some text before create a link": "Testu-atal bat aukeratu behar duzu lehendabizi, lotura bat sortzeko",
|
||||
"Your Document is not well formed. Check JavaScript console for details.": "Zure dokumentuak ez du formatu zuzena. Begira ezazu JavaScript kontsola xehetasunetarako.",
|
||||
|
||||
"Alignment:": "Lerrokatzea:",
|
||||
"Not set": "Ez gaitua",
|
||||
"Left": "Ezkerretara",
|
||||
"Right": "Eskuinetara",
|
||||
"Texttop": "Irudiaren goialdean",
|
||||
"Absmiddle": "Irudiaren erdian",
|
||||
"Baseline": "Irudiaren oinean",
|
||||
"Absbottom": "Irudiaren behekaldean",
|
||||
"Bottom": "Behean",
|
||||
"Middle": "Erdian",
|
||||
"Top": "Goian",
|
||||
|
||||
"Layout": "Diseinua",
|
||||
"Spacing": "Tartea",
|
||||
"Horizontal:": "Horizontala:",
|
||||
"Horizontal padding": "Betegarri horizontala",
|
||||
"Vertical:": "Bertikala:",
|
||||
"Vertical padding": "Betegarri bertikala",
|
||||
"Border thickness:": "Ertzaren lodiera:",
|
||||
"Leave empty for no border": "Uztazu hutsik ertzik ez sortzeko",
|
||||
|
||||
//Insert Link
|
||||
"Insert/Modify Link": "Lotura txertatu/aldatu",
|
||||
"None (use implicit)": "Bat ere ez (implizituki erabili)",
|
||||
"New window (_blank)": "Lehio berrian (_blank)",
|
||||
"Same frame (_self)": "Frame berean (_self)",
|
||||
"Top frame (_top)": "Goiko frame-an (_top)",
|
||||
"Other": "Beste bat",
|
||||
"Target:": "Helburua:",
|
||||
"Title (tooltip):": "Izenburua (argibidea):",
|
||||
"URL:": "URL-a:",
|
||||
"You must enter the URL where this link points to": "Loturaren helburu den URL-a idatzi behar duzu",
|
||||
|
||||
// Insert Table
|
||||
"Insert Table": "Taula txertatu",
|
||||
"Rows:": "Lerroak:",
|
||||
"Number of rows": "Lerro-kopurua",
|
||||
"Cols:": "Zutabeak:",
|
||||
"Number of columns": "Zutabe-kopurua",
|
||||
"Width:": "Zabalera:",
|
||||
"Width of the table": "Taularen zabalera",
|
||||
"Percent": "Portzentaia",
|
||||
"Pixels": "Pixelak",
|
||||
"Em": "Em",
|
||||
"Width unit": "Zabalera-unitatea",
|
||||
"Fixed width columns": "Zabalera finkodun zutabeak",
|
||||
"Positioning of this table": "Taula honen kokapena",
|
||||
"Cell spacing:": "Gelaxka-tartea:",
|
||||
"Space between adjacent cells": "Gelaxka auzokideen arteko tartea",
|
||||
"Cell padding:": "Gelaxkaren betegarria:",
|
||||
"Space between content and border in cell": "Gelaxkaren edukia eta ertzaren arteko tartea",
|
||||
"You must enter a number of rows": "Lerro-kopurua idatzi behar duzu",
|
||||
"You must enter a number of columns": "Zutabe-kopurua idatzi behar duzu",
|
||||
|
||||
// Insert Image
|
||||
"Insert Image": "Irudia txertatu",
|
||||
"Image URL:": "Irudiaren URL-a:",
|
||||
"Enter the image URL here": "Idatz ezazu irudiaren URL-a hemen",
|
||||
"Preview": "Aurrebista",
|
||||
"Preview the image in a new window": "Aurreikusi irudia beste lehio batean",
|
||||
"Alternate text:": "Testu alternatiboa:",
|
||||
"For browsers that don't support images": "Irudirik onartzen ez duten nabigatzaileentzat",
|
||||
"Positioning of this image": "Irudiaren kokapena",
|
||||
"Image Preview:": "Irudiaren aurrebista:",
|
||||
"You must enter the URL": "URL-a idatzi behar duzu",
|
||||
|
||||
"button_bold": "de/bold.gif",
|
||||
"button_italic": "de/italic.gif",
|
||||
"button_underline": "de/underline.gif",
|
||||
|
||||
// Editor Help
|
||||
"Keyboard shortcuts": "Laster-teklak",
|
||||
"The editor provides the following key combinations:": "Editoreak ondorengo tekla-konbinazioak eskaintzen ditu:",
|
||||
"new paragraph": "Paragrafo berria",
|
||||
"insert linebreak": "Lerro-jauzia txertatu",
|
||||
"Set format to paragraph": "Formatua ezarri paragrafoari",
|
||||
"Clean content pasted from Word": "Word-etik itsatsitako edukia ezabatu",
|
||||
"Headings": "Goiburuak",
|
||||
"Close": "Itxi",
|
||||
|
||||
// Loading messages
|
||||
"Loading in progress. Please wait!": "Kargatzen. Itxaron mesedez",
|
||||
"Loading plugin $plugin" : "$plugin plugina kargatzen",
|
||||
"Register plugin $plugin" : "$plugin plugina erregistratu",
|
||||
"Constructing object": "Objektua eraikitzen",
|
||||
"Generate Xinha framework": "Xinha Framework sortzen",
|
||||
"Init editor size":"Editorearen hasierako neurria",
|
||||
"Create Toolbar": "Tresna-barra sortu",
|
||||
"Create Statusbar" : "Egoera-barra sortu",
|
||||
"Register right panel" : "Eskuin-panela erregistratu",
|
||||
"Register left panel" : "Ezker-panela erregistratu",
|
||||
"Register bottom panel" : "Beheko panela erregistratu",
|
||||
"Register top panel" : "Goiko panela erregistratu",
|
||||
"Finishing" : "Bukatzen",
|
||||
|
||||
// ColorPicker
|
||||
"Click a color..." : "Kolore bat aukeratu...",
|
||||
"Sample" : "Lagina",
|
||||
"Web Safe: " : "Web Safe: ",
|
||||
"Color: " : "Kolorea: "
|
||||
};
|
||||
167
xinha/lang/fa.js
Normal file
@@ -0,0 +1,167 @@
|
||||
// I18N constants
|
||||
// LANG: "fa", ENCODING: UTF-8
|
||||
{
|
||||
"Bold": "ضخیم",
|
||||
"Italic": "مورب",
|
||||
"Underline": "زیر خط",
|
||||
"Strikethrough": "رو خط",
|
||||
"Subscript": "زیروند",
|
||||
"Superscript": "بالاوند",
|
||||
"Justify Left": "تراز از چپ",
|
||||
"Justify Center": "تراز در وسط",
|
||||
"Justify Right": "تراز در راست",
|
||||
"Justify Full": "تراز از چپ و راست",
|
||||
"Ordered List": "فهرست مرتب",
|
||||
"Bulleted List": "فهرست گلوله ای",
|
||||
"Decrease Indent": "کاهش سر خط",
|
||||
"Increase Indent": "افزایش سر خط",
|
||||
"Font Color": "رنگ فلم",
|
||||
"Background Color": "رنگ پس زمینه",
|
||||
"Horizontal Rule": "خط افقی",
|
||||
"Insert Web Link": "افزودن لینک وب",
|
||||
"Insert/Modify Image": "افزودن یا ویرایش تصویر",
|
||||
"Insert Table": "افزودن جدول",
|
||||
"Toggle HTML Source": "مشاهده یا عدم مشاهده متن در قالب HTML",
|
||||
"Enlarge Editor": "بزرگ کردن ویرایش گر",
|
||||
"About this editor": "درباره این ویرایش گر",
|
||||
"Help using editor": "راهنمای استفاده ویرایش گر",
|
||||
"Current style": "شیوه کنونی",
|
||||
"Undoes your last action": "برگرداندن آخرین عمل",
|
||||
"Redoes your last action": "انجام مجدد آخرین عمل",
|
||||
"Cut selection": "بریدن انتخاب شده",
|
||||
"Copy selection": "کپی انتخاب شده",
|
||||
"Paste from clipboard": "چسباندن از تخته کار",
|
||||
"Direction left to right": "جهت از چپ به راست",
|
||||
"Direction right to left": "جهت از راست به چپ",
|
||||
"Remove formatting": "حذف فرمت بندی",
|
||||
"Select all": "انتخاب همه",
|
||||
"Print document": "چاپ سند",
|
||||
"Clear MSOffice tags": "پاک کردن متن از برچسب های MSOffice",
|
||||
"Clear Inline Font Specifications": "پاک کردن متن از مشخصات فونت",
|
||||
"Would you like to clear font typefaces?": "آیا تمایل دارید ظاهر فلم را پاک کنید؟",
|
||||
"Would you like to clear font sizes?": "آیا تمایل دارید اندازه قلم را پاک کنید",
|
||||
"Would you like to clear font colours?": "آیا تمایل دارید رنگ قلم را پاک کنید؟",
|
||||
"Split Block": "بلاک جداسازی",
|
||||
"Toggle Borders": "فعال/غیر فعال کردن لبه ها",
|
||||
"Save as": "ذخیره مانند...",
|
||||
"Insert/Overwrite": "افزودن/جانویسی",
|
||||
"— format —": "— قالب —",
|
||||
"Heading 1": "تیتر 1",
|
||||
"Heading 2": "تیتر 2",
|
||||
"Heading 3": "تیتر 3",
|
||||
"Heading 4": "تیتر 4",
|
||||
"Heading 5": "تیتر 5",
|
||||
"Heading 6": "تیتر 6",
|
||||
"Normal": "معمولی",
|
||||
"Address": "آدرس",
|
||||
"Formatted": "قالب بندی شده",
|
||||
|
||||
//dialogs
|
||||
"OK": "بله",
|
||||
"Cancel": "انصراف",
|
||||
"Path": "مسیر",
|
||||
"You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "در مد متنی هستید. از دکمه [<>] استفاده نمایید تا به مد WYSIWYG برگردید.",
|
||||
"The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "دکمه چسباندن در مرورگرهای سری Mozilla کار نمی کند (به دلایل فنی امنیتی).برای چسباندن مستقیم ، دکمه CTRL-V را در صفحه کلید بزنید.",
|
||||
"Your Document is not well formed. Check JavaScript console for details.": "سند شما بدرستی قالب بندی نشده است. برای اطلاعات بیشتر پایانه نمایش جاوااسکریپت را بررسی کنید.",
|
||||
|
||||
"Alignment:": "تراز بندی",
|
||||
"Not set": "تنظیم نشده",
|
||||
"Left": "چپ",
|
||||
"Right": "راست",
|
||||
"Texttop": "بالای متن",
|
||||
"Absmiddle": "دقیقا وسط",
|
||||
"Baseline": "ابتدای خط",
|
||||
"Absbottom": "دقیقا پایین",
|
||||
"Bottom": "پایین",
|
||||
"Middle": "وسط",
|
||||
"Top": "بالا",
|
||||
|
||||
"Layout": "لایه",
|
||||
"Spacing": "فاصله گذاری",
|
||||
"Horizontal:": "افقی",
|
||||
"Horizontal padding": "پرکننده افقی",
|
||||
"Vertical:": "عمودی",
|
||||
"Vertical padding": "پرکننده عمودی",
|
||||
"Border thickness:": "ضخامت لبه",
|
||||
"Leave empty for no border": "برای بدون لبه خالی رها کن",
|
||||
|
||||
//Insert Link
|
||||
"Insert/Modify Link": "افزودن / ویرایش لینک",
|
||||
"None (use implicit)": "هیچکدام (استفاده از بدون شرط)",
|
||||
"New window (_blank)": "پنجره جدید (_blank)",
|
||||
"Same frame (_self)": "فریم یکسان (_self)",
|
||||
"Top frame (_top)": "فریم بالایی (_top)",
|
||||
"Other": "سایر",
|
||||
"Target:": "هدف",
|
||||
"Title (tooltip):": "عنوان (راهنمای یک خطی)",
|
||||
"URL:": "URL:",
|
||||
"You must enter the URL where this link points to": "باید URLی که این لینک به آن اشاره دارد را وارد کنید",
|
||||
"You need to select some text before creating a link": "باید قبل از ساخت لینک ، متنی را انتخاب نمایید",
|
||||
|
||||
// Insert Table
|
||||
"Insert Table": "افزودن جدول",
|
||||
"Rows:": "ردیف ها",
|
||||
"Number of rows": "تعداد ردیف ها",
|
||||
"Cols:": "ستون ها",
|
||||
"Number of columns": "تعداد ستون ها",
|
||||
"Width:": "طول",
|
||||
"Width of the table": "طول جدول",
|
||||
"Percent": "درصد",
|
||||
"Pixels": "پیکسل ها",
|
||||
"Em": "Em",
|
||||
"Width unit": "واحد طول",
|
||||
"Fixed width columns": "ستون های طول ثابت",
|
||||
"Positioning of this table": "موقعیت یابی این جدول",
|
||||
"Cell spacing:": "فاصله سلول ها",
|
||||
"Space between adjacent cells": "فاصله بین سلول های همجوار",
|
||||
"Cell padding:": "پر کننده سلول",
|
||||
"Space between content and border in cell": "فاصله بین محتوا و لبه در سلول",
|
||||
"You must enter a number of rows": "باید تعداد ردیف ها را وارد کنید",
|
||||
"You must enter a number of columns": "باید تعداد ستون ها را وارد کنید",
|
||||
|
||||
// Insert Image
|
||||
"Insert Image": "افزودن تصویر",
|
||||
"Image URL:": "URL تصویر",
|
||||
"Enter the image URL here": "URL تصویر را اینجا وارد کنید",
|
||||
"Preview": "پیش نمایش",
|
||||
"Preview the image in a new window": "پیش نمایش تصویر در پنجره ای جدید",
|
||||
"Alternate text:": "متن جایگزین",
|
||||
"For browsers that don't support images": "برای مرورگرهایی که از تصاویر پشتیبانی نمی کنند",
|
||||
"Positioning of this image": "موقعیت یابی تصویر",
|
||||
"Image Preview:": "پیش نمایش تصویر",
|
||||
"You must enter the URL": "شما باید URL را وارد کنید",
|
||||
|
||||
// toolbar
|
||||
"button_bold": "fr/bold.gif",
|
||||
"button_underline": "fr/underline.gif",
|
||||
"button_strikethrough": "fr/strikethrough.gif",
|
||||
|
||||
// Editor Help
|
||||
"Xinha Help": "راهنمای Xinha",
|
||||
"Editor Help": "راهنمای ویرایشگر",
|
||||
"Keyboard shortcuts": "میانبرهای صفحه کلید",
|
||||
"The editor provides the following key combinations:": "ویرایشگر استفاده از کلید های گروهی زیر را مسیر می سازد :",
|
||||
"ENTER": "ENTREE",
|
||||
"new paragraph": "پاراگراف جدید",
|
||||
"SHIFT-ENTER": "SHIFT+ENTREE",
|
||||
"insert linebreak": "افزودن جدا کننده خط",
|
||||
"Set format to paragraph": "تغییر قالب به پاراگراف",
|
||||
"Clean content pasted from Word": "تمیز کردن محتوای چسبانده شده از Word",
|
||||
"Headings": "عنوان گذاری",
|
||||
"Close": "بستن",
|
||||
|
||||
// Loading messages
|
||||
"Loading in progress. Please wait !": "بارگذاری در حال انجام است. لطفا صبر کنید !",
|
||||
"Constructing main object": "ساختن شیء اصلی",
|
||||
"Constructing object": "ساختن شیء",
|
||||
"Register panel right": "ثبت قاب راست",
|
||||
"Register panel left": "ثبت قاب چپ",
|
||||
"Register panel top": "ثبت قاب بالا",
|
||||
"Register panel bottom": "ثبت قاب پایین",
|
||||
"Create Toolbar": "ساخت نوار ابزار",
|
||||
"Create StatusBar": "ساخت نوار وضعیت",
|
||||
"Generate Xinha object": "تولید شیء Xinha",
|
||||
"Init editor size": "مقدار دهی اندازه ویرایشگر",
|
||||
"Init IFrame": "مقدار دهی IFrame",
|
||||
"Register plugin $plugin": "ثبت پلاگین $plugin"
|
||||
};
|
||||
@@ -11,8 +11,8 @@
|
||||
"Justify Center": "Centrer",
|
||||
"Justify Right": "Aligner à droite",
|
||||
"Justify Full": "Justifier",
|
||||
"Ordered List": "Numérotation",
|
||||
"Bulleted List": "Puces",
|
||||
"Ordered List": "Liste numérotée",
|
||||
"Bulleted List": "Liste à puces",
|
||||
"Decrease Indent": "Diminuer le retrait",
|
||||
"Increase Indent": "Augmenter le retrait",
|
||||
"Font Color": "Couleur de police",
|
||||
@@ -36,9 +36,12 @@
|
||||
"Remove formatting": "Supprimer mise en forme",
|
||||
"Select all": "Tout sélectionner",
|
||||
"Print document": "Imprimer document",
|
||||
"Clear MSOffice tags": "Effacer tags MSOffice",
|
||||
"Clear Inline Font Specifications": "Supprimer paramètres inline de la fonte",
|
||||
"Split Block": "Séparer les blocks",
|
||||
"Clear MSOffice tags": "Supprimer tags MSOffice",
|
||||
"Clear Inline Font Specifications": "Supprimer paramètres inline de la police",
|
||||
"Would you like to clear font typefaces?": "Voulez-vous supprimer les types ?",
|
||||
"Would you like to clear font sizes?": "Voulez-vous supprimer les tailles ?",
|
||||
"Would you like to clear font colours?": "Voulez-vous supprimer les couleurs ?",
|
||||
"Split Block": "Séparer les blocs",
|
||||
"Toggle Borders": "Afficher / Masquer les bordures",
|
||||
"Save as": "Enregistrer sous",
|
||||
"Insert/Overwrite": "Insertion / Remplacement",
|
||||
@@ -58,8 +61,8 @@
|
||||
"Cancel": "Annuler",
|
||||
"Path": "Chemin",
|
||||
"You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "Vous êtes en MODE TEXTE. Appuyez sur le bouton [<>] pour retourner au mode WYSIWYG.",
|
||||
"The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "Le bouton Coller ne fonctionne pas sur les navigateurs basés sur Mozilla (pour des raisons de sécurité). Pressez simplement CTRL-V au clavier pour coller directement.",
|
||||
"Your Document is not well formed. Check JavaScript console for details.": "Le document est mal formé. Vérifiez la console JavaScript pour plus de détail.",
|
||||
"The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "Le bouton Coller ne fonctionne pas sur les navigateurs basés sur Mozilla (pour des raisons de sécurité). Pressez CTRL-V au clavier pour coller directement.",
|
||||
"Your Document is not well formed. Check JavaScript console for details.": "Le document est mal formé. Vérifiez la console JavaScript pour plus de détails.",
|
||||
|
||||
"Alignment:": "Alignement",
|
||||
"Not set": "Indéfini",
|
||||
@@ -79,7 +82,7 @@
|
||||
"Horizontal padding": "Marge horizontale interne",
|
||||
"Vertical:": "Vertical",
|
||||
"Vertical padding": "Marge verticale interne",
|
||||
"Border thickness:": "Epaisseur bordure",
|
||||
"Border thickness:": "Epaisseur de bordure",
|
||||
"Leave empty for no border": "Laisser vide pour pas de bordure",
|
||||
|
||||
//Insert Link
|
||||
@@ -113,18 +116,54 @@
|
||||
"Space between adjacent cells": "Espace entre les cellules adjacentes",
|
||||
"Cell padding:": "Marge interne",
|
||||
"Space between content and border in cell": "Espace entre le contenu et la bordure d'une cellule",
|
||||
"You must enter a number of rows": "Vous devez entrez le nombre de lignes",
|
||||
"You must enter a number of rows": "Vous devez entrer le nombre de lignes",
|
||||
"You must enter a number of columns": "Vous devez entrer le nombre de colonnes",
|
||||
|
||||
// Insert Image
|
||||
"Insert Image": "Insérer une image",
|
||||
"Image URL:": "URL image",
|
||||
"Enter the image URL here": "Entrer l'url de l'image ici",
|
||||
"Enter the image URL here": "Entrer l'URL de l'image ici",
|
||||
"Preview": "Prévisualiser",
|
||||
"Preview the image in a new window": "Prévisualiser l'image dans une nouvelle fenêtre",
|
||||
"Alternate text:": "Text alternatif",
|
||||
"Alternate text:": "Texte alternatif",
|
||||
"For browsers that don't support images": "Pour les navigateurs qui ne supportent pas les images",
|
||||
"Positioning of this image": "Position de l'image",
|
||||
"Image Preview:": "Prévisualisation",
|
||||
"You must enter the URL": "Vous devez entrer l'URL"
|
||||
"You must enter the URL": "Vous devez entrer l'URL",
|
||||
|
||||
// toolbar
|
||||
"button_bold": "fr/bold.gif",
|
||||
"button_underline": "fr/underline.gif",
|
||||
"button_strikethrough": "fr/strikethrough.gif",
|
||||
|
||||
// Editor Help
|
||||
"Xinha Help": "Aide Xinha",
|
||||
"Editor Help": "Aide de l'éditeur",
|
||||
"Keyboard shortcuts": "Raccourcis clavier",
|
||||
"The editor provides the following key combinations:": "L'éditeur fournit les combinaisons de touches suivantes :",
|
||||
"ENTER": "ENTREE",
|
||||
"new paragraph": "Nouveau paragraphe",
|
||||
"SHIFT-ENTER": "SHIFT+ENTREE",
|
||||
"insert linebreak": "Insère un saut de ligne",
|
||||
"Set format to paragraph": "Applique le format paragraphe",
|
||||
"Clean content pasted from Word": "Nettoyage du contenu copié depuis Word",
|
||||
"Headings": "Titres",
|
||||
"Close": "Fermer",
|
||||
|
||||
// Loading messages
|
||||
"Loading in progress. Please wait!": "Chargement en cours. Veuillez patienter!",
|
||||
"Finishing" : "Chargement bientôt terminé",
|
||||
"Constructing object": "Construction de l'objet",
|
||||
"Create Toolbar": "Construction de la barre d'icones",
|
||||
"Create Statusbar": "Construction de la barre de status",
|
||||
"Register right panel" : "Enregistrement du panneau droit",
|
||||
"Register left panel" : "Enregistrement du panneau gauche",
|
||||
"Register bottom panel" : "Enregistrement du panneau supérieur",
|
||||
"Register top panel" : "Enregistrement du panneau inférieur",
|
||||
"Generate Xinha framework": "Génération de Xinha",
|
||||
"Init editor size": "Initialisation de la taille d'édition",
|
||||
"Init IFrame": "Initialisation de l'iframe",
|
||||
"Register plugin $plugin": "Enregistrement du plugin $plugin"
|
||||
"Loading plugin $plugin" : "Chargement du plugin $plugin"
|
||||
|
||||
};
|
||||
163
xinha/lang/ja.js
@@ -1,5 +1,5 @@
|
||||
// I18N constants -- Japanese UTF-8
|
||||
// by Manabu Onoue -- tmocsys@tmocsys.com
|
||||
// I18N constants
|
||||
// LANG: "ja", ENCODING: UTF-8N
|
||||
|
||||
{
|
||||
"Bold": "太字",
|
||||
@@ -19,12 +19,157 @@
|
||||
"Font Color": "文字色",
|
||||
"Background Color": "背景色",
|
||||
"Horizontal Rule": "水平線",
|
||||
"Insert Web Link": "リンク作成",
|
||||
"Insert/Modify Image": "画像挿入",
|
||||
"Insert Table": "テーブル挿入",
|
||||
"Toggle HTML Source": "HTML表示切替",
|
||||
"Enlarge Editor": "エディタ拡大",
|
||||
"Insert Web Link": "リンクの挿入",
|
||||
"Insert/Modify Image": "画像の挿入/修正",
|
||||
"Insert Table": "テーブルを挿入",
|
||||
"Toggle HTML Source": "HTML編集モードを切替",
|
||||
"Enlarge Editor": "エディタを最大化",
|
||||
"About this editor": "バージョン情報",
|
||||
"Help using editor": "ヘルプ",
|
||||
"Current style": "現在のスタイル"
|
||||
}
|
||||
"Current style": "現在のスタイル",
|
||||
"Undoes your last action": "元に戻す",
|
||||
"Redoes your last action": "やり直し",
|
||||
"Cut selection": "切り取り",
|
||||
"Copy selection": "コピー",
|
||||
"Paste from clipboard": "貼り付け",
|
||||
"Direction left to right": "左から右へ",
|
||||
"Direction right to left": "右から左へ",
|
||||
"Remove formatting": "書式削除",
|
||||
"Select all": "すべて選択",
|
||||
"Print document": "印刷",
|
||||
"Clear MSOffice tags": "MSOfficeタグをクリア",
|
||||
"Clear Inline Font Specifications": "インラインフォント指定をクリア",
|
||||
"Would you like to clear font typefaces?": "フォント名をクリアしますか?",
|
||||
"Would you like to clear font sizes?": "サイズをクリアしますか?",
|
||||
"Would you like to clear font colours?": "色をクリアしますか?",
|
||||
"Split Block": "領域分割",
|
||||
"Toggle Borders": "境界線の切替",
|
||||
"Save as": "名前をつけて保存",
|
||||
"Insert/Overwrite": "挿入/上書き",
|
||||
"— format —": "— 書式 —",
|
||||
"Heading 1": "見出し1",
|
||||
"Heading 2": "見出し2",
|
||||
"Heading 3": "見出し3",
|
||||
"Heading 4": "見出し4",
|
||||
"Heading 5": "見出し5",
|
||||
"Heading 6": "見出し6",
|
||||
"Normal": "標準",
|
||||
"Address": "アドレス",
|
||||
"Formatted": "整形済み",
|
||||
"— font —": "— フォント —",
|
||||
"— size —": "— サイズ —",
|
||||
|
||||
//dialogs
|
||||
"OK": "OK",
|
||||
"Cancel": "中止",
|
||||
"Path": "パス",
|
||||
"You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "テキストモードで操作しています。WYSIWYG編集に戻るには[<>]ボタンを使ってください。",
|
||||
"The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "MozillaベースのWebブラウザでは、貼り付けボタンは機能しません(技術的なセキュリティ上の理由で)。Ctrl+Vキーを押して直接貼り付けてください。",
|
||||
"Your Document is not well formed. Check JavaScript console for details.": "この文書には構文的な問題があります。詳細はJavaScriptコンソールを参照してください。",
|
||||
"You need to select some text before creating a link": "リンクを作成するにはテキストを選択する必要があります",
|
||||
|
||||
"Alignment:": "行揃え:",
|
||||
"Not set": "なし",
|
||||
"Left": "左",
|
||||
"Right": "右",
|
||||
"Texttop": "テキスト上部",
|
||||
"Absmiddle": "中央(絶対的)",
|
||||
"Baseline": "ベースライン",
|
||||
"Absbottom": "下(絶対的)",
|
||||
"Bottom": "下",
|
||||
"Middle": "中央",
|
||||
"Top": "上",
|
||||
|
||||
"Layout": "レイアウト",
|
||||
"Spacing": "間隔",
|
||||
"Horizontal:": "水平:",
|
||||
"Horizontal padding": "水平余白",
|
||||
"Vertical:": "垂直:",
|
||||
"Vertical padding": "垂直余白",
|
||||
"Border thickness:": "境界線の太さ:",
|
||||
"Leave empty for no border": "境界線がない場合は空のままにする",
|
||||
|
||||
//Insert Link
|
||||
"Insert/Modify Link": "リンクの挿入/修正",
|
||||
"None (use implicit)": "なし (デフォルトに任せる)",
|
||||
"New window (_blank)": "新しいウィンドウ (_blank)",
|
||||
"Same frame (_self)": "自己フレーム内 (_self)",
|
||||
"Top frame (_top)": "最上位フレーム (_top)",
|
||||
"Other": "その他",
|
||||
"Target:": "ターゲット:",
|
||||
"Title (tooltip):": "タイトル:",
|
||||
"URL:": "URL:",
|
||||
"You must enter the URL where this link points to": "このリンクが指し示すURLを入力してください",
|
||||
|
||||
// Insert Table
|
||||
"Insert Table": "テーブルの挿入",
|
||||
"Rows:": "行:",
|
||||
"Number of rows": "行数",
|
||||
"Cols:": "列:",
|
||||
"Number of columns": "列数",
|
||||
"Width:": "幅:",
|
||||
"Width of the table": "テーブルの幅",
|
||||
"Percent": "パーセント(%)",
|
||||
"Pixels": "ピクセル(px)",
|
||||
"Em": "相対値(em)",
|
||||
"Width unit": "幅の単位",
|
||||
"Fixed width columns": "列の幅を固定",
|
||||
"Positioning of this table": "このテーブルの配置",
|
||||
"Cell spacing:": "セル間隔:",
|
||||
"Space between adjacent cells": "隣接するセル間の距離",
|
||||
"Cell padding:": "セル余白:",
|
||||
"Space between content and border in cell": "セル内における内容と境界線との距離",
|
||||
"You must enter a number of rows": "行数を入力してください",
|
||||
"You must enter a number of columns": "列数を入力してください",
|
||||
|
||||
// Insert Image
|
||||
"Insert Image": "画像の挿入",
|
||||
"Image URL:": "画像URL:",
|
||||
"Enter the image URL here": "画像のURLをここに入力します",
|
||||
"Preview": "表示",
|
||||
"Preview the image in a new window": "ウィンドウで画像を表示",
|
||||
"Alternate text:": "代替テキスト:",
|
||||
"For browsers that don't support images": "画像表示をサポートしないブラウザに必要です",
|
||||
"Positioning of this image": "画像の配置",
|
||||
"Image Preview:": "画像表示:",
|
||||
"You must enter the URL": "URLを入力する必要があります",
|
||||
|
||||
//"button_bold": "fr/bold.gif",
|
||||
//"button_underline": "fr/underline.gif",
|
||||
//"button_strikethrough": "fr/strikethrough.gif",
|
||||
|
||||
// Editor Help
|
||||
"Xinha Help": "ヘルプ",
|
||||
"Editor Help": "エディタのヘルプ",
|
||||
"Keyboard shortcuts": "キーボードショートカット",
|
||||
"The editor provides the following key combinations:": "エディタは以下のキー操作を提供しています:",
|
||||
"ENTER": "ENTER",
|
||||
"new paragraph": "新規段落",
|
||||
"SHIFT-ENTER": "SHIFT+ENTER",
|
||||
"insert linebreak": "段落内改行の挿入",
|
||||
"Set format to paragraph": "段落書式の設定",
|
||||
"Clean content pasted from Word": "Wordから貼り付けられた内容の清書",
|
||||
"Headings": "見出し",
|
||||
"Close": "閉じる",
|
||||
|
||||
// Loading messages
|
||||
"Loading in progress. Please wait!": "ロード中です。しばらくお待ちください",
|
||||
"Loading plugin $plugin" : "ロード中プラグイン $plugin",
|
||||
"Register plugin $plugin" : "登録中プラグイン $plugin",
|
||||
"Constructing object": "オブジェクト構築中",
|
||||
"Generate Xinha framework": "Xinhaフレームワーク生成中",
|
||||
"Init editor size":"エディタサイズの初期化",
|
||||
"Create Toolbar": "ツールバーの作成",
|
||||
"Create Statusbar" : "ステータスバーの作成",
|
||||
"Register right panel" : "登録 右パネル",
|
||||
"Register left panel" : "登録 左パネル",
|
||||
"Register bottom panel" : "登録 下パネル",
|
||||
"Register top panel" : "登録 上パネル",
|
||||
"Finishing" : "完了",
|
||||
|
||||
// ColorPicker
|
||||
"Click a color..." : "色をクリック...",
|
||||
"Sample" : "サンプル",
|
||||
"Web Safe: " : "Webセーフ: ",
|
||||
"Color: " : "色: "
|
||||
};
|
||||
@@ -1,31 +1,78 @@
|
||||
// I18N constants
|
||||
|
||||
// LANG: "en", ENCODING: UTF-8
|
||||
// LANG: "nb", ENCODING: UTF-8
|
||||
|
||||
// - translated by ses<ses@online.no>
|
||||
// Additional translations by Håvard Wigtil <havardw@extend.no>
|
||||
// Additional translations by Kim Steinhaug <kim@steinhaug.com>
|
||||
|
||||
{
|
||||
"Bold": "Fet",
|
||||
"Italic": "Kursiv",
|
||||
"Underline": "Understreket",
|
||||
"Strikethrough": "Gjennomstreket",
|
||||
"Subscript": "Senket",
|
||||
"Superscript": "Hevet",
|
||||
"Subscript": "Nedsenket",
|
||||
"Superscript": "Opphøyet",
|
||||
"Justify Left": "Venstrejuster",
|
||||
"Justify Center": "Midtjuster",
|
||||
"Justify Right": "Høyrejuster",
|
||||
"Justify Full": "Blokkjuster",
|
||||
"Ordered List": "Nummerert liste",
|
||||
"Bulleted List": "Punktmerket liste",
|
||||
"Decrease Indent": "Øke innrykk",
|
||||
"Increase Indent": "Reduser innrykk",
|
||||
"Font Color": "Skriftfarge",
|
||||
"Background Color": "Bakgrunnsfarge",
|
||||
"Horizontal Rule": "Horisontal linje",
|
||||
"Insert Web Link": "Sett inn lenke",
|
||||
"Bulleted List": "Punktliste",
|
||||
"Decrease Indent": "Reduser innrykk",
|
||||
"Increase Indent": "Øke innrykk",
|
||||
"Font Color": "Tekstfarge",
|
||||
"Background Color": "Bakgrundsfarge",
|
||||
"Horizontal Rule": "Vannrett linje",
|
||||
"Insert Web Link": "Lag lenke",
|
||||
"Insert/Modify Image": "Sett inn bilde",
|
||||
"Insert Table": "Sett inn tabell",
|
||||
"Toggle HTML Source": "Vis HTML kode",
|
||||
"Enlarge Editor": "Forstørr redigeringsvindu",
|
||||
"About this editor": "Om..",
|
||||
"Toggle HTML Source": "Vis kildekode",
|
||||
"Enlarge Editor": "Vis i eget vindu",
|
||||
"About this editor": "Om denne editor",
|
||||
"Help using editor": "Hjelp",
|
||||
"Current style": "Gjeldende stil"
|
||||
}
|
||||
"Current style": "Nåværende stil",
|
||||
"Undoes your last action": "Angrer siste redigering",
|
||||
"Redoes your last action": "Gjør om siste angring",
|
||||
"Cut selection": "Klipp ut område",
|
||||
"Copy selection": "Kopier område",
|
||||
"Save as": "Lagre som",
|
||||
"Paste from clipboard": "Lim inn",
|
||||
"Remove formatting": "Fjern formattering",
|
||||
"Direction left to right": "Fra venstre mot høyre",
|
||||
"Direction right to left": "Fra høyre mot venstre",
|
||||
"Insert/Overwrite": "Sett inn/Overskriv",
|
||||
"OK": "OK",
|
||||
"Cancel": "Avbryt",
|
||||
"Path": "Tekstvelger",
|
||||
"You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "Du er i tekstmodus Klikk på [<>] for å gå tilbake til WYSIWIG.",
|
||||
"The full screen mode is known to cause problems with Internet Explorer, due to browser bugs that we weren": "Visning i eget vindu har kjente problemer med Internet Explorer, på grunn av problemer med denne nettleseren. Mulige problemer er et uryddig skjermbilde, manglende editorfunksjoner og/eller at nettleseren crasher. Hvis du bruker Windows 95 eller Windows 98 er det også muligheter for at Windows will crashe.\n\nTrykk ",
|
||||
"Cancel": "Avbryt",
|
||||
"Insert/Modify Link": "Rediger lenke",
|
||||
"New window (_blank)": "Eget vindu (_blank)",
|
||||
"None (use implicit)": "Ingen (bruk standardinnstilling)",
|
||||
"Other": "Annen",
|
||||
"Same frame (_self)": "Samme ramme (_self)",
|
||||
"Target:": "Mål:",
|
||||
"Title (tooltip):": "Tittel (tooltip):",
|
||||
"Top frame (_top)": "Toppramme (_top)",
|
||||
"URL:": "Adresse:",
|
||||
"You must enter the URL where this link points to": "Du må skrive inn en adresse som denne lenken skal peke til",
|
||||
"Clear Inline Font Specifications": "Fjerne inline font spesifikasjoner",
|
||||
"Would you like to clear font typefaces?": "Ønsker du å fjerne skrifttyper",
|
||||
"Would you like to clear font sizes?": "Ønsker du å fjerne skrift størrelser",
|
||||
"Would you like to clear font colours?": "Ønsker du å fjerne farger på skriften",
|
||||
"Print document": "Skriv ut dokumentet",
|
||||
"Split Block": "Seperasjonsblokk",
|
||||
"Toggle Borders": "Skru av/på hjelpelinjer på tabeller",
|
||||
"Select all": "Merk alt",
|
||||
// Loading messages
|
||||
"Loading in progress. Please wait !": "WYSIWYG laster, vennligst vent!",
|
||||
"Constructing main object": "Vennligst vent",
|
||||
"Create Toolbar": "Lag verktøylinje",
|
||||
"Register panel right": "Registrer høyrepanel",
|
||||
"Register panel left": "Registrer venstrepanel",
|
||||
"Register panel top": "Registrer toppanel",
|
||||
"Register panel bottom": "Registrer bunnpanel"
|
||||
|
||||
};
|
||||
|
||||
@@ -1,69 +0,0 @@
|
||||
// I18N constants
|
||||
|
||||
// LANG: "no", ENCODING: UTF-8
|
||||
|
||||
// - translated by ses<ses@online.no>
|
||||
// Additional translations by Håvard Wigtil <havardw@extend.no>
|
||||
// Additional translations by Kim Steinhaug <kim@steinhaug.com>
|
||||
|
||||
{
|
||||
"Bold": "Fet",
|
||||
"Italic": "Kursiv",
|
||||
"Underline": "Understreket",
|
||||
"Strikethrough": "Gjennomstreket",
|
||||
"Subscript": "Nedsenket",
|
||||
"Superscript": "Opphøyet",
|
||||
"Justify Left": "Venstrejuster",
|
||||
"Justify Center": "Midtjuster",
|
||||
"Justify Right": "Høyrejuster",
|
||||
"Justify Full": "Blokkjuster",
|
||||
"Ordered List": "Nummerert liste",
|
||||
"Bulleted List": "Punktliste",
|
||||
"Decrease Indent": "Reduser innrykk",
|
||||
"Increase Indent": "Øke innrykk",
|
||||
"Font Color": "Tekstfarge",
|
||||
"Background Color": "Bakgrundsfarge",
|
||||
"Horizontal Rule": "Vannrett linje",
|
||||
"Insert Web Link": "Lag lenke",
|
||||
"Insert/Modify Image": "Sett inn bilde",
|
||||
"Insert Table": "Sett inn tabell",
|
||||
"Toggle HTML Source": "Vis kildekode",
|
||||
"Enlarge Editor": "Vis i eget vindu",
|
||||
"About this editor": "Om denne editor",
|
||||
"Help using editor": "Hjelp",
|
||||
"Current style": "Nåværende stil",
|
||||
"Undoes your last action": "Angrer siste redigering",
|
||||
"Redoes your last action": "Gjør om siste angring",
|
||||
"Cut selection": "Klipp ut område",
|
||||
"Copy selection": "Kopier område",
|
||||
"Save as": "Lagre som",
|
||||
"Paste from clipboard": "Lim inn",
|
||||
"Remove formatting": "Fjern formattering",
|
||||
"Direction left to right": "Fra venstre mot høyre",
|
||||
"Direction right to left": "Fra høyre mot venstre",
|
||||
"Insert/Overwrite": "Sett inn/Overskriv",
|
||||
"OK": "OK",
|
||||
"Cancel": "Avbryt",
|
||||
"Path": "Tekstvelger",
|
||||
"You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "Du er i tekstmodus Klikk på [<>] for å gå tilbake til WYSIWIG.",
|
||||
"The full screen mode is known to cause problems with Internet Explorer, due to browser bugs that we weren": "Visning i eget vindu har kjente problemer med Internet Explorer, på grunn av problemer med denne nettleseren. Mulige problemer er et uryddig skjermbilde, manglende editorfunksjoner og/eller at nettleseren crasher. Hvis du bruker Windows 95 eller Windows 98 er det også muligheter for at Windows will crashe.\n\nTrykk ",
|
||||
"Cancel": "Avbryt",
|
||||
"Insert/Modify Link": "Rediger lenke",
|
||||
"New window (_blank)": "Eget vindu (_blank)",
|
||||
"None (use implicit)": "Ingen (bruk standardinnstilling)",
|
||||
"Other": "Annen",
|
||||
"Same frame (_self)": "Samme ramme (_self)",
|
||||
"Target:": "Mål:",
|
||||
"Title (tooltip):": "Tittel (tooltip):",
|
||||
"Top frame (_top)": "Toppramme (_top)",
|
||||
"URL:": "Adresse:",
|
||||
"You must enter the URL where this link points to": "Du må skrive inn en adresse som denne lenken skal peke til",
|
||||
"Clear Inline Font Specifications": "Fjerne inline font spesifikasjoner",
|
||||
"Would you like to clear font typefaces?": "Ønsker du å fjerne skrifttyper",
|
||||
"Would you like to clear font sizes?": "Ønsker du å fjerne skrift størrelser",
|
||||
"Would you like to clear font colours?": "Ønsker du å fjerne farger på skriften",
|
||||
"Print document": "Skriv ut dokumentet",
|
||||
"Split Block": "Seperasjonsblokk",
|
||||
"Toggle Borders": "Skru av/på hjelpelinjer på tabeller",
|
||||
"Select all": "Merk alt"
|
||||
};
|
||||
@@ -65,9 +65,9 @@
|
||||
"Left": "Do lewej",
|
||||
"Right": "Do prawej",
|
||||
"Texttop": "Góra tekstu",
|
||||
"Absmiddle": "Absolutny środek",
|
||||
"Absmiddle": "Abs. środek",
|
||||
"Baseline": "Linia bazowa",
|
||||
"Absbottom": "Absolutny dół",
|
||||
"Absbottom": "Abs. dół",
|
||||
"Bottom": "Dół",
|
||||
"Middle": "Środek",
|
||||
"Top": "Góra",
|
||||
@@ -107,7 +107,7 @@
|
||||
"Width unit": "Jednostka",
|
||||
"Fixed width columns": "Kolumny o stałej szerokości",
|
||||
"Positioning of this table": "Pozycjonowanie tabeli",
|
||||
"Cell spacing:": "Spacjowanie komórek:",
|
||||
"Cell spacing:": "Odstęp komórek:",
|
||||
"Space between adjacent cells": "Przestrzeń pomiędzy komórkami",
|
||||
"Cell padding:": "Wcięcie komórek:",
|
||||
"Space between content and border in cell": "Przestrzeń między krawędzią a zawartością komórki",
|
||||
|
||||
143
xinha/lang/ru.js
@@ -3,6 +3,10 @@
|
||||
// LANG: "ru", ENCODING: UTF-8
|
||||
// Author: Yulya Shtyryakova, <yulya@vdcom.ru>
|
||||
|
||||
// Some additions by: Alexey Kirpichnikov, <alexkir@kiwistudio.ru>
|
||||
// I took French version as a source of English phrases because French version was the most comprehensive
|
||||
// (fr.js was the largest file, actually) %)
|
||||
|
||||
// FOR TRANSLATORS:
|
||||
//
|
||||
// 1. PLEASE PUT YOUR CONTACT INFO IN THE ABOVE LINE
|
||||
@@ -23,8 +27,8 @@
|
||||
"Justify Center": "По центру",
|
||||
"Justify Right": "По правому краю",
|
||||
"Justify Full": "По ширине",
|
||||
"Ordered List": "Нумерованный лист",
|
||||
"Bulleted List": "Маркированный лист",
|
||||
"Ordered List": "Нумерованный список",
|
||||
"Bulleted List": "Маркированный список",
|
||||
"Decrease Indent": "Уменьшить отступ",
|
||||
"Increase Indent": "Увеличить отступ",
|
||||
"Font Color": "Цвет шрифта",
|
||||
@@ -43,8 +47,139 @@
|
||||
"Cut selection": "Вырезать",
|
||||
"Copy selection": "Копировать",
|
||||
"Paste from clipboard": "Вставить",
|
||||
"Direction left to right": "Направление слева направо",
|
||||
"Direction right to left": "Направление справа налево",
|
||||
"Remove formatting": "Убрать форматирование",
|
||||
"Select all": "Выделить все",
|
||||
"Print document": "Печать",
|
||||
"Clear MSOffice tags": "Удалить разметку MSOffice",
|
||||
"Clear Inline Font Specifications": "Удалить непосредственное задание шрифтов",
|
||||
"Would you like to clear font typefaces?": "Удалить типы шрифтов?",
|
||||
"Would you like to clear font sizes?": "Удалить размеры шрифтов ?",
|
||||
"Would you like to clear font colours?": "Удалить цвета шрифтов ?",
|
||||
"Split Block": "Разделить блок",
|
||||
"Toggle Borders": "Включить/выключить отображение границ",
|
||||
"Save as": "Сохранить как",
|
||||
"Insert/Overwrite": "Вставка/замена",
|
||||
"— format —": "— форматирование —",
|
||||
"Heading 1": "Заголовок 1",
|
||||
"Heading 2": "Заголовок 2",
|
||||
"Heading 3": "Заголовок 3",
|
||||
"Heading 4": "Заголовок 4",
|
||||
"Heading 5": "Заголовок 5",
|
||||
"Heading 6": "Заголовок 6",
|
||||
"Normal": "Обычный текст",
|
||||
"Address": "Адрес",
|
||||
"Formatted": "Отформатированный текст",
|
||||
|
||||
"— font —": "— шрифт —",
|
||||
"— size —": "— размер —",
|
||||
|
||||
|
||||
// Диалоги
|
||||
|
||||
"OK": "OK",
|
||||
"Cancel": "Отмена",
|
||||
"Path": "Путь",
|
||||
"You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "Вы в режиме отображения Html-кода. нажмите кнопку [<>], чтобы переключиться в визуальный режим."
|
||||
}
|
||||
"You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "Вы в режиме отображения Html-кода. нажмите кнопку [<>], чтобы переключиться в визуальный режим.",
|
||||
|
||||
"The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "Кнопка Вставить не работает в браузерах на основе Mozilla (по техническим причинам, связанным с безопасностью). Нажмите Ctrl-V на клавиатуре, чтобы вставить.",
|
||||
|
||||
"Your Document is not well formed. Check JavaScript console for details.": "Ваш документ неправильно сформирован. Посмотрите Консоль JavaScript, чтобы узнать подробности.",
|
||||
|
||||
"Alignment:": "Выравнивание",
|
||||
"Not set": "Не установлено",
|
||||
"Left": "По левому краю",
|
||||
"Right": "По правому краю",
|
||||
"Texttop": "По верхней границе текста",
|
||||
"Absmiddle": "По середине текста",
|
||||
"Baseline": "По нижней границе текста",
|
||||
"Absbottom": "По нижней границе",
|
||||
"Bottom": "По нижнему краю",
|
||||
"Middle": "Посредине",
|
||||
"Top": "По верхнему краю",
|
||||
|
||||
"Layout": "Расположение",
|
||||
"Spacing": "Поля",
|
||||
"Horizontal:": "По горизонтали",
|
||||
"Horizontal padding": "Горизонтальные поля",
|
||||
"Vertical:": "По вертикали",
|
||||
"Vertical padding": "Вертикальные поля",
|
||||
"Border thickness:": "Толщина рамки",
|
||||
"Leave empty for no border": "Оставьте пустым, чтобы убрать рамку",
|
||||
|
||||
//Insert Link
|
||||
"Insert/Modify Link": "Вставка/изменение ссылки",
|
||||
"None (use implicit)": "По умолчанию",
|
||||
"New window (_blank)": "Новое окно (_blank)",
|
||||
"Same frame (_self)": "То же окно (_self)",
|
||||
"Top frame (_top)": "Родительское окно (_top)",
|
||||
"Other": "Другое",
|
||||
"Target:": "Открывать в окне:",
|
||||
"Title (tooltip):": "Всплывающая подсказка",
|
||||
"URL:": "URL:",
|
||||
"You must enter the URL where this link points to": "Вы должны указать URL, на который будет указывать ссылка",
|
||||
"You need to select some text before creating a link": "Вы должны выделить текст, который будет преобразован в ссылку",
|
||||
|
||||
// Insert Table
|
||||
"Insert Table": "Вставка таблицы",
|
||||
"Rows:": "Строки",
|
||||
"Number of rows": "Количество строк",
|
||||
"Cols:": "Столбцы",
|
||||
"Number of columns": "Количество столбцов",
|
||||
"Width:": "Ширина",
|
||||
"Width of the table": "Ширина таблицы",
|
||||
"Percent": "проценты",
|
||||
"Pixels": "пикселы",
|
||||
"Em": "em",
|
||||
"Width unit": "Единицы измерения",
|
||||
"Fixed width columns": "Столбцы фиксированной ширины",
|
||||
"Positioning of this table": "Расположение таблицы",
|
||||
"Cell spacing:": "Расстояние между ячейками",
|
||||
"Space between adjacent cells": "Расстояние между соседними ячейками",
|
||||
"Cell padding:": "Поля в ячейках",
|
||||
"Space between content and border in cell": "Расстояние между границей ячейки и текстом",
|
||||
"You must enter a number of rows": "Вы должны ввести количество строк",
|
||||
"You must enter a number of columns": "Вы должны ввести количество столбцов",
|
||||
|
||||
// Insert Image
|
||||
"Insert Image": "Вставка изображения",
|
||||
"Image URL:": "URL изображения",
|
||||
"Enter the image URL here": "Вставьте адрес изображения",
|
||||
"Preview": "Предварительный просмотр",
|
||||
"Preview the image in a new window": "Предварительный просмотр в отдельном окне",
|
||||
"Alternate text:": "Альтернативный текст",
|
||||
"For browsers that don't support images": "Для браузеров, которые не отображают картинки",
|
||||
"Positioning of this image": "Расположение изображения",
|
||||
"Image Preview:": "Предварительный просмотр",
|
||||
"You must enter the URL": "Вы должны ввести URL",
|
||||
|
||||
// Editor Help
|
||||
"Xinha Help": "Помощь",
|
||||
"Editor Help": "Помощь",
|
||||
"Keyboard shortcuts": "Горячие клавиши",
|
||||
"The editor provides the following key combinations:": "Редактор поддерживает следующие комбинации клавиш:",
|
||||
"ENTER": "ENTER",
|
||||
"new paragraph": "новый абзац",
|
||||
"SHIFT-ENTER": "SHIFT+ENTER",
|
||||
"insert linebreak": "перенос строки",
|
||||
"Set format to paragraph": "Отформатировать абзац",
|
||||
"Clean content pasted from Word": "Очистить текст, вставленный из Word",
|
||||
"Headings": "Заголовки",
|
||||
"Close": "Закрыть",
|
||||
|
||||
// Loading messages
|
||||
"Loading in progress. Please wait !": "Загрузка... Пожалуйста, подождите.",
|
||||
"Constructing main object": "Создание главного объекта",
|
||||
"Constructing object": "Создание объекта",
|
||||
"Register panel right": "Регистрация правой панели",
|
||||
"Register panel left": "Регистрация левой панели",
|
||||
"Register panel top": "Регистрация верхней панели",
|
||||
"Register panel bottom": "Регистрация нижней панели",
|
||||
"Create Toolbar": "Создание панели инструментов",
|
||||
"Create StatusBar": "Создание панели состояния",
|
||||
"Generate Xinha object": "Создание объекта Xinha",
|
||||
"Init editor size": "Инициализация размера редактора",
|
||||
"Init IFrame": "инициализация iframe",
|
||||
"Register plugin $plugin": "Регистрация $plugin"
|
||||
};
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
// LANG: "se", ENCODING: UTF-8
|
||||
|
||||
// Swedish version for htmlArea v3.0 - Alpha Release
|
||||
// - translated by pat<pat@engvall.nu>
|
||||
|
||||
{
|
||||
"Bold": "Fet",
|
||||
"Italic": "Kursiv",
|
||||
"Underline": "Understruken",
|
||||
"Strikethrough": "Genomstruken",
|
||||
"Subscript": "Nedsänkt",
|
||||
"Superscript": "Upphöjd",
|
||||
"Justify Left": "Vänsterjustera",
|
||||
"Justify Center": "Centrera",
|
||||
"Justify Right": "Högerjustera",
|
||||
"Justify Full": "Marginaljustera",
|
||||
"Ordered List": "Numrerad lista",
|
||||
"Bulleted List": "Punktlista",
|
||||
"Decrease Indent": "Minska indrag",
|
||||
"Increase Indent": "Öka indrag",
|
||||
"Font Color": "Textfärg",
|
||||
"Background Color": "Bakgrundsfärg",
|
||||
"Horizontal Rule": "Vågrät linje",
|
||||
"Insert Web Link": "Infoga länk",
|
||||
"Insert/Modify Image": "Infoga bild",
|
||||
"Insert Table": "Infoga tabell",
|
||||
"Toggle HTML Source": "Visa källkod",
|
||||
"Enlarge Editor": "Visa i eget fönster",
|
||||
"About this editor": "Om denna editor",
|
||||
"Help using editor": "Hjälp",
|
||||
"Current style": "Nuvarande stil"
|
||||
}
|
||||
140
xinha/lang/sh.js
Normal file
@@ -0,0 +1,140 @@
|
||||
// I18N constants
|
||||
|
||||
// LANG: "sh", ENCODING: UTF-8 | ISO-8859-2
|
||||
// Author: Ljuba Ranković, http://www.rankovic.net/ljubar
|
||||
|
||||
// FOR TRANSLATORS:
|
||||
//
|
||||
// 1. PLEASE PUT YOUR CONTACT INFO IN THE ABOVE LINE
|
||||
// (at least a valid email address)
|
||||
//
|
||||
// 2. PLEASE TRY TO USE UTF-8 FOR ENCODING;
|
||||
// (if this is not possible, please include a comment
|
||||
// that states what encoding is necessary.)
|
||||
|
||||
{
|
||||
"Bold": "Masno",
|
||||
"Italic": "Kurziv",
|
||||
"Underline": "Podvučeno",
|
||||
"Strikethrough": "Precrtano",
|
||||
"Subscript": "Indeks-tekst",
|
||||
"Superscript": "Eksponent-tekst",
|
||||
"Justify Left":"Ravnanje ulevo",
|
||||
"Justify Center": "Ravnanje po simetrali",
|
||||
"Justify Right": "Ravnanje udesno",
|
||||
"Justify Full": "Puno ravnanje",
|
||||
"Ordered List": "Lista sa rednim brojevima",
|
||||
"Bulleted List": "Lista sa simbolima",
|
||||
"Decrease Indent": "smanji uvlačenje",
|
||||
"Increase Indent": "Povećaj uvlačenje",
|
||||
"Font Color": "Boja slova",
|
||||
"Background Color": "Boja pozadine",
|
||||
"Horizontal Rule": "Horizontalna linija",
|
||||
"Insert Web Link": "Dodaj web link",
|
||||
"Insert/Modify Image": "Dodaj/promeni sliku",
|
||||
"Insert Table": "Ubaci tabelu",
|
||||
"Toggle HTML Source": "Prebaci na HTML kod",
|
||||
"Enlarge Editor": "Povećaj editor",
|
||||
"About this editor": "O ovom editoru",
|
||||
"Help using editor": "Pomoć pri korišćenju editora",
|
||||
"Current style": "Važeći stil",
|
||||
"Undoes your last action": "Poništava poslednju radnju",
|
||||
"Redoes your last action": "Vraća poslednju radnju",
|
||||
"Cut selection": "Iseci izabrano",
|
||||
"Copy selection": "Kopiraj izabrano",
|
||||
"Paste from clipboard": "Zalepi iz klipborda",
|
||||
"Direction left to right": "Pravac s leva na desno",
|
||||
"Direction right to left": "Pravac s desna na levo",
|
||||
"Remove formatting": "Ukoni formatiranje",
|
||||
"Select all": "Izaberi sve",
|
||||
"Print document": "Štampaj dokument",
|
||||
"Clear MSOffice tags": "Obriši MSOffice tagove",
|
||||
"Clear Inline Font Specifications": "Obriši dodeljene osobine fonta",
|
||||
"Split Block": "Podeli blok",
|
||||
"Toggle Borders": "Izmeni okvire",
|
||||
|
||||
"— format —": "— Format —",
|
||||
"Heading 1": "Zaglavlje 1",
|
||||
"Heading 2": "Zaglavlje 2",
|
||||
"Heading 3": "Zaglavlje 3",
|
||||
"Heading 4": "Zaglavlje 4",
|
||||
"Heading 5": "Zaglavlje 5",
|
||||
"Heading 6": "Zaglavlje 6",
|
||||
"Normal": "Običan",
|
||||
"Address": "Adresa",
|
||||
"Formatted": "Formatiran",
|
||||
|
||||
// dialogs
|
||||
"OK": "OK",
|
||||
"Cancel": "Poništi",
|
||||
"Path": "Putanja",
|
||||
"You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "Nalazite se u TEXT režimu. Koristite [<>] dugme za povratak na WYSIWYG.",
|
||||
|
||||
"The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "",
|
||||
|
||||
"Alignment:": "Ravnanje",
|
||||
"Not set": "Nije postavljeno",
|
||||
"Left": "Levo",
|
||||
"Right": "Desno",
|
||||
"Texttop": "Vrh teksta",
|
||||
"Absmiddle": "Apsolutna sredina",
|
||||
"Baseline": "Donja linija",
|
||||
"Absbottom": "Apsolutno dno",
|
||||
"Bottom": "Dno",
|
||||
"Middle": "Sredina",
|
||||
"Top": "Vrh",
|
||||
|
||||
"Layout": "Prelom",
|
||||
"Spacing": "Razmak",
|
||||
"Horizontal:": "Po horizontali",
|
||||
"Horizontal padding": "Horizontalno odstojanje",
|
||||
"Vertical:": "Po vertikali",
|
||||
"Vertical padding": "Vertikalno odstojanje",
|
||||
"Border thickness:": "Debljina okvira",
|
||||
"Leave empty for no border": "Ostavi prazno kad nema okvira",
|
||||
|
||||
// Insert Link
|
||||
"Insert/Modify Link": "Dodaj/promeni Link",
|
||||
"None (use implicit)": "koristi podrazumevano",
|
||||
"New window (_blank)": "Novom prozoru (_blank)",
|
||||
"Same frame (_self)": "Isti frejm (_self)",
|
||||
"Top frame (_top)": "Glavni frejm (_top)",
|
||||
"Other": "Drugo",
|
||||
"Target:": "Otvori u:",
|
||||
"Title (tooltip):": "Naziv (tooltip):",
|
||||
"URL:": "URL:",
|
||||
"You must enter the URL where this link points to": "Morate uneti URL na koji vodi ovaj link",
|
||||
|
||||
// Insert Table
|
||||
"Insert Table": "Ubaci tabelu",
|
||||
"Rows:": "Redovi",
|
||||
"Number of rows": "Broj redova",
|
||||
"Cols:": "Kolone",
|
||||
"Number of columns": "Broj kolona",
|
||||
"Width:": "Širina",
|
||||
"Width of the table": "Širina tabele",
|
||||
"Percent": "Procenat",
|
||||
"Pixels": "Pikseli",
|
||||
"Em": "Em",
|
||||
"Width unit": "Jedinica širine",
|
||||
"Fixed width columns": "Fiksirana širina kolona",
|
||||
"Positioning of this table": "Postavljanje ove tabele",
|
||||
"Cell spacing:": "Rastojanje ćelija",
|
||||
"Space between adjacent cells": "Rastojanje naspramnih ćelija",
|
||||
"Cell padding:": "Unutrašnja odstojanja u ćeliji",
|
||||
"Space between content and border in cell": "Rastojanje između sadržaja i okvira ćelije",
|
||||
|
||||
// Insert Image
|
||||
"Insert Image": "Ubaci sliku",
|
||||
"Image URL:": "URL slike",
|
||||
"Enter the image URL here": "Unesite URL slike ovde",
|
||||
"Preview": "Pregled",
|
||||
"Preview the image in a new window": "Pregledaj sliku u novom prozoru",
|
||||
"Alternate text:": "Alternativni tekst",
|
||||
"For browsers that don't support images": "Za pretraživače koji ne podržavaju slike",
|
||||
"Positioning of this image": "Postavljanje ove slike",
|
||||
"Image Preview:": "Pregled slike",
|
||||
|
||||
// Select Color popup
|
||||
"Select Color": "Izaberite boju"
|
||||
};
|
||||
140
xinha/lang/sr.js
Normal file
@@ -0,0 +1,140 @@
|
||||
// I18N constants
|
||||
|
||||
// LANG: "sh", ENCODING: UTF-8 | ISO-8859-5
|
||||
// Author: Ljuba Ranković, http://www.rankovic.net/ljubar
|
||||
|
||||
// FOR TRANSLATORS:
|
||||
//
|
||||
// 1. PLEASE PUT YOUR CONTACT INFO IN THE ABOVE LINE
|
||||
// (at least a valid email address)
|
||||
//
|
||||
// 2. PLEASE TRY TO USE UTF-8 FOR ENCODING;
|
||||
// (if this is not possible, please include a comment
|
||||
// that states what encoding is necessary.)
|
||||
|
||||
{
|
||||
"Bold": "Масно",
|
||||
"Italic": "Курзив",
|
||||
"Underline": "Подвучено",
|
||||
"Strikethrough": "Прецртано",
|
||||
"Subscript": "Индекс-текст",
|
||||
"Superscript": "Експонент-текст",
|
||||
"Justify Left": "Равнање улево",
|
||||
"Justify Center": "Равнање по симетрали",
|
||||
"Justify Right": "Равнање удесно",
|
||||
"Justify Full": "Пуно равнање",
|
||||
"Ordered List": "Листа са редним бројевима",
|
||||
"Bulleted List": "Листа са симболима",
|
||||
"Decrease Indent": "Смањи увлачење",
|
||||
"Increase Indent": "Повећај увлачење",
|
||||
"Font Color": "Боја слова",
|
||||
"Background Color": "Боја позадине",
|
||||
"Horizontal Rule": "Хоризонтална линија",
|
||||
"Insert Web Link": "додај веб линк",
|
||||
"Insert/Modify Image": "додај/промени слику",
|
||||
"Insert Table": "Убаци табелу",
|
||||
"Toggle HTML Source": "Пребаци на приказ ХТМЛ кода",
|
||||
"Enlarge Editor": "Повећај едитор",
|
||||
"About this editor": "О овом едитору",
|
||||
"Help using editor": "Помоћ при коришћењу едитора",
|
||||
"Current style": "Важећи стил",
|
||||
"Undoes your last action": "Поништава последњу радњу",
|
||||
"Redoes your last action": "Враћа последњу радњу",
|
||||
"Cut selection": "Исеци изабрано",
|
||||
"Copy selection": "Копирај изабрано",
|
||||
"Paste from clipboard": "Залепи из клипборда",
|
||||
"Direction left to right": "Правац с лева на десно",
|
||||
"Direction right to left": "Правац с десна на лево",
|
||||
"Remove formatting": "Уклони форматирање",
|
||||
"Select all": "Изабери све",
|
||||
"Print document": "Штампај документ",
|
||||
"Clear MSOffice tags": "Обриши MSOffice тагове",
|
||||
"Clear Inline Font Specifications": "Обриши примењене особине фонта",
|
||||
"Split Block": "Подели блок",
|
||||
"Toggle Borders": "Пребаци оквирне линије",
|
||||
|
||||
"— format —": "— Format —",
|
||||
"Heading 1": "Заглавље 1",
|
||||
"Heading 2": "Заглавље 2",
|
||||
"Heading 3": "Заглавље 3",
|
||||
"Heading 4": "Заглавље 4",
|
||||
"Heading 5": "Заглавље 5",
|
||||
"Heading 6": "Заглавље 6",
|
||||
"Normal": "обичан",
|
||||
"Address": "адреса",
|
||||
"Formatted": "форматиран",
|
||||
|
||||
// dialogs
|
||||
"OK": "OK",
|
||||
"Cancel": "Поништи",
|
||||
"Path": "Путања",
|
||||
"You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "Налазите се у ТЕКСТ режиму. Користите [<>] дугме за повратак на ШВТИД (WYSIWYG).",
|
||||
|
||||
"The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "Дугме 'залепи' не ради у претраживачима породице Mozilla (из разлога сигурности). Притисните CTRL-V на тастатури да директно залепите.",
|
||||
|
||||
"Alignment:": "Равнање",
|
||||
"Not set": "Није постављено",
|
||||
"Left": "Лево",
|
||||
"Right": "Десно",
|
||||
"Texttop": "Врх текста",
|
||||
"Absmiddle": "Апсолутна средина",
|
||||
"Baseline": "Доња линија",
|
||||
"Absbottom": "Апсолутно дно",
|
||||
"Bottom": "Дно",
|
||||
"Middle": "Средина",
|
||||
"Top": "Врх",
|
||||
|
||||
"Layout": "Прелом",
|
||||
"Spacing": "Размак",
|
||||
"Horizontal:": "По хоризонтали",
|
||||
"Horizontal padding": "Хортизонтално одстојање",
|
||||
"Vertical:": "По вертикали",
|
||||
"Vertical padding": "Вертикално одстојање",
|
||||
"Border thickness:": "Дебљина оквира",
|
||||
"Leave empty for no border": "Остави празно кад нема оквира",
|
||||
|
||||
// Insert Link
|
||||
"Insert/Modify Link": "додај/промени линк",
|
||||
"None (use implicit)": "користи подразумевано",
|
||||
"New window (_blank)": "Новом прозору (_blank)",
|
||||
"Same frame (_self)": "Исти фрејм (_self)",
|
||||
"Top frame (_top)": "Главни фрејм (_top)",
|
||||
"Other": "Друго",
|
||||
"Target:": "Отвори у:",
|
||||
"Title (tooltip):": "Назив (tooltip):",
|
||||
"URL:": "УРЛ:",
|
||||
"You must enter the URL where this link points to": "Морате унети УРЛ на који води овај линк",
|
||||
|
||||
// Insert Table
|
||||
"Insert Table": "Убаци табелу",
|
||||
"Rows:": "Редови",
|
||||
"Number of rows": "Број редова",
|
||||
"Cols:": "Колоне",
|
||||
"Number of columns": "Број колона",
|
||||
"Width:": "Ширина",
|
||||
"Width of the table": "Ширина табеле",
|
||||
"Percent": "Процената",
|
||||
"Pixels": "Пиксела",
|
||||
"Em": "Ем",
|
||||
"Width unit": "Јединица ширине",
|
||||
"Fixed width columns": "Фиксирана ширина колоне",
|
||||
"Positioning of this table": "Постављање ове табеле",
|
||||
"Cell spacing:": "Размак између ћелија",
|
||||
"Space between adjacent cells": "Размак између наспрамних ћелија",
|
||||
"Cell padding:": "Унутрашња одстојања од ивица ћелије",
|
||||
"Space between content and border in cell": "Растојање између садржаја у ћелији и њеног оквира",
|
||||
|
||||
// Insert Image
|
||||
"Insert Image": "Убаци слику",
|
||||
"Image URL:": "УРЛ слике",
|
||||
"Enter the image URL here": "Унесите УРЛ слике овде",
|
||||
"Preview": "Преглед",
|
||||
"Preview the image in a new window": "Прегледај слику у новом прозору",
|
||||
"Alternate text:": "алтернативни текст",
|
||||
"For browsers that don't support images": "За претраживаче који не подржавају слике",
|
||||
"Positioning of this image": "Постављање ове слике",
|
||||
"Image Preview:": "Преглед слике",
|
||||
|
||||
// Select Color popup
|
||||
"Select Color": "Изабери боју"
|
||||
};
|
||||
116
xinha/lang/sv.js
Normal file
@@ -0,0 +1,116 @@
|
||||
// I18N constants
|
||||
// LANG: "sv", ENCODING: UTF-8
|
||||
|
||||
// Swedish version for htmlArea v3.0
|
||||
// Initital translation by pat <pat@engvall.nu>
|
||||
// Synced with additional contants in rev. 477 (Mar 2006) by Thomas Loo <tloo@saltstorm.net>
|
||||
|
||||
{
|
||||
"Bold": "Fet",
|
||||
"Italic": "Kursiv",
|
||||
"Underline": "Understruken",
|
||||
"Strikethrough": "Genomstruken",
|
||||
"Subscript": "Nedsänkt",
|
||||
"Superscript": "Upphöjd",
|
||||
"Justify Left": "Vänsterjustera",
|
||||
"Justify Center": "Centrera",
|
||||
"Justify Right": "Högerjustera",
|
||||
"Justify Full": "Marginaljustera",
|
||||
"Ordered List": "Numrerad lista",
|
||||
"Bulleted List": "Punktlista",
|
||||
"Decrease Indent": "Minska indrag",
|
||||
"Increase Indent": "Öka indrag",
|
||||
"Font Color": "Textfärg",
|
||||
"Background Color": "Bakgrundsfärg",
|
||||
"Horizontal Rule": "Vågrät linje",
|
||||
"Insert Web Link": "Infoga länk",
|
||||
"Insert/Modify Image": "Infoga bild",
|
||||
"Toggle HTML Source": "Visa källkod",
|
||||
"Enlarge Editor": "Visa i eget fönster",
|
||||
"About this editor": "Om denna editor",
|
||||
"Help using editor": "Hjälp",
|
||||
"Current style": "Nuvarande stil",
|
||||
|
||||
"Undoes your last action": "Ångra kommando",
|
||||
"Redoes your last action": "Upprepa kommando",
|
||||
"Select all": "Markera allt",
|
||||
"Print document": "Skriv ut",
|
||||
"Clear MSOffice tags": "Städa bort MS Office taggar",
|
||||
"Clear Inline Font Specifications": "Rensa inbäddad typsnittsinformation",
|
||||
"Remove formatting": "Rensa formattering",
|
||||
"Toggle Borders": "Objektramar",
|
||||
"Split Block": "Dela block",
|
||||
"Direction left to right": "Vänster till höger",
|
||||
"Direction right to left": "Höger till vänster",
|
||||
|
||||
"Insert/Overwrite": "Infoga/Skriv över",
|
||||
"OK": "OK",
|
||||
"Cancel": "Avbryt",
|
||||
"Path": "Objekt",
|
||||
"You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "Du befinner dig i texläge. Klicka på ikonen [<>] ovan för att växla tillbaka till WYSIWIG läge",
|
||||
"The full screen mode is known to cause problems with Internet Explorer, due to browser bugs that we weren": "Visning i fullskärmsläga fungerar dåligt i din webläsare. Möjliga problem resulterar i en ryckig editor, saknade editorfunktioner och/eller att webläsaren kraschar. Om du använder Windows 95/98 finns också möjligheten att Windows kraschar.\n\nTryck ",
|
||||
"The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "Denna knapp fungerar ej i Mozillabaserad webläsare, använd istället snabbtangenterna CTRL-V på tangentbordet för att klistra in.",
|
||||
|
||||
"Insert/Modify Link": "Redigera länk",
|
||||
"New window (_blank)": "Nytt fönster (_blank)",
|
||||
"None (use implicit)": "Ingen (använd standardinställing)",
|
||||
"Other": "Annan",
|
||||
"Same frame (_self)": "Samma ram (_self)",
|
||||
"Target:": "Mål:",
|
||||
"Title (tooltip):": "Titel (tooltip):",
|
||||
"Top frame (_top)": "Toppram (_top)",
|
||||
"URL:": "Sökväg:",
|
||||
"You must enter the URL where this link points to": "Du måsta ange en adress till vilken länken skall peka på",
|
||||
"Would you like to clear font typefaces?": "Radera alla typsnittsinformation ?",
|
||||
"Would you like to clear font sizes?": "Radera alla fontstorlekar ?",
|
||||
"Would you like to clear font colours?": "Ta bort all textfärger ?",
|
||||
|
||||
"You need to select some text before creating a link": "Du måsta markera ett objekt att applicera länken på!",
|
||||
|
||||
// Insert Table
|
||||
"Insert Table": "Infoga tabell",
|
||||
"Rows:": "Rader:",
|
||||
"Number of rows": "Antal rader",
|
||||
"Cols:": "Kolumner:",
|
||||
"Number of columns": "Antal kolumner",
|
||||
"Width:": "Bredd:",
|
||||
"Width of the table": "Tabellbredd",
|
||||
"Percent": "Procent",
|
||||
"Pixels": "Pixlar",
|
||||
"Em": "",
|
||||
"Width unit": "Breddenheter",
|
||||
"Fixed width columns": "Fixerad bredd",
|
||||
"Alignment:": "Marginaljustering",
|
||||
"Positioning of this table": "Tabellposition",
|
||||
"Border thickness:": "Ramtjocklek",
|
||||
"Leave empty for no border": "Lämna fältet tomt för att undvika ramar",
|
||||
"Spacing": "Cellegenskaper",
|
||||
"Cell spacing:": "Cellmarginaler:",
|
||||
"Space between adjacent cells": "Utrymme mellan celler",
|
||||
"Cell padding:": "Cellindrag:",
|
||||
"Space between content and border in cell": "Utrymme mellan ram och cellinnehåll",
|
||||
"You must enter a number of rows": "Ange ental rader",
|
||||
"You must enter a number of columns": "Ange antal kolumner",
|
||||
|
||||
// Editor Help
|
||||
"Keyboard shortcuts": "Snabbtangenter",
|
||||
"The editor provides the following key combinations:": "Editorn nyttjar följande kombinationer:",
|
||||
"new paragraph": "Ny paragraf ",
|
||||
"insert linebreak": "Infoga radbrytning ",
|
||||
"Set format to paragraph": "Aktivera paragrafläge",
|
||||
"Clean content pasted from Word": "Rensa innehåll inklistrat från MS Word",
|
||||
"Headings": "Skapa standardrubrik",
|
||||
"Cut selection": "Klipp ut markering",
|
||||
"Copy selection": "Kopiera markering",
|
||||
"Paste from clipboard": "Klistra in",
|
||||
"Close": "Stäng",
|
||||
|
||||
// Loading messages
|
||||
"Loading in progress. Please wait !": "Editorn laddas. Vänta...",
|
||||
"Constructing main object": "Skapar huvudobjekt",
|
||||
"Create Toolbar": "Skapar verktygspanel",
|
||||
"Register panel right": "Registerar panel höger",
|
||||
"Register panel left": "Registerar panel vänster",
|
||||
"Register panel top": "Registerar toppanel",
|
||||
"Register panel bottom": "Registerar fotpanel"
|
||||
}
|
||||
590
xinha/modules/ColorPicker/ColorPicker.js
Normal file
@@ -0,0 +1,590 @@
|
||||
ColorPicker._pluginInfo={name:"colorPicker",version:"1.0",developer:"James Sleeman",developer_url:"http://www.gogo.co.nz/",c_owner:"Gogo Internet Services",license:"htmlArea",sponsor:"Gogo Internet Services",sponsor_url:"http://www.gogo.co.nz/"};
|
||||
function ColorPicker(){
|
||||
}
|
||||
if(window.opener&&window.opener.Xinha){
|
||||
var openerColorPicker=window.opener.Xinha.colorPicker;
|
||||
Xinha._addEvent(window,"unload",function(){
|
||||
Xinha.colorPicker=openerColorPicker;
|
||||
});
|
||||
}
|
||||
Xinha.colorPicker=function(_1){
|
||||
if(Xinha.colorPicker.savedColors.length===0){
|
||||
Xinha.colorPicker.loadColors();
|
||||
}
|
||||
var _2=this;
|
||||
var _3=false;
|
||||
var _4=false;
|
||||
var _5=0;
|
||||
var _6=0;
|
||||
this.callback=_1.callback?_1.callback:function(_7){
|
||||
alert("You picked "+_7);
|
||||
};
|
||||
this.websafe=_1.websafe?_1.websafe:false;
|
||||
this.savecolors=_1.savecolors?_1.savecolors:20;
|
||||
this.cellsize=parseInt(_1.cellsize?_1.cellsize:"10px",10);
|
||||
this.side=_1.granularity?_1.granularity:18;
|
||||
var _8=this.side+1;
|
||||
var _9=this.side-1;
|
||||
this.value=1;
|
||||
this.saved_cells=null;
|
||||
this.table=document.createElement("table");
|
||||
this.table.className="dialog";
|
||||
this.table.cellSpacing=this.table.cellPadding=0;
|
||||
this.table.onmouseup=function(){
|
||||
_3=false;
|
||||
_4=false;
|
||||
};
|
||||
this.tbody=document.createElement("tbody");
|
||||
this.table.appendChild(this.tbody);
|
||||
this.table.style.border="1px solid WindowFrame";
|
||||
this.table.style.zIndex="1050";
|
||||
var tr=document.createElement("tr");
|
||||
var td=document.createElement("td");
|
||||
td.colSpan=this.side;
|
||||
td.className="title";
|
||||
td.style.fontFamily="small-caption,caption,sans-serif";
|
||||
td.style.fontSize="x-small";
|
||||
td.unselectable="on";
|
||||
td.style.MozUserSelect="none";
|
||||
td.style.cursor="default";
|
||||
td.appendChild(document.createTextNode(Xinha._lc("Click a color...")));
|
||||
td.style.borderBottom="1px solid WindowFrame";
|
||||
tr.appendChild(td);
|
||||
td=null;
|
||||
var td=document.createElement("td");
|
||||
td.className="title";
|
||||
td.colSpan=2;
|
||||
td.style.fontFamily="Tahoma,Verdana,sans-serif";
|
||||
td.style.borderBottom="1px solid WindowFrame";
|
||||
td.style.paddingRight="0";
|
||||
tr.appendChild(td);
|
||||
var _c=document.createElement("div");
|
||||
_c.title=Xinha._lc("Close");
|
||||
_c.className="buttonColor";
|
||||
_c.style.height="11px";
|
||||
_c.style.width="11px";
|
||||
_c.style.cursor="pointer";
|
||||
_c.onclick=function(){
|
||||
_2.close();
|
||||
};
|
||||
_c.appendChild(document.createTextNode("\xd7"));
|
||||
_c.align="center";
|
||||
_c.style.verticalAlign="top";
|
||||
_c.style.position="relative";
|
||||
_c.style.cssFloat="right";
|
||||
_c.style.styleFloat="right";
|
||||
_c.style.padding="0";
|
||||
_c.style.margin="2px";
|
||||
_c.style.backgroundColor="transparent";
|
||||
_c.style.fontSize="11px";
|
||||
if(!Xinha.is_ie){
|
||||
_c.style.lineHeight="9px";
|
||||
}
|
||||
_c.style.letterSpacing="0";
|
||||
td.appendChild(_c);
|
||||
this.tbody.appendChild(tr);
|
||||
_c=tr=td=null;
|
||||
this.constrain_cb=document.createElement("input");
|
||||
this.constrain_cb.type="checkbox";
|
||||
this.chosenColor=document.createElement("input");
|
||||
this.chosenColor.type="text";
|
||||
this.chosenColor.maxLength=7;
|
||||
this.chosenColor.style.width="50px";
|
||||
this.chosenColor.style.fontSize="11px";
|
||||
this.chosenColor.onchange=function(){
|
||||
if(/#[0-9a-f]{6,6}/i.test(this.value)){
|
||||
_2.backSample.style.backgroundColor=this.value;
|
||||
_2.foreSample.style.color=this.value;
|
||||
}
|
||||
};
|
||||
this.backSample=document.createElement("div");
|
||||
this.backSample.appendChild(document.createTextNode("\xa0"));
|
||||
this.backSample.style.fontWeight="bold";
|
||||
this.backSample.style.fontFamily="small-caption,caption,sans-serif";
|
||||
this.backSample.fontSize="x-small";
|
||||
this.foreSample=document.createElement("div");
|
||||
this.foreSample.appendChild(document.createTextNode(Xinha._lc("Sample")));
|
||||
this.foreSample.style.fontWeight="bold";
|
||||
this.foreSample.style.fontFamily="small-caption,caption,sans-serif";
|
||||
this.foreSample.fontSize="x-small";
|
||||
function toHex(_d){
|
||||
var h=_d.toString(16);
|
||||
if(h.length<2){
|
||||
h="0"+h;
|
||||
}
|
||||
return h;
|
||||
}
|
||||
function tupleToColor(_f){
|
||||
return "#"+toHex(_f.red)+toHex(_f.green)+toHex(_f.blue);
|
||||
}
|
||||
function nearestPowerOf(num,_11){
|
||||
return Math.round(Math.round(num/_11)*_11);
|
||||
}
|
||||
function doubleHexDec(dec){
|
||||
return parseInt(dec.toString(16)+dec.toString(16),16);
|
||||
}
|
||||
function rgbToWebsafe(_13){
|
||||
_13.red=doubleHexDec(nearestPowerOf(parseInt(toHex(_13.red).charAt(0),16),3));
|
||||
_13.blue=doubleHexDec(nearestPowerOf(parseInt(toHex(_13.blue).charAt(0),16),3));
|
||||
_13.green=doubleHexDec(nearestPowerOf(parseInt(toHex(_13.green).charAt(0),16),3));
|
||||
return _13;
|
||||
}
|
||||
function hsvToRGB(h,s,v){
|
||||
var _17;
|
||||
if(s===0){
|
||||
_17={red:v,green:v,blue:v};
|
||||
}else{
|
||||
h/=60;
|
||||
var i=Math.floor(h);
|
||||
var f=h-i;
|
||||
var p=v*(1-s);
|
||||
var q=v*(1-s*f);
|
||||
var t=v*(1-s*(1-f));
|
||||
switch(i){
|
||||
case 0:
|
||||
_17={red:v,green:t,blue:p};
|
||||
break;
|
||||
case 1:
|
||||
_17={red:q,green:v,blue:p};
|
||||
break;
|
||||
case 2:
|
||||
_17={red:p,green:v,blue:t};
|
||||
break;
|
||||
case 3:
|
||||
_17={red:p,green:q,blue:v};
|
||||
break;
|
||||
case 4:
|
||||
_17={red:t,green:p,blue:v};
|
||||
break;
|
||||
default:
|
||||
_17={red:v,green:p,blue:q};
|
||||
break;
|
||||
}
|
||||
}
|
||||
_17.red=Math.ceil(_17.red*255);
|
||||
_17.green=Math.ceil(_17.green*255);
|
||||
_17.blue=Math.ceil(_17.blue*255);
|
||||
return _17;
|
||||
}
|
||||
var _1d=this;
|
||||
function closeOnBodyClick(ev){
|
||||
ev=ev?ev:window.event;
|
||||
el=ev.target?ev.target:ev.srcElement;
|
||||
do{
|
||||
if(el==_1d.table){
|
||||
return;
|
||||
}
|
||||
}while(el=el.parentNode);
|
||||
_1d.close();
|
||||
}
|
||||
this.open=function(_1f,_20,_21){
|
||||
this.table.style.display="";
|
||||
this.pick_color();
|
||||
if(_21&&/#[0-9a-f]{6,6}/i.test(_21)){
|
||||
this.chosenColor.value=_21;
|
||||
this.backSample.style.backgroundColor=_21;
|
||||
this.foreSample.style.color=_21;
|
||||
}
|
||||
Xinha._addEvent(document.body,"mousedown",closeOnBodyClick);
|
||||
this.table.style.position="absolute";
|
||||
var e=_20;
|
||||
var top=0;
|
||||
var _24=0;
|
||||
do{
|
||||
top+=e.offsetTop;
|
||||
_24+=e.offsetLeft;
|
||||
e=e.offsetParent;
|
||||
}while(e);
|
||||
var x,y;
|
||||
if(/top/.test(_1f)||(top+this.table.offsetHeight>document.body.offsetHeight)){
|
||||
if(top-this.table.offsetHeight>0){
|
||||
this.table.style.top=(top-this.table.offsetHeight)+"px";
|
||||
}else{
|
||||
this.table.style.top=0;
|
||||
}
|
||||
}else{
|
||||
this.table.style.top=(top+_20.offsetHeight)+"px";
|
||||
}
|
||||
if(/left/.test(_1f)||(_24+this.table.offsetWidth>document.body.offsetWidth)){
|
||||
if(_24-(this.table.offsetWidth-_20.offsetWidth)>0){
|
||||
this.table.style.left=(_24-(this.table.offsetWidth-_20.offsetWidth))+"px";
|
||||
}else{
|
||||
this.table.style.left=0;
|
||||
}
|
||||
}else{
|
||||
this.table.style.left=_24+"px";
|
||||
}
|
||||
};
|
||||
function pickCell(_26){
|
||||
_2.chosenColor.value=_26.colorCode;
|
||||
_2.backSample.style.backgroundColor=_26.colorCode;
|
||||
_2.foreSample.style.color=_26.colorCode;
|
||||
if((_26.hue>=195&&_26.saturation>0.5)||(_26.hue===0&&_26.saturation===0&&_26.value<0.5)||(_26.hue!==0&&_2.value<0.75)){
|
||||
_26.style.borderColor="#fff";
|
||||
}else{
|
||||
_26.style.borderColor="#000";
|
||||
}
|
||||
_5=_26.thisrow;
|
||||
_6=_26.thiscol;
|
||||
}
|
||||
function pickValue(_27){
|
||||
if(_2.value<0.5){
|
||||
_27.style.borderColor="#fff";
|
||||
}else{
|
||||
_27.style.borderColor="#000";
|
||||
}
|
||||
_9=_27.thisrow;
|
||||
_8=_27.thiscol;
|
||||
_2.chosenColor.value=_2.saved_cells[_5][_6].colorCode;
|
||||
_2.backSample.style.backgroundColor=_2.saved_cells[_5][_6].colorCode;
|
||||
_2.foreSample.style.color=_2.saved_cells[_5][_6].colorCode;
|
||||
}
|
||||
function unpickCell(row,col){
|
||||
_2.saved_cells[row][col].style.borderColor=_2.saved_cells[row][col].colorCode;
|
||||
}
|
||||
this.pick_color=function(){
|
||||
var _2a,cols;
|
||||
var _2b=this;
|
||||
var _2c=359/(this.side);
|
||||
var _2d=1/(this.side-1);
|
||||
var _2e=1/(this.side-1);
|
||||
var _2f=this.constrain_cb.checked;
|
||||
if(this.saved_cells===null){
|
||||
this.saved_cells=[];
|
||||
for(var row=0;row<this.side;row++){
|
||||
var tr=document.createElement("tr");
|
||||
this.saved_cells[row]=[];
|
||||
for(var col=0;col<this.side;col++){
|
||||
var td=document.createElement("td");
|
||||
if(_2f){
|
||||
td.colorCode=tupleToColor(rgbToWebsafe(hsvToRGB(_2c*row,_2d*col,this.value)));
|
||||
}else{
|
||||
td.colorCode=tupleToColor(hsvToRGB(_2c*row,_2d*col,this.value));
|
||||
}
|
||||
this.saved_cells[row][col]=td;
|
||||
td.style.height=this.cellsize+"px";
|
||||
td.style.width=this.cellsize-2+"px";
|
||||
td.style.borderWidth="1px";
|
||||
td.style.borderStyle="solid";
|
||||
td.style.borderColor=td.colorCode;
|
||||
td.style.backgroundColor=td.colorCode;
|
||||
if(row==_5&&col==_6){
|
||||
td.style.borderColor="#000";
|
||||
this.chosenColor.value=td.colorCode;
|
||||
this.backSample.style.backgroundColor=td.colorCode;
|
||||
this.foreSample.style.color=td.colorCode;
|
||||
}
|
||||
td.hue=_2c*row;
|
||||
td.saturation=_2d*col;
|
||||
td.thisrow=row;
|
||||
td.thiscol=col;
|
||||
td.onmousedown=function(){
|
||||
_3=true;
|
||||
_2b.saved_cells[_5][_6].style.borderColor=_2b.saved_cells[_5][_6].colorCode;
|
||||
pickCell(this);
|
||||
};
|
||||
td.onmouseover=function(){
|
||||
if(_3){
|
||||
pickCell(this);
|
||||
}
|
||||
};
|
||||
td.onmouseout=function(){
|
||||
if(_3){
|
||||
this.style.borderColor=this.colorCode;
|
||||
}
|
||||
};
|
||||
td.ondblclick=function(){
|
||||
Xinha.colorPicker.remember(this.colorCode,_2b.savecolors);
|
||||
_2b.callback(this.colorCode);
|
||||
_2b.close();
|
||||
};
|
||||
td.appendChild(document.createTextNode(" "));
|
||||
td.style.cursor="pointer";
|
||||
tr.appendChild(td);
|
||||
td=null;
|
||||
}
|
||||
var td=document.createElement("td");
|
||||
td.appendChild(document.createTextNode(" "));
|
||||
td.style.width=this.cellsize+"px";
|
||||
tr.appendChild(td);
|
||||
td=null;
|
||||
var td=document.createElement("td");
|
||||
this.saved_cells[row][col+1]=td;
|
||||
td.appendChild(document.createTextNode(" "));
|
||||
td.style.width=this.cellsize-2+"px";
|
||||
td.style.height=this.cellsize+"px";
|
||||
td.constrainedColorCode=tupleToColor(rgbToWebsafe(hsvToRGB(0,0,_2e*row)));
|
||||
td.style.backgroundColor=td.colorCode=tupleToColor(hsvToRGB(0,0,_2e*row));
|
||||
td.style.borderWidth="1px";
|
||||
td.style.borderStyle="solid";
|
||||
td.style.borderColor=td.colorCode;
|
||||
if(row==_9){
|
||||
td.style.borderColor="black";
|
||||
}
|
||||
td.hue=_2c*row;
|
||||
td.saturation=_2d*col;
|
||||
td.hsv_value=_2e*row;
|
||||
td.thisrow=row;
|
||||
td.thiscol=col+1;
|
||||
td.onmousedown=function(){
|
||||
_4=true;
|
||||
_2b.saved_cells[_9][_8].style.borderColor=_2b.saved_cells[_9][_8].colorCode;
|
||||
_2b.value=this.hsv_value;
|
||||
_2b.pick_color();
|
||||
pickValue(this);
|
||||
};
|
||||
td.onmouseover=function(){
|
||||
if(_4){
|
||||
_2b.value=this.hsv_value;
|
||||
_2b.pick_color();
|
||||
pickValue(this);
|
||||
}
|
||||
};
|
||||
td.onmouseout=function(){
|
||||
if(_4){
|
||||
this.style.borderColor=this.colorCode;
|
||||
}
|
||||
};
|
||||
td.style.cursor="pointer";
|
||||
tr.appendChild(td);
|
||||
td=null;
|
||||
this.tbody.appendChild(tr);
|
||||
tr=null;
|
||||
}
|
||||
var tr=document.createElement("tr");
|
||||
this.saved_cells[row]=[];
|
||||
for(var col=0;col<this.side;col++){
|
||||
var td=document.createElement("td");
|
||||
if(_2f){
|
||||
td.colorCode=tupleToColor(rgbToWebsafe(hsvToRGB(0,0,_2e*(this.side-col-1))));
|
||||
}else{
|
||||
td.colorCode=tupleToColor(hsvToRGB(0,0,_2e*(this.side-col-1)));
|
||||
}
|
||||
this.saved_cells[row][col]=td;
|
||||
td.style.height=this.cellsize+"px";
|
||||
td.style.width=this.cellsize-2+"px";
|
||||
td.style.borderWidth="1px";
|
||||
td.style.borderStyle="solid";
|
||||
td.style.borderColor=td.colorCode;
|
||||
td.style.backgroundColor=td.colorCode;
|
||||
td.hue=0;
|
||||
td.saturation=0;
|
||||
td.value=_2e*(this.side-col-1);
|
||||
td.thisrow=row;
|
||||
td.thiscol=col;
|
||||
td.onmousedown=function(){
|
||||
_3=true;
|
||||
_2b.saved_cells[_5][_6].style.borderColor=_2b.saved_cells[_5][_6].colorCode;
|
||||
pickCell(this);
|
||||
};
|
||||
td.onmouseover=function(){
|
||||
if(_3){
|
||||
pickCell(this);
|
||||
}
|
||||
};
|
||||
td.onmouseout=function(){
|
||||
if(_3){
|
||||
this.style.borderColor=this.colorCode;
|
||||
}
|
||||
};
|
||||
td.ondblclick=function(){
|
||||
Xinha.colorPicker.remember(this.colorCode,_2b.savecolors);
|
||||
_2b.callback(this.colorCode);
|
||||
_2b.close();
|
||||
};
|
||||
td.appendChild(document.createTextNode(" "));
|
||||
td.style.cursor="pointer";
|
||||
tr.appendChild(td);
|
||||
td=null;
|
||||
}
|
||||
this.tbody.appendChild(tr);
|
||||
tr=null;
|
||||
var tr=document.createElement("tr");
|
||||
var td=document.createElement("td");
|
||||
tr.appendChild(td);
|
||||
td.colSpan=this.side+2;
|
||||
td.style.padding="3px";
|
||||
if(this.websafe){
|
||||
var div=document.createElement("div");
|
||||
var _35=document.createElement("label");
|
||||
_35.appendChild(document.createTextNode(Xinha._lc("Web Safe: ")));
|
||||
this.constrain_cb.onclick=function(){
|
||||
_2b.pick_color();
|
||||
};
|
||||
_35.appendChild(this.constrain_cb);
|
||||
_35.style.fontFamily="small-caption,caption,sans-serif";
|
||||
_35.style.fontSize="x-small";
|
||||
div.appendChild(_35);
|
||||
td.appendChild(div);
|
||||
div=null;
|
||||
}
|
||||
var div=document.createElement("div");
|
||||
var _35=document.createElement("label");
|
||||
_35.style.fontFamily="small-caption,caption,sans-serif";
|
||||
_35.style.fontSize="x-small";
|
||||
_35.appendChild(document.createTextNode(Xinha._lc("Color: ")));
|
||||
_35.appendChild(this.chosenColor);
|
||||
div.appendChild(_35);
|
||||
var but=document.createElement("span");
|
||||
but.className="buttonColor ";
|
||||
but.style.fontSize="13px";
|
||||
but.style.width="24px";
|
||||
but.style.marginLeft="2px";
|
||||
but.style.padding="0px 4px";
|
||||
but.style.cursor="pointer";
|
||||
but.onclick=function(){
|
||||
Xinha.colorPicker.remember(_2b.chosenColor.value,_2b.savecolors);
|
||||
_2b.callback(_2b.chosenColor.value);
|
||||
_2b.close();
|
||||
};
|
||||
but.appendChild(document.createTextNode("OK"));
|
||||
but.align="center";
|
||||
div.appendChild(but);
|
||||
td.appendChild(div);
|
||||
var _37=document.createElement("table");
|
||||
_37.style.width="100%";
|
||||
var _38=document.createElement("tbody");
|
||||
_37.appendChild(_38);
|
||||
var _39=document.createElement("tr");
|
||||
_38.appendChild(_39);
|
||||
var _3a=document.createElement("td");
|
||||
_39.appendChild(_3a);
|
||||
_3a.appendChild(this.backSample);
|
||||
_3a.style.width="50%";
|
||||
var _3b=document.createElement("td");
|
||||
_39.appendChild(_3b);
|
||||
_3b.appendChild(this.foreSample);
|
||||
_3b.style.width="50%";
|
||||
td.appendChild(_37);
|
||||
var _3c=document.createElement("div");
|
||||
_3c.style.clear="both";
|
||||
function createSavedColors(_3d){
|
||||
var _3e=false;
|
||||
var div=document.createElement("div");
|
||||
div.style.width=_2b.cellsize+"px";
|
||||
div.style.height=_2b.cellsize+"px";
|
||||
div.style.margin="1px";
|
||||
div.style.border="1px solid black";
|
||||
div.style.cursor="pointer";
|
||||
div.style.backgroundColor=_3d;
|
||||
div.style[_3e?"styleFloat":"cssFloat"]="left";
|
||||
div.ondblclick=function(){
|
||||
_2b.callback(_3d);
|
||||
_2b.close();
|
||||
};
|
||||
div.onclick=function(){
|
||||
_2b.chosenColor.value=_3d;
|
||||
_2b.backSample.style.backgroundColor=_3d;
|
||||
_2b.foreSample.style.color=_3d;
|
||||
};
|
||||
_3c.appendChild(div);
|
||||
}
|
||||
for(var _40=0;_40<Xinha.colorPicker.savedColors.length;_40++){
|
||||
createSavedColors(Xinha.colorPicker.savedColors[_40]);
|
||||
}
|
||||
td.appendChild(_3c);
|
||||
this.tbody.appendChild(tr);
|
||||
document.body.appendChild(this.table);
|
||||
}else{
|
||||
for(var row=0;row<this.side;row++){
|
||||
for(var col=0;col<this.side;col++){
|
||||
if(_2f){
|
||||
this.saved_cells[row][col].colorCode=tupleToColor(rgbToWebsafe(hsvToRGB(_2c*row,_2d*col,this.value)));
|
||||
}else{
|
||||
this.saved_cells[row][col].colorCode=tupleToColor(hsvToRGB(_2c*row,_2d*col,this.value));
|
||||
}
|
||||
this.saved_cells[row][col].style.backgroundColor=this.saved_cells[row][col].colorCode;
|
||||
this.saved_cells[row][col].style.borderColor=this.saved_cells[row][col].colorCode;
|
||||
}
|
||||
}
|
||||
var _41=this.saved_cells[_5][_6];
|
||||
this.chosenColor.value=_41.colorCode;
|
||||
this.backSample.style.backgroundColor=_41.colorCode;
|
||||
this.foreSample.style.color=_41.colorCode;
|
||||
if((_41.hue>=195&&_41.saturation>0.5)||(_41.hue===0&&_41.saturation===0&&_41.value<0.5)||(_41.hue!==0&&_2b.value<0.75)){
|
||||
_41.style.borderColor="#fff";
|
||||
}else{
|
||||
_41.style.borderColor="#000";
|
||||
}
|
||||
}
|
||||
};
|
||||
this.close=function(){
|
||||
Xinha._removeEvent(document.body,"mousedown",closeOnBodyClick);
|
||||
this.table.style.display="none";
|
||||
};
|
||||
};
|
||||
Xinha.colorPicker.savedColors=[];
|
||||
Xinha.colorPicker.remember=function(_42,_43){
|
||||
for(var i=Xinha.colorPicker.savedColors.length;i--;){
|
||||
if(Xinha.colorPicker.savedColors[i]==_42){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
Xinha.colorPicker.savedColors.splice(0,0,_42);
|
||||
Xinha.colorPicker.savedColors=Xinha.colorPicker.savedColors.slice(0,_43);
|
||||
var _45=new Date();
|
||||
_45.setMonth(_45.getMonth()+1);
|
||||
document.cookie="XinhaColorPicker="+escape(Xinha.colorPicker.savedColors.join("-"))+";expires="+_45.toGMTString();
|
||||
return true;
|
||||
};
|
||||
Xinha.colorPicker.loadColors=function(){
|
||||
var _46=document.cookie.indexOf("XinhaColorPicker");
|
||||
if(_46!=-1){
|
||||
var _47=(document.cookie.indexOf("=",_46)+1);
|
||||
var end=document.cookie.indexOf(";",_46);
|
||||
if(end==-1){
|
||||
end=document.cookie.length;
|
||||
}
|
||||
Xinha.colorPicker.savedColors=unescape(document.cookie.substring(_47,end)).split("-");
|
||||
}
|
||||
};
|
||||
Xinha.colorPicker._lc=function(_49){
|
||||
return Xinha._lc(_49);
|
||||
};
|
||||
Xinha.colorPicker.InputBinding=function(_4a,_4b){
|
||||
var _4c=document.createElement("span");
|
||||
_4c.className="buttonColor";
|
||||
var _4d=this.chooser=document.createElement("span");
|
||||
_4d.className="chooser";
|
||||
if(_4a.value){
|
||||
_4d.style.backgroundColor=_4a.value;
|
||||
}
|
||||
_4d.onmouseover=function(){
|
||||
_4d.className="chooser buttonColor-hilite";
|
||||
};
|
||||
_4d.onmouseout=function(){
|
||||
_4d.className="chooser";
|
||||
};
|
||||
_4d.appendChild(document.createTextNode("\xa0"));
|
||||
_4c.appendChild(_4d);
|
||||
var _4e=document.createElement("span");
|
||||
_4e.className="nocolor";
|
||||
_4e.onmouseover=function(){
|
||||
_4e.className="nocolor buttonColor-hilite";
|
||||
_4e.style.color="#f00";
|
||||
};
|
||||
_4e.onmouseout=function(){
|
||||
_4e.className="nocolor";
|
||||
_4e.style.color="#000";
|
||||
};
|
||||
_4e.onclick=function(){
|
||||
_4a.value="";
|
||||
_4d.style.backgroundColor="";
|
||||
};
|
||||
_4e.appendChild(document.createTextNode("\xd7"));
|
||||
_4c.appendChild(_4e);
|
||||
_4a.parentNode.insertBefore(_4c,_4a.nextSibling);
|
||||
Xinha._addEvent(_4a,"change",function(){
|
||||
_4d.style.backgroundColor=this.value;
|
||||
});
|
||||
_4b=(_4b)?Xinha.cloneObject(_4b):{cellsize:"5px"};
|
||||
_4b.callback=(_4b.callback)?_4b.callback:function(_4f){
|
||||
_4d.style.backgroundColor=_4f;
|
||||
_4a.value=_4f;
|
||||
};
|
||||
_4d.onclick=function(){
|
||||
var _50=new Xinha.colorPicker(_4b);
|
||||
_50.open("",_4d,_4a.value);
|
||||
};
|
||||
};
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
|
||||
<head>
|
||||
<title>Insert/Modify Link</title>
|
||||
<script type="text/javascript" src="popup.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="popup.css" />
|
||||
<script type="text/javascript" src="../../popups/popup.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="../../popups/popup.css" />
|
||||
|
||||
<script type="text/javascript">
|
||||
window.resizeTo(400, 200);
|
||||
|
||||
HTMLArea = window.opener.HTMLArea;
|
||||
Xinha = window.opener.Xinha;
|
||||
|
||||
function i18n(str) {
|
||||
return (HTMLArea._lc(str, 'HTMLArea'));
|
||||
return (Xinha._lc(str, 'Xinha'));
|
||||
}
|
||||
|
||||
function onTargetChanged() {
|
||||
@@ -24,7 +24,7 @@ function onTargetChanged() {
|
||||
}
|
||||
|
||||
function Init() {
|
||||
__dlg_translate('HTMLArea');
|
||||
__dlg_translate('Xinha');
|
||||
__dlg_init();
|
||||
|
||||
// Make sure the translated string appears in the drop down. (for gecko)
|
||||
@@ -54,7 +54,7 @@ function Init() {
|
||||
if (! use_target) {
|
||||
document.getElementById("f_target_label").style.visibility = "hidden";
|
||||
document.getElementById("f_target").style.visibility = "hidden";
|
||||
document.getElementById("f_target_other").style.visibility = "hidden";
|
||||
document.getElementById("f_other_target").style.visibility = "hidden";
|
||||
}
|
||||
var opt = document.createElement("option");
|
||||
opt.value = "_other";
|
||||