<?php
  //grab class
  include('Wikibot.php5');
  //get my password
  $fhpw = fopen("password2.txt", 'r') or die("can't open file");
  $password = fgets($fhpw);
  fclose($fhpw);
  //create bot
  $LivingBot = new Wikibot("LivingBot", $password, "en", "5", "5");
  $handle = fopen("livingbot_targets.txt", 'r') or die("can't open file");
  while (!feof($handle)) {
      $targets[] = trim(fgets($handle));
  }
  fclose($handle);
  for ($i = 0; $i < count($targets); $i++) {
      if (stripos($LivingBot->get_page("User:LivingBot/shutoff"), "<!--Emergency shutoff-->") === false) {
          echo "Bot shut down.<br />";
          break;
      }
      echo "Editing page [[$targets[$i]]].<br />";
      $page = $LivingBot->get_page($targets[$i]);
      $preg = preg_match("/\{\{Infobox (television|TV) film[^}]*\|([ ]*)image([ ]*)=[ ]*\[\[(file|image)/i", $page);
      if (stripos($page, "image_size") !== false || $preg == false) {
          //Already done, or some other mistake, either way:
          //echo "Problem, aborting.<br />";
          continue;
      }
      if (preg_match("/\{\{Infobox (television|TV) film[^}]*(\|([ ]*)image([ ]*)=[ ]*\[\[(file|image):([^.]+[.](jpg|jpeg|png|bmp|gif|svg))(\|([0-9]{3}[ ]?px))?[^\r\n]*<[!][-][-][^-]+[-][-]>[^\r\n]*[\n\r][\n\r]?)/i", $page)) {
          preg_match_all("/\{\{Infobox (television|TV) film[^}]*(\|([ ]*)image([ ]*)=[ ]*\[\[(file|image):([^.]+[.](jpg|jpeg|png|bmp|gif|svg))(\|([0-9]{3}[ ]?px))?[^\r\n]*(<[!][-][-][^-]+[-][-]>)[^\r\n]*[\n\r][\n\r]?)/i", $page, $temp);
      } else {
          
          preg_match_all("/\{\{Infobox (television|TV) film[^}]*(\|([ ]*)image([ ]*)=[ ]*\[\[(file|image):([^.]+[.](jpg|jpeg|png|bmp|gif|svg))(\|([0-9]{3}[ ]?px))?[^\r\n]*[\n\r][\n\r]?)/i", $page, $temp);
      }
      //print_r($temp);
      //Store all the useful parameters such as filename and size, as well as the spacing
      $space1 = $temp[3][0];
      $space2 = $temp[4][0];
      $space3 = substr($space2, 0, strlen($space2) - 5);
      if ($space3 == "") {
          $space3 = " ";
      }
      $filename = $temp[6][0];
      $size = str_replace(" ", "", $temp[9][0]);
      $fairuse = $temp[10][0];
      if ($size != "") {
          $new = "|" . $space1 . "image" . $space2 . "= " . $filename . " $fairuse \n|" . $space1 . "image_size" . $space3 . "= " . $size . "\n";
      } else {
          $new = "|" . $space1 . "image" . $space2 . "= " . $filename . " $fairuse \n";
      }
      //Replace old with new
      $newpage = str_ireplace($temp[2][0], $new, $page);
      $newpage = str_ireplace("Infobox TV Film", "Infobox Television film", $newpage);
      $newpage = str_ireplace("Infobox Television Film", "Infobox Television film", $newpage);
      if ($size != "") {
          if (preg_match_all("/\{\{Infobox (television|TV) film[^}]*(\|[ ]*image[_]?size[ ]*=[^\n\r]*[\n\r]*)/i", $page, $temp)) {
              $newpage = str_ireplace($temp[2][0], "", $newpage);
              echo "Removed existing image_size parameter<br />";
          }
      }
      //echo "<pre>".substr($newpage,0,strpos($newpage,"caption"))."</pre>";
      //Edit
      //echo "Editing ".$trialcount;
      $LivingBot->edit_page($targets[$i], $page, $newpage, "Bot altering {{Infobox Television film}} to split image parameter. [[User_talk:LivingBot|Incorrect?]]");
  }
?>