Kategorien
Bearbeiten von „FreewarWiki:Bot/Skripts/auftraglist.php“
Zur Navigation springen
Zur Suche springen
Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und veröffentliche dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.
Aktuelle Version | Dein Text | ||
Zeile 1: | Zeile 1: | ||
<div style="background-color:#ff9;border:1px solid #fc0;border-radius:5px;padding:10px;"> | <div style="background-color:#ff9;border:1px solid #fc0;border-radius:5px;padding:10px;"> | ||
Dies ist ein Skript von [[User:Cembon|Cembon]]. Es ist nicht der vollständige Quelltext des Bots, sondern nur die benötigten Teile. Wenn du hier Änderungen machst, schreibe bitte auf meine [[User Talk:Cembon|Diskussionsseite]] <br/> | Dies ist ein Skript von [[User:Cembon|Cembon]]. Es ist nicht der vollständige Quelltext des Bots, sondern nur die benötigten Teile. Wenn du hier Änderungen machst, schreibe bitte auf meine [[User Talk:Cembon|Diskussionsseite]] <br/> | ||
--[[User:Cembon|Cembon]] ([[User Talk:Cembon|Diskussion]] | [[Spezial:Beiträge/Cembon|Beiträge]]) 13:25, 26. Feb. 2012 (CET) | --[[User:Cembon|Cembon]] ([[User Talk:Cembon|Diskussion]] | [[Spezial:Beiträge/Cembon|Beiträge]]) 13:25, 26. Feb. 2012 (CET) | ||
</div> | </div> | ||
Zeile 13: | Zeile 11: | ||
private $nick; | private $nick; | ||
public function | public function mwBot($name, $server) { | ||
$this->nick = $name; | $this->nick = $name; | ||
$this->server = $server; | $this->server = $server; | ||
Zeile 32: | Zeile 30: | ||
$result = curl_exec($c); | $result = curl_exec($c); | ||
curl_close($c); | curl_close($c); | ||
return json_decode($result,true)['query']; | |||
} | } | ||
Zeile 42: | Zeile 39: | ||
private function getContent($title) { | private function getContent($title) { | ||
$this->status('Hole Artikel: ' . htmlentities($title)); | $this->status('Hole Artikel: ' . htmlentities($title)); | ||
$ | $pages = $this->getAPI('action=query&prop=info|revisions&titles=' . urlencode($title) . '&rvprop=timestamp|content&intoken=edit')['pages']; | ||
foreach($pages as $page) { | foreach($pages as $page) { | ||
return $page['revisions'][0]['*']; | return $page['revisions'][0]['*']; | ||
Zeile 62: | Zeile 58: | ||
$out .= htmlentities("Die Buttons neben den Überschriften können zum Sortieren angeklickt werden. Da die Liste sehr lang ist, kann dies allerdings einige Sekunden dauern."); | $out .= htmlentities("Die Buttons neben den Überschriften können zum Sortieren angeklickt werden. Da die Liste sehr lang ist, kann dies allerdings einige Sekunden dauern."); | ||
$out .= "\n\n"; | $out .= "\n\n"; | ||
$out .= "{| | $out .= "{| {{Prettytable|text-align:right;}} class=sortable\n"; | ||
$out .= "! align=\"center\" | Auftrag\n"; | $out .= "! align=\"center\" | Auftrag\n"; | ||
$out .= "! align=\"center\" | Gold\n"; | $out .= "! align=\"center\" | Gold\n"; | ||
Zeile 77: | Zeile 73: | ||
preg_match('#Zeit=\W*([0-9]+)#si', $content, $zeit); | preg_match('#Zeit=\W*([0-9]+)#si', $content, $zeit); | ||
preg_match('#Friedensmission=\W*(\w+)#si', $content, $fm); | preg_match('#Friedensmission=\W*(\w+)#si', $content, $fm); | ||
$out .= "| align=\"left\" | [[" . | $out .= "| align=\"left\" | [[" . $page['title'] . "|" . str_replace('Auftrag:', '', $page['title']) . "]]" . | ||
"\n|{{SortKey|{{nts|" . $gold[1] . "}}|" . $gold[1] . "}}\n" . | "\n|{{SortKey|{{nts|" . $gold[1] . "}}|" . $gold[1] . "}}\n" . | ||
"|{{SortKey|{{nts|" . $ap[1] . "}}|" . $ap[1] . "}}\n" . | "|{{SortKey|{{nts|" . $ap[1] . "}}|" . $ap[1] . "}}\n" . | ||
Zeile 84: | Zeile 80: | ||
(($fm[1]=='Ja' || $fm[1]=='ja')?"background-color:#0a0 !important;":($fm[1]=='semi'?"background-color:#ff9 !important;":"")) . "\" | {{SortKey|{{nts|" . | (($fm[1]=='Ja' || $fm[1]=='ja')?"background-color:#0a0 !important;":($fm[1]=='semi'?"background-color:#ff9 !important;":"")) . "\" | {{SortKey|{{nts|" . | ||
(($fm[1]=='Ja' || $fm[1]=='ja')?"2":($fm[1]=='semi'?"1":"0")) . "}}|" . | (($fm[1]=='Ja' || $fm[1]=='ja')?"2":($fm[1]=='semi'?"1":"0")) . "}}|" . | ||
(($fm[1]=='Ja' || $fm[1]=='ja')?'ja':($fm[1]=='semi'?' | (($fm[1]=='Ja' || $fm[1]=='ja')?'ja':($fm[1]=='semi'?'ähnlich':'nein')) . "}}\n|-\n"; | ||
} else { | } else { | ||
$this->status($page['title'] . 'wurde übersprungen: Ist kein Auftrag', 80); | $this->status($page['title'] . 'wurde übersprungen: Ist kein Auftrag', 80); | ||
Zeile 90: | Zeile 86: | ||
} | } | ||
return substr($out, 0, -2) . "} | return substr($out, 0, -2) . "}"; | ||
} | } | ||
public function print2file($str | public function print2file($str) { | ||
$fo = fopen('output.txt', "w"); | |||
fwrite($fo, $str); | |||
fclose($fo); | |||
} | } | ||
} | } | ||
Zeile 101: | Zeile 99: | ||
$bot = new mwBot('Beispieluser', 'www.fwwiki.de'); | $bot = new mwBot('Beispieluser', 'www.fwwiki.de'); | ||
//HINWEIS: Skript schreibt Output in die Textdatei output.txt, evtl muss diese bestehen und die nötigen Rechte gegeben sein! | //HINWEIS: Skript schreibt Output in die Textdatei output.txt, evtl muss diese bestehen und die nötigen Rechte gegeben sein! | ||
$bot->print2file($bot->getAuftragsgold()); | |||
</pre> | </pre> |