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
-~----------~----~----~----~------~----~------~--~---