From 489a9cb49c1e28e06a26f70a9c48ac53383d6d56 Mon Sep 17 00:00:00 2001
From: Cameron <e107inc@gmail.com>
Date: Mon, 26 Jan 2015 18:03:14 -0800
Subject: [PATCH] Replaced deprecated get_user_data() with e107::user()

---
 class2.php                                   | 256 +------------------
 e107_core/shortcodes/single/picture.sc       |   2 +-
 e107_core/shortcodes/single/user_avatar.php  |   2 +-
 e107_core/shortcodes/single/user_extended.sc |   2 +-
 e107_handlers/e107_class.php                 |   6 +-
 e107_handlers/e_parse_class.php              |   2 +-
 e107_handlers/e_ranks_class.php              |   2 +-
 e107_handlers/form_handler.php               |   4 +-
 e107_handlers/user_extended_class.php        |   4 +-
 user.php                                     |   2 +-
 userposts.php                                |   2 +-
 usersettings.php                             |   4 +-
 12 files changed, 20 insertions(+), 268 deletions(-)

diff --git a/class2.php b/class2.php
index d1a86cd1b..7b3ebf87a 100644
--- a/class2.php
+++ b/class2.php
@@ -1482,12 +1482,12 @@ function get_user_data($uid, $extra = '')
 	{
 		e107::getAdminLog()->log_event(
 			'Deprecated call - get_user_data()',
-			'Call to deprecated function get_user_data() (class2.php)',
+			'Call to deprecated function get_user_data() (class2.php) '."\n".print_r(debug_backtrace(null,2), true),
 			E_LOG_INFORMATIVE,
 			'DEPRECATED'
 		);
 		// TODO - debug screen Deprecated Functions (e107)
-		e107::getMessage()->addDebug('Deprecated get_user_data() backtrace:<pre>'."\n".print_r(debug_backtrace(), true).'</pre>');
+		e107::getMessage()->addDebug('Deprecated get_user_data() backtrace:<pre>'."\n".print_r(debug_backtrace(null,2), true).'</pre>');
 	}
 
 	$var = array();
@@ -1497,80 +1497,6 @@ function get_user_data($uid, $extra = '')
 		$var = $user->getUserData();
 	}
 	return $var;
-
-	/*$e107 = e107::getInstance();
-	$uid = (int)$uid;
-	$var = array();
-	if($uid == 0) { return $var; }
-	if($ret = getcachedvars("userdata_{$uid}"))
-	{
-		return $ret;
-	}
-
-	$qry = "
-	SELECT u.*, ue.* FROM `#user` AS u
-	LEFT JOIN `#user_extended` AS ue ON ue.user_extended_id = u.user_id
-	WHERE u.user_id = {$uid} {$extra}
-	";
-	if (!$e107->sql->db_Select_gen($qry))
-	{
-		$qry = "SELECT * FROM #user AS u WHERE u.user_id = {$uid} {$extra}";
-		if(!$e107->sql->db_Select_gen($qry))
-		{
-			return FALSE;
-		}
-	}
-	$var = $e107->sql->db_Fetch(MYSQL_ASSOC);
-
-	if(!$e107->extended_struct = getcachedvars('extended_struct'))
-	{
-		if($tmp = $e107->ecache->retrieve_sys('nomd5_extended_struct'))
-		{
-			$e107->extended_struct = $e107->arrayStorage->ReadArray($tmp);
-		}
-		else
-		{
-			$qry = 'SHOW COLUMNS FROM `#user_extended` ';
-			if($e107->sql->db_Select_gen($qry))
-			{
-				while($row = $e107->sql->db_Fetch())
-				{
-					$e107->extended_struct[] = $row;
-				}
-			}
-			$tmp = $e107->arrayStorage->WriteArray($e107->extended_struct, false);
-			$e107->ecache->set_sys('nomd5_extended_struct', $tmp);
-			unset($tmp);
-		}
-		if(isset($e107->extended_struct))
-		{
-			cachevars('extended_struct', $e107->extended_struct);
-		}
-	}
-
-	if(isset($e107->extended_struct) && is_array($e107->extended_struct))
-	{
-		foreach($e107->extended_struct as $row)
-		{
-			if($row['Default'] != '' && ($var[$row['Field']] == NULL || $var[$row['Field']] == '' ))
-			{
-				$var[$row['Field']] = $row['Default'];
-			}
-		}
-	}
-
-
-	if ($var['user_perms'] == '0.') $var['user_perms'] = '0';		// Handle some legacy situations
-	//===========================================================
-	$var['user_baseclasslist'] = $var['user_class'];			// Keep track of which base classes are in DB
-	// Now look up the 'inherited' user classes
-	$var['user_class'] = $e107->user_class->get_all_user_classes($var['user_class']);
-
-	//===========================================================
-
-	cachevars("userdata_{$uid}", $var);
-	return $var;
-	*/
 }
 
 //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------//
