]> CyberLeo.Net >> Repos - Github/YOURLS.git/blob - admin/install.php
Typo in pagination
[Github/YOURLS.git] / admin / install.php
1 <?php\r
2 ### Require Files\r
3 require_once( dirname(dirname(__FILE__)).'/includes/config.php' );\r
4 \r
5 ### Variables\r
6 $error_msg = array();\r
7 $success_msg = array();\r
8 \r
9 ### Create Table Query\r
10 $create_tables = array();\r
11 $create_tables[YOURLS_DB_TABLE_URL] = 'CREATE TABLE IF NOT EXISTS `'.YOURLS_DB_TABLE_URL.'` ('.\r
12                                                          '`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,'.\r
13                                                          '`url` VARCHAR(200) NOT NULL,'.\r
14                                                          '`timestamp` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,'.\r
15                                                          '`ip` VARCHAR(41) NOT NULL,'.\r
16                                                          '`clicks` INT(10) UNSIGNED NOT NULL,'.\r
17                                                          'PRIMARY KEY  (`id`)'.\r
18                                                         ') ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;';\r
19 $create_tables[YOURLS_DB_TABLE_NEXTDEC] = 'CREATE TABLE `'.YOURLS_DB_TABLE_NEXTDEC.'` ('.\r
20                                                                         '`next_id` BIGINT NOT NULL ,'.\r
21                                                                         'PRIMARY KEY (`next_id`)'.\r
22                                                                         ') ENGINE = MYISAM ;';\r
23 \r
24 ### Insert Initial Records\r
25 $insert_queries = array();\r
26 $insert_queries[] = 'INSERT INTO '.YOURLS_DB_TABLE_NEXTDEC.' VALUES (1)';\r
27 \r
28 ### Connect To Database\r
29 $db = yourls_db_connect();\r
30 \r
31 ## Install YOURLS\r
32 if(isset($_REQUEST['install'])) {\r
33         $create_table_count = 0;\r
34         $insert_query_count = 0;\r
35         foreach($create_tables as $table_name => $table_query) {\r
36                 $db->query($table_query);\r
37                 $create_success = $db->query("SHOW TABLES LIKE '$table_name'");\r
38                 if($create_success) {\r
39                         $create_table_count++;\r
40                         $success_msg[] = "Table '$table_name' created."; \r
41                 } else {\r
42                         $error_msg[] = "Error creating table '$table_name'."; \r
43                 }\r
44         }\r
45         foreach($insert_queries as $insert_query) {\r
46                 $insert_success = $db->query($insert_query);\r
47                 if($insert_success) {\r
48                         $insert_query_count++;\r
49                         $success_msg[] = 'Query '.$insert_query_count.'/'.sizeof($insert_queries).' executed successfully.'; \r
50                 } else {\r
51                         $error_msg[] = 'Error executing '.$insert_query_count.'/'.sizeof($insert_queries).'.'; \r
52                 }\r
53         }\r
54         if(sizeof($create_tables) == $create_table_count && sizeof($insert_queries) == $insert_query_count) {\r
55                 $success_msg[] = 'YOURLS successfully installed.';\r
56         } else {\r
57                 $error_msg[] = "Error installing YOURLS."; \r
58         }\r
59 } else {\r
60         // Check Whether YOURLS Is Installed\r
61         $db->show_errors = false;\r
62         $is_installed = $db->get_var('SELECT next_id FROM '.YOURLS_DB_TABLE_NEXTDEC);\r
63         if($is_installed != NULL) {\r
64                 $error_msg[] = 'YOURLS has already been installed.';\r
65         }\r
66 }\r
67 ?>\r
68 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\r
69 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">\r
70 <head>\r
71         <title>Install &laquo; YOURLS &raquo; Your Own URL Shortener | <?php echo YOURLS_SITE; ?></title>\r
72         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\r
73         <meta name="copyright" content="Copyright &copy; 2008-<?php echo date('Y'); ?> YOURS" />\r
74         <meta name="author" content="Ozh RICHARD, Lester Chan" />\r
75         <meta name="description" content="Insert URL &laquo; YOURLS &raquo; Your Own URL Shortener' | <?php echo YOURLS_SITE; ?>" />\r
76         <link rel="stylesheet" href="<?php echo YOURLS_SITE; ?>/css/style.css" type="text/css" media="screen" />\r
77         <script src="<?php echo YOURLS_SITE; ?>/js/jquery-1.3.2.min.js" type="text/javascript"></script>\r
78 </head>\r
79 <body>\r
80 <div id="login">\r
81         <form method="post" action="?"><?php // reset any QUERY parameters ?>\r
82                 <p>\r
83                         <img src="<?php echo YOURLS_SITE; ?>/images/yourls-logo.png" alt="YOURLS" title="YOURLS" />\r
84                 </p>\r
85                 <?php\r
86                         // Print out any error messages\r
87                         if(sizeof($error_msg) > 0) {\r
88                                 echo '<p class="error">';\r
89                                 foreach($error_msg as $error) {\r
90                                         echo $error.'<br />';\r
91                                 }\r
92                                 echo '</p>';\r
93                         }\r
94                         // Print out any success messages\r
95                         if(sizeof($success_msg) > 0) {\r
96                                 echo '<p class="success">';\r
97                                 foreach($success_msg as $success) {\r
98                                         echo $success.'<br />';\r
99                                 }\r
100                                 echo '</p>';\r
101                         }\r
102                         // Display install button\r
103                         if($is_installed == NULL && !isset($_REQUEST['install'])) {\r
104                                 echo '<p>&nbsp;</p><p style="text-align: center;"><input type="submit" name="install" value="Install YOURLS" class="button" /></p>';\r
105                         } else {\r
106                                 echo '<p>&nbsp;</p><p style="text-align: center;">&raquo; <a href="'.YOURLS_SITE.'/admin/" title="YOURS Administration Page">YOURS Administration Page</a></p>';\r
107                         }\r
108                 ?>\r
109         </form>\r
110 </div>\r
111 </body>\r
112 </html>