Simple Machines Community Forum

SMF Support => SMF 2.0.x Support => Topic started by: kamalgurung on March 30, 2008, 06:58:45 AM

Title: Upgraded from 1.1.4 to 2.03 Public Beta and errors in Admin Panel
Post by: kamalgurung on March 30, 2008, 06:58:45 AM
I downloaded the Large Upgrade Packaged, Overwrote my existing 1.1.4 files and then launched the upgrade utility by visit http://forum.mysite.com/upgrade.php the upgrade process went smoothly and after completion

while accessing the admin panel and every section of it I am getting the following errros :-

($txt['spider_logs']), 'spiders' => array($txt['spiders']), 'settings' => array($txt['settings']), ), ), ), ), 'maintenance' => array( 'title' => $txt['admin_maintenance'], 'permission' => array('admin_forum'), 'areas' => array( 'maintain' => array( 'label' => $txt['maintain_title'], 'file' => 'ManageMaintenance.php', 'function' => 'ManageMaintenance', 'subsections' => array( 'general' => array($txt['maintain_common'], 'admin_forum'), 'tasks' => array($txt['maintain_tasks'], 'admin_forum'), ), ), 'mailqueue' => array( 'label' => $txt['mailqueue_title'], 'file' => 'ManageMail.php', 'function' => 'ManageMail', 'subsections' => array( 'browse' => array($txt['mailqueue_browse'], 'admin_forum'), 'settings' => array($txt['mailqueue_settings'], 'admin_forum'), ), ), 'reports' => array( 'enabled' => in_array('rg', $context['admin_features']), 'label' => $txt['generate_reports'], 'file' => 'Reports.php', 'function' => 'ReportsMain', ), 'logs' => array( 'label' => $txt['logs'], 'function' => 'AdminLogs', 'subsections' => array( 'errorlog' => array($txt['errlog'], 'admin_forum', 'enabled' => !empty($modSettings['enableErrorLogging']), 'url' => $scripturl . '?action=admin;area=logs;desc'), 'adminlog' => array($txt['admin_log'], 'admin_forum', 'enabled' => in_array('ml', $context['admin_features'])), 'modlog' => array($txt['moderation_log'], 'admin_forum', 'enabled' => in_array('ml', $context['admin_features'])), ), ), 'repairboards' => array( 'file' => 'RepairBoards.php', 'function' => 'RepairBoards', 'select' => 'maintain', ), ), ), ); $menuOptions = array(); // Add a work around for editing current theme. if (isset($_GET['area']) && $_GET['area'] == 'theme' && isset($_GET['th']) && $_GET['th'] == $settings['theme_id']) $menuOptions['current_area'] = 'current_theme'; // Make sure the administrator has a valid session... validateSession(); // Actually create the menu! $admin_include_data = createMenu($admin_areas, $menuOptions); unset($admin_areas); // Make a note of the Unique ID for this menu. $context['admin_menu_id'] = $context['max_menu_id']; $context['admin_menu_name'] = 'menu_data_' . $context['admin_menu_id']; // Nothing valid? if ($admin_include_data == false) fatal_lang_error('no_access'); // Why on the admin are we? $context['admin_area'] = $admin_include_data['current_area']; // Now - finally - call the right place! if (isset($admin_include_data['file'])) require_once($sourcedir . '/' . $admin_include_data['file']); $admin_include_data['function'](); } // The main administration section. function AdminHome() { global $sourcedir, $forum_version, $txt, $scripturl, $context, $user_info, $boardurl, $modSettings, $smcFunc; // You have to be able to do at least one of the below to see this page. isAllowedTo(array('admin_forum', 'manage_permissions', 'moderate_forum', 'manage_membergroups', 'manage_bans', 'send_mail', 'edit_news', 'manage_boards', 'manage_smileys', 'manage_attachments')); // Find all of this forum's administrators... require_once($sourcedir . '/Subs-Membergroups.php'); if (listMembergroupMembers_Href($context['administrators'], 1, 32) && allowedTo('manage_membergroups')) { // Add a 'more'-link if there are more than 32. $context['more_admins_link'] = '' . $txt['more'] . ''; } // Load the credits stuff. require_once($sourcedir . '/Who.php'); Credits(true); // Copyright? if (!empty($modSettings['copy_settings']) || !empty($modSettings['copyright_key'])) { if (empty($modSettings['copy_settings'])) $modSettings['copy_settings'] = 'a,0'; // Not done it yet... if (empty($_SESSION['copy_expire'])) { list ($key, $expires) = explode(',', $modSettings['copy_settings']); // Get the expired date. require_once($sourcedir . '/Subs-Package.php'); $return_data = fetch_web_data('http://www.simplemachines.org/smf/copyright/check_copyright.php?site=' . base64_encode($boardurl) . '&key=' . $key . '&version=' . base64_encode($forum_version)); // Get the expire date. $return_data = substr($return_data, strpos($return_data, 'STARTCOPY') + 9); $return_data = trim(substr($return_data, 0, strpos($return_data, 'ENDCOPY'))); if ($return_data != 'void') { list ($_SESSION['copy_expire'], $copyright_key) = explode('|', $return_data); $_SESSION['copy_key'] = $key; $copy_settings = $key . ',' . (int) $_SESSION['copy_expire']; updateSettings(array('copy_settings' => $copy_settings, 'copyright_key' => $copyright_key)); } else { $_SESSION['copy_expire'] = ''; $smcFunc['db_query']('', ' DELETE FROM {db_prefix}settings WHERE variable = {string:copy_settings} OR variable = {string:copyright_key}', array( 'copy_settings' => 'copy_settings', 'copyright_key' => 'copyright_key', ) ); } } if (isset($_SESSION['copy_expire']) && $_SESSION['copy_expire'] > time()) { $context['copyright_expires'] = (int) (($_SESSION['copy_expire'] - time()) / 3600 / 24); $context['copyright_key'] = $_SESSION['copy_key']; } } // This makes it easier to get the latest news with your time format. $context['time_format'] = urlencode($user_info['time_format']); $context['current_versions'] = array( 'php' => array('title' => $txt['support_versions_php'], 'version' => PHP_VERSION), 'db' => array('title' => sprintf($txt['support_versions_db'], $smcFunc['db_title']), 'version' => ''), 'server' => array('title' => $txt['support_versions_server'], 'version' => $_SERVER['SERVER_SOFTWARE']), ); $context['forum_version'] = $forum_version; // Get a list of current server versions. require_once($sourcedir . '/Subs-Admin.php'); $checkFor = array( 'gd', 'db_server', 'mmcache', 'eaccelerator', 'phpa', 'apc', 'memcache', 'php', 'server', ); $context['current_versions'] = getServerVersions($checkFor); $context['can_admin'] = allowedTo('admin_forum'); $context['sub_template'] = $context['admin_area'] == 'credits' ? 'credits' : 'admin'; $context['page_title'] = $context['admin_area'] == 'credits' ? $txt['support_credits_title'] : $txt['admin_center']; // The format of this array is: permission, action, title, description. $quick_admin_tasks = array( array('', 'credits', 'support_credits_title', 'support_credits_info'), array('admin_forum', 'featuresettings', 'modSettings_title', 'modSettings_info'), array('admin_forum', 'maintain', 'maintain_title', 'maintain_info'), array('manage_permissions', 'permissions', 'edit_permissions', 'edit_permissions_info'), array('admin_forum', 'theme;sa=admin;sesc=' . $context['session_id'], 'theme_admin', 'theme_admin_info'), array('admin_forum', 'packages', 'package', 'package_info'), array('manage_smileys', 'smileys', 'smileys_manage', 'smileys_manage_info'), array('moderate_forum', 'viewmembers', 'admin_users', 'member_center_info'), ); $context['quick_admin_tasks'] = array(); foreach ($quick_admin_tasks as $task) { if (!empty($task[0]) && !allowedTo($task[0])) continue; $context['quick_admin_tasks'][] = array( 'href' => $scripturl . '?action=admin;area=' . $task[1], 'link' => '' . $txt[$task[2]] . '', 'title' => $txt[$task[2]], 'description' => $txt[$task[3]], 'is_last' => false ); } if (count($context['quick_admin_tasks']) % 2 == 1) { $context['quick_admin_tasks'][] = array( 'href' => '', 'link' => '', 'title' => '', 'description' => '', 'is_last' => true ); $context['quick_admin_tasks'][count($context['quick_admin_tasks']) - 2]['is_last'] = true; } elseif (count($context['quick_admin_tasks']) != 0) { $context['quick_admin_tasks'][count($context['quick_admin_tasks']) - 1]['is_last'] = true; $context['quick_admin_tasks'][count($context['quick_admin_tasks']) - 2]['is_last'] = true; } } // Allow users to remove their copyright. function ManageCopyright() { global $forum_version, $txt, $sourcedir, $context, $boardurl, $modSettings; isAllowedTo('admin_forum'); if (isset($_POST['copy_code'])) { checkSession('post'); $_POST['copy_code'] = urlencode($_POST['copy_code']); // Check the actual code. require_once($sourcedir . '/Subs-Package.php'); $return_data = fetch_web_data('http://www.simplemachines.org/smf/copyright/check_copyright.php?site=' . base64_encode($boardurl) . '&key=' . $_POST['copy_code'] . '&version=' . base64_encode($forum_version)); // Get the data back $return_data = substr($return_data, strpos($return_data, 'STARTCOPY') + 9); $return_data = trim(substr($return_data, 0, strpos($return_data, 'ENDCOPY'))); if ($return_data != 'void') { list ($_SESSION['copy_expire'], $copyright_key) = explode('|', $return_data); $_SESSION['copy_key'] = $_POST['copy_code']; $copy_settings = $_POST['copy_code'] . ',' . (int) $_SESSION['copy_expire']; updateSettings(array('copy_settings' => $copy_settings, 'copyright_key' => $copyright_key)); redirectexit('action=admin'); } else { fatal_lang_error('copyright_failed'); } } $context['sub_template'] = 'manage_copyright'; $context['page_title'] = $txt['copyright_removal']; } // Get one of the admin information files from Simple Machines. function DisplayAdminFile() { global $context, $modSettings, $smcFunc; @ini_set('memory_limit', '32M'); if (empty($_REQUEST['filename'])) fatal_lang_error('no_access'); $request = $smcFunc['db_query']('', ' SELECT data, filetype FROM {db_prefix}admin_info_files WHERE filename = {string:current_filename} LIMIT 1', array( 'current_filename' => $_REQUEST['filename'], ) ); if ($smcFunc['db_num_rows']($request) == 0) fatal_lang_error('admin_file_not_found', true, array($_REQUEST['filename'])); list ($file_data, $filetype) = $smcFunc['db_fetch_row']($request); $smcFunc['db_free_result']($request); $context['template_layers'] = array(); // Lets make sure we aren't going to output anything nasty. @ob_end_clean(); if (!empty($modSettings['enableCompressedOutput'])) @ob_start('ob_gzhandler'); else @ob_start(); // Make sure they know what type of file we are. header('Content-Type: ' . $filetype); echo $file_data; obExit(false); } // This allocates out all the search stuff. function AdminSearch() { global $txt, $context, $smcFunc, $sourcedir; isAllowedTo('admin_forum'); // What can we search for? $subactions = array( 'internal' => 'AdminSearchInternal', 'online' => 'AdminSearchOM', 'member' => 'AdminSearchMember', ); $context['search_type'] = !isset($_REQUEST['search_type']) || !isset($subactions[$_REQUEST['search_type']]) ? 'internal' : $_REQUEST['search_type']; $context['search_term'] = isset($_REQUEST['search_term']) ? $smcFunc['htmlspecialchars']($_REQUEST['search_term'], ENT_QUOTES) : ''; $context['sub_template'] = 'admin_search_results'; $context['page_title'] = $txt['admin_search_results']; // Keep track of what the admin wants. if (empty($context['admin_preferences']['sb']) || $context['admin_preferences']['sb'] != $context['search_type']) { $context['admin_preferences']['sb'] = $context['search_type']; // Update the preferences. require_once($sourcedir . '/Subs-Admin.php'); updateAdminPreferences(); } if (trim($context['search_term']) == '') $context['search_results'] = array(); else $subactions[$context['search_type']](); } // A complicated but relatively quick internal search. function AdminSearchInternal() { global $context, $txt, $helptxt, $scripturl, $sourcedir; // Load a lot of language files. $language_files = array( 'Help', 'ManageMail', 'ManageSettings', 'ManageCalendar', 'ManageBoards', 'ManagePaid', 'ManagePermissions', 'Search', 'Login', 'ManageSmileys', ); loadLanguage(implode('+', $language_files)); // All the files we need to include. $include_files = array( 'ManageSettings', 'ManageBoards', 'ManageNews', 'ManageAttachments', 'ManageCalendar', 'ManageMail', 'ManagePaid', 'ManagePermissions', 'ManagePosts', 'ManageRegistration', 'ManageSearch', 'ManageSearchEngines', 'ManageServer', 'ManageSmileys', ); foreach ($include_files as $file) require_once($sourcedir . '/' . $file . '.php'); /* This is the huge array that defines everything... it's a huge array of items formatted as follows: 0 = Language index (Can be array of indexes) to search through for this setting. 1 = URL for this indexes page. 2 = Help index for help associated with this item (If different from 0) */ $search_data = array( // All the major sections of the forum. 'sections' => array( ), 'settings' => array( array('COPPA', 'area=regcenter;sa=settings'), array('CAPTCHA', 'area=regcenter;sa=settings'), ), ); // Go through the admin menu structure trying to find suitably named areas! foreach ($context[$context['admin_menu_name']]['sections'] as $section) { foreach ($section['areas'] as $menu_key => $menu_item) { $search_data['sections'][] = array($menu_item['label'], 'area=' . $menu_key); if (!empty($menu_item['subsections'])) foreach ($menu_item['subsections'] as $key => $sublabel) { if (isset($sublabel['label'])) $search_data['sections'][] = array($sublabel['label'], 'area=' . $menu_key . ';sa=' . $key); } } } // This is a special array of functions that contain setting data - we query all these to simply pull all setting bits! $settings_search = array( array('ModifyCoreFeatures', 'area=featuresettings;sa=core'), array('ModifyBasicSettings', 'area=featuresettings;sa=basic'), array('ModifyLayoutSettings', 'area=featuresettings;sa=layout'), array('ModifyKarmaSettings', 'area=featuresettings;sa=karma'), array('ModifySignatureSettings', 'area=featuresettings;sa=sig'), array('ModifyGeneralSecuritySettings', 'area=securitysettings;sa=general'), array('ModifySpamSettings', 'area=securitysettings;sa=spam'), array('ModifyModerationSettings', 'area=securitysettings;sa=moderation'), array('ModifyGeneralModSettings', 'area=modsettings;sa=general'), // Mod authors if you want to be "real freaking good" then add any setting pages for your mod BELOW this line! array('ManageAttachmentSettings', 'area=manageattachments;sa=attachments'), array('ManageAvatarSettings', 'area=manageattachments;sa=avatars'), array('ModifyCalendarSettings', 'area=managecalendar;sa=settings'), array('EditBoardSettings', 'area=manageboards;sa=settings'), array('ModifyMailSettings', 'area=mailqueue;sa=settings'), array('ModifyNewsSettings', 'area=news;sa=settings'), array('GeneralPermissionSettings', 'area=permissions;sa=settings'), array('ModifyPostSettings', 'area=postsettings;sa=posts'), array('ModifyBBCSettings', 'area=postsettings;sa=bbc'), array('ModifyTopicSettings', 'area=postsettings;sa=topics'), array('EditSearchSettings', 'area=managesearch;sa=settings'), array('EditSmileySettings', 'area=smileys;sa=settings'), array('ModifyOtherSettings', 'area=serversettings;sa=other'), array('ModifyCacheSettings', 'area=serversettings;sa=cache'), array('ModifyRegistrationSettings', 'area=regcenter;sa=settings'), array('ManageSearchEngineSettings', 'area=sengines;sa=settings'), array('ModifySubscriptionSettings', 'area=paidsubscribe;sa=settings'), ); foreach ($settings_search as $setting_area) { // Get a list of their variables. $config_vars = $setting_area[0](true); foreach ($config_vars as $var) { if (!empty($var[1]) && $var[0] != 'permissions') $search_data['settings'][] = array($var[1], $setting_area[1]); } } $context['search_results'] = array(); $search_term = strtolower($context['search_term']); // Go through all the search data trying to find this text! foreach ($search_data as $section => $data) { foreach ($data as $item) { $found = false; if (!is_array($item[0])) $item[0] = array($item[0]); foreach ($item[0] as $term) { $lc_term = strtolower($term); if (strpos($lc_term, $search_term) !== false || (isset($txt[$term]) && strpos($txt[$term], $search_term) !== false) || (isset($txt['setting_' . $term]) && strpos($txt['setting_' . $term], $search_term) !== false)) { $found = $term; break; } } if ($found) { // Format the name - and remove any descriptions the entry may have. $name = isset($txt[$found]) ? $txt[$found] : (isset($txt['setting_' . $found]) ? $txt['setting_' . $found] : $found); $name = preg_replace('~<(div|span)\sclass="smalltext">.+?
~', '', $name); $context['search_results'][] = array( 'url' => (substr($item[1], 0, 4) == 'area' ? $scripturl . '?action=admin;' . $item[1] : $item[1]) . ';sesc=' . $context['session_id'] . ((substr($item[1], 0, 4) == 'area' && $section == 'settings' ? '#' . $item[0][0] : '')), 'name' => $name, 'type' => $section, 'help' => shorten_subject(isset($item[2]) ? $helptxt[$item2] : (isset($helptxt[$found]) ? $helptxt[$found] : ''), 255), ); } } } } // All this does is pass through to manage members. function AdminSearchMember() { global $context, $sourcedir; require_once($sourcedir . '/ManageMembers.php'); $_REQUEST['sa'] = 'query'; $_POST['membername'] = $context['search_term']; ViewMembers(); } // This file allows the user to search the SM online manual for a little of help. function AdminSearchOM() { global $context, $sourcedir; $docsURL = 'docs.simplemachines.org'; $context['doc_scripturl'] = 'http://docs.simplemachines.org/index.php'; // Set all the parameters search might expect. $postVars = array( 'search' => $context['search_term'], ); // Encode the search data. foreach ($postVars as $k => $v) $postVars[$k] = urlencode($k) . '=' . urlencode($v); // This is what we will send. $postVars = implode('&', $postVars); // Get the results from the doc site. require_once($sourcedir . '/Subs-Package.php'); $search_results = fetch_web_data($context['doc_scripturl'] . '?action=search2&xml', $postVars); // If we didn't get any xml back we are in trouble - perhaps the doc site is overloaded? if (!$search_results || preg_match('~<' . '\?xml\sversion="\d+\.\d+"\sencoding=".+?"\?' . '>\s*(.+?)~is', $search_results, $matches) != true) fatal_lang_error('cannot_connect_doc_site'); $search_results = $matches[1]; // Otherwise we simply walk through the XML and stick it in context for display. $context['search_results'] = array(); loadClassFile('Class-Package.php'); // Get the results loaded into an array for processing! $results = new xmlArray($search_results, false); // Move through the smf layer. if (!$results->exists('smf')) fatal_lang_error('cannot_connect_doc_site'); $results = $results->path('smf[0]'); // Are there actually some results? if (!$results->exists('noresults') && !$results->exists('results')) fatal_lang_error('cannot_connect_doc_site'); elseif ($results->exists('results')) { foreach ($results->set('results/result') as $result) { if (!$result->exists('messages')) continue; $context['search_results'][$result->fetch('id')] = array( 'topic_id' => $result->fetch('id'), 'relevance' => $result->fetch('relevance'), 'board' => array( 'id' => $result->fetch('board/id'), 'name' => $result->fetch('board/name'), 'href' => $result->fetch('board/href'), ), 'category' => array( 'id' => $result->fetch('category/id'), 'name' => $result->fetch('category/name'), 'href' => $result->fetch('category/href'), ), 'messages' => array(), ); // Add the messages. foreach ($result->set('messages/message') as $message) $context['search_results'][$result->fetch('id')]['messages'][] = array( 'id' => $message->fetch('id'), 'subject' => $message->fetch('subject'), 'body' => $message->fetch('body'), 'time' => $message->fetch('time'), 'timestamp' => $message->fetch('timestamp'), 'start' => $message->fetch('start'), 'author' => array( 'id' => $message->fetch('author/id'), 'name' => $message->fetch('author/name'), 'href' => $message->fetch('author/href'), ), ); } } } // This function decides which log to load. function AdminLogs() { global $sourcedir, $context, $txt, $scripturl; // These are the logs they can load. $log_functions = array( 'errorlog' => array('ManageErrors.php', 'ViewErrorLog'), 'adminlog' => array('Modlog.php', 'ViewModlog'), 'modlog' => array('Modlog.php', 'ViewModlog'), ); $sub_action = isset($_REQUEST['sa']) && isset($log_functions[$_REQUEST['sa']]) ? $_REQUEST['sa'] : 'errorlog'; // If it's not got a sa set it must have come here for first time, pretend error log should be reversed. if (!isset($_REQUEST['sa'])) $_REQUEST['desc'] = true; // Setup some tab stuff. $context[$context['admin_menu_name']]['tab_data'] = array( 'title' => &$txt['logs'], 'help' => '', 'description' => $txt['maintain_info'], 'tabs' => array( 'errorlog' => array( 'url' => $scripturl . '?action=admin;area=logs;sa=errorlog;desc', 'description' => sprintf($txt['errlog_desc'], $txt['remove']), ), 'adminlog' => array( 'description' => $txt['admin_log_desc'], ), 'modlog' => array( 'description' => $txt['moderation_log_desc'], ), ), ); require_once($sourcedir . '/' . $log_functions[$sub_action][0]); $log_functions[$sub_action][1](); } ?>


Mod edit: Code tags

:D What should I do now :)
Title: Re: Upgraded from 1.1.4 to 2.03 Public Beta and errors in Admin Panel
Post by: H on March 30, 2008, 07:19:53 AM
It looks like some of the files may not have uploaded correctly.

Try deleting everything except for the Attachments folder, settings.php and settings_bak.php and then re-upload everything in the upgrade package except for upgrade.php as that does not need to be run again.

I don't know which FTP client you used however I would recommend Filezilla (http://filezilla.sf.net)