/** * Establish version in constructor * @author Myron Turner <*****@*****.**> */ function renderer_plugin_ckgedit() { global $conf; $this->ver_anteater = mktime(0, 0, 0, 11, 7, 2010); $this->dwiki_version = mktime(0, 0, 0, 01, 01, 2008); if (isset($conf['fnencode'])) { $this->ver_anteater = mktime(0, 0, 0, 11, 7, 2010); $this->dwiki_version = mktime(0, 0, 0, 11, 7, 2010); } else { if (function_exists('getVersionData')) { $verdata = getVersionData(); if (isset($verdata) && preg_match('/(\\d+)-(\\d+)-(\\d+)/', $verdata['date'], $ver_date)) { if ($ver_date[1] >= 2005 && ($ver_date[3] > 0 && $ver_date[3] < 31) && ($ver_date[2] > 0 && $ver_date[2] <= 12)) { // month day year $this->dwiki_version = @mktime(0, 0, 0, $ver_date[2], $ver_date[3], $ver_date[1]); if (!$this->dwiki_version) { $this->dwiki_version = mktime(0, 0, 0, 01, 01, 2008); } $this->ver_anteater = mktime(0, 0, 0, 11, 7, 2010); } } } } }
function registerOnLoad($js) { global $ID; global $lang; global $skip_styling; $preview_button = $lang['btn_preview']; $ckgedit_conf_direction = $this->getConf('direction'); if ($ckgedit_conf_direction == "dokuwiki") { $ckgedit_lang_direction = $lang['direction']; } else { $ckgedit_lang_direction = $ckgedit_conf_direction; } $ImageUploadAllowedExtensions = $this->get_ckgedit_ImageAllowedExtensions(); $media_tmp_ns = preg_match('/:/', $ID) ? preg_replace('/:\\w+$/', "", $ID, 1) : ""; $locktimer_msg = "Your lock for editing this page is about to expire in a minute.\\n" . "You can reset the timer by clicking the Back-up button."; $meta_fn = metaFN($ID, '.ckgedit'); $meta_id = 'meta/' . str_replace(':', '/', $ID) . '.ckgedit'; global $INFO; global $conf; global $USERINFO; $_OS = strtolower(PHP_OS); $cname = getCacheName($INFO['client'] . $ID, '.draft'); $useheading = $conf['useheading']; if ($useheading && $useheading != 'content' && $useheading != '0') { $useheading = 'y'; } else { $useheading = 'n'; } //msg('uh='.$useheading); $open_upload = $this->getConf('open_upload'); $editor_backup = $this->getConf('editor_bak'); $create_folder = $this->getConf('create_folder'); $interface_lang = $this->getConf('other_lang'); $scayt_lang = $this->getConf('scayt_lang'); list($name, $scayt_lang) = explode('/', $scayt_lang); $scayt_auto = $this->getConf('scayt_auto'); $color_opts = $this->getConf('color_options'); $font_opts = $this->getConf('font_options'); $toolbar_opts = $this->getConf('alt_toolbar'); $mfiles = $this->getConf('mfiles'); if (!isset($INFO['userinfo']) && !$open_upload) { $user_type = 'visitor'; } else { $user_type = 'user'; } $save_dir = DOKU_URL . ltrim($conf['savedir'], '/.\\/'); // if no ACL is used always return upload rights if ($conf['useacl']) { $client = $_SERVER['REMOTE_USER']; } else { $client = ""; } $user_name = $USERINFO['name']; $user_email = $USERINFO['mail']; $fnencode = isset($conf['fnencode']) ? $conf['fnencode'] : 'url'; $user_groups = $USERINFO['grps']; if (!$user_groups) { $user_groups = array(); } if (@in_array("guest", $user_groups)) { $create_folder = 'n'; $user_type = 'visitor'; } $user_groups = implode(";;", $user_groups); if ($INFO['isadmin'] || $INFO['ismanager']) { $client = ""; } $ver_anteater = mktime(0, 0, 0, 11, 7, 2010); $dwiki_version = mktime(0, 0, 0, 01, 01, 2008); if (isset($conf['fnencode'])) { $ver_anteater = mktime(0, 0, 0, 11, 7, 2010); $dwiki_version = mktime(0, 0, 0, 11, 7, 2010); } else { if (function_exists('getVersionData')) { $verdata = getVersionData(); if (isset($verdata) && preg_match('/(\\d+)-(\\d+)-(\\d+)/', $verdata['date'], $ver_date)) { if ($ver_date[1] >= 2005 && ($ver_date[3] > 0 && $ver_date[3] < 31) && ($ver_date[2] > 0 && $ver_date[2] <= 12)) { // month day year $dwiki_version = @mktime(0, 0, 0, $ver_date[2], $ver_date[3], $ver_date[1]); if (!$dwiki_version) { $dwiki_version = mktime(0, 0, 0, 01, 01, 2008); } $ver_anteater = mktime(0, 0, 0, 11, 7, 2010); } } } } $default_fb = $this->getConf('default_fb'); if ($default_fb == 'none') { $client = ""; } $doku_base = DOKU_BASE; return <<<end_of_string <script type='text/javascript'> //<![CDATA[ if(window.dw_locktimer) { var locktimer = dw_locktimer; } var FCKRecovery = ""; var oldonload = window.onload; var ourLockTimerINI = false; var oldBeforeunload; var ckgedit_onload = function() { {$js} }; jQuery(window).bind('load',{},ckgedit_onload); function ckgeditEditorTextChanged() { window.textChanged = false; oldBeforeunload(); if(window.dwfckTextChanged) { return LANG.notsavedyet; } } function getCurrentWikiNS() { var DWikiMediaManagerCommand_ns = '{$media_tmp_ns}'; return DWikiMediaManagerCommand_ns; } var ourLockTimerRefreshID; var ourLockTimerIsSet = true; var ourLockTimerWarningtimerID; var ourFCKEditorNode = null; var ourLockTimerIntervalID; var dwfckTextChanged = false; /** * event handler * handles both mousepresses and keystrokes from FCKeditor window * assigned in fckeditor.html */ function handlekeypress (e) { if(ourLockTimerIsSet) { lockTimerRefresh(); } window.dwfckTextChanged = true; } function unsetDokuWikiLockTimer() { if(window.locktimer && !ourLockTimerINI) { locktimer.old_reset = locktimer.reset; locktimer.old_warning = locktimer.warning; ourLockTimerINI=true; } else { window.setTimeout("unsetDokuWikiLockTimer()", 600); } locktimer.reset = function(){ locktimer.clear(); // alert(locktimer.timeout); window.clearTimeout(ourLockTimerWarningtimerID); ourLockTimerWarningtimerID = window.setTimeout(function () { locktimer.warning(); }, locktimer.timeout); }; locktimer.warning = function(){ window.clearTimeout(ourLockTimerWarningtimerID); if(ourLockTimerIsSet) { if(locktimer.msg.match(/{$preview_button}/i)) { locktimer.msg = locktimer.msg.replace(/{$preview_button}/i, "Back-up"); } alert(locktimer.msg); } else { alert("{$locktimer_msg}"); } }; locktimer.ourLockTimerReset = locktimer.reset; locktimer.our_lasttime = new Date(); lockTimerRefresh(); } function lockTimerRefresh(bak) { var now = new Date(); if(!ourLockTimerINI) unsetDokuWikiLockTimer(); if((now.getTime() - locktimer.our_lasttime.getTime() > 45*1000) || bak){ var dwform = GetE('dw__editform'); window.clearTimeout(ourLockTimerWarningtimerID); var params = 'call=lock&id='+locktimer.pageid; if(CKEDITOR.instances) { dwform.elements.wikitext.value = CKEDITOR.instances.wiki__text.getData(); params += '&prefix='+encodeURIComponent(dwform.elements.prefix.value); params += '&wikitext='+encodeURIComponent(dwform.elements.wikitext.value); params += '&suffix='+encodeURIComponent(dwform.elements.suffix.value); params += '&date='+encodeURIComponent(dwform.elements.date.value); } locktimer.our_lasttime = now; jQuery.post( DOKU_BASE + 'lib/exe/ajax.php', params, function (data) { data = data.replace(/auto/,"") + ' by ckgeditLite'; locktimer.response = data; locktimer.refreshed(data); }, 'html' ); } } /** Legacy function has no current use */ function getRecoveredText() { return FCKRecovery; } function resetDokuWikiLockTimer(delete_checkbox) { var dom_checkbox = document.getElementById('ckgedit_timer'); var dom_label = document.getElementById('ckgedit_timer_label'); locktimer.clear(); if(ourLockTimerIsSet) { ourLockTimerIsSet = false; locktimer.reset = locktimer.old_reset; locktimer.refresh(); return; } if(delete_checkbox) { dom_checkbox.style.display = 'none'; dom_label.style.display = 'none'; } ourLockTimerIsSet = true; locktimer.reset = locktimer.ourLockTimerReset; lockTimerRefresh(); } function renewLock(bak) { if(ourLockTimerIsSet) { lockTimerRefresh(true); } else { locktimer.refresh(); } locktimer.reset(); if(bak) { var id = "{$ID}"; parse_wikitext('bakup'); var dwform = GetE('dw__editform'); if(dwform.elements.fck_wikitext.value == '__false__' ) return; GetE('saved_wiki_html').innerHTML = CKEDITOR.instances.wiki__text.getData(); // ourFCKEditorNode.innerHTML; if(({$editor_backup}) == 0 ) { return; } var params = "rsave_id=" + encodeURIComponent("{$meta_fn}"); params += '&wikitext='+encodeURIComponent(dwform.elements.fck_wikitext.value); jQuery.post( DOKU_BASE + 'lib/plugins/ckgedit/scripts/refresh_save.php', params, function (data) { if(data == 'done') { show_backup_msg("{$meta_id}"); } else { alert("error saving: " + id); } }, 'html' ); } } function revert_to_prev() { if(!(GetE('saved_wiki_html').innerHTML.length)) { if(!confirm(backup_empty)) { return; } } CKEDITOR.instances.wiki__text.setData( GetE('saved_wiki_html').innerHTML); } function draft_delete() { var debug = false; var params = "draft_id={$cname}"; jQuery.ajax({ url: DOKU_BASE + 'lib/plugins/ckgedit/scripts/draft_delete.php', async: false, data: params, type: 'POST', dataType: 'html', success: function(data){ if(debug) { alert(data); } } }); } function disableDokuWikiLockTimer() { resetDokuWikiLockTimer(false); if(ourLockTimerIntervalID) { window.clearInterval(ourLockTimerIntervalID); } if(ourLockTimerIsSet) { ourLockTimerIntervalID = window.setInterval(function () { locktimer.refresh(); }, 30000); } } function dwfckKeypressInstallHandler() { if(window.addEventListener){ oDokuWiki_FCKEditorInstance.EditorDocument.addEventListener('keyup', handlekeypress , false) ; } else { oDokuWiki_FCKEditorInstance.EditorDocument.attachEvent('onkeyup', handlekeypress ) ; } } var DWFCK_EditorWinObj; function FCKEditorWindowObj(w) { DWFCK_EditorWinObj = w; } function ckgedit_isRTL() { var direction = "{$ckgedit_lang_direction}"; return direction == 'rtl'; } function remove_styling() { //'TextColor,BGColor, FontAssist,Font,FontSize'; var opts = ""; var color_opts = parseInt( "{$color_opts}"); var font_opts = parseInt("{$font_opts}"); var skip_styling=parseInt("{$skip_styling}"); if(color_opts) { opts ='TextColor,BGColor,FontAssist'; } else if(!skip_styling) { opts = 'FontAssist'; } if(font_opts) { if(color_opts || !skip_styling) opts+=','; opts +='Font,FontSize'; } if("{$toolbar_opts}") { if(opts) opts+=','; opts+="{$toolbar_opts}"; } return opts; } function ckgedit_language_chk(config) { if("{$scayt_auto}" == 'on') { config.scayt_autoStartup = true; } else config.scayt_autoStartup = false; config.scayt_sLang="{$scayt_lang}"; var lang = "{$interface_lang}"; if(lang == 'default') return; ; config.language = lang; } var oDokuWiki_FCKEditorInstance; function FCKeditor_OnComplete( editorInstance ) { oDokuWiki_FCKEditorInstance = editorInstance; editorInstance.on( 'key', handlekeypress, editorInstance ); oDokuWiki_FCKEditorInstance.dwiki_user = "******"; oDokuWiki_FCKEditorInstance.dwiki_client = "{$client}"; oDokuWiki_FCKEditorInstance.dwiki_usergroups = "{$user_groups}"; oDokuWiki_FCKEditorInstance.dwiki_doku_base = "{$doku_base}"; oDokuWiki_FCKEditorInstance.dwiki_create_folder = "{$create_folder}"; oDokuWiki_FCKEditorInstance.dwiki_fnencode = "{$fnencode}"; oDokuWiki_FCKEditorInstance.dwiki_version = {$dwiki_version}; oDokuWiki_FCKEditorInstance.dwiki_anteater = {$ver_anteater}; oDokuWiki_FCKEditorInstance.isLocalDwikiBrowser = false; oDokuWiki_FCKEditorInstance.isUrlExtern = false; oDokuWiki_FCKEditorInstance.isDwikiMediaFile = false; oDokuWiki_FCKEditorInstance.imageUploadAllowedExtensions="{$ImageUploadAllowedExtensions}"; oDokuWiki_FCKEditorInstance.fckgUserName = "******"; oDokuWiki_FCKEditorInstance.fckgUserMail="{$user_email}"; oDokuWiki_FCKEditorInstance.useheading = "{$useheading}"; oDokuWiki_FCKEditorInstance.mfiles = parseInt("{$mfiles}"); var index = navigator.userAgent.indexOf('Safari'); if(index == -1 || (navigator.userAgent.indexOf('Chrome'))) { oldBeforeunload = window.onbeforeunload; window.onbeforeunload = ckgeditEditorTextChanged; } } var DWikifnEncode = "{$fnencode}"; /* Make sure that show buttons in top and/or bottom clear the fckl file */ function get_showButtons() {\t \tvar inputs = document.getElementsByTagName('input'); for(var i=0; i<inputs.length; i++) {\t if(inputs[i].type && inputs[i].type.match(/submit/i)) {\t\t \t\t \t\t\tif(inputs[i].value.match(/Show/i) || (inputs[i].form && inputs[i].form.className.match(/btn_show/) ) ) \t\t\tinputs[i].onmouseup = draft_delete; } } } /* make sure the entire page has been loaded */ setTimeout("get_showButtons()", 3000); //]]> </script> end_of_string; }
/** * Return DokuWiki's version (as a string) * * @author Anika Henke <*****@*****.**> */ function getVersion() { $version = getVersionData(); return $version['type'] . ' ' . $version['date']; }
function registerOnLoad($js) { global $ID; global $lang; $preview_button = $lang['btn_preview']; $fckg_conf_direction = $this->getConf('direction'); if ($fckg_conf_direction == "dokuwiki") { $fckg_lang_direction = $lang['direction']; } else { $fckg_lang_direction = $fckg_conf_direction; } $media_tmp_ns = preg_match('/:/', $ID) ? preg_replace('/:\\w+$/', "", $ID, 1) : ""; $locktimer_msg = "Your lock for editing this page is about to expire in a minute.\\n" . "You can reset the timer by clicking the Back-up button."; $meta_fn = metaFN($ID, '.fckg'); $meta_id = 'meta/' . str_replace(':', '/', $ID) . '.fckg'; global $INFO; global $conf; global $USERINFO; $_OS = strtolower(PHP_OS); $cname = getCacheName($INFO['client'] . $ID, '.draft'); $open_upload = $this->getConf('open_upload'); $editor_backup = $this->getConf('editor_bak'); $create_folder = $this->getConf('create_folder'); if (!isset($INFO['userinfo']) && !$open_upload) { $user_type = 'visitor'; } else { $user_type = 'user'; } // if no ACL is used always return upload rights if ($conf['useacl']) { $client = $_SERVER['REMOTE_USER']; } else { $client = ""; } $fnencode = isset($conf['fnencode']) ? $conf['fnencode'] : 'url'; $user_groups = $USERINFO['grps']; if (!$user_groups) { $user_groups = array(); } if (@in_array("guest", $user_groups)) { $create_folder = 'n'; $user_type = 'visitor'; } $user_groups = implode(";;", $user_groups); if ($INFO['isadmin'] || $INFO['ismanager']) { $client = ""; } $user_name = $USERINFO['name']; $user_email = $USERINFO['mail']; $ver_anteater = mktime(0, 0, 0, 11, 7, 2010); $dwiki_version = mktime(0, 0, 0, 01, 01, 2008); if (isset($conf['fnencode'])) { $ver_anteater = mktime(0, 0, 0, 11, 7, 2010); $dwiki_version = mktime(0, 0, 0, 11, 7, 2010); } else { if (function_exists('getVersionData')) { $verdata = getVersionData(); if (isset($verdata) && preg_match('/(\\d+)-(\\d+)-(\\d+)/', $verdata['date'], $ver_date)) { if ($ver_date[1] >= 2005 && ($ver_date[3] > 0 && $ver_date[3] < 31) && ($ver_date[2] > 0 && $ver_date[2] <= 12)) { // month day year $dwiki_version = @mktime(0, 0, 0, $ver_date[2], $ver_date[3], $ver_date[1]); if (!$dwiki_version) { $dwiki_version = mktime(0, 0, 0, 01, 01, 2008); } $ver_anteater = mktime(0, 0, 0, 11, 7, 2010); } } } } $default_fb = $this->getConf('default_fb'); if ($default_fb == 'none') { $client = ""; } $doku_base = DOKU_BASE; return <<<end_of_string <script type='text/javascript'> //<![CDATA[ if(window.dw_locktimer) { var locktimer = dw_locktimer; } var FCKRecovery = ""; var oldonload = window.onload; var ourLockTimerINI = false; var oldBeforeunload; var fckg_onload = function() { {$js} }; jQuery(window).bind('load',{},fckg_onload); function fckgEditorTextChanged() { window.textChanged = false; oldBeforeunload(); if(window.dwfckTextChanged) { return LANG.notsavedyet; } } function getCurrentWikiNS() { var DWikiMediaManagerCommand_ns = '{$media_tmp_ns}'; return DWikiMediaManagerCommand_ns; } var ourLockTimerRefreshID; var ourLockTimerIsSet = true; var ourLockTimerWarningtimerID; var ourFCKEditorNode = null; var ourLockTimerIntervalID; var dwfckTextChanged = false; /** * event handler * handles both mousepresses and keystrokes from FCKeditor window * assigned in fckeditor.html */ function handlekeypress (e) { //alert(e); if(ourLockTimerIsSet) { lockTimerRefresh(); } window.dwfckTextChanged = true; } function unsetDokuWikiLockTimer() { if(window.locktimer && !ourLockTimerINI) { locktimer.old_reset = locktimer.reset; locktimer.old_warning = locktimer.warning; ourLockTimerINI=true; } else { window.setTimeout("unsetDokuWikiLockTimer()", 600); } locktimer.reset = function(){ locktimer.clear(); // alert(locktimer.timeout); window.clearTimeout(ourLockTimerWarningtimerID); ourLockTimerWarningtimerID = window.setTimeout(function () { locktimer.warning(); }, locktimer.timeout); }; locktimer.warning = function(){ window.clearTimeout(ourLockTimerWarningtimerID); if(ourLockTimerIsSet) { if(locktimer.msg.match(/{$preview_button}/i)) { locktimer.msg = locktimer.msg.replace(/{$preview_button}/i, "Back-up"); } alert(locktimer.msg); } else { alert("{$locktimer_msg}"); } }; locktimer.ourLockTimerReset = locktimer.reset; locktimer.our_lasttime = new Date(); lockTimerRefresh(); } function lockTimerRefresh(bak) { var now = new Date(); if(!ourLockTimerINI) unsetDokuWikiLockTimer(); if((now.getTime() - locktimer.our_lasttime.getTime() > 45*1000) || bak){ var dwform = GetE('dw__editform'); window.clearTimeout(ourLockTimerWarningtimerID); var params = 'call=lock&id='+locktimer.pageid; if(ourFCKEditorNode) { dwform.elements.wikitext.value = ourFCKEditorNode.innerHTML; params += '&prefix='+encodeURIComponent(dwform.elements.prefix.value); params += '&wikitext='+encodeURIComponent(dwform.elements.wikitext.value); params += '&suffix='+encodeURIComponent(dwform.elements.suffix.value); params += '&date='+encodeURIComponent(dwform.elements.date.value); } locktimer.our_lasttime = now; jQuery.post( DOKU_BASE + 'lib/exe/ajax.php', params, function (data) { data = data.replace(/auto/,"") + ' by fckgLite'; locktimer.response = data; locktimer.refreshed(data); }, 'html' ); } } /** Legacy function has no current use */ function getRecoveredText() { return FCKRecovery; } function resetDokuWikiLockTimer(delete_checkbox) { var dom_checkbox = document.getElementById('fckg_timer'); var dom_label = document.getElementById('fckg_timer_label'); locktimer.clear(); if(ourLockTimerIsSet) { ourLockTimerIsSet = false; locktimer.reset = locktimer.old_reset; locktimer.refresh(); return; } if(delete_checkbox) { dom_checkbox.style.display = 'none'; dom_label.style.display = 'none'; } ourLockTimerIsSet = true; locktimer.reset = locktimer.ourLockTimerReset; lockTimerRefresh(); } function renewLock(bak) { if(ourLockTimerIsSet) { lockTimerRefresh(true); } else { locktimer.refresh(); } locktimer.reset(); if(bak) { var id = "{$ID}"; parse_wikitext('bakup'); var dwform = GetE('dw__editform'); if(dwform.elements.fck_wikitext.value == '__false__' ) return; GetE('saved_wiki_html').innerHTML = ourFCKEditorNode.innerHTML; if(({$editor_backup}) == 0 ) { return; } var params = "rsave_id={$meta_fn}"; params += '&wikitext='+encodeURIComponent(dwform.elements.fck_wikitext.value); jQuery.post( DOKU_BASE + 'lib/plugins/fckg/scripts/refresh_save.php', params, function (data) { if(data == 'done') { show_backup_msg("{$meta_id}"); } else { alert("error saving: " + id); } }, 'html' ); } } function revert_to_prev() { if(!(GetE('saved_wiki_html').innerHTML.length)) { if(!confirm(backup_empty)) { return; } } ourFCKEditorNode.innerHTML = GetE('saved_wiki_html').innerHTML; } function draft_delete() { var debug = false; var params = "draft_id={$cname}"; jQuery.ajax({ url: DOKU_BASE + 'lib/plugins/fckg/scripts/draft_delete.php', async: false, data: params, type: 'POST', dataType: 'html', success: function(data){ if(debug) { alert(data); } } }); } function disableDokuWikiLockTimer() { resetDokuWikiLockTimer(false); if(ourLockTimerIntervalID) { window.clearInterval(ourLockTimerIntervalID); } if(ourLockTimerIsSet) { ourLockTimerIntervalID = window.setInterval(function () { locktimer.refresh(); }, 30000); } } function dwfckKeypressInstallHandler() { if(window.addEventListener){ oDokuWiki_FCKEditorInstance.EditorDocument.addEventListener('keyup', handlekeypress , false) ; } else { oDokuWiki_FCKEditorInstance.EditorDocument.attachEvent('onkeyup', handlekeypress ) ; } } var DWFCK_EditorWinObj; function FCKEditorWindowObj(w) { DWFCK_EditorWinObj = w; } function fckg_isRTL() { var direction = "{$fckg_lang_direction}"; return direction == 'rtl'; } var oDokuWiki_FCKEditorInstance; function FCKeditor_OnComplete( editorInstance ) { oDokuWiki_FCKEditorInstance = editorInstance; var f = document.getElementById('wiki__text'); oDokuWiki_FCKEditorInstance.VKI_attach = function() { VKI_attach(f, oDokuWiki_FCKEditorInstance.get_FCK(), 'French'); } oDokuWiki_FCKEditorInstance.get_FCK().fckLImmutables = fckLImmutables; oDokuWiki_FCKEditorInstance.dwiki_user = "******"; oDokuWiki_FCKEditorInstance.dwiki_client = "{$client}"; oDokuWiki_FCKEditorInstance.dwiki_usergroups = "{$user_groups}"; oDokuWiki_FCKEditorInstance.dwiki_doku_base = "{$doku_base}"; oDokuWiki_FCKEditorInstance.dwiki_create_folder = "{$create_folder}"; oDokuWiki_FCKEditorInstance.dwiki_fnencode = "{$fnencode}"; oDokuWiki_FCKEditorInstance.dwiki_version = {$dwiki_version}; oDokuWiki_FCKEditorInstance.dwiki_anteater = {$ver_anteater}; document.getElementById('wiki__text___Frame').style.height = "450px"; document.getElementById('size__ctl').innerHTML = document.getElementById('fck_size__ctl').innerHTML; if(window.addEventListener){ editorInstance.EditorDocument.addEventListener('keydown', CTRL_Key_Formats, false) ; if(document.documentMode && document.documentMode == 9) { editorInstance.EditorDocument.addEventListener('click', fckgMousePos, false) ; } } else { editorInstance.EditorDocument.attachEvent('onkeydown', CTRL_Key_Formats) ; } dwfckKeypressInstallHandler(); var index = navigator.userAgent.indexOf('Safari'); if(index == -1 || (navigator.userAgent.indexOf('Chrome'))) { oldBeforeunload = window.onbeforeunload; window.onbeforeunload = fckgEditorTextChanged; } var FCK = oDokuWiki_FCKEditorInstance.get_FCK(); if(FCK.EditorDocument && FCK.EditorDocument.body && !ourFCKEditorNode) { ourFCKEditorNode = FCK.EditorDocument.body; } var FCKConfig = editorInstance.get_FCKConfig(); FCKConfig.fckgUserName = "******"; FCKConfig.fckgUserMail="{$user_email}"; // alert(FCKConfig.name); } function fckgMousePos(e) { if(!e) e=event; if(document.documentMode && document.documentMode == 9) { oDokuWiki_FCKEditorInstance.get_FCK().mouse_x = e.clientX; oDokuWiki_FCKEditorInstance.get_FCK().mouse_y = e.clientY; oDokuWiki_FCKEditorInstance.get_FCK().screen_x = e.screenX; oDokuWiki_FCKEditorInstance.get_FCK().screen_y = e.screenY; oDokuWiki_FCKEditorInstance.get_FCK().target = e.target; } } function CTRL_Key_Formats(parm) { if(!parm.ctrlKey) return; if(parm.altKey) return; // for alt GR key, where ctrl might be set to true \t\t /* h1 - h5 */ if(parm.keyCode >=49 && parm.keyCode <=53) { var n = parm.keyCode - 48; oDokuWiki_FCKEditorInstance.get_FCK().Styles.ApplyStyle('_FCK_h' + n); return; } /* code/monospace -> 77 = 'm' */ if(parm.keyCode == 77) { oDokuWiki_FCKEditorInstance.get_FCK().Styles.ApplyStyle('_FCK_code'); \t\treturn; } /* CTRL-0 = Normal, i.e. <p> */ if(parm.keyCode == 48) { oDokuWiki_FCKEditorInstance.get_FCK().Styles.ApplyStyle('_FCK_p'); } } var DWikifnEncode = "{$fnencode}"; /* Make sure that show buttons in top and/or bottom clear the fckl file */ function get_showButtons() {\t \tvar inputs = document.getElementsByTagName('input'); for(var i=0; i<inputs.length; i++) {\t if(inputs[i].type && inputs[i].type.match(/submit/i)) {\t\t \t\t \t\t\tif(inputs[i].value.match(/Show/i) || (inputs[i].form && inputs[i].form.className.match(/btn_show/) ) ) \t\t\tinputs[i].onmouseup = draft_delete; } } } /* make sure the entire page has been loaded */ setTimeout("get_showButtons()", 3000); //]]> </script> end_of_string; }
/** * Modify the data for the redirect when there is a redirect_id set */ function handle_redirect(Doku_Event &$event, $param) { if (array_key_exists('redirect_id', $_REQUEST)) { // Render metadata when this is an older DokuWiki version where // metadata is not automatically re-rendered as the page has probably // been changed but is not directly displayed $versionData = getVersionData(); if ($versionData['date'] < '2010-11-23') { p_set_metadata($event->data['id'], array(), true); } $event->data['id'] = cleanID($_REQUEST['redirect_id']); $event->data['title'] = ''; } }
/** * Return formated data, depending on column type and DokuWiki version * * @param array $column * @param string $value * @param Doku_Renderer $R * @return string */ function _formatData($column, $value, Doku_Renderer $R) { $dwVersion = getVersionData(); if (isset($dwVersion['date'])) { preg_match('/(\\d+)-(\\d+)-(\\d+)/', $dwVersion['date'], $dwDate); if (mktime(0, 0, 0, $dwDate[2], $dwDate[3], $dwDate[1]) > mktime(0, 0, 0, 7, 30, 2015)) { return $this->_formatDataNew($column, $value, $R); } } return $this->_formatDataOld($column, $value, $R); }
function testFormatData() { global $conf; global $ID; $ID = ''; $helper = new helper_plugin_data(); $renderer = new data_dummy_renderer(); $dwVersion = getVersionData(); $matchString = '<a href=\'http://www.dokuwiki.org\' class=\'urlextern\' rel="nofollow">http://www.dokuwiki.org</a>'; if (isset($dwVersion['date'])) { preg_match('/(\\d+)-(\\d+)-(\\d+)/', $dwVersion['date'], $dwDate); if (mktime(0, 0, 0, $dwDate[2], $dwDate[3], $dwDate[1]) > mktime(0, 0, 0, 7, 30, 2015)) { $matchString = '<a href="http://www.dokuwiki.org" class="urlextern" title="http://www.dokuwiki.org" rel="nofollow">http://www.dokuwiki.org</a>'; } } $this->assertEquals('value1, value2, val', $helper->_formatData(array('type' => ''), "value1\n value2\n val", $renderer)); $this->assertEquals('link: :page ', $helper->_formatData(array('type' => 'page'), "page", $renderer)); $this->assertEquals('link: :page title', $helper->_formatData(array('type' => 'title'), "page|title", $renderer)); $this->assertEquals('link: page title', $helper->_formatData(array('type' => 'pageid'), "page|title", $renderer)); $this->assertEquals('link: :key:page ', $helper->_formatData(array('type' => 'nspage', 'key' => 'key'), "page", $renderer)); $conf['mailguard'] = ''; $this->assertEquals('<a href="mailto:pa:ge" class="mail" title="pa:ge">pa:ge</a>', $helper->_formatData(array('type' => 'mail'), "pa:ge", $renderer)); $this->assertEquals('<a href="mailto:pa:ge" class="mail" title="pa:ge">some user</a>', $helper->_formatData(array('type' => 'mail'), "pa:ge some user", $renderer)); $conf['mailguard'] = 'visible'; $this->assertEquals('<a href="mailto:pa%3Age" class="mail" title="pa:ge">pa:ge</a>', $helper->_formatData(array('type' => 'mail'), "pa:ge", $renderer)); $this->assertEquals('<a href="mailto:pa%3Age" class="mail" title="pa:ge">some user</a>', $helper->_formatData(array('type' => 'mail'), "pa:ge some user", $renderer)); $this->assertEquals('url', $helper->_formatData(array('type' => 'url'), "url", $renderer)); // This test's output is different across dokuwiki versions (order of arguments) $this->assertEquals($matchString, $helper->_formatData(array('type' => 'url'), "http://www.dokuwiki.org", $renderer)); $this->assertEquals('link: ?dataflt%5B0%5D=_%3Dvalue value', $helper->_formatData(array('type' => 'tag'), "value", $renderer)); $this->assertEquals(strftime('%Y/%m/%d %H:%M', 1234567), $helper->_formatData(array('type' => 'timestamp'), "1234567", $renderer)); $this->assertEquals('<strong>bla</strong>', $helper->_formatData(array('type' => 'wiki'), '|**bla**', $renderer)); $this->assertEquals('<a rel="lightbox" href="' . ml('wiki:dokuwiki-128.png', array('cache' => null)) . '" class="media" title="wiki:dokuwiki-128.png"><img src="' . ml('wiki:dokuwiki-128.png', array('w' => 300, 'cache' => null)) . '" class="media" title=": dokuwiki-128.png" alt=": dokuwiki-128.png" width="300" /></a>', $helper->_formatData(array('type' => 'img300'), 'wiki:dokuwiki-128.png', $renderer)); }