Initial stab at PM export script. It just prints out all PMs to/from current logged-in user.

This commit is contained in:
Adrian Kuschelyagi Malacoda 2020-07-27 01:48:59 -05:00
parent 90887491c7
commit 6716f274db

66
get_pms.php Normal file
View File

@ -0,0 +1,66 @@
<?php
include("smf_api.php");
global $smcFunc;
# SELECT * FROM `smf_personal_messages` AS `pms`, `smf_members` AS `senders`, `smf_pm_recipients` AS `recipients` WHERE `pms`.`id_member_from` = `senders`.`id_member` AND `pms`.`id_pm` = `recipients`.`id_pm` AND (`recipients`.`id_member` = 1 OR `pms`.`id_member_from` = 1);
$user_data = smfapi_getUserData();
$request = $smcFunc['db_query']('', '
SELECT `pms`_`id_pm`, `pms`.`subject`, `pms`.`body`, `pms`.`msgtime`,
`pms`.`from_name` AS `sender_username`,
`senders`.`real_name` AS `sender_display_name`,
`recipient_members`.`member_name` AS `recipient_username`,
`recipient_members`.`real_name` AS `recipient_display_name`
FROM `{db_prefix}_personal_messages` AS `pms`,
`{db_prefix}_members` AS `senders`,
`{db_prefix}_members` AS `recipient_members`,
`{db_prefix}_pm_recipients` AS `recipients`
WHERE `pms`.`id_member_from` = `senders`.`id_member`
AND `recipient_members`.`id_member` = `recipients`.`id_member`
AND `pms`.`id_pm` = `recipients`.`id_pm`
AND (`recipients`.`id_member` = {int:id_member} OR `pms`.`id_member_from` = {int:id_member})',
array(
'id_member' => $user_data['id_member'],
)
);
$results = $smcFunc['db_fetch_assoc']($request);
$smcFunc['db_free_result']($request);
function format_name ($result, $type) {
$username = $result["$type_username"];
$display_name = $result["$type_display_name"];
$name = $display_name;
if ($display_name != $username) {
$name = "$name ($username)";
}
return $name;
}
echo "<html>
<head>
<title>Personal Messages sent to/from ${user_data['real_name']}</title>
<style type='text/css'>
.label { font-weight: bold }
</style>
</head>
<body>";
foreach ($results as $row) {
$to = format_name($row, "recipient");
$from = format_name($row, "sender");
$date = $row['msgtime'];
$body = parse_bbc($row['body'], true, "pm" . $row['id_pm']);
echo "<article>
<header>
<h2>${result['subject']}</h2>
<div><span class='label'>To:</span> $to</div>
<div><span class='label'>From:</span> $from</div>
<div><span class='label'>Date:</span> $from</div>
</header>
<section>$body</section>
</article>";
}
print_r($results);
echo "</body></html>";