XCL Web Application Platform 2.5.0
The XoopsCube Legacy Project
Loading...
Searching...
No Matches
formdhtmltextarea.php
1<?php
14
15if (!defined('XOOPS_ROOT_PATH')) {
16 exit();
17}
18
22include_once XOOPS_ROOT_PATH . '/class/xoopsform/formtextarea.php';
23
24// Make sure you have included /include/xoopscodes.php, otherwise DHTML will not work properly!
25
26class XoopsFormDhtmlTextArea extends XoopsFormTextArea
27{
33 public $_xoopsHiddenText;
34
40 private $_editor;
41
48 private static $_editorCheck = [];
49
60 public function __construct($caption, $name, $value, $rows=5, $cols=50, $hiddentext= 'xoopsHiddenText')
61 {
62 parent::__construct($caption, $name, $value, $rows, $cols);
63 $this->_xoopsHiddenText = $hiddentext;
64 }
65
71 public function render()
72 {
73 $root =& XCube_Root::getSingleton();
74
75 $editor = $this->getEditor();
76 $id = $this->getId();
77 if ($editor && !isset(self::$_editorCheck[$id])) {
78 self::$_editorCheck[$id] = true;
79 $params['name'] = trim($this->getName(false));
80 $params['class'] = trim($this->getClass());
81 $params['cols'] = $this->getCols();
82 $params['rows'] = $this->getRows();
83 $params['value'] = $this->getValue();
84 $params['id'] = $id;
85 $params['editor'] = $editor;
86
87 $html = '';
88 switch ($params['editor']) {
89 case 'html':
90 XCube_DelegateUtils::call('Site.TextareaEditor.HTML.Show', new XCube_Ref($html), $params);
91 break;
92 case 'none':
93 XCube_DelegateUtils::call('Site.TextareaEditor.None.Show', new XCube_Ref($html), $params);
94 break;
95 case 'bbcode':
96 default:
97 XCube_DelegateUtils::call('Site.TextareaEditor.BBCode.Show', new XCube_Ref($html), $params);
98 break;
99 }
100
101 return $html;
102 }
103
104 $renderSystem =& $root->getRenderSystem(XOOPSFORM_DEPENDENCE_RENDER_SYSTEM);
105
106 $renderTarget =& $renderSystem->createRenderTarget('main');
107
108 $renderTarget->setAttribute('legacy_module', 'legacy');
109 $renderTarget->setTemplateName('legacy_xoopsform_dhtmltextarea.html');
110 $renderTarget->setAttribute('element', $this);
111 $renderTarget->setAttribute('class', $this->getClass());
112
113 $renderSystem->render($renderTarget);
114
115 $ret = $renderTarget->getResult();
116 $ret .= $this->_renderSmileys();
117
118 return $ret;
119 }
120
126 public function _renderSmileys()
127 {
128 $handler =& xoops_getmodulehandler('smiles', 'legacy');
129 $smilesArr =& $handler->getObjects(new Criteria('display', 1));
130
131 $root =& XCube_Root::getSingleton();
132 $renderSystem =& $root->getRenderSystem(XOOPSFORM_DEPENDENCE_RENDER_SYSTEM);
133 $renderTarget =& $renderSystem->createRenderTarget('main');
134
135 $renderTarget->setAttribute('legacy_module', 'legacy');
136 $renderTarget->setTemplateName('legacy_xoopsform_opt_smileys.html');
137 $renderTarget->setAttribute('element', $this);
138 $renderTarget->setAttribute('smilesArr', $smilesArr);
139
140 $renderSystem->render($renderTarget);
141
142 return $renderTarget->getResult();
143 }
144
150 public function setEditor($editor)
151 {
152 $this->_editor = strtolower($editor);
153 }
154
160 public function getEditor()
161 {
162 return $this->_editor;
163 }
164}
__construct($caption, $name, $value, $rows=5, $cols=50, $hiddentext='xoopsHiddenText')
getName($encode=true)