* modified htmleditor class so that differences in formatting for this element are defined by css but use the same html
* added type name of element classes to css wrapper class names
print_heading($streditcoursesettings);
$mform->display();
-
+
print_footer($course);
?>
}else {
$mform->addElement('hidden', 'restrictmodules', $default->restrictmodules);
}
- $mform->add_help_buttons(array('category'=>array("coursecategory", get_string("category")),
+ $mform->addHelpButtons(array('category'=>array("coursecategory", get_string("category")),
'fullname'=>array("coursefullname", get_string("fullname")),
'shortname'=>array("courseshortname", get_string("shortname")),
'idnumber'=>array("courseidnumber", get_string("idnumbercourse")),
$string['denotesreq']='$a denotes required field.';
$string['requiredelement']='Required field.';
$string['nonexistentformelements']='Trying to add help buttons to nonexistent form elements : $a';
+$string['nomethodforaddinghelpbutton']='There is no method for adding a help button to form element $a->name (class $a->classname)';
?>
\ No newline at end of file
* @access public
*/
class moodleform_htmleditor extends moodleform_textarea{
- var $_type = 'htmleditor';
+ var $_type;
var $_elementTemplateType='default';
var $_canUseHtmlEditor;
var $_options=array('course'=>0);
function moodleform_htmleditor($elementName=null, $elementLabel=null, $attributes=null){
+ parent::moodleform_textarea($elementName, $elementLabel, $attributes);
$this->_canUseHtmlEditor=can_use_html_editor();
if ($this->_canUseHtmlEditor){
- $this->_elementTemplateType='wide';
+ $this->_type='htmleditor';
+ //$this->_elementTemplateType='wide';
}else{
- $this->_elementTemplateType='default';
+ $this->_type='textarea';
}
- parent::moodleform_textarea($elementName, $elementLabel, $attributes);
}
function getElementTemplateType(){
return $this->_elementTemplateType;
}
function toHtml(){
- ob_start();
- use_html_editor($this->getName());
- $script=ob_get_clean();
+ if ($this->_canUseHtmlEditor){
+ ob_start();
+ use_html_editor($this->getName());
+ $script=ob_get_clean();
+ } else {
+ $script='';
+ }
if ($this->_flagFrozen) {
return $this->getFrozenHtml();
} else {
if (!empty($oldclass)){
$this->updateAttributes(array('class'=>$oldclass.' mform'));
}else {
- $this->updateAttributes(array('class'=>'mform'));
+ $this->updateAttributes(array('class'=>'mform'));
}
$this->_helpImageURL="$CFG->wwwroot/lib/form/req.gif";
$this->_reqHTML =
*
* @access public
*/
- function add_help_buttons($buttons, $suppresscheck=false){
+ function addHelpButtons($buttons, $suppresscheck=false){
foreach ($this->_elements as $no => $element){
if (array_key_exists($element->getName(), $buttons)){
- //dynamically create a property so we don't have to modify element
- //class :
- $this->_elements[$no]->setHelpButton($buttons[$element->getName()]);
+ if (method_exists($element, 'setHelpButton')){
+ $this->_elements[$no]->setHelpButton($buttons[$element->getName()]);
+ }else{
+ $a=new object();
+ $a->name=$element->getName();
+ $a->classname=get_class($element);
+ print_error('nomethodforaddinghelpbutton', 'form', '', $a);
+ }
unset($buttons[$element->getName()]);
}
var $_elementTemplates;
var $_htmleditors=array();
function moodleform_renderer(){
- $this->_elementTemplates=array('default'=>"\n\t\t<div class=\"qfrow\"><label class=\"qflabel\">{label}{help}<!-- BEGIN required -->{req}<!-- END required --></label><div class=\"qfelement<!-- BEGIN error --> error<!-- END error -->\"><!-- BEGIN error --><span class=\"error\">{error}</span><br /><!-- END error -->{element}</div></div>",
- 'wide'=>"\n\t\t<div class=\"qfrow\"><label class=\"qflabel\">{label}{help}<!-- BEGIN required -->{req}<!-- END required --></label><br /><div class=\"qfelementwide<!-- BEGIN error --> error<!-- END error -->\"><!-- BEGIN error --><span class=\"error\">{error}</span><br /><!-- END error -->{element}</span></div>");
+ $this->_elementTemplates=array('default'=>"\n\t\t<div class=\"qfrow\"><label class=\"qflabel\">{label}{help}<!-- BEGIN required -->{req}<!-- END required --></label><div class=\"qfelement<!-- BEGIN error --> error<!-- END error --> {type}\"><!-- BEGIN error --><span class=\"error\">{error}</span><br /><!-- END error -->{element}</div></div>",
+ 'wide'=>"\n\t\t<div class=\"qfrow\"><label class=\"qflabel\">{label}{help}<!-- BEGIN required -->{req}<!-- END required --></label><br /><div class=\"qfelementwide<!-- BEGIN error --> error<!-- END error --> {type}\"><!-- BEGIN error --><span class=\"error\">{error}</span><br /><!-- END error -->{element}</span></div>");
parent::HTML_QuickForm_Renderer_Tableless();
}
$html =str_replace('{help}', '', $html);
}
+ $html =str_replace('{type}', 'group', $html);
+
$this->_templates[$group->getName()]=$html;
// Fix for bug in tableless quickforms that didn't allow you to stop a
// fieldset before a group of elements.
$html = $this->_elementTemplates['default'];
}
+ $html =str_replace('{type}', $element->getType(), $html);
if (method_exists($element, 'getHelpButton')){
$html=str_replace('{help}', $element->getHelpButton(), $html);
}else{
form.mform br {
clear: left;
}
+
form.mform div.qfelement {
display: inline;
float: left;
padding: 0;
}
-form.mform div.qfelementwide {
- margin: 0 10% 10px 10%;
+form.mform div.htmleditor {
+ margin: 0 auto 10px auto;
+ width : 600px;
+ clear:both;
+ float:none;
}
+
form.mform span.error, form.mform span.required {
color: red;
}
border: 1px solid red;
padding: 5px;
color: inherit;
+}
+form.mform div.qfrow {
+ clear:both;
}
\ No newline at end of file