Indexer::queueAsync(Indexer::REQUEST_STORE, Indexer::RESOURCE_FORUMPOST, $post_id); $forum_user_stats = Database::get()->querySingle("SELECT COUNT(*) as c FROM forum_post \n INNER JOIN forum_topic ON forum_post.topic_id = forum_topic.id\n INNER JOIN forum ON forum.id = forum_topic.forum_id\n WHERE forum_post.poster_id = ?d AND forum.course_id = ?d", $uid, $course_id); Database::get()->query("DELETE FROM forum_user_stats WHERE user_id = ?d AND course_id = ?d", $uid, $course_id); Database::get()->query("INSERT INTO forum_user_stats (user_id, num_posts, course_id) VALUES (?d,?d,?d)", $uid, $forum_user_stats->c, $course_id); Database::get()->query("UPDATE forum_topic\n SET last_post_id = ?d\n WHERE id = ?d\n AND forum_id = ?d", $post_id, $topic_id, $forum_id); Database::get()->query("UPDATE forum\n SET num_topics = num_topics+1,\n num_posts = num_posts+1,\n last_post_id = ?d\n\t\tWHERE id = ?d", $post_id, $forum_id); $topic = $topic_id; $total_forum = get_total_topics($forum_id); $total_topic = get_total_posts($topic) - 1; // subtract 1 because we want the number of replies, not the number of posts. // -------------------------------- // notify users // -------------------------------- $subject_notify = "{$logo} - {$langNewForumNotify}"; $category_id = forum_category($forum_id); $cat_name = category_name($category_id); $c = course_code_to_title($course_code); $name = uid_to_name($uid); $title = course_id_to_title($course_id); $forum_message = "-------- {$langBodyMessage} ({$langSender}: {$name})\n{$message}--------"; $plain_forum_message = q(html2text($forum_message)); $body_topic_notify = "{$langBodyForumNotify} {$langInForums} '" . q($forum_name) . "' \n {$langInCat} '" . q($cat_name) . "' {$langTo} {$langCourseS} '{$c}' <br /><br />" . q($forum_message) . "<br />\n <br />{$gunet}<br /><a href='{$urlServer}courses/{$course_code}'>{$urlServer}courses/{$course_code}</a>"; $plain_body_topic_notify = "{$langBodyForumNotify} {$langInForums} '" . q($forum_name) . "' {$langInCat} '" . q($cat_name) . "' {$langTo} {$langCourseS} '{$c}' \n\n{$plain_forum_message} \n\n{$gunet}\n<a href='{$urlServer}courses/{$course_code}'>{$urlServer}courses/{$course_code}</a>"; $linkhere = " <a href='{$urlServer}main/profile/emailunsubscribe.php?cid={$course_id}'>{$langHere}</a>."; $unsubscribe = "<br /><br />{$langNote}: " . sprintf($langLinkUnsubscribe, $title); $plain_body_topic_notify .= $unsubscribe . $linkhere; $body_topic_notify .= $unsubscribe . $linkhere; $sql = Database::get()->queryArray("SELECT DISTINCT user_id FROM forum_notify\n\t\t\tWHERE (forum_id = ?d OR cat_id = ?d)\n\t\t\tAND notify_sent = 1 AND course_id = ?d AND user_id != ?d", $forum_id, $category_id, $course_id, $uid); foreach ($sql as $r) { if (get_user_email_notification($r->user_id, $course_id)) { $emailaddr = uid_to_email($r->user_id);
function notify_users($forum_id, $forum_name, $topic_id, $subject, $message, $topic_date) { global $logo, $langNewForumNotify, $course_code, $course_code, $course_id, $langForumFrom, $uid, $langBodyForumNotify, $langInForums, $urlServer, $langdate, $langSender, $langCourse, $langCategory, $langForum, $langSubject, $langNote, $langLinkUnsubscribe, $langHere, $charset, $langMailBody; $subject_notify = "$logo - $langNewForumNotify"; $category_id = forum_category($forum_id); $cat_name = category_name($category_id); $c = course_code_to_title($course_code); $name = uid_to_name($uid); $title = course_id_to_title($course_id); $header_html_topic_notify = "<!-- Header Section --> <div id='mail-header'> <br> <div> <div id='header-title'>$langBodyForumNotify <a href='{$urlServer}courses/$course_code'>".q($title)."</a>.</div> <ul id='forum-category'> <li><span><b>$langCategory:</b></span> <span>" . q($cat_name) . "</span></li> <li><span><b>$langForum:</b></span> <span><a href='{$urlServer}modules/forum/viewforum.php?course=$course_code&forum=$forum_id'>" . q($forum_name) . "</a></span></li> <li><span><b>$langForumFrom :</b></span> <span>$name</span></li> <li><span><b>$langdate:</b></span> <span> $topic_date </span></li> </ul> </div> </div>"; $body_html_topic_notify = "<!-- Body Section --> <div id='mail-body'> <br> <div><b>$langSubject:</b> <span class='left-space'><a href='{$urlServer}modules/forum/viewforum.php?course=$course_code&forum=$forum_id&topic=$topic_id'>" . q($subject) . "</a></span></div><br> <div><b>$langMailBody:</b></div> <div id='mail-body-inner'> $message </div> </div>"; $footer_html_topic_notify = "<!-- Footer Section --> <div id='mail-footer'> <br> <div> <small>" . sprintf($langLinkUnsubscribe, q($title)) ." <a href='${urlServer}main/profile/emailunsubscribe.php?cid=$course_id'>$langHere</a></small> </div> </div>"; $html_topic_notify = $header_html_topic_notify.$body_html_topic_notify.$footer_html_topic_notify; $plain_message = html2text($message); $plain_topic_notify = "$langBodyForumNotify $langInForums\n" . "$langSender: $name\n" . "$langCourse: $title\n {$urlServer}courses/$course_code/\n" . "$langCategory: $cat_name\n" . "$langForum: $forum_name\n {$urlServer}modules/forum/viewforum.php?course=$course_code&forum=$forum_id\n" . "$langSubject: $subject\n {$urlServer}modules/forum/viewforum.php?course=$course_code&forum=$forum_id&topic=$topic_id\n" . "--------------------------------------------\n$plain_message\n" . "--------------------------------------------\n" . "$langNote: " . canonicalize_whitespace(str_replace('<br />', "\n", sprintf($langLinkUnsubscribe, q($title)))) . " $langHere:\n${urlServer}main/profile/emailunsubscribe.php?cid=$course_id\n"; $users = Database::get()->queryArray("SELECT DISTINCT user_id FROM forum_notify WHERE (forum_id = ?d OR cat_id = ?d) AND notify_sent = 1 AND course_id = ?d AND user_id != ?d", $forum_id, $category_id, $course_id, $uid); $email = array(); foreach ($users as $user) { if (get_user_email_notification($user->user_id, $course_id)) { $email[] = uid_to_email($user->user_id); } } send_mail_multipart('', '', '', $email, $subject_notify, $plain_topic_notify, $html_topic_notify, $charset); }
</td> </tr> <tr> <td align='right'>Number of times per week student wants tutoring:</td> <td><?php echo $request_info['times_per_week']; ?> </td> </tr> <tr> <td align='right' valign="top">Requested Tutor Categories:</td> <td> <?php $requested_categories = get_request_categories($request_info['id']); foreach ($requested_categories as $category_id) { echo category_name($category_id) . "<br/>"; } ?> </td> </tr> </table> </td> <td valign="top"> <table> <tr> <td align='right'>Address:</td> <td><?php echo $student_info['address']; ?> </td>
$cat_title = $result->cat_title; $tool_content .= "\n <div class='form-wrapper'>\n <form class='form-horizontal' role='form' action='{$_SERVER['SCRIPT_NAME']}?course={$course_code}&forumcatsave=yes' method='post' onsubmit=\"return checkrequired(this,'cat_title');\">\n <input type='hidden' name='cat_id' value='{$cat_id}'> \n <fieldset>\n <div class='form-group'>\n <label for='cat_title' class='col-sm-2 control-label'>{$langCat}:</label>\n <div class='col-sm-10'>\n <input name='cat_title' type='text' class='form-control' id='cat_title' placeholder='{$langCat}' value='{$cat_title}'>\n </div>\n </div>\n <div class='form-group'>\n <div class='col-sm-10 col-sm-offset-2'>\n <input class='btn btn-primary' type='submit' value='{$langModify}'>\n <a class='btn btn-default' href='index.php?course={$course_code}'>{$langCancel}</a>\n </div>\n </div> \n </fieldset>\n </form></div>"; } elseif (isset($_GET['forumcatsave'])) { Database::get()->query("UPDATE forum_category SET cat_title = ?s\n WHERE id = ?d AND course_id = ?d", $_POST['cat_title'], $cat_id, $course_id); Session::Messages($langNameCatMod, 'alert-success'); redirect_to_home_page("modules/forum/index.php?course={$course_code}"); } elseif (isset($_GET['forumgosave'])) { Database::get()->query("UPDATE forum SET name = ?s,\n `desc` = ?s,\n cat_id = ?d\n WHERE id = ?d\n AND course_id = ?d", $_POST['forum_name'], purify($_POST['forum_desc']), $cat_id, $forum_id, $course_id); Indexer::queueAsync(Indexer::REQUEST_STORE, Indexer::RESOURCE_FORUM, $forum_id); $tool_content .= "<div class='alert alert-success'>{$langForumDataChanged}</div>\n <p>« <a href='index.php?course={$course_code}'>{$langBack}</a></p>"; } elseif (isset($_GET['forumcatadd'])) { Database::get()->query("INSERT INTO forum_category\n SET cat_title = ?s,\n course_id = ?d", $_POST['categories'], $course_id); Session::Messages($langCatAdded, 'alert-success'); redirect_to_home_page("modules/forum/index.php?course={$course_code}"); } elseif (isset($_GET['forumgoadd'])) { $ctg = category_name($cat_id); $forid = Database::get()->query("INSERT INTO forum (name, `desc`, cat_id, course_id)\n VALUES (?s, ?s, ?d, ?d)", $_POST['forum_name'], $_POST['forum_desc'], $cat_id, $course_id)->lastInsertID; Indexer::queueAsync(Indexer::REQUEST_STORE, Indexer::RESOURCE_FORUM, $forid); // -------------------------------- // notify users // -------------------------------- $subject_notify = "{$logo} - {$langCatNotify}"; $body_topic_notify = "{$langBodyCatNotify} {$langInCat} '{$ctg}' \n\n{$gunet}"; $sql = Database::get()->queryArray("SELECT DISTINCT user_id FROM forum_notify\n WHERE cat_id = ?d AND\n notify_sent = 1 AND\n course_id = ?d AND\n user_id <> ?d", $cat_id, $course_id, $uid); foreach ($sql as $r) { if (get_user_email_notification($r->user_id, $course_id)) { $linkhere = " <a href='{$urlServer}main/profile/emailunsubscribe.php?cid={$course_id}'>{$langHere}</a>."; $unsubscribe = "<br /><br />{$langNote}: " . sprintf($langLinkUnsubscribe, $title); $body_topic_notify .= $unsubscribe . $linkhere; $emailaddr = uid_to_email($r->user_id); send_mail('', '', '', $emailaddr, $subject_notify, $body_topic_notify, $charset);
$breadcrumb = "<li><a href='home'>".lang("home")."</a></li><li class='active'>".lang("about")."</li></ul>"; } if($this->uri->segment(1) == "services"){ $title_page = lang("service"); $breadcrumb = "<li><a href='home'>".lang("home")."</a></li><li class='active'>".lang("service")."</li></ul>"; } if($this->uri->segment(1) == "talks" && $this->uri->segment(2) == "" && $this->uri->segment(3) == ""){ $title_page = lang("Talk_to_Dentists"); $breadcrumb = "<li><a href='home'>".lang("home")."</a></li><li class='active'>".lang("Talk_to_Dentists")."</li></ul>"; } if($this->uri->segment(1) == "talks" && $this->uri->segment(2) == "category" && is_numeric($this->uri->segment(3))){ $title_page = category_name($this->uri->segment(3)); $breadcrumb = "<li><a href='home'>".lang("home")."</a></li><li><a href='talks'>".lang("Talk_to_Dentists")."</a></li><li class='active'>".category_name($this->uri->segment(3))."</li></ul>"; } if($this->uri->segment(1) == "talks" && $this->uri->segment(2) == "view" && is_numeric($this->uri->segment(3))){ $title_page = lang("Talk_to_Dentists"); $breadcrumb = "<li><a href='home'>".lang("home")."</a></li><li><a href='talks'>".lang("Talk_to_Dentists")."</a></li>".category_name_by_talking_view($this->uri->segment(3))."</ul>"; } if($this->uri->segment(1) == "dentists" && $this->uri->segment(2) == "" && $this->uri->segment(3) == ""){ $title_page = lang("Our_Dentists"); $breadcrumb = "<li><a href='home'>".lang("home")."</a></li><li class='active'>".lang("Our_Dentists")."</li></ul>"; } if($this->uri->segment(1) == "dentists" && $this->uri->segment(2) == "view" && is_numeric($this->uri->segment(3))){ $title_page = lang("Our_Dentists"); $breadcrumb = "<li><a href='home'>".lang("home")."</a></li><li><a href='dentists'>".lang("Our_Dentists")."</a></li>".dentist_name($this->uri->segment(3))."</ul>";