This is gonna be a pretty long, but here's my custom
sfWidgetFormTextareaTinyMCE.class.php
It works with TinyMCE 3 and up, and also produces fully XHTML
compatible output.
It also allows for gzip compression; Sample usage:

    $this->widgetSchema['content']      = new
sfWidgetFormTextareaTinyMCE(array('tinymce_gzip' => true),array
('size'=>'102x30'));





class sfWidgetFormTextareaTinyMCE extends sfWidgetFormTextarea
{

  public function __construct($options = array(), $attributes = array
())
  {
  /**
  * We need to override the constructor in order to be able to remove
keys from the $attributes array;
  * if we don't remove the pseudo key 'size', it results in invalid
xhtml markup
  */
    if (array_key_exists('size', $attributes))
    {
      //This code handles textarea size input in 140x30 format
      list ($cols, $rows) = explode ('x', $attributes['size']);
      unset ($attributes['size']);
      $attributes['cols'] = $cols;
      $attributes['rows'] = $rows;
      $this->setAttributes($attributes);
    }

    parent::__construct($options, $attributes);
  }

  /**
   * Constructor.
   *
   * Available options:
   *
   *  ** Options **
   *  * theme:  The Tiny MCE theme
   *  * width:  Width
   *  * height: Height
   *  * config: The javascript configuration
   *  * tinymce_gzip: Wether to use gzip compression for TinyMCE
   *  * file_browser_callback:  a JS callback function for embending a
file browser into TinyMCE
   *  * content_css:  A css file that will be applied to the editor
window; Should be the same css as the one used in the real output
   *
   *  ** Attributes **
   *  * cols/rows or size: sets the size of the TinyMCE window; size
is used in the format: COLSxROWS (100x30)
   *
   * @param array $options     An array of options
   * @param array $attributes  An array of default HTML attributes
   *
   * @see sfWidgetForm
   */
  protected function configure($options = array(), $attributes = array
())
  {
    $this->addOption('theme', 'advanced');
    $this->addOption('width');
    $this->addOption('height');
    $this->addOption('config', '');
    $this->addOption('tinymce_gzip');
    $this->addOption('file_browser_callback',
'sfAssetsLibrary.fileBrowserCallBack');
    $this->addOption('content_css', '/js/tiny_mce/css/
default.css');

    if (!$this->getAttribute('cols') || !$this->getAttribute('rows'))
    {
      $this->setAttribute('cols', 140);
      $this->setAttribute('rows', 30 );
    }
  }

  /**
   * @param  string $name        The element name
   * @param  string $value       The value selected in this widget
   * @param  array  $attributes  An array of HTML attributes to be
merged with the default HTML attributes
   * @param  array  $errors      An array of errors for the field
   *
   * @return string An HTML tag string
   *
   * @see sfWidgetForm
   */
  public function render($name, $value = null, $attributes = array(),
$errors = array())
  {
    // use tinymce's gzipped js?
    $tinymce_file = $this->getOption('tinymce_gzip') ? '/
tiny_mce_gzip.js' : '/tiny_mce.js';

    // tinymce installed?
    $js_path = sfConfig::get('sf_rich_text_js_dir') ? '/'.sfConfig::get
('sf_rich_text_js_dir').$tinymce_file : '/sf/tinymce/js'.
$tinymce_file;
    if (!is_readable(sfConfig::get('sf_web_dir').$js_path))
    {
      throw new sfConfigurationException('You must install TinyMCE to
use this widget (see rich_text_js_dir in settings.yml).');
    }

    sfContext::getInstance()->getResponse()->addJavascript
($js_path);

    $gz_init = '
  tinyMCE_GZ.init({
    plugins :
"safari,spellchecker,pagebreak,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,imagemanager,filemanager",
    themes: "simple,advanced",
    languages: "en,bg",
    disc_cache: true,
    debug: false
  });';


    $js = sprintf(<<<EOF
<script type="text/javascript">
//<![CDATA[

  // Start section reserved for GZIP init
  %s
  // End section reserved for GZIP init

  tinyMCE.init({
    mode:                               "exact",
    elements:                           "%s",
    theme:                              "%s",
    language:                           "%s",
    file_browser_callback:              "%s",
    content_css:                        "%s",
    %s                                  //width
    %s                                  //height
    plugins :
"safari,spellchecker,pagebreak,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,imagemanager,filemanager",

    // Theme options
    theme_advanced_buttons1 :
"bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,formatselect,fontselect,fontsizeselect,styleselect",
    theme_advanced_buttons2 :
"cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
    theme_advanced_buttons3 :
"tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",
    theme_advanced_toolbar_location : "top",
    theme_advanced_toolbar_align : "left",
    theme_advanced_statusbar_location : "bottom",
    theme_advanced_resizing : true,
    theme_advanced_toolbar_location : "external",

    verify_html : true,
    valid_elements : ""
    +"a[accesskey|charset|class|coords|dir<ltr?rtl|href|hreflang|id|
lang|name"
      +"|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|
onkeyup"
      +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|rel|
rev"
      +"|shape<circle?default?poly?rect|style|tabindex|title|target|
type],"
    +"abbr[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|
onkeypress"
      +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|
onmouseup|style"
      +"|title],"
    +"acronym[class|dir<ltr?rtl|id|id|lang|onclick|ondblclick|
onkeydown|onkeypress"
      +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|
onmouseup|style"
      +"|title],"
    +"address[class|align|dir<ltr?rtl|id|lang|onclick|ondblclick|
onkeydown"
      +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|
onmouseover"
      +"|onmouseup|style|title],"
    +"applet[align<bottom?left?middle?right?top|alt|archive|class|code|
codebase"
      +"|height|hspace|id|name|object|style|title|vspace|width],"
    +"area[accesskey|alt|class|coords|dir<ltr?rtl|href|id|lang|
nohref<nohref"
      +"|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|
onkeyup"
      +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup"
      +"|shape<circle?default?poly?rect|style|tabindex|title|target],"
    +"base[href|target],"
    +"basefont[color|face|id|size],"
    +"bdo[class|dir<ltr?rtl|id|lang|style|title],"
    +"big[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|
onkeypress"
      +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|
onmouseup|style"
      +"|title],"
    +"blockquote[dir|style|cite|class|dir<ltr?rtl|id|lang|onclick|
ondblclick"
      +"|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|
onmouseout"
      +"|onmouseover|onmouseup|style|title],"
    +"body[alink|background|bgcolor|class|dir<ltr?rtl|id|lang|link|
onclick"
      +"|ondblclick|onkeydown|onkeypress|onkeyup|onload|onmousedown|
onmousemove"
      +"|onmouseout|onmouseover|onmouseup|onunload|style|title|text|
vlink],"
    +"br[class|clear<all?left?none?right|id|style|title],"
    +"button[accesskey|class|dir<ltr?rtl|disabled<disabled|id|lang|
name|onblur"
      +"|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup|
onmousedown"
      +"|onmousemove|onmouseout|onmouseover|onmouseup|style|tabindex|
title|type"
      +"|value],"
    +"caption[align<bottom?left?right?top|class|dir<ltr?rtl|id|lang|
onclick"
      +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|
onmousemove"
      +"|onmouseout|onmouseover|onmouseup|style|title],"
    +"center[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|
onkeypress"
      +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|
onmouseup|style"
      +"|title],"
    +"cite[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|
onkeypress"
      +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|
onmouseup|style"
      +"|title],"
    +"code[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|
onkeypress"
      +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|
onmouseup|style"
      +"|title],"
    +"col[align<center?char?justify?left?right|char|charoff|class|
dir<ltr?rtl|id"
      +"|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|
onmousedown"
      +"|onmousemove|onmouseout|onmouseover|onmouseup|span|style|
title"
      +"|valign<baseline?bottom?middle?top|width],"
    +"colgroup[align<center?char?justify?left?right|char|charoff|class|
dir<ltr?rtl"
      +"|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|
onmousedown"
      +"|onmousemove|onmouseout|onmouseover|onmouseup|span|style|
title"
      +"|valign<baseline?bottom?middle?top|width],"
    +"dd[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|
onkeypress|onkeyup"
      +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|
style|title],"
    +"del[cite|class|datetime|dir<ltr?rtl|id|lang|onclick|ondblclick|
onkeydown"
      +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|
onmouseover"
      +"|onmouseup|style|title],"
    +"dfn[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|
onkeypress"
      +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|
onmouseup|style"
      +"|title],"
    +"dir[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|
onkeydown"
      +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|
onmouseover"
      +"|onmouseup|style|title],"
    +"div[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|
onclick"
      +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|
onmousemove"
      +"|onmouseout|onmouseover|onmouseup|style|title],"
    +"dl[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|
onkeydown"
      +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|
onmouseover"
      +"|onmouseup|style|title],"
    +"dt[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|
onkeypress|onkeyup"
      +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|
style|title],"
    +"em/i[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|
onkeypress"
      +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|
onmouseup|style"
      +"|title],"
    +"fieldset[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|
onkeypress"
      +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|
onmouseup|style"
      +"|title],"
    +"font[class|color|dir<ltr?rtl|face|id|lang|size|style|title],"
    +"form[accept|accept-charset|action|class|dir<ltr?rtl|enctype|id|
lang"
      +"|method<get?post|name|onclick|ondblclick|onkeydown|onkeypress|
onkeyup"
      +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|
onreset|onsubmit"
      +"|style|title|target],"
    +"frame[class|frameborder|id|longdesc|marginheight|marginwidth|
name"
      +"|noresize<noresize|scrolling<auto?no?yes|src|style|title],"
    +"frameset[class|cols|id|onload|onunload|rows|style|title],"
    +"h1[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|
onclick"
      +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|
onmousemove"
      +"|onmouseout|onmouseover|onmouseup|style|title],"
    +"h2[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|
onclick"
      +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|
onmousemove"
      +"|onmouseout|onmouseover|onmouseup|style|title],"
    +"h3[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|
onclick"
      +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|
onmousemove"
      +"|onmouseout|onmouseover|onmouseup|style|title],"
    +"h4[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|
onclick"
      +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|
onmousemove"
      +"|onmouseout|onmouseover|onmouseup|style|title],"
    +"h5[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|
onclick"
      +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|
onmousemove"
      +"|onmouseout|onmouseover|onmouseup|style|title],"
    +"h6[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|
onclick"
      +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|
onmousemove"
      +"|onmouseout|onmouseover|onmouseup|style|title],"
    +"head[dir<ltr?rtl|lang|profile],"
    +"hr[align<center?left?right|class|dir<ltr?rtl|id|lang|
noshade<noshade|onclick"
      +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|
onmousemove"
      +"|onmouseout|onmouseover|onmouseup|size|style|title|width],"
    +"html[dir<ltr?rtl|lang|version],"
    +"iframe[align<bottom?left?middle?right?top|class|frameborder|
height|id"
      +"|longdesc|marginheight|marginwidth|name|scrolling<auto?no?yes|
src|style"
      +"|title|width],"
    +"img[align<bottom?left?middle?right?top|alt|border|class|dir<ltr?
rtl|height"
      +"|hspace|id|ismap<ismap|lang|longdesc|name|onclick|ondblclick|
onkeydown"
      +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|
onmouseover"
      +"|onmouseup|src|style|title|usemap|vspace|width],"
    +"input[accept|accesskey|align<bottom?left?middle?right?top|alt"
      +"|checked<checked|class|dir<ltr?rtl|disabled<disabled|id|
ismap<ismap|lang"
      +"|maxlength|name|onblur|onclick|ondblclick|onfocus|onkeydown|
onkeypress"
      +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|
onmouseup|onselect"
      +"|readonly<readonly|size|src|style|tabindex|title"
      +"|type<button?checkbox?file?hidden?image?password?radio?reset?
submit?text"
      +"|usemap|value],"
    +"ins[cite|class|datetime|dir<ltr?rtl|id|lang|onclick|ondblclick|
onkeydown"
      +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|
onmouseover"
      +"|onmouseup|style|title],"
    +"isindex[class|dir<ltr?rtl|id|lang|prompt|style|title],"
    +"kbd[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|
onkeypress"
      +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|
onmouseup|style"
      +"|title],"
    +"label[accesskey|class|dir<ltr?rtl|for|id|lang|onblur|onclick|
ondblclick"
      +"|onfocus|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|
onmouseout"
      +"|onmouseover|onmouseup|style|title],"
    +"legend[align<bottom?left?right?top|accesskey|class|dir<ltr?rtl|
id|lang"
      +"|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|
onmousemove"
      +"|onmouseout|onmouseover|onmouseup|style|title],"
    +"li[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|
onkeypress|onkeyup"
      +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|
style|title|type"
      +"|value],"
    +"link[charset|class|dir<ltr?rtl|href|hreflang|id|lang|media|
onclick"
      +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|
onmousemove"
      +"|onmouseout|onmouseover|onmouseup|rel|rev|style|title|target|
type],"
    +"map[class|dir<ltr?rtl|id|lang|name|onclick|ondblclick|onkeydown|
onkeypress"
      +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|
onmouseup|style"
      +"|title],"
    +"menu[class|compact<compact|dir<ltr?rtl|id|lang|onclick|
ondblclick|onkeydown"
      +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|
onmouseover"
      +"|onmouseup|style|title],"
    +"meta[content|dir<ltr?rtl|http-equiv|lang|name|scheme],"
    +"noframes[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|
onkeypress"
      +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|
onmouseup|style"
      +"|title],"
    +"noscript[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|
onkeypress"
      +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|
onmouseup|style"
      +"|title],"
    +"object[align<bottom?left?middle?right?top|archive|border|class|
classid"
      +"|codebase|codetype|data|declare|dir<ltr?rtl|height|hspace|id|
lang|name"
      +"|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|
onmousemove"
      +"|onmouseout|onmouseover|onmouseup|standby|style|tabindex|title|
type|usemap"
      +"|vspace|width],"
    +"ol[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|
onkeydown"
      +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|
onmouseover"
      +"|onmouseup|start|style|title|type],"
    +"optgroup[class|dir<ltr?rtl|disabled<disabled|id|label|lang|
onclick"
      +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|
onmousemove"
      +"|onmouseout|onmouseover|onmouseup|style|title],"
    +"option[class|dir<ltr?rtl|disabled<disabled|id|label|lang|onclick|
ondblclick"
      +"|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|
onmouseout"
      +"|onmouseover|onmouseup|selected<selected|style|title|value],"
    +"p[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|
onclick"
      +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|
onmousemove"
      +"|onmouseout|onmouseover|onmouseup|style|title],"
    +"param[id|name|type|value|valuetype<DATA?OBJECT?REF],"
    +"pre/listing/plaintext/xmp[align|class|dir<ltr?rtl|id|lang|
onclick|ondblclick"
      +"|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|
onmouseout"
      +"|onmouseover|onmouseup|style|title|width],"
    +"q[cite|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|
onkeypress"
      +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|
onmouseup|style"
      +"|title],"
    +"s[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|
onkeypress|onkeyup"
      +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|
style|title],"
    +"samp[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|
onkeypress"
      +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|
onmouseup|style"
      +"|title],"
    +"script[charset|defer|language|src|type],"
    +"select[class|dir<ltr?rtl|disabled<disabled|id|lang|
multiple<multiple|name"
      +"|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|
onkeyup"
      +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|size|
style"
      +"|tabindex|title],"
    +"small[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|
onkeypress"
      +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|
onmouseup|style"
      +"|title],"
    +"span[align|class|class|dir<ltr?rtl|id|lang|onclick|ondblclick|
onkeydown"
      +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|
onmouseover"
      +"|onmouseup|style|title],"
    +"strike[class|class|dir<ltr?rtl|id|lang|onclick|ondblclick|
onkeydown"
      +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|
onmouseover"
      +"|onmouseup|style|title],"
    +"strong/b[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|
onkeypress"
      +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|
onmouseup|style"
      +"|title],"
    +"style[dir<ltr?rtl|lang|media|title|type],"
    +"sub[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|
onkeypress"
      +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|
onmouseup|style"
      +"|title],"
    +"sup[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|
onkeypress"
      +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|
onmouseup|style"
      +"|title],"
    +"table[align<center?left?right|bgcolor|border|cellpadding|
cellspacing|class"
      +"|dir<ltr?rtl|frame|height|id|lang|onclick|ondblclick|onkeydown|
onkeypress"
      +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|
onmouseup|rules"
      +"|style|summary|title|width],"
    +"tbody[align<center?char?justify?left?right|char|class|charoff|
dir<ltr?rtl|id"
      +"|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|
onmousedown"
      +"|onmousemove|onmouseout|onmouseover|onmouseup|style|title"
      +"|valign<baseline?bottom?middle?top],"
    +"td[abbr|align<center?char?justify?left?right|axis|bgcolor|char|
charoff|class"
      +"|colspan|dir<ltr?rtl|headers|height|id|lang|nowrap<nowrap|
onclick"
      +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|
onmousemove"
      +"|onmouseout|onmouseover|onmouseup|rowspan|scope<col?colgroup?
row?rowgroup"
      +"|style|title|valign<baseline?bottom?middle?top|width],"
    +"textarea[accesskey|class|cols|dir<ltr?rtl|disabled<disabled|id|
lang|name"
      +"|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|
onkeyup"
      +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|
onselect"
      +"|readonly<readonly|rows|style|tabindex|title],"
    +"tfoot[align<center?char?justify?left?right|char|charoff|class|
dir<ltr?rtl|id"
      +"|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|
onmousedown"
      +"|onmousemove|onmouseout|onmouseover|onmouseup|style|title"
      +"|valign<baseline?bottom?middle?top],"
    +"th[abbr|align<center?char?justify?left?right|axis|bgcolor|char|
charoff|class"
      +"|colspan|dir<ltr?rtl|headers|height|id|lang|nowrap<nowrap|
onclick"
      +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|
onmousemove"
      +"|onmouseout|onmouseover|onmouseup|rowspan|scope<col?colgroup?
row?rowgroup"
      +"|style|title|valign<baseline?bottom?middle?top|width],"
    +"thead[align<center?char?justify?left?right|char|charoff|class|
dir<ltr?rtl|id"
      +"|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|
onmousedown"
      +"|onmousemove|onmouseout|onmouseover|onmouseup|style|title"
      +"|valign<baseline?bottom?middle?top],"
    +"title[dir<ltr?rtl|lang],"
    +"tr[abbr|align<center?char?justify?left?right|bgcolor|char|
charoff|class"
      +"|rowspan|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|
onkeypress"
      +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|
onmouseup|style"
      +"|title|valign<baseline?bottom?middle?top],"
    +"tt[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|
onkeypress|onkeyup"
      +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|
style|title],"
    +"u[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|
onkeypress|onkeyup"
      +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|
style|title],"
    +"ul[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|
onkeydown"
      +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|
onmouseover"
      +"|onmouseup|style|title|type],"
    +"var[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|
onkeypress"
      +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|
onmouseup|style"
      +"|title]"

    %s  //Extra configuration
  });
//]]>
</script>
EOF
    ,
      $this->getOption('tinymce_gzip') ? $gz_init : null,  // include
the gzip initialization
      $this->generateId($name),                            // set the
element to convert to TinyMCE area
      $this->getOption('theme'),                           // set the
theme
      $culture = strtolower(substr(sfContext::getInstance()->getUser()-
>getCulture(),0,2)), //set the user culture
      $this->getOption('file_browser_callback'),           // set the
file browser callback function
      $this->getOption('content_css'),                     // set the
content css file
      $this->getOption('width')  ? sprintf
('width:                             "%spx",', $this->getOption
('width')) : '',
      $this->getOption('height') ? sprintf
('height:                            "%spx",', $this->getOption
('height')) : '',
      $this->getOption('config') ? ",\n".$this->getOption('config') :
''
    );

    $textarea = parent::render ($name, $value, $attributes, $errors);

    return $textarea.$js;
  }
}

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"symfony users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/symfony-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to