[ Index ]

PHP Cross Reference of MyBB 1.8.40

title

Body

[close]

/install/resources/ -> upgrade35.php (source)

   1  <?php
   2  /**
   3   * MyBB 1.8
   4   * Copyright 2014 MyBB Group, All Rights Reserved
   5   *
   6   * Website: http://www.mybb.com
   7   * License: http://www.mybb.com/about/license
   8   *
   9   */
  10  
  11  /**
  12   * Upgrade Script: 1.8.6
  13   */
  14  
  15  $upgrade_detail = array(
  16      "revert_all_templates" => 0,
  17      "revert_all_themes" => 0,
  18      "revert_all_settings" => 0
  19  );
  20  
  21  function upgrade35_dbchanges()
  22  {
  23      global $db, $output;
  24  
  25      $output->print_header("Updating Database");
  26      echo "<p>Performing necessary upgrade queries...</p>";
  27      flush();
  28  
  29      if($db->field_exists('subscriptionkey', 'threadsubscriptions'))
  30      {
  31          $db->drop_column("threadsubscriptions", "subscriptionkey");
  32      }
  33  
  34      if($db->type != 'pgsql')
  35      {
  36          $db->modify_column('adminsessions', 'useragent', "varchar(200) NOT NULL default ''");
  37          $db->modify_column('sessions', 'useragent', "varchar(200) NOT NULL default ''");
  38      }
  39      else
  40      {
  41          $db->modify_column('adminsessions', 'useragent', "varchar(200)", "set", "''");
  42          $db->modify_column('sessions', 'useragent', "varchar(200)", "set", "''");
  43      }
  44  
  45      // Remove "Are You a Human" captcha
  46      $db->update_query('settings', array('value' => '1'), "name='captchaimage' AND value='3'");
  47      $db->delete_query('settings', "name IN ('ayahpublisherkey', 'ayahscoringkey')");
  48      $db->delete_query('templates', "title IN ('member_register_regimage_ayah', 'post_captcha_ayah')");
  49  
  50      global $footer_extra;
  51      $footer_extra = "<script type=\"text/javascript\">$(function() { var button = $('.submit_button'); if(button) { button.val('Automatically Redirecting...'); button.prop('disabled', true); button.css('color', '#aaa'); button.css('border-color', '#aaa'); document.forms[0].submit(); } });</script>";
  52  
  53      $output->print_contents("<p>Click next to continue with the upgrade process.</p>");
  54      $output->print_footer("35_dbchanges2");
  55  }
  56  
  57  function upgrade35_dbchanges2()
  58  {
  59      global $db, $output;
  60  
  61      $output->print_header("Updating Database");
  62      echo "<p>Performing necessary optimization queries...</p>";
  63      flush();
  64  
  65      switch($db->type)
  66      {
  67          // PostgreSQL and SQLite do not support unsigned ints
  68          case "pgsql":
  69              $db->modify_column("buddyrequests", "uid", "int", "set", "'0'");
  70              $db->modify_column("buddyrequests", "touid", "int", "set", "'0'");
  71              $db->modify_column("buddyrequests", "date", "int", "set", "'0'");
  72              break;
  73          case "sqlite":
  74              $db->modify_column("threadratings", "rating", "tinyint(1) NOT NULL default '0'");
  75              $db->modify_column("buddyrequests", "uid", "int NOT NULL default '0'");
  76              $db->modify_column("buddyrequests", "touid", "int NOT NULL default '0'");
  77              $db->modify_column("buddyrequests", "date", "int NOT NULL default '0'");
  78              break;
  79          default:
  80              $db->modify_column("adminviews", "perpage", "smallint(4) unsigned NOT NULL default '0'");
  81              $db->modify_column("attachments", "filesize", "int(10) unsigned NOT NULL default '0'");
  82              $db->modify_column("attachtypes", "maxsize", "int(15) unsigned NOT NULL default '0'");
  83              $db->modify_column("banned", "olddisplaygroup", "int unsigned NOT NULL default '0'");
  84              $db->modify_column("buddyrequests", "uid", "int unsigned NOT NULL default '0'");
  85              $db->modify_column("buddyrequests", "touid", "int unsigned NOT NULL default '0'");
  86              $db->modify_column("buddyrequests", "date", "int unsigned NOT NULL default '0'");
  87              $db->modify_column("calendars", "eventlimit", "smallint(3) unsigned NOT NULL default '0'");
  88              $db->modify_column("massemails", "perpage", "smallint(4) unsigned NOT NULL default '50'");
  89              $db->modify_column("promotions", "posts", "int unsigned NOT NULL default '0'");
  90              $db->modify_column("promotions", "threads", "int unsigned NOT NULL default '0'");
  91              $db->modify_column("promotions", "registered", "int unsigned NOT NULL default '0'");
  92              $db->modify_column("promotions", "online", "int unsigned NOT NULL default '0'");
  93              $db->modify_column("promotions", "referrals", "int unsigned NOT NULL default '0'");
  94              $db->modify_column("promotions", "warnings", "int unsigned NOT NULL default '0'");
  95              $db->modify_column("sessions", "location1", "int(10) unsigned NOT NULL default '0'");
  96              $db->modify_column("sessions", "location2", "int(10) unsigned NOT NULL default '0'");
  97              $db->modify_column("threadratings", "rating", "tinyint(1) unsigned NOT NULL default '0'");
  98              $db->modify_column("threads", "views", "int(100) unsigned NOT NULL default '0'");
  99              $db->modify_column("threads", "replies", "int(100) unsigned NOT NULL default '0'");
 100              break;
 101      }
 102  
 103      global $footer_extra;
 104      $footer_extra = "<script type=\"text/javascript\">$(function() { var button = $('.submit_button'); if(button) { button.val('Automatically Redirecting...'); button.prop('disabled', true); button.css('color', '#aaa'); button.css('border-color', '#aaa'); document.forms[0].submit(); } });</script>";
 105  
 106      $output->print_contents("<p>Click next to continue with the upgrade process.</p>");
 107      $output->print_footer("35_dbchanges3");
 108  }
 109  
 110  function upgrade35_dbchanges3()
 111  {
 112      global $db, $output;
 113  
 114      $output->print_header("Updating Database");
 115      echo "<p>Performing necessary optimization queries...</p>";
 116      flush();
 117  
 118      switch($db->type)
 119      {
 120          // PostgreSQL and SQLite do not support unsigned ints
 121          case "sqlite":
 122              $db->modify_column("usergroups", "type", "tinyint(1) NOT NULL default '2'");
 123              $db->modify_column("users", "loginattempts", "smallint(2) NOT NULL default '1'");
 124              break;
 125          case "mysql":
 126          case "mysqli":
 127              $db->modify_column("usergroups", "type", "tinyint(1) unsigned NOT NULL default '2'");
 128              $db->modify_column("usergroups", "stars", "smallint(4) unsigned NOT NULL default '0'");
 129              $db->modify_column("usergroups", "pmquota", "int(3) unsigned NOT NULL default '0'");
 130              $db->modify_column("usergroups", "maxpmrecipients", "int(4) unsigned NOT NULL default '5'");
 131              $db->modify_column("usergroups", "maxemails", "int(3) unsigned NOT NULL default '5'");
 132              $db->modify_column("usergroups", "emailfloodtime", "int(3) unsigned NOT NULL default '5'");
 133              $db->modify_column("usergroups", "maxwarningsday", "int(3) unsigned NOT NULL default '3'");
 134              $db->modify_column("usergroups", "edittimelimit", "int(4) unsigned NOT NULL default '0'");
 135              $db->modify_column("usergroups", "maxposts", "int(4) unsigned NOT NULL default '0'");
 136              $db->modify_column("users", "postnum", "int(10) unsigned NOT NULL default '0'");
 137              $db->modify_column("users", "threadnum", "int(10) unsigned NOT NULL default '0'");
 138              $db->modify_column("users", "ppp", "smallint(6) unsigned NOT NULL default '0'");
 139              $db->modify_column("users", "tpp", "smallint(6) unsigned NOT NULL default '0'");
 140              $db->modify_column("users", "daysprune", "smallint(6) unsigned NOT NULL default '0'");
 141              $db->modify_column("users", "totalpms", "int(10) unsigned NOT NULL default '0'");
 142              $db->modify_column("users", "unreadpms", "int(10) unsigned NOT NULL default '0'");
 143              $db->modify_column("users", "warningpoints", "int(3) unsigned NOT NULL default '0'");
 144              $db->modify_column("users", "loginattempts", "smallint(2) unsigned NOT NULL default '1'");
 145              $db->modify_column("usertitles", "stars", "smallint(4) unsigned NOT NULL default '0'");
 146              $db->modify_column("warninglevels", "percentage", "smallint(3) unsigned NOT NULL default '0'");
 147              break;
 148      }
 149  
 150      global $footer_extra;
 151      $footer_extra = "<script type=\"text/javascript\">$(function() { var button = $('.submit_button'); if(button) { button.val('Automatically Redirecting...'); button.prop('disabled', true); button.css('color', '#aaa'); button.css('border-color', '#aaa'); document.forms[0].submit(); } });</script>";
 152  
 153      $output->print_contents("<p>Click next to continue with the upgrade process.</p>");
 154      $output->print_footer("35_dbchanges4");
 155  }
 156  
 157  function upgrade35_dbchanges4()
 158  {
 159      global $mybb, $output;
 160  
 161      $output->print_header("Adding index files");
 162      echo "<p>Adding index files to attachment directories...</p>";
 163      flush();
 164  
 165      $uploadspath_abs = mk_path_abs($mybb->settings['uploadspath']);
 166      $dir = @opendir($uploadspath_abs);
 167      if($dir)
 168      {
 169          while(($file = @readdir($dir)) !== false)
 170          {
 171              $filename = "{$uploadspath_abs}/{$file}";
 172              $indexfile = "{$filename}/index.html";
 173  
 174              if(preg_match('#^[0-9]{6}$#', $file) && @is_dir($filename) && @is_writable($filename) && !file_exists($indexfile))
 175              {
 176                  $index = @fopen($indexfile, 'w');
 177                  @fwrite($index, "<html>\n<head>\n<title></title>\n</head>\n<body>\n&nbsp;\n</body>\n</html>");
 178                  @fclose($index);
 179              }
 180          }
 181  
 182          @closedir($dir);
 183      }
 184  
 185      $output->print_contents("<p>Click next to continue with the upgrade process.</p>");
 186      $output->print_footer("35_done");
 187  }


2005 - 2021 © MyBB.de | Alle Rechte vorbehalten! | Sponsor: netcup Cross-referenced by PHPXref