Difference between revisions of "Extension:SearchLog.php"
m (Extension:SearchLog moved to Extension:SearchLog.php) |
(Changed to a specialpage) |
||
| Line 2: | Line 2: | ||
# Extension:SearchLog{{Category:Extensions}}{{#Security:*|dev}}{{#Security:view|*}}{{php}} | # Extension:SearchLog{{Category:Extensions}}{{#Security:*|dev}}{{#Security:view|*}}{{php}} | ||
# - Licenced under LGPL (http://www.gnu.org/copyleft/lesser.html) | # - Licenced under LGPL (http://www.gnu.org/copyleft/lesser.html) | ||
| − | # - Author: [http://www.organicdesign.co.nz/nad User:Nad]{{Category:Extensions created with Template: | + | # - Author: [http://www.organicdesign.co.nz/nad User:Nad]{{Category:Extensions created with Template:SpecialPage}} |
if (!defined('MEDIAWIKI')) die('Not an entry point.'); | if (!defined('MEDIAWIKI')) die('Not an entry point.'); | ||
| − | define('SEARCHLOG_VERSION','0.0. | + | define('SEARCHLOG_VERSION','0.0.0, 2007-05-20'); |
| − | + | ||
| − | $ | + | $wgSearchLogPath = dirname(__FILE__); |
$wgExtensionFunctions[] = 'wfSetupSearchLog'; | $wgExtensionFunctions[] = 'wfSetupSearchLog'; | ||
| − | + | ||
| − | $wgExtensionCredits[' | + | $wgExtensionCredits['specialpage'][] = array( |
| − | 'name' => 'SearchLog', | + | 'name' => 'Special:SearchLog', |
'author' => '[http://www.organicdesign.co.nz/nad User:Nad]', | 'author' => '[http://www.organicdesign.co.nz/nad User:Nad]', | ||
| − | 'description' => ' | + | 'description' => 'Logs usage of the search box and allows reporting of keyword totals during given time periods', |
| − | 'url' => 'http://www. | + | 'url' => 'http://www.mediawiki.org/wiki/Extension:SearchLog', |
'version' => SEARCHLOG_VERSION | 'version' => SEARCHLOG_VERSION | ||
); | ); | ||
| + | # 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>' | ||
| + | ); | ||
| + | } | ||
| + | |||
| + | # Called from $wgExtensionFunctions array when initialising extensions | ||
function wfSetupSearchLog() { | function wfSetupSearchLog() { | ||
| − | global $ | + | global $wgMessageCache,$wgSpecialPages,$wgSearchLogPath,$wgUser; |
# If a search has been posted, log the info | # If a search has been posted, log the info | ||
| Line 28: | Line 43: | ||
else $type = 'other'; | else $type = 'other'; | ||
| − | # | + | # Append the data to the file |
| − | if ($fh = fopen($ | + | if ($fh = fopen("$wgSearchLogPath/search.log",'a')) { |
| − | fwrite($fh, | + | #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 | ||
| + | ); | ||
| + | } | ||
?> | ?> | ||
Revision as of 01:30, 20 May 2007
<?php
- Extension:SearchLog
{{#Security:*|dev}}{{#Security:view|*}}Template:Php
- - Licenced under LGPL (http://www.gnu.org/copyleft/lesser.html)
- - 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 );
- 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>' ); }
- 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 ); } ?>



