class Valami
{
// ....
public function list_messages()
{
$messages = self::find_messages_by_sender_id($_GET['i']);
foreach ($messages as $message) {
if (strlen($message->body) > 140) { $dots = "...";
} else {
$dots = "";
}
$preview = substr($message->body, 0, 140); $datetime = strtotime($message->dateofcreation); $mysqldate = date("F j, G:i ", $datetime); echo "<div class=\"message_full roundDiv\"><div class=\"message_sum_name wordwrap\"><a href=\"profile.php?user=$message->sender_username&id=$message->sender_id\">$message->sender_username</a></div><div class=\"message_sum_preview\">$preview<a href=\"messages.php?m=$message->id&i=$message->sender_id\">$dots</a></div><div class=\"message_sum_date\"><a href=\"messages.php?i=$message->sender_id&m=$message->id\">Reply</a> $mysqldate</div></div>";
}
} else {
$messages = self::find_messages_by_users_id($_SESSION['user_id']);
$previous_message_username = "";
foreach ($messages as $message) {
$senders[$message->sender_username]++;
} else {
$senders[$message->sender_username] = 1;
}
}
foreach ($messages as $message) {
$message_username = $message->sender_username;
if ($previous_message_username !== $message_username AND
!array_key_exists($message->sender_username, $names_so_far)) { $previous_message_username = $message->sender_username;
$names_so_far[$message->sender_username] = 0;
unset($message_username); $message_count = $senders[$message->sender_username];
if (strlen($message->body) > 140) { $dots = "...";
} else {
$dots = "";
}
$preview = substr($message->body, 0, 140); $datetime = strtotime($message->dateofcreation); $mysqldate = date("F j, G:i ", $datetime);
echo "<div class=\"message_full roundDiv\"><div class=\"message_sum_name wordwrap\"><a href=\"messages.php?i=$message->sender_id\">$message->sender_username($message_count messages)</a></div><div class=\"message_sum_preview\">$preview<a href=\"messages.php?m=$message->id\">$dots</a></div><div class=\"message_sum_date\"><a href=\"messages.php?m=$message->id\">Reply</a> $mysqldate</div></div>";
}
}
}
}
// ....
}
Y2xhc3MgVmFsYW1pCnsKICAgIC8vIC4uLi4KCiAgICBwdWJsaWMgZnVuY3Rpb24gbGlzdF9tZXNzYWdlcygpCiAgICB7CiAgICAgICAgaWYgKGlzc2V0KCRfR0VUWydpJ10pKSB7CiAgICAgICAgICAgICRtZXNzYWdlcyA9IHNlbGY6OmZpbmRfbWVzc2FnZXNfYnlfc2VuZGVyX2lkKCRfR0VUWydpJ10pOwogICAgICAgICAgICAKICAgICAgICAgICAgZm9yZWFjaCAoJG1lc3NhZ2VzIGFzICRtZXNzYWdlKSB7CiAgICAgICAgICAgICAgICBpZiAoc3RybGVuKCRtZXNzYWdlLT5ib2R5KSA+IDE0MCkgewogICAgICAgICAgICAgICAgICAgICRkb3RzID0gIi4uLiI7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICRkb3RzID0gIiI7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAkcHJldmlldyAgID0gc3Vic3RyKCRtZXNzYWdlLT5ib2R5LCAwLCAxNDApOwogICAgICAgICAgICAgICAgJGRhdGV0aW1lICA9IHN0cnRvdGltZSgkbWVzc2FnZS0+ZGF0ZW9mY3JlYXRpb24pOwogICAgICAgICAgICAgICAgJG15c3FsZGF0ZSA9IGRhdGUoIkYgaiwgRzppICIsICRkYXRldGltZSk7CiAgICAgICAgICAgICAgICBlY2hvICI8ZGl2IGNsYXNzPVwibWVzc2FnZV9mdWxsIHJvdW5kRGl2XCI+PGRpdiBjbGFzcz1cIm1lc3NhZ2Vfc3VtX25hbWUgd29yZHdyYXBcIj48YSBocmVmPVwicHJvZmlsZS5waHA/dXNlcj0kbWVzc2FnZS0+c2VuZGVyX3VzZXJuYW1lJmlkPSRtZXNzYWdlLT5zZW5kZXJfaWRcIj4kbWVzc2FnZS0+c2VuZGVyX3VzZXJuYW1lPC9hPjwvZGl2PjxkaXYgY2xhc3M9XCJtZXNzYWdlX3N1bV9wcmV2aWV3XCI+JHByZXZpZXc8YSBocmVmPVwibWVzc2FnZXMucGhwP209JG1lc3NhZ2UtPmlkJmk9JG1lc3NhZ2UtPnNlbmRlcl9pZFwiPiRkb3RzPC9hPjwvZGl2PjxkaXYgY2xhc3M9XCJtZXNzYWdlX3N1bV9kYXRlXCI+PGEgaHJlZj1cIm1lc3NhZ2VzLnBocD9pPSRtZXNzYWdlLT5zZW5kZXJfaWQmbT0kbWVzc2FnZS0+aWRcIj5SZXBseTwvYT4gJG15c3FsZGF0ZTwvZGl2PjwvZGl2PiI7CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRtZXNzYWdlcyAgICAgICAgICAgICAgICAgID0gc2VsZjo6ZmluZF9tZXNzYWdlc19ieV91c2Vyc19pZCgkX1NFU1NJT05bJ3VzZXJfaWQnXSk7CiAgICAgICAgICAgICRwcmV2aW91c19tZXNzYWdlX3VzZXJuYW1lID0gIiI7CiAgICAgICAgICAgICRuYW1lc19zb19mYXIgICAgICAgICAgICAgID0gYXJyYXkoKTsKICAgICAgICAgICAgJHNlbmRlcnMgICAgICAgICAgICAgICAgICAgPSBhcnJheSgpOwogICAgICAgICAgICAKICAgICAgICAgICAgZm9yZWFjaCAoJG1lc3NhZ2VzIGFzICRtZXNzYWdlKSB7CiAgICAgICAgICAgICAgICBpZiAoYXJyYXlfa2V5X2V4aXN0cygkbWVzc2FnZS0+c2VuZGVyX3VzZXJuYW1lLCAkc2VuZGVycykpIHsKICAgICAgICAgICAgICAgICAgICAkc2VuZGVyc1skbWVzc2FnZS0+c2VuZGVyX3VzZXJuYW1lXSsrOwogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAkc2VuZGVyc1skbWVzc2FnZS0+c2VuZGVyX3VzZXJuYW1lXSA9IDE7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgIGZvcmVhY2ggKCRtZXNzYWdlcyBhcyAkbWVzc2FnZSkgewogICAgICAgICAgICAgICAgJG1lc3NhZ2VfdXNlcm5hbWUgPSAkbWVzc2FnZS0+c2VuZGVyX3VzZXJuYW1lOwogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICBpZiAoJHByZXZpb3VzX21lc3NhZ2VfdXNlcm5hbWUgIT09ICRtZXNzYWdlX3VzZXJuYW1lIEFORCAhYXJyYXlfa2V5X2V4aXN0cygkbWVzc2FnZS0+c2VuZGVyX3VzZXJuYW1lLCAkbmFtZXNfc29fZmFyKSkgewogICAgICAgICAgICAgICAgICAgICRwcmV2aW91c19tZXNzYWdlX3VzZXJuYW1lICAgICAgICAgICAgICAgPSAkbWVzc2FnZS0+c2VuZGVyX3VzZXJuYW1lOwogICAgICAgICAgICAgICAgICAgICRuYW1lc19zb19mYXJbJG1lc3NhZ2UtPnNlbmRlcl91c2VybmFtZV0gPSAwOwogICAgICAgICAgICAgICAgICAgIHVuc2V0KCRtZXNzYWdlX3VzZXJuYW1lKTsKICAgICAgICAgICAgICAgICAgICAkbWVzc2FnZV9jb3VudCA9ICRzZW5kZXJzWyRtZXNzYWdlLT5zZW5kZXJfdXNlcm5hbWVdOwogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIGlmIChzdHJsZW4oJG1lc3NhZ2UtPmJvZHkpID4gMTQwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRkb3RzID0gIi4uLiI7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgJGRvdHMgPSAiIjsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgJHByZXZpZXcgICA9IHN1YnN0cigkbWVzc2FnZS0+Ym9keSwgMCwgMTQwKTsKICAgICAgICAgICAgICAgICAgICAkZGF0ZXRpbWUgID0gc3RydG90aW1lKCRtZXNzYWdlLT5kYXRlb2ZjcmVhdGlvbik7CiAgICAgICAgICAgICAgICAgICAgJG15c3FsZGF0ZSA9IGRhdGUoIkYgaiwgRzppICIsICRkYXRldGltZSk7CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgZWNobyAiPGRpdiBjbGFzcz1cIm1lc3NhZ2VfZnVsbCByb3VuZERpdlwiPjxkaXYgY2xhc3M9XCJtZXNzYWdlX3N1bV9uYW1lIHdvcmR3cmFwXCI+PGEgaHJlZj1cIm1lc3NhZ2VzLnBocD9pPSRtZXNzYWdlLT5zZW5kZXJfaWRcIj4kbWVzc2FnZS0+c2VuZGVyX3VzZXJuYW1lKCRtZXNzYWdlX2NvdW50IG1lc3NhZ2VzKTwvYT48L2Rpdj48ZGl2IGNsYXNzPVwibWVzc2FnZV9zdW1fcHJldmlld1wiPiRwcmV2aWV3PGEgaHJlZj1cIm1lc3NhZ2VzLnBocD9tPSRtZXNzYWdlLT5pZFwiPiRkb3RzPC9hPjwvZGl2PjxkaXYgY2xhc3M9XCJtZXNzYWdlX3N1bV9kYXRlXCI+PGEgaHJlZj1cIm1lc3NhZ2VzLnBocD9tPSRtZXNzYWdlLT5pZFwiPlJlcGx5PC9hPiAkbXlzcWxkYXRlPC9kaXY+PC9kaXY+IjsKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAvLyAuLi4uICAgIAp9
class Valami
{
// ....
public function list_messages()
{
if (isset($_GET['i'])) {
$messages = self::find_messages_by_sender_id($_GET['i']);
foreach ($messages as $message) {
if (strlen($message->body) > 140) {
$dots = "...";
} else {
$dots = "";
}
$preview = substr($message->body, 0, 140);
$datetime = strtotime($message->dateofcreation);
$mysqldate = date("F j, G:i ", $datetime);
echo "<div class=\"message_full roundDiv\"><div class=\"message_sum_name wordwrap\"><a href=\"profile.php?user=$message->sender_username&id=$message->sender_id\">$message->sender_username</a></div><div class=\"message_sum_preview\">$preview<a href=\"messages.php?m=$message->id&i=$message->sender_id\">$dots</a></div><div class=\"message_sum_date\"><a href=\"messages.php?i=$message->sender_id&m=$message->id\">Reply</a> $mysqldate</div></div>";
}
} else {
$messages = self::find_messages_by_users_id($_SESSION['user_id']);
$previous_message_username = "";
$names_so_far = array();
$senders = array();
foreach ($messages as $message) {
if (array_key_exists($message->sender_username, $senders)) {
$senders[$message->sender_username]++;
} else {
$senders[$message->sender_username] = 1;
}
}
foreach ($messages as $message) {
$message_username = $message->sender_username;
if ($previous_message_username !== $message_username AND !array_key_exists($message->sender_username, $names_so_far)) {
$previous_message_username = $message->sender_username;
$names_so_far[$message->sender_username] = 0;
unset($message_username);
$message_count = $senders[$message->sender_username];
if (strlen($message->body) > 140) {
$dots = "...";
} else {
$dots = "";
}
$preview = substr($message->body, 0, 140);
$datetime = strtotime($message->dateofcreation);
$mysqldate = date("F j, G:i ", $datetime);
echo "<div class=\"message_full roundDiv\"><div class=\"message_sum_name wordwrap\"><a href=\"messages.php?i=$message->sender_id\">$message->sender_username($message_count messages)</a></div><div class=\"message_sum_preview\">$preview<a href=\"messages.php?m=$message->id\">$dots</a></div><div class=\"message_sum_date\"><a href=\"messages.php?m=$message->id\">Reply</a> $mysqldate</div></div>";
}
}
}
}
// ....
}