} } } if ($mode == 'delete_posts') { if (AREA == 'A' && !empty($_REQUEST['delete_posts']) && is_array($_REQUEST['delete_posts'])) { foreach ($_REQUEST['delete_posts'] as $p_id => $v) { db_query("DELETE FROM ?:discussion_messages WHERE post_id = ?i", $p_id); db_query("DELETE FROM ?:discussion_rating WHERE post_id = ?i", $p_id); db_query("DELETE FROM ?:discussion_posts WHERE post_id = ?i", $p_id); } } } return array(CONTROLLER_STATUS_OK, $_REQUEST['redirect_url'] . $suffix); } if ($mode == 'view') { $data = fn_discussion_get_object_by_thread($_REQUEST['thread_id']); if (empty($data)) { return array(CONTROLLER_STATUS_NO_PAGE); } if (AREA != 'A') { // Check if user has an access for this thread if (fn_is_accessible_discussion($data, $auth) == false) { return array(CONTROLLER_STATUS_DENIED); } if ($data['object_type'] == 'E' && !empty($_REQUEST['post_id'])) { $post_pos = db_get_field("SELECT COUNT(*) FROM ?:discussion_posts WHERE thread_id = ?i AND post_id >= ?i AND status = 'A' ORDER BY timestamp DESC", $_REQUEST['thread_id'], $_REQUEST['post_id']); if (!empty($post_pos)) { $sets = Registry::get('addons.discussion'); $discussion_object_types = fn_get_discussion_objects(); $items_per_page = $sets[$discussion_object_types[$data['object_type']] . '_posts_per_page']; $page = ceil($post_pos / $items_per_page);
* * **************************************************************************** * PLEASE READ THE FULL TEXT OF THE SOFTWARE LICENSE AGREEMENT IN THE * * "copyright.txt" FILE PROVIDED WITH THIS DISTRIBUTION PACKAGE. * ****************************************************************************/ // // $Id: discussion.post.php 10229 2010-07-27 14:21:39Z 2tl $ // if (!defined('AREA')) { die('Access denied'); } if ($_SERVER['REQUEST_METHOD'] == 'POST') { if ($mode == 'add_post') { // Send notification $post_data = $_REQUEST['post_data']; $object = fn_discussion_get_object_by_thread($post_data['thread_id']); $discussion_settings = Registry::get('addons.discussion'); $discussion_object_types = fn_get_discussion_objects(); $object_name = $discussion_object_types[$object['object_type']]; if ($object['object_type'] == 'G' && AREA == 'C') { $event = db_get_row("SELECT email, type, owner FROM ?:giftreg_events WHERE event_id = ?i", $object['object_id']); if ($event['type'] == 'U') { // private event - get access key $ekey = db_get_field("SELECT ekey FROM ?:ekeys WHERE object_id = ?i AND object_type = 'O'", $object['object_id']); } $email_to = $event['email']; $email_from = Registry::get('settings.Company.company_site_administrator'); $view_mail->assign('url', fn_url("events.update" . (empty($ekey) ? "?event_id={$object['object_id']}" : "?access_key={$ekey}"), 'C', 'http')); fn_send_mail($email_to, $email_from, 'addons/discussion/notification_subj.tpl', 'addons/discussion/notification.tpl'); } }