Manual Upgrade Instructions

Started by N3RVE, September 09, 2008, 10:36:33 AM

Previous topic - Next topic

N3RVE

These are the Manual Upgrade Instructions for the 1.1.10 release. As always, use a reliable PHP editor to modify files.
Use the anchors to link to specific files changes :).

./Index.php
./Sources/ManageAttachments.php
./Sources/ManageBans.php
./Sources/ManageRegistration.php
./Sources/Packages.php
./Sources/PersonalMessage.php
./Sources/Post.php
./Sources/Profile.php
./Sources/Register.php
./Sources/Subs-Auth.php
./Themes/default/Register.template.php

./Index.php
Code (Find) Select

* Software Version:           SMF 1.1.9                                           *


Code (Replace with) Select

* Software Version:           SMF 1.1.10                                          *



Code (Find) Select


$forum_version = 'SMF 1.1.9';


Code (Replace with) Select


$forum_version = 'SMF 1.1.10';


./Sources/ManageAttachments.php
Code (Find) Select

* Software Version:           SMF 1.1.9                                           *


Code (Replace with) Select

* Software Version:           SMF 1.1.10                                          *



Code (Find) Select

'link' => '<a href="' . ($row['attachmentType'] == 1 ? $modSettings['custom_avatar_url'] . '/' . $row['filename'] : ($scripturl . '?action=dlattach;' . ($context['browse_type'] == 'avatars' ? 'type=avatar;' : 'topic=' . $row['ID_TOPIC'] . '.0;') . 'id=' . $row['ID_ATTACH'])) . '"' . (empty($row['width']) || empty($row['height']) ? '' : ' onclick="return reqWin(this.href + \';image\', ' . ($row['width'] + 20) . ', ' . ($row['height'] + 20) . ', true);"') . '>' . htmlspecialchars($row['filename']) . '</a>'


Code (Replace with) Select

'link' => '<a href="' . ($row['attachmentType'] == 1 ? $modSettings['custom_avatar_url'] . '/' . $row['filename'] : ($scripturl . '?action=dlattach;' . ($context['browse_type'] == 'avatars' ? 'type=avatar;' : 'topic=' . $row['ID_TOPIC'] . '.0;') . 'id=' . $row['ID_ATTACH'])) . '"' . (empty($row['width']) || empty($row['height']) ? '' : ' onclick="return reqWin(this.href + \'' . ($modSettings['custom_avatar_url'] ? '' : ';image') . '\', ' . ($row['width'] + 20) . ', ' . ($row['height'] + 20) . ', true);"') . '>' . htmlspecialchars($row['filename']) . '</a>'


./Sources/ManageBans.php
Code (Find) Select

* Software Version:           SMF 1.1                                             *


Code (Replace with) Select

* Software Version:           SMF 1.1.10                                          *


Code (Find) Select

