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