当前位置: 首页>>代码示例>>PHP>>正文


PHP JavaScript函数代码示例

本文整理汇总了PHP中JavaScript函数的典型用法代码示例。如果您正苦于以下问题:PHP JavaScript函数的具体用法?PHP JavaScript怎么用?PHP JavaScript使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了JavaScript函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: Head

 function Head($name = 'edit[content]')
 {
     global $WikiTheme;
     foreach (array("Wikiwyg.js", "Wikiwyg/Toolbar.js", "Wikiwyg/Preview.js", "Wikiwyg/Wikitext.js", "Wikiwyg/Wysiwyg.js", "Wikiwyg/Phpwiki.js", "Wikiwyg/HTML.js", "Wikiwyg/Toolbar.js") as $js) {
         $WikiTheme->addMoreHeaders(Javascript('', array('src' => $this->BasePath . '/' . $js, 'language' => 'JavaScript')));
     }
     $doubleClickToEdit = ($GLOBALS['request']->getPref('doubleClickEdit') or ENABLE_DOUBLECLICKEDIT) ? 'true' : 'false';
     if ($GLOBALS['request']->getArg('mode') && $GLOBALS['request']->getArg('mode') == 'wysiwyg') {
         return JavaScript($this->_jsdefault . "\n            window.onload = function() {\n            var wikiwyg = new Wikiwyg.Phpwiki();\n            var config = {\n            doubleClickToEdit:  {$doubleClickToEdit},\n            javascriptLocation: data_path+'/themes/default/Wikiwyg/',\n            toolbar: {\n\t        imagesLocation: data_path+'/themes/default/Wikiwyg/images/',\n\t\tcontrolLayout: [\n\t\t       'save','preview','save_button','|',\n\t\t       'p','|',\n\t\t       'h2', 'h3', 'h4','|',\n\t\t       'bold', 'italic', '|',\n                       'sup', 'sub', '|',\n                       'toc',\n                       'wikitext','|',\n\t\t       'pre','|',\n\t\t       'ordered', 'unordered','hr','|',\n\t\t       'link','|',\n                       'table'\n\t\t       ],\n\t\tstyleSelector: [\n\t\t       'label', 'p', 'h2', 'h3', 'h4', 'pre'\n\t\t\t\t], \n\t\tcontrolLabels: {\n\t               save:     '" . _("Apply changes") . "',\n\t\t       cancel:   '" . _("Exit toolbar") . "',\n\t\t       h2:       '" . _("Title 1") . "',\n\t\t       h3:       '" . _("Title 2") . "',\n\t\t       h4:       '" . _("Title 3") . "',\n\t\t       verbatim: '" . _("Verbatim") . "',\n                       toc:   '" . _("Table of content") . "', \n                       wikitext:   '" . _("Insert Wikitext section") . "', \n                       sup:      '" . _("Sup") . "', \n                       sub:      '" . _("Sub") . "',\n                       preview:  '" . _("Preview") . "',   \n                       save_button:'" . _("Save") . "'   \n\t              }\n            },\n            wysiwyg: {\n                iframeId: 'iframe0'\n            },\n\t    wikitext: {\n\t      supportCamelCaseLinks: true\n\t    }\n            };\n            var div = document.getElementById(\"" . $this->_htmltextid . "\");\n            wikiwyg.createWikiwygArea(div, config);\n            wikiwyg_divs.push(wikiwyg);\n            wikiwyg.editMode();}");
     }
 }
开发者ID:hugcoday,项目名称:wiki,代码行数:11,代码来源:Wikiwyg.php

