Beispiel #1
0
 function initGlobals()
 {
     global $request;
     static $already = 0;
     if (!$already) {
         $script_url = deduce_script_name();
         $script_url .= '/' . $GLOBALS['group_name'];
         if (DEBUG & _DEBUG_REMOTE and isset($_GET['start_debug'])) {
             $script_url .= "?start_debug=" . $_GET['start_debug'];
         }
         $folderArrowPath = dirname($this->_findData('images/folderArrowLoading.gif'));
         $pagename = $request->getArg('pagename');
         $this->addMoreHeaders(JavaScript('', array('src' => $this->_findData("wikilens.js"))));
         $js = "var data_path = '" . javascript_quote_string(DATA_PATH) . "';\n" . "var script_url= '" . javascript_quote_string($script_url) . "';\n" . "var stylepath = data_path+'/" . javascript_quote_string($this->_theme) . "/';\n" . "var folderArrowPath = '" . javascript_quote_string($folderArrowPath) . "';\n" . "var use_path_info = " . (USE_PATH_INFO ? "true" : "false") . ";\n";
         $this->addMoreHeaders(JavaScript($js));
         $already = 1;
     }
 }
Beispiel #2
0
    function calendarInit($force = false)
    {
        $dbi = $GLOBALS['request']->getDbh();
        // display flat calender dhtml in the sidebar
        if ($force or $dbi->isWikiPage($this->calendarBase())) {
            $jslang = @$GLOBALS['LANG'];
            $this->addMoreHeaders($this->_CSSlink(0, $this->_findFile('jscalendar/calendar-phpwiki.css'), 'all'));
            $this->addMoreHeaders(JavaScript('', array('src' => $this->_findData('jscalendar/calendar' . (DEBUG ? '' : '_stripped') . '.js'))));
            if (!($langfile = $this->_findData("jscalendar/lang/calendar-{$jslang}.js"))) {
                $langfile = $this->_findData("jscalendar/lang/calendar-en.js");
            }
            $this->addMoreHeaders(JavaScript('', array('src' => $langfile)));
            $this->addMoreHeaders(JavaScript('', array('src' => $this->_findData('jscalendar/calendar-setup' . (DEBUG ? '' : '_stripped') . '.js'))));
            // Get existing date entries for the current user
            require_once "lib/TextSearchQuery.php";
            $iter = $dbi->titleSearch(new TextSearchQuery("^" . $this->calendarBase() . SUBPAGE_SEPARATOR, true, "auto"));
            $existing = array();
            while ($page = $iter->next()) {
                if ($page->exists()) {
                    $existing[] = basename($page->_pagename);
                }
            }
            if (!empty($existing)) {
                $js_exist = '{"' . join('":1,"', $existing) . '":1}';
                //var SPECIAL_DAYS = {"2004-05-11":1,"2004-05-12":1,"2004-06-01":1}
                $this->addMoreHeaders(JavaScript('
/* This table holds the existing calender entries for the current user
 *  calculated from the database
 */

var SPECIAL_DAYS = ' . javascript_quote_string($js_exist) . ';

/* This function returns true if the date exists in SPECIAL_DAYS */
function dateExists(date, y, m, d) {
    var year = date.getFullYear();
    m = m + 1;
    m = m < 10 ? "0" + m : m;  // integer, 0..11
    d = d < 10 ? "0" + d : d;  // integer, 1..31
    var date = year+"-"+m+"-"+d;
    var exists = SPECIAL_DAYS[date];
    if (!exists) return false;
    else return true;
}
// This is the actual date status handler.
// Note that it receives the date object as well as separate
// values of year, month and date.
function dateStatusFunc(date, y, m, d) {
    if (dateExists(date, y, m, d)) return "existing";
    else return false;
}
'));
            } else {
                $this->addMoreHeaders(JavaScript('
function dateStatusFunc(date, y, m, d) { return false;}'));
            }
        }
    }