diff options
-rwxr-xr-x | docs/CHANGELOG | 2 | ||||
-rw-r--r-- | lib/class/preference.class.php | 7 | ||||
-rw-r--r-- | lib/class/user.class.php | 9 | ||||
-rw-r--r-- | lib/init.php | 13 |
4 files changed, 19 insertions, 12 deletions
diff --git a/docs/CHANGELOG b/docs/CHANGELOG index 1567f401..15afd05f 100755 --- a/docs/CHANGELOG +++ b/docs/CHANGELOG @@ -4,6 +4,8 @@ -------------------------------------------------------------------------- v.3.4-Beta2 + - Removed some invalid queries that were not needed, tweaked logic + of no_session to avoid useless query - Added Greek Translation ( Thx Panayotis Tsirigotis ) - Fixed browse issue when adding filters under specific conditions - Removed ip2int, int2ip and replaced with standard PHP functions diff --git a/lib/class/preference.class.php b/lib/class/preference.class.php index dadbbd17..a844d1b0 100644 --- a/lib/class/preference.class.php +++ b/lib/class/preference.class.php @@ -319,8 +319,9 @@ class Preference { public static function init() { /* Get Global Preferences */ - $sql = "SELECT preference.name,user_preference.value FROM preference,user_preference WHERE user_preference.user='-1' " . - " AND user_preference.preference = preference.id AND preference.catagory='system'"; + $sql = "SELECT `preference`.`name`,`user_preference`.`value` FROM `preference`,`user_preference` " . + "WHERE `user_preference`.`user`='-1' " . + "AND `user_preference`.`preference` = `preference`.`id` AND `preference`.`catagory` = 'system'"; $db_results = Dba::query($sql); while ($r = Dba::fetch_assoc($db_results)) { @@ -335,7 +336,7 @@ class Preference { } $sql = "SELECT preference.name,user_preference.value FROM preference,user_preference WHERE user_preference.user='$user_id' " . - " AND user_preference.preference = preference.id AND preference.catagory != 'system'"; + "AND user_preference.preference = preference.id AND preference.catagory != 'system'"; $db_results = Dba::query($sql); while ($r = Dba::fetch_assoc($db_results)) { diff --git a/lib/class/user.class.php b/lib/class/user.class.php index 5c7a2124..817f81ba 100644 --- a/lib/class/user.class.php +++ b/lib/class/user.class.php @@ -46,6 +46,8 @@ class User { * class, it currently takes a username */ public function __construct($user_id=0) { + + if (!$user_id) { return false; } $this->id = intval($user_id); $info = $this->_get_info(); @@ -56,9 +58,6 @@ class User { $this->$key = $value; } - // Set the preferences for this user - $this->set_preferences(); - // Make sure the Full name is always filled if (strlen($this->fullname) < 1) { $this->fullname = $this->username; } @@ -150,7 +149,7 @@ class User { $sql = "SELECT preference.name, preference.description, preference.catagory, preference.level, user_preference.value " . "FROM preference INNER JOIN user_preference ON user_preference.preference=preference.id " . - "WHERE user_preference.user='$user_id' $user_limit"; + "WHERE user_preference.user='$user_id' " . $user_limit; $db_results = Dba::query($sql); /* Ok this is crapy, need to clean this up or improve the code FIXME */ @@ -175,7 +174,7 @@ class User { $user_id = Dba::escape($this->id); - $sql = "SELECT preference.name,user_preference.value FROM preference,user_preference WHERE user_preference.user='$user_id'" . + $sql = "SELECT preference.name,user_preference.value FROM preference,user_preference WHERE user_preference.user='$user_id' " . "AND user_preference.preference=preference.id AND preference.type != 'system'"; $db_results = Dba::query($sql); diff --git a/lib/init.php b/lib/init.php index f02da5be..b86c3108 100644 --- a/lib/init.php +++ b/lib/init.php @@ -223,15 +223,20 @@ else { session_name(Config::get('session_name')); session_id(scrub_in($_REQUEST['sessid'])); session_start(); + $GLOBALS['user'] = User::get_from_username($sess_results['username']); } - $GLOBALS['user'] = User::get_from_username($sess_results['username']); -} + else { + $GLOBALS['user'] = new User(); + } +} // If NO_SESSION passed // Load the Preferences from the database Preference::init(); -// We need to create the tmp playlist for our user -$GLOBALS['user']->load_playlist(); +// We need to create the tmp playlist for our user only if we have a session +if (session_id()) { + $GLOBALS['user']->load_playlist(); +} /* Add in some variables for ajax done here because we need the user */ Config::set('ajax_url',Config::get('web_path') . '/server/ajax.server.php',1); |