lilceda Posted October 23, 2008 Share Posted October 23, 2008 hi guys, i have recently installed Social Engine. i got a small Error when trying to re-send email verification: Fatal error: Call to undefined method stdClass::user_displayname() in /var/www/vhosts/httpdocs/signup_verify.php on line 43 Do someone has any idea about it ? file is attached! Thanks [attachment deleted by admin] Link to comment https://forums.phpfreaks.com/topic/129800-resend-email-verification/ Share on other sites More sharing options...
CroNiX Posted October 23, 2008 Share Posted October 23, 2008 Where are you creating the $thisuser object? Its not in your code. ($thisuser = new classname() The error is saying that the method (function in a class) doesn't exist in your class. More people will probably read this if you posted it in your post (using code tags of course) instead of a download link... Link to comment https://forums.phpfreaks.com/topic/129800-resend-email-verification/#findComment-672913 Share on other sites More sharing options...
lilceda Posted October 23, 2008 Author Share Posted October 23, 2008 In the same file. Here is the code. <?php $page = "signup_verify"; include "header.php"; if(isset($_POST['task'])) { $task = $_POST['task']; } elseif(isset($_GET['task'])) { $task = $_GET['task']; } else { $task = "main"; } if(isset($_POST['verify'])) { $verify = $_POST['verify']; } elseif(isset($_GET['verify'])) { $verify = $_GET['verify']; } else { $verify = ""; } if(isset($_POST['u'])) { $u = $_POST['u']; } elseif(isset($_GET['u'])) { $u = $_GET['u']; } else { $u = 0; } // SET ERROR VARS $is_error = 0; $result = 0; // SET RESEND FOR APPROPRIATE TASK if($task == "resend") { $resend = 1; } else { $resend = 0; } // IF VERIFICATIONS ARE TURNED OFF, RETURN TO HOME if($setting[setting_signup_verify] == 0) { header("Location: home.php"); exit(); } // RESEND EMAIL if($task == "resend_do") { $resend = 1; $resend_email = $_POST['resend_email']; $user_query = $database->database_query("SELECT user_id, user_email, user_code, user_username, user_fname, user_lname, user_verified, user_newemail FROM se_users WHERE user_newemail='$resend_email'"); // VERIFY USER EXISTS if($database->database_num_rows($user_query) != 1) { $is_error = 1038; $user_info['user_code'] = ""; $user_info['user_email'] = ""; $user_info['user_newemail'] = ""; $user_info['user_verified'] = ""; } else { $user_info = $database->database_fetch_assoc($user_query); $thisuser->user_exists = 1; $thisuser->user_info[user_id] = $user_info[user_id]; $thisuser->user_info[user_username] = $user_info[user_username]; $thisuser->user_info[user_fname] = $user_info[user_fname]; $thisuser->user_info[user_lname] = $user_info[user_lname]; $thisuser->user_info[user_email] = $user_info[user_email]; $thisuser->user_info[user_newemail] = $user_info[user_newemail]; $thisuser->user_info[user_code] = $user_info[user_code]; $thisuser->user_displayname(); } // VERIFY USER IS NOT ALREADY VERIFIED if($user_info[user_verified] == 1 && $user_info[user_email] == $user_info[user_newemail]) { $is_error = 1044; } // NO ERROR, RESEND EMAIL if($is_error == 0) { $verify_code = md5($thisuser->user_info[user_code]); $time = time(); $verify_link = $url->url_base."signup_verify.php?u=".$thisuser->user_info[user_id]."&verify=$verify_code&d=$time"; send_systememail('verification', $thisuser->user_info[user_newemail], Array($thisuser->user_displayname, $thisuser->user_info[user_newemail], "<a href=\"$verify_link\">$verify_link</a>")); $result = 1042; } // CHECK VERIFICATION } elseif($resend != 1) { // VALIDATE USER ID $new_user = new se_user(Array($u)); if($new_user->user_exists == 0) { $is_error = 1039; } // ENSURE NEW EMAIL NOT ALREADY TAKEN if($database->database_num_rows($database->database_query("SELECT user_id FROM se_users WHERE user_email='".$new_user->user_info[user_newemail]."' AND user_id<>'".$new_user->user_info[user_id]."'")) != 0) { $is_error = 1037; } // CHECK VERIFICATION URL if(md5($new_user->user_info[user_code]) !== $verify) { $is_error = 1039; } // VERIFY EMAIL ADDRESS IF NO ERROR if($is_error == 0) { // SET SUBNETWORK $subnet = $new_user->user_subnet_select($new_user->user_info[user_newemail], $new_user->user_info[user_profilecat_id], $new_user->profile_info); if($subnet[0] != $new_user->user_info[user_subnet_id]) { $new_subnet_id = $subnet[0]; $result = 1041; } else { $new_subnet_id = $new_user->user_info[user_subnet_id]; $result = 1028; } $database->database_query("UPDATE se_users SET user_subnet_id='$new_subnet_id', user_verified='1', user_email='".$new_user->user_info[user_newemail]."' WHERE user_id='".$new_user->user_info[user_id]."'"); // SEND WELCOME EMAIL IF USER JUST SIGNED UP if($new_user->user_info[user_verified] == 0) { send_systememail('welcome', $new_user->user_info[user_newemail], Array($new_user->user_displayname, $new_user->user_info[user_newemail], '', "<a href=\"".$url->url_base."login.php\">".$url->url_base."login.php</a>")); } } } // ASSIGN VARIABLES AND INCLUDE FOOTER $smarty->assign('is_error', $is_error); $smarty->assign('resend', $resend); $smarty->assign('result', $result); $smarty->assign('old_subnet_name', $subnet[2]); $smarty->assign('new_subnet_name', $subnet[1]); include "footer.php"; ?> Thanks Link to comment https://forums.phpfreaks.com/topic/129800-resend-email-verification/#findComment-672931 Share on other sites More sharing options...
CroNiX Posted October 23, 2008 Share Posted October 23, 2008 Where are you creating the $thisuser object? Its not in your code. ($thisuser = new classname(); ) The error is saying that the method (function in a class) doesn't exist in your class. Nobody will be able to help without these answered. Whats in your 'header.php' file? Link to comment https://forums.phpfreaks.com/topic/129800-resend-email-verification/#findComment-672946 Share on other sites More sharing options...
lilceda Posted October 23, 2008 Author Share Posted October 23, 2008 My header.php <?php // SET ERROR REPORTING error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE); ini_set('display_errors', TRUE); // CHECK FOR PAGE VARIABLE if(!isset($page)) { $page = ""; } // DEFINE SE PAGE CONSTANT define('SE_PAGE', true); // SET INCLUDE PATH TO ROOT OF SE set_include_path(get_include_path() . PATH_SEPARATOR . realpath("./")); // INITIATE SMARTY $folder = "base"; include "include/smarty/smarty_config.php"; // INCLUDE DATABASE INFORMATION include "include/database_config.php"; // INCLUDE CLASS/FUNCTION FILES include "include/class_admin.php"; include "include/class_database.php"; include "include/class_datetime.php"; include "include/class_comment.php"; include "include/class_field.php"; include "include/class_hook.php"; include "include/class_language.php"; include "include/class_notify.php"; include "include/class_upload.php"; include "include/class_user.php"; include "include/class_url.php"; include "include/class_misc.php"; include "include/class_ads.php"; include "include/class_actions.php"; include "include/functions_general.php"; include "include/functions_email.php"; include "include/functions_stats.php"; // INITIATE DATABASE CONNECTION $database = new se_database($database_host, $database_username, $database_password, $database_name); // SET DATABASE CONSTANTS $database->database_query("SET @SE_PRIVACY_SELF = 1, @SE_PRIVACY_FRIEND = 2, @SE_PRIVACY_FRIEND2 = 4, @SE_PRIVACY_SUBNET = 8, @SE_PRIVACY_REGISTERED = 16, @SE_PRIVACY_ANONYMOUS = 32"); // SET LANGUAGE CHARSET $database->database_set_charset(SE_Language::info('charset')); // GET SETTINGS $setting = $database->database_fetch_assoc($database->database_query("SELECT * FROM se_settings LIMIT 1")); // CREATE URL CLASS $url = new se_url(); // CREATE DATETIME CLASS $datetime = new se_datetime(); // CREATE MISC CLASS $misc = new se_misc(); // ENSURE NO SQL INJECTIONS THROUGH POST OR GET ARRAYS $_POST = security($_POST); $_GET = security($_GET); $_COOKIE = security($_COOKIE); // CHECK FOR PAGE OWNER if(isset($_POST['user'])) { $user_username = $_POST['user']; } elseif(isset($_GET['user'])) { $user_username = $_GET['user']; } else { $user_username = ""; } if(isset($_POST['user_id'])) { $user_id = $_POST['user_id']; } elseif(isset($_GET['user_id'])) { $user_id = $_GET['user_id']; } else { $user_id = ""; } $owner = new se_user(Array($user_id, $user_username)); // CREATE USER OBJECT AND ATTEMPT TO LOG USER IN $user = new se_user(); $user->user_checkCookies(); // USER IS LOGGED IN if($user->user_exists != 0) { // SET TIMEZONE IF USER IS LOGGED IN $global_timezone = $user->user_info[user_timezone]; // USER IS NOT LOGGED IN } else { // SEND USER TO LOGIN IF TRYING TO ACCESS USER CONTROL PANEL if(substr($page, 0, 5) == "user_") { header("Location: login.php?return_url=".$url->url_current()); exit(); } // SET TIMEZONE IF USER IS LOGGED OUT $global_timezone = $setting[setting_timezone]; // SET VISITOR LAST ACTIVE TIME $database->database_query("INSERT INTO se_visitors (visitor_ip, visitor_lastactive) VALUES ('".$_SERVER['REMOTE_ADDR']."', '".time()."') ON DUPLICATE KEY UPDATE visitor_lastactive = '".time()."'"); } // SET UP LANGUAGE VARIABLES if(isset($_GET['lang_id']) && $setting[setting_lang_allow] == 1 && $user->user_exists != 0) { $user->user_info[user_language_id] = (int)$_GET['lang_id']; setcookie('se_language_anonymous', $user->user_info[user_language_id], time()+99999999, "/"); $database->database_query("UPDATE se_users SET user_language_id='".$user->user_info[user_language_id]."' WHERE user_id='".$user->user_info[user_id]."'"); } elseif(isset($_GET['lang_id']) && $setting[setting_lang_anonymous]) { setcookie('se_language_anonymous', (int)$_GET['lang_id'], time()+99999999, "/"); $_COOKIE['se_language_anonymous'] = (int)$_GET['lang_id']; } SE_Language::select($user); if(SE_Language::info('language_setlocale') != '') { $multi_language = 1; setlocale(LC_TIME, SE_Language::info('language_setlocale')); } header("Content-Language: ".SE_Language::info('language_code')); // UPDATE STATS TABLE update_stats("views"); // CREATE ACTIONS CLASS $actions = new se_actions(); // CREATE NOTIFICATION CLASS $notify = new se_notify(); // CREATE ADS CLASS $ads = new se_ads(); // CREATE GLOBAL CSS STYLES VAR (USED FOR CUSTOM USER-DEFINED PROFILE/PLUGIN STYLES) $global_css = ""; // INCLUDE RELEVANT PLUGIN FILES // AND SET PLUGIN HEADER TEMPLATES $show_menu_user = FALSE; $global_plugins = Array(); $plugins = $database->database_query("SELECT plugin_type, plugin_icon FROM se_plugins WHERE plugin_disabled=0 ORDER BY plugin_id DESC"); while($plugin_info = $database->database_fetch_assoc($plugins)) { $plugin_vars = Array(); if(file_exists("header_".$plugin_info[plugin_type].".php")) { include "header_".$plugin_info[plugin_type].".php"; } $global_plugins[$plugin_info[plugin_type]] = $plugin_vars; if($plugin_vars[menu_user] != "") { $show_menu_user = TRUE; } } $global_plugins[plugin_controls] = Array('show_menu_user' => $show_menu_user); // CHECK TO SEE IF SITE IS ONLINE OR NOT if($setting[setting_online] == 0) { // CREATE ADMIN OBJECT AND ATTEMPT TO LOG ADMIN IN $admin = new se_admin(); $admin->admin_checkCookies(); // ADMIN NOT LOGGED IN, DISPLAY OFFLINE PAGE if($admin->admin_exists == 0) { $page = "offline"; include "footer.php"; } } // CALL HEADER HOOK ($hook = SE_Hook::exists('se_header')) ? SE_Hook::call($hook, array()) : NULL; // CHECK IF LOGGED-IN USER IS ON OWNER'S BLOCKLIST if($user->user_exists == 1) { if($owner->user_blocked($user->user_info[user_id])) { // ASSIGN VARIABLES AND DISPLAY ERROR PAGE $page = "error"; $smarty->assign('error_header', 639); $smarty->assign('error_message', 640); $smarty->assign('error_submit', 641); include "footer.php"; } } // CHECK TO SEE IF USER HAS BEEN BLOCKED BY IP $banned_ips = explode(",", $setting[setting_banned_ips]); if(in_array($_SERVER['REMOTE_ADDR'], $banned_ips)) { // ASSIGN VARIABLES AND DISPLAY ERROR PAGE $page = "error"; $smarty->assign('error_header', 639); $smarty->assign('error_message', 807); $smarty->assign('error_submit', 641); include "footer.php"; } ?> Thanks Link to comment https://forums.phpfreaks.com/topic/129800-resend-email-verification/#findComment-672948 Share on other sites More sharing options...
CroNiX Posted October 23, 2008 Share Posted October 23, 2008 The answers are not in that file either. Its probably in class_user.php. It might be better for you to try asking in the support area for 'Social Engine'. http://www.socialengine.net/support.php Link to comment https://forums.phpfreaks.com/topic/129800-resend-email-verification/#findComment-672962 Share on other sites More sharing options...
lilceda Posted October 23, 2008 Author Share Posted October 23, 2008 Already done! my ticket is still opened. And i need to solve it in best time because it's for a costumer. Here ia class_user file + all others (without install one) ps: class_user file exceed le limit of carsacters File: http://tinyurl.com/5qbu5w Thanks Link to comment https://forums.phpfreaks.com/topic/129800-resend-email-verification/#findComment-672974 Share on other sites More sharing options...
lilceda Posted October 24, 2008 Author Share Posted October 24, 2008 i got it, i just needed to change the lines 35 and 36 to put; $thisuser = new se_user(); $thisuser->user_exists = 1; at the place of $thisuser->user_exists = 1; $thisuser->user_info[user_id] = $user_info[user_id]; Link to comment https://forums.phpfreaks.com/topic/129800-resend-email-verification/#findComment-673459 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.