summaryrefslogtreecommitdiff
path: root/smarty_bit/block.textarea.php
diff options
context:
space:
mode:
authorNick Palmer <nick@sluggardy.net>2007-04-20 03:22:37 +0000
committerNick Palmer <nick@sluggardy.net>2007-04-20 03:22:37 +0000
commita770f478801b0ffeceaed6118d4674d908fb20b4 (patch)
tree1e9e37a8596327416f18b95f9e2b6918221a0f25 /smarty_bit/block.textarea.php
parente63c2b82dfd7b716eef7d924d950efae78173c03 (diff)
downloadkernel-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.php36
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;
}
?>