PageRenderTime 37ms CodeModel.GetById 12ms RepoModel.GetById 0ms app.codeStats 0ms

/depreciated/task.deadend.remove.php

https://github.com/Dispositif/addbot
PHP | 85 lines | 57 code | 16 blank | 12 comment | 19 complexity | 321bfc5599dbca2446173361e89a9a76 MD5 | raw file
  1. <?PHP
  2. error_reporting(E_ALL);
  3. ini_set('display_errors', '1');
  4. require 'bot.login.php';
  5. global $wiki;
  6. $deadend = $wiki->categorymembers("Category:Dead-end_pages",true);
  7. foreach($deadend as $page)
  8. {
  9. //$page = "User:Addshore/sandbox";
  10. $isdeadend = true;
  11. //Make sure we are working in the mainspace
  12. if (preg_match('/:/',$page) == false)
  13. {
  14. echo "checking $page\n";
  15. //sleep(2);
  16. $text = $wiki->getpage($page);
  17. //Fix the template if it is under a section
  18. if(preg_match('/==.*?\{\{(Needs links|Dead( |-)?end( page)?|dep)(\| ?(date) ?(= ?(January|February|March|April|May|June|July|August|September|October|November|December) ?20[0-9][0-9])? ?){0,1}\}\}(\r\n|\n\n){0,2}/is',$text) != 0)
  19. {
  20. $text = preg_replace("/\{\{(Needs links|Dead( |-)?end( page)?|dep)/i","{{Dead end|section",$text);
  21. $wiki->edit($page,$text,"[[User:Addbot|Bot:]] Adding section parameter to Dead end tag ([[User_talk:Addbot|Report Errors]])",true);
  22. echo "Added section parameter";
  23. sleep(15);
  24. break;
  25. }
  26. //If it has the section parameter then also skip
  27. if(preg_match('/==.*?\{\{(Needs links|Dead( |-)?end( page)?|dep)\| ?section/is',$text) == 0)
  28. {
  29. preg_match_all('/\[\[([a-z\/ _\(\)\|\.0-9]*)\]\]/i',$text, $links, PREG_PATTERN_ORDER);
  30. foreach($links[1] as $link)
  31. {
  32. if(preg_match('/\|/',$link) != 0)
  33. {
  34. $split = preg_split('/\|/',$link);
  35. $link = $split[0];
  36. }
  37. //do we still need to check / is it a valid link
  38. if ($isdeadend == true && preg_match('/:/',$link) == 0)
  39. {
  40. echo $link;
  41. if(strlen($wiki->getpage($link)) > 0)
  42. {
  43. echo "-- IS NOT A DEADEND per $link \n";
  44. //echo strlen($wiki->getpage($link))."\n";
  45. $isdeadend = false;
  46. sleep(5);
  47. }
  48. }
  49. }
  50. //Has a link so remove tag
  51. if($isdeadend == false && preg_match('/\{\{(Needs links|Dead( |-)?end( page)?|dep) ?\| ?section/i',$text) == FALSE)
  52. {
  53. echo "NOT GOT A SECTION TAG";
  54. $text = preg_replace("/\{\{((Needs links|Dead( |-)?end( page)?|dep)(\| ?(date) ?(= ?(January|February|March|April|May|June|July|August|September|October|November|December) ?20[0-9][0-9])? ?){0,1} *\}\}(\r|\n){0,3})/i","",$text);
  55. /*
  56. $text = preg_replace("/(\{\{(Needs links|Dead( |-)?end( page)?|dep)(\| ?(date) ?=?((January|February|March|April|May|June|July|August|September|October|November|December) ?(20[0-9][0-9]))? ?){0,1} \}\}(\r\n|\n\n){0,3})/i","",$text);
  57. */
  58. $text = preg_replace("/\|dead ?end ?= ?(January|February|March|April|May|June|July|August|September|October|November|December) ?20[0-9][0-9](\r|\n){0,3}/i","",$text);
  59. $text = preg_replace("/\{\{((Multiple|Article|Many)? ?issues|MI|multiple)\| ?(\r|\n){0,3}\}\}(\r|\n){0,3}/i","",$text);
  60. if($text != "")
  61. {
  62. $wiki->edit($page,$text,"[[User:Addbot|Bot:]] Removing Deadend Tag - Article has links ([[User_talk:Addbot|Report Errors]])",true);
  63. //sleep(15);
  64. }
  65. }
  66. }
  67. }
  68. }
  69. ?>