示例2: EditToolbar

 function EditToolbar()
 {
     global $WikiTheme;
     $this->tokens = array();
     //FIXME: enable Undo button for all other buttons also, not only the search/replace button
     if (JS_SEARCHREPLACE) {
         $this->tokens['JS_SEARCHREPLACE'] = 1;
         $undo_btn = $WikiTheme->getImageURL("ed_undo.png");
         $undo_d_btn = $WikiTheme->getImageURL("ed_undo_d.png");
         // JS_SEARCHREPLACE from walterzorn.de
         $js = Javascript("\nuri_undo_btn   = '" . $undo_btn . "'\nmsg_undo_alt   = '" . _("Undo") . "'\nuri_undo_d_btn = '" . $undo_d_btn . "'\nmsg_undo_d_alt = '" . _("Undo disabled") . "'\nmsg_do_undo    = '" . _("Operation undone") . "'\nmsg_replfound  = '" . _("Substring \"\\1\" found \\2 times. Replace with \"\\3\"?") . "'\nmsg_replnot    = '" . _("String \"%s\" not found.") . "'\nmsg_repl_title     = '" . _("Search & Replace") . "'\nmsg_repl_search    = '" . _("Search for") . "'\nmsg_repl_replace_with = '" . _("Replace with") . "'\nmsg_repl_ok        = '" . _("OK") . "'\nmsg_repl_close     = '" . _("Close") . "'\n");
         if (empty($WikiTheme->_headers_printed)) {
             $WikiTheme->addMoreHeaders($js);
             $WikiTheme->addMoreAttr('body', "SearchReplace", " onload='define_f()'");
         } else {
             // from an actionpage: WikiBlog, AddComment, WikiForum
             printXML($js);
         }
     } else {
         $WikiTheme->addMoreAttr('body', "editfocus", "document.getElementById('edit-content]').editarea.focus()");
     }
     if (ENABLE_EDIT_TOOLBAR) {
         $js = JavaScript('', array('src' => $WikiTheme->_findData("toolbar.js")));
         if (empty($WikiTheme->_headers_printed)) {
             $WikiTheme->addMoreHeaders($js);
         } else {
             // from an actionpage: WikiBlog, AddComment, WikiForum
             printXML($js);
             printXML(JavaScript('define_f()'));
         }
     }
     require_once "lib/WikiPluginCached.php";
     $cache = WikiPluginCached::newCache();
     $dbi = $GLOBALS['request']->getDbh();
     // regenerate if number of pages changes (categories, pages, templates)
     $key = $dbi->numPages();
     $key .= '+categories+plugin' . (isBrowserSafari() ? '+safari' : '');
     if (TOOLBAR_PAGELINK_PULLDOWN) {
         $key .= "+pages";
     }
     if (TOOLBAR_TEMPLATE_PULLDOWN) {
         $key .= "+templates_" . $dbi->getTimestamp();
     }
     $id = $cache->generateId($key);
     $content = $cache->get($id, 'toolbarcache');
     if (!empty($content)) {
         $this->tokens['EDIT_TOOLBAR'] =& $content;
     } else {
         $content = $this->_generate();
         // regenerate buttons every 1 hr/6 hrs
         $cache->save($id, $content, DEBUG ? '+3600' : '+21600', 'toolbarcache');
         $this->tokens['EDIT_TOOLBAR'] =& $content;
     }
 }
开发者ID:hugcoday,项目名称:wiki,代码行数:54,代码来源:EditToolbar.php

示例3: showForm

 function showForm(&$dbi, &$request, $args, $allrelations)
 {
     global $WikiTheme;
     $action = $request->getPostURL();
     $hiddenfield = HiddenInputs($request->getArgs(), '', array('action', 'page', 's'));
     $pagefilter = HTML::input(array('name' => 'page', 'value' => $args['page'], 'title' => _("Search only in these pages. With autocompletion."), 'class' => 'dropdown', 'acdropdown' => 'true', 'autocomplete_complete' => 'true', 'autocomplete_matchsubstring' => 'false', 'autocomplete_list' => 'xmlrpc:wiki.titleSearch ^[S] 4'), '');
     $help = Button('submit:semsearch[help]', "?", false);
     $svalues = empty($allrelations) ? "" : join("','", $allrelations);
     $reldef = JavaScript("var semsearch_relations = new Array('" . $svalues . "')");
     $querybox = HTML::textarea(array('name' => 's', 'title' => _("Enter a valid query expression"), 'rows' => 4, 'acdropdown' => 'true', 'autocomplete_complete' => 'true', 'autocomplete_assoc' => 'false', 'autocomplete_matchsubstring' => 'true', 'autocomplete_list' => 'array:semsearch_relations'), $args['s']);
     $submit = Button('submit:semsearch[relations]', _("Search"), false, array('title' => 'Move to help page. No seperate window'));
     $instructions = _("Search in all specified pages for the expression.");
     $form = HTML::form(array('action' => $action, 'method' => 'post', 'accept-charset' => $GLOBALS['charset']), $reldef, $hiddenfield, HiddenInputs(array('attribute' => '')), $instructions, HTML::br(), HTML::table(array('border' => '0', 'width' => '100%'), HTML::tr(HTML::td(_("Pagename(s): "), $pagefilter), HTML::td(array('align' => 'right'), $help)), HTML::tr(HTML::td(array('colspan' => 2), $querybox))), HTML::br(), HTML::div(array('align' => 'center'), $submit));
     return $form;
 }
开发者ID:hugcoday,项目名称:wiki,代码行数:15,代码来源:SemanticSearchAdvanced.php

