Difference between revisions of "Extension:SearchLog.php"

From Organic Design wiki
(Changed to a specialpage)
m (Changed to a specialpage)
Line 57: Line 57:
 
$wgSpecialPages['SearchLog'] = array(
 
$wgSpecialPages['SearchLog'] = array(
 
'SpecialPage', # class to instantiate
 
'SpecialPage', # class to instantiate
'SearchLog', # name as seen in links
+
'SearchLog',   # name as seen in links
 
'sysop',      # user rights required
 
'sysop',      # user rights required
 
true,          # listed in special:specialpages
 
true,          # listed in special:specialpages

Revision as of 01:31, 20 May 2007

<?php

  1. Extension:SearchLog
Info.svg These are the MediaWiki extensions we're using and/or developing. Please refer to the information on the mediawiki.org wiki for installation and usage details. Extensions here which have no corresponding mediawiki article are either not ready for use or have been superseded. You can also browse our extension code in our local Subversion repository or our GitHub mirror.

{{#Security:*|dev}}{{#Security:view|*}}Template:Php

  1. - Licenced under LGPL (http://www.gnu.org/copyleft/lesser.html)
  2. - Author: User:NadCategory:Extensions created with Template:SpecialPage

if (!defined('MEDIAWIKI')) die('Not an entry point.');

define('SEARCHLOG_VERSION','0.0.0, 2007-05-20');

$wgSearchLogPath = dirname(__FILE__); $wgExtensionFunctions[] = 'wfSetupSearchLog';

$wgExtensionCredits['specialpage'][] = array( 'name' => 'Special:SearchLog', 'author' => 'User:Nad', 'description' => 'Logs usage of the search box and allows reporting of keyword totals during given time periods', 'url' => 'http://www.mediawiki.org/wiki/Extension:SearchLog', 'version' => SEARCHLOG_VERSION );

  1. Called from SpecialPage::execute()

wfSpecialSearchLog($param,&$specialpage) { global $wgOut; $title = Title::makeTitle(NS_SPECIAL,'SearchLog');

# Render a dropdown of months/years covered by the range of the log entries $wgOut->addHTML( wfElement('form',array('action' => $title->getLocalURL('action=submit'),'method' => 'POST'),null) . '<textarea name="target" cols=25 rows=10></textarea>' . wfElement('input',array('type' => 'submit')) . '</form>' ); }

  1. Called from $wgExtensionFunctions array when initialising extensions

function wfSetupSearchLog() { global $wgMessageCache,$wgSpecialPages,$wgSearchLogPath,$wgUser;

# If a search has been posted, log the info if (isset($_REQUEST['search'])) { if (isset($_REQUEST['go'])) $type = 'go'; else if (isset($_REQUEST['go'])) $type = 'fulltext'; else $type = 'other';

# Append the data to the file if ($fh = fopen("$wgSearchLogPath/search.log",'a')) { #fwrite($fh,... } }

# Add the messages used by the specialpage $wgMessageCache->addMessages(array( 'searchlog' => 'Logs usage of the search box and allows reporting of keyword totals during given time periods', ));

# Add the specialpage to the environment $wgSpecialPages['SearchLog'] = array( 'SpecialPage', # class to instantiate 'SearchLog', # name as seen in links 'sysop', # user rights required true, # listed in special:specialpages false, # function called by execute() - defaults to wfSpecial{$name} false, # file included by execute() - defaults to Special{$name}.php, only used if no function false # includable ); } ?>