@@ -1616,43 +1542,6 @@ function save_prefs($table = 'core', $uid = USERID, $row_val = '')
 			return $tmp;
 			break;
 	}
-	/*
-  if ($table == 'core')
-  {
-		if ($row_val == '')
-		{ 	// Save old version as a backup first
-	  		$sql->db_Select_gen("REPLACE INTO `#core` (e107_name,e107_value) values ('SitePrefs_Backup', '".addslashes($PrefCache)."') ");
-
-		  	// Now save the updated values
-		  	// traverse the pref array, with toDB on everything
-		  	$_pref = $tp->toDB($pref, true, true);
-		  	// Create the data to be stored
-	  		if($sql->db_Select_gen("REPLACE INTO `#core` (e107_name,e107_value) values ('SitePrefs', '".$eArrayStorage->WriteArray($_pref)."') "))
-			{
-		  		ecacXXXhe::clear_sys('Config_core');
-				return true;
-			}
-			else
-			{
-            	return false;
-			}
-		}
-  }
-  elseif($table == "theme")
-  {
-  		$pref['sitetheme_pref'] = $theme_pref;
-		save_prefs();
-  }
-  else
-  {
-	 //	$_user_pref = $tp -> toDB($user_pref);
-	 //	$tmp=addslashes(serialize($_user_pref));
-	 	$_user_pref = $tp->toDB($user_pref, true, true);
-	 	$tmp = $eArrayStorage->WriteArray($_user_pref);
-		$sql->db_Update('user', "user_prefs='$tmp' WHERE user_id=".intval($uid));
-		return $tmp;
-  }
-	*/
 }
 
 
@@ -1865,145 +1754,6 @@ function init_session()
 	define('e_CLASS_REGEXP', $user->getClassRegex());
 	define('e_NOBODY_REGEXP', '(^|,)'.e_UC_NOBODY.'(,|$)');
 
