BdMAktualisierung.php 3.07 KB
Newer Older
Luke081515's avatar
Luke081515 committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
#!/usr/bin/php
<?php
include './Core/BotCore.php';
/** BdMAktualisierung.php
* Aktualisierung des Bild des Monats auf der Hauptseite der w:de:WP:Jungwikipedianer
* @Author <freddy2001>
* @Version 0.1
* @Status Alpha
* Cron: * 3 1 1 - 12 *
*/
class BdMAktualisierung extends Core {

	public function BdMAktualisierung ($Account, $Job, $pUseHTTPS = true) {
		$this->initcurl($Account, $Job, $pUseHTTPS = true);
		//Programmstart
		echo "---BdM-Aktualisierung---\nDurchlauf: " . date('l jS F Y H:i:s') . "\n---\n";
		//Angabe der Seite der BWB-Sieger
		$page = "Wikipedia:Jungwikipedianer/Bilderwettbewerbssieger";
		$pagecontent = $this->readPage($page);
		//Tags
		$onlyincludetag = '<onlyinclude>';
		$onlyincludeendtag = '</onlyinclude>';
		//Tags suchen
		$sectionone = $this->readSection($page, 1);
		if (strpos($sectionone, $onlyincludetag) === false) {
			$sectiontwo = $this->readSection($page, 2);
			if (strpos($sectiontwo, $onlyincludetag) === false) {
				$sectionthree = $this->readSection($page, 3);
				if (strpos($sectionthree, $onlyincludetag) === false) { }
					//do nothing;
				else {
					$sectionpos = 3;
					$sectioncontent = $sectionthree;
				}
			} else {
				$sectionpos = 2;
				$sectioncontent = $sectiontwo;
			}
		} else {
			$sectionpos = 1;
			$sectioncontent = $sectionone;
		}
		echo "Das Tag $onlyincludetag befindet sich im $sectionpos Abschnitt.\n";
		$sectionnewtagpos = $sectionpos - 1;
		if ($sectionnewtagpos != 0) {
			echo "Das Tag wird in den $sectionnewtagpos Abschnitt verschoben. \n";
			$sectioncontentclean = str_replace($onlyincludetag, "", $sectioncontent);
			$sectioncontentclean = str_replace($onlyincludeendtag, "", $sectioncontentclean);
			$pagecontentcleaned = str_replace($sectioncontent, $sectioncontentclean, $pagecontent);
			$sectionnew = $this->readSection($page, $sectionnewtagpos);
			$endtitlesectionnew = strpos($sectionnew, "[[");
			$titlesectionnew = substr($sectionnew, 0, $endtitlesectionnew);
			$bodysectionnew = substr($sectionnew, $endtitlesectionnew);
			$contentsectionnew = $titlesectionnew . $onlyincludetag . $bodysectionnew . $onlyincludeendtag;
			$pagecontentcleaned = str_replace($sectionnew, $contentsectionnew, $pagecontentcleaned);
			$this->editPage($page, $pagecontentcleaned, "Bot: Aktualisiere Bild des Monats");
			echo "Done.\n";
			$mailheader = "[Bot log]: Freddy2001-Bot run task BdMAktualisierung";
			$mailbody = "Bot log: Freddy2001-Bot run task BdMAktualisierung.php sucessful.\nTime: " . date('l jS F Y H:i:s') . "\nSee https://de.wikipedia.org/w/index.php?title=Wikipedia:Jungwikipedianer/Bilderwettbewerbssieger&action=history for details.";
		} else {
			echo "Fehler, kann nicht Aktualisieren! Es sind nicht genügend Bilder da.\n";
			$mailheader = "[Bot log]: Freddy2001-Bot task error BdMAktualisierung";
			$mailbody = "Bot log: Freddy2001-Bot ERROR while task BdMAktualisierung.php.\nTime: " . date('l jS F Y H:i:s');

		}
		mail($mailadress, $mailheader, $mailbody);
	}
}

$BdMAktualisierung = new BdMAktualisierung ('Freddy2001-Bot@bottestwiki', 'BdMAktualisierung'); // Aufrufen der definierten Passwortdaten in Password.php
?>