ÿØÿà JFIF    ÿÛ „  ( %!1"%)+...383-7(-.+  -%%--------+------------/----------------------------ÿÀ  ¶" ÿÄ     ÿÄ @    !1AQaq‘¡"±ÁÑð2’BRráS‚ñ3b¢CT²Ò #cÿÄ    ÿÄ '   1!AQ2a"‘±#ÿÚ   ? ò(/p‘—–¢·,M|¯G»R£üešT. ôŸEoCFñ‡ 4ÔkåóxR|µÁ¨ÓDà!Ç´µ˜‡p ÍQ‹§!þž^õWsŒy  åÁ§$á«%ºq˜™JyyË0y«^Ϗ -3ÃÏËÈ£Æ\P’ä„s&•‹Üs üô'àWt¹pñCp$bÚF`·7.^)¾!)ÒÙ˜–ÅÏš^h¾ø³·ìe±ŒaeÖ—Í,e=B}Jéߦ$$½—šÙÜCC¯¶è8β–Åkèwx LÉngT±æ¹£Ócœ¿Í/©Éÿ ‰ÚCÒ­mq;Tt¶–}0"zÖPcd1š­¤tˆ„ÐÓâqú[™öUCŠ2޿د­É(¸ßúçšmW,Ò ºf‹Ån™ÄLêÁ8üÁkÁ€L¥ÍuJ1œôrÂSŒÓöt!7EUíïb)AËi¬â-ÙHk8òÁiXYwÅ)O^"ÇØriÛô{»wRUKÙÏÚlÓ¬€‚’שT ] ªb—ÊîKC^×M“xùäñz¬zJ× {4[¹M'IÆeH1LCWÕ]œûº WDæà°OÅ‚¹c²ÞuA–rL`HšpCez‡V’— Ž‚Ë„–ñ­'µR0ÕÖ=À:±G»C\nÆÉ5*¢ †3šhQ4ýÒi$Õ1"Ü]¢p-q3zcQ$ªö¨¥æf›‘»´ÝÚHá„e²JÇ–iÊ:·à¬Øc5Åk»Laª*wi [0Ówk ¦a¦0Õ²ÅÅ‚T¸’³q:Æ<¹ú Ò˜Æ}2VE•Ѐp¡Ô3Úº …h³^LJºçì¥Ánó|˜ÖˆÎˆ+« ¦dø‘Mº–d\ªDðÛ„Ì×LÝ——Ð9Ç|•FèçVm™¨€™3õS–9Äå¢<̉Ìm¢±`·º˜&Z²ž Ë®D«¶»6™‰©­HÈ Àá«h­i³04æ’hxœi3ï¨(ÓL·†‹¶ËpŒ ƒÜÒ? :õdsÀ –3æÓ·Üjâ¬9—]8n¼&]I F£¼…ì–—Œ0v°LǐÅfÛ2TÖ’aµ˜N@ÖBSÏ^à´4-±°b×nÈÈœÆD=KdŒø…ÄÈK,›ÖR§fjü$^ÔÎ!„6^ s:Üun\ôkCÞò÷<—Lúl Í›G¹ÀPá¼Nc¡šÒ…ÙWͳœ±vÊáЄ×9‹P‰cEØ‘™›µŸP<×g1 º©Ø¬wiÁ^l5× I/';Ë+´Z‡ÓÄFÕp[Èð’ HÄ ó 9¬Dl4“é±Ï”V=^Hð;žLädÉa‚°Ë,#/Ž~²BÔÛ QãñQtIeórVB,ÏÂf‹4#Μc‹É3ZIÖ Œ¢¥·üxa‡Ãçè„jŠ[5 Ä!U?,3žÎ×…ðdÓ÷háŠA‰ìÄ4÷ÃÜZÃE{‰®+W\ZÍE[‰»µk»MÝ­`¢©†˜ÃV‹-f¢¡†¢a«eŠ%«Y¨©q%jâd,Ôq`) ¤¦…šˆ ¦E>0Ùb²t–Ÿ  ÷jsςҒKÈcø(é›;k(’#ôŒQ ™C> õ³M9óºÆµ¤çâ;uÀ)5>RÔ¸fÓ~Ȧ—’-$fe«"FâUˆÊwµPÏu w+"åÉó¨6s™Û9(À¨ù©hE°½†n`m~“@©›p!Vkhµ Á1šbEqqÊ@ºèl›2 –Yã%‘‚hÛ{a¶‡ÅÞM²¬çL34®Çl]®‹ŽØŒm'RÜe35æöˆ­Á­ cP9šeÁköo´L³Ì=p8]”‡B¶,šº|ɏdzXˆØk*ÇÚ{#ñ‰pã(€¶‡9ý'šÜ³½¯kƒ†Â’ëSOƒ•Å®H6+a¢µˆ‹Y¨b˜b+XˆÖ!°u!¢"µˆˆn2ˆ Å0Ä`Å Ô®c(ÓÜGº•Ä»Œ âWî%q.áÐÄ÷î%umÍ£+ÜQ,Vn¦-GphU¸¢X­&,Gt ·K¢ÅÅ·¥RÄÊÉbKn N­R2g$VµÕó Qr#–ÓZUÏð0ÎtÙÀœz ëöo“Îk¯n„T°"SÞ+³/…€½"ižãO%Í%&Δâ‘ËØ´IˆÓ°Ë‰ÞM3.™yçÁzit›`4C`k¢¼á!álÄï sÂ[×!¤l¾æo"ƒIÔ'@ªu)3›ô®“@Z à¾] üœ'‡4¸PÞkÁ-qÄH‰ÓÍBd´ÿ —¹°ÄA&ÊUC„öz‚‚RæŠtf¬>˜ÑidšEçÑL÷áý¡V±h§­c¿¥¨ƒ@g¼…Ýö^ÞËc.ž„æ“I[ ª+·zÐÒÚ,½Ð»¶€C›7jk$๖€Ž¾ÅÙpp¶ÍþéΤ ½ØÎŒq ñpæžÅ¥#Øâ49ÃÂK^MYV“,¶Éz_òæ:…;Õ«¦I3âJ£¤û5$7Èxün\â]Êe¯(Ÿ&Ž‹¶2<6Ćf× æ¢ƱqWı[(ÙÂŽç‚T7¨@ÈÉÍß‚ïÙ"&3TYlGށ†)†#5ŠA©^T2ÆÁ†)©†©†¤yGXÁ†©"†)©¼ÅV WS†#©]R–r‹q5ÕbâWþBh¯u+ªÅÄ×ü„nÑ^êkªÁj‰jeœWˆÕÕ`µDµ2Ì+Ä µDµµ5Ô{¤Þ0RF’H÷AÛ<ÊÁ§ ƈæ0Ñ£ê4 öÚµ[¬/1²€â<-¬šö²r×0o×w ´xÐÒË„ g01¬„åEM蛇Ã\6µE›‘fÙO k÷CºnÓ1`iîÒ² áÂ!ÑLÄÿ ³¬\õ*:M=Ç»c‹2[‰ØsÕLò\ŒK L^™üÄN\¶#» Ç\……ßïIœÉ$¸ÎñÍ®ÔHÇ Ûí/´>Li”„†g^$ 7NÍÑÑ2M2ªNg=k½Ð}Ÿl6‡ —JWˆ”ÞéT·+µ¦üÂFè¢Vs6ýÆ4»2+2IÝ9ô9®ÇGÙÇ1+Ä8;*Õ§ž½D*îÑWÚçá3Ma¤·ˆ¥t}š²Ü…Q+Æüµ8HíS”üxGéÁˆ¦Ël„éÈ 5 µÄƒ6äÜ(kIš¯S†fÖ&¸®×v|Äyˆ*禌Éù@7-®Ä[]ÎÖ¿ê`º…=:…žJVnݳvðÖKE¼‚ »mà ÷f®:Ë ™–4rð¡4` ܹçž~‹C=œ…¾Ïj|VDtK.ƒ"9 Ï ­–éXá³6WÒïIL-Ї Ç PKg\wwikifiletable.phpnu[. /** * This file contains all necessary code to define a wiki file table form element * * @package mod_wiki * @copyright 2009 Marc Alier, Jordi Piguillem marc.alier@upc.edu * @copyright 2009 Universitat Politecnica de Catalunya http://www.upc.edu * * @author Josep Arus * * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ require_once('HTML/QuickForm/element.php'); require_once($CFG->dirroot.'/lib/filelib.php'); class MoodleQuickForm_wikifiletable extends HTML_QuickForm_element { private $_contextid; private $_filearea; private $_fileareaitemid; private $_fileinfo; private $_value = array(); /** @var string */ protected $_format; public function __construct($elementName = null, $elementLabel = null, $attributes = null, $fileinfo = null, $format = null) { parent::__construct($elementName, $elementLabel, $attributes); $this->_fileinfo = $fileinfo; $this->_format = $format; } /** * Old syntax of class constructor. Deprecated in PHP7. * * @deprecated since Moodle 3.1 */ public function MoodleQuickForm_wikifiletable($elementName = null, $elementLabel = null, $attributes = null, $fileinfo = null, $format = null) { debugging('Use of class name as constructor is deprecated', DEBUG_DEVELOPER); self::__construct($elementName, $elementLabel, $attributes, $fileinfo, $format); } function onQuickFormEvent($event, $arg, &$caller) { global $OUTPUT; switch ($event) { case 'addElement': $this->_contextid = $arg[3]['contextid']; $this->_filearea = $arg[3]['filearea']; $this->_fileareaitemid = $arg[3]['itemid']; $this->_format = $arg[4]; break; } return parent::onQuickFormEvent($event, $arg, $caller); } function setName($name) { $this->updateAttributes(array('name' => $name)); } function getName() { return $this->getAttribute('name'); } function setValue($value) { $this->_value = $value; } function getValue() { return $this->_value; } function toHtml() { global $CFG, $OUTPUT; $htmltable = new html_table(); $htmltable->head = array(get_string('deleteupload', 'wiki'), get_string('uploadname', 'wiki'), get_string('uploadactions', 'wiki')); $fs = get_file_storage(); $files = $fs->get_area_files($this->_fileinfo['contextid'], 'mod_wiki', 'attachments', $this->_fileinfo['itemid']); //TODO: verify where this is coming from, all params must be validated (skodak) if (count($files) < 2) { return get_string('noattachments', 'wiki'); } //get tags foreach (array('image', 'attach', 'link') as $tag) { $tags[$tag] = wiki_parser_get_token($this->_format, $tag); } foreach ($files as $file) { if (!$file->is_directory()) { $checkbox = 'get_pathnamehash(), $this->_value)) { $checkbox .= ' checked="checked"'; } $checkbox .= " />"; //actions $icon = file_file_icon($file); $file_url = file_encode_url($CFG->wwwroot.'/pluginfile.php', "/{$this->_contextid}/mod_wiki/attachments/{$this->_fileareaitemid}/".$file->get_filename()); $action_icons = ""; if(!empty($tags['attach'])) { $action_icons .= "printInsertTags($tags['attach'], $file->get_filename())." title=\"".get_string('attachmentattach', 'wiki')."\">".$OUTPUT->pix_icon($icon, "Attach").""; //TODO: localize } $action_icons .= "  printInsertTags($tags['link'], $file_url)." title=\"".get_string('attachmentlink', 'wiki')."\">".$OUTPUT->pix_icon($icon, "Link").""; if (file_mimetype_in_typegroup($file->get_mimetype(), 'web_image')) { $action_icons .= "  printInsertTags($tags['image'], $file->get_filename())." title=\"".get_string('attachmentimage', 'wiki')."\">".$OUTPUT->pix_icon($icon, "Image").""; //TODO: localize } $htmltable->data[] = array($checkbox, ''.$file->get_filename().'', $action_icons); } } return html_writer::table($htmltable); } private function printInsertTags($tags, $value) { return "onclick=\"javascript:insertTags('{$tags[0]}', '{$tags[1]}', '$value');\""; } } //register wikieditor MoodleQuickForm::registerElementType('wikifiletable', $CFG->dirroot."/mod/wiki/editors/wikifiletable.php", 'MoodleQuickForm_wikifiletable'); PKg\m-zzwiki_editor.phpnu[wwwroot . '/mod/wiki/instancecomments.php?pageid=' . $pageid . '&id=' . $commentid . '&action=edit'; } else if ($comesfrom == 'addcomments') { $action = $CFG->wwwroot . '/mod/wiki/instancecomments.php?pageid=' . $pageid . '&id=' . $commentid . '&action=add'; } else { $action = $CFG->wwwroot . '/mod/wiki/edit.php?pageid=' . $pageid; } if (!empty($section)) { $action .= "&section=" . urlencode($section); } ///Get tags for every element we are displaying $tag = getTokens($editor, 'bold'); $wiki_editor['bold'] = array('ed_bold.gif', get_string('wikiboldtext', 'wiki'), $tag[0], $tag[1], get_string('wikiboldtext', 'wiki')); $tag = getTokens($editor, 'italic'); $wiki_editor['italic'] = array('ed_italic.gif', get_string('wikiitalictext', 'wiki'), $tag[0], $tag[1], get_string('wikiitalictext', 'wiki')); $tag = getTokens($editor, 'link'); $wiki_editor['internal'] = array('ed_internal.gif', get_string('wikiinternalurl', 'wiki'), $tag[0], $tag[1], get_string('wikiinternalurl', 'wiki')); $tag = getTokens($editor, 'url'); $wiki_editor['external'] = array('ed_external.gif', get_string('wikiexternalurl', 'wiki'), $tag[0], $tag[1], get_string('wikiexternalurl', 'wiki')); $tag = getTokens($editor, 'list'); $wiki_editor['u_list'] = array('ed_ul.gif', get_string('wikiunorderedlist', 'wiki'), '\\n' . $tag[0], '', ''); $wiki_editor['o_list'] = array('ed_ol.gif', get_string('wikiorderedlist', 'wiki'), '\\n' . $tag[1], '', ''); $tag = getTokens($editor, 'image'); $wiki_editor['image'] = array('ed_img.gif', get_string('wikiimage', 'wiki'), $tag[0], $tag[1], get_string('wikiimage', 'wiki')); $tag = getTokens($editor, 'header'); $wiki_editor['h1'] = array('ed_h1.gif', get_string('wikiheader', 'wiki', 1), '\\n' . $tag . ' ', ' ' . $tag . '\\n', get_string('wikiheader', 'wiki', 1)); $wiki_editor['h2'] = array('ed_h2.gif', get_string('wikiheader', 'wiki', 2), '\\n' . $tag . $tag . ' ', ' ' . $tag . $tag . '\\n', get_string('wikiheader', 'wiki', 2)); $wiki_editor['h3'] = array('ed_h3.gif', get_string('wikiheader', 'wiki', 3), '\\n' . $tag . $tag . $tag . ' ', ' ' . $tag . $tag . $tag . '\\n', get_string('wikiheader', 'wiki', 3)); $tag = getTokens($editor, 'line_break'); $wiki_editor['hr'] = array('ed_hr.gif', get_string('wikihr', 'wiki'), '\\n' . $tag . '\\n', '', ''); $tag = getTokens($editor, 'nowiki'); $wiki_editor['nowiki'] = array('ed_nowiki.gif', get_string('wikinowikitext', 'wiki'), $tag[0], $tag[1], get_string('wikinowikitext', 'wiki')); $OUTPUT->heading(strtoupper(get_string('format' . $editor, 'wiki')), 3); $PAGE->requires->js('/mod/wiki/editors/wiki/buttons.js'); echo $OUTPUT->container_start(); foreach ($wiki_editor as $button) { echo ""; echo "wwwroot/mod/wiki/editors/wiki/images/$button[0]\" alt=\"" . $button[1] . "\" title=\"" . $button[1] . "\" />"; echo ""; } echo $OUTPUT->container_end(); echo $OUTPUT->container_start(); echo '
'; $textarea = $OUTPUT->print_textarea('newcontent', 'edit-newcontent', $content, 20, 60); echo $OUTPUT->container($textarea, false, 'wiki_editor'); echo $OUTPUT->container_start(); wiki_print_edit_form_default_fields($editor, $pageid, $version, $upload, $deleteuploads); echo $OUTPUT->container_end(); echo '
'; echo $OUTPUT->container_end(); } /** * Returns escaped token used by a wiki language to represent a given tag or "object" (bold -> **) * * @param string $format format of page * @param array|string $token format tokens which needs to be escaped * @return array|string */ function getTokens($format, $token) { $tokens = wiki_parser_get_token($format, $token); if (is_array($tokens)) { foreach ($tokens as $key => $value) { $tokens[$key] = urlencode(str_replace("'", "\'", $value)); } } else { urlencode(str_replace("'", "\'", $token)); } return $tokens; } PKg\`(wikieditor.phpnu[. /** * This file contains all necessary code to define a wiki editor * * @package mod_wiki * @copyright 2009 Marc Alier, Jordi Piguillem marc.alier@upc.edu * @copyright 2009 Universitat Politecnica de Catalunya http://www.upc.edu * * @author Josep Arus * * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ require_once($CFG->dirroot.'/lib/formslib.php'); require_once($CFG->dirroot.'/lib/form/textarea.php'); require_once($CFG->dirroot.'/lib/form/templatable_form_element.php'); class MoodleQuickForm_wikieditor extends MoodleQuickForm_textarea { use templatable_form_element { export_for_template as export_for_template_base; } private $files; /** @var string */ protected $wikiformat; /** * Constructor * * @param string $elementName (optional) name of the text field * @param string $elementLabel (optional) text field label * @param string $attributes (optional) Either a typical HTML attribute string or an associative array */ function __construct($elementName = null, $elementLabel = null, $attributes = null) { if (isset($attributes['wiki_format'])) { $this->wikiformat = $attributes['wiki_format']; unset($attributes['wiki_format']); } if (isset($attributes['files'])) { $this->files = $attributes['files']; unset($attributes['files']); } parent::__construct($elementName, $elementLabel, $attributes); $this->_type = 'wikieditor'; } /** * Old syntax of class constructor. Deprecated in PHP7. * * @deprecated since Moodle 3.1 */ public function MoodleQuickForm_wikieditor($elementName = null, $elementLabel = null, $attributes = null) { debugging('Use of class name as constructor is deprecated', DEBUG_DEVELOPER); self::__construct($elementName, $elementLabel, $attributes); } function setWikiFormat($wikiformat) { $this->wikiformat = $wikiformat; } function toHtml() { $textarea = parent::toHtml(); return $this->{ $this->wikiformat."Editor"} ($textarea); } function creoleEditor($textarea) { return $this->printWikiEditor($textarea); } function nwikiEditor($textarea) { return $this->printWikiEditor($textarea); } private function printWikiEditor($textarea) { global $OUTPUT; $textarea = $OUTPUT->container_start().$textarea.$OUTPUT->container_end(); $buttons = $this->getButtons(); return $buttons.$textarea; } private function getButtons() { global $PAGE, $OUTPUT, $CFG; $editor = $this->wikiformat; $tag = $this->getTokens($editor, 'bold'); $wiki_editor['bold'] = array('ed_bold.gif', get_string('wikiboldtext', 'wiki'), $tag[0], $tag[1], get_string('wikiboldtext', 'wiki')); $tag = $this->getTokens($editor, 'italic'); $wiki_editor['italic'] = array('ed_italic.gif', get_string('wikiitalictext', 'wiki'), $tag[0], $tag[1], get_string('wikiitalictext', 'wiki')); $imagetag = $this->getTokens($editor, 'image'); $wiki_editor['image'] = array('ed_img.gif', get_string('wikiimage', 'wiki'), $imagetag[0], $imagetag[1], get_string('wikiimage', 'wiki')); $tag = $this->getTokens($editor, 'link'); $wiki_editor['internal'] = array('ed_internal.gif', get_string('wikiinternalurl', 'wiki'), $tag[0], $tag[1], get_string('wikiinternalurl', 'wiki')); $tag = $this->getTokens($editor, 'url'); $wiki_editor['external'] = array('ed_external.gif', get_string('wikiexternalurl', 'wiki'), $tag, "", get_string('wikiexternalurl', 'wiki')); $tag = $this->getTokens($editor, 'list'); $wiki_editor['u_list'] = array('ed_ul.gif', get_string('wikiunorderedlist', 'wiki'), '\\n'.$tag[0], '', ''); $wiki_editor['o_list'] = array('ed_ol.gif', get_string('wikiorderedlist', 'wiki'), '\\n'.$tag[1], '', ''); $tag = $this->getTokens($editor, 'header'); $wiki_editor['h1'] = array('ed_h1.gif', get_string('wikiheader', 'wiki', 1), '\\n'.$tag.' ', ' '.$tag.'\\n', get_string('wikiheader', 'wiki', 1)); $wiki_editor['h2'] = array('ed_h2.gif', get_string('wikiheader', 'wiki', 2), '\\n'.$tag.$tag.' ', ' '.$tag.$tag.'\\n', get_string('wikiheader', 'wiki', 2)); $wiki_editor['h3'] = array('ed_h3.gif', get_string('wikiheader', 'wiki', 3), '\\n'.$tag.$tag.$tag.' ', ' '.$tag.$tag.$tag.'\\n', get_string('wikiheader', 'wiki', 3)); $tag = $this->getTokens($editor, 'line_break'); $wiki_editor['hr'] = array('ed_hr.gif', get_string('wikihr', 'wiki'), '\\n'.$tag.'\\n', '', ''); $tag = $this->getTokens($editor, 'nowiki'); $wiki_editor['nowiki'] = array('ed_nowiki.gif', get_string('wikinowikitext', 'wiki'), $tag[0], $tag[1], get_string('wikinowikitext', 'wiki')); $PAGE->requires->js('/mod/wiki/editors/wiki/buttons.js'); $html = '
'; foreach ($wiki_editor as $button) { $html .= ""; $html .= html_writer::empty_tag('img', array('alt' => $button[1], 'src' => $CFG->wwwroot . '/mod/wiki/editors/wiki/images/' . $button[0])); $html .= ""; } $html .= ""; $html .= "'; $html .= $OUTPUT->help_icon('insertimage', 'wiki'); $html .= '
'; return $html; } private function getTokens($format, $token) { $tokens = wiki_parser_get_token($format, $token); if (is_array($tokens)) { foreach ($tokens as & $t) { $this->escapeToken($t); } } else { $this->escapeToken($tokens); } return $tokens; } private function escapeToken(&$token) { $token = urlencode(str_replace("'", "\'", $token)); } public function export_for_template(renderer_base $output) { $context = $this->export_for_template_base($output); // We do want the form-control class on the output from toHTML - but we dont' want it when calling export_for_template. // This is because in this type of form element the export_for_template calls toHTML to get the html for the context. // If we did both we would be duplicating the form-control which messes up the styles. $saved = $this->getAttribute('class'); $this->updateAttributes(['class' => $saved . ' form-control']); $context['html'] = $this->toHtml(); $this->updateAttributes(['class' => $saved]); return $context; } } //register wikieditor MoodleQuickForm::registerElementType('wikieditor', $CFG->dirroot."/mod/wiki/editors/wikieditor.php", 'MoodleQuickForm_wikieditor'); PKg\s wiki/buttons.jsnu[// Wikipedia JavaScript support functions // if this is true, the toolbar will no longer overwrite the infobox when you move the mouse over individual items var noOverwrite=false; var alertText; var clientPC = navigator.userAgent.toLowerCase(); // Get client info var is_gecko = ((clientPC.indexOf('gecko')!=-1) && (clientPC.indexOf('spoofer')==-1) && (clientPC.indexOf('khtml') == -1) && (clientPC.indexOf('netscape/7.0')==-1)); var is_safari = ((clientPC.indexOf('AppleWebKit')!=-1) && (clientPC.indexOf('spoofer')==-1)); var is_khtml = (navigator.vendor == 'KDE' || ( document.childNodes && !document.all && !navigator.taintEnabled )); if (clientPC.indexOf('opera')!=-1) { var is_opera = true; var is_opera_preseven = (window.opera && !document.childNodes); var is_opera_seven = (window.opera && document.childNodes); } // apply tagOpen/tagClose to selection in textarea, // use sampleText instead of selection if there is none // copied and adapted from phpBB function insertTags(tagOpen, tagClose, sampleText) { tagOpen = unescape(tagOpen); tagClose = unescape(tagClose); var txtarea = document.forms['mform1'].newcontent; // IE if(document.selection && !is_gecko) { var theSelection = document.selection.createRange().text; if(!theSelection) { theSelection=sampleText;} txtarea.focus(); if(theSelection.charAt(theSelection.length - 1) == " "){// exclude ending space char, if any theSelection = theSelection.substring(0, theSelection.length - 1); document.selection.createRange().text = tagOpen + theSelection + tagClose + " "; } else { document.selection.createRange().text = tagOpen + theSelection + tagClose; } // Mozilla } else if(txtarea.selectionStart || txtarea.selectionStart == '0') { var startPos = txtarea.selectionStart; var endPos = txtarea.selectionEnd; var scrollTop=txtarea.scrollTop; var myText = (txtarea.value).substring(startPos, endPos); if(!myText) { myText=sampleText;} if(myText.charAt(myText.length - 1) == " "){ // exclude ending space char, if any subst = tagOpen + myText.substring(0, (myText.length - 1)) + tagClose + " "; } else { subst = tagOpen + myText + tagClose; } txtarea.value = txtarea.value.substring(0, startPos) + subst + txtarea.value.substring(endPos, txtarea.value.length); txtarea.focus(); var cPos=startPos+(tagOpen.length+myText.length+tagClose.length); txtarea.selectionStart=cPos; txtarea.selectionEnd=cPos; txtarea.scrollTop=scrollTop; // All others } else { var copy_alertText=alertText; var re1=new RegExp("\\$1","g"); var re2=new RegExp("\\$2","g"); copy_alertText=copy_alertText.replace(re1,sampleText); copy_alertText=copy_alertText.replace(re2,tagOpen+sampleText+tagClose); var text; if (sampleText) { text=prompt(copy_alertText); } else { text=""; } if(!text) { text=sampleText;} text=tagOpen+text+tagClose; document.infoform.infobox.value=text; // in Safari this causes scrolling if(!is_safari) { txtarea.focus(); } noOverwrite=true; } // reposition cursor if possible if (txtarea.createTextRange) txtarea.caretPos = document.selection.createRange().duplicate(); } PKg\0(wiki/images/ed_nowiki.gifnu[GIF89aTeմؐQc~yVh}Zk^ncrrӰװ֮~ڂݻhwl{wز{ݴؼ⅏荕拔隢!E,C;?4;A99BAA>000..//==77B8833666@@RRGLMDD+K (EXȰÇ#JHŋshD1D CIɓ(S\iK!&ИI͛8sɳϟ:5}$H*]ʴӧPJtU @ʵׯ`ÊKٳbaA℅pʝKݻxk_"LÈ+^̸NJ]HV˘3k̹ϠCiJLXͺװc˞M۲)pcD Nȓ+_n\5B,Ͽ(h  (F(Vhfv 8a ;PKg\=NNwiki/images/ed_format_sub.gifnu[GIF89a!,B0 YU!dyj: M;PKg\|"wiki/images/ed_italic.gifnu[GIF89aTeմؐQc~yVh}Zk^ncrrӰװ֮~ڂݻhwl{wز{ݴؼ⅏荕拔隢{{{!L,HAE:AG ?GGD!4233CC=>>88>88>88>88<>88<>88>88x`nܹA+M"ѣ LӧP"@@aXj `ÊKٲ;PKg\WOGwiki/images/ed_ol.gifnu[GIF89aTeմؐQc~yVh}Zk^ncrrӰװ֮~ڂݻhwl{wز{ݴؼ⅏荕拔隢!K,IBF;BH!!@HHE"5 344DD>>>J??99=GGC://008-7++AA))**66(OAh*T!B &"JHQb<6mǏIАI&e .l`͛ 8([> ` *]Ti JU 8ׯ`Ê ;PKg\.uߔwiki/images/ed_image.gifnu[GIF89a!,YxPA2`ah!*[/ V(ֿ6@7YH"<)LVz!AL|z-ޝ/j>;PKg\zwiki/images/ed_h1.gifnu[GIF89aTeANc՜Qc~yau:FXlVh}Zk,4@^ncr9BOr7=Fsװ֮~bjvU\fCGMyms|[kˌP\lhwl{ψ^k|,18wز{ݴؼڣdlw⅏NSZ豻ɍafm8;?Y\`@EK拔DHM뚢MSZpv} ty~/01UUU!q,lnppnlmoX\,pjPPkQX`**agWpN``[+MKLJK)HGGV(IIZO&T'fUUY^SeS__hdCC]RCDDiB??#A$$& 8)D=>| ȰwѰsSF C($ pXɲ% j1N8s|cR 2d)QѣE/rQԂ@&HJUjI-&P`G`ÂSHB:px۶ &5pCxͻ`$LÈ#;PKg\≠wiki/images/ed_internal.gifnu[GIF89aTeմؐQc~yVh}Zk^ncrrӰװ֮~ڂݻhwl{wز{ݴؼ⅏荕拔隢!O,HAE:AG ?GGD!4233CC=>>88x`@ ڠ *]T$$JUPpׯ` ٳhӪ]vm ;PKg\%wiki/images/file_view.gifnu[GIF89aff3)))! ,JPI7I8C'_%(*S jIa0lJG@t`*2(6lJ5QB%R LaZ;PKg\.-Wwiki/images/ed_bold.gifnu[GIF89aTeմؐQc~yVh}Zk^ncrrӰװ֮~ڂݻhwl{wز{ݴؼ⅏荕拔隢!J,HAE:AG ?GGD!4233CC=>>88<>J??99==GGC:/008-7++AA))**66((''2:HHA"`Ç(cÈ.jܸ <%2/ \pѠ0ct 8sܙs J *@ӧMpիXjݪ5;PKg\*NvCCwiki/images/ed_custom.gifnu[GIF89a!,@J%qqxIj;PKg\wOCCwiki/images/ed_stamp.gifnu[GIF89aQc~ E zTeZcrյـyVhdsl{׻dfi\mhwft󑙢ypqqҦݷ́HKYV$>CMUYN^bnosvy~ڨ'3589?FOKie\iؘ;>COz)(2:6EBKGZXeqx撿|z )16@;͜*01>:DUTɶL[id񫋇oٺ˯2t5<ػ5?GMc^u֎{u|ܹ(;9aqѥ q>+DxlBƀg̟ Ѫ,|fڧɰ{[B¦ǚU:`BoTI1hJ {_'fX=S58( }xoZ8ŮPG:H*T8ı]/O1Z78mOC- / -4('!, ;TxGp` 4ȃ 3Jn0,'4hÇg y X͝@<ǟ6@lfs xyA$ *U/0085)!T<`F%Z+|̣NXP[\R~qH@+V+ihܸ\y8rA$Io> rU mI#b MMPcU⚍@B(esjU l7QG'1 t>RBE_X=+ FCqH.U@$WD VD)i,B $+tMs(,Qhc0b7 .! ԐtR %/!X/34.G="rH#L1% $!z!&_bHb"M8`>Ts\G"2($dPA s7T2N.L.c*t  4s8S (P2D , `= C-l 2p:0 ;PKg\wiki/images/ed_external.gifnu[GIF89a)cTeմؐQc~yVh}Zk^ncrrӰ֮~ڂhwl{wز{ݼ⅏荕拔隢))cc))))c!T,L=A6=C;;SCC@0IHJK0..SEESKDS//??9ôDS::448ȻGSBB>5**EGH*++3))ԺG)2((SJDAdJ ?A")Ter*/7մ58=Qc~y:FXVhSd}}Zk,4@^nLXjcrVcwrӏELVwװ֮~тX_izݧt|y*,/hwISal{.3:w\fsز{S[fkuݴؼ}'*.⅏荕afm|$+4>CIkr{殹NjDHM̚IPXMSZ_el '*-FJNuzݙ!t,pqsr_dSRsS_i55]s3^]]iic622ONN44\slLhsLLMMabXYZ1Y[[QnWVVIsVgg`sfJ/.KKPHF)+**ms8D !(4$E AᣣB<~)GH(Se Y@&B9vܹC90n*DQEPr(!SX+W xaC"ҪUP,,X0Qݻw)„ 'DL9j G@@ǐ#KL2@;PKg\)WWwiki/images/ed_indent_more.gifnu[GIF89a!,(믂lJ@"dfvGfxغP;PKg\#mwiki/images/ed_smiley2.gifnu[GIF89alTeմ搗RdQc~yVh}Zk^ncrrӰװ֮~ڂݻܽhwl{wز{ݴؼ⅏荕拔1J!)19BBJRRZckcks{s{!q,lIZHYPVUFXX**HNXT+?pȿ))F=мlnnkm>RRGLLpolojipM!b ;6ڹᕦ %#JHŋ3jxc"pq B8 Xɲ˗0cʜI8Q 2^;wҌdžѣH*]ʴӧPr*8 M«8`KٳhӪ]˶Z p<g‘\V߿ LÈ X 8hPū1_̹ϠCMhy8L4hLf sͻ ]A^19`lg~Aسkνw.+A0\f_ŋ{8,˟Oߟ0`Eg{]xǀ 6F(VX!npt ]tK$h(,0PCX#epب<@)::`$IL6PF)TVi% d,`)dihyflBp)tix|矀*;PKg\.||wiki/images/ed_justify.gifnu[GIF89aTeմؐQc~yVh}Zk^ncrrӰװ֮~ڂݻhwl{wز{ݴؼ⅏荕拔隢!J,ـHAE:AG ?GGD!4233CC==I>>88x` C٠ R\R$$IMPpϟ@} ѣH*]ti ;PKg\MMwiki/images/ed_format_sup.gifnu[GIF89a!,m,a^xƶ ;PKg\tvvwiki/images/ed_anchor.gifnu[GIF89a###!,;XЉI#g*#E*-Ŧ҅@v@&: (.E$;PKg\wiki/images/ed_h3.gifnu[GIF89a Te&O]sՐQc~yau:FXVh}Zk^ncr9BOVcwyrcn7=FGNX_hu~bjvтt|fmwBFLms|*,/[kx(.6hwl{ϡwؖ{uݒHNV&)-⅏䣭荕ږkr{拔PU[̨IPXMSZ $)  PV\!t,r^bS^g//Z]^\gga0KKMss+ ..II*ssHJJ``WWpsVsoǿXXQQTes)TnnUTff_REds&EFF-P$sn$ACsDA%%O,#sc?qG`[s<8HG&NQǎ9lpt#G#Yt98Ȝ)Srꜣϟ>m81'Hi!S5jի.̹ &HKVB9iĖ@!5ʕfq!@߿)دl,X̘1R / @˘3k̹3@;PKg\P9NN wiki/images/ed_format_strike.gifnu[GIF89a!,% "sm5IPY#f=[J"vTL;PKg\S5wiki/images/ed_table.gifnu[GIF89a3TeմؐQc~yVh}Zk^ncrrӰװ֮~ڂݻhwl{wز{ݴؼ⅏荕拔隢!L,IBF;BH!!@HHE"5 3KK344DD>KK>??99=ķK=GGC:/KIJЂK/008-K-7+KJK+AA)K)**66(UCqℌб[nbp0@%KL(cÈ ABC [ .X0ɳO PѣH&HPPJ*@Xjʵ׮;PKg\WWwiki/images/ed_about.gifnu[GIF89a!,.LTtNb[{hX-ffx>881"3 BIRdV,XɲK L͛8m"@@a@  H*]ʴӦ;PKg\)|Dwiki/images/folderup.gifnu[GIF89aLLLmmmiv#ǔ/Ӡ;Mk{,@yC8kli4IGH!>#|/0(63Z!:xcQR:b"@xn8S[Cxg1*=nX !!_kJxgg;PKg\LUU#wiki/images/ed_format_underline.gifnu[GIF89a{{{!,& b&Ov^uL'.7PD#]:];PKg\wwikifiletable.phpnu[PKg\m-zzwiki_editor.phpnu[PKg\`(+wikieditor.phpnu[PKg\s Kwiki/buttons.jsnu[PKg\0(Ywiki/images/ed_nowiki.gifnu[PKg\NPqq\wiki/images/ed_smiley.gifnu[PKg\=NN`wiki/images/ed_format_sub.gifnu[PKg\|"%awiki/images/ed_italic.gifnu[PKg\^cwiki/images/ed_center.gifnu[PKg\&FFfwiki/images/ed_help.gifnu[PKg\r_ׂWgwiki/images/ed_left.gifnu[PKg\P jwiki/images/ed_smiley1.gifnu[PKg\UCPmwiki/images/ed_img.gifnu[PKg\M{kkVpwiki/images/spell-check.gifnu[PKg\F qwiki/images/ed_hr.gifnu[PKg\D\xswiki/images/ed_math.gifnu[PKg\WOGvwiki/images/ed_ol.gifnu[PKg\.uߔywiki/images/ed_image.gifnu[PKg\zkzwiki/images/ed_h1.gifnu[PKg\≠r}wiki/images/ed_internal.gifnu[PKg\%]wiki/images/file_view.gifnu[PKg\.-WCwiki/images/ed_bold.gifnu[PKg\Qwiki/images/ed_ul.gifnu[PKg\*NvCCwiki/images/ed_custom.gifnu[PKg\wOCCzwiki/images/ed_stamp.gifnu[PKg\wiki/images/ed_external.gifnu[PKg\a`$wiki/images/ed_h2.gifnu[PKg\)WW8wiki/images/ed_indent_more.gifnu[PKg\#mݓwiki/images/ed_smiley2.gifnu[PKg\.||wiki/images/ed_justify.gifnu[PKg\MMٚwiki/images/ed_format_sup.gifnu[PKg\tvvswiki/images/ed_anchor.gifnu[PKg\2wiki/images/ed_h3.gifnu[PKg\P9NN Owiki/images/ed_format_strike.gifnu[PKg\S5wiki/images/ed_table.gifnu[PKg\WWƢwiki/images/ed_about.gifnu[PKg\:k&ewiki/images/ed_right.gifnu[PKg\)|D,wiki/images/folderup.gifnu[PKg\LUU#8wiki/images/ed_format_underline.gifnu[PK''f