Changeset 892


Ignore:
Timestamp:
09/14/07 18:19:33 (12 years ago)
Author:
ray
Message:

update branch with changes from trunk

Location:
branches/ray
Files:
32 added
3 deleted
14 edited
3 moved

Legend:

Unmodified
Added
Removed
  • branches/ray/XinhaCore.js

    r890 r892  
    671671  this.stripBaseHref = true; 
    672672 
    673    /**  We can strip the url of the editor page from named links (eg <a href="#top">...</a>) 
    674    *  reason for this is that mozilla at least (and IE ?) prefixes location.href to any anchor 
    675    *  that don't have a url prefixing them<br /> 
     673   /**  We can strip the url of the editor page from named links (eg &lt;a href="#top"&gt;...&lt;/a&gt;) and links  
     674   *  that consist only of URL parameters (eg &lt;a href="?parameter=value"&gt;...&lt;/a&gt;) 
     675   *  reason for this is that browsers tend to prefixe location.href to any href that 
     676   *  that don't have a full url<br /> 
    676677   *  Default: <code>true</code> 
    677678   *  @type Boolean 
     
    970971  this.URIs = 
    971972  { 
    972    "blank": "popups/blank.html", 
     973   "blank": _editor_url + "popups/blank.html", 
    973974   "link":  _editor_url + "modules/CreateLink/link.html", 
    974975   "insert_image": _editor_url + "modules/InsertImage/insert_image.html", 
    975976   "insert_table":  _editor_url + "modules/InsertTable/insert_table.html", 
    976    "select_color": "select_color.html", 
    977    "about": "about.html", 
    978    "help": "editor_help.html" 
     977   "select_color": _editor_url + "popups/select_color.html", 
     978   "about": _editor_url + "popups/about.html", 
     979   "help": _editor_url + "popups/editor_help.html" 
    979980  }; 
    980981 
     
    20132014    if ( !found ) 
    20142015    { 
    2015       Xinha.loadStyle(_editor_css,null,"XinhaCoreDesign"); 
     2016      Xinha.loadStyle(_editor_css,null,"XinhaCoreDesign",true); 
    20162017    } 
    20172018  } 
     
    20372038  { 
    20382039    url = _editor_url + 'modules/InternetExplorer/InternetExplorer.js'; 
    2039     if ( typeof InternetExplorer == 'undefined' && !document.getElementById(url) ) 
     2040    if ( !Xinha.loadPlugins(["InternetExplorer"], function() { editor.generate(); }, url ) ) 
    20402041    {             
    2041       Xinha.loadPlugin("InternetExplorer", function() { editor.generate(); }, url ); 
    20422042      return false; 
    20432043    } 
     
    20472047  { 
    20482048    url = _editor_url + 'modules/Gecko/Gecko.js'; 
    2049     if ( typeof Gecko == 'undefined' && !document.getElementById(url) ) 
     2049    if ( !Xinha.loadPlugins(["Gecko"], function() { editor.generate(); }, url ) ) 
    20502050    {             
    2051       Xinha.loadPlugin("Gecko", function() { editor.generate(); }, url ); 
    20522051      return false; 
    20532052    } 
     
    20662065   
    20672066  url = _editor_url + 'modules/FullScreen/full-screen.js'; 
    2068   if ( typeof FullScreen == "undefined" && !document.getElementById(url) ) 
    2069   { 
    2070     Xinha.loadPlugin("FullScreen", function() { editor.generate(); }, url ); 
     2067  if ( !Xinha.loadPlugins(["FullScreen"], function() { editor.generate(); }, url )) 
     2068  { 
    20712069    return false; 
    20722070  } 
    20732071   
    20742072  url = _editor_url + 'modules/ColorPicker/ColorPicker.js'; 
    2075   if ( typeof ColorPicker == 'undefined' && !document.getElementById(url) ) 
    2076   { 
    2077     Xinha.loadPlugin("ColorPicker", function() { editor.generate(); } , url ); 
     2073  if ( !Xinha.loadPlugins(["ColorPicker"], function() { editor.generate(); } , url ) ) 
     2074  { 
    20782075    return false; 
    20792076  } 
     
    20912088        break; 
    20922089        case "insertimage": 
    2093           url = _editor_url + 'modules/InsertImage/InsertImage.js'; 
    2094           if ( typeof InsertImage == 'undefined' && typeof Xinha.prototype._insertImage == 'undefined' && !document.getElementById(url) ) 
     2090          url = _editor_url + 'modules/InsertImage/insert_image.js'; 
     2091          if ( typeof Xinha.prototype._insertImage == 'undefined' && !Xinha.loadPlugins(["InsertImage"], function() { editor.generate(); } , url ) ) 
    20952092          { 
    2096             Xinha.loadPlugin("InsertImage", function() { editor.generate(); } , url ); 
    20972093            return false; 
    20982094          } 
     
    21002096        break; 
    21012097        case "createlink": 
    2102           url = _editor_url + 'modules/CreateLink/CreateLink.js'; 
    2103           if ( typeof CreateLink == 'undefined' && typeof Xinha.prototype._createLink == 'undefined' &&  typeof Linker == 'undefined' && !document.getElementById(url)) 
     2098          url = _editor_url + 'modules/CreateLink/link.js'; 
     2099          if ( typeof Linker == 'undefined' && !Xinha.loadPlugins(["CreateLink"], function() { editor.generate(); } , url )) 
    21042100          { 
    2105             Xinha.loadPlugin("CreateLink", function() { editor.generate(); } , url ); 
    21062101            return false; 
    21072102          } 
     
    21092104        break; 
    21102105        case "inserttable": 
    2111           url = _editor_url + 'modules/InsertTable/InsertTable.js'; 
    2112           if ( typeof InsertTable == 'undefined' && typeof Xinha.prototype._insertTable == 'undefined' && !document.getElementById(url) ) 
     2106          url = _editor_url + 'modules/InsertTable/insert_table.js'; 
     2107          if ( !Xinha.loadPlugins(["InsertTable"], function() { editor.generate(); } , url ) ) 
    21132108          { 
    2114             Xinha.loadPlugin("InsertTable", function() { editor.generate(); } , url ); 
    21152109            return false; 
    21162110          } 
     
    21332127      break; 
    21342128    } 
    2135     if ( typeof EnterParagraphs == 'undefined'  && !document.getElementById(ParaHandlerPlugin) ) 
    2136     { 
    2137       Xinha.loadPlugin("EnterParagraphs", function() { editor.generate(); }, ParaHandlerPlugin ); 
     2129    if (  !Xinha.loadPlugins(["EnterParagraphs"], function() { editor.generate(); }, ParaHandlerPlugin ) ) 
     2130    { 
    21382131      return false; 
    21392132    } 
     
    21512144  } 
    21522145   
    2153   if (typeof GetHtmlImplementation == 'undefined'  && !document.getElementById(getHtmlMethodPlugin)) 
    2154   { 
    2155     Xinha.loadPlugin("GetHtmlImplementation", function() { editor.generate(); } , getHtmlMethodPlugin); 
     2146  if ( !Xinha.loadPlugins(["GetHtmlImplementation"], function() { editor.generate(); } , getHtmlMethodPlugin)) 
     2147  { 
    21562148    return false;         
    21572149  } 
     
    22402232    // create the IFRAME & add to container 
    22412233  var iframe = document.createElement("iframe"); 
    2242   iframe.src = _editor_url + editor.config.URIs.blank; 
     2234  iframe.src = this.popupURL(editor.config.URIs.blank); 
    22432235  iframe.id = "XinhaIFrame_" + this._textArea.id; 
    22442236  this._framework.ed_cell.appendChild(iframe); 
     
    22822274      function() 
    22832275      { 
     2276        editor.firePluginEvent('onBeforeSubmit'); 
    22842277        editor._textArea.value = editor.outwardHtml(editor.getHTML()); 
    22852278        return true; 
     
    23252318    function() 
    23262319    { 
     2320      editor.firePluginEvent('onBeforeUnload'); 
    23272321      textarea.value = editor.outwardHtml(editor.getHTML()); 
    23282322      if (!Xinha.is_ie) 
     
    33243318 * @param {Array} plugins 
    33253319 * @param {Function} callbackIfNotReady function that is called repeatedly until all files are 
     3320 * @param {String} optional url URL of the plugin file; obviously plugins should contain only one item if url is given 
    33263321 * @returns {Boolean} true if all plugins are loaded, false otherwise 
    33273322 */ 
    3328 Xinha.loadPlugins = function(plugins, callbackIfNotReady) 
     3323Xinha.loadPlugins = function(plugins, callbackIfNotReady,url) 
    33293324{ 
    33303325  if ( !Xinha.isSupportedBrowser ) return; 
     
    33443339        function(plugin) 
    33453340        { 
    3346           // @todo : try to avoid the use of eval() 
    3347           if ( eval('typeof ' + plugin) != 'undefined' ) 
     3341          if ( typeof window[plugin] != 'undefined' ) 
    33483342          { 
    33493343            Xinha._pluginLoadStatus[plugin] = 'ready'; 
     
    33583352            Xinha._pluginLoadStatus[plugin] = 'failed'; 
    33593353          } 
    3360         } 
     3354        },url 
    33613355      ); 
    33623356      retVal = false; 
     
    34893483 *                 or later removing it again 
    34903484 */ 
    3491 Xinha.loadStyle = function(style, plugin, id) 
     3485Xinha.loadStyle = function(style, plugin, id,prepend) 
    34923486{ 
    34933487  var url = _editor_url || ''; 
     
    35123506  link.type = "text/css"; 
    35133507  if (id) link.id = id; 
    3514   head.appendChild(link); 
     3508  if (prepend) 
     3509  { 
     3510    head.insertBefore(link,head.getElementsByTagName('link')[0]); 
     3511  } 
     3512  else 
     3513  { 
     3514    head.appendChild(link); 
     3515  } 
     3516   
    35153517}; 
    35163518 
     
    48774879   
    48784880  //prevent execution of JavaScript (Ticket #685) 
    4879   html = html.replace(/(<script[^>]*)(freezescript)/gi,"$1javascript"); 
     4881  html = html.replace(/(<script[^>]*((type=[\"\']text\/)|(language=[\"\'])))(freezescript)/gi,"$1javascript"); 
    48804882 
    48814883  // If in fullPage mode, strip the coreCSS 
     
    49204922  html = this.inwardSpecialReplacements(html); 
    49214923 
    4922   html = html.replace(/(<script[^>]*)(javascript)/gi,"$1freezescript"); 
     4924  html = html.replace(/(<script[^>]*((type=[\"\']text\/)|(language=[\"\'])))(javascript)/gi,"$1freezescript"); 
    49234925 
    49244926  // For IE's sake, make any URLs that are semi-absolute (="/....") to be 
     
    50245026  if ( typeof this.config.stripSelfNamedAnchors != 'undefined' && this.config.stripSelfNamedAnchors ) 
    50255027  { 
    5026     var stripRe = new RegExp(Xinha.escapeStringForRegExp(document.location.href.replace(/&/g,'&amp;')) + '(#[^\'" ]*)', 'g'); 
    5027     html = html.replace(stripRe, '$1'); 
     5028    var stripRe = new RegExp("((href|src|background)=\")("+Xinha.escapeStringForRegExp(document.location.href.replace(/&/g,'&amp;')) + ')([#?][^\'" ]*)', 'g'); 
     5029    html = html.replace(stripRe, '$1$4'); 
    50285030  } 
    50295031 
     
    56895691    url = _editor_url + "plugins/" + plugin + "/popups/" + popup; 
    56905692  } 
    5691   else if ( file.match(/^\/.*?/) ) 
     5693  else if ( file.match(/^\/.*?/) || file.match(/^https?:\/\//)) 
    56925694  { 
    56935695    url = file; 
     
    57645766{ 
    57655767    var coreCSS =  
    5766     "<style title=\"Xinha Internal CSS\" type=\"text/css\">" 
     5768    "<style id=\"XinhaInternalCSS\" type=\"text/css\">" 
    57675769    + ".htmtableborders, .htmtableborders td, .htmtableborders th {border : 1px dashed lightgrey ! important;}\n" 
    57685770    + "html, body { border: 0px; } \n" 
     
    57925794Xinha.stripCoreCSS = function(html) 
    57935795{ 
    5794   return html.replace(/<style[^>]+title="Xinha Internal CSS"(.|\n)*?<\/style>/i, '');  
     5796  return html.replace(/<style[^>]+id="XinhaInternalCSS"(.|\n)*?<\/style>/i, '');  
    57955797} 
    57965798/** Removes one CSS class (that is one of possible more parts  
     
    59425944 *                             as argument                              
    59435945 */ 
     5946  
     5947// mod_security (an apache module which scans incoming requests for potential hack attempts) 
     5948// has a rule which triggers when it gets an incoming Content-Type with a charset 
     5949// see ticket:1028 to try and work around this, if we get a failure in a postback 
     5950// then Xinha._postback_send_charset will be set to false and the request tried again (once) 
     5951Xinha._postback_send_charset = true; 
    59445952Xinha._postback = function(url, data, handler) 
    59455953{ 
     
    59715979        } 
    59725980      } 
     5981      else if(Xinha._postback_send_charset) 
     5982      {         
     5983        Xinha._postback_send_charset = false; 
     5984        Xinha._postback(url,data,handler); 
     5985      } 
    59735986      else 
    59745987      { 
     
    59815994 
    59825995  req.open('POST', url, true); 
    5983   req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); 
     5996  req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'+(Xinha._postback_send_charset ? '; charset=UTF-8' : '')); 
    59845997  //alert(content); 
    59855998  req.send(content); 
     
    68346847  else if ( obj ) 
    68356848  { 
    6836     try { obj[prop] = null; } catch(x) {} 
     6849    if ( prop.indexOf('src') == -1 ) // if src (also lowsrc, and maybe dynsrc ) is set to null, a file named "null" is requested from the server (see #1001) 
     6850    { 
     6851      try { obj[prop] = null; } catch(x) {} 
     6852    } 
    68376853  } 
    68386854}; 
  • branches/ray/contrib/compress.php

    r862 r892  
    11<? 
    2 die("Run this script to batch-compress the current Xinha snapshot. To run the script, open the file and comment out the die() command"); 
     2die("Run this script to batch-compress the current Xinha snapshot. To run the script, open the file and uncomment the die() command"); 
    33 
    44error_reporting(E_ALL); 
  • branches/ray/contrib/lc_parse_strings.php

    r761 r892  
    1 <?php 
     1<?php 
    22die("this script is disabled for security"); 
    33 
     
    2323$ret = array(); 
    2424$files = getFiles("../", "js$"); 
    25 foreach($files as $file) 
    26 { 
     25foreach($files as $file) { 
    2726    $fp = fopen($file, "r"); 
    2827    $data = ""; 
     
    8079 
    8180$plugins = getFiles("../plugins/"); 
    82 foreach($plugins as $pluginDir) 
    83 { 
     81foreach($plugins as $pluginDir) { 
    8482    $plugin = substr($pluginDir, 12); 
    8583    if($plugin=="ibrowser") continue; 
     
    145143} 
    146144 
    147 foreach($langData as $plugin=>$strings) 
    148 { 
     145$plugins = getFiles("../modules/"); 
     146foreach($plugins as $pluginDir) { 
     147    $plugin = substr($pluginDir, 12); 
     148    $ret = array(); 
     149    $files = getFiles("$pluginDir/", "js$"); 
     150    foreach($files as $file) 
     151    { 
     152        $fp = fopen($file, "r"); 
     153        $data = ""; 
     154        if($fp) { 
     155            echo "$file open...<br>"; 
     156            while(!feof($fp)) { 
     157              $data .= fread($fp, 1024); 
     158            } 
     159            preg_match_all('#_lc\("([^"]+)"|_lc\(\'([^\']+)\'#', $data, $m); 
     160            foreach($m[1] as $i) { 
     161                if(trim(strip_tags($i))=="") continue; 
     162                $ret[] = $i; 
     163            } 
     164            foreach($m[2] as $i) { 
     165                if(trim(strip_tags($i))=="") continue; 
     166                $ret[] = $i; 
     167            } 
     168        } 
     169    } 
     170    $ret = array_unique($ret); 
     171    $langData[$plugin] = $ret; 
     172} 
     173 
     174 
     175foreach($langData as $plugin=>$strings) { 
    149176    if(sizeof($strings)==0) continue; 
    150177     
     
    152179    $data = "// I18N constants\n"; 
    153180    $data .= "//\n"; 
    154     $data .= "//LANG: \"base\", ENCODING: UTF-8\n"; 
    155     $data .= "//Author: Translator-Name, <email@example.com>\n"; 
     181    $data .= "// LANG: \"base\", ENCODING: UTF-8\n"; 
     182    $data .= "// Author: Translator-Name, <email@example.com>\n"; 
     183    $data .= "//\n";    
     184    $data .= "// Last revision: 06 september 2007\n"; 
     185    $data .= "// Please don´t remove this information\n"; 
     186    $data .= "// If you modify any source, please insert a comment with your name and e-mail\n"; 
     187    $data .= "//\n"; 
     188    $data .= "// Distributed under the same terms as HTMLArea itself.\n"; 
     189    $data .= "// This notice MUST stay intact for use (see license.txt).\n"; 
     190    $data .= "//\n"; 
     191    $data .= "// (Please, remove information below)\n";    
    156192    $data .= "// FOR TRANSLATORS:\n"; 
    157193    $data .= "//\n"; 
     
    173209    $data .= "}\n"; 
    174210 
    175     if($plugin=="HTMLArea") 
    176         $file = "../lang/base.js"; 
    177     else 
    178         $file = "../plugins/$plugin/lang/base.js"; 
    179      
    180     $fp = fopen($file, "w"); 
    181     if(!$fp) continue; 
    182     fwrite($fp, $data); 
    183     fclose($fp); 
    184     echo "$file written...<br>"; 
     211    if($plugin=="HTMLArea") { 
     212       $file = "../lang/base.js"; 
     213                        $fp = fopen($file, "w"); 
     214                  if(!$fp) continue; 
     215                        fwrite($fp, $data); 
     216                        fclose($fp); 
     217                        echo "$file written...<br>"; 
     218                }       elseif (($plugin=="InternetExplorer")||($plugin=="InsertTable")||($plugin=="InsertImage")||($plugin=="GetHtml")||($plugin=="Gecko")||($plugin=="Dialogs")||($plugin=="CreateLink")||($plugin=="ColorPicker")) { 
     219        $file = "../modules/$plugin/lang/base.js";       
     220                        $fp = fopen($file, "w"); 
     221                  if(!$fp) continue; 
     222                        fwrite($fp, $data); 
     223                        fclose($fp); 
     224                        echo "$file written...<br>"; 
     225                } elseif ($plugin=="FullScreen") { 
     226        $file = "../modules/$plugin/lang/base.js"; 
     227                        $fp = fopen($file, "w"); 
     228                  if(!$fp) continue; 
     229                        fwrite($fp, $data); 
     230                        fclose($fp); 
     231                        echo "$file written...<br>"; 
     232                                $file = "../plugins/$plugin/lang/base.js";               
     233                        $fp = fopen($file, "w"); 
     234                  if(!$fp) continue; 
     235                        fwrite($fp, $data); 
     236                        fclose($fp); 
     237                        echo "$file written...<br>"; 
     238                } else { 
     239        $file = "../plugins/$plugin/lang/base.js";               
     240                        $fp = fopen($file, "w"); 
     241                  if(!$fp) continue; 
     242                        fwrite($fp, $data); 
     243                        fclose($fp); 
     244                        echo "$file written...<br>"; 
     245                }        
    185246} 
    186247 
  • branches/ray/lang/pt_br.js

    r60 r892  
    1 // I18N constants 
    2  
    3 // LANG: "bt_br", ENCODING: UTF-8 
    4 // Brazilian Portuguese Translation by Alex Piaz <webmaster@globalmap.com> 
    5  
     1// I18N constants 
     2// 
     3// LANG: "pt_br", ENCODING: UTF-8 
     4// Portuguese Brazilian Translation 
     5// 
     6// Initial basic work by Alex Piaz <webmaster@globalmap.com> 
     7// 
     8// Author: Marcio Barbosa, <marcio@mpg.com.br> 
     9// MSN: tomarshall@msn.com - ICQ: 69419933 
     10// Site: http://www.mpg.com.br 
     11// 
     12// Last revision: 06 september 2007 
     13// Please don´t remove this information 
     14// If you modify any source, please insert a comment with your name and e-mail 
     15// 
     16// Distributed under the same terms as HTMLArea itself. 
     17// This notice MUST stay intact for use (see license.txt) 
    618{ 
     19  "About": "Sobre", 
     20  "About Xinha": "Sobre o Xinha", 
     21  "Absbottom": "Inferior absoluto", 
     22  "Absmiddle": "Meio absoluto", 
     23  "Alignment:": "Alinhamento", 
     24  "Alternate text:": "Texto alternativo", 
     25  "Baseline": "Linha base", 
    726  "Bold": "Negrito", 
    8   "Italic": "Itálico", 
     27  "Border thickness:": "Espessura da borda", 
     28  "Bottom": "Botão", 
     29  "CTRL-0 (zero)": "CTRL-0 (zero)", 
     30  "CTRL-1 .. CTRL-6": "CTRL-1 .. CTRL-6", 
     31  "CTRL-A": "CTRL-A", 
     32  "CTRL-B": "CTRL-B", 
     33  "CTRL-C": "CTRL-C", 
     34  "CTRL-E": "CTRL-E", 
     35  "CTRL-I": "CTRL-I", 
     36  "CTRL-J": "CTRL-J", 
     37  "CTRL-L": "CTRL-L", 
     38  "CTRL-N": "CTRL-N", 
     39  "CTRL-R": "CTRL-R", 
     40  "CTRL-S": "CTRL-S", 
     41  "CTRL-U": "CTRL-U", 
     42  "CTRL-V": "CTRL-V", 
     43  "CTRL-X": "CTRL-X", 
     44  "CTRL-Y": "CTRL-Y", 
     45  "CTRL-Z": "CTRL-Z", 
     46  "Cancel": "Cancelar", 
     47  "Cell padding:": "Espaçamento interno da célula:", 
     48  "Cell spacing:": "Espaçamento da célula:", 
     49  "Clean content pasted from Word": "Limpar conteúdo copiado do Word", 
     50  "Close": "Fechar", 
     51  "Collapse borders:": "Bordas fechadas:", 
     52  "Cols:": "Colunas:", 
     53  "Constructing object": "Construindo objeto", 
     54  "Copy selection": "Copiar seleção", 
     55  "Create Statusbar": "Criar barra de informação (statusbar)", 
     56  "Create Toolbar": "Criar Barra de Ferramentas", 
     57  "Current style": "Estilo Atual", 
     58  "Cut selection": "Recortar seleção", 
     59  "Developer": "Desenvolvedor", 
     60  "ENTER": "ENTRAR", 
     61  "Editor Help": "Ajuda do Editor", 
     62  "Em": "Em", 
     63  "Enter the image URL here": "Entre aqui com a URL da imagem", 
     64  "Finishing": "Terminando", 
     65  "Fixed width columns": "Colunas com largura fixa", 
     66  "For browsers that don't support images": "Para navegadores que não suportam imagens", 
     67  "Generate Xinha framework": "Gerar Área de Trabalho do Xinha", 
     68  "Headings": "Títulos", 
     69  "Horizontal padding": "Espaçamento interno horizontal", 
     70  "Horizontal:": "Horizontal:", 
     71  "Image Preview:": "Visualização da Imagem:", 
     72  "Image URL:": "URL da imagem:", 
     73  "Init editor size": "Iniciar tamanho do editor", 
     74  "Insert Image": "Inserir Imagem", 
     75  "Insert Table": "Inserir Tabela", 
     76  "Insert/Modify Link": "Inserir/Modificar Link", 
     77  "Italic": "Itálico", 
     78  "Justify Center": "Justificar Centralizado", 
     79  "Justify Full": "Justificar Completamente", 
     80  "Justify Left": "Justificar à Esquerda", 
     81  "Justify Right": "Justificar à Direita", 
     82  "Keyboard shortcuts": "Atalhos de Teclado", 
     83  "Layout": "Esquema", 
     84  "Leave empty for no border": "Deixe em branco para não ter bordas", 
     85  "Left": "Esquerda", 
     86  "License": "Licença", 
     87  "Loading in progress. Please wait!": "Carregamento em processo. Por favor, aguarde!", 
     88  "Middle": "Meio", 
     89  "Name": "Nome", 
     90  "New window (_blank)": "Nova janela (_blank)", 
     91  "None (use implicit)": "Nenhum (uso implicito)", 
     92  "Not set": "Não definido", 
     93  "Number of columns": "Número de colunas", 
     94  "Number of rows": "Número de linhas", 
     95  "OK": "OK", 
     96  "Paste from clipboard": "Colar da Área de Transferência", 
     97  "Path": "Caminho", 
     98  "Percent": "Porcentagem", 
     99  "Pixels": "Pixels", 
     100  "Plugins": "Plugins", 
     101  "Positioning of this image": "Posicionamento desta imagem", 
     102  "Positioning of this table": "Posicionamento desta tabela", 
     103  "Preview": "Visualização", 
     104  "Preview the image in a new window": "Visualizar a imagem em uma nova janela", 
     105  "Redoes your last action": "Refazer sua última ação", 
     106  "Right": "Direita", 
     107  "Rows:": "Linhas:", 
     108  "SHIFT-ENTER": "SHIFT-ENTER", 
     109  "Same frame (_self)": "Mesmo frame (_self)", 
     110  "Select Color": "Selecionar côr", 
     111  "Select all": "Selecionar tudo", 
     112  "Set format to paragraph": "Definir formato para o parágrafo", 
     113  "Space between adjacent cells": "Espaço entre células adjacentes", 
     114  "Space between content and border in cell": "Espaço entre conteúdo e borda na célula", 
     115  "Spacing": "Espaçamento", 
     116  "Sponsored by": "Patrocinado por", 
     117  "Strikethrough": "Tachado", 
     118  "Target:": "Destino:", 
     119  "Texttop": "Texto no topo", 
     120  "Thanks": "Agradecimentos", 
     121  "The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "O botão Colar não funciona em navegadores baseado no Mozilla (por razões técnicas de segurança). Pressione CTRL-V no seu teclado para colar diretamente.", 
     122  "The editor provides the following key combinations:": "Este editor fornece a seguinte combinação de teclas:", 
     123  "Title (tooltip):": "Título (tooltip)", 
     124  "Top": "Topo", 
     125  "Top frame (_top)": "Frame no topo (_top)", 
     126  "URL:": "URL:", 
    9127  "Underline": "Sublinhado", 
    10   "Strikethrough": "Tachado", 
     128  "Undoes your last action": "Desfazer sua última ação", 
     129  "Version": "Versão", 
     130  "Vertical padding": "Espaçamento interno vertical", 
     131  "Vertical:": "Vertical:", 
     132  "Width of the table": "Larguran da tabela", 
     133  "Width unit": "Unidade de largura", 
     134  "Width:": "Largura:", 
     135  "Would you like to clear font colours?": "Deseja limpar as cores de fonte", 
     136  "Would you like to clear font sizes?": "Deseja limpar os tamanhos de fonte", 
     137  "Would you like to clear font typefaces?": "Deseja limpar os tipos de fonte", 
     138  "Xinha Help": "Ajuda do Xinha", 
     139  "You are in TEXT MODE.  Use the [<>] button to switch back to WYSIWYG.": "Você está no MODO TEXTO.  Use o botão [<>] para mudar para o modo de Visualização (WYSIWYG)", 
     140  "Your Document is not well formed. Check JavaScript console for details.": "Seu Documento não está formatado corretamente. Verifique o console do JavaScript para maiores detalhes.", 
     141  "insert linebreak": "inserir quebra de linha", 
     142  "new paragraph": "novo parágrafo", 
     143   
     144  // not find with lc_parse_strings.php 
    11145  "Subscript": "Subescrito", 
    12146  "Superscript": "Sobrescrito", 
    13   "Justify Left": "Alinhar à Esquerda", 
    14   "Justify Center": "Centralizar", 
    15   "Justify Right": "Alinhar à Direita", 
    16   "Justify Full": "Justificar", 
     147  "Direction left to right": "Da esquerda para direita", 
     148  "Direction right to left": "Da direita para esquerda", 
     149  "Remove formatting": "Remover formatação", 
     150  "Select all": "Selecionar tudo", 
     151  "Print document": "Imprimir documento", 
     152  "Clear MSOffice tags": "Limpar tags do MS Office", 
     153  "Clear Inline Font Specifications": "Limpar especificações de fontes inline", 
     154  "Split Block": "Dividir Bloco", 
     155  "Toggle Borders": "Mudar Bordas", 
     156  "Save as": "Salvar como", 
     157  "Insert/Overwrite": "Inserir/Sobrescrever", 
     158  "&mdash; format &mdash;": "&mdash; formato &mdash;", 
     159  "Heading 1": "Título 1", 
     160  "Heading 2": "Título 2", 
     161  "Heading 3": "Título 3", 
     162  "Heading 4": "Título 4", 
     163  "Heading 5": "Título 5", 
     164  "Heading 6": "Título 6", 
     165  "Normal": "Normal", 
     166  "Address": "Endereço", 
     167  "Formatted": "Formatado", 
     168  "&mdash; font &mdash;": "&mdash; fonte &mdash;", 
     169  "&mdash; size &mdash;": "&mdash; tamanho &mdash;", 
    17170  "Ordered List": "Lista Numerada", 
    18171  "Bulleted List": "Lista Marcadores", 
    19   "Decrease Indent": "Diminuir Indentação", 
    20   "Increase Indent": "Aumentar Indentação", 
     172  "Decrease Indent": "Diminuir Indentação", 
     173  "Increase Indent": "Aumentar Indentação", 
    21174  "Font Color": "Cor da Fonte", 
    22175  "Background Color": "Cor do Fundo", 
    23176  "Horizontal Rule": "Linha Horizontal", 
    24177  "Insert Web Link": "Inserir Link", 
    25   "Insert/Modify Image": "Inserir Imagem", 
     178  "Insert/Modify Image": "Inserir/Modificar Imagem", 
    26179  "Insert Table": "Inserir Tabela", 
    27   "Toggle HTML Source": "Ver Código-Fonte", 
     180  "Toggle HTML Source": "Ver Código-Fonte", 
    28181  "Enlarge Editor": "Expandir Editor", 
    29   "About this editor": "Sobre", 
    30   "Help using editor": "Ajuda", 
    31   "Current style": "Estilo Atual" 
     182  "About this editor": "Sobre este editor", 
     183  "Help using editor": "Ajuda - Usando o editor" 
    32184} 
  • branches/ray/modules/GetHtml/DOMwalk.js

    r890 r892  
    299299      else if(root.data.trim() == '') 
    300300      { 
    301         html = ''; 
     301        if(root.data) 
     302        { 
     303          html = ' '; 
     304        } 
     305        else 
     306        { 
     307          html = ''; 
     308        } 
    302309      } 
    303310      else 
  • branches/ray/modules/GetHtml/TransformInnerHTML.js

    r862 r892  
    136136    s = s.replace(/^\s*/,'').//strip leading whitespace 
    137137        replace(/ +\n/g,'\n').//strip spaces at end of lines 
    138         replace(/[\r\n]+<\/script>/g,'\n</script>');//strip returns added into scripts 
     138        replace(/[\r\n]+(\s+)<\/script>/g,'\n$1</script>');//strip returns added into scripts 
    139139    return s; 
    140140}; 
  • branches/ray/plugins/ExtendedFileManager/extended-file-manager.js

    r862 r892  
    178178                case "f_backgroundColor": img.style.backgroundColor = value; break; 
    179179                case "f_align"  : img.align  = value; break; 
    180                 case "f_width"  : img.width = parseInt(value || "0"); break; 
    181                 case "f_height"  : img.height = parseInt(value || "0"); break; 
     180                case "f_width"  :  
     181                    if ( parseInt( value ) > 0 ) 
     182                    { 
     183                        img.width = parseInt(value); 
     184                    } 
     185                break; 
     186                case "f_height"  :  
     187                    if ( parseInt( value ) > 0 ) 
     188                    { 
     189                        img.height = parseInt(value); 
     190                    } 
     191                break; 
    182192                case "f_padding": img.style.padding = 
    183193                                          /[^0-9]/.test(value) ? value : (value != '') ? (parseInt(value) + 'px') :''; break; 
  • branches/ray/plugins/ExtendedFileManager/lang/nl.js

    r862 r892  
    11// I18N constants 
    2 // LANG: "de", ENCODING: UTF-8 
    3 // translated: Alun Jones a.jones@hccnet.nl 
     2// LANG: "nl", ENCODING: UTF-8 
     3// Author: Maarten Molenschot, maarten@nrgmm.nl 
    44{ 
    55  "File Manager": "Bestandsbeheer", 
     
    7272  "Alt": "Alt", 
    7373  "File Name": "Bestandsnaam", 
    74   "Thumbnail View": "Miniatuuransicht", 
    75   "List View": "Listenansicht", 
     74  "Thumbnail View": "Miniaturen", 
     75  "List View": "Lijst", 
    7676  "Title (tooltip)": "Titel (tooltip)", 
    7777  "Target Window": "Doel venster", 
    7878  "Name": "Naam", 
    79   "Size": "Grote", 
     79  "Size": "Grootte", 
    8080  "Date Modified": "Datum aangepast", 
    8181  "Total Size": "Totaalgrootte", 
     
    8787  "You must select some text before making a new link.": "Eerst tekst selecteren.", 
    8888  "Folder is not empty. Please delete all Files and Subfolders inside.": "Map is niet leeg. Verwijder eerst alle bestanden en onderliggendemappen.", 
    89   "Image Size": "Beeld grote", 
     89  "Image Size": "Beeld afmetingen", 
    9090  "Other" : "Andere...", 
    9191  "Rename": "Naam wijzigen", 
    9292  "Please enter new name for this file...": "Nieuwe bestandsnaam...", 
    93   "Unable to rename file. File of the same name already exists or\nfolder doesn't have write permission.": "Herbenoemen niet mogelijk. Bestand bestaat al of\nmap heeft geen schrijf toestemming.", 
    94   "Cancelled rename.": "Herbenoemen geannuleerd.", 
    95   'File "$file" successfully uploaded.': '"$file" bestand upload komplet.', 
    96   "Cannot upload. Maximum folder size reached.": "Uploaden niet mogelijk. Map is vol.", 
     93  "Unable to rename file. File of the same name already exists or\nfolder doesn't have write permission.": "Hernoemen niet mogelijk. Bestand bestaat al of\nmap heeft geen schrijf toestemming.", 
     94  "Cancelled rename.": "Hernoemen geannuleerd.", 
     95  'File "$file" successfully uploaded.': '"$file" bestand upload voltooid.', 
     96  "Cannot upload. Maximum folder size reached.": "Uploaden is niet mogelijk. De doel map is vol.", 
    9797  "Maximum file size [$max_size KB] exceeded.": "Maximale bestandgrootte [$max_size KB] overschreden.", 
    98   "Cannot upload $extension Files. Permission denied.": "Niet mogelijk om $extension bestanden te uploaden.", 
    99   "Unable to upload File. \nEither Maximum file size [$max_size KB] exceeded or\nFolder doesn\'t have write permission.": "Bestands upload niet mogelijk.\nMaximale bestandsgrootte [$max_size KB] overtreden\nof map heeft geen schrijf toestemming.", 
    100   "Total Size : $max_foldersize_mb MB, Free Space: $free_space": "Totaalgrootte: $max_foldersize_mb MB, noch vrij: $free_space", 
    101   "Please enter new name for this folder...":"Please enter new name for this folder...", 
     98  "Cannot upload $extension Files. Permission denied.": "Het is niet mogelijk om $extension bestanden te uploaden.", 
     99  "Unable to upload File. \nEither Maximum file size [$max_size KB] exceeded or\nFolder doesn\'t have write permission.": "Bestands upload niet mogelijk.\nMaximale bestandsgrootte [$max_size KB] overtreden\nof de map heeft geen schrijf toestemming.", 
     100  "Total Size : $max_foldersize_mb MB, Free Space: $free_space": "Totaalgrootte: $max_foldersize_mb MB, nog vrij: $free_space", 
     101  "Please enter new name for this folder...":"Geef een nieuwe naam voor deze map...", 
    102102 
    103   "Cut":"Cut", 
    104   "Copy":"Copy", 
    105   "Paste":"Paste", 
     103  "Cut":"Knippen", 
     104  "Copy":"Kopiëren", 
     105  "Paste":"Plakken", 
    106106   
    107   'Copy "$file" from "$dir" here': 'Copy "$file" from "$dir" here', 
    108   'Copy folder "$file" from "$dir" here' : 'Copy folder "$file" from "$dir" here', 
    109   'Move "$file" from "$dir" here':'Move "$file" from "$dir" here', 
    110   'Move folder "$file" from "$dir" here':'Move folder "$file" from "$dir" here', 
     107  'Copy "$file" from "$dir" here': 'Kopieer "$file" van "$dir" naar', 
     108  'Copy folder "$file" from "$dir" here' : 'Kopieer map "$file" van "$dir" naar', 
     109  'Move "$file" from "$dir" here':'Verplaats "$file" van "$dir" naar', 
     110  'Move folder "$file" from "$dir" here':'Verplaats map "$file" van "$dir" naar', 
    111111   
    112   "Source file/folder not found.":"Source file/folder not found.", 
    113   "Paste failed.\nMaybe folder doesn't have write permission.": "Paste failed.\nMaybe folder doesn't have write permission.", 
    114   "Could not create destination folder.":"Could not create destination folder.", 
    115   "Destination file/folder already exists.":"Destination file/folder already exists.", 
    116   "File pasted OK.": "File pasted OK." 
     112  "Source file/folder not found.":"Bron bestand/map niet gevonden.", 
     113  "Paste failed.\nMaybe folder doesn't have write permission.": "Plakken mislukt..\nDe map heeft mogelijk niet de juiste schrijfrechten.", 
     114  "Could not create destination folder.":"Bestemmings map kon niet worden gemaakt..", 
     115  "Destination file/folder already exists.":"Bestemmings bestand/map bestaat al." 
    117116}; 
  • branches/ray/plugins/ImageManager/assets/manager.js

    r862 r892  
    8181      // Locate to the correct directory 
    8282      var dreg = new RegExp('^(.*/)([^/]+)$'); 
    83       if(dreg.test(param['f_url'])) 
     83      if(dreg.test(param['f_url']) && !(new RegExp('^https?://','i')).test(param['f_url'])) 
    8484      { 
    8585        changeDir(RegExp.$1); 
     
    212212        { 
    213213                if(typeof imgManager != 'undefined') 
    214                         imgManager.changeDir(newDir); 
     214    {       
     215            imgManager.changeDir(newDir); 
     216    } 
    215217        } 
    216218 
     
    336338                } 
    337339        } 
     340   
    338341        addEvent(window, 'load', init); 
  • branches/ray/plugins/ImageManager/images.php

    r761 r892  
    210210 
    211211        if(window.top) 
    212                 HTMLArea = window.top.HTMLArea; 
     212    HTMLArea = Xinha    = window.top.Xinha; 
    213213 
    214214        function hideMessage() 
     
    275275</script> 
    276276<script type="text/javascript" src="<?php print $IMConfig['base_url'];?>assets/images.js"></script> 
     277<script type="text/javascript" src="../../popups/popup.js"></script> 
    277278<script type="text/javascript" src="assets/popup.js"></script> 
    278279</head> 
  • branches/ray/plugins/InsertSnippet/snippets.php

    r890 r892  
    22print '<?xml version="1.0" encoding="UTF-8"?>'."\n"; 
    33?> 
    4  
     4<snXML> 
     5<categories> 
    56<?php 
    67foreach ($categories as $c) { 
  • branches/ray/plugins/SuperClean/tidy.php

    r775 r892  
    6161 
    6262//  Open the connection to the host 
    63     $socket = fsockopen($Host, 80, &$errno, &$errstr); 
     63    $socket = fsockopen($Host, 80, $errno, $errstr); 
    6464    if (!$socket) { 
    6565      $result = "($errno) $errstr"; 
  • branches/ray/popups/popup.js

    r862 r892  
    1111// 
    1212// $Id$ 
    13 Xinha = window.opener.Xinha; 
     13if(typeof Xinha == 'undefined') 
     14  Xinha = window.opener.Xinha; 
     15 
    1416// Backward compatibility will be removed some time or not? 
    15 HTMLArea = window.opener.Xinha; 
     17HTMLArea = Xinha; 
    1618 
    1719function getAbsolutePos(el) { 
  • branches/ray/skins/silva/skin.css

    r862 r892  
    163163.htmlarea textarea.xinha_textarea { 
    164164  background:url(html.gif) bottom right no-repeat; 
    165   padding:5px; 
    166   border:2px dotted #bbb; 
     165  /*padding:5px; 
     166  border:2px dotted #bbb;*/ 
    167167  font-family: "Lucida Console",Courier,monospace; 
    168168  font-size: 10pt; 
Note: See TracChangeset for help on using the changeset viewer.