Esempio n. 1
0
 /**
  * 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);
                 }
             }
         }
     }
 }
Esempio n. 2
0
    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;
    }
Esempio n. 3
0
/**
 * Return DokuWiki's version (as a string)
 *
 * @author Anika Henke <*****@*****.**>
 */
function getVersion()
{
    $version = getVersionData();
    return $version['type'] . ' ' . $version['date'];
}
Esempio n. 4
0
    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;
    }
Esempio n. 5
0
 /**
  * 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));
 }