[ Index ]

PHP Cross Reference of osCMax 2.0.4

title

Body

[close]

/FCKeditor/ -> fckeditor.lasso (source)

   1  [//lasso
   2  /*

   3   * FCKeditor - The text editor for Internet - http://www.fckeditor.net

   4   * Copyright (C) 2003-2008 Frederico Caldeira Knabben

   5   *

   6   * == BEGIN LICENSE ==

   7   *

   8   * Licensed under the terms of any of the following licenses at your

   9   * choice:

  10   *

  11   *  - GNU General Public License Version 2 or later (the "GPL")

  12   *    http://www.gnu.org/licenses/gpl.html

  13   *

  14   *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")

  15   *    http://www.gnu.org/licenses/lgpl.html

  16   *

  17   *  - Mozilla Public License Version 1.1 or later (the "MPL")

  18   *    http://www.mozilla.org/MPL/MPL-1.1.html

  19   *

  20   * == END LICENSE ==

  21   *

  22   * This is the integration file for Lasso.

  23   *

  24   * It defines the FCKeditor class ("custom type" in Lasso terms) that can

  25   * be used to create editor instances in Lasso pages on server side.

  26   */
  27  
  28      define_type(
  29          'editor',
  30          -namespace='fck_',
  31          -description='Creates an instance of FCKEditor.'
  32      );
  33          local(
  34              'instancename'    =    'FCKEditor1',
  35              'width'            =    '100%',
  36              'height'        =    '200',
  37              'toolbarset'    =    'Default',
  38              'initialvalue'    =    string,
  39              'basepath'        =    '/fckeditor/',
  40              'config'        =    array,
  41              'checkbrowser'    =    true,
  42              'displayerrors'    =    false
  43          );
  44  
  45          define_tag(
  46              'onCreate',
  47              -required='instancename', -type='string',
  48              -optional='width', -type='string',
  49              -optional='height', -type='string',
  50              -optional='toolbarset', -type='string',
  51              -optional='initialvalue', -type='string',
  52              -optional='basepath', -type='string',
  53              -optional='config', -type='array'
  54          );
  55              self->instancename = #instancename;
  56              local_defined('width') ? self->width = #width;
  57              local_defined('height') ? self->height = #height;
  58              local_defined('toolbarset') ? self->toolbarset = #toolbarset;
  59              local_defined('initialvalue') ? self->initialvalue = #initialvalue;
  60              local_defined('basepath') ? self->basepath = #basepath;
  61              local_defined('config') ? self->config = #config;
  62          /define_tag;
  63  
  64          define_tag('create');
  65              if(self->isCompatibleBrowser);
  66                  local('out' = '
  67                          <input type="hidden" id="' + self->instancename + '" name="' + self->instancename + '" value="' + encode_html(self->initialvalue) + '" style="display:none" />
  68                          ' + self->parseConfig + '
  69                          <iframe id="' + self->instancename + '___Frame" src="' + self->basepath + 'editor/fckeditor.html?InstanceName=' + self->instancename + '&Toolbar=' + self->toolbarset + '" width="' + self->width + '" height="' + self->height + '" frameborder="0" scrolling="no"></iframe>
  70                  ');
  71              else;
  72                  local('out' = '
  73                          <textarea name="' + self->instancename + '" rows="4" cols="40" style="width: ' + self->width + '; height: ' + self->height + '">' + encode_html(self->initialvalue) + '</textarea>
  74                  ');
  75              /if;
  76              return(@#out);
  77          /define_tag;
  78  
  79          define_tag('isCompatibleBrowser');
  80              local('result' = false);
  81              if (client_browser->Find("MSIE") && !client_browser->Find("mac") && !client_browser->Find("Opera"));
  82                  #result = client_browser->Substring(client_browser->Find("MSIE")+5,3)>=5.5;

  83              /if;
  84              if (client_browser->Find("Gecko/"));
  85                  #result = client_browser->Substring(client_browser->Find("Gecko/")+6,8)>=20030210;

  86              /if;
  87              if (client_browser->Find("Opera/"));
  88                  #result = client_browser->Substring(client_browser->Find("Opera/")+6,4)>=9.5;

  89              /if;
  90              if (client_browser->Find("AppleWebKit/"));
  91                  #result = client_browser->Substring(client_browser->Find("AppleWebKit/")+12,3)>=522;

  92              /if;
  93              return(#result);
  94          /define_tag;
  95  
  96          define_tag('parseConfig');
  97              if(self->config->size);
  98                  local('out' = '<input type="hidden" id="' + self->instancename + '___Config" value="');
  99                  iterate(self->config, local('this'));
 100                      loop_count > 1 ? #out += '&amp;';
 101                      #out += encode_html(#this->first) + '=' + encode_html(#this->second);

 102                  /iterate;
 103                  #out += '" style="display:none" />\n';

 104                  return(@#out);
 105              /if;
 106          /define_tag;
 107      /define_type;
 108  ]


Generated: Fri Jan 1 13:43:16 2010 Cross-referenced by PHPXref 0.7