summaryrefslogtreecommitdiffstats
path: root/lib/init.php
diff options
context:
space:
mode:
authorKarl 'vollmerk' Vollmer <vollmer@ampache.org>2007-04-23 07:31:05 +0000
committerKarl 'vollmerk' Vollmer <vollmer@ampache.org>2007-04-23 07:31:05 +0000
commita31560aec4f004e58930277758f5412d86c62adc (patch)
tree845ff6947d26b22a0f4527901dbefc97bca89d78 /lib/init.php
parent8b27d66add7ca9ba57d7e9488612cb54be4b11c1 (diff)
downloadampache-a31560aec4f004e58930277758f5412d86c62adc.tar.gz
ampache-a31560aec4f004e58930277758f5412d86c62adc.tar.bz2
ampache-a31560aec4f004e58930277758f5412d86c62adc.zip
it technically logs in and streams.. but thats it, complete rewrite almost everything broken
Diffstat (limited to 'lib/init.php')
-rw-r--r--lib/init.php208
1 files changed, 73 insertions, 135 deletions
diff --git a/lib/init.php b/lib/init.php
index 01d0c6c4..477b525e 100644
--- a/lib/init.php
+++ b/lib/init.php
@@ -31,7 +31,8 @@ error_reporting(E_ALL ^ E_NOTICE);
$ampache_path = dirname(__FILE__);
$prefix = realpath($ampache_path . "/../");
$configfile = "$prefix/config/ampache.cfg.php";
-require_once($prefix . "/lib/general.lib.php");
+require_once $prefix . '/lib/general.lib.php';
+require_once $prefix . '/lib/class/config.class.php';
/*
Check to see if this is Http or https
@@ -55,11 +56,10 @@ if (!file_exists($configfile)) {
exit();
}
-/*
- Try to read the config file, if it fails give them
- an explanation
-*/
-if (!$results = read_config($configfile,0)) {
+// Use the built in PHP function, supress errors here so we can handle it properly
+$results = @parse_ini_file($configfile);
+
+if (!count($results)) {
$path = preg_replace("/(.*)\/(\w+\.php)$/","\${1}", $_SERVER['PHP_SELF']);
$link = $http_type . $_SERVER['HTTP_HOST'] . $path . "/test.php";
header ("Location: $link");
@@ -67,7 +67,7 @@ if (!$results = read_config($configfile,0)) {
}
/** This is the version.... fluf nothing more... **/
-$results['version'] = '3.4-Alpha1 (Build 001)';
+$results['version'] = '3.4-Alpha1 (Build 002)';
$results['int_config_version'] = '2';
$results['raw_web_path'] = $results['web_path'];
@@ -87,96 +87,67 @@ if (!$results['raw_web_path']) {
if (!$_SERVER['SERVER_NAME']) {
$_SERVER['SERVER_NAME'] = '';
}
-if (!isset($results['auth_methods'])) {
- $results['auth_methods'] = array('mysql');
-}
-if (!is_array($results['auth_methods'])) {
- $results['auth_methods'] = array($results['auth_methods']);
-}
if (!$results['user_ip_cardinality']) {
$results['user_ip_cardinality'] = 42;
}
if (!$results['local_length']) {
- $results['local_length'] = '9000';
+ $results['local_length'] = '900';
}
/* Variables needed for vauth Module */
$results['cookie_path'] = $results['raw_web_path'];
$results['cookie_domain'] = $_SERVER['SERVER_NAME'];
-$results['cookie_life'] = $results['sess_cookielife'];
-$results['session_name'] = $results['sess_name'];
-$results['cookie_secure'] = $results['sess_cookiesecure'];
-$results['session_length'] = $results['local_length'];
-$results['mysql_password'] = $results['local_pass'];
-$results['mysql_username'] = $results['local_username'];
-$results['mysql_hostname'] = $results['local_host'];
-$results['mysql_db'] = $results['local_db'];
+$results['cookie_life'] = $results['session_cookielife'];
+$results['cookie_secure'] = $results['session_cookiesecure'];
+$results['mysql_password'] = $results['database_password'];
+$results['mysql_username'] = $results['database_username'];
+$results['mysql_hostname'] = $results['database_hostname'];
+$results['mysql_db'] = $results['database_name'];
+
+// Define that we've loaded the INIT file
+define('INIT_LOADED','1');
+
+// Vauth Requires
+require_once $prefix . '/modules/vauth/init.php';
+
+// Library and module includes we can't do with the autoloader
+require_once $prefix . '/lib/album.lib.php';
+require_once $prefix . '/lib/artist.lib.php';
+require_once $prefix . '/lib/song.php';
+require_once $prefix . '/lib/search.php';
+require_once $prefix . '/lib/preferences.php';
+require_once $prefix . '/lib/rss.php';
+require_once $prefix . '/lib/log.lib.php';
+require_once $prefix . '/lib/localplay.lib.php';
+require_once $prefix . '/lib/ui.lib.php';
+require_once $prefix . '/lib/gettext.php';
+require_once $prefix . '/lib/batch.lib.php';
+require_once $prefix . '/lib/themes.php';
+require_once $prefix . '/lib/stream.lib.php';
+require_once $prefix . '/lib/playlist.lib.php';
+require_once $prefix . '/lib/democratic.lib.php';
+require_once $prefix . '/lib/xmlrpc.php';
+require_once $prefix . '/modules/xmlrpc/xmlrpc.inc';
+require_once $prefix . '/modules/catalog.php';
+require_once $prefix . '/modules/getid3/getid3.php';
+require_once $prefix . '/modules/infotools/Snoopy.class.php';
+require_once $prefix . '/modules/infotools/AmazonSearchEngine.class.php';
+//require_once $prefix . '/modules/infotools/jamendoSearch.class.php';
/* Temp Fixes */
$results = fix_preferences($results);
// Setup Static Arrays
-conf($results);
-
-// Vauth Requires
-require_once(conf('prefix') . '/modules/vauth/init.php');
-
-// Librarys
-require_once(conf('prefix') . '/lib/album.lib.php');
-require_once(conf('prefix') . '/lib/artist.lib.php');
-require_once(conf('prefix') . '/lib/song.php');
-require_once(conf('prefix') . '/lib/search.php');
-require_once(conf('prefix') . '/lib/preferences.php');
-require_once(conf('prefix') . '/lib/rss.php');
-require_once(conf('prefix') . '/lib/log.lib.php');
-require_once(conf('prefix') . '/lib/localplay.lib.php');
-require_once(conf('prefix') . '/lib/ui.lib.php');
-require_once(conf('prefix') . '/lib/gettext.php');
-require_once(conf('prefix') . '/lib/batch.lib.php');
-require_once(conf('prefix') . '/lib/themes.php');
-require_once(conf('prefix') . '/lib/stream.lib.php');
-require_once(conf('prefix') . '/lib/playlist.lib.php');
-require_once(conf('prefix') . '/lib/democratic.lib.php');
-require_once(conf('prefix') . '/modules/catalog.php');
-require_once(conf('prefix') . "/modules/id3/getid3/getid3.php");
-require_once(conf('prefix') . '/modules/id3/vainfo.class.php');
-require_once(conf('prefix') . '/modules/infotools/Snoopy.class.php');
-require_once(conf('prefix') . '/modules/infotools/AmazonSearchEngine.class.php');
-//require_once(conf('prefix') . '/modules/infotools/jamendoSearch.class.php');
-require_once(conf('prefix') . '/lib/xmlrpc.php');
-require_once(conf('prefix') . '/modules/xmlrpc/xmlrpc.inc');
+Config::set_by_array($results,1);
// Modules (These are conditionaly included depending upon config values)
-if (conf('ratings')) {
- require_once(conf('prefix') . '/lib/class/rating.class.php');
- require_once(conf('prefix') . '/lib/rating.lib.php');
+if (Config::get('ratings')) {
+ require_once $prefix . '/lib/class/rating.class.php';
+ require_once $prefix . '/lib/rating.lib.php';
}
-
-// Classes
-require_once(conf('prefix') . '/lib/class/localplay.class.php');
-require_once(conf('prefix') . '/lib/class/plugin.class.php');
-require_once(conf('prefix') . '/lib/class/stats.class.php');
-require_once(conf('prefix') . '/lib/class/catalog.class.php');
-require_once(conf('prefix') . '/lib/class/stream.class.php');
-require_once(conf('prefix') . '/lib/class/playlist.class.php');
-require_once(conf('prefix') . '/lib/class/tmp_playlist.class.php');
-require_once(conf('prefix') . '/lib/class/song.class.php');
-require_once(conf('prefix') . '/lib/class/view.class.php');
-require_once(conf('prefix') . '/lib/class/update.class.php');
-require_once(conf('prefix') . '/lib/class/user.class.php');
-require_once(conf('prefix') . '/lib/class/album.class.php');
-require_once(conf('prefix') . '/lib/class/artist.class.php');
-require_once(conf('prefix') . '/lib/class/access.class.php');
-require_once(conf('prefix') . '/lib/class/error.class.php');
-require_once(conf('prefix') . '/lib/class/genre.class.php');
-require_once(conf('prefix') . '/lib/class/flag.class.php');
-require_once(conf('prefix') . '/lib/class/audioscrobbler.class.php');
-
-
/* Set a new Error Handler */
-$old_error_handler = set_error_handler("ampache_error_handler");
-
+$old_error_handler = set_error_handler('ampache_error_handler');
/* Initilize the Vauth Library */
vauth_init($results);
@@ -192,35 +163,8 @@ if ($results['memory_limit'] < 24) {
}
set_memory_limit($results['memory_limit']);
-// Check Session GC mojo, increase if need be
-$gc_probability = @ini_get('session.gc_probability');
-$gc_divisor = @ini_get('session.gc_divisor');
-
-if (!$gc_divisor) {
- $gc_divisor = '100';
-}
-if (!$gc_probability) {
- $gc_probability = '1';
-}
-
-// Force GC on 1:5 page loads
-if (($gc_divisor / $gc_probability) > 5) {
- $new_gc_probability = $gc_divisor * .2;
- ini_set('session.gc_probability',$new_gc_probability);
-}
-
-/* Seed the random number */
-srand((double) microtime() * 1000003);
-
/**** END Set PHP Vars ****/
-/* Check to see if they've tried to set no_session via get/post */
-if (isset($_POST['no_session']) || isset($_GET['no_session'])) {
- /* just incase of register globals */
- unset($no_session);
- debug_event('no_session','No Session passed as get/post','1');
-}
-
/* We have to check for HTTP Auth */
if (in_array("http",$results['auth_methods'])) {
@@ -237,24 +181,22 @@ if (in_array("http",$results['auth_methods'])) {
} // end if http auth
-// If we don't want a session
-if (NO_SESSION != '1' AND conf('use_auth')) {
+// If we want a session
+if (NO_SESSION != '1' AND Config::get('use_auth')) {
/* Verify Their session */
if (!vauth_check_session()) { logout(); exit; }
/* Create the new user */
- $user = get_user_from_username($_SESSION['userdata']['username']);
-
+ $GLOBALS['user'] = User::get_from_username($_SESSION['userdata']['username']);
+
/* If they user ID doesn't exist deny them */
- if (!$user->uid AND !conf('demo_mode')) { logout(); exit; }
+ if (!$GLOBALS['user']->id AND !Config::get('demo_mode')) { logout(); exit; }
/* Load preferences and theme */
- init_preferences();
set_theme();
- $user->set_preferences();
- $user->update_last_seen();
+ $GLOBALS['user']->update_last_seen();
}
-elseif (!conf('use_auth')) {
+elseif (!Config::get('use_auth')) {
$auth['success'] = 1;
$auth['username'] = '-1';
$auth['fullname'] = "Ampache User";
@@ -262,37 +204,38 @@ elseif (!conf('use_auth')) {
$auth['access'] = "admin";
$auth['offset_limit'] = 50;
if (!vauth_check_session()) { vauth_session_create($auth); }
- $user = new User(-1);
- $user->fullname = 'Ampache User';
- $user->offset_limit = $auth['offset_limit'];
- $user->username = '-1';
- $user->access = $auth['access'];
+ $GLOBALS['user'] = new User(-1);
+ $GLOBALS['user']->fullname = 'Ampache User';
+ $GLOBALS['user']->offset_limit = $auth['offset_limit'];
+ $GLOBALS['user']->username = '-1';
+ $GLOBALS['user']->access = $auth['access'];
$_SESSION['userdata']['username'] = $auth['username'];
- $user->set_preferences();
- init_preferences();
set_theme();
}
+// If Auth, but no session is set
else {
if (isset($_REQUEST['sessid'])) {
$sess_results = vauth_get_session($_REQUEST['sessid']);
session_id(scrub_in($_REQUEST['sessid']));
session_start();
}
- $user = get_user_from_username($sess_results['username']);
- init_preferences();
+ $GLOBALS['user'] = User::get_from_username($sess_results['username']);
}
+// Load the Preferences from the database
+init_preferences();
+
/* Add in some variables for ajax done here because we need the user */
$ajax_info['ajax_url'] = $results['web_path'] . '/server/ajax.server.php';
-$ajax_info['ajax_info'] = '&amp;user_id=' . $user->id . '&amp;sessid=' . session_id();
-conf($ajax_info);
+$ajax_info['ajax_info'] = '&amp;user_id=' . $GLOBALS['user']->id;
+Config::set_by_array($ajax_info);
unset($ajax_info);
// Load gettext mojo
load_gettext();
/* Set CHARSET */
-header ("Content-Type: text/html; charset=" . conf('site_charset'));
+header ("Content-Type: text/html; charset=" . Config::get('site_charset'));
/* Clean up a bit */
unset($array);
@@ -301,19 +244,14 @@ unset($results);
/* Setup the flip class */
flip_class(array('odd','even'));
-/* Setup the Error Class */
-$error = new Error();
-
/* Set the Theme */
-$theme = get_theme(conf('theme_name'));
+$theme = get_theme(Config::get('theme_name'));
+/* Check to see if we need to perform an update */
if (! preg_match('/update\.php/', $_SERVER['PHP_SELF'])) {
- $update = new Update();
- if ($update->need_update()) {
- header("Location: " . conf('web_path') . "/update.php");
+ if (Update::need_update()) {
+ header("Location: " . Config::get('web_path') . "/update.php");
exit();
}
}
-
-unset($update);
?>