Project

General

Profile

« Previous | Next » 

Revision 1677

Added by Dietmar over 12 years ago

! preparing new groups management and page settings
! upgrade-script insert or update page access files

View differences:

upgrade-script.php
15 15
 *
16 16
 */
17 17

  
18
@require_once('config.php');
18
require_once('config.php');
19 19

  
20 20
require_once(WB_PATH.'/framework/functions.php');
21 21
require_once(WB_PATH.'/framework/class.admin.php');
22 22
require_once(WB_PATH.'/framework/class.database.php');
23 23
$admin = new admin('Addons', 'modules', false, false);
24 24

  
25
/* display a status message on the screen **************************************
26
 * @param string $message: the message to show
27
 * @param string $class:   kind of message as a css-class
28
 * @param string $element: witch HTML-tag use to cover the message
29
 * @return void
30
 */
31
function status_msg($message, $class='check', $element='span')
32
{
33
	// returns a status message
34
	$msg  = '<'.$element.' class="'.$class.'">';
35
	$msg .= '<strong>'.strtoupper(strtok($class, ' ')).'</strong>';
36
	$msg .= $message.'</'.$element.'>';
37
	echo $msg;
38
}
25
$oldVersion  = 'Version '.WB_VERSION;
26
$oldVersion .= (defined('WB_SP') ? ' '.WB_SP : '');
27
$oldVersion .= (defined('WB_REVISION') ? ' Revision ['.WB_REVISION.'] ' : '') ;
28
$newVersion  = 'Version '.VERSION;
29
$newVersion .= (defined('SP') ? ' '.SP : '');
30
$newVersion .= (defined('REVISION') ? ' Revision ['.REVISION.'] ' : '');
39 31

  
32
// set addition settings if not exists, otherwise upgrade will be breaks
33
if(!defined('WB_SP')) { define('WB_SP',''); }
34
if(!defined('WB_REVISION')) { define('WB_REVISION',''); }
35

  
40 36
// database tables including in WB package
41
$table_list = array (
37
$aTable = array (
42 38
    'settings','groups','addons','pages','sections','search','users',
43 39
    'mod_captcha_control','mod_code','mod_droplets','mod_form_fields',
44 40
    'mod_form_settings','mod_form_submissions','mod_jsadmin','mod_menu_link',
......
49 45
$OK            = ' <span class="ok">OK</span> ';
50 46
$FAIL          = ' <span class="error">FAILED</span> ';
51 47
$DEFAULT_THEME = 'wb_theme';
48

  
52 49
$stepID = 0;
53 50
$dirRemove = array(
54 51
/*
......
139 136
		 );
140 137
}
141 138

  
139
/* display a status message on the screen **************************************
140
 * @param string $message: the message to show
141
 * @param string $class:   kind of message as a css-class
142
 * @param string $element: witch HTML-tag use to cover the message
143
 * @return void
144
 */
145
function status_msg($message, $class='check', $element='span')
146
{
147
	// returns a status message
148
	$msg  = '<'.$element.' class="'.$class.'">';
149
	$msg .= '<strong>'.strtoupper(strtok($class, ' ')).'</strong>';
150
	$msg .= $message.'</'.$element.'>';
151
	echo $msg;
152
}
153

  
142 154
// analyze/check database tables
143 155
function mysqlCheckTables( $dbName )
144 156
{
145
    global $table_list;
157
    global $aTable;
146 158
    $table_prefix = TABLE_PREFIX;
147 159
    $sql = "SHOW TABLES FROM " . $dbName;
148 160
    $result = @mysql_query( $sql );
149 161
    $data = array();
150 162
    $x = 0;
151 163

  
152
    while( ( $row = @mysql_fetch_array( $result, MYSQL_NUM ) ) == true )
164
    while( ( $row = mysql_fetch_array( $result, MYSQL_NUM ) ) == true )
153 165
    {
154 166
        $tmp = str_replace($table_prefix, '', $row[0]);
155 167

  
156
        if( stristr( $row[0], $table_prefix )&& in_array($tmp,$table_list) )
168
        if( stristr( $row[0], $table_prefix )&& in_array($tmp,$aTable) )
157 169
        {
158 170
            $sql = "CHECK TABLE " . $dbName . '.' . $row[0];
159
            $analyze = @mysql_query( $sql );
160
            $rowFetch = @mysql_fetch_array( $analyze, MYSQL_ASSOC );
171
            $analyze = mysql_query( $sql );
172
            $rowFetch = mysql_fetch_array( $analyze, MYSQL_ASSOC );
161 173
            $data[$x]['Op'] = $rowFetch["Op"];
162 174
            $data[$x]['Msg_type'] = $rowFetch["Msg_type"];
163 175
            $msgColor = '<span class="error">';
......
175 187
// check existings tables for upgrade or install
176 188
function check_wb_tables()
177 189
{
178
    global $database,$table_list;
190
    global $database,$aTable;
179 191

  
180 192
 // if prefix inludes '_' or '%'
181 193
 $search_for = addcslashes ( TABLE_PREFIX, '%_' );
......
188 200
            while ($data = $get_result->fetchRow())
189 201
            {
190 202
                $tmp = str_replace(TABLE_PREFIX, '', $data[0]);
191
                if(in_array($tmp,$table_list))
203
                if(in_array($tmp,$aTable))
192 204
                {
193 205
                    $all_tables[] = $tmp;
194 206
                }
......
290 302
		exit();
291 303
	}
292 304

  
293
$oldVersion  = 'Version '.WB_VERSION;
294
$oldVersion .= (defined('WB_SP') ? ' '.WB_SP : '');
295
$oldVersion .= (defined('WB_REVISION') ? ' Revision ['.WB_REVISION.'] ' : '') ;
296
$newVersion  = 'Version '.VERSION;
297
$newVersion .= (defined('SP') ? ' '.SP : '');
298
$newVersion .= (defined('REVISION') ? ' Revision ['.REVISION.'] ' : '');
299
// set addition settings if not exists, otherwise upgrade will be breaks
300
if(!defined('WB_SP')) { define('WB_SP',''); }
301
if(!defined('WB_REVISION')) { define('WB_REVISION',''); }
302

  
303 305
?>
304 306
<p>This script upgrades an existing WebsiteBaker <strong> <?php echo $oldVersion; ?></strong> installation to the <strong> <?php echo $newVersion ?> </strong>.<br />The upgrade script alters the existing WB database to reflect the changes introduced with WB 2.8.x</p>
305 307

  
......
353 355
    {
354 356
        status_msg('<strong>WARNING:</strong><br />can\'t run Upgrade, missing tables', 'warning', 'div');
355 357
    	echo '<h4>Missing required tables. You can install them in backend->addons->modules->advanced. Then again run upgrade-script.php</h4>';
356
        $result = array_diff ( $table_list, $all_tables );
358
        $result = array_diff ( $aTable, $all_tables );
357 359
        echo '<h4 class="warning"><br />';
358 360
        while ( list ( $key, $val ) = each ( $result ) )
359 361
        {
......
448 450

  
449 451
echo (db_update_key_value( 'settings', $cfg ) ? " $OK<br />" : " $FAIL!<br />");
450 452

  
451
if(version_compare(WB_REVISION, '1671', '<'))
453
if(version_compare(WB_REVISION, '1675', '<'))
452 454
{
453 455
	echo '<h3>Step '.(++$stepID).': Updating core tables</h3>';
454 456

  
......
594 596
		print '<br /><strong>Upgrade '.MEDIA_DIRECTORY.'/ protect files</strong>'." $FAIL!<br />";
595 597
		print implode ('<br />',$array);
596 598
	}
599

  
597 600
/**********************************************************
601
 * upgrade pages folder index access files
602
 */
603
	echo '<h4>Upgrade /pages/ index.php access files</h4><br />';
604
    ///**********************************************************
605
    // *  - Reformat/rebuild all existing access files
606
    // */
607
    $msg[] = "All existing access files anew format";
608
    $sql = 'SELECT `page_id`,`link`, `level` FROM `'.TABLE_PREFIX.'pages` ORDER BY `link`';
609
    if (($res_pages = $database->query($sql)))
610
    {
611
        $x = 0;
612
        while (($rec_page = $res_pages->fetchRow()))
613
        {
614
            $filename = WB_PATH.PAGES_DIRECTORY.$rec_page['link'].PAGE_EXTENSION;
615
            $msg = create_access_file($filename, $rec_page['page_id'], $rec_page['level']);
616
            $x++;
617
        }
618
        $msg[] = '<strong>Number of the anew formatted access files: '.$x.'</strong><br />';
619
    }
620

  
621
	print implode ('<br />',$msg);
622

  
623
/*
624
	if( sizeof( $msg ) ){
625

  
626
		print '<br /><strong>Upgrade '.sizeof( $msg ).' /pages/ access files</strong>'." $OK<br />";
627
	} else {
628
		print '<br /><strong>Upgrade /pages/ access files</strong>'." $FAIL!<br />";
629
		print implode ('<br />',$msg);
630
	}
631
*/
632
/**********************************************************
598 633
 * upgrade posts folder index protect files
599 634
 */
600 635
	$sPostsPath = WB_PATH.PAGES_DIRECTORY.'/posts';
......
606 641
		print '<br /><strong>Upgrade /posts/ protect files</strong>'." $FAIL!<br />";
607 642
		print implode ('<br />',$array);
608 643
	}
644

  
609 645
/* *****************************************************************************
610 646
 * - check for deprecated / never needed files
611 647
 */

Also available in: Unified diff