-		/* XXX - remove it after everything is working well!!
-		if(!isset($_E107['cli']))
-		{
-			list($uid, $upw)=(isset($_COOKIE[e_COOKIE]) && $_COOKIE[e_COOKIE] ? explode(".", $_COOKIE[e_COOKIE]) : explode(".", $_SESSION[e_COOKIE]));
-        }
-		else // FIXME - this will never happen - see above
-		{
-        	list($uid, $upw)= explode('.', $cli_log);
-		}
-
-		if (empty($uid) || empty($upw))
-		{
-			//$_SESSION[] = e_SELF."?".e_QUERY;
-
-			cookie(e_COOKIE, '', (time() - 2592000));
-			$_SESSION[e_COOKIE] = "";
-			session_destroy();
-			define('ADMIN', false);
-			define('USER', false);
-			define('USERID', 0);
-			define('USERCLASS', '');
-			define('USERCLASS_LIST', class_list());
-			define('LOGINMESSAGE', CORE_LAN10.'<br /><br />');
-			return (false);
-		}
-
-		$result = get_user_data($uid);
-		if(is_array($result) && md5($result['user_password']) == $upw)
-		{
-
-			define('USERID', $result['user_id']);
-			define('USERNAME', $result['user_name']);
-			define('USERURL', (isset($result['user_homepage']) ? $result['user_homepage'] : false));
-			define('USEREMAIL', $result['user_email']);
-			define('USER', true);
-			define('USERCLASS', $result['user_class']);
-			//define('USERVIEWED', $result['user_viewed']);  - removed from the DB
-			define('USERIMAGE', $result['user_image']);
-			define('USERPHOTO', $result['user_sess']);
-
-			$update_ip = ($result['user_ip'] != USERIP ? ", user_ip = '".USERIP."'" : "");
-			if($result['user_currentvisit'] + 3600 < time() || !$result['user_lastvisit'])
-			{
-				$result['user_lastvisit'] = $result['user_currentvisit'];
-				$result['user_currentvisit'] = time();
-				$sql->db_Update('user', "user_visits = user_visits + 1, user_lastvisit = '{$result['user_lastvisit']}', user_currentvisit = '{$result['user_currentvisit']}' {$update_ip} WHERE user_id='".USERID."' ");
-			}
-			else
-			{
-				$result['user_currentvisit'] = time();
-				$sql->db_Update('user', "user_currentvisit = '{$result['user_currentvisit']}'{$update_ip} WHERE user_id='".USERID."' ");
-			}
-
-			$currentUser = $result;
-			$currentUser['user_realname'] = $result['user_login']; // Used by force_userupdate
-			$e107->currentUser = &$currentUser;
-			define('USERLV', $result['user_lastvisit']);
-
-			if ($result['user_ban'] == 1)
-			{
-			  if (isset($pref['ban_messages']))
-			  {
-				echo $tp->toHTML(varsettrue($pref['ban_messages'][6]));		// Show message if one set
-			  }
-			  exit;
-			}
-
-			if ($result['user_admin'])
-			{
-				define('ADMIN', TRUE);
-				define('ADMINID', $result['user_id']);
-				define('ADMINNAME', $result['user_name']);
-				define('ADMINPERMS', $result['user_perms']);
-				define('ADMINEMAIL', $result['user_email']);
-				define('ADMINPWCHANGE', $result['user_pwchange']);
-				e107::getRedirect()->setPreviousUrl();
-
-			}
-			else
-			{
-				define('ADMIN', FALSE);
-			}
-
-			if($result['user_prefs'])
-			{
-               $user_pref =	(substr($result['user_prefs'],0,5) == "array") ? $eArrayStorage->ReadArray($result['user_prefs']) : unserialize($result['user_prefs']);
-			}
-
-
-
-
-			$tempClasses = class_list();
-			if (check_class(varset($pref['allow_theme_select'],FALSE), $tempClasses))
-			{	// User can set own theme
- 				if (isset($_POST['settheme']))
-				{
-					if($pref['sitetheme'] != $_POST['sitetheme'])
-					{
-                		require_once(e_HANDLER."theme_handler.php");
-						$utheme = new themeHandler;
-	                    $ut = $utheme->themeArray[$_POST['sitetheme']];
-
-                     	$user_pref['sitetheme'] 			= $_POST['sitetheme'];
-						$user_pref['sitetheme_custompages'] = $ut['custompages'];
-						$user_pref['sitetheme_deflayout'] 	= $utheme->findDefault($_POST['sitetheme']);
-					}
-					else
-					{
-                    	unset($user_pref['sitetheme'],$user_pref['sitetheme_custompages'],$user_pref['sitetheme_deflayout']);
-					}
-
-					save_prefs('user');
-					unset($ut);
-				}
-   			}
-   			elseif (isset($user_pref['sitetheme']))
-   			{	// User obviously no longer allowed his own theme - clear it
-   				unset($user_pref['sitetheme'],$user_pref['sitetheme_custompages'],$user_pref['sitetheme_deflayout']);
-   				save_prefs('user');
-			}
-
-
-			define('USERTHEME', (isset($user_pref['sitetheme']) && file_exists(e_THEME.$user_pref['sitetheme']."/theme.php") ? $user_pref['sitetheme'] : false));
-//			global $ADMIN_DIRECTORY, $PLUGINS_DIRECTORY;
-		}*/
-		/*else
-		{
-			define('USER', false);
-			define('USERID', 0);
-			define('USERTHEME', false);
-			define('ADMIN', false);
-			define('CORRUPT_COOKIE', true);
-			define('USERCLASS', '');
-		}
-	}*/
-
-	/*define('USERCLASS_LIST', class_list());
-	define('e_CLASS_REGEXP', '(^|,)('.str_replace(',', '|', USERCLASS_LIST).')(,|$)');
-	define('e_NOBODY_REGEXP', '(^|,)'.e_UC_NOBODY.'(,|$)');*/
 }
 
 
