Changeset 473 for dev/install

Show
Ignore:
Timestamp:
11/09/09 12:20:30 (11 years ago)
Author:
kovell
Message:

Add transactions to installation to speed up InnoDB. Transaction log is written after each transaction instead of each insert. Warnings are reduced to help installation with overly strict error reporting.

Location:
dev/install
Files:
6 modified

Legend:

Unmodified
Added
Removed
  • dev/install/index.php

    r461 r473  
    1010    $_SESSION['state'] = 1; 
    1111} 
    12 elseif ($step = intval($_REQUEST['step'])) 
     12elseif (isset($_GET['step']) && $step = intval($_GET['step'])) 
    1313{ 
    1414    $_SESSION['state'] = $step; 
  • dev/install/install_step3.php

    r417 r473  
    33$stoppage = true; 
    44 
    5 if ($_REQUEST['submit'] != '') 
     5if (!empty($_REQUEST['submit'])) 
    66{ 
    77    $_SESSION['sql']['host'] = $_POST['host']; 
     
    1212} 
    1313 
    14 if (!$host = $_SESSION['sql']['host']) 
     14if (empty($_SESSION['sql']['host'])) 
    1515{ 
    1616    $host = 'localhost'; 
    1717} 
     18else $host = $_SESSION['sql']['host']; 
    1819if (file_exists('../config.php')) 
    1920{ 
  • dev/install/install_step4.php

    r417 r473  
    33if (file_exists('../config.php')) 
    44{ 
    5     echo 'Redirecting you to the Update page, please wait.<br/>'; 
    6     echo '<meta http-equiv="refresh" content="1; URL=?step=40&action=drop" />'; 
    7     return; 
     5        echo 'Redirecting you to the Update page, please wait.<br/>'; 
     6        echo '<meta http-equiv="refresh" content="1; URL=?step=40&action=drop" />'; 
     7        return; 
    88} 
    99 
     
    2121foreach($kb['kb3']['table'] as $idx => $tbl) 
    2222{ 
    23     $table = $tbl['name']; 
    24     $files = array(); 
    25     $dir = opendir('../packages/database/'.$table); 
    26  
    27     $xml = new sxml(); 
    28     $st = $xml->parse(file_get_contents('../packages/database/'.$table.'/table.xml')); 
    29     $struct[$table] = $st['kb3']['structure']; 
    30     $kb['kb3']['table'][$idx]['rows'] = $st['kb3']['rows']; 
    31     $structc++; 
    32  
    33     while ($file = readdir($dir)) 
    34     { 
    35         if ($file == '.' || $file == '..' || $file == '.svn') 
    36         { 
    37             continue; 
    38         } 
    39         if (strpos($file, '_opt_')) 
    40         { 
    41             $dcnt++; 
    42             $optcnt++; 
    43             $opt[$table][] = '../packages/database/'.$table.'/'.$file; 
    44             asort($opt[$table]); 
    45         } 
    46         elseif (!strpos($file, 'xml')) 
    47         { 
    48             $dcnt++; 
    49             $datacnt++; 
    50             $data[$table][] = '../packages/database/'.$table.'/'.$file; 
    51             asort($data[$table]); 
    52         } 
    53     } 
     23        $table = $tbl['name']; 
     24        $files = array(); 
     25        $dir = opendir('../packages/database/'.$table); 
     26 
     27        $xml = new sxml(); 
     28        $st = $xml->parse(file_get_contents('../packages/database/'.$table.'/table.xml')); 
     29        $struct[$table] = $st['kb3']['structure']; 
     30        $kb['kb3']['table'][$idx]['rows'] = $st['kb3']['rows']; 
     31        $structc++; 
     32 
     33        while ($file = readdir($dir)) 
     34        { 
     35                if ($file == '.' || $file == '..' || $file == '.svn') 
     36                { 
     37                        continue; 
     38                } 
     39                if (strpos($file, '_opt_')) 
     40                { 
     41                        $dcnt++; 
     42                        $optcnt++; 
     43                        $opt[$table][] = '../packages/database/'.$table.'/'.$file; 
     44                        asort($opt[$table]); 
     45                } 
     46                elseif (!strpos($file, 'xml')) 
     47                { 
     48                        $dcnt++; 
     49                        $datacnt++; 
     50                        $data[$table][] = '../packages/database/'.$table.'/'.$file; 
     51                        asort($data[$table]); 
     52                } 
     53        } 
    5454} 
    5555 
     
    5959while ($row = mysql_fetch_row($result)) 
    6060{ 
    61     $table = $row[0]; 
    62     unset($struct[$table]); 
    63 } 
    64  
    65 if ($_REQUEST['sub'] == 'struct') 
    66 { 
    67     foreach ($struct as $table => $structure) 
    68     { 
    69         echo 'Creating table '.$table.'...'; 
    70         $query = $struct[$table]; 
    71         #echo $query; 
    72         $id = mysql_query($query); 
    73         if ($id) 
    74         { 
    75             echo 'done<br/>'; 
    76                 if ($_SESSION['sql']['engine'] == "InnoDB"){ 
    77                         echo 'Altering table '. $table .' into InnoDB...'; 
    78                         $id = mysql_query('ALTER TABLE '.$table.' ENGINE=InnoDB;'); 
    79                         if ($id) 
    80                         { 
    81                             echo 'done<br/>'; 
    82                         } 
    83                         else 
    84                         { 
    85                         echo 'error: '.mysql_error().'<br/>'; 
    86                         }        
    87                 } 
    88         } 
    89         else 
    90         { 
    91             echo 'error: '.mysql_error().'<br/>'; 
    92         } 
    93         unset($struct[$table]); 
    94     } 
    95 } 
    96 if ($_REQUEST['do'] == 'reset') 
    97 { 
    98     unset($_SESSION['sqlinsert']); 
    99     unset($_SESSION['doopt']); 
    100 } 
    101  
    102 if ($_REQUEST['sub'] == 'data') 
    103 { 
    104     if (!isset($_SESSION['sqlinsert'])) 
    105     { 
    106         $_SESSION['sqlinsert'] = 1; 
    107         if (isset($_POST['opt'])) 
    108         { 
    109             $_SESSION['useopt'] = array(); 
    110             foreach ($_POST['opt'] as $table => $value) 
    111             { 
    112                 $_SESSION['useopt'][] = $table; 
    113             } 
    114         } 
    115     } 
    116  
    117     $i = 0; 
    118     $did = false; 
    119     $errors = false; 
    120     if (!isset($_SESSION['doopt'])) 
    121     { 
    122         foreach ($data as $table => $files) 
    123         { 
    124             foreach ($files as $file) 
    125             { 
    126                 $i++; 
    127                 if ($_SESSION['sqlinsert'] > $i) 
    128                 { 
    129                     continue; 
    130                 } 
    131                 echo 'Inserting data ('.$i.'/'.$datacnt.') into '.$table.'<br/> using file '.$file.'...<br/>'; 
    132  
    133                 $error = ''; 
    134                 $fp = gzopen($file, 'r'); 
    135                 $lines = 0; 
    136                 $errors = 0; 
     61        $table = $row[0]; 
     62        unset($struct[$table]); 
     63} 
     64 
     65if (isset($_REQUEST['sub']) && $_REQUEST['sub'] == 'struct') 
     66{ 
     67        foreach ($struct as $table => $structure) 
     68        { 
     69                echo 'Creating table '.$table.'...'; 
     70                $query = $struct[$table]; 
     71                if ($_SESSION['sql']['engine'] == "InnoDB") 
     72                { 
     73                        $query = preg_replace('/MyISAM/', 'InnoDB', $query); 
     74                } 
     75                #echo $query; 
     76                $id = mysql_query($query); 
     77                if ($id) 
     78                { 
     79                        echo 'done<br/>'; 
     80                } 
     81                else 
     82                { 
     83                        echo 'error: '.mysql_error().'<br/>'; 
     84                } 
     85                unset($struct[$table]); 
     86        } 
     87} 
     88if (!empty($_REQUEST['do']) && $_REQUEST['do'] == 'reset') 
     89{ 
     90        unset($_SESSION['sqlinsert']); 
     91        unset($_SESSION['doopt']); 
     92} 
     93 
     94if (!empty($_REQUEST['sub']) && $_REQUEST['sub'] == 'data') 
     95{ 
     96        if (!isset($_SESSION['sqlinsert'])) 
     97        { 
     98                $_SESSION['sqlinsert'] = 1; 
     99                if (isset($_POST['opt'])) 
     100                { 
     101                        $_SESSION['useopt'] = array(); 
     102                        foreach ($_POST['opt'] as $table => $value) 
     103                        { 
     104                                $_SESSION['useopt'][] = $table; 
     105                        } 
     106                } 
     107        } 
     108 
     109        $i = 0; 
     110        $did = false; 
     111        $errors = false; 
     112        if (!isset($_SESSION['doopt'])) 
     113        { 
     114                foreach ($data as $table => $files) 
     115                { 
     116                        foreach ($files as $file) 
     117                        { 
     118                                $i++; 
     119                                if ($_SESSION['sqlinsert'] > $i) 
     120                                { 
     121                                        continue; 
     122                                } 
     123                                echo 'Inserting data ('.$i.'/'.$datacnt.') into '.$table.'<br/> using file '.$file.'...<br/>'; 
     124 
     125                                $error = ''; 
     126                                $fp = gzopen($file, 'r'); 
     127                                $lines = 0; 
     128                                $errors = 0; 
    137129                                $text = ''; 
    138130                                $query_count = 0; 
    139                 while ($query = gzgets($fp, 4000)) 
    140                 { 
    141                     $text .= $query; 
    142                     if (substr($text, -3, 1) != ';') 
    143                     { 
    144                         continue; 
    145                     } 
    146                     $query = $text; 
    147                     $text = ''; 
    148                     $lines++; 
    149                     if (trim($query)) 
    150                     { 
    151                         $query = trim($query); 
    152                         if (substr($query, -1, 1) == ';') 
    153                         { 
    154                             $query = substr($query, 0, -1); 
    155                         } 
    156                         $query_count++; 
    157                         $id = mysql_query($query); 
    158                         #echo $query; 
    159                         if (!$id) 
    160                         { 
    161                             $error .= 'error: '.mysql_error().'<br/>'; 
    162                             $errors++; 
    163                         } 
    164                     } 
    165                 } 
    166                 echo '<br/>File '.$file.' had '.$lines.' lines with '.$query_count.' queries.<br/> '.$errors.' Queries failed.<br/>'; 
    167                 if (!$error) 
    168                 { 
    169                     echo '<br/>Finished importing of this file.<br/>'; 
    170                     echo '<meta http-equiv="refresh" content="1; URL=?step=4&sub=data" />'; 
    171                     echo 'Automatic reload in 1s for next chunk. <a href="?step=4&sub=data">Manual Link</a><br/>'; 
    172                 } 
    173                 else 
    174                 { 
    175                     echo $error; 
    176                     echo '<meta http-equiv="refresh" content="20; URL=?step=4&sub=data" />'; 
    177                     echo 'Automatic reload in 20s for next chunk because an error occurred. <a href="?step=4&sub=data">Manual Link</a><br/>'; 
    178                 } 
    179                 $_SESSION['sqlinsert']++; 
    180  
    181                 $did = true; 
    182                 break 2; 
    183             } 
    184         } 
    185     } 
    186  
    187     if (isset($_SESSION['useopt']) && !$did) 
    188     { 
    189         $i = 0; 
    190         if (!isset($_SESSION['doopt'])) 
    191         { 
    192             $_SESSION['doopt'] = true; 
    193             $_SESSION['sqlinsert'] = 1; 
    194         } 
     131                                mysql_query("START TRANSACTION"); 
     132                                while ($query = gzgets($fp, 4000)) 
     133                                { 
     134                                        $text .= $query; 
     135                                        if (substr(trim($query), -1, 1) != ';') 
     136                                        { 
     137                                                continue; 
     138                                        } 
     139                                        $query = $text; 
     140                                        $text = ''; 
     141                                        $lines++; 
     142                                        if (trim($query)) 
     143                                        { 
     144                                                $query = trim($query); 
     145                                                if (substr($query, -1, 1) == ';') 
     146                                                { 
     147                                                        $query = substr($query, 0, -1); 
     148                                                } 
     149                                                if (strpos($query, 'TRUNCATE') !== FALSE) 
     150                                                { 
     151                                                        mysql_query("COMMIT"); 
     152                                                } 
     153                                                $query_count++; 
     154                                                $id = mysql_query($query); 
     155                                                if (strpos($query, 'TRUNCATE') !== FALSE) 
     156                                                { 
     157                                                        mysql_query("START TRANSACTION"); 
     158                                                } 
     159                                                #echo $query; 
     160                                                if (!$id) 
     161                                                { 
     162                                                        $error .= 'error: '.mysql_error().'<br/>'; 
     163                                                        $errors++; 
     164                                                } 
     165                                        } 
     166                                } 
     167                                mysql_query("COMMIT"); 
     168                                echo '<br/>File '.$file.' had '.$lines.' lines with '.$query_count.' queries.<br/> '.$errors.' Queries failed.<br/>'; 
     169                                if (!$error) 
     170                                { 
     171                                        echo '<br/>Finished importing of this file.<br/>'; 
     172                                        echo '<meta http-equiv="refresh" content="1; URL=?step=4&sub=data" />'; 
     173                                        echo 'Automatic reload in 1s for next chunk. <a href="?step=4&sub=data">Manual Link</a><br/>'; 
     174                                } 
     175                                else 
     176                                { 
     177                                        echo $error; 
     178                                        echo '<meta http-equiv="refresh" content="20; URL=?step=4&sub=data" />'; 
     179                                        echo 'Automatic reload in 20s for next chunk because an error occurred. <a href="?step=4&sub=data">Manual Link</a><br/>'; 
     180                                } 
     181                                $_SESSION['sqlinsert']++; 
     182 
     183                                $did = true; 
     184                                break 2; 
     185                        } 
     186                } 
     187        } 
     188 
     189        if (isset($_SESSION['useopt']) && !$did) 
     190        { 
     191                $i = 0; 
     192                if (!isset($_SESSION['doopt'])) 
     193                { 
     194                        $_SESSION['doopt'] = true; 
     195                        $_SESSION['sqlinsert'] = 1; 
     196                } 
    195197                $optsel = 0; 
    196         foreach ($opt as $table => $files) 
    197         { 
    198             if (!in_array($table, $_SESSION['useopt'])) 
    199             { 
    200                 continue; 
    201             } 
    202             foreach ($files as $file) 
    203             { 
    204                 $optsel++; 
    205             } 
    206         } 
    207         foreach ($opt as $table => $files) 
    208         { 
    209             if (!in_array($table, $_SESSION['useopt'])) 
    210             { 
    211                 continue; 
    212             } 
    213             foreach ($files as $file) 
    214             { 
    215                 $i++; 
    216                 if ($_SESSION['sqlinsert'] > $i) 
    217                 { 
    218                     continue; 
    219                 } 
    220                 echo '<br/>Inserting optional data ('.$i.'/'.$optsel.') into '.$table.'<br/> using file '.$file.'...'; 
    221                 $fp = gzopen($file, 'r'); 
     198                foreach ($opt as $table => $files) 
     199                { 
     200                        if (!in_array($table, $_SESSION['useopt'])) 
     201                        { 
     202                                continue; 
     203                        } 
     204                        foreach ($files as $file) 
     205                        { 
     206                                $optsel++; 
     207                        } 
     208                } 
     209                foreach ($opt as $table => $files) 
     210                { 
     211                        if (!in_array($table, $_SESSION['useopt'])) 
     212                        { 
     213                                continue; 
     214                        } 
     215                        foreach ($files as $file) 
     216                        { 
     217                                $i++; 
     218                                if ($_SESSION['sqlinsert'] > $i) 
     219                                { 
     220                                        continue; 
     221                                } 
     222                                echo '<br/>Inserting optional data ('.$i.'/'.$optsel.') into '.$table.'<br/> using file '.$file.'...'; 
     223                                $fp = gzopen($file, 'r'); 
    222224                                $text = ''; 
    223                 while ($query = gzgets($fp, 4000)) 
    224                 { 
    225                     $text .= $query; 
    226                     if (substr($text, -3, 1) != ';') 
    227                     { 
    228                         continue; 
    229                     } 
    230                     $query = $text; 
    231                     $text = ''; 
    232                     $query = trim($query); 
    233                     if ($query) 
    234                     { 
    235                         if (substr($query, -1, 1) == ';') 
    236                         { 
    237                             $query = substr($query, 0, -1); 
    238                         } 
    239                         $id = mysql_query($query); 
    240                         #echo $query; 
    241                     } 
    242                 } 
    243                 if ($id) 
    244                 { 
    245                     echo 'done<br/>'; 
    246                 } 
    247                 else 
    248                 { 
    249                     echo 'error: '.mysql_error().'<br/>'; 
    250                 } 
    251                 $_SESSION['sqlinsert']++; 
    252                 echo '<meta http-equiv="refresh" content="1; URL=?step=4&sub=data" />'; 
    253                 echo 'Automatic reload in 1s for next chunk. <a href="?step=4&sub=data">Manual Reload</a><br/>'; 
    254                 $did = true; 
    255                 break 2; 
    256             } 
    257         } 
    258     } 
    259     if (!$did) 
    260     { 
    261         $stoppage = false; 
    262         $failed = 0; 
    263         echo 'All tables imported. Checking tables for correct data...<br/>'; 
    264         foreach ($kb['kb3']['table'] as $line) 
    265         { 
    266             $table = $line['name']; 
    267             $count = $line['rows']; 
    268             echo 'Checking table '.$table.': '; 
    269             $result = mysql_query('SELECT count(*) as cnt FROM '.$table); 
    270             $test = mysql_fetch_array($result); 
    271             if ($test['cnt'] != $count && $count != 0) 
    272             { 
    273                 echo $test['cnt'].'/'.$count.' - <font color="red"><b>FAILED</b></font>'; 
    274                 $failed++; 
    275             } 
    276             else 
    277             { 
    278                 echo $test['cnt'].'/'.$count.' - <font color="green"><b>PASSED</b></font>'; 
    279             } 
    280             echo '<br/>'; 
    281         } 
    282         if ($stoppage) 
    283         { 
    284             echo 'There has been an error with one of the tables, please <a href="?step=4&do=reset">Reset</a> and try again.<br/>'; 
    285         } 
    286         else 
    287         { 
    288             echo '<br/>All tables passed.<br/>'; 
    289             echo 'You can now create or search your corporation/alliance: <a href="?step=5">Next Step</a><br/>'; 
    290         } 
    291     } 
    292     echo '<br/>Use <a href="?step=4&sub=datasel&do=reset">Reset</a> to step back to the sql-opt select.<br/>'; 
     225                                mysql_query("START TRANSACTION"); 
     226                                while ($query = gzgets($fp, 4000)) 
     227                                { 
     228                                        $text .= $query; 
     229                                        if (substr(trim($query), -1, 1) != ';') 
     230                                        { 
     231                                                continue; 
     232                                        } 
     233                                        $query = $text; 
     234                                        $text = ''; 
     235                                        $query = trim($query); 
     236                                        if ($query) 
     237                                        { 
     238                                                if (substr($query, -1, 1) == ';') 
     239                                                { 
     240                                                        $query = substr($query, 0, -1); 
     241                                                } 
     242                                                if (strpos($query, 'TRUNCATE') !== FALSE) 
     243                                                { 
     244                                                        mysql_query("COMMIT"); 
     245                                                } 
     246                                                $id = mysql_query($query); 
     247                                                if (strpos($query, 'TRUNCATE') !== FALSE) 
     248                                                { 
     249                                                        mysql_query("START TRANSACTION"); 
     250                                                } 
     251                                        #echo $query; 
     252                                        } 
     253                                } 
     254                                mysql_query("COMMIT"); 
     255                                if ($id) 
     256                                { 
     257                                        echo 'done<br/>'; 
     258                                } 
     259                                else 
     260                                { 
     261                                        echo 'error: '.mysql_error().'<br/>'; 
     262                                } 
     263                                $_SESSION['sqlinsert']++; 
     264                                echo '<meta http-equiv="refresh" content="1; URL=?step=4&sub=data" />'; 
     265                                echo 'Automatic reload in 1s for next chunk. <a href="?step=4&sub=data">Manual Reload</a><br/>'; 
     266                                $did = true; 
     267                                break 2; 
     268                        } 
     269                } 
     270        } 
     271        if (!$did) 
     272        { 
     273                $stoppage = false; 
     274                $failed = 0; 
     275                echo 'All tables imported. Checking tables for correct data...<br/>'; 
     276                foreach ($kb['kb3']['table'] as $line) 
     277                { 
     278                        $table = $line['name']; 
     279                        $count = $line['rows']; 
     280                        echo 'Checking table '.$table.': '; 
     281                        $result = mysql_query('SELECT count(*) as cnt FROM '.$table); 
     282                        $test = mysql_fetch_array($result); 
     283                        if ($test['cnt'] != $count && $count != 0) 
     284                        { 
     285                                echo $test['cnt'].'/'.$count.' - <font color="red"><b>FAILED</b></font>'; 
     286                                $failed++; 
     287                        } 
     288                        else 
     289                        { 
     290                                echo $test['cnt'].'/'.$count.' - <font color="green"><b>PASSED</b></font>'; 
     291                        } 
     292                        echo '<br/>'; 
     293                } 
     294                if ($stoppage) 
     295                { 
     296                        echo 'There has been an error with one of the tables, please <a href="?step=4&do=reset">Reset</a> and try again.<br/>'; 
     297                } 
     298                else 
     299                { 
     300                        echo '<br/>All tables passed.<br/>'; 
     301                        echo 'You can now create or search your corporation/alliance: <a href="?step=5">Next Step</a><br/>'; 
     302                } 
     303        } 
     304        echo '<br/>Use <a href="?step=4&sub=datasel&do=reset">Reset</a> to step back to the sql-opt select.<br/>'; 
    293305} 
    294306?> 
     
    301313foreach ($struct as $table => $file) 
    302314{ 
    303     echo 'Table struct has to be added: '.$table.'<br/>'; 
    304     $structadd++; 
    305 } 
    306 if (!$structadd && $_REQUEST['sub'] != 'datasel' && $_REQUEST['sub'] != 'data') 
    307 { 
    308     echo 'All table structures seem to be in the database.<br/>'; 
    309 #    echo 'I will now check some table structures in case you are upgrading from a previous version... '; 
    310 #    include('install_step4_tblchk.php'); 
    311     echo 'Please continue with <a href="?step=4&sub=datasel">Importing Data</a><br/>'; 
    312  
    313     echo '<br/><br/>If you have aborted the install and you already have the data in those tables, you can bypass the import now with <a href="?step=5">this link</a><br/>'; 
    314     echo 'To be sure, I will check some table data for you now:<br/><br/>'; 
    315     foreach ($kb['kb3']['table'] as $line) 
    316     { 
    317         $table = $line['name']; 
    318         $count = $line['rows']; 
    319         echo 'Checking table '.$table.': '; 
    320         $result = mysql_query('SELECT count(*) as cnt FROM '.$table); 
    321         $test = mysql_fetch_array($result); 
    322          
    323         if ($test['cnt'] != $count && $count != 0) 
    324         { 
    325             echo $test['cnt'].'/'.$count.' - <font color="red"><b>FAILED</b></font>'; 
    326             $failed++; 
    327         } 
    328         else 
    329         { 
    330             echo $test['cnt'].'/'.$count.' - <font color="green"><b>PASSED</b></font>'; 
    331         } 
    332         echo '<br/>'; 
    333     } 
    334     if ($failed == 0) 
    335     { 
    336         echo '<br/>All important table data seems to be there. You are safe to bypass the import.<br/>'; 
    337     } 
    338     else 
    339     { 
    340         echo '<br/>There was an error in one of the important tables. Please run the import.<br/>'; 
    341     } 
     315        echo 'Table struct has to be added: '.$table.'<br/>'; 
     316        $structadd++; 
     317} 
     318if (!$structadd && (empty($_REQUEST['sub']) || ($_REQUEST['sub'] != 'datasel' && $_REQUEST['sub'] != 'data'))) 
     319//if (!$structadd && $_REQUEST['sub'] != 'datasel' && $_REQUEST['sub'] != 'data') 
     320{ 
     321        echo 'All table structures seem to be in the database.<br/>'; 
     322        #    echo 'I will now check some table structures in case you are upgrading from a previous version... '; 
     323        #    include('install_step4_tblchk.php'); 
     324        echo 'Please continue with <a href="?step=4&sub=datasel">Importing Data</a><br/>'; 
     325 
     326        echo '<br/><br/>If you have aborted the install and you already have the data in those tables, you can bypass the import now with <a href="?step=5">this link</a><br/>'; 
     327        echo 'To be sure, I will check some table data for you now:<br/><br/>'; 
     328        foreach ($kb['kb3']['table'] as $line) 
     329        { 
     330                $table = $line['name']; 
     331                $count = $line['rows']; 
     332                echo 'Checking table '.$table.': '; 
     333                $result = mysql_query('SELECT count(*) as cnt FROM '.$table); 
     334                $test = mysql_fetch_array($result); 
     335 
     336                if ($test['cnt'] != $count && $count != 0) 
     337                { 
     338                        echo $test['cnt'].'/'.$count.' - <font color="red"><b>FAILED</b></font>'; 
     339                        $failed++; 
     340                } 
     341                else 
     342                { 
     343                        echo $test['cnt'].'/'.$count.' - <font color="green"><b>PASSED</b></font>'; 
     344                } 
     345                echo '<br/>'; 
     346        } 
     347        if ($failed == 0) 
     348        { 
     349                echo '<br/>All important table data seems to be there. You are safe to bypass the import.<br/>'; 
     350        } 
     351        else 
     352        { 
     353                echo '<br/>There was an error in one of the important tables. Please run the import.<br/>'; 
     354        } 
    342355} 
    343356elseif ($structadd) 
    344357{ 
    345     echo 'Some table structures have to be added. Please continue with <a href="?step=4&sub=struct">Creating Tables</a><br/>'; 
    346 } 
    347  
    348 if ($_REQUEST['sub'] == 'datasel') 
     358        echo 'Some table structures have to be added. Please continue with <a href="?step=4&sub=struct">Creating Tables</a><br/>'; 
     359} 
     360 
     361if (isset($_REQUEST['sub']) && $_REQUEST['sub'] == 'datasel') 
    349362{ 
    350363?> 
  • dev/install/install_step5.php

    r400 r473  
    55mysql_select_db($_SESSION['sql']['db']); 
    66 
    7 if ($_REQUEST['do'] == 'create') 
     7if (isset($_REQUEST['do']) && $_REQUEST['do'] == 'create') 
    88{ 
    9     if ($_REQUEST['a']) 
     9    if (!empty($_REQUEST['a'])) 
    1010    { 
    1111        $result = mysql_query('select all_id from kb3_alliances where all_name like \'%'.addslashes(stripslashes($_REQUEST['a'])).'%\''); 
     
    5353    $stoppage = false; 
    5454} 
    55 if ($_REQUEST['do'] == 'select') 
     55if (isset($_REQUEST['do']) && $_REQUEST['do'] == 'select') 
    5656{ 
    5757    $_SESSION['sett']['aid'] = $_REQUEST['a']; 
     
    7878</table> 
    7979<?php 
    80 if ($_REQUEST['searchphrase'] != "" && strlen($_REQUEST['searchphrase']) >= 3) 
     80if (!empty($_REQUEST['searchphrase']) && strlen($_REQUEST['searchphrase']) >= 3) 
    8181{ 
    8282    switch ($_REQUEST['searchtype']) 
  • dev/install/install_step6.php

    r461 r473  
    77$stoppage = true; 
    88 
    9 if ($_REQUEST['submit']) 
     9if (isset($_REQUEST['submit'])) 
    1010{ 
    1111        foreach ($_POST['set'] as $name => $value) 
     
    1515} 
    1616$uri = 'http://'.$_SERVER['HTTP_HOST'].str_replace('/install/index.php','', $_SERVER['SCRIPT_NAME']); 
    17 if (!$_SESSION['sett']['host']) 
     17if (empty($_SESSION['sett']['title'])) 
    1818{ 
    19         $_SESSION['sett']['host'] = $uri.'/'; 
     19        $_SESSION['sett']['title'] = ''; 
    2020} 
    21 if (!$_SESSION['sett']['style']) 
     21if (empty($_SESSION['sett']['site'])) 
     22{ 
     23        $_SESSION['sett']['site'] = chr(rand(65,90)).chr(rand(65,90)).chr(rand(65,90)).chr(rand(65,90)); 
     24} 
     25if (empty($_SESSION['sett']['host'])) 
     26{ 
     27        $_SESSION['sett']['host'] = $uri; 
     28} 
     29if (empty($_SESSION['sett']['style'])) 
    2230{ 
    2331        $_SESSION['sett']['style'] = $uri.'/style'; 
    2432} 
    25 if (!$_SESSION['sett']['img']) 
     33if (empty($_SESSION['sett']['img'])) 
    2634{ 
    2735        $_SESSION['sett']['img'] = $uri.'/img'; 
    2836} 
    29 if (!$_SESSION['sett']['common']) 
     37if (empty($_SESSION['sett']['common'])) 
    3038{ 
    3139        $_SESSION['sett']['common'] = $uri.'/common'; 
    3240} 
    3341 
    34 if ($_SESSION['sett']['adminpw'] && $_SESSION['sett']['site']) 
     42if (isset($_SESSION['sett']['adminpw']) && isset($_SESSION['sett']['site'])) 
    3543{ 
    3644        $stoppage = false; 
    3745} 
    38 if ($_SESSION['sett']['aid'] && $_SESSION['sett']['cid']) 
     46if (!empty($_SESSION['sett']['aid']) && !empty($_SESSION['sett']['cid'])) 
    3947{ 
    4048        echo '<b>Error:</b> You have entered an alliance AND corp id, please fix this conflict.<br/>'; 
     
    7785                        ?> 
    7886                <tr><td width="120"><b><?php echo $set['descr']; ?></b></td><td><input type=<?php 
    79                                         if($set[name] == 'adminpw') echo "password"; else echo "text" 
    80                                                                                                                                                                            ?> name=set[<?php echo $set['name']; ?>] size=60 maxlength=80 value="<?php echo $_SESSION['sett'][$set['name']]; ?>"></td></tr> 
     87                        if($set['name'] == 'adminpw') echo "password"; else echo "text" 
     88                        ?> name=set[<?php echo $set['name']; ?>] size=60 maxlength=80 value="<?php echo $_SESSION['sett'][$set['name']]; ?>"></td></tr> 
    8189                        <?php 
    8290                        } 
  • dev/install/install_step7.php

    r400 r473  
    6767foreach ($confs as $line) 
    6868{ 
    69     list($key, $value) = explode(chr(9), trim($line)); 
    70     insertConfig($key, $value); 
     69        $valuepair = explode(chr(9), trim($line)); 
     70        if(!isset($valuepair[0])) continue; 
     71        if(!isset($valuepair[1])) $valuepair[1] = ''; 
     72    insertConfig($valuepair[0], $valuepair[1]); 
    7173} 
    7274?>