* Copyright 2006 by:          Simple Machines LLC (http://www.simplemachines.org) *


Code (Replace with) Select

* Copyright 2006-2009 by:     Simple Machines LLC (http://www.simplemachines.org) *


Code (Find) Select

if (!empty($updates))
foreach ($updates as $newStatus => $members)
updateMemberData($members, array('is_activated' => $newStatus));


Code (Replace with) Select

if (!empty($updates))
foreach ($updates as $newStatus => $members)
updateMemberData($members, array('is_activated' => $newStatus));

// Update the amount of members awaiting approval
updateStats('member');


./Sources/ManageRegistration.php
Code (Find) Select

* Software Version:           SMF 1.1.6                                           *


Code (Replace with) Select

* Software Version:           SMF 1.1.10                                          *



Code (Find) Select

* Copyright 2006-2007 by:     Simple Machines LLC (http://www.simplemachines.org) *


Code (Replace with) Select

* Copyright 2006-2009 by:     Simple Machines LLC (http://www.simplemachines.org) *



Code (Find) Select

'send_welcome_email' => isset($_POST['emailPassword']),


Code (Replace with) Select

'send_welcome_email' => isset($_POST['emailPassword']) || empty($_POST['password']),


./Sources/Packages.php
Code (Find) Select

* Software Version:           SMF 1.1.8                                           *


Code (Replace with) Select

* Software Version:           SMF 1.1.10                                          *



Code (Find) Select

* Copyright 2006-2007 by:     Simple Machines LLC (http://www.simplemachines.org) *


Code (Replace with) Select

* Copyright 2006-2009 by:     Simple Machines LLC (http://www.simplemachines.org) *



Code (Find) Select

'type' => $txt['package56'],
'action' => strtr($action['filename'], array($boarddir => '.')),


Code (Replace with) Select

'type' => $txt['package56'],
'action' => htmlspecialchars(strtr($action['filename'], array($boarddir => '.'))),



Code (Find) Select

'action' => strtr($mod_action['filename'], array($boarddir => '.')),
'description' => $failed ? $txt['package_action_failure'] : $txt['package_action_success']


Code (Replace with) Select

'action' => htmlspecialchars(strtr($mod_action['filename'], array($boarddir => '.'))),
'description' => $failed ? $txt['package_action_failure'] : $txt['package_action_success']



Code (Find) Select

'action' => strtr($mod_action['filename'], array($boarddir => '.')),
'description' => $txt['package_action_skipping']


Code (Replace with) Select

'action' => htmlspecialchars(strtr($mod_action['filename'], array($boarddir => '.'))),
'description' => $txt['package_action_skipping']



Code (Find) Select

'action' => strtr($mod_action['filename'], array($boarddir => '.')),
'description' => $txt['package_action_missing']


Code (Replace with) Select

'action' => htmlspecialchars(strtr($mod_action['filename'], array($boarddir => '.'))),
'description' => $txt['package_action_missing']



Code (Find) Select

'action' => strtr($mod_action['filename'], array($boarddir => '.')),
'description' => $txt['package_action_error']


Code (Replace with) Select

'action' => htmlspecialchars(strtr($mod_action['filename'], array($boarddir => '.'))),
'description' => $txt['package_action_error']



Code (Find) Select

'type' => $txt['package57'],
'action' => $action['filename']


Code (Replace with) Select

'type' => $txt['package57'],
'action' => htmlspecialchars($action['filename'])



Code (Find) Select

'type' => $txt['package50'] . ' ' . ($action['type'] == 'create-dir' ? $txt['package55'] : $txt['package54']),
'action' => strtr($action['destination'], array($boarddir => '.'))


Code (Replace with) Select

'type' => $txt['package50'] . ' ' . ($action['type'] == 'create-dir' ? $txt['package55'] : $txt['package54']),
'action' => htmlspecialchars(strtr($action['destination'], array($boarddir => '.')))



Code (Find) Select

'type' => $txt['package53'] . ' ' . ($action['type'] == 'require-dir' ? $txt['package55'] : $txt['package54']),
'action' => strtr($action['destination'], array($boarddir => '.'))


Code (Replace with) Select

'type' => $txt['package53'] . ' ' . ($action['type'] == 'require-dir' ? $txt['package55'] : $txt['package54']),
'action' => htmlspecialchars(strtr($action['destination'], array($boarddir => '.')))



Code (Find) Select

'type' => $txt['package51'] . ' ' . ($action['type'] == 'move-dir' ? $txt['package55'] : $txt['package54']),
'action' => strtr($action['source'], array($boarddir => '.')) . ' => ' . strtr($action['destination'], array($boarddir => '.'))


Code (Replace with) Select

'type' => $txt['package51'] . ' ' . ($action['type'] == 'move-dir' ? $txt['package55'] : $txt['package54']),
'action' => htmlspecialchars(strtr($action['source'], array($boarddir => '.'))) . ' => ' . htmlspecialchars(strtr($action['destination'], array($boarddir => '.')))



Code (Find) Select

'type' => $txt['package52'] . ' ' . ($action['type'] == 'remove-dir' ? $txt['package55'] : $txt['package54']),
'action' => strtr($action['filename'], array($boarddir => '.'))


Code (Replace with) Select

'type' => $txt['package52'] . ' ' . ($action['type'] == 'remove-dir' ? $txt['package55'] : $txt['package54']),
'action' => htmlspecialchars(strtr($action['filename'], array($boarddir => '.')))


./Sources/PersonalMessage.php

Code (Find) Select

* Software Version:           SMF 1.1.6                                           *


Code (Replace with) Select

* Software Version:           SMF 1.1.10                                          *



Code (Find) Select

* Copyright 2006-2007 by:     Simple Machines LLC (http://www.simplemachines.org) *


Code (Replace with) Select

* Copyright 2006-2009 by:     Simple Machines LLC (http://www.simplemachines.org) *



Code (Find) Select

$context['post_error'][$error_type] = true;
if (isset($txt['error_' . $error_type]))
$context['post_error']['messages'][] = $txt['error_' . $error_type];


Code (Replace with) Select

// There is no compatible language string. So lets work around that.
if ($error_type == 'wrong_verification_code')
$txt['error_wrong_verification_code'] = $txt['visual_verification_failed'];

$context['post_error'][$error_type] = true;
if (isset($txt['error_' . $error_type]))
$context['post_error']['messages'][] = $txt['error_' . $error_type];


./Sources/Post.php
Code (Find) Select

* Software Version:           SMF 1.1.9                                           *


Code (Replace with) Select

* Software Version:           SMF 1.1.10                                          *



Code (Find) Select

// Check if it's locked.  It isn't locked if no topic is specified.
if (!empty($topic))


Code (Replace with) Select

// No message is complete without a topic.
if (empty($topic) && !empty($_REQUEST['msg']))
{
$request = db_query("
SELECT id_topic
FROM {$db_prefix}messages
WHERE id_msg = " . (int) $_REQUEST['msg'], __FILE__, __LINE__);
if (mysql_num_rows($request) != 1)
unset($_REQUEST['msg'], $_POST['msg'], $_GET['msg']);
else
list($topic) = mysql_fetch_row($request);
mysql_free_result($request);
}

// Check if it's locked.  It isn't locked if no topic is specified.
if (!empty($topic))



Code (Find) Select

// Previewing an edit?
if (isset($_REQUEST['msg']))
{


Code (Replace with) Select

// Previewing an edit?
if (isset($_REQUEST['msg']) && !empty($topic))
{
// Get the existing message.
$request = db_query("
SELECT
m.ID_MEMBER, m.modifiedTime, m.smileysEnabled, m.body,
m.posterName, m.posterEmail, m.subject, m.icon,
IFNULL(a.size, -1) AS filesize, a.filename, a.ID_ATTACH,
t.ID_MEMBER_STARTED AS ID_MEMBER_POSTER, m.posterTime
FROM ({$db_prefix}messages AS m, {$db_prefix}topics AS t)
LEFT JOIN {$db_prefix}attachments AS a ON (a.ID_MSG = m.ID_MSG AND a.attachmentType = 0)
WHERE m.ID_MSG = " . (int) $_REQUEST['msg'] . "
AND m.ID_TOPIC = $topic
AND t.ID_TOPIC = $topic", __FILE__, __LINE__);
// The message they were trying to edit was most likely deleted.
// !!! Change this error message?
if (mysql_num_rows($request) == 0)
fatal_lang_error('smf232', false);
$row = mysql_fetch_assoc($request);

$attachment_stuff = array($row);
while ($row2 = mysql_fetch_assoc($request))
$attachment_stuff[] = $row2;
mysql_free_result($request);

if ($row['ID_MEMBER'] == $ID_MEMBER && !allowedTo('modify_any'))
{
// Give an extra five minutes over the disable time threshold, so they can type.
if (!empty($modSettings['edit_disable_time']) && $row['posterTime'] + ($modSettings['edit_disable_time'] + 5) * 60 < time())
fatal_lang_error('modify_post_time_passed', false);
elseif ($row['ID_MEMBER_POSTER'] == $ID_MEMBER && !allowedTo('modify_own'))
isAllowedTo('modify_replies');
else
isAllowedTo('modify_own');
}
elseif ($row['ID_MEMBER_POSTER'] == $ID_MEMBER && !allowedTo('modify_any'))
isAllowedTo('modify_replies');
else
isAllowedTo('modify_any');




Code (Find) Select

// Editing a message...
elseif (isset($_REQUEST['msg']))


Code (Replace with) Select

// Editing a message...
elseif (isset($_REQUEST['msg']) && !empty($topic))



Code (Find) Select

// Posting a new topic.
elseif (empty($topic))
{


Code (Replace with) Select

// Posting a new topic.
elseif (empty($topic))
{
// Now don't be silly, new topics will get their own id_msg soon enough.
unset($_REQUEST['msg'], $_POST['msg'], $_GET['msg']);



./Sources/Profile.php
Code (Find) Select

* Software Version:           SMF 1.1.9                                           *


Code (Replace with) Select

* Software Version:           SMF 1.1.10                                          *



Code (Find) Select

'url' => 'http://www.apnic.net/apnic-bin/whois2.pl?searchtext=' . $context['ip'],


Code (Replace with) Select

'url' => 'http://wq.apnic.net/apnic-bin/whois.pl?searchtext=' . $context['ip'],



Code (Find) Select

'url' => 'http://ws.arin.net/cgi-bin/whois.pl?queryinput=' . $context['ip'],


Code (Replace with) Select

'url' => 'http://ws.arin.net/whois/?queryinput=' . $context['ip'],



Code (Find) Select

'url' => 'http://www.ripe.net/perl/whois?searchtext=' . $context['ip'],


Code (Replace with) Select

'url' => 'http://www.db.ripe.net/whois?searchtext=' . $context['ip'],


./Sources/Register.php
Code (Find) Select

* Software Version:           SMF 1.1.6                                           *


Code (Replace with) Select

* Software Version:           SMF 1.1.10                                          *



Code (Find) Select

* Copyright 2006-2007 by:     Simple Machines LLC (http://www.simplemachines.org) *


Code (Replace with) Select

* Copyright 2006-2009 by:     Simple Machines LLC (http://www.simplemachines.org) *



Code (Find) Select

if (trim($_POST['realName']) != '' && !isReservedName($_POST['realName'], $memID) && $func['strlen']($_POST['realName']) <= 60)


Code (Replace with) Select

if (trim($_POST['realName']) != '' && !isReservedName($_POST['realName']) && $func['strlen']($_POST['realName']) <= 60)


./Sources/Subs-Auth.php
Code (Find) Select

* Software Version:           SMF 1.1.6                                           *


Code (Replace with) Select

* Software Version:           SMF 1.1.10                                          *



Code (Find) Select

* Copyright 2006 by:          Simple Machines LLC (http://www.simplemachines.org) *


Code (Replace with) Select

* Copyright 2006-2009 by:     Simple Machines LLC (http://www.simplemachines.org) *



Code (Find) Select

// Version 4.3.2 didn't store the cookie of the new session.
if (version_compare(PHP_VERSION, '4.3.2') === 0)
setcookie(session_name(), session_id(), time() + $cookie_length, $cookie_url[1], '', 0);


Code (Replace with) Select

// Version 4.3.2 didn't store the cookie of the new session.
if (version_compare(PHP_VERSION, '4.3.2') === 0 || (isset($_COOKIE[session_name()]) && $_COOKIE[session_name()] != session_id()))
setcookie(session_name(), session_id(), time() + $cookie_length, $cookie_url[1], '', 0);


./Themes/default/Register.template.php
Code (Find) Select

// Version: 1.1.5; Register


Code (Replace with) Select

// Version: 1.1.10; Register



Code (Find) Select

if (document.forms.postForm.emailActivate.checked)


Code (Replace with) Select

if (document.forms.postForm.emailActivate.checked || document.forms.postForm.password.value == \'\')



Code (Find) Select

<input type="password" name="password" id="password_input" size="30" /><br />


Code (Replace with) Select

<input type="password" name="password" id="password_input" size="30" onchange="onCheckChange();" /><br />



Code (Find) Select

<input type="checkbox" name="emailPassword" id="emailPassword_check" checked="checked"', !empty($modSettings['registration_method']) && $modSettings['registration_method'] == 1 ? ' disabled="disabled"' : '', ' class="check" /><br />


Code (Replace with) Select

<input type="checkbox" name="emailPassword" id="emailPassword_check" checked="checked" disabled="disabled" class="check" /><br />



Finally, run this SQL query to update the smfVersion variable in your forum's database.
Open phpMyAdmin (What is phpMyAdmin?) -> SMF's DB -> SQL ->

Code (Run) Select

UPDATE `smf_settings` SET `value` = '1.1.10' WHERE `variable` = 'smfVersion' LIMIT 1


The SQL query above works if the database tables prefix for your forum is smf_ (which is the default). The actual prefix for your forum can be found in the Admin CP -> Server Settings -> "Database Tables Prefix" or as the value for $db_prefix in Settings.php (which is located in your forum directory).
Ralph "[n3rve]" Otowo
Former Marketing Co-ordinator, Simple Machines.
ralph [at] simplemachines [dot] org                       
Quote"Somewhere, something incredible is waiting to be known." - Carl Sagan

Advertisement: