if (isset($_SERVER["QUERY_STRING"])) { $queries = $_SERVER["QUERY_STRING"]; } if (!isset($_SESSION["root_path"]) or !isset($_SESSION["in"]) or !isset($_SESSION["user"])) { header("Location: /index.php" . (isset($queries) ? "?{$queries}" : ""), true); die; } require_once "{$_SESSION["root_path"]}/inc.php"; require_once "{$_SESSION["root_path"]}/scripts_each_page.php"; $user = new User($_SESSION["user"]); if (!isset($_REQUEST["id"])) { die; } $id = $_REQUEST["id"]; $user->set_last_seen("editing_discussion:{$id}"); $discussion = new QuickDiscussion(); $discussion->load($id, true); require_once "{$_SESSION["root_path"]}/page_top.php"; ?> <script type="text/javascript"> var attachments = 0; $(function(){ // setting the page title top.document.title = "<?php echo empty($discussion->title) ? translate("Editing post #{$id}", "Soạn bài #{$id}") : translate("Editing {$discussion->title}", "Soạn bài {$discussion->title}"); ?> "; $('#smilies_area_body').load('show/qd_emoticons.php'); }) </script>
$newDiscussion->qd_author->add_exp($newDiscussion->exp); $newDiscussion->qd_author->set_last_seen("added_discussion:{$newDiscussion->id}"); break; case "edit": if ($discussion->load($_REQUEST["id"]) != true) { die("loading error"); } $title = false; if (isset($_REQUEST["qd_title"])) { $title = addslashes($_REQUEST["qd_title"]); } if (!($edit = $discussion->edit($title, $_REQUEST["quick_msg"], false, false, $_REQUEST["parent_id"], false, false, $_REQUEST["category"]))) { die("editing error"); } $group = $_REQUEST["group"]; $newDiscussion = new QuickDiscussion(); $newDiscussion->load($discussion->id); mysql_query("UPDATE `images_general` SET `group` = 'quick_discussions:{$newDiscussion->id}:{$group}' , `comment` = '{$_REQUEST["quick_msg"]}' , `attachedto` = 'quick_discussions:{$newDiscussion->id}' WHERE `group` = '{$group}'"); mysql_query("UPDATE `videos_general` SET `group` = 'quick_discussions:{$newDiscussion->id}:{$group}' , `comment` = '{$_REQUEST["quick_msg"]}' , `attachedto` = 'quick_discussions:{$newDiscussion->id}' WHERE `group` = '{$group}'"); mysql_query("UPDATE `files_general` SET `group` = 'quick_discussions:{$newDiscussion->id}:{$group}' , `comment` = '{$_REQUEST["quick_msg"]}' , `attachedto` = 'quick_discussions:{$newDiscussion->id}' WHERE `group` = '{$group}'"); mysql_query("UPDATE `music_general` SET `group` = 'quick_discussions:{$newDiscussion->id}:{$group}' , `comment` = '{$_REQUEST["quick_msg"]}' , `attachedto` = 'quick_discussions:{$newDiscussion->id}' WHERE `group` = '{$group}'"); $newDiscussion->qd_author->sub_exp($discussion->exp); $newDiscussion->qd_author->add_exp($newDiscussion->exp); $user->set_last_seen("edited_discussion:{$newDiscussion->id}"); break; case "delete": if ($discussion->load($_REQUEST["id"]) != true) { die("error"); } // getting the file info if any exists $result = mysql_query("SELECT * FROM `files_general` WHERE `attachedto` = 'quick_discussions:{$discussion->id}'");
echo "<button id='top_comment_next_button' type=\"button\" class=\"button\" style=\"font-size: 0.9em;\">" . translate("Next page", "Trang kế") . " »</button>"; echo "<script type='text/javascript'> \$('#top_comment_next_button').click(function(){ load_comment_page('{$post->id}','{$newStart}'); }); </script>"; } if ($start >= $numPerPage) { echo "<div style='margin: 10px 0;'><a id='top_comment_first_page_link'>" . translate("Return to first page", "Trở về trang nhất") . "</a></div>\n\t<script type='text/javascript'> \$('#top_comment_first_page_link').click(function(){ load_comment_page('{$post->id}',0); }); </script>"; } echo "</div>"; $minWidth = 100; // in percentage $maxWidth = 100; // in percentage $widthIncrement = ($maxWidth - $minWidth) / $comment_count; $commentWidth = $comment_sort == "ASC" ? $maxWidth : $minWidth; // in percentage while ($row = mysql_fetch_object($result)) { $comment = new QuickDiscussion(); $comment->load($row->id); $comment->mark_read(); ?> <table cellspacing="5" cellpadding="0" border="0" style="width: <?php echo $commentWidth; ?> %; margin: 10px 0;"><tr><td valign="top"> <?php echo $comment->qd_author->display_user_post_image(); ?> </td><td class="wrap"> <?php $vid_query = mysql_query("SELECT * FROM `videos_general` WHERE `attachedto` = 'quick_discussions:{$comment->id}'"); $image_query = mysql_query("SELECT * FROM `images_general` WHERE `attachedto` = 'quick_discussions:{$comment->id}'"); $music_query = mysql_query("SELECT * FROM `music_general` WHERE `attachedto` = 'quick_discussions:{$comment->id}'");
echo "<button type=\"button\" class=\"button\" style=\"font-size: 0.9em;\" onClick=\"javascript: load_page('discussions.php?start={$newStart}');\">" . translate("Next page", "Trang kế") . " ></button>"; } echo "</div>"; } $count = 0; $column = 1; while ($row = mysql_fetch_object($result)) { if ($count > 0 and $column > $perRow) { $column = 1; } $post = new QuickDiscussion(); $post->load($row->id); $numComments = $post->comment_count; if ($numComments > 0) { $object = mysql_fetch_object(mysql_query("SELECT * FROM `quick_discussions` WHERE `parent_id` = '{$post->id}' ORDER BY `last_touched` DESC LIMIT 1")); $last_comment = new QuickDiscussion(); $last_comment->load($object->id); } ?> <div class="wrap" style="text-align: left; font-size: 0.9em; border-width: 2px; <?php echo isMobile() ? "margin: 2px 0;" : "margin: 2px 0px; display: inline-block;"; ?> width: <?php echo $col_percentage; ?> %; vertical-align: middle; padding: 3px;<?php if ($count % $perRow === 0) { echo " clear: both;"; } ?> ">
</script></span> <?php $i = mysql_fetch_object(mysql_query("SELECT * FROM `users_prefs` WHERE `option` = 'comments_sort'")); $comment_sort = $i->{$user->username}; $result = mysql_query("SELECT * FROM `quick_discussions` WHERE `parent_id` = '-1' AND `category` = '{$type}:{$_REQUEST["id"]}' ORDER BY `last_touched` {$comment_sort}, `edited` {$comment_sort}, `created` {$comment_sort}"); if (mysql_num_rows($result) > 0) { ?> <span class="wrap" style="float: left; display: inline-block; margin: 5px;"> <fieldset> <legend style="font-size: 1.25em; font-weight: bold;"><?php echo translate("Comments", "Phản hồi"); ?> </legend> <?php while ($row = mysql_fetch_object($result)) { $comment = new QuickDiscussion(); $comment->load($row->id); ?> <table cellspacing="5" cellpadding="0" border="0" style="width: 100%; margin: 10px 0;"><tr><td valign="top"> <div><a class="post_image" href="get_file.php?type=images_user_avatars&id=<?php echo $comment->qd_author->username; ?> "><img src="get_file.php?type=images_user_avatars&id=<?php echo $comment->qd_author->username; ?> &thumbnail=true" height="50" style="border: 3px solid #<?php echo $comment->qd_author->color; ?> ;"/></a></div> <div><strong style="font-size: 0.8em;"><?php echo $comment->qd_author->name;
echo translate("Unread posts", "Bài chưa đọc"); ?> </span></div> <div style="margin-left: <?php echo isMobile() ? "10" : "38"; ?> px;"> <?php $count = 0; $q = mysql_query("SELECT * FROM `quick_discussions` WHERE `last_touched` > '" . gmdate("Y-m-d H:i:s", strtotime("-{$months_back} month")) . "' ORDER BY `last_touched` DESC , `id` DESC"); $parents_already_shown = array(); while ($r = mysql_fetch_object($q)) { if ($count == $num_items) { break; } $item = new QuickDiscussion(); $item->load($r->id); if (in_array($item->id, $parents_already_shown) or in_array($item->parent_id, $parents_already_shown)) { continue; } $show = false; $user_read_status = mysql_query("SELECT `{$user->username}` FROM `quick_discussions_read_status` WHERE `postid` = '{$r->id}' AND `{$user->username}` > '1970-01-01 00:00:00'"); if (mysql_num_rows($user_read_status) == 0) { $show = true; } else { $a = mysql_fetch_object($user_read_status); if (strtotime($a->{$user->username}) < strtotime($r->last_touched)) { $show = true; } } if ($show === true) {
case "jpg": case "jpeg": header("Content-type: image/jpeg"); break; default: header("Content-type: image/{$filetype}"); break; } die(file_get_contents("{$_SESSION["root_path"]}/{$img}")); case "post_image": if (!isset($_SESSION["user"])) { die("You cannot view this image."); } $img = "files/posts/default.png"; if (isset($_GET["id"])) { $aaa = new QuickDiscussion(); $aaa->load($_GET["id"]); if (isset($_GET["thumbnail"])) { if (!empty($aaa->thumbnail)) { $parts = explode("/", $aaa->thumbnail); $filename = end($parts); $img = "files/posts/tn/{$filename}"; } } elseif (!empty($aaa->thumbnail)) { $img = $aaa->thumbnail; } } if (substr($img, 0, 1) == "/") { $img = substr($img, 1); } $parts = explode("/", $img);
function get_defined_activity($input) { $last_activity = explode(":", $input); switch ($last_activity[0]) { default: return "<span style=\"color: #FF0000; font-style: italic;\">{$input}</span>"; case "added_discussion": $act_dis = new QuickDiscussion(); $act_dis->load($last_activity[1]); switch ($act_dis->parent_id) { default: $the_parent_discussion = new QuickDiscussion(); $the_parent_discussion->load($act_dis->parent_id); return translate("Posted comment for the discussion ", "Đăng phản hồi cho bài ") . "\"<a onClick=\"load_page('view_single_discussion.php?id={$the_parent_discussion->id}')\">{$the_parent_discussion->title}</a>\""; case -1: $category = explode(":", $act_dis->category); switch ($category[0]) { default: return "<span style=\"color: #FF0000; font-style: italic;\">{$input}</span>"; case "images_user_avatars": $user_being_viewed = new User($category[1]); return translate("Posted comment on {$user_being_viewed->name}'s avatar", "Đăng phản hồi trong hình tượng trưng của {$user_being_viewed->name}"); } case 0: return translate("Posted new discussion ", "Đăng thảo luận mới ") . "\"<a onClick=\"load_page('view_single_discussion.php?id={$act_dis->id}')\">{$act_dis->title}</a>\""; } case "addnew_discussion": return translate("Adding a new post", "Bắt đầu đăng bài mới"); case "deleted_discussion": return translate("Deleted post #", "Xóa bài #") . $last_activity[1]; case "edited_discussion": if (mysql_num_rows(mysql_query("SELECT 1 FROM `quick_discussions` WHERE `id` = '{$last_activity[1]}'")) == 0) { mysql_query("DELETE FROM `users_activities` WHERE `what` = '{$input}'"); return false; } $act_dis = new QuickDiscussion(); $act_dis->load($last_activity[1]); switch ($act_dis->parent_id) { default: $the_parent_discussion = new QuickDiscussion(); $the_parent_discussion->load($act_dis->parent_id); return translate("Edited comment #{$act_dis->id} for the discussion ", "Soạn lại phản hồi ##{$act_dis->id} cho bài ") . "\"<a onClick=\"load_page('view_single_discussion.php?id={$the_parent_discussion->id}')\">{$the_parent_discussion->title}</a>\""; case -1: $category = explode(":", $act_dis->category); switch ($category[0]) { default: return "<span style=\"color: #FF0000; font-style: italic;\">{$input}</span>"; case "images_user_avatars": $user_being_viewed = new User($category[1]); return translate("Edited comment #{$act_dis->id} on {$user_being_viewed->name}'s avatar", "Đăng phản hồi #{$act_dis->id} trong hình tượng trưng của {$user_being_viewed->name}"); } case 0: return translate("Edited discussion ", "Soạn lại thảo luận ") . "\"<a onClick=\"load_page('view_single_discussion.php?id={$act_dis->id}')\">{$act_dis->title}</a>\""; } case "editing_discussion": if (mysql_num_rows(mysql_query("SELECT 1 FROM `quick_discussions` WHERE `id` = '{$last_activity[1]}'")) == 0) { mysql_query("DELETE FROM `users_activities` WHERE `what` = '{$input}'"); return false; } $act_dis = new QuickDiscussion(); $act_dis->load($last_activity[1]); return translate("Editing post ", "Bắt đầu soạn lại bài ") . "\"<a onClick=\"load_page('view_single_discussion.php?id={$act_dis->id}')\">{$act_dis->title}</a>\""; case "front_page": return translate("Viewed the front page", "Xem trang nhất"); case "login": return translate("Logged in", "Nhập vào hệ thống"); case "logout": return translate("Logged out", "Thoát khỏi hệ thống"); case "search": return translate("Searching for ", "Tìm từ ") . "\"{$last_activity[1]}\""; case "user_cp": return translate("Viewed the personal control panel", "Xem bảng điều chỉnh cá nhân"); case "view_discussion": if (mysql_num_rows(mysql_query("SELECT 1 FROM `quick_discussions` WHERE `id` = '{$last_activity[1]}'")) == 0) { mysql_query("DELETE FROM `users_activities` WHERE `what` = '{$input}'"); return false; } $act_dis = new QuickDiscussion(); $act_dis->load($last_activity[1]); switch ($act_dis->parent_id) { default: return translate("Viewed comment ", "Xem phản hồi ") . "\"<a onClick=\"load_page('view_single_discussion.php?id={$act_dis->id}')\">{$act_dis->title}</a>\""; case -1: $category = explode(":", $act_dis->category); switch ($category[0]) { default: return "<span style=\"color: #FF0000; font-style: italic;\">{$input}</span>"; case "images_user_avatars": $user_being_viewed = new User($category[1]); return translate("Viewed comment on {$user_being_viewed->name}'s avatar", "Xem phản hồi trong hình tượng trưng của {$user_being_viewed->name}"); } case 0: return translate("Viewed discussion ", "Xem thảo luận ") . "\"<a onClick=\"load_page('view_single_discussion.php?id={$act_dis->id}')\">{$act_dis->title}</a>\""; } case "view_discussions": return translate("Viewed the discussions list", "Xem bảng thảo luận"); case "view_image": switch ($last_activity[1]) { default: return "<span style=\"color: #FF0000; font-style: italic;\">{$input}</span>"; case "images_user_avatars": $user_being_viewed = new User($last_activity[2]); return translate("Viewed <a onClick=\"javascript: load_page('view_image.php?type=images_user_avatars&id={$user_being_viewed->username}');\">{$user_being_viewed->name}'s avatar</a>", "Xem hình tượng trưng của <a onClick=\"javascript: load_page('view_image.php?type=images_user_avatars&id={$user_being_viewed->username}');\">{$user_being_viewed->name}</a>"); } case "viewpage": $retval = translate("Viewed ", "Xem ") . " "; switch ($last_activity[1]) { default: $retval .= $c->last_activity; break; case "userslist": $retval .= "<a onClick=\"load_page('userslist.php');\">" . translate("user list", "bảng danh thành viên") . "</a>"; break; case "profile": $user_profile_viewed = new User($last_activity[2]); $retval .= translate("<a onClick=\"load_page('profile.php?who={$user_profile_viewed->username}');\">{$user_profile_viewed->name}</a>'s profile", "thông tin của <a onClick=\"load_page('profile.php?who={$user_profile_viewed->username}');\">{$user_profile_viewed->name}</a>"); break; } return $retval; } }
<?php session_start(); if (isset($_SERVER["QUERY_STRING"])) { $queries = $_SERVER["QUERY_STRING"]; } if (!isset($_SESSION["root_path"]) or !isset($_SESSION["in"]) or !isset($_SESSION["user"]) or !isset($_REQUEST["id"])) { header("Location: /index.php" . (isset($queries) ? "?{$queries}" : ""), true); die; } require_once "{$_SESSION["root_path"]}/inc.php"; require_once "{$_SESSION["root_path"]}/scripts_each_page.php"; $user = new User($_SESSION["user"]); $user->set_last_seen("view_discussion:{$_REQUEST["id"]}"); $post = new QuickDiscussion(); $post->load($_REQUEST["id"]); if (!$post->id) { die; } $post->mark_read(); require_once "{$_SESSION["root_path"]}/page_top.php"; // add a column to the quick_discussion_read_status table if doesn't exist mysql_add_column("quick_discussions_read_status", $user->username, "DATETIME NOT NULL DEFAULT '1970-01-01 00:00:00'"); ?> <div style="text-align: center; margin: 10px 0;"> <span style="display: inline-block; vertical-align: middle;"><?php if ($post->parent_id > 0) { ?> <img src="files/site_images/layout/discussion-16.png" style="vertical-align: middle;"/><span style="vertical-align: middle;"> <a onClick="load_page('view_single_discussion.php?id=<?php echo $post->parent_id; ?>
require_once "{$_SESSION["root_path"]}/scripts_each_page.php"; require_once "{$_SESSION["root_path"]}/page_top.php"; $user = new User($_SESSION["user"]); $user->set_last_seen("search:{$_REQUEST["q"]}"); if (is_numeric($_REQUEST["q"])) { $result = mysql_query("SELECT * FROM `quick_discussions` WHERE `id` = '{$_REQUEST["q"]}'"); if (mysql_num_rows($result) > 0) { echo "<script type='text/javascript'> load_page('view_single_discussion.php?id={$_REQUEST["q"]}'); </script>"; } else { echo "<p>" . translate("No post found...", "Không tìm được bài nào...") . "</p>"; } } else { $search_query = addslashes(strip_tags($_REQUEST["q"])); $result = mysql_query("SELECT * FROM `quick_discussions` WHERE `title` LIKE '%{$search_query}' OR `body` LIKE '%{$search_query}%' ORDER BY `last_touched` DESC"); if (mysql_num_rows($result) === 0) { echo "<p>" . translate("No post found...", "Không tìm được bài nào...") . "</p>"; } else { echo "<div style='text-align: left;'>\n\t\t\t<strong>" . translate(mysql_num_rows($result) . " post(s) found", "Tìm được " . mysql_num_rows($result) . " bài") . ":</strong>\n\t\t\t<ul>"; while ($row = mysql_fetch_object($result)) { $post = new QuickDiscussion(); $post->load($row->id); $body = shorten_string(strip_tags($post->body), 100); echo "<li><strong><a onClick=\"javascript: load_page('view_single_discussion.php?id={$post->id}');\">" . (empty($post->title) ? "[ " . translate("No title", "Không chủ đề") . " ]" : $post->title) . "</a></strong> ---- <em>{$body}</em></li>"; } echo "\t</ul>\n\t\t</div>"; } } ?> <?php require_once "{$_SESSION["root_path"]}/page_bottom.php";