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
31 // Check Whether YOURLS Is Installed
\r
32 $db->show_errors = false;
\r
33 $is_installed = $db->get_var('SELECT next_id FROM '.YOURLS_DB_TABLE_NEXTDEC);
\r
37 if ( isset($_REQUEST['install']) && !$is_installed ) {
\r
38 $create_table_count = 0;
\r
39 $insert_query_count = 0;
\r
40 foreach($create_tables as $table_name => $table_query) {
\r
41 $db->query($table_query);
\r
42 $create_success = $db->query("SHOW TABLES LIKE '$table_name'");
\r
43 if($create_success) {
\r
44 $create_table_count++;
\r
45 $success_msg[] = "Table '$table_name' created.";
\r
47 $error_msg[] = "Error creating table '$table_name'.";
\r
50 foreach($insert_queries as $insert_query) {
\r
51 $insert_success = $db->query($insert_query);
\r
52 if($insert_success) {
\r
53 $insert_query_count++;
\r
54 $success_msg[] = 'Query '.$insert_query_count.'/'.sizeof($insert_queries).' executed successfully.';
\r
56 $error_msg[] = 'Error executing '.$insert_query_count.'/'.sizeof($insert_queries).'.';
\r
59 if(sizeof($create_tables) == $create_table_count && sizeof($insert_queries) == $insert_query_count) {
\r
60 $success_msg[] = 'YOURLS successfully installed.';
\r
62 $error_msg[] = "Error installing YOURLS.";
\r
65 if( $is_installed != NULL ) {
\r
66 $error_msg[] = 'YOURLS has already been installed.';
\r
70 yourls_html_head( 'install' );
\r
74 <form method="post" action="?"><?php // reset any QUERY parameters ?>
\r
76 <img src="<?php echo YOURLS_SITE; ?>/images/yourls-logo.png" alt="YOURLS" title="YOURLS" />
\r
79 // Print out any error messages
\r
80 if(sizeof($error_msg) > 0) {
\r
81 echo '<p class="error">';
\r
82 foreach($error_msg as $error) {
\r
83 echo $error.'<br />';
\r
87 // Print out any success messages
\r
88 if(sizeof($success_msg) > 0) {
\r
89 echo '<p class="success">';
\r
90 foreach($success_msg as $success) {
\r
91 echo $success.'<br />';
\r
95 // Display install button
\r
96 if($is_installed == NULL && !isset($_REQUEST['install'])) {
\r
97 echo '<p> </p><p style="text-align: center;"><input type="submit" name="install" value="Install YOURLS" class="button" /></p>';
\r
99 echo '<p> </p><p style="text-align: center;">» <a href="'.YOURLS_SITE.'/admin/" title="YOURS Administration Page">YOURS Administration Page</a></p>';
\r
104 <?php yourls_html_footer(); ?>
\r