shared-media-api v0.10¶
shared-media-api
is a MediaWiki Query API wrapper that easily gets Category and File
information into simple PHP arrays. Fine-tuned for WikiMedia Commmons.
Example: get media files in a category
<?php
require('../../vendor/autoload.php');
use Attogram\SharedMedia\Api\Category;
use Attogram\SharedMedia\Api\Media;
// Get the first result from a search of the category namespace
$category = new Category();
$category->setResponseLimit(1);
$myCategory = $category->search('Albert Einstein');
if (empty($myCategory)) {
print 'Category Not Found';
return;
}
print_r($myCategory);
// Get the first 2 Media files in a category
$media = new Media();
$media->setResponseLimit(2);
$media->setPageid($myCategory[0]['pageid']);
$myMedias = $media->getMediaInCategory();
if (empty($myMedias)) {
print 'Media Not Found';
return;
}
foreach ($myMedias as $myMedia) {
print_r($myMedia);
}
Array
(
[0] => Array
(
[pageid] => 970886
[ns] => 14
[title] => Category:Albert Einstein
[index] => 1
[size] => 198
[pages] => 3
[files] => 177
[subcats] => 18
[hidden] =>
)
)
Array
(
[pageid] => 42335632
[ns] => 6
[title] => File:Einstein Lehrerdiplom Bauzeitung.jpg
[imagerepository] => local
[timestamp] => 2015-08-14T08:18:42Z
[user] => Glunggenbauer
[userid] => 5122073
[size] => 497393
[width] => 1078
[height] => 749
[thumburl] => https://upload.wikimedia.org/wikipedia/commons/thumb/7/7a/Einstein_Lehrerdiplom_Bauzeitung.jpg/100px-Einstein_Lehrerdiplom_Bauzeitung.jpg
[thumbwidth] => 100
[thumbheight] => 69
[thumbmime] => image/jpeg
[url] => https://upload.wikimedia.org/wikipedia/commons/7/7a/Einstein_Lehrerdiplom_Bauzeitung.jpg
[descriptionurl] => https://commons.wikimedia.org/wiki/File:Einstein_Lehrerdiplom_Bauzeitung.jpg
[descriptionshorturl] => https://commons.wikimedia.org/w/index.php?curid=42335632
[sha1] => 7550c9d6ba4f81a5f7494c1548786691cb6670d4
[imagedescription] => Lehrerdiplome von Albert Einstein und Sinai Tschulok in der Schweizerischen Bauzeitung vom 4. August 1900
[imagedescription.source] => commons-desc-page
[datetimeoriginal] => 1900-08-04
[datetimeoriginal.source] => commons-desc-page
[artist] => <span lang="en">Unknown</span><a href="https://www.wikidata.org/wiki/Q4233718" title="wikidata:Q4233718"><img alt="wikidata:Q4233718" src="https://upload.wikimedia.org/wikipedia/commons/thumb/f/ff/Wikidata-logo.svg/20px-Wikidata-logo.svg.png" width="20" height="11" srcset="https://upload.wikimedia.org/wikipedia/commons/thumb/f/ff/Wikidata-logo.svg/30px-Wikidata-logo.svg.png 1.5x, https://upload.wikimedia.org/wikipedia/commons/thumb/f/ff/Wikidata-logo.svg/40px-Wikidata-logo.svg.png 2x" data-file-width="1050" data-file-height="590"></a>
[artist.source] => commons-desc-page
[licenseshortname] => Public domain
[licenseshortname.source] => commons-desc-page
[licenseshortname.hidden] =>
[usageterms] => Public domain
[usageterms.source] => commons-desc-page
[usageterms.hidden] =>
[attributionrequired] => false
[attributionrequired.source] => commons-desc-page
[attributionrequired.hidden] =>
[restrictions] =>
[restrictions.source] => commons-desc-page
[restrictions.hidden] =>
[mime] => image/jpeg
)
Array
(
[pageid] => 45542076
[ns] => 6
[title] => File:Einstein Dissertation eth-30378-01.pdf
[imagerepository] => local
[timestamp] => 2015-12-10T04:59:46Z
[user] => Drdoht
[userid] => 734439
[size] => 593056
[width] => 827
[height] => 1320
[pagecount] => 20
[thumburl] => https://upload.wikimedia.org/wikipedia/commons/thumb/f/fc/Einstein_Dissertation_eth-30378-01.pdf/page1-100px-Einstein_Dissertation_eth-30378-01.pdf.jpg
[thumbwidth] => 100
[thumbheight] => 160
[thumbmime] => image/jpeg
[url] => https://upload.wikimedia.org/wikipedia/commons/f/fc/Einstein_Dissertation_eth-30378-01.pdf
[descriptionurl] => https://commons.wikimedia.org/wiki/File:Einstein_Dissertation_eth-30378-01.pdf
[descriptionshorturl] => https://commons.wikimedia.org/w/index.php?curid=45542076
[sha1] => 176d25c8850c0b93bd598b37f4e06a0f97836f5b
[imagedescription] => <p>Albert Einstein, Dissertation Zürich, 30. April 1905, abgedruckt in <a rel="nofollow" class="external text" href="http://zs.thulb.uni-jena.de/receive/jportal_jparticle_00125834">Annalen der Physik <b>324</b>, 289-305 (1906).</a>
</p>
[imagedescription.source] => commons-desc-page
[datetimeoriginal] => 1905-04-30
[datetimeoriginal.source] => commons-desc-page
[artist] => <bdi><a href="https://en.wikipedia.org/wiki/en:Albert_Einstein" class="extiw" title="w:en:Albert Einstein">Albert Einstein</a>
</bdi>
[artist.source] => commons-desc-page
[licenseshortname] => Public domain
[licenseshortname.source] => commons-desc-page
[licenseshortname.hidden] =>
[usageterms] => Public domain
[usageterms.source] => commons-desc-page
[usageterms.hidden] =>
[attributionrequired] => false
[attributionrequired.source] => commons-desc-page
[attributionrequired.hidden] =>
[restrictions] =>
[restrictions.source] => commons-desc-page
[restrictions.hidden] =>
[mime] => application/pdf
)
See more Examples