Exemple #1
0
 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);
 }
Exemple #2
0
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)) {