Beispiel #1
0
            }
        }
    }
    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');
        }
    }