public function create($params) { if (fn_allowed_for('MULTIVENDOR') && $this->auth['user_type'] == 'V') { if ($this->getParentName() != 'products') { return array('status' => Response::STATUS_FORBIDDEN); } unset($params['rating_value']); } $data = array(); $status = Response::STATUS_BAD_REQUEST; if ($this->getParentName() == 'products') { $parent_product = $this->getParentData(); $params['object_id'] = $parent_product['product_id']; $params['object_type'] = 'P'; unset($params['thread_id']); } $valid_params = true; if (empty($params['thread_id'])) { foreach (array('object_type', 'object_id', 'name') as $field) { if (!isset($params[$field])) { $data['message'] = __('api_required_field', array('[field]' => $field)); $valid_params = false; break; } } } if ($valid_params && empty($params['rating_value']) && empty($params['message'])) { $show_field = 'rating_value/message'; if (fn_allowed_for('MULTIVENDOR') && $this->auth['user_type'] == 'V') { $show_field = 'message'; } $data['message'] = __('api_required_field', array('[field]' => $show_field)); $valid_params = false; } if ($valid_params) { $send_notifications = $this->safeGet($params, 'send_notifications', true); $post_id = fn_add_discussion_post($params, $send_notifications); if ($post_id) { $status = Response::STATUS_CREATED; $data = array('post_id' => $post_id); } } return array('status' => $status, 'data' => $data); }
if (!defined('BOOTSTRAP')) { die('Access denied'); } if ($_SERVER['REQUEST_METHOD'] == 'POST') { $discussion_settings = Registry::get('addons.discussion'); $discussion_object_types = fn_get_discussion_objects(); $suffix = ''; if ($mode == 'add') { $suffix = '&selected_section=discussion'; if (AREA == 'C') { if (fn_image_verification('discussion', $_REQUEST) == false) { fn_save_post_data('post_data'); return array(CONTROLLER_STATUS_REDIRECT, $_REQUEST['redirect_url'] . $suffix); } } fn_add_discussion_post($_REQUEST['post_data']); } if ($mode == 'update') { if (!empty($_REQUEST['posts'])) { fn_update_discussion_posts($_REQUEST['posts']); } } $redirect_url = "discussion_manager.manage"; if (!empty($_REQUEST['redirect_url'])) { $redirect_url = $_REQUEST['redirect_url'] . $suffix; } return array(CONTROLLER_STATUS_OK, $redirect_url); } if ($mode == 'view') { $data = fn_discussion_get_object(array('thread_id' => $_REQUEST['thread_id'])); if (empty($data)) {