-<?php // -*-php-*-
-// $Id: WikiAdminUtils.php 8160 2011-10-03 12:42:28Z vargenau $
+<?php
+
/**
* Copyright 2003,2004,2006 $ThePhpWikiProgrammingTeam
* Copyright 2009 Marc-Etienne Vargenau, Alcatel-Lucent
*/
/**
- valid actions:
- purge-cache
- purge-bad-pagenames
- purge-empty-pages
- access-restrictions
- email-verification
- convert-cached-html
- db-check
- db-rebuild
+valid actions:
+purge-cache
+purge-bad-pagenames
+purge-empty-pages
+email-verification
+convert-cached-html
+db-check
+db-rebuild
*/
class WikiPlugin_WikiAdminUtils
-extends WikiPlugin
+ extends WikiPlugin
{
- function getName () {
- return _("WikiAdminUtils");
- }
-
- function getDescription () {
+ function getDescription()
+ {
return _("Miscellaneous utility functions for the Administrator.");
}
- function getDefaultArguments() {
- return array('action' => '',
- 'label' => '',
- );
+ function getDefaultArguments()
+ {
+ return array('action' => '',
+ 'label' => '',
+ );
}
- function run($dbi, $argstr, &$request, $basepage) {
+ function run($dbi, $argstr, &$request, $basepage)
+ {
$args = $this->getArgs($argstr, $request);
$args['action'] = strtolower($args['action']);
extract($args);
return $this->_makeButton($request, $args, $label);
}
- function _makeButton(&$request, $args, $label) {
+ private function _makeButton(&$request, $args, $label)
+ {
$args['return_url'] = $request->getURLtoSelf();
return HTML::form(array('action' => $request->getPostURL(),
- 'method' => 'post'),
- HTML::p(Button('submit:', $label, 'wikiadmin')),
- HiddenInputs($args, 'wikiadminutils'),
- HiddenInputs(array('require_authority_for_post' =>
- WIKIAUTH_ADMIN)),
- HiddenInputs($request->getArgs(),false,array('action')));
+ 'method' => 'post'),
+ HTML::p(Button('submit:', $label, 'wikiadmin')),
+ HiddenInputs($args, 'wikiadminutils'),
+ HiddenInputs(array('require_authority_for_post' =>
+ WIKIAUTH_ADMIN)),
+ HiddenInputs($request->getArgs(), false, array('action')));
}
- function do_action(&$request, $args) {
+ function do_action(&$request, $args)
+ {
$method = strtolower('_do_' . str_replace('-', '_', $args['action']));
if (!method_exists($this, $method))
return $this->error("Bad action $method");
$message = call_user_func(array(&$this, $method), $request, $args);
- // display as seperate page or as alert?
+ // display as separate page or as alert?
$alert = new Alert(fmt("WikiAdminUtils %s returned:", $args['action']),
- $message,
- array(_("Back") => $args['return_url']));
- $alert->show(); // noreturn
+ $message,
+ array(_("Back") => $args['return_url']));
+ $alert->show(); // noreturn
+ return '';
}
- function _getLabel($action) {
- $labels = array('purge-cache' => _("Purge Markup Cache"),
- 'purge-bad-pagenames' => _("Purge all Pages With Invalid Names"),
- 'purge-empty-pages' => _("Purge all empty, unreferenced Pages"),
- 'access-restrictions' => _("Access Restrictions"),
- 'email-verification' => _("E-mail address confirmation"),
- 'convert-cached-html' => _("Convert cached_html"),
- 'db-check' => _("DB Check"),
- 'db-rebuild' => _("Db Rebuild")
- );
+ private function _getLabel($action)
+ {
+ $labels = array('purge-cache' => _("Purge Markup Cache"),
+ 'purge-bad-pagenames' => _("Purge all Pages With Invalid Names"),
+ 'purge-empty-pages' => _("Purge all empty, unreferenced Pages"),
+ 'email-verification' => _("E-mail address confirmation"),
+ 'convert-cached-html' => _("Convert cached_html"),
+ 'db-check' => _("DB Check"),
+ 'db-rebuild' => _("Db Rebuild")
+ );
return @$labels[$action];
}
- function _do_purge_cache(&$request, $args) {
+ private function _do_purge_cache(&$request, $args)
+ {
$dbi = $request->getDbh();
$pages = $dbi->getAllPages('include_empty'); // Do we really want the empty ones too?
while (($page = $pages->next())) {
return _("Markup cache purged!");
}
- function _do_purge_bad_pagenames(&$request, $args) {
+ private function _do_purge_bad_pagenames(&$request, $args)
+ {
// FIXME: this should be moved into WikiDB::normalize() or something...
$dbi = $request->getDbh();
$count = 0;
- $list = HTML::ol(array('align'=>'left'));
+ $list = HTML::ol(array('align' => 'left'));
$pages = $dbi->getAllPages('include_empty'); // Do we really want the empty ones too?
while (($page = $pages->next())) {
$pagename = $page->getName();
$wpn = new WikiPageName($pagename);
- if (! $wpn->isValid() ) {
+ if (!$wpn->isValid()) {
$dbi->purgePage($pagename);
$list->pushContent(HTML::li($pagename));
$count++;
return _("No pages with bad names had to be deleted.");
else {
return HTML(fmt("Deleted %d pages with invalid names:", $count),
- HTML::div(array('align'=>'left'), $list));
+ HTML::div(array('align' => 'left'), $list));
}
}
/**
* Purge all non-referenced empty pages. Mainly those created by bad link extraction.
*/
- function _do_purge_empty_pages(&$request, $args) {
+ private function _do_purge_empty_pages(&$request, $args)
+ {
$dbi = $request->getDbh();
- $count = 0; $notpurgable = 0;
- $list = HTML::ol(array('align'=>'left'));
+ $count = 0;
+ $notpurgable = 0;
+ $list = HTML::ol(array('align' => 'left'));
$pages = $dbi->getAllPages('include_empty');
while (($page = $pages->next())) {
if (!$page->exists()
and ($links = $page->getBackLinks('include_empty'))
- and !$links->next())
- {
+ and !$links->next()
+ ) {
$pagename = $page->getName();
if ($pagename == 'global_data' or $pagename == '.') continue;
if ($dbi->purgePage($pagename))
- $list->pushContent(HTML::li($pagename.' '._("[purged]")));
+ $list->pushContent(HTML::li($pagename . ' ' . _("[purged]")));
else {
- $list->pushContent(HTML::li($pagename.' '._("[not purgable]")));
+ $list->pushContent(HTML::li($pagename . ' ' . _("[not purgable]")));
$notpurgable++;
}
$count++;
return _("No empty, unreferenced pages were found.");
else
return HTML(fmt("Deleted %d unreferenced pages:", $count),
- HTML::div(array('align'=>'left'), $list),
- ($notpurgable ?
- fmt("The %d not-purgable pages/links are links in some page(s). You might want to edit them.",
- $notpurgable)
- : ''));
+ HTML::div(array('align' => 'left'), $list),
+ ($notpurgable ?
+ fmt("The %d not-purgable pages/links are links in some page(s). You might want to edit them.",
+ $notpurgable)
+ : ''));
}
-
- function _do_convert_cached_html(&$request, $args) {
+ private function _do_convert_cached_html(&$request, $args)
+ {
require_once 'lib/upgrade.php';
$dbh = $request->_dbi;
return _("No old _cached_html pagedata found.");
else {
return HTML(fmt("Converted successfully %d pages", $count),
- HTML::div(array('align'=>'left'), $list));
+ HTML::div(array('align' => 'left'), $list));
}
}
- function _do_db_check(&$request, $args) {
+ private function _do_db_check(&$request, $args)
+ {
longer_timeout(180);
$dbh = $request->getDbh();
//FIXME: display result.
return $dbh->_backend->check($args);
}
- function _do_db_rebuild(&$request, $args) {
+ private function _do_db_rebuild(&$request, $args)
+ {
longer_timeout(240);
$dbh = $request->getDbh();
//FIXME: display result.
return $dbh->_backend->rebuild($args);
}
- //TODO: We need a seperate plugin for this.
- // Too many options.
- function _do_access_restrictions(&$request, &$args) {
- return _("Sorry. Access Restrictions not yet implemented");
- }
-
// pagelist with enable/disable button
- function _do_email_verification(&$request, &$args) {
+ private function _do_email_verification(&$request, &$args)
+ {
$dbi = $request->getDbh();
- $pagelist = new PageList('pagename',0,$args);
+ $pagelist = new PageList('pagename', 0, $args);
//$args['return_url'] = 'action=email-verification-verified';
- $email = new _PageList_Column_email('email',_("E-mail"),'left');
+ $email = new _PageList_Column_email('email', _("E-mail"), 'left');
$emailVerified = new _PageList_Column_emailVerified('emailVerified',
- _("Verification Status"),'center');
+ _("Verification Status"), 'center');
$pagelist->_columns[0]->_heading = _("Username");
$pagelist->_columns[] = $email;
$pagelist->_columns[] = $emailVerified;
$user = new WikiUser($request, $username);
$prefs = $user->getPreferences();
if ($prefs->get('email')) {
- if (!$prefs->get('userid'))
- $prefs->set('userid',$username);
+ if (!$prefs->get('userid'))
+ $prefs->set('userid', $username);
if (!empty($pagelist->_rows))
$group = (int)(count($pagelist->_rows) / $pagelist->_group_rows);
else
$row = HTML::tr(array('class' => $class));
$page_handle = $dbi->getPage($username);
$row->pushContent($pagelist->_columns[0]->format($pagelist,
- $page_handle, $page_handle));
+ $page_handle, $page_handle));
$row->pushContent($email->format($pagelist, $prefs, $page_handle));
if (!empty($args['verify'])) {
$prefs->_prefs['email']->set('emailVerified',
- empty($args['verified'][$username]) ? 0 : true);
+ empty($args['verified'][$username]) ? 0 : true);
$user->setPreferences($prefs);
}
$row->pushContent($emailVerified->format($pagelist, $prefs, $args['verify']));
$args['verify'] = 1;
$args['return_url'] = $request->getURLtoSelf();
return HTML::form(array('action' => $request->getPostURL(),
- 'method' => 'post'),
- HiddenInputs($args, 'wikiadminutils'),
- HiddenInputs(array('require_authority_for_post' =>
- WIKIAUTH_ADMIN)),
- HiddenInputs($request->getArgs()),
- $pagelist->_generateTable(false),
- HTML::p(Button('submit:', _("Change Verification Status"),
- 'wikiadmin'),
- HTML::Raw(' '),
- Button('cancel', _("Cancel")))
- );
+ 'method' => 'post'),
+ HiddenInputs($args, 'wikiadminutils'),
+ HiddenInputs(array('require_authority_for_post' =>
+ WIKIAUTH_ADMIN)),
+ HiddenInputs($request->getArgs()),
+ $pagelist->_generateTable(false),
+ HTML::p(Button('submit:', _("Change Verification Status"),
+ 'wikiadmin'),
+ HTML::raw(' '),
+ Button('cancel', _("Cancel")))
+ );
}
+ return HTML::raw();
}
-};
+}
require_once 'lib/PageList.php';
class _PageList_Column_email
-extends _PageList_Column {
- function _getValue (&$prefs, $dummy) {
+ extends _PageList_Column
+{
+ function _getValue(&$prefs, $dummy)
+ {
return $prefs->get('email');
}
}
class _PageList_Column_emailVerified
-extends _PageList_Column {
- function _getValue (&$prefs, $status) {
- $name = $prefs->get('userid');
- $input = HTML::input(array('type' => 'checkbox',
- 'name' => 'wikiadminutils[verified]['.$name.']',
- 'value' => 1));
- if ($prefs->get('emailVerified'))
- $input->setAttr('checked','1');
+ extends _PageList_Column
+{
+ function _getValue(&$prefs, $status)
+ {
+ $name = $prefs->get('userid');
+ $input = HTML::input(array('type' => 'checkbox',
+ 'name' => 'wikiadminutils[verified][' . $name . ']',
+ 'value' => 1));
+ if ($prefs->get('emailVerified'))
+ $input->setAttr('checked', '1');
if ($status)
- $input->setAttr('disabled','1');
- return HTML($input, HTML::input
- (array('type' => 'hidden',
- 'name' => 'wikiadminutils[user]['.$name.']',
- 'value' => $name)));
+ $input->setAttr('disabled', '1');
+ return HTML($input, HTML::input
+ (array('type' => 'hidden',
+ 'name' => 'wikiadminutils[user][' . $name . ']',
+ 'value' => $name)));
}
}