示例4: initGlobals

 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;
     }
 }
开发者ID:hugcoday,项目名称:wiki,代码行数:18,代码来源:themeinfo.php

示例5: EditToolbar

 function EditToolbar()
 {
     global $WikiTheme;
     $this->tokens = array();
     //FIXME: enable Undo button for all other buttons also, not only the search/replace button
     if (JS_SEARCHREPLACE) {
         $this->tokens['JS_SEARCHREPLACE'] = 1;
         $undo_btn = $WikiTheme->getImageURL("ed_undo.png");
         $undo_d_btn = $WikiTheme->getImageURL("ed_undo_d.png");
         // JS_SEARCHREPLACE from walterzorn.de
         $WikiTheme->addMoreHeaders(Javascript("\nvar f, sr_undo, replacewin, undo_buffer=new Array(), undo_buffer_index=0;\n\nfunction define_f() {\n   f=document.getElementById('editpage');\n   f.editarea=document.getElementById('edit[content]');\n   sr_undo=document.getElementById('sr_undo');\n   undo_enable(false);\n   f.editarea.focus();\n}\nfunction undo_enable(bool) {\n   if (bool) {\n     sr_undo.src='" . $undo_btn . "';\n     sr_undo.alt='" . _("Undo") . "';\n     sr_undo.disabled = false;\n   } else {\n     sr_undo.src='" . $undo_d_btn . "';\n     sr_undo.alt='" . _("Undo disabled") . "';\n     sr_undo.disabled = true;\n     if(sr_undo.blur) sr_undo.blur();\n  }\n}\nfunction replace() {\n   replacewin = window.open('','','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,height=90,width=450');\n   replacewin.window.document.write('<html><head><title>" . _("Search & Replace") . "</title><style type=\"text/css\"><'+'!'+'-- body, input {font-family:Tahoma,Arial,Helvetica,sans-serif;font-size:10pt;font-weight:bold;} td {font-size:9pt}  --'+'></style></head><body bgcolor=\"#dddddd\" onload=\"if(document.forms[0].ein.focus) document.forms[0].ein.focus(); return false;\"><form><center><table><tr><td align=\"right\">'+'" . _("Search") . ":</td><td align=\"left\"><input type=\"text\" name=\"ein\" size=\"45\" maxlength=\"500\"></td></tr><tr><td align=\"right\">'+' " . _("Replace with") . ":</td><td align=\"left\"><input type=\"text\" name=\"aus\" size=\"45\" maxlength=\"500\"></td></tr><tr><td colspan=\"2\" align=\"center\"><input type=\"button\" value=\" " . _("OK") . " \" onclick=\"if(self.opener)self.opener.do_replace(); return false;\">&nbsp;&nbsp;&nbsp;<input type=\"button\" value=\"" . _("Close") . "\" onclick=\"self.close(); return false;\"></td></tr></table></center></form></body></html>');\n   replacewin.window.document.close();\n   return false;\n}\nfunction do_replace() {\n   var txt=undo_buffer[undo_buffer_index]=f.editarea.value, ein=new RegExp(replacewin.document.forms[0].ein.value,'g'), aus=replacewin.document.forms[0].aus.value;\n   if (ein==''||ein==null) {\n      if (replacewin) replacewin.window.document.forms[0].ein.focus();\n      return;\n   }\n   var z_repl=txt.match(ein)? txt.match(ein).length : 0;\n   txt=txt.replace(ein,aus);\n   ein=ein.toString().substring(1,ein.toString().length-2);\n   result(z_repl, '" . sprintf(_("Substring \"%s\" found %s times. Replace with \"%s\"?"), "'+ein+'", "'+z_repl+'", "'+aus+'") . "', txt, '" . sprintf(_("String \"%s\" not found."), "'+ein+'") . "');\n   replacewin.window.focus();\n   replacewin.window.document.forms[0].ein.focus();\n   return false;\n}\nfunction result(zahl,frage,txt,alert_txt) {\n   if (zahl>0) {\n      if(window.confirm(frage)==true) {\n         f.editarea.value=txt;\n         undo_save();\n         undo_enable(true);\n      }\n   } else alert(alert_txt);\n}\nfunction do_undo() {\n   if(undo_buffer_index==0) return;\n   else if(undo_buffer_index>0) {\n      f.editarea.value=undo_buffer[undo_buffer_index-1];\n      undo_buffer[undo_buffer_index]=null;\n      undo_buffer_index--;\n      if(undo_buffer_index==0) {\n         alert('" . _("Operation undone") . "');\n         undo_enable(false);\n      }\n   }\n}\n//save a snapshot in the undo buffer\nfunction undo_save() {\n   undo_buffer[undo_buffer_index]=f.editarea.value;\n   undo_buffer_index++;\n   undo_enable(true);\n}\n"));
         $WikiTheme->addMoreAttr('body', "SearchReplace", " onload='define_f()'");
     } else {
         $WikiTheme->addMoreAttr('body', "editfocus", "document.getElementById('edit[content]').editarea.focus()");
     }
     if (ENABLE_EDIT_TOOLBAR) {
         $WikiTheme->addMoreHeaders(JavaScript('', array('src' => $WikiTheme->_findData("toolbar.js"))));
     }
     include_once "lib/WikiPluginCached.php";
     $cache = WikiPluginCached::newCache();
     $dbi = $GLOBALS['request']->getDbh();
     // regenerate if number of pages changes (categories, pages, templates)
     $key = $dbi->numPages();
     $key .= '+categories+plugin';
     if (TOOLBAR_PAGELINK_PULLDOWN) {
         $key .= "+pages";
     }
     if (TOOLBAR_TEMPLATE_PULLDOWN) {
         $key .= "+templates_" . $dbi->getTimestamp();
     }
     $id = $cache->generateId($key);
     $content = $cache->get($id, 'toolbarcache');
     if (!empty($content)) {
         $this->tokens['EDIT_TOOLBAR'] =& $content;
     } else {
         $content = $this->_generate();
         // regenerate buttons every 3600 seconds
         $cache->save($id, $content, '+3600', 'toolbarcache');
         $this->tokens['EDIT_TOOLBAR'] =& $content;
     }
 }
