本文整理汇总了PHP中HTML::form方法的典型用法代码示例。如果您正苦于以下问题:PHP HTML::form方法的具体用法?PHP HTML::form怎么用?PHP HTML::form使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HTML
的用法示例。
在下文中一共展示了HTML::form方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: run
function run($dbi, $argstr, &$request, $basepage)
{
$request->setArg('action', false);
$args = $this->getArgs($argstr, $request);
extract($args);
if ($goto = $request->getArg('goto')) {
// The user has pressed 'Go'; process request
$request->setArg('goto', false);
$target = $goto['target'];
if ($dbi->isWikiPage($target)) {
$url = WikiURL($target, 0, 1);
} else {
$url = WikiURL($target, array('action' => 'edit'), 1);
}
$request->redirect($url);
// User should see nothing after redirect
return '';
}
$action = $request->getURLtoSelf();
$form = HTML::form(array('action' => $action, 'method' => 'post'));
$form->pushContent(HiddenInputs($request->getArgs()));
$textfield = HTML::input(array('type' => 'text', 'size' => $size, 'name' => 'goto[target]'));
$button = Button('submit:goto[go]', _("Go"), false);
$form->pushContent($textfield, $button);
return $form;
}
示例2: PurgePage
function PurgePage(&$request)
{
global $WikiTheme;
$page = $request->getPage();
$pagelink = WikiLink($page);
if ($request->getArg('cancel')) {
$request->redirect(WikiURL($page));
// noreturn
}
$current = $page->getCurrentRevision();
if (!$current or !($version = $current->getVersion())) {
$html = HTML::p(array('class' => 'error'), _("Sorry, this page does not exist."));
} elseif (!$request->isPost() || !$request->getArg('verify')) {
$purgeB = Button('submit:verify', _("Purge Page"), 'wikiadmin');
$cancelB = Button('submit:cancel', _("Cancel"), 'button');
// use generic wiki button look
$fieldset = HTML::fieldset(HTML::p(fmt("You are about to purge '%s'!", $pagelink)), HTML::form(array('method' => 'post', 'action' => $request->getPostURL()), HiddenInputs(array('currentversion' => $version, 'pagename' => $page->getName(), 'action' => 'purge')), HTML::div(array('class' => 'toolbar'), $purgeB, $WikiTheme->getButtonSeparator(), $cancelB)));
$sample = HTML::div(array('class' => 'transclusion'));
// simple and fast preview expanding only newlines
foreach (explode("\n", firstNWordsOfContent(100, $current->getPackedContent())) as $s) {
$sample->pushContent($s, HTML::br());
}
$html = HTML($fieldset, HTML::div(array('class' => 'wikitext'), $sample));
} elseif ($request->getArg('currentversion') != $version) {
$html = HTML(HTML::p(array('class' => 'error'), _("Someone has edited the page!")), HTML::p(fmt("Since you started the purge process, someone has saved a new version of %s. Please check to make sure you still want to permanently purge the page from the database.", $pagelink)));
} else {
// Real purge.
$pagename = $page->getName();
$dbi = $request->getDbh();
$dbi->purgePage($pagename);
$dbi->touch();
$html = HTML::div(array('class' => 'feedback'), fmt("Purged page '%s' successfully.", $pagename));
}
GeneratePage($html, _("Purge Page"));
}
示例3: run
function run($dbi, $argstr, &$request, $basepage)
{
/* plugin not yet has arguments - save for later (copied from UpLoad)
$args = $this->getArgs($argstr, $request);
extract($args);
*/
$form = HTML::form(array('action' => $request->getPostURL(), 'enctype' => 'multipart/form-data', 'method' => 'post'));
$contents = HTML::div(array('class' => 'wikiaction'));
$contents->pushContent(HTML::input(array('type' => 'hidden', 'name' => 'MAX_FILE_SIZE', 'value' => MAX_UPLOAD_SIZE)));
$contents->pushContent(HTML::input(array('name' => 'userfile', 'type' => 'file', 'size' => '50')));
$contents->pushContent(HTML::raw(" "));
$contents->pushContent(HTML::input(array('value' => _("Convert"), 'type' => 'submit')));
$form->pushContent($contents);
$message = HTML();
$userfile = $request->getUploadedFile('userfile');
if ($userfile) {
$userfile_name = $userfile->getName();
$userfile_name = basename($userfile_name);
$userfile_tmpname = $userfile->getTmpName();
if (!preg_match("/(\\.html|\\.htm)\$/i", $userfile_name)) {
$message->pushContent(_("Only files with extension HTML are allowed"), HTML::br(), HTML::br());
} else {
$message->pushContent(_("Processed {$userfile_name}"), HTML::br(), HTML::br());
$message->pushContent(_("Copy the output below and paste it into your Wiki page."), HTML::br());
$message->pushContent($this->_process($userfile_tmpname));
}
} else {
$message->pushContent(HTML::br(), HTML::br());
}
$result = HTML();
$result->pushContent($form);
$result->pushContent($message);
return $result;
}
示例4: RemovePage
function RemovePage(&$request)
{
global $WikiTheme;
$page = $request->getPage();
$pagelink = WikiLink($page);
if ($request->getArg('cancel')) {
$request->redirect(WikiURL($page));
// noreturn
}
$current = $page->getCurrentRevision();
if (!$current or !($version = $current->getVersion())) {
$html = HTML(HTML::h2(_("Already deleted")), HTML::p(_("Sorry, this page is not in the database.")));
} elseif (!$request->isPost() || !$request->getArg('verify')) {
$removeB = Button('submit:verify', _("Remove Page"), 'wikiadmin');
$cancelB = Button('submit:cancel', _("Cancel"), 'button');
// use generic wiki button look
$html = HTML(HTML::h2(fmt("You are about to remove '%s'!", $pagelink)), HTML::form(array('method' => 'post', 'action' => $request->getPostURL()), HiddenInputs(array('currentversion' => $version, 'pagename' => $page->getName(), 'action' => 'remove')), HTML::div(array('class' => 'toolbar'), $removeB, $WikiTheme->getButtonSeparator(), $cancelB)), HTML::hr());
$sample = HTML::div(array('class' => 'transclusion'));
// simple and fast preview expanding only newlines
foreach (explode("\n", firstNWordsOfContent(100, $current->getPackedContent())) as $s) {
$sample->pushContent($s, HTML::br());
}
$html->pushContent(HTML::div(array('class' => 'wikitext'), $sample));
} elseif ($request->getArg('currentversion') != $version) {
$html = HTML(HTML::h2(_("Someone has edited the page!")), HTML::p(fmt("Since you started the deletion process, someone has saved a new version of %s. Please check to make sure you still want to permanently remove the page from the database.", $pagelink)));
} else {
// Codendi specific: remove the deleted wiki page from ProjectWantedPages
$projectPageName = 'ProjectWantedPages';
$pagename = $page->getName();
$dbi = $request->getDbh();
require_once PHPWIKI_DIR . "/lib/loadsave.php";
$pagehandle = $dbi->getPage($projectPageName);
if ($pagehandle->exists()) {
// don't replace default contents
$current = $pagehandle->getCurrentRevision();
$version = $current->getVersion();
$text = $current->getPackedContent();
$meta = $current->_data;
}
$text = str_replace("* [{$pagename}]", "", $text);
$meta['summary'] = $GLOBALS['Language']->getText('wiki_lib_wikipagewrap', 'page_added', array($pagename));
$meta['author'] = user_getname();
$pagehandle->save($text, $version + 1, $meta);
//Codendi specific: remove permissions for this page @codenditodo: may be transferable otherwhere.
require_once 'common/wiki/lib/WikiPage.class.php';
$wiki_page = new WikiPage(GROUP_ID, $_REQUEST['pagename']);
$wiki_page->resetPermissions();
// Real delete.
//$pagename = $page->getName();
$dbi = $request->getDbh();
$dbi->deletePage($pagename);
$dbi->touch();
$link = HTML::a(array('href' => 'javascript:history.go(-2)'), _("Back to the previous page."));
$html = HTML(HTML::h2(fmt("Removed page '%s' successfully.", $pagename)), HTML::div($link), HTML::hr());
}
GeneratePage($html, _("Remove Page"));
}
示例5: showNotify
function showNotify(&$request, $messages, $page, $pagelist, $verified)
{
$isNecessary = !$this->contains($pagelist, $page);
$form = HTML::form(array('action' => $request->getPostURL(), 'method' => 'post'), HiddenInputs(array('verify' => 1)), HiddenInputs($request->getArgs(), false, array('verify')), $messages, HTML::p(_("Your current watchlist: "), $this->showWatchList($pagelist)));
if ($isNecessary) {
$form->pushContent(HTML::p(_("New watchlist: "), $this->showWatchList($this->addpagelist($page, $pagelist))), HTML::p(sprintf(_("Do you %s want to add this page \"%s\" to your WatchList?"), $verified ? _("really") : "", $page)), HTML::p(Button('submit:add', _("Yes")), HTML::Raw(' '), Button('submit:cancel', _("Cancel"))));
} else {
$form->pushContent(HTML::p(fmt("The page %s is already watched!", $page)), HTML::p(Button('submit:edit', _("Edit")), HTML::Raw(' '), Button('submit:cancel', _("Cancel"))));
}
$fieldset = HTML::fieldset(HTML::legend("Watch Page"), $form);
return $fieldset;
}
示例6: run
function run($dbi, $argstr, &$request, $basepage)
{
/* ignore fatal on loading */
/*
global $ErrorManager;
$ErrorManager->pushErrorHandler(new WikiMethodCb($this,'_error_handler'));
*/
// Require the XML_FOAF_Parser class. This is a pear library not included with phpwiki.
// see doc/README.foaf
if (findFile('XML/FOAF/Parser.php', 'missing_ok')) {
require_once 'XML/FOAF/Parser.php';
}
//$ErrorManager->popErrorHandler();
if (!class_exists('XML_FOAF_Parser')) {
return $this->error(_("required pear library XML/FOAF/Parser.php not found in include_path"));
}
extract($this->getArgs($argstr, $request));
// Get our FOAF File from the foaf plugin argument or $_GET['foaf']
if (empty($foaf)) {
$foaf = $request->getArg('foaf');
}
$chooser = HTML::form(array('method' => 'get', 'action' => $request->getURLtoSelf()), HTML::h4(_("FOAF File URI")), HTML::input(array('id' => 'foaf', 'name' => 'foaf', 'type' => 'text', 'size' => '80', 'value' => $foaf)), HTML::br(), HTML::input(array('id' => 'pretty', 'name' => 'pretty', 'type' => 'radio', 'checked' => 'checked'), _("Pretty HTML")), HTML::input(array('id' => 'original', 'name' => 'original', 'type' => 'radio'), _("Original URL (Redirect)")), HTML::br(), HTML::input(array('type' => 'submit', 'value' => _("Parse FOAF"))));
if (empty($foaf)) {
return $chooser;
} else {
//Error Checking
if (substr($foaf, 0, 7) != "http://") {
return $this->error(_("foaf must be a URI starting with http://"));
}
// Start of output
if (!empty($original)) {
$request->redirect($foaf);
} else {
$foaffile = url_get_contents($foaf);
if (!$foaffile) {
//TODO: get errormsg
return HTML(HTML::p("Resource isn't available: Something went wrong, probably a 404!"));
}
// Create new Parser object
$parser = new XML_FOAF_Parser();
// Parser FOAF into $foaffile
$parser->parseFromMem($foaffile);
$a = $parser->toArray();
$html = HTML(HTML::h1(@$a[0]["name"]), HTML::table(HTML::thead(), HTML::tbody(@$a[0]["title"] ? HTML::tr(HTML::td(_("Title")), HTML::td($a[0]["title"])) : null, @$a[0]["homepage"][0] ? $this->iterateHTML($a[0], "homepage", $a["dc"]) : null, @$a[0]["weblog"][0] ? $this->iterateHTML($a[0], "weblog", $a["dc"]) : null, HTML::tr(HTML::td("Full Name"), @$a[0]["name"][0] ? HTML::td(@$a[0]["name"]) : null), @$a[0]["nick"][0] ? $this->iterateHTML($a[0], "nick", $a["dc"]) : null, @$a[0]["mboxsha1sum"][0] ? $this->iterateHTML($a[0], "mboxsha1sum", $a["dc"]) : null, @$a[0]["depiction"][0] ? $this->iterateHTML($a[0], "depiction", $a["dc"]) : null, @$a[0]["seealso"][0] ? $this->iterateHTML($a[0], "seealso", $a["dc"]) : null, HTML::tr(HTML::td("Source"), HTML::td(HTML::a(array('href' => @$foaf), "RDF"))))));
if (DEBUG) {
$html->pushContent(HTML::hr(), $chooser);
}
return $html;
}
}
}
示例7: 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;
}
示例8: 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 == ' => ') ? ' <= ' : ' => '\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(' '), $direction, HTML::raw(' '), $submit);
return $form;
}
示例9: VALUES
}
if (isset($list5)) {
array_push($list, $list5);
}
$data_html = $obj->list_html($var_name, $label, $list, $div_name);
$data_css = $obj_css->styles($var_name, $color, $width, $height, $x_position, $y_position, $z_index, $font_size, $font_color);
$obj->write_to_file($data_html, $html_file_name, $css_file_name, $data_css);
$insert = "INSERT INTO `CMS`.`html_css` (`ID`, `HTML`, `CSS`, `FORM_ID`,`STATUS`, `NAME`) VALUES (NULL, '{$data_html}', '{$data_css}', {$index_of_form},'1', '{$label}');";
$result = $conn->query($insert);
$ID = mysqli_insert_id($conn);
$insert_div_data = "INSERT INTO `CMS`.`divs` (`ID`, `ELEMENT`, `HTML_CSS_ID`) VALUES (NULL, '{$data_html}',{$ID});";
$result = $conn->query($insert_div_data);
echo 'HTML & CSS Code created successfully<br/>';
break;
case 'form':
$data_html = $obj->form($var_name, $label, $value, $div_name);
$data_css = $obj_css->styles($var_name, $color, $width, $height, $x_position, $y_position, $z_index, $font_size, $font_color);
$obj->write_to_file($data_html, $html_file_name, $css_file_name, $data_css);
$insert = "INSERT INTO `CMS`.`html_css` (`ID`, `HTML`, `CSS`, `FORM_ID`,`STATUS`, `NAME`) VALUES (NULL, '{$data_html}', '{$data_css}', {$index_of_form},'1', '{$label}');";
$result = $conn->query($insert);
$ID = mysqli_insert_id($conn);
$insert_div_data = "INSERT INTO `CMS`.`divs` (`ID`, `ELEMENT`, `HTML_CSS_ID`) VALUES (NULL, '{$data_html}',{$ID});";
$result = $conn->query($insert_div_data);
echo 'HTML & CSS Code created successfully<br/>';
break;
case 'image':
$data_html = $obj->image($var_name, $label, $value, $div_name);
$data_css = $obj_css->styles($var_name, $color, $width, $height, $x_position, $y_position, $z_index, $font_size, $font_color);
$obj->write_to_file($data_html, $html_file_name, $css_file_name, $data_css);
$insert = "INSERT INTO `CMS`.`html_css` (`ID`, `HTML`, `CSS`, `FORM_ID`,`STATUS`, `NAME`) VALUES (NULL, '{$data_html}', '{$data_css}', {$index_of_form},'1', '{$label}');";
$result = $conn->query($insert);
示例10: run
function run($dbi, $argstr, &$request, $basepage)
{
if ($request->getArg('action') != 'browse') {
if ($request->getArg('action') != _("PhpWikiAdministration/SetAcl")) {
return $this->disabled("(action != 'browse')");
}
}
if (!ENABLE_PAGEPERM) {
return $this->disabled("ENABLE_PAGEPERM = false");
}
$args = $this->getArgs($argstr, $request);
$this->_args = $args;
$this->preSelectS($args, $request);
$p = $request->getArg('p');
$post_args = $request->getArg('admin_setacl');
$next_action = 'select';
$pages = array();
if ($p && !$request->isPost()) {
$pages = $p;
} elseif ($this->_list) {
$pages = $this->_list;
}
$header = HTML::fieldset();
if ($p && $request->isPost() && !empty($post_args['acl']) && empty($post_args['cancel'])) {
// without individual PagePermissions:
if (!ENABLE_PAGEPERM and !$request->_user->isAdmin()) {
$request->_notAuthorized(WIKIAUTH_ADMIN);
$this->disabled("! user->isAdmin");
}
if ($post_args['action'] == 'verify') {
// Real action
return $this->setaclPages($request, array_keys($p), $request->getArg('acl'));
}
if ($post_args['action'] == 'select') {
if (!empty($post_args['acl'])) {
$next_action = 'verify';
}
foreach ($p as $name => $c) {
$pages[$name] = 1;
}
}
}
if ($next_action == 'select' and empty($pages)) {
// List all pages to select from.
$pages = $this->collectPages($pages, $dbi, $args['sortby'], $args['limit'], $args['exclude']);
}
if ($next_action == 'verify') {
$args['info'] = "checkbox,pagename,perm,mtime,owner,author";
}
$pagelist = new PageList_Selectable($args['info'], $args['exclude'], array('types' => array('perm' => new _PageList_Column_perm('perm', _("Permission")), 'acl' => new _PageList_Column_acl('acl', _("ACL")))));
$pagelist->addPageList($pages);
if ($next_action == 'verify') {
$button_label = _("Yes");
$header = $this->setaclForm($header, $post_args, $pages);
$header->pushContent(HTML::p(HTML::strong(_("Are you sure you want to permanently change access rights to the selected files?"))));
} else {
$button_label = _("Change Access Rights");
$header = $this->setaclForm($header, $post_args, $pages);
$header->pushContent(HTML::legend(_("Select the pages where to change access rights")));
}
$buttons = HTML::p(Button('submit:admin_setacl[acl]', $button_label, 'wikiadmin'), Button('submit:admin_setacl[cancel]', _("Cancel"), 'button'));
$header->pushContent($buttons);
return HTML::form(array('action' => $request->getPostURL(), 'method' => 'post'), $header, $pagelist->getContent(), HiddenInputs($request->getArgs(), false, array('admin_setacl')), HiddenInputs(array('admin_setacl[action]' => $next_action)), ENABLE_PAGEPERM ? '' : HiddenInputs(array('require_authority_for_post' => WIKIAUTH_ADMIN)));
}
示例11: run
function run($dbi, $argstr, &$request, $basepage)
{
if ($request->getArg('action') != 'browse') {
if ($request->getArg('action') != _("PhpWikiAdministration/Rename")) {
return $this->disabled("(action != 'browse')");
}
}
$args = $this->getArgs($argstr, $request);
$this->_args = $args;
$this->preSelectS($args, $request);
$p = $request->getArg('p');
if (!$p) {
$p = $this->_list;
}
$post_args = $request->getArg('admin_rename');
$next_action = 'select';
$pages = array();
if ($p && !$request->isPost()) {
$pages = $p;
}
if ($p && $request->isPost() && !empty($post_args['rename']) && empty($post_args['cancel'])) {
// without individual PagePermissions:
if (!ENABLE_PAGEPERM and !$request->_user->isAdmin()) {
$request->_notAuthorized(WIKIAUTH_ADMIN);
$this->disabled("! user->isAdmin");
}
// DONE: error message if not allowed.
if ($post_args['action'] == 'verify') {
// Real action
return $this->renamePages($dbi, $request, array_keys($p), $post_args['from'], $post_args['to'], !empty($post_args['updatelinks']));
}
if ($post_args['action'] == 'select') {
if (!empty($post_args['from'])) {
$next_action = 'verify';
}
foreach ($p as $name => $c) {
$pages[$name] = 1;
}
}
}
if ($next_action == 'select' and empty($pages)) {
// List all pages to select from.
$pages = $this->collectPages($pages, $dbi, $args['sortby'], $args['limit'], $args['exclude']);
}
if ($next_action == 'verify') {
$args['info'] = "checkbox,pagename,renamed_pagename";
}
$pagelist = new PageList_Selectable($args['info'], $args['exclude'], array('types' => array('renamed_pagename' => new _PageList_Column_renamed_pagename('rename', _("Rename to")))));
$pagelist->addPageList($pages);
$header = HTML::p();
if ($next_action == 'verify') {
$button_label = _("Yes");
$header->pushContent(HTML::p(HTML::strong(_("Are you sure you want to permanently rename the selected files?"))));
$header = $this->renameForm($header, $post_args);
} else {
$button_label = _("Rename selected pages");
$header->pushContent(HTML::p(_("Select the pages to rename:")));
if (!$post_args and count($pages) == 1) {
list($post_args['from'], ) = array_keys($pages);
$post_args['to'] = $post_args['from'];
}
$header = $this->renameForm($header, $post_args);
}
$buttons = HTML::p(Button('submit:admin_rename[rename]', $button_label, 'wikiadmin'), Button('submit:admin_rename[cancel]', _("Cancel"), 'button'));
return HTML::form(array('action' => $request->getPostURL(), 'method' => 'post'), $header, $pagelist->getContent(), HiddenInputs($request->getArgs(), false, array('admin_rename')), HiddenInputs(array('admin_rename[action]' => $next_action)), ENABLE_PAGEPERM ? '' : HiddenInputs(array('require_authority_for_post' => WIKIAUTH_ADMIN)), $buttons);
}
示例12: run
function run($dbi, $argstr, &$request, $basepage)
{
extract($this->getArgs($argstr, $request));
if (empty($action)) {
return $this->error(fmt("A required argument '%s' is missing.", "action"));
}
$form = HTML::form(array('action' => $request->getPostURL(), 'method' => strtolower($method), 'class' => 'wikiaction', 'accept-charset' => $GLOBALS['charset']), HiddenInputs(array('action' => $action, 'group_id' => GROUP_ID)));
$nbsp = HTML::Raw(' ');
$already_submit = 0;
foreach ($this->inputbox as $inputbox) {
foreach ($inputbox as $inputtype => $input) {
if ($inputtype == 'radiobutton') {
$inputtype = 'radio';
}
// convert from older versions
$input['type'] = $inputtype;
$text = '';
if ($inputtype != 'submit') {
if (empty($input['name'])) {
return $this->error(fmt("A required argument '%s' is missing.", $inputtype . "[][name]"));
}
if (!isset($input['text'])) {
$input['text'] = gettext($input['name']);
}
$text = $input['text'];
unset($input['text']);
}
switch ($inputtype) {
case 'checkbox':
case 'radio':
if (empty($input['value'])) {
$input['value'] = 1;
}
if (is_array($input['value'])) {
$div = HTML::div(array('class' => $class));
$values = $input['value'];
$name = $input['name'];
$input['name'] = $inputtype == 'checkbox' ? $name . "[]" : $name;
foreach ($values as $val) {
$input['value'] = $val;
if ($request->getArg($name)) {
if ($request->getArg($name) == $val) {
$input['checked'] = 'checked';
} else {
unset($input['checked']);
}
}
$div->pushContent(HTML::input($input), $nbsp, $val, $nbsp, "\n");
if (!$nobr) {
$div->pushContent(HTML::br());
}
}
$form->pushContent($div);
} else {
if (empty($input['checked'])) {
if ($request->getArg($input['name'])) {
$input['checked'] = 'checked';
}
} else {
$input['checked'] = 'checked';
}
if ($nobr) {
$form->pushContent(HTML::input($input), $nbsp, $text, $nbsp);
} else {
$form->pushContent(HTML::div(array('class' => $class), HTML::input($input), $text));
}
}
break;
case 'editbox':
$input['type'] = 'text';
if (empty($input['value']) and $s = $request->getArg($input['name'])) {
$input['value'] = $s;
}
if ($nobr) {
$form->pushContent(HTML::input($input), $nbsp, $text, $nbsp);
} else {
$form->pushContent(HTML::div(array('class' => $class), HTML::input($input), $text));
}
break;
case 'combobox':
// TODO: moACDROPDOWN
$values = $input['value'];
unset($input['value']);
$input['type'] = 'text';
if (is_string($values)) {
$values = explode(",", $values);
}
if (empty($values)) {
if ($input['method']) {
$input['value'] = xmlrequest($input['method']);
} elseif ($s = $request->getArg($input['name'])) {
$input['value'] = $s;
}
} elseif (is_array($values)) {
$name = $input['name'];
unset($input['name']);
foreach ($values as $val) {
$input = array('value' => $val);
if ($request->getArg($name)) {
if ($request->getArg($name) == $val) {
//.........这里部分代码省略.........
示例13: run
function run($dbi, $argstr, &$request, $basepage)
{
$args = $this->getArgs($argstr, $request);
$user =& $request->_user;
if (isa($request, 'MockRequest')) {
return '';
}
if (!$request->isActionPage($request->getArg('pagename')) and (!isset($user->_prefs->_method) or !in_array($user->_prefs->_method, array('ADODB', 'SQL'))) or in_array($request->getArg('action'), array('zip', 'ziphtml', 'dumphtml')) or isa($user, '_ForbiddenUser')) {
$no_args = $this->getDefaultArguments();
// ?
// foreach ($no_args as $key => $value) {
// $no_args[$value] = false;
// }
$no_args['errmsg'] = HTML(HTML::h2(_("Error: The user HomePage must be a valid WikiWord. Sorry, UserPreferences cannot be saved."), HTML::hr()));
$no_args['isForm'] = false;
return Template('userprefs', $no_args);
}
$userid = $user->UserName();
if ($user->isAuthenticated() and !empty($userid)) {
$pref =& $request->_prefs;
$args['isForm'] = true;
//trigger_error("DEBUG: reading prefs from getPreferences".print_r($pref));
if ($request->isPost()) {
$errmsg = '';
$delete = $request->getArg('delete');
if ($delete and $request->getArg('verify')) {
// deleting prefs, verified
$default_prefs = $pref->defaultPreferences();
$default_prefs['userid'] = $user->UserName();
$user->setPreferences($default_prefs);
$request->_setUser($user);
$request->setArg("verify", false);
$request->setArg("delete", false);
$alert = new Alert(_("Message"), _("Your UserPreferences have been successfully deleted."));
$alert->show();
return;
} elseif ($delete and !$request->getArg('verify')) {
return HTML::form(array('action' => $request->getPostURL(), 'method' => 'post'), HiddenInputs(array('verify' => 1)), HiddenInputs($request->getArgs()), HTML::p(_("Do you really want to delete all your UserPreferences?")), HTML::p(Button('submit:delete', _("Yes"), 'delete'), HTML::Raw(' '), Button('cancel', _("Cancel"))));
} elseif ($rp = $request->getArg('pref')) {
// replace only changed prefs in $pref with those from request
if (!empty($rp['passwd']) and $rp['passwd2'] != $rp['passwd']) {
$errmsg = _("Wrong password. Try again.");
} else {
//trigger_error("DEBUG: reading prefs from request".print_r($rp));
//trigger_error("DEBUG: writing prefs with setPreferences".print_r($pref));
if (empty($rp['passwd'])) {
unset($rp['passwd']);
}
// fix to set system pulldown's. empty values don't get posted
if (empty($rp['theme'])) {
$rp['theme'] = '';
}
if (empty($rp['lang'])) {
$rp['lang'] = '';
}
$num = $user->setPreferences($rp);
if (!empty($rp['passwd'])) {
$passchanged = false;
if ($user->mayChangePass()) {
if (method_exists($user, 'storePass')) {
$passchanged = $user->storePass($rp['passwd']);
}
if (!$passchanged and method_exists($user, 'changePass')) {
$passchanged = $user->changePass($rp['passwd']);
}
if ($passchanged) {
$errmsg = _("Password updated.");
} else {
$errmsg = _("Password was not changed.");
}
} else {
$errmsg = _("Password cannot be changed.");
}
}
if (!$num) {
$errmsg .= " " . _("No changes.");
} else {
$request->_setUser($user);
$pref = $user->_prefs;
$errmsg .= sprintf(_("%d UserPreferences fields successfully updated."), $num);
}
}
$args['errmsg'] = HTML(HTML::h2($errmsg), HTML::hr());
}
}
$args['available_themes'] = listAvailableThemes();
$args['available_languages'] = listAvailableLanguages();
return Template('userprefs', $args);
} else {
// wrong or unauthenticated user
return $request->_notAuthorized(WIKIAUTH_BOGO);
//return $user->PrintLoginForm ($request, $args, false, false);
}
}
示例14: run
function run($dbi, $argstr, &$request, $basepage)
{
//if ($request->getArg('action') != 'browse')
// return $this->disabled("(action != 'browse')");
$args = $this->getArgs($argstr, $request);
$this->_args = $args;
extract($args);
$this->preSelectS($args, $request);
$info = $args['info'];
$this->debug = $args['debug'];
// array_multisort($this->_list, SORT_NUMERIC, SORT_DESC);
$pagename = $request->getArg('pagename');
// GetUrlToSelf() with all given params
//$uri = $GLOBALS['HTTP_SERVER_VARS']['REQUEST_URI']; // without s would be better.
//$uri = $request->getURLtoSelf();//false, array('verify'));
$form = HTML::form(array('action' => $request->getPostURL(), 'method' => 'POST'));
if ($request->getArg('WikiAdminSelect') == _("Go")) {
$p = false;
} else {
$p = $request->getArg('p');
}
//$p = @$GLOBALS['HTTP_POST_VARS']['p'];
$form->pushContent(HTML::p(array('class' => 'wikitext'), _("Select: "), HTML::input(array('type' => 'text', 'name' => 's', 'value' => $args['s'])), HTML::input(array('type' => 'submit', 'name' => 'WikiAdminSelect', 'value' => _("Go")))));
if ($request->isPost() && !$request->getArg('wikiadmin') && !empty($p)) {
$this->_list = array();
// List all selected pages again.
foreach ($p as $page => $name) {
$this->_list[$name] = 1;
}
} elseif ($request->isPost() and $request->_user->isAdmin() and !empty($p) and $request->getArg('action') == 'WikiAdminSelect' and $request->getArg('wikiadmin')) {
// handle external plugin
$loader = new WikiPluginLoader();
$a = array_keys($request->getArg('wikiadmin'));
$plugin_action = $a[0];
$single_arg_plugins = array("Remove");
if (in_array($plugin_action, $single_arg_plugins)) {
$plugin = $loader->getPlugin($plugin_action);
$ul = HTML::ul();
foreach ($p as $page => $name) {
$plugin_args = "run_page={$name}";
$request->setArg($plugin_action, 1);
$request->setArg('p', array($page => $name));
// if the plugin requires more args than the pagename,
// then this plugin will not return. (Rename, SearchReplace, ...)
$action_result = $plugin->run($dbi, $plugin_args, $request, $basepage);
$ul->pushContent(HTML::li(fmt("Selected page '%s' passed to '%s'.", $name, $select)));
$ul->pushContent(HTML::ul(HTML::li($action_result)));
}
} else {
// redirect to the plugin page.
// in which page is this plugin?
$plugin_action = preg_replace("/^WikiAdmin/", "", $plugin_action);
$args = array();
foreach ($p as $page => $x) {
$args["p[{$page}]"] = 1;
}
header("Location: " . WikiURL(_("PhpWikiAdministration") . "/" . _($plugin_action), $args, 1));
exit;
}
} elseif (empty($args['s'])) {
// List all pages to select from.
$this->_list = $this->collectPages($this->_list, $dbi, $args['sortby'], $args['limit']);
}
$pagelist = new PageList_Selectable($info, $args['exclude'], $args);
$pagelist->addPageList($this->_list);
$form->pushContent($pagelist->getContent());
foreach ($args as $k => $v) {
if (!in_array($k, array('s', 'WikiAdminSelect', 'action', 'verify'))) {
$form->pushContent(HiddenInputs(array($k => $v)));
}
// plugin params
}
/*
foreach ($_GET as $k => $v) {
if (!in_array($k,array('s','WikiAdminSelect','action')))
$form->pushContent(HiddenInputs(array($k => $v))); // debugging params, ...
}
*/
if (!$request->getArg('verify')) {
$form->pushContent(HTML::input(array('type' => 'hidden', 'name' => 'action', 'value' => 'verify')));
$form->pushContent(Button('submit:verify', _("Select pages"), 'wikiadmin'), Button('submit:cancel', _("Cancel"), 'button'));
} else {
global $WikiTheme;
$form->pushContent(HTML::input(array('type' => 'hidden', 'name' => 'action', 'value' => 'WikiAdminSelect')));
// Add the Buttons for all registered WikiAdmin plugins
$plugin_dir = 'lib/plugin';
if (defined('PHPWIKI_DIR')) {
$plugin_dir = PHPWIKI_DIR . "/{$plugin_dir}";
}
$fs = new fileSet($plugin_dir, 'WikiAdmin*.php');
$actions = $fs->getFiles();
foreach ($actions as $f) {
$f = preg_replace('/.php$/', '', $f);
$s = preg_replace('/^WikiAdmin/', '', $f);
if (!in_array($s, array("Select", "Utils"))) {
// disable Select and Utils
$form->pushContent(Button("submit:wikiadmin[{$f}]", _($s), "wikiadmin"));
$form->pushContent($WikiTheme->getButtonSeparator());
}
}
//.........这里部分代码省略.........
示例15: run
function run($dbi, $argstr, &$request, $basepage)
{
$this->_args = $this->getArgs($argstr, $request);
extract($this->_args);
if (!$page) {
return '';
}
$hidden_pagemeta = array('_cached_html');
$readonly_pagemeta = array('hits');
$dbi = $request->getDbh();
$p = $dbi->getPage($page);
$pagemeta = $p->getMetaData();
// Look at arguments to see if submit was entered. If so,
// process this request before displaying.
//
if ($request->isPost() and $request->_user->isAdmin() and $request->getArg('metaedit')) {
$metafield = trim($request->getArg('metafield'));
$metavalue = trim($request->getArg('metavalue'));
if (!in_array($metafield, $readonly_pagemeta)) {
if (preg_match('/^(.*?)\\[(.*?)\\]$/', $metafield, $matches)) {
list(, $array_field, $array_key) = $matches;
$array_value = $pagemeta[$array_field];
$array_value[$array_key] = $metavalue;
$p->set($array_field, $array_value);
} else {
$p->set($metafield, $metavalue);
}
}
$dbi->touch();
$url = $request->getURLtoSelf(false, array('metaedit', 'metafield', 'metavalue'));
$request->redirect($url);
// The rest of the output will not be seen due to the
// redirect.
}
// Now we show the meta data and provide entry box for new data.
$html = HTML();
$html->pushContent(fmt("Existing page-level metadata for %s:", $page));
$dl = HTML::dl();
foreach ($pagemeta as $key => $val) {
if (is_string($val) and substr($val, 0, 2) == 'a:') {
$dl->pushContent(HTML::dt("\n{$key} => {$val}\n", $dl1 = HTML::dl()));
foreach (unserialize($val) as $akey => $aval) {
$dl1->pushContent(HTML::dt(HTML::strong("{$key}" . '[' . $akey . "] => {$aval}\n")));
}
$dl->pushContent($dl1);
} elseif (is_array($val)) {
$dl->pushContent(HTML::dt("\n{$key}:\n", $dl1 = HTML::dl()));
foreach ($val as $akey => $aval) {
$dl1->pushContent(HTML::dt(HTML::strong("{$key}" . '[' . $akey . "] => {$aval}\n")));
}
$dl->pushContent($dl1);
} elseif (in_array($key, $hidden_pagemeta)) {
} elseif (in_array($key, $readonly_pagemeta)) {
$dl->pushContent(HTML::dt(array('style' => 'background: #dddddd'), "{$key} => {$val}\n"));
} else {
$dl->pushContent(HTML::dt(HTML::strong("{$key} => {$val}\n")));
}
}
$html->pushContent($dl);
if ($request->_user->isAdmin()) {
$action = $request->getPostURL();
$hiddenfield = HiddenInputs($request->getArgs());
$instructions = _("Add or change a page-level metadata 'key=>value' pair. Note that you can remove a key by leaving the value-box empty.");
$keyfield = HTML::input(array('name' => 'metafield'), '');
$valfield = HTML::input(array('name' => 'metavalue'), '');
$button = Button('submit:metaedit', _("Submit"), false);
$form = HTML::form(array('action' => $action, 'method' => 'post', 'accept-charset' => $GLOBALS['charset']), $hiddenfield, $instructions, HTML::br(), $keyfield, ' => ', $valfield, HTML::raw(' '), $button);
$html->pushContent(HTML::br(), $form);
} else {
$html->pushContent(HTML::em(_("Requires WikiAdmin privileges to edit.")));
}
return $html;
}