]> CyberLeo.Net >> Repos - Github/YOURLS.git/blob - admin/upgrade.php
Use __DIR__ instead of dirname(__FILE__)
[Github/YOURLS.git] / admin / upgrade.php
1 <?php
2 define( 'YOURLS_ADMIN', true );
3 define( 'YOURLS_UPGRADING', true );
4 require_once( dirname( __DIR__ ).'/includes/load-yourls.php' );
5 require_once( YOURLS_INC.'/functions-upgrade.php' );
6 require_once( YOURLS_INC.'/functions-install.php' );
7 yourls_maybe_require_auth();
8
9 yourls_html_head( 'upgrade', yourls__( 'Upgrade YOURLS' ) );
10 yourls_html_logo();
11 yourls_html_menu();
12 ?>
13                 <h2><?php yourls_e( 'Upgrade YOURLS' ); ?></h2>
14 <?php
15
16 // Check if upgrade is needed
17 if ( !yourls_upgrade_is_needed() ) {
18         echo '<p>' . yourls_s( 'Upgrade not required. Go <a href="%s">back to play</a>!', yourls_admin_url('index.php') ) . '</p>';
19
20
21 } else {
22         /*
23         step 1: create new tables and populate them, update old tables structure, 
24         step 2: convert each row of outdated tables if needed
25         step 3: - if applicable finish updating outdated tables (indexes etc)
26                 - update version & db_version in options, this is all done!
27         */
28         
29         // From what are we upgrading?
30         if ( isset( $_GET['oldver'] ) && isset( $_GET['oldsql'] ) ) {
31                 $oldver = yourls_sanitize_version( $_GET['oldver'] );
32                 $oldsql = yourls_sanitize_version( $_GET['oldsql'] );
33         } else {
34                 list( $oldver, $oldsql ) = yourls_get_current_version_from_sql();
35         }
36         
37         // To what are we upgrading ?
38         $newver = YOURLS_VERSION;
39         $newsql = YOURLS_DB_VERSION;
40         
41         // Verbose & ugly details
42         $ydb->show_errors = true;
43         
44         // Let's go
45         $step = ( isset( $_GET['step'] ) ? intval( $_GET['step'] ) : 0 );
46         switch( $step ) {
47
48                 default:
49                 case 0:
50                         ?>
51                         <p><?php yourls_e( 'Your current installation needs to be upgraded.' ); ?></p>
52                         <p><?php yourls_e( 'Please, pretty please, it is recommended that you <strong>backup</strong> your database<br/>(you should do this regularly anyway)' ); ?></p>
53                         <p><?php yourls_e( "Nothing awful <em>should</em> happen, but this doesn't mean it <em>won't</em> happen, right? ;)" ); ?></p>
54                         <p><?php yourls_e( "On every step, if <span class='error'>something goes wrong</span>, you'll see a message and hopefully a way to fix." ); ?></p>
55                         <p><?php yourls_e( 'If everything goes too fast and you cannot read, <span class="success">good for you</span>, let it go :)' ); ?></p>
56                         <p><?php yourls_e( 'Once you are ready, press "Upgrade" !' ); ?></p>
57                         <?php
58                         echo "
59                         <form action='upgrade.php?' method='get'>
60                         <input type='hidden' name='step' value='1' />
61                         <input type='hidden' name='oldver' value='$oldver' />
62                         <input type='hidden' name='newver' value='$newver' />
63                         <input type='hidden' name='oldsql' value='$oldsql' />
64                         <input type='hidden' name='newsql' value='$newsql' />
65                         <input type='submit' class='primary' value='" . yourls_esc_attr__( 'Upgrade' ) . "' />
66                         </form>";
67                         
68                         break;
69                         
70                 case 1:
71                 case 2:
72                         $upgrade = yourls_upgrade( $step, $oldver, $newver, $oldsql, $newsql );
73                         break;
74                         
75                 case 3:
76                         $upgrade = yourls_upgrade( 3, $oldver, $newver, $oldsql, $newsql );
77                         echo '<p>' . yourls__( 'Your installation is now up to date ! ' ) . '</p>';
78                         echo '<p>' . yourls_s( 'Go back to <a href="%s">the admin interface</a>', yourls_admin_url('index.php') ) . '</p>';
79         }
80         
81 }
82
83                 
84 ?>      
85
86 <?php yourls_html_footer(); ?>