开发者ID:pombredanne,项目名称:tuleap,代码行数:41,代码来源:EditToolbar.php

示例6: showForm

 function showForm(&$dbi, &$request, $args)
 {
     $action = $request->getPostURL();
     $hiddenfield = HiddenInputs($request->getArgs(), '', array('action', 'page', 's', 'direction'));
     $pagefilter = HTML::input(array('name' => 'page', 'value' => $args['page'], 'title' => _("Search only in these pages. With autocompletion."), 'class' => 'dropdown', 'acdropdown' => 'true', 'autocomplete_complete' => 'true', 'autocomplete_matchsubstring' => 'false', 'autocomplete_list' => 'xmlrpc:wiki.titleSearch ^[S] 4'), '');
     $query = HTML::input(array('name' => 's', 'value' => $args['s'], 'title' => _("Filter by this link. These are pagenames. With autocompletion."), 'class' => 'dropdown', 'acdropdown' => 'true', 'autocomplete_complete' => 'true', 'autocomplete_matchsubstring' => 'true', 'autocomplete_list' => 'xmlrpc:wiki.titleSearch ^[S] 4'), '');
     $dirsign_switch = JavaScript("\nfunction dirsign_switch() {\n  var d = document.getElementById('dirsign')\n  d.innerHTML = (d.innerHTML == ' =&gt; ') ? ' &lt;= ' : ' =&gt; '\n}\n");
     $dirsign = " => ";
     $in = $out = array('name' => 'direction', 'type' => 'radio', 'onChange' => 'dirsign_switch()');
     $out['value'] = 'out';
     $out['id'] = 'dir_out';
     if ($args['direction'] == 'out') {
         $out['checked'] = 'checked';
     }
     $in['value'] = 'in';
     $in['id'] = 'dir_in';
     if ($args['direction'] == 'in') {
         $in['checked'] = 'checked';
         $dirsign = " <= ";
     }
     $direction = HTML(HTML::input($out), HTML::label(array('for' => 'dir_out'), _("outgoing")), HTML::input($in), HTML::label(array('for' => 'dir_in'), _("incoming")));
     /*
     $direction = HTML::select(array('name'=>'direction',
                                     'onChange' => 'dirsign_switch()'));
     $out = array('value' => 'out');
     if ($args['direction']=='out') $out['selected'] = 'selected';
     $in = array('value' => 'in');
     if ($args['direction']=='in') {
         $in['selected'] = 'selected';
         $dirsign = " <= ";
     }
     $direction->pushContent(HTML::option($out, _("outgoing")));
     $direction->pushContent(HTML::option($in, _("incoming")));
     */
     $submit = Button('submit:search', _("LinkSearch"), false);
     $instructions = _("Search in pages for links with the matching name.");
     $form = HTML::form(array('action' => $action, 'method' => 'GET', 'accept-charset' => $GLOBALS['charset']), $dirsign_switch, $hiddenfield, $instructions, HTML::br(), $pagefilter, HTML::strong(HTML::tt(array('id' => 'dirsign'), $dirsign)), $query, HTML::raw('&nbsp;'), $direction, HTML::raw('&nbsp;'), $submit);
     return $form;
 }