@@ -2099,7 +1849,7 @@ function class_list($uid = '')
 	{
 		if (is_numeric($uid))
 		{
-			if($ud = get_user_data($uid))
+			if($ud = e107::user($uid))
 			{
 				$admin_status = $ud['user_admin'];
 				$class_list = $ud['user_class'];
diff --git a/e107_core/shortcodes/single/picture.sc b/e107_core/shortcodes/single/picture.sc
index b18240d09..46da12980 100644
--- a/e107_core/shortcodes/single/picture.sc
+++ b/e107_core/shortcodes/single/picture.sc
@@ -12,7 +12,7 @@ if(is_numeric($parm))
 	}
 	else
 	{
-		$row = get_user_data(intval($parm));
+		$row = e107::user($parm);
 		$image=$row['user_sess'];
 	}
 }
diff --git a/e107_core/shortcodes/single/user_avatar.php b/e107_core/shortcodes/single/user_avatar.php
index d96e40110..5f3d32c73 100644
--- a/e107_core/shortcodes/single/user_avatar.php
+++ b/e107_core/shortcodes/single/user_avatar.php
@@ -23,7 +23,7 @@ function user_avatar_shortcode($parm=null)
 		}
 		else
 		{
-			$row = get_user_data(intval($parm));
+			$row = e107::user($parm);
 			$image=$row['user_image'];
 		}
 	}
diff --git a/e107_core/shortcodes/single/user_extended.sc b/e107_core/shortcodes/single/user_extended.sc
index 5ff94c608..02b85b70c 100644
--- a/e107_core/shortcodes/single/user_extended.sc
+++ b/e107_core/shortcodes/single/user_extended.sc
@@ -33,7 +33,7 @@ if($uid == 0)
 	}
 }
 
-$udata = get_user_data($uid);
+$udata = e107::user($uid);
 
 $udata['user_class'] .= ($udata['user_class'] == '' ? '' : ',');
 $udata['user_class'] .= e_UC_PUBLIC.",".e_UC_MEMBER;
diff --git a/e107_handlers/e107_class.php b/e107_handlers/e107_class.php
index cac0e79c8..96b10663b 100644
--- a/e107_handlers/e107_class.php
+++ b/e107_handlers/e107_class.php
@@ -70,7 +70,7 @@ class e107
 	 * Used for runtime caching of user extended struct
 	 *
 	 * @var array
-	 * @see get_user_data()
+	 * @see e107::user()
 	 */
 	public $extended_struct;
 
@@ -1428,7 +1428,9 @@ class e107
 	 */
 	public static function user($uid=null)
 	{
-		if(!$uid){ return false; }
+		$uid = intval($uid);
+		
+		if(empty($uid)){ return false; }
 			
 		$user = self::getSystemUser($uid, true);
 		$var = array();
diff --git a/e107_handlers/e_parse_class.php b/e107_handlers/e_parse_class.php
index d5d337a50..6e91d49e8 100644
--- a/e107_handlers/e_parse_class.php
+++ b/e107_handlers/e_parse_class.php
@@ -2883,7 +2883,7 @@ class e_parser
 			else
 			{
 				$log = e107::getAdminLog();
-				$log->addDebug('Broken Icon Path: '.$legacyPath, false)->save('IMALAN_00');
+				$log->addDebug('Broken Icon Path: '.$legacyPath."\n".print_r(debug_backtrace(null,2), true), false)->save('IMALAN_00');
 			}
 			
 		}
diff --git a/e107_handlers/e_ranks_class.php b/e107_handlers/e_ranks_class.php
index bdc75cd69..ee3da05b6 100644
--- a/e107_handlers/e_ranks_class.php
+++ b/e107_handlers/e_ranks_class.php
@@ -206,7 +206,7 @@ class e_ranks
 		}
 		else
 		{
-			$userData = e107::getSystemUser($userId)->getData(); //get_user_data($userId);
+			$userData = e107::getSystemUser($userId)->getData(); //get_usXer_data($userId);
 		}
 
 		if($userData['user_admin'])
