diff options
| author | Nick Palmer <nick@sluggardy.net> | 2007-04-20 03:22:37 +0000 |
|---|---|---|
| committer | Nick Palmer <nick@sluggardy.net> | 2007-04-20 03:22:37 +0000 |
| commit | a770f478801b0ffeceaed6118d4674d908fb20b4 (patch) | |
| tree | 1e9e37a8596327416f18b95f9e2b6918221a0f25 /smarty_bit/block.textarea.php | |
| parent | e63c2b82dfd7b716eef7d924d950efae78173c03 (diff) | |
| download | kernel-a770f478801b0ffeceaed6118d4674d908fb20b4.tar.gz kernel-a770f478801b0ffeceaed6118d4674d908fb20b4.tar.bz2 kernel-a770f478801b0ffeceaed6118d4674d908fb20b4.zip | |
More work on block.textarea
Diffstat (limited to 'smarty_bit/block.textarea.php')
| -rw-r--r-- | smarty_bit/block.textarea.php | 36 |
1 files changed, 26 insertions, 10 deletions
diff --git a/smarty_bit/block.textarea.php b/smarty_bit/block.textarea.php index fedfdc9..c3b4b11 100644 --- a/smarty_bit/block.textarea.php +++ b/smarty_bit/block.textarea.php @@ -7,39 +7,55 @@ */ function smarty_block_textarea( $pParams, $pContent, &$gBitSmarty ) { - global $gBitSystem; + global $gBitSystem, $gContent; $attributes = ''; $style = ''; - $rows = $gBitSystem->getConfig('liberty_textarea_height', 20); - $cols = $gBitSystem->getConfig('liberty_textarea_width', 35); + if (empty($pParams['rows'])) { + $pParams['rows'] = (empty($_COOKIE['rows']) ? $gBitSystem->getConfig('liberty_textarea_height', 20) : $_COOKIE['rows']); + } + if (empty($pParams['cols'])) { + $pParams['cols'] = (empty($_COOKIE['cols']) ? $gBitSystem->getConfig('liberty_textarea_width', 35) : $_COOKIE['rows']); + } foreach ($pParams as $_key=>$_value) { switch ($_key) { case 'name': case 'id': - $gBitSmarty->assign("textarea_".$_key, $_value); - break; + case 'help': + case 'noformat': + case 'label': case 'cols': case 'rows': - $$_key = $_value; + $gBitSmarty->assign("textarea_".$_key, $_value); break; case 'style': $style .= $_key; break; + case 'gContent': + // Trick out gContent + $oldContent = $gContent; + $gContent = $_value; + $gBitSmarty->assign('gContent', $_value); + break; default: $attributes .= $_key.'="'.$_value.'"'; break; } } - $style .= (empty($style) ? '' : ';').'height:'.( !empty( $_COOKIE['rows'] ) ? $_COOKIE['rows'] : $rows ).'em;'.'width:'.(!empty($_COOKIE['cols']) ? $_COOKIE['cols'] : $cols).'em;'; + $style .= (empty($style) ? '' : ';').'height:'.$pParams['rows'].'em;'.'width:'.$pParams['cols'].'em;'; $gBitSmarty->assign('textarea_attributes', $attributes); $gBitSmarty->assign('textarea_data', $pContent); if (!empty($style)) { $gBitSmarty->assign('textarea_style', 'style="'.$style.'"'); } - $gBitSmarty->assign('textarea_cols', $cols); - $gBitSmarty->assign('textarea_rows', $rows); + $ret = $gBitSmarty->fetch("bitpackage:liberty/edit_textarea.tpl"); + + // Restore gContent + if (isset($oldContent)) { + $gContent = $oldContent; + $gBitSmarty->assign('gContent', $oldContent); + } - return $gBitSmarty->fetch("bitpackage:liberty/edit_textarea.tpl"); + return $ret; } ?> |