开发者ID:hugcoday,项目名称:wiki,代码行数:39,代码来源:LinkSearch.php

示例7: run

 function run($dbi, $argstr, &$request, $basepage)
 {
     global $WikiTheme;
     $args = $this->getArgs($argstr, $request);
     if (empty($this->source)) {
         return '';
     }
     $html = HTML();
     if (empty($WikiTheme->_asciiSVG)) {
         $js = JavaScript('', array('src' => $WikiTheme->_findData('ASCIIsvg.js')));
         if (empty($WikiTheme->_headers_printed)) {
             $WikiTheme->addMoreHeaders($js);
         } else {
             $html->pushContent($js);
         }
         $WikiTheme->_asciiSVG = 1;
         // prevent duplicates
     }
     // extract <script>
     if (preg_match("/^(.*)<script>(.*)<\\/script>/ism", $this->source, $m)) {
         $this->source = $m[1];
         $args['script'] = $m[2];
     }
     $embedargs = array('width' => $args['width'], 'height' => $args['height'], 'script' => $this->source);
     // additional onmousemove argument
     if ($args['onmousemove']) {
         $embedargs['onmousemove'] = $args['onmousemove'];
     }
     // we need script='data' and not script="data"
     $embed = new AsciiSVG_HTML("embed", $embedargs);
     $html->pushContent($embed);
     if ($args['script']) {
         $html->pushContent(JavaScript($args['script']));
     }
     return $html;
 }
开发者ID:hugcoday,项目名称:wiki,代码行数:36,代码来源:AsciiSVG.php

示例8: redirect

 function redirect($url, $noreturn = true)
 {
     $bogus = defined('DISABLE_HTTP_REDIRECT') && DISABLE_HTTP_REDIRECT;
     if (!$bogus) {
         header("Location: {$url}");
         /*
          * "302 Found" is not really meant to be sent in response
          * to a POST.  Worse still, according to (both HTTP 1.0
          * and 1.1) spec, the user, if it is sent, the user agent
          * is supposed to use the same method to fetch the
          * redirected URI as the original.
          *
          * That means if we redirect from a POST, the user-agent
          * supposed to generate another POST.  Not what we want.
          * (We do this after a page save after all.)
          *
          * Fortunately, most/all browsers don't do that.
          *
          * "303 See Other" is what we really want.  But it only
          * exists in HTTP/1.1
          *
          * FIXME: this is still not spec compliant for HTTP
          * version < 1.1.
          */
         $status = $this->httpVersion() >= 1.1 ? 303 : 302;
         $this->setStatus($status);
     }
     if ($noreturn) {
         $this->discardOutput();
         // This might print the gzip headers. Not good.
         $this->buffer_output(false);
         include_once 'lib/Template.php';
         $tmpl = new Template('redirect', $this, array('REDIRECT_URL' => $url));
         $tmpl->printXML();
         $this->finish();
     } elseif ($bogus) {
         // Safari needs window.location.href = targeturl
         return JavaScript("\n              function redirect(url) {\n                if (typeof location.replace == 'function')\n                  location.replace(url);\n                else if (typeof location.assign == 'function')\n                  location.assign(url);\n                else if (self.location.href)\n                  self.location.href = url;\n                else\n                  window.location = url;\n              }\n              redirect('" . addslashes($url) . "')");
     }
 }
开发者ID:neymanna,项目名称:fusionforge,代码行数:40,代码来源:Request.php

示例9: calendarInit

    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;}'));
            }
        }
    }
开发者ID:hugcoday,项目名称:wiki,代码行数:57,代码来源:WikiTheme.php

示例10: Textarea

 function Textarea($textarea, $wikitext, $name = 'edit[content]')
 {
     $out = HTML($textarea);
     $out->pushContent(JavaScript("editor_generate('" . $name . "');", array('version' => 'JavaScript1.2', 'defer' => 1)));
     return $out;
 }
开发者ID:hugcoday,项目名称:wiki,代码行数:6,代码来源:htmlarea2.php

示例11: initLiveSearch

 function initLiveSearch()
 {
     if (!$this->HTML_DUMP_SUFFIX) {
         $this->addMoreAttr('body', 'LiveSearch', HTML::Raw(" onload=\"liveSearchInit()"));
         $this->addMoreHeaders(JavaScript('var liveSearchURI="' . WikiURL(_("TitleSearch"), false, true) . '";'));
         $this->addMoreHeaders(JavaScript('', array('src' => $this->_findData('livesearch.js'))));
     }
 }
开发者ID:pombredanne,项目名称:tuleap,代码行数:8,代码来源:Theme.php

示例12: showForm

 function showForm(&$dbi, &$request, $args)
 {
     global $WikiTheme;
     $action = $request->getPostURL();
     $hiddenfield = HiddenInputs($request->getArgs(), '', array('action', 'page', 's', 'semsearch', 'relation', 'attribute'));
     $pagefilter = HTML::input(array('name' => 'page', 'value' => $args['page'], 'title' => _("Search only in these pages. With autocompletion."), 'class' => 'dropdown', 'acdropdown' => 'true', 'autocomplete_complete' => 'true', 'autocomplete_matchsubstring' => 'false', 'autocomplete_list' => 'xmlrpc:wiki.titleSearch ^[S] 4'), '');
     $allrelations = $dbi->listRelations(false, false, true);
     $svalues = empty($allrelations) ? "" : join("','", $allrelations);
     $reldef = JavaScript("var semsearch_relations = new Array('" . $svalues . "')");
     $relation = HTML::input(array('name' => 'relation', 'value' => $args['relation'], 'title' => _("Filter by this relation. With autocompletion."), 'class' => 'dropdown', 'style' => 'width:10em', 'acdropdown' => 'true', 'autocomplete_assoc' => 'false', 'autocomplete_complete' => 'true', 'autocomplete_matchsubstring' => 'true', 'autocomplete_list' => 'array:semsearch_relations'), '');
     $queryrel = HTML::input(array('name' => 's', 'value' => $args['s'], 'title' => _("Filter by this link. These are pagenames. With autocompletion."), 'class' => 'dropdown', 'acdropdown' => 'true', 'autocomplete_complete' => 'true', 'autocomplete_matchsubstring' => 'true', 'autocomplete_list' => 'xmlrpc:wiki.titleSearch ^[S] 4'), '');
     $relsubmit = Button('submit:semsearch[relations]', _("Relations"), false);
     // just testing some dhtml... not yet done
     $enhancements = HTML();
     $nbsp = HTML::raw('&nbsp;');
     $this_uri = $_SERVER['REQUEST_URI'] . '#';
     $andbutton = new Button(_("AND"), $this_uri, 'wikiaction', array('onclick' => "addquery('rel', 'and')", 'title' => _("Add an AND query")));
     $orbutton = new Button(_("OR"), $this_uri, 'wikiaction', array('onclick' => "addquery('rel', 'or')", 'title' => _("Add an OR query")));
     if (DEBUG) {
         $enhancements = HTML::span($andbutton, $nbsp, $orbutton);
     }
     $instructions = _("Search in pages for a relation with that value (a pagename).");
     $form1 = HTML::form(array('action' => $action, 'method' => 'post', 'accept-charset' => $GLOBALS['charset']), $reldef, $hiddenfield, HiddenInputs(array('attribute' => '')), $instructions, HTML::br(), HTML::table(array('border' => 0, 'cellspacing' => 2), HTML::colgroup(array('span' => 6)), HTML::thead(HTML::tr(HTML::th('Pagefilter'), HTML::th('Relation'), HTML::th(), HTML::th('Links'), HTML::th())), HTML::tbody(HTML::tr(HTML::td($pagefilter, ": "), HTML::td($relation), HTML::td(HTML::strong(HTML::tt('  ::  '))), HTML::td($queryrel), HTML::td($nbsp, $relsubmit, $nbsp, $enhancements)))));
     $allattrs = $dbi->listRelations(false, true, true);
     if (empty($allrelations) and empty($allattrs)) {
         // be nice to the dummy.
         $this->_norelations_warning = 1;
     }
     $svalues = empty($allattrs) ? "" : join("','", $allattrs);
     $attdef = JavaScript("var semsearch_attributes = new Array('" . $svalues . "')\n" . "var semsearch_op = new Array('" . join("','", $this->_supported_operators) . "')");
     // TODO: We want some more tricks: Autofill the base unit of the selected
     // attribute into the s area.
     $attribute = HTML::input(array('name' => 'attribute', 'value' => $args['attribute'], 'title' => _("Filter by this attribute name. With autocompletion."), 'class' => 'dropdown', 'style' => 'width:10em', 'acdropdown' => 'true', 'autocomplete_complete' => 'true', 'autocomplete_matchsubstring' => 'true', 'autocomplete_assoc' => 'false', 'autocomplete_list' => 'array:semsearch_attributes'), '');
     $attr_op = HTML::input(array('name' => 'attr_op', 'value' => $args['attr_op'], 'title' => _("Comparison operator. With autocompletion."), 'class' => 'dropdown', 'style' => 'width:2em', 'acdropdown' => 'true', 'autocomplete_complete' => 'true', 'autocomplete_matchsubstring' => 'true', 'autocomplete_assoc' => 'false', 'autocomplete_list' => 'array:semsearch_op'), '');
     $queryatt = HTML::input(array('name' => 's', 'value' => $args['s'], 'title' => _("Filter by this numeric attribute value. With autocompletion."), 'class' => 'dropdown', 'acdropdown' => 'false', 'autocomplete_complete' => 'true', 'autocomplete_matchsubstring' => 'false', 'autocomplete_assoc' => 'false', 'autocomplete_list' => 'plugin:SemanticSearch page=' . $args['page'] . ' attribute=^[S] attr_op==~'), '');
     $andbutton = new Button(_("AND"), $this_uri, 'wikiaction', array('onclick' => "addquery('attr', 'and')", 'title' => _("Add an AND query")));
     $orbutton = new Button(_("OR"), $this_uri, 'wikiaction', array('onclick' => "addquery('attr', 'or')", 'title' => _("Add an OR query")));
     if (DEBUG) {
         $enhancements = HTML::span($andbutton, $nbsp, $orbutton);
     }
     $attsubmit = Button('submit:semsearch[attributes]', _("Attributes"), false);
     $instructions = HTML::span(_("Search in pages for an attribute with that numeric value."), "\n");
     if (DEBUG) {
         $instructions->pushContent(HTML(" ", new Button(_("Advanced..."), _("SemanticSearchAdvanced"))));
     }
     $form2 = HTML::form(array('action' => $action, 'method' => 'post', 'accept-charset' => $GLOBALS['charset']), $attdef, $hiddenfield, HiddenInputs(array('relation' => '')), $instructions, HTML::br(), HTML::table(array('border' => 0, 'cellspacing' => 2), HTML::colgroup(array('span' => 6)), HTML::thead(HTML::tr(HTML::th('Pagefilter'), HTML::th('Attribute'), HTML::th('Op'), HTML::th('Value'), HTML::th())), HTML::tbody(HTML::tr(HTML::td($pagefilter, ": "), HTML::td($attribute), HTML::td($attr_op), HTML::td($queryatt), HTML::td($nbsp, $attsubmit, $nbsp, $enhancements)))));
     return HTML($form1, $form2);
 }
开发者ID:hugcoday,项目名称:wiki,代码行数:48,代码来源:SemanticSearch.php

示例13: IfJavaScript

/** Conditionally display content based of whether javascript is supported.
 *
 * This conditionally (on the client side) displays one of two alternate
 * contents depending on whether the client supports javascript.
 *
 * NOTE:
 * The content you pass as arguments to this function must be block-level.
 * (This is because the <noscript> tag is block-level.)
 *
 * @param mixed $if_content Content to display if the browser supports
 * javascript.
 *
 * @param mixed $else_content Content to display if the browser does
 * not support javascript.
 *
 * @return XmlContent
 */
function IfJavaScript($if_content = false, $else_content = false)
{
    $html = array();
    if ($if_content) {
        $xml = AsXML($if_content);
        $js = sprintf('document.write("%s");', addcslashes($xml, "..!@\\..ÿ"));
        $html[] = JavaScript($js);
    }
    if ($else_content) {
        $html[] = HTML::noscript(false, $else_content);
    }
    return HTML($html);
}
开发者ID:hugcoday,项目名称:wiki,代码行数:30,代码来源:HtmlElement.php

示例14: run

 function run($dbi, $argstr, &$request, $basepage)
 {
     extract($this->getArgs($argstr, $request));
     $attributes = $attrib ? explode(",", $attrib) : array();
     $photos = array();
     $html = HTML();
     $count = 0;
     // check all parameters
     // what type do we have?
     if (!$src) {
         $showdesc = 'none';
         $src = $request->getArg('pagename');
         $error = $this->fromLocation($src, $photos);
     } else {
         $error = $this->fromFile($src, $photos, $url);
     }
     if ($error) {
         return $this->error($error);
     }
     if ($numcols < 1) {
         $numcols = 1;
     }
     if ($align != 'left' && $align != 'center' && $align != 'right') {
         $align = 'center';
     }
     if (count($photos) == 0) {
         return;
     }
     if (in_array("sort", $attributes)) {
         sort($photos);
     }
     if ($p) {
         $mode = "normal";
     }
     if ($mode == "column") {
         $mode = "normal";
         $numcols = "1";
     }
     // set some fixed properties for each $mode
     if ($mode == 'thumbs' || $mode == 'tiles') {
         $attributes = array_merge($attributes, "alt");
         $attributes = array_merge($attributes, "nowrap");
         $cellwidth = 'auto';
         // else cell won't nowrap
         $width = 50;
     } elseif ($mode == 'list') {
         $numcols = 1;
         $cellwidth = "auto";
         $width = 50;
     } elseif ($mode == 'slide') {
         $tableheight = 0;
         $cell_width = 0;
         $numcols = count($photos);
         $keep = $photos;
         while (list($key, $value) = each($photos)) {
             list($x, $y, $s, $t) = @getimagesize($value['src']);
             if ($height != 'auto') {
                 $y = $this->newSize($y, $height);
             }
             if ($width != 'auto') {
                 $y = round($y * $this->newSize($x, $width) / $x);
             }
             if ($x > $cell_width) {
                 $cell_width = $x;
             }
             if ($y > $tableheight) {
                 $tableheight = $y;
             }
         }
         $tableheight += 50;
         $photos = $keep;
         unset($x, $y, $s, $t, $key, $value, $keep);
     }
     $row = HTML();
     $duration = 1000 * $duration;
     if ($mode == 'slide') {
         $row->pushContent(JavaScript("\ni = 0;\nfunction display_slides() {\n  j = i - 1;\n  cell0 = document.getElementsByName('wikislide' + j);\n  cell = document.getElementsByName('wikislide' + i);\n  if (cell0.item(0) != null)\n    cell0.item(0).style.display='none';\n  if (cell.item(0) != null)\n    cell.item(0).style.display='block';\n  i += 1;\n  if (cell.item(0) == null) i = 0;\n  setTimeout('display_slides()',{$duration});\n}\ndisplay_slides();"));
     }
     while (list($key, $value) = each($photos)) {
         if ($p && basename($value["name"]) != "{$p}") {
             continue;
         }
         if ($h && basename($value["name"]) == "{$h}") {
             $color = $hlcolor ? $hlcolor : $bgcolor;
         } else {
             $color = $bgcolor;
         }
         // $params will be used for each <img > tag
         $params = array('src' => $value["name"], 'src_tile' => $value["name_tile"], 'border' => "0", 'alt' => ($value["desc"] != "" and in_array("alt", $attributes)) ? $value["desc"] : basename($value["name"]));
         if (!@empty($value['location'])) {
             $params = array_merge($params, array("location" => $value['location']));
         }
         // check description
         switch ($showdesc) {
             case 'none':
                 $value["desc"] = '';
                 break;
             case 'name':
                 $value["desc"] = basename($value["name"]);
                 break;
//.........这里部分代码省略.........
开发者ID:neymanna,项目名称:fusionforge,代码行数:101,代码来源:PhotoAlbum.php

示例15: sidebar_link

 function sidebar_link()
 {
     extract($this->_args);
     $pagetitle = $show_minor ? _("RecentEdits") : _("RecentChanges");
     global $request;
     $sidebarurl = WikiURL($pagetitle, array('format' => 'sidebar'), 'absurl');
     $addsidebarjsfunc = "function addPanel() {\n" . "    window.sidebar.addPanel (\"" . sprintf("%s - %s", WIKI_NAME, $pagetitle) . "\",\n" . "       \"{$sidebarurl}\",\"\");\n" . "}\n";
     $jsf = JavaScript($addsidebarjsfunc);
     global $WikiTheme;
     $sidebar_button = $WikiTheme->makeButton("sidebar", 'javascript:addPanel();', 'sidebaricon');
     $addsidebarjsclick = asXML(HTML::small(array('style' => 'font-weight:normal;vertical-align:middle;'), $sidebar_button));
     $jsc = JavaScript("if ((typeof window.sidebar == 'object') &&\n" . "    (typeof window.sidebar.addPanel == 'function'))\n" . "   {\n" . "       document.write('{$addsidebarjsclick}');\n" . "   }\n");
     return HTML(new RawXML("\n"), $jsf, new RawXML("\n"), $jsc);
 }
开发者ID:neymanna,项目名称:fusionforge,代码行数:14,代码来源:RecentChanges.php


注:本文中的JavaScript函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。