http://www.mediawiki.org/wiki/Special:Code/MediaWiki/88257
Revision: 88257
Author: kipcool
Date: 2011-05-16 19:05:35 +0000 (Mon, 16 May 2011)
Log Message:
-----------
Added annotation statistics
Modified Paths:
--------------
trunk/extensions/Wikidata/OmegaWiki/SpecialOWStatistics.php
trunk/extensions/Wikidata/OmegaWiki/WikiDataAPI.php
Modified: trunk/extensions/Wikidata/OmegaWiki/SpecialOWStatistics.php
===================================================================
--- trunk/extensions/Wikidata/OmegaWiki/SpecialOWStatistics.php 2011-05-16
18:18:28 UTC (rev 88256)
+++ trunk/extensions/Wikidata/OmegaWiki/SpecialOWStatistics.php 2011-05-16
19:05:35 UTC (rev 88257)
@@ -20,7 +20,8 @@
. $this->linkHeader ( wfMsg('ow_DefinedMeaning'), "dm",
$showstat ) . " — "
. $this->linkHeader ( wfMsg('ow_Definition'), "def",
$showstat ) . " — "
. $this->linkHeader ( wfMsg('ow_Expression'), "exp",
$showstat ) . " — "
- . $this->linkHeader ( "Syntrans", "syntrans", $showstat
)
+ . $this->linkHeader ( "Syntrans", "syntrans", $showstat
) . " — "
+ . $this->linkHeader ( wfMsg('ow_Annotation'), "annot",
$showstat )
. "</big></div><br /><br />" ;
$wgOut->addHTML( $headerText ) ;
@@ -33,6 +34,8 @@
$wgOut->addHTML( $this->getSyntransPerLanguage () );
else if ( $showstat == 'exp' )
$wgOut->addHTML ( $this->getExpressionPerLanguage () ) ;
+ else if ( $showstat == 'annot' )
+ $wgOut->addHTML ( $this->getAnnotationStats () ) ;
}
function linkHeader ( $text, $val , $showstat ) {
@@ -251,4 +254,33 @@
return $output ;
}
+ function getAnnotationStats () {
+ $dc = wdGetDataSetContext();
+ $dbr = wfGetDB( DB_SLAVE );
+
+ // at the moment only link attributes
+ $sql = "SELECT attribute_mid, count(DISTINCT value_id) as tot ";
+ $sql .= " FROM {$dc}_url_attribute_values" ;
+ $sql .= " WHERE remove_transaction_id IS NULL " ;
+ $sql .= " group by attribute_mid " ;
+
+ $queryResult = $dbr->query( $sql );
+
+ while ( $row = $dbr->fetchObject( $queryResult ) ) {
+ $att = $row->attribute_mid ;
+ $nbAtt[$att] = $row->tot ;
+ }
+ arsort ( $nbAtt ) ;
+
+ $table = "<center><table class=\"sortable\">" ;
+ $table .= "<tr><th><b>" . wfMsg('ow_Annotation') .
"</b></th><th><b>" . '#' . "</b></th></tr>\n";
+ foreach ($nbAtt as $att => $nb) {
+ $attname = definedMeaningExpression ( $att ) ;
+ if ( $attname == "" ) $attname = $att ;
+ $table .= "<tr><td alt=$att>$attname</td><td
align=right>$nb</td></tr>\n" ;
+ }
+ $table .= "</table></center>" ;
+ $output = "<p>$table</p>" ;
+ return $output ;
+ }
}
Modified: trunk/extensions/Wikidata/OmegaWiki/WikiDataAPI.php
===================================================================
--- trunk/extensions/Wikidata/OmegaWiki/WikiDataAPI.php 2011-05-16 18:18:28 UTC
(rev 88256)
+++ trunk/extensions/Wikidata/OmegaWiki/WikiDataAPI.php 2011-05-16 19:05:35 UTC
(rev 88257)
@@ -1593,24 +1593,20 @@
list( $definingExpressionId, $definingExpression,
$definingExpressionLanguage ) = definingExpressionRow( $definedMeaningId );
- if ( $definingExpressionLanguage == $userLanguageId &&
expressionIsBoundToDefinedMeaning( $definedMeaningId, $definingExpressionId ) )
- return $definingExpression;
- else {
- if ( $userLanguageId > 0 )
- $result = definedMeaningExpressionForLanguage(
$definedMeaningId, $userLanguageId );
- else
- $result = "";
+ if ( $userLanguageId > 0 )
+ $result = definedMeaningExpressionForLanguage(
$definedMeaningId, $userLanguageId );
+ else
+ $result = "";
+
+ if ( $result == "" ) {
+ // if no expression exists for the specified language : look
for an expression in English
+ $result = definedMeaningExpressionForLanguage(
$definedMeaningId, 85 );
if ( $result == "" ) {
- // if no expression exists for the specified language :
look for an expression in English
- $result = definedMeaningExpressionForLanguage(
$definedMeaningId, 85 );
+ $result = definedMeaningExpressionForAnyLanguage(
$definedMeaningId );
- if ( $result == "" ) {
- $result =
definedMeaningExpressionForAnyLanguage( $definedMeaningId );
-
- if ( $result == "" )
- $result = $definingExpression;
- }
+ if ( $result == "" )
+ $result = $definingExpression;
}
}
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs