API:Examples/ru

From MediaWiki.org
Jump to navigation Jump to search

Рассмотрим как с помощью API сделать простенький виджет, например, для Яндекса с помощью php, который выводит список десяти новых статей из основного пространства, но не выводит правки уже существующих статей:

<?php
 
  /* Адрес, по которому следует обратится.
  rclimit указывает сколько всего статей нужно, rcnamespace указывает пространство */
  $url='http://mediawiki.org/w/api.php?action=query&list=recentchanges&format=php&rctype=new&rclimit=10&rcnamespace=0&rcprop=title';
 
  /* Указываем файл, который следует открыть */
  $f=fopen($url,"rt");
 
  /* Считываем файл */
  $text=fread($f, 2000);
 
  /* Превращаем считанный текст в массив */
  $arr=unserialize($text);
 
  /* Зацикливаем, делаем 10 кругов */
  for($i=0; $i<11; $i++) {
 
       /* Извлекаем нужные ключи */
       $key=$arr["query"]["recentchanges"]["$i"]["title"];
 
       /* Кодируем (для поддержки старых браузеров) */
       $enc=urlencode($key);

       /* До этого кодировали, но нужно оставить знаки _ и /  */
       $link=str_replace('+', '_', $enc);
       $link=str_replace('%2F', '/', $link);
 
       /* Собираем ссылку и печатаем её */
       echo '<a href="http://mediawiki.org/wiki/'.$link.'" target="_blank">'.$key.'</a><br />';
  }
 
?>

Как это работает, можно посмотреть, нажав на эту ссылку. Полный список роботов представлен на странице API:Client_code.

Другие языки: English  • русский