<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="pl">
<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <meta http-equiv="refresh" content="300">
  <meta name="description" content="programistrz.pl">
  <meta name="author" content="Paweł Skup">
  <title>100 ostatnio utworzonych/zmodyfikowanych artykułów na polskiej Wikipedii</title>
<style>
h2 { font-size: 120%; }
table { border-collapse: collapse; font-size: 90%; }
table, th, td { border: 1px solid black; border-collapse: collapse; }
th { background-color: silver; }
th, td { padding: 1px 3px; }
</style>
</head>
<body>
<h2>100 ostatnio utworzonych/zmodyfikowanych artykułów na polskiej Wikipedii:</h2>
<?php
  define
('DEF_LIST_RECENTCHANGES_API_URL','https://pl.wikipedia.org/w/api.php?action=query&format=xml&list=recentchanges&rcprop=title|ids|sizes|flags|user&rclimit=100');
  
define('DEF_WIKIPEDIA_URL_PREFIX','https://pl.wikipedia.org/wiki/');
  
$attributes=array('revid','old_revid','pageid','rcid','type','ns','oldlen','newlen','user','title');
  
$opts=array('http' => array('user_agent' => 'PHP LibXML Agent (programistrz.pl)'));
  
$context=stream_context_create($opts);
  
libxml_set_streams_context($context);
  
$doc=new DOMDocument('1.0','utf-8');
  
$doc->load(DEF_LIST_RECENTCHANGES_API_URL);
  
$continue=$doc->getElementsByTagName('continue');
  foreach (
$continue as $cont)
  {
    
$rccontinue=$cont->getAttribute('rccontinue');
    break;
  }
  echo 
"rccontinue: $rccontinue (<i>strona jest automatycznie odświeżana co 5 minut</i>)<br>";

  echo 
'<table><thead><tr>';
  foreach (
$attributes as $attr)
    echo 
'<th>'.$attr.'</th>';
  echo 
'</tr></thead>';
  echo 
'<tbody>';
  
$rcs=$doc->getElementsByTagName('rc');
  foreach (
$rcs as $rc)
  {
    echo 
'<tr>';
    foreach (
$attributes as $attr)
    {
      
$value=$rc->getAttribute($attr);
      if (
$attr=='title')
        
$value='<a href="'.DEF_WIKIPEDIA_URL_PREFIX.utf8_urlencode($value).'" target="_blank">'.$value.'</a>';
      echo 
'<td>'.$value.'</td>';
    }
    echo 
'</tr>';
  }
  echo 
"</tbody></table>";

function 
utf8_urlencode($str)
{
  return 
preg_replace('/([\200-\377])/e'"'%'.(strtoupper(dechex(ord('\\1'))))",str_replace(' ','_',$str));
}
?>
</body>
</html>