1; $i--) { $row=$rows[$i-2]; $n++; if ($n>1000) { echo "."; $n=0; } if (trim($row)=="") continue; $row=str_replace("(0", "###", $row); $match="/\A([0-9]*?) ([0-9]*?) ###[.0-9]*?\) (.*?)\z/ism"; if (preg_match($match, $row, $m)) { $time=$m[2]; $articles=$m[1]; $user=trim($m[3]); db_insert_wordtime_row($user, $time, $articles); usleep(5); } else { print_error("ERROR: Parsing failed: '$row'\n"); } } } function db_insert_wordtime_row($user, $wordtime, $articles) { $query="INSERT wordtime_stats (user, wordtime, articles) VALUES ("; $query.="'". mysql_real_escape_string($user) ."'"; $query.=",'". mysql_real_escape_string($wordtime) ."'"; $query.=",'". mysql_real_escape_string($articles) ."'"; $query.=");"; $result = mysql_query($query); // or print_error('Virhe: Tiedon tallennus epäonnistui:' . mysql_error() ."\n$query\n"); } function print_debug($str="") { return ""; echo $str; } function print_error($str="") { die($str); } function db_search_user($username="") { if (trim($username=="")) return ""; $username=trim($username); $query="SELECT * FROM wordtime_stats WHERE user='". mysql_real_escape_string($username) ."'"; $result = mysql_query($query) or print_error('Virhe: Tiedonhaku epäonnistui.' ); if (mysql_num_rows($result) == 0) { return "

Haun tulos

Käyttäjää ei löytynyt.

"; } else { $row=mysql_fetch_assoc($result); $retstr="

Haun tulos

Käyttäjä on muokannut " . $row['articles'] . " eri artikkelia."; $retstr.=" joissa on ollut 2.10.2010 mennessä sanoja yhteensä " . $row['wordtime'] ." vuoden edestä. "; $retstr.=" Tämä on noin " . round((($row['wordtime'] / 192230087)*100),6) ." prosenttia "; $retstr.=" suomenkielisen Wikipedian kaikesta vastaavalla tavalla lasketusta artikkelisisällöstä.

"; return $retstr; } } function print_searchpage($username="") { if ($username!="") $searchresults=db_search_user($username); else $searchresults=""; $str=' Sanoja * Aika -tilasto

Käyttäjän kirjoittamien sanojen määrä vuosina

Käyttäjänimi:
'. $searchresults .'

Ohje

Työkalu näyttää valitun käyttäjän wikipedian kirjoittamien sanojen määrän vuosina jona ne ovat olleet esillä 2.10.2010 mennessä. Esimerkiksi jos käyttäjä on lisännyt 10 sanaa wikipediaan ja ne ovat siellä vuoden ja joku poistaa sanat niin käyttäjän saama aikamäärä on 10.

Annetut luvut perustuvat Wikitrust-ohjelmiston tekemään tilastoon, joka osaa mm. seurata tekstin alkuperäistä lisääjää versioiden välillä vaikka tekstiä siirrettäisiin artikkelin sisällä tai se välillä poistettaisiin ja myöhemmin palautettaisiin takaisin.

'; die($str); } ?>