|
@@ -97,10 +97,9 @@ $is_done = false;
|
|
|
while (!$is_done)
|
|
|
{
|
|
|
nextSubStep($substep);
|
|
|
- $fileHash = '';
|
|
|
|
|
|
$request = upgrade_query("
|
|
|
- SELECT id_attach, id_folder, filename, file_hash, mime_type
|
|
|
+ SELECT id_attach, id_member, id_folder, filename, file_hash, mime_type
|
|
|
FROM {$db_prefix}attachments
|
|
|
WHERE attachment_type != 1
|
|
|
LIMIT $_GET[a], 100");
|
|
@@ -114,6 +113,8 @@ while (!$is_done)
|
|
|
// The current folder.
|
|
|
$currentFolder = !empty($modSettings['currentAttachmentUploadDir']) ? $modSettings['attachmentUploadDir'][$row['id_folder']] : $modSettings['attachmentUploadDir'];
|
|
|
|
|
|
+ $fileHash = '';
|
|
|
+
|
|
|
// Old School?
|
|
|
if (empty($row['file_hash']))
|
|
|
{
|
|
@@ -134,12 +135,13 @@ while (!$is_done)
|
|
|
// Create a nice hash.
|
|
|
$fileHash = sha1(md5($row['filename'] . time()) . mt_rand());
|
|
|
|
|
|
- // The old file, we need to know if the filename was encrypted or not.
|
|
|
- if (file_exists($currentFolder . '/' . $row['id_attach']. '_' . strtr($row['filename'], '.', '_') . md5($row['filename'])))
|
|
|
- $oldFile = $currentFolder . '/' . $row['id_attach']. '_' . strtr($row['filename'], '.', '_') . md5($row['filename']);
|
|
|
-
|
|
|
- else if (file_exists($currentFolder . '/' . $row['filename']));
|
|
|
+ // Iterate through the possible attachment names until we find the one that exists
|
|
|
+ $oldFile = $currentFolder . '/' . $row['id_attach']. '_' . strtr($row['filename'], '.', '_') . md5($row['filename']);
|
|
|
+ if (!file_exists($oldFile))
|
|
|
+ {
|
|
|
$oldFile = $currentFolder . '/' . $row['filename'];
|
|
|
+ if (!file_exists($oldFile)) $oldFile = false;
|
|
|
+ }
|
|
|
|
|
|
// Build the new file.
|
|
|
$newFile = $currentFolder . '/' . $row['id_attach'] . '_' . $fileHash .'.dat';
|
|
@@ -152,17 +154,26 @@ while (!$is_done)
|
|
|
$newFile = $currentFolder . '/' . $row['id_attach'] . '_' . $row['file_hash'] .'.dat';
|
|
|
}
|
|
|
|
|
|
+ if (!$oldFile)
|
|
|
+ {
|
|
|
+ // Existing attachment could not be found. Just skip it...
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
// Check if the av is an attachment
|
|
|
if ($row['id_member'] != 0)
|
|
|
+ {
|
|
|
if (rename($oldFile, $custom_av_dir . '/' . $row['filename']))
|
|
|
upgrade_query("
|
|
|
UPDATE {$db_prefix}attachments
|
|
|
SET file_hash = '', attachment_type = 1
|
|
|
WHERE id_attach = $row[id_attach]");
|
|
|
-
|
|
|
+ }
|
|
|
// Just a regular attachment.
|
|
|
else
|
|
|
+ {
|
|
|
rename($oldFile, $newFile);
|
|
|
+ }
|
|
|
|
|
|
// Only update this if it was successful and the file was using the old system.
|
|
|
if (empty($row['file_hash']) && !empty($fileHash) && file_exists($newFile) && !file_exists($oldFile))
|
|
@@ -572,8 +583,8 @@ INSERT INTO `{$db_prefix}custom_fields` (`col_name`, `field_name`, `field_desc`,
|
|
|
('cust_aolins', 'AOL Instant Messenger', 'This is your AOL Instant Messenger nickname.', 'text', 50, '', 'regex~[a-z][0-9a-z.-]{1,31}~i', 0, 1, 'forumprofile', 0, 1, 0, 0, '', '<a class="aim" href="aim:goim?screenname={INPUT}&message=Hello!+Are+you+there?" target="_blank" title="AIM - {INPUT}"><img src="{IMAGES_URL}/fields/aim.gif" alt="AIM - {INPUT}"></a>', 1),
|
|
|
('cust_icq', 'ICQ', 'This is your ICQ number.', 'text', 12, '', 'regex~[1-9][0-9]{4,9}~i', 0, 1, 'forumprofile', 0, 1, 0, 0, '', '<a class="icq" href="http://www.icq.com/whitepages/about_me.php?uin={INPUT}" target="_blank" title="ICQ - {INPUT}"><img src="http://status.icq.com/online.gif?img=5&icq={INPUT}" alt="ICQ - {INPUT}" width="18" height="18"></a>', 1),
|
|
|
('cust_skype', 'Skype', 'Your Skype name', 'text', 50, '', 'email', 0, 1, 'forumprofile', 0, 1, 0, 0, '', '<a class="skype new_win" href="skype:{INPUT}?chat" title="Live - {INPUT}"><img src="{IMAGES_URL}/skype.png" alt="Live - {INPUT}"></a>', 1),
|
|
|
-('cust_yahoo', 'Yahoo! Messenger', 'This is your Yahoo! Instant Messenger nickname.', 'text', 50, '', 'email', 0, 1, 'forumprofile', 0, 1, 0, 0, '', '<a class="yim" href="http://edit.yahoo.com/config/send_webmesg?.target={INPUT}" target="_blank" title="Yahoo! Messenger - {INPUT}"><img src="http://opi.yahoo.com/online?m=g&t=0&u={INPUT}" alt="Yahoo! Messenger - {INPUT}"></a>', 1);
|
|
|
-('cust_loca', 'Location', 'Geographic location.', 'text', 50, '', 'email', 0, 1, 'forumprofile', 0, 1, 0, 0, '', '', 1);
|
|
|
+('cust_yahoo', 'Yahoo! Messenger', 'This is your Yahoo! Instant Messenger nickname.', 'text', 50, '', 'email', 0, 1, 'forumprofile', 0, 1, 0, 0, '', '<a class="yim" href="http://edit.yahoo.com/config/send_webmesg?.target={INPUT}" target="_blank" title="Yahoo! Messenger - {INPUT}"><img src="http://opi.yahoo.com/online?m=g&t=0&u={INPUT}" alt="Yahoo! Messenger - {INPUT}"></a>', 1),
|
|
|
+('cust_loca', 'Location', 'Geographic location.', 'text', 50, '', 'email', 0, 1, 'forumprofile', 0, 1, 0, 0, '', '', 1),
|
|
|
('cust_gender', 'Gender', 'Your gender.', 'text', 50, '', 'email', 0, 1, 'forumprofile', 0, 1, 0, 0, '', '', 1);
|
|
|
---#
|
|
|
|
|
@@ -623,8 +634,8 @@ ALTER TABLE `{$db_prefix}members`
|
|
|
DROP `icq`,
|
|
|
DROP `aim`,
|
|
|
DROP `yim`,
|
|
|
- DROP `msn`;
|
|
|
- DROP `location`;
|
|
|
+ DROP `msn`,
|
|
|
+ DROP `location`,
|
|
|
DROP `gender`;
|
|
|
---#
|
|
|
|
|
@@ -1055,12 +1066,19 @@ ADD COLUMN in_inbox tinyint(3) NOT NULL default '1';
|
|
|
{
|
|
|
// Keep track of the index of this label - we'll need that in a bit...
|
|
|
$label_info[$row['id_member']][$label] = $index;
|
|
|
- $inserts[] = array($row['id_member'], $label);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
$smcFunc['db_free_result']($get_labels);
|
|
|
|
|
|
+ foreach ($label_info AS $id_member => $labels)
|
|
|
+ {
|
|
|
+ foreach ($labels as $label => $index)
|
|
|
+ {
|
|
|
+ $inserts[] = array($id_member, $label);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
if (!empty($inserts))
|
|
|
{
|
|
|
$smcFunc['db_insert']('', '{db_prefix}pm_labels', array('id_member' => 'int', 'name' => 'string-30'), $inserts, array());
|
|
@@ -1092,8 +1110,8 @@ ADD COLUMN in_inbox tinyint(3) NOT NULL default '1';
|
|
|
while ($label_row = $smcFunc['db_fetch_assoc']($get_new_label_ids))
|
|
|
{
|
|
|
// Map the old index values to the new ID values...
|
|
|
- $old_index = $label_info[$row['id_member']][$row['label_name']];
|
|
|
- $label_info_2[$row['id_member']][$old_index] = $row['id_label'];
|
|
|
+ $old_index = $label_info[$label_row['id_member']][$label_row['name']];
|
|
|
+ $label_info_2[$label_row['id_member']][$old_index] = $label_row['id_label'];
|
|
|
}
|
|
|
|
|
|
$smcFunc['db_free_result']($get_new_label_ids);
|