diff --git a/lib/editorlib.php b/lib/editorlib.php new file mode 100644 index 00000000000..c0462b40159 --- /dev/null +++ b/lib/editorlib.php @@ -0,0 +1,128 @@ +cfg = &$CFG; + $this->user = &$USER; + $this->courseid = NULL; + } + + /** + * PHP5 style class constructor. + * + */ + function __construct() { + $this->editorObject(); + } + + /** + * Method to load necessary editor codes to + * $CFG->editorsrc array. + * + * @todo example code. + * @param mixed $args Course id or associative array holding course id and editor name. + */ + function loadeditor($args) { + + global $CFG, $USER; + + if ( is_array($args) ) { + // If args is an array search keys courseid and name. + // Name represents editor name to load. + if ( !array_key_exists('courseid', $args) ) { + error("Required variable courseid is missing!"); + } + + if ( !array_key_exists('name', $args) ) { + error("Required variable name is missing!"); + } + + $courseid = clean_param($args['courseid'], PARAM_INT); + $editorname = strtolower(clean_param($args['name'], PARAM_ALPHA)); + } else { + // If only single argument is passed + // this must be course id. + $courseid = clean_param($args, PARAM_INT); + } + + $htmleditor = !empty($editorname) ? $editorname : intval($USER->htmleditor); + + if ( can_use_html_editor() ) { + $CFG->editorsrc = array(); + $editorbaseurl = $CFG->httpswwwroot .'/lib/editor'; + $editorbasedir = $CFG->dirroot .'/lib/editor'; + + switch ($htmleditor) { + case 1: + case 'htmlarea': + array_push($CFG->editorsrc, "$editorbaseurl/htmlarea/htmlarea.php?id={$courseid}"); + array_push($CFG->editorsrc, "$editorbaseurl/htmlarea/lang/en.php"); + $classfile = "$editorbasedir/htmlarea/htmlarea.class.php"; + include_once($classfile); + return (new htmlarea($courseid)); + break; + case 2: + case 'tinymce': + array_push($CFG->editorsrc, "$editorbaseurl/tinymce/jscripts/tiny_mce/tiny_mce_src.js"); + array_push($CFG->editorsrc, "$editorbaseurl/tinymce/moodledialog.js"); + $classfile = "$editorbasedir/tinymce/tinymce.class.php"; + include_once($classfile); + return (new tinymce($courseid)); + break; + } + + } + + } + + /** + * Print out error message and stop outputting. + * + * @param string $message + */ + function error($messsage) { + echo '
'; + echo 'editorObject error: '; + echo stripslashes(htmlentities($message)); + echo '
'; + exit; + } + +} +?> \ No newline at end of file