diff --git a/e107_handlers/form_handler.php b/e107_handlers/form_handler.php
index a17374484..9e089c392 100644
--- a/e107_handlers/form_handler.php
+++ b/e107_handlers/form_handler.php
@@ -3249,7 +3249,7 @@ class e_form
 				
 				/*if(is_numeric($value))
 				{
-					$value = get_user_data($value);
+					$value = e107::user($value);
 					if($value)
 					{
 						$value = $value[$attributes['type']] ? $value[$attributes['type']] : $value['user_name'];
@@ -3781,7 +3781,7 @@ class e_form
 
 				if(!is_array($value))
 				{
-					$value = $value ? e107::getSystemUser($value, true)->getUserData() : array();// get_user_data($value);
+					$value = $value ? e107::getSystemUser($value, true)->getUserData() : array();// e107::user($value);
 				}
 
 				$colname = vartrue($parms['nameType'], 'user_name');
diff --git a/e107_handlers/user_extended_class.php b/e107_handlers/user_extended_class.php
index 9873762ef..cf6985716 100644
--- a/e107_handlers/user_extended_class.php
+++ b/e107_handlers/user_extended_class.php
@@ -25,7 +25,7 @@ if (!defined('e107_INIT')) { exit; }
  *	@todo: - change some routines to access the cached variables rather than DB
  *	@todo: Remove setting up of _FIELD_TYPES array (may be necessary, since UEF data structure not fixed)
  *	@todo: Consider changing field type constants to class constants
- *	@todo - cache field structure (already done in a different way in get_user_data() in class2.php line 1387 or so)
+ *	@todo - cache field structure (already done in a different way in e107::user() in class2.php line 1387 or so)
  *	@todo - class variables - confirm whether public/protected assignments are correct
  *	@todo - consider whether to split system and non-system fields
 
@@ -1036,7 +1036,7 @@ class e107_user_extended
 		{
 			$field_name = 'user_'.$field_name;
 		}
-		$uinfo = get_user_data($uid);
+		$uinfo = e107::user($uid);
 		if (!isset($uinfo[$field_name])) return $ifnotset;
 		return $uinfo[$field_name];
 	}
diff --git a/user.php b/user.php
index 7dfca69f1..803d2347a 100644
--- a/user.php
+++ b/user.php
@@ -234,7 +234,7 @@ function renderuser($uid, $mode = "verbose")
 	}
 	else
 	{
-		if(!$user = get_user_data($uid))
+		if(!$user = e107::user($uid))
 		{
 			return FALSE;
 		}
diff --git a/userposts.php b/userposts.php
index 56bd57008..bcd3f0930 100644
--- a/userposts.php
+++ b/userposts.php
@@ -137,7 +137,7 @@ elseif ($action == 'forums')
 
 	/*if(is_numeric($id))
 	{
-		$uinfo = get_user_data($id);
+		$uinfo = e107::user($id);
 		$fcaption = UP_LAN_0.' '.$uinfo['user_name'];
 	}
 	else
diff --git a/usersettings.php b/usersettings.php
index a9f12c755..0ab65aa16 100644
--- a/usersettings.php
+++ b/usersettings.php
@@ -192,7 +192,7 @@ $inp = intval(e_QUERY);
 $usersettings_form_action = strstr('?', $_usersettings_matches[3]) ? e_SELF.'?'.e_QUERY : e_SELF;
 
 $_uid = $inp;
-$info = get_user_data($inp);
+$info = e107::user($inp);
 		//Only site admin is able to change setting for other admins
 if(!is_array($info) || ($info['user_admin'] == 1 && (!defined('ADMINPERMS') || ADMINPERMS !== '0')) || ((!defined('ADMINPERMS') || ADMINPERMS !== '0') && !getperms('4')))
 {
@@ -297,7 +297,7 @@ require_once (e_ADMIN."auth.php");
 
 if (isset($_POST['updatesettings']) || isset($_POST['SaveValidatedInfo']))
 {
-//	$udata = get_user_data($inp);	//@deprecated			// Get all the existing user data, including any extended fields
+//	$udata = e107::user($inp);	//@deprecated			// Get all the existing user data, including any extended fields
 	
 	$udata = e107::user($inp); // Get all the existing user data, including any extended fields
 	$udata['user_classlist'] = $userMethods->addCommonClasses($udata, FALSE);