3 require_once( dirname(dirname(__FILE__)).'/includes/config.php' );
\r
6 $error_msg = array();
\r
7 $success_msg = array();
\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
24 ### Insert Initial Records
\r
25 $insert_queries = array();
\r
26 $insert_queries[] = 'INSERT INTO '.YOURLS_DB_TABLE_NEXTDEC.' VALUES (1)';
\r
28 ### Connect To Database
\r
29 $db = yourls_db_connect();
\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
42 $error_msg[] = "Error creating table '$table_name'.";
\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
51 $error_msg[] = 'Error executing '.$insert_query_count.'/'.sizeof($insert_queries).'.';
\r
54 if(sizeof($create_tables) == $create_table_count && sizeof($insert_queries) == $insert_query_count) {
\r
55 $success_msg[] = 'YOURLS successfully installed.';
\r
57 $error_msg[] = "Error installing YOURLS.";
\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
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
71 <title>Install « YOURLS » 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 © 2008-<?php echo date('Y'); ?> YOURS" />
\r
74 <meta name="author" content="Ozh RICHARD, Lester Chan" />
\r
75 <meta name="description" content="Insert URL « YOURLS » 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
81 <form method="post" action="?"><?php // reset any QUERY parameters ?>
\r
83 <img src="<?php echo YOURLS_SITE; ?>/images/yourls-logo.png" alt="YOURLS" title="YOURLS" />
\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
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
102 // Display install button
\r
103 if($is_installed == NULL && !isset($_REQUEST['install'])) {
\r
104 echo '<p> </p><p style="text-align: center;"><input type="submit" name="install" value="Install YOURLS" class="button" /></p>';
\r
106 echo '<p> </p><p style="text-align: center;">» <a href="'.YOURLS_SITE.'/admin/" title="YOURS Administration Page">YOURS Administration Page</a></p>';
\r