2016-04-13 22:02:46 +02:00
< ? php
define ( 'YOURLS_ADMIN' , true );
define ( 'YOURLS_INSTALLING' , true );
require_once ( dirname ( dirname ( __FILE__ )) . '/includes/load-yourls.php' );
require_once ( YOURLS_INC . '/functions-install.php' );
$error = array ();
$warning = array ();
$success = array ();
// Check pre-requisites
if ( ! yourls_check_database_version () ) {
$error [] = yourls_s ( '%s version is too old. Ask your server admin for an upgrade.' , 'MySQL' );
yourls_debug_log ( 'MySQL version: ' . yourls_get_database_version () );
}
if ( ! yourls_check_php_version () ) {
$error [] = yourls_s ( '%s version is too old. Ask your server admin for an upgrade.' , 'PHP' );
yourls_debug_log ( 'PHP version: ' . phpversion () );
}
// Is YOURLS already installed ?
if ( yourls_is_installed () ) {
$error [] = yourls__ ( 'YOURLS already installed.' );
// check if .htaccess exists, recreate otherwise. No error checking.
if ( ! file_exists ( YOURLS_ABSPATH . '/.htaccess' ) ) {
yourls_create_htaccess ();
}
}
// Start install if possible and needed
if ( isset ( $_REQUEST [ 'install' ]) && count ( $error ) == 0 ) {
// Create/update .htaccess file
if ( yourls_create_htaccess () ) {
$success [] = yourls__ ( 'File <tt>.htaccess</tt> successfully created/updated.' );
} else {
$warning [] = yourls__ ( 'Could not write file <tt>.htaccess</tt> in YOURLS root directory. You will have to do it manually. See <a href="http://yourls.org/htaccess">how</a>.' );
}
// Create SQL tables
$install = yourls_create_sql_tables ();
if ( isset ( $install [ 'error' ] ) )
$error = array_merge ( $error , $install [ 'error' ] );
if ( isset ( $install [ 'success' ] ) )
$success = array_merge ( $success , $install [ 'success' ] );
}
// Start output
yourls_html_head ( 'install' , yourls__ ( 'Install YOURLS' ) );
?>
< div id = " login " >
< form method = " post " action = " ? " >< ? php // reset any QUERY parameters ?>
< p >
< img src = " <?php yourls_site_url(); ?>/images/yourls-logo.png " alt = " YOURLS " title = " YOURLS " />
</ p >
< ? php
// Print errors, warnings and success messages
foreach ( array ( 'error' , 'warning' , 'success' ) as $info ) {
if ( count ( $$info ) > 0 ) {
echo " <ul class=' $info '> " ;
foreach ( $$info as $msg ) {
echo '<li>' . $msg . " </li> \n " ;
}
echo '</ul>' ;
}
}
// Display install button or link to admin area if applicable
if ( ! yourls_is_installed () && ! isset ( $_REQUEST [ 'install' ]) ) {
echo '<p style="text-align: center;"><input type="submit" name="install" value="' . yourls__ ( 'Install YOURLS' ) . '" class="button" /></p>' ;
} else {
if ( count ( $error ) == 0 )
echo '<p style="text-align: center;">» <a href="' . yourls_admin_url () . '" title="' . yourls__ ( 'YOURLS Administration Page' ) . '">' . yourls__ ( 'YOURLS Administration Page' ) . '</a></p>' ;
}
?>
</ form >
</ div >
< ? php yourls_html_footer (); ?>