function fn_send_return_mail(&$return_info, &$order_info, $force_notification = array()) { $return_statuses = fn_get_statuses(STATUSES_RETURN); $status_params = $return_statuses[$return_info['status']]['params']; $notify_user = isset($force_notification['C']) ? $force_notification['C'] : (!empty($status_params['notify']) && $status_params['notify'] == 'Y' ? true : false); $notify_department = isset($force_notification['A']) ? $force_notification['A'] : (!empty($status_params['notify_department']) && $status_params['notify_department'] == 'Y' ? true : false); $notify_vendor = isset($force_notification['V']) ? $force_notification['V'] : (!empty($status_params['notify_vendor']) && $status_params['notify_vendor'] == 'Y' ? true : false); if ($notify_user == true || $notify_department == true || $notify_vendor == true) { $rma_reasons = fn_get_rma_properties(RMA_REASON); $rma_actions = fn_get_rma_properties(RMA_ACTION); // Notify customer if ($notify_user == true) { Mailer::sendMail(array('to' => $order_info['email'], 'from' => 'company_orders_department', 'data' => array('order_info' => $order_info, 'return_info' => $return_info, 'reasons' => $rma_reasons, 'actions' => $rma_actions, 'return_status' => fn_get_status_data($return_info['status'], STATUSES_RETURN, $return_info['return_id'], $order_info['lang_code'])), 'tpl' => 'addons/rma/slip_notification.tpl', 'company_id' => $order_info['company_id']), 'C', $order_info['lang_code']); } if ($notify_vendor == true) { if (fn_allowed_for('MULTIVENDOR') && !empty($order_info['company_id'])) { $company_language = fn_get_company_language($order_info['company_id']); Mailer::sendMail(array('to' => 'company_orders_department', 'from' => 'default_company_orders_department', 'data' => array('order_info' => $order_info, 'return_info' => $return_info, 'reasons' => $rma_reasons, 'actions' => $rma_actions, 'return_status' => fn_get_status_data($return_info['status'], STATUSES_RETURN, $return_info['return_id'], $company_language)), 'tpl' => 'addons/rma/slip_notification.tpl', 'company_id' => $order_info['company_id']), 'A', $company_language); } } // Notify administrator (only if the changes performed from the frontend) if ($notify_department == true) { Mailer::sendMail(array('to' => 'company_orders_department', 'from' => 'default_company_orders_department', 'reply_to' => Registry::get('settings.Company.company_orders_department'), 'data' => array('order_info' => $order_info, 'return_info' => $return_info, 'reasons' => $rma_reasons, 'actions' => $rma_actions, 'return_status' => fn_get_status_data($return_info['status'], STATUSES_RETURN, $return_info['return_id'], Registry::get('settings.Appearance.backend_default_language'))), 'tpl' => 'addons/rma/slip_notification.tpl', 'company_id' => $order_info['company_id']), 'A', Registry::get('settings.Appearance.backend_default_language')); } } }
/** * Send order notification * * @param array $order_info order information * @param array $edp_data information about downloadable products * @param mixed $force_notification user notification flag (true/false), if not set, will be retrieved from status parameters * @return array structured data */ function fn_order_notification(&$order_info, $edp_data = array(), $force_notification = array()) { static $notified = array(); $send_order_notification = true; if (!empty($notified[$order_info['order_id']][$order_info['status']]) && $notified[$order_info['order_id']][$order_info['status']] || $order_info['status'] == STATUS_INCOMPLETED_ORDER || $order_info['status'] == STATUS_PARENT_ORDER) { $send_order_notification = false; } fn_set_hook('send_order_notification', $order_info, $edp_data, $force_notification, $notified, $send_order_notification); $take_surcharge_from_vendor = false; if (fn_allowed_for('MULTIVENDOR')) { $take_surcharge_from_vendor = fn_take_payment_surcharge_from_vendor($order_info['products']); } if (!$send_order_notification) { return true; } $order_statuses = fn_get_statuses(STATUSES_ORDER, array(), true, false, $order_info['lang_code'] ? $order_info['lang_code'] : CART_LANGUAGE, $order_info['company_id']); $status_params = $order_statuses[$order_info['status']]['params']; $notify_user = !empty($status_params['notify']) && $status_params['notify'] == 'Y'; $notify_department = !empty($status_params['notify_department']) && $status_params['notify_department'] == 'Y'; $notify_vendor = !empty($status_params['notify_vendor']) && $status_params['notify_vendor'] == 'Y'; if (!is_array($force_notification)) { $force_notification = fn_get_notification_rules($force_notification, !$force_notification); } if (isset($force_notification['C'])) { $notify_user = $force_notification['C']; } if (isset($force_notification['A'])) { $notify_department = $force_notification['A']; } if (isset($force_notification['V'])) { $notify_vendor = $force_notification['V']; } if ($notify_user || $notify_department || $notify_vendor) { $notified[$order_info['order_id']][$order_info['status']] = true; $order_status = $order_statuses[$order_info['status']]; $payment_id = !empty($order_info['payment_method']['payment_id']) ? $order_info['payment_method']['payment_id'] : 0; $payment_method = fn_get_payment_data($payment_id, $order_info['order_id'], $order_info['lang_code']); $status_settings = $order_statuses[$order_info['status']]['params']; $profile_fields = fn_get_profile_fields('I', '', $order_info['lang_code']); $secondary_currency = ''; list($shipments) = fn_get_shipments_info(array('order_id' => $order_info['order_id'], 'advanced_info' => true)); $use_shipments = !fn_one_full_shipped($shipments); // restore secondary currency if (!empty($order_info['secondary_currency']) && Registry::get("currencies.{$order_info['secondary_currency']}")) { $secondary_currency = $order_info['secondary_currency']; } // Notify customer if ($notify_user == true) { Mailer::sendMail(array('to' => $order_info['email'], 'from' => 'company_orders_department', 'data' => array('order_info' => $order_info, 'shipments' => $shipments, 'use_shipments' => $use_shipments, 'order_status' => $order_status, 'payment_method' => $payment_method, 'status_settings' => $status_settings, 'profile_fields' => $profile_fields, 'secondary_currency' => $secondary_currency, 'take_surcharge_from_vendor' => $take_surcharge_from_vendor), 'tpl' => 'orders/order_notification.tpl', 'company_id' => $order_info['company_id']), 'C', $order_info['lang_code']); if (!empty($edp_data)) { Mailer::sendMail(array('to' => $order_info['email'], 'from' => 'company_orders_department', 'data' => array('order_info' => $order_info, 'edp_data' => $edp_data), 'tpl' => 'orders/edp_access.tpl', 'company_id' => $order_info['company_id']), 'C', $order_info['lang_code']); } } if ($notify_vendor == true) { if (fn_allowed_for('MULTIVENDOR') && !empty($order_info['company_id'])) { $company_lang_code = fn_get_company_language($order_info['company_id']); // Translate descriptions to admin language fn_translate_products($order_info['products'], '', $company_lang_code, true); Mailer::sendMail(array('to' => 'company_orders_department', 'from' => 'default_company_orders_department', 'reply_to' => $order_info['email'], 'data' => array('order_info' => $order_info, 'shipments' => $shipments, 'use_shipments' => $use_shipments, 'order_status' => fn_get_status_data($order_info['status'], STATUSES_ORDER, $order_info['order_id'], $company_lang_code), 'payment_method' => fn_get_payment_data($payment_id, $order_info['order_id'], $company_lang_code), 'status_settings' => $status_settings, 'profile_fields' => fn_get_profile_fields('I', '', $company_lang_code), 'secondary_currency' => $secondary_currency), 'tpl' => 'orders/order_notification.tpl', 'company_id' => $order_info['company_id']), 'A', $company_lang_code); } } // Notify order department if ($notify_department == true) { // Translate descriptions to admin language fn_translate_products($order_info['products'], '', Registry::get('settings.Appearance.backend_default_language'), true); $payment_method = array(); if ($payment_id) { $payment_method = fn_get_payment_data($payment_id, $order_info['order_id'], Registry::get('settings.Appearance.backend_default_language')); } fn_add_user_data_descriptions($order_info, Registry::get('settings.Appearance.backend_default_language')); Mailer::sendMail(array('to' => 'default_company_orders_department', 'from' => 'default_company_orders_department', 'reply_to' => $order_info['email'], 'data' => array('order_info' => $order_info, 'shipments' => $shipments, 'use_shipments' => $use_shipments, 'order_status' => fn_get_status_data($order_info['status'], STATUSES_ORDER, $order_info['order_id'], Registry::get('settings.Appearance.backend_default_language')), 'payment_method' => $payment_method, 'status_settings' => $status_settings, 'profile_fields' => fn_get_profile_fields('I', '', Registry::get('settings.Appearance.backend_default_language')), 'secondary_currency' => $secondary_currency), 'tpl' => 'orders/order_notification.tpl', 'company_id' => $order_info['company_id']), 'A', Registry::get('settings.Appearance.backend_default_language')); } } if (!empty($edp_data) && !$notify_user) { // Send out download links for EDP with "Immediately" Activation mode // TRUE if the EDP download links e-mail has already been sent. Used to avoid sending duplicate e-mails. $download_email_sent = false; foreach ($edp_data as $edp_item) { foreach ($edp_item['files'] as $file) { if (!empty($file['activation']) && $file['activation'] == 'I' && !$download_email_sent) { Mailer::sendMail(array('to' => $order_info['email'], 'from' => 'company_orders_department', 'data' => array('order_info' => $order_info, 'edp_data' => $edp_data), 'tpl' => 'orders/edp_access.tpl', 'company_id' => $order_info['company_id']), 'C', $order_info['lang_code']); $download_email_sent = true; break; } } } } fn_set_hook('order_notification', $order_info, $order_statuses, $force_notification); }
function fn_do_call_request($params, $product_data, &$cart, &$auth) { $result = array(); $params['cart_products'] = fn_call_request_get_cart_products($cart); if (!empty($params['product_id']) && !empty($params['email'])) { $params['order_id'] = fn_call_requests_placing_order($params, $product_data, $cart, $auth); } $request_id = fn_update_call_request($params); $company_id = Registry::get('runtime.company_id'); $lang_code = fn_get_company_language($company_id); if (empty($lang_code)) { $lang_code = CART_LANGUAGE; } $url = fn_url('call_requests.manage?id=' . $request_id, 'A', 'current', $lang_code, true); if (empty($params['product_id'])) { // Call request Mailer::sendMail(array('to' => 'company_orders_department', 'from' => 'default_company_orders_department', 'data' => array('url' => $url, 'customer' => $params['name'], 'phone_number' => $params['phone'], 'time_from' => $params['time_from'] ?: CALL_REQUESTS_DEFAULT_TIME_FROM, 'time_to' => $params['time_to'] ?: CALL_REQUESTS_DEFAULT_TIME_TO), 'tpl' => 'addons/call_requests/call_request.tpl', 'company_id' => $company_id), 'A', $lang_code); } elseif (empty($params['order_id'])) { // Buy with one click without order Mailer::sendMail(array('to' => 'company_orders_department', 'from' => 'default_company_orders_department', 'data' => array('url' => $url, 'customer' => $params['name'], 'phone_number' => $params['phone'], 'product_url' => fn_url('products.view?product_id=' . $params['product_id'], 'C'), 'product_name' => fn_get_product_name($params['product_id'], $lang_code)), 'tpl' => 'addons/call_requests/buy_with_one_click.tpl', 'company_id' => $company_id), 'A', $lang_code); } if (!empty($params['order_id'])) { $result['notice'] = __('call_requests.order_placed', array('[order_id]' => $params['order_id'])); } else { $result['notice'] = __('call_requests.request_recieved'); } return $result; }
function fn_companies_add_payout($payment) { $_data = array('company_id' => $payment['vendor'], 'payout_date' => TIME, 'start_date' => fn_parse_date($payment['start_date']), 'end_date' => fn_parse_date($payment['end_date']), 'payout_amount' => $payment['amount'] * -1, 'payment_method' => $payment['payment_method'], 'comments' => $payment['comments']); if ($_data['start_date'] > $_data['end_date']) { $_data['start_date'] = $_data['end_date']; } db_query('INSERT INTO ?:vendor_payouts ?e', $_data); if (isset($payment['notify_user']) && $payment['notify_user'] == 'Y') { Mailer::sendMail(array('to' => 'company_support_department', 'from' => 'default_company_support_department', 'data' => array('payment' => $payment), 'tpl' => 'companies/payment_notification.tpl', 'company_id' => $payment['vendor']), 'A', fn_get_company_language($payment['vendor'])); } }
if ($object_name == 'product') { $company_id = db_get_field("SELECT company_id FROM ?:products WHERE product_id = ?i", $object['object_id']); } elseif ($object_name == 'page') { $company_id = db_get_field("SELECT company_id FROM ?:pages WHERE page_id = ?i", $object['object_id']); } elseif ($object_name == 'company') { $company_id = $object['object_id']; } } $url = "discussion_manager.manage?object_type={$object['object_type']}&post_id={$post_data['post_id']}"; if (!empty($discussion_settings[$object_name . '_notification_email'])) { Mailer::sendMail(array('to' => $discussion_settings[$object_name . '_notification_email'], 'from' => 'company_site_administrator', 'data' => array('url' => fn_url($url, 'A', 'http', null, true), 'object_data' => $object_data, 'post_data' => $post_data, 'object_name' => $object_name, 'subject' => __('discussion_title_' . $discussion_object_types[$object['object_type']], '', Registry::get('settings.Appearance.backend_default_language')) . ' - ' . __($discussion_object_types[$object['object_type']], '', Registry::get('settings.Appearance.backend_default_language'))), 'tpl' => 'addons/discussion/notification.tpl', 'company_id' => $company_id), 'A', Registry::get('settings.Appearance.backend_default_language')); } //Send to vendor if (!empty($company_id) && !empty($discussion_settings[$object_name . '_notify_vendor']) && $discussion_settings[$object_name . '_notify_vendor'] == 'Y') { $url = ($object_name == 'company' ? 'companie' : $object_name) . "s.update?{$object_name}" . "_id={$object['object_id']}&selected_section=discussion"; Mailer::sendMail(array('to' => 'company_site_administrator', 'from' => 'default_company_site_administrator', 'data' => array('url' => fn_url($url, 'V', 'http', null, true), 'object_data' => $object_data, 'post_data' => $post_data, 'object_name' => $object_name, 'subject' => __('discussion_title_' . $discussion_object_types[$object['object_type']], '', fn_get_company_language($company_id)) . ' - ' . __($discussion_object_types[$object['object_type']], '', fn_get_company_language($company_id))), 'tpl' => 'addons/discussion/notification.tpl', 'company_id' => $company_id), 'A', fn_get_company_language($company_id)); } } } } 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); }
$send_notification = isset($_REQUEST['action_notification_approved']) && $_REQUEST['action_notification_approved'] == 'Y' ? true : false; } else { $status = 'N'; $reason = $_REQUEST['action_reason_declined']; $send_notification = isset($_REQUEST['action_notification_declined']) && $_REQUEST['action_notification_declined'] == 'Y' ? true : false; } db_query('UPDATE ?:products SET approved = ?s WHERE product_id IN (?n)', $status, $_REQUEST['product_ids']); fn_set_notification('N', __('notice'), __('status_changed')); if ($send_notification) { // Group updated products by companies $_companies = array(); foreach ($_REQUEST['product_ids'] as $product_id) { if ($_REQUEST['products_data'][$product_id]['current_status'] != $status) { $_companies[$_REQUEST['products_data'][$product_id]['company_id']]['products'][] = array('product_id' => $product_id, 'product' => $_REQUEST['products_data'][$product_id]['product']); } } if (!empty($_companies)) { foreach ($_companies as $company_id => $products) { Mailer::sendMail(array('to' => 'company_support_department', 'from' => 'default_company_support_department', 'data' => array('products' => $products['products'], 'status' => $status, 'reason' => $reason), 'tpl' => 'addons/vendor_data_premoderation/notification.tpl', 'company_id' => $company_id), 'A', fn_get_company_language($company_id)); } } } } } if ($mode == 'products_approval' && !Registry::get('runtime.company_id')) { $params = $_REQUEST; $params['extend'][] = 'companies'; list($products, $search) = fn_get_products($params, Registry::get('settings.Appearance.admin_products_per_page'), DESCR_SL); Tygh::$app['view']->assign('products', $products); Tygh::$app['view']->assign('search', $search); }
/** * Hook for modify shippings groups * * @param array $cart Cart array * @param array $allow * @param array $product_groups Products groups from cart */ function fn_suppliers_order_notification(&$order_info, &$order_statuses, &$force_notification) { $status_params = $order_statuses[$order_info['status']]['params']; $notify_supplier = isset($force_notification['S']) ? $force_notification['S'] : (!empty($status_params['notify_supplier']) && $status_params['notify_supplier'] == 'Y' ? true : false); if ($notify_supplier == true) { $suppliers = array(); if (!empty($order_info['product_groups'])) { foreach ($order_info['product_groups'] as $key_group => $group) { foreach ($group['products'] as $cart_id => $product) { $supplier_id = fn_get_product_supplier_id($product['product_id']); if (!empty($supplier_id) && empty($suppliers[$supplier_id])) { $rate = 0; foreach ($group['chosen_shippings'] as $shipping) { $rate += $shipping['rate']; } $suppliers[$supplier_id] = array('name' => fn_get_supplier_name($supplier_id), 'company_id' => $group['company_id'], 'cost' => $rate, 'shippings' => $group['chosen_shippings']); } if (!empty($supplier_id)) { $suppliers[$supplier_id]['products'][$cart_id] = $product; } } } } foreach ($suppliers as $supplier_id => $supplier) { $lang = fn_get_company_language($supplier['company_id']); $order = $order_info; $order['products'] = $supplier['products']; $supplier['data'] = fn_get_supplier_data($supplier_id); if (!empty($supplier['shippings'])) { if (!empty($supplier['data']['shippings'])) { $shippings = array(); foreach ($supplier['shippings'] as $shipping) { if (!isset($shippings[$shipping['group_name']])) { $shippings[$shipping['group_name']] = $shipping; } } foreach ($shippings as $key => $shipping) { if ($key != $supplier['name']) { unset($shippings[$key]); if ($supplier['cost'] > $shipping['rate']) { $supplier['cost'] -= $shipping['rate']; } else { $supplier['cost'] = 0; } } } $supplier['shippings'] = array_values($shippings); } else { $supplier['shippings'] = array(); } } Mailer::sendMail(array('to' => $supplier['data']['email'], 'from' => 'company_orders_department', 'reply_to' => 'company_orders_department', 'data' => array('order_info' => $order, 'status_inventory' => $status_params['inventory'], 'supplier_id' => $supplier_id, 'supplier' => $supplier, 'order_status' => fn_get_status_data($order_info['status'], STATUSES_ORDER, $order_info['order_id'], $lang), 'profile_fields' => fn_get_profile_fields('I', '', $lang)), 'tpl' => 'addons/suppliers/notification.tpl'), 'A', $lang); } } }
function fn_add_discussion_post($post_data, $send_notifications = true) { $auth =& Tygh::$app['session']['auth']; $discussion_settings = Registry::get('addons.discussion'); $discussion_object_types = fn_get_discussion_objects(); $object = fn_discussion_get_object($post_data); if (empty($object)) { fn_set_notification('E', __('error'), __('cant_find_thread')); return false; } $post_data['thread_id'] = $object['thread_id']; $object_data = fn_get_discussion_object_data($object['object_id'], $object['object_type']); $object_name = $discussion_object_types[$object['object_type']]; $ip = fn_get_ip(); $post_data['ip_address'] = fn_ip_to_db($ip['host']); $post_data['status'] = 'A'; // Check if post is permitted from this IP address if (AREA != 'A' && !empty($discussion_settings[$object_name . '_post_ip_check']) && $discussion_settings[$object_name . '_post_ip_check'] == 'Y') { $is_exists = db_get_field("SELECT COUNT(*) FROM ?:discussion_posts WHERE thread_id = ?i AND ip_address = ?s", $post_data['thread_id'], $post_data['ip_address']); if (!empty($is_exists)) { fn_set_notification('E', __('error'), __('error_already_posted')); return false; } } // Check if post needs to be approved if (AREA != 'A' && !empty($discussion_settings[$object_name . '_post_approval'])) { if ($discussion_settings[$object_name . '_post_approval'] == 'any' || $discussion_settings[$object_name . '_post_approval'] == 'anonymous' && empty($auth['user_id'])) { fn_set_notification('W', __('text_thank_you_for_post'), __('text_post_pended')); $post_data['status'] = 'D'; } } if (!empty($post_data['date'])) { $post_data['timestamp'] = fn_discussion_parse_datetime($post_data['date'] . ' ' . $post_data['time']); } else { $post_data['timestamp'] = TIME; } // Validate rating value if (!empty($post_data['rating_value']) && !in_array($post_data['rating_value'], array_keys(fn_get_discussion_ratings()))) { unset($post_data['rating_value']); } $post_data['user_id'] = $auth['user_id']; $post_data['post_id'] = db_query("INSERT INTO ?:discussion_posts ?e", $post_data); db_query("REPLACE INTO ?:discussion_messages ?e", $post_data); db_query("REPLACE INTO ?:discussion_rating ?e", $post_data); if ($send_notifications) { $fn_prepare_subject = function ($type, $lang_code) { return __('discussion_title_' . $type, '', $lang_code) . ' - ' . __($type, '', $lang_code); }; // For orders - set notification to admin and vendors or customer if ($object['object_type'] == 'O') { $order_info = db_get_row("SELECT email, company_id, lang_code FROM ?:orders WHERE order_id = ?i", $object['object_id']); if (AREA == 'C') { $lang_code = Registry::get('settings.Appearance.backend_default_language'); //Send to admin Mailer::sendMail(array('to' => 'default_company_orders_department', 'from' => array('email' => $order_info['email'], 'name' => $post_data['name']), 'data' => array('url' => fn_url("orders.details?order_id={$object['object_id']}", 'A', 'http', null, true), 'object_data' => $object_data, 'post_data' => $post_data, 'object_name' => $object_name, 'subject' => $fn_prepare_subject($discussion_object_types[$object['object_type']], $lang_code)), 'tpl' => 'addons/discussion/notification.tpl', 'company_id' => $order_info['company_id']), 'A', $lang_code); // Send to vendor if (!empty($order_info['company_id']) && !empty($discussion_settings[$object_name . '_notify_vendor']) && $discussion_settings[$object_name . '_notify_vendor'] == 'Y') { $lang_code = fn_get_company_language($order_info['company_id']); Mailer::sendMail(array('to' => 'company_orders_department', 'from' => array('email' => $order_info['email'], 'name' => $post_data['name']), 'data' => array('url' => fn_url("orders.details?order_id={$object['object_id']}", 'V', 'http', null, true), 'object_data' => $object_data, 'post_data' => $post_data, 'object_name' => $object_name, 'subject' => $fn_prepare_subject($discussion_object_types[$object['object_type']], $lang_code)), 'tpl' => 'addons/discussion/notification.tpl', 'company_id' => $order_info['company_id']), 'A', $lang_code); } } elseif (AREA == 'A') { $lang_code = $order_info['lang_code']; Mailer::sendMail(array('to' => $order_info['email'], 'from' => 'company_orders_department', 'data' => array('url' => fn_url("orders.details?order_id={$object['object_id']}", 'C', 'http', null, true), 'object_data' => $object_data, 'post_data' => $post_data, 'object_name' => $object_name, 'subject' => $fn_prepare_subject($discussion_object_types[$object['object_type']], $lang_code)), 'tpl' => 'addons/discussion/notification.tpl', 'company_id' => $order_info['company_id']), 'C', $lang_code); } } elseif (!empty($discussion_settings[$object_name . '_notification_email']) || !empty($discussion_settings[$object_name . '_notify_vendor']) && $discussion_settings[$object_name . '_notify_vendor'] == 'Y') { $company_id = 0; if (fn_allowed_for('MULTIVENDOR')) { if ($object_name == 'product') { $company_id = db_get_field("SELECT company_id FROM ?:products WHERE product_id = ?i", $object['object_id']); } elseif ($object_name == 'page') { $company_id = db_get_field("SELECT company_id FROM ?:pages WHERE page_id = ?i", $object['object_id']); } elseif ($object_name == 'company') { $company_id = $object['object_id']; } } $url = "discussion_manager.manage?object_type={$object['object_type']}&post_id={$post_data['post_id']}"; if (!empty($discussion_settings[$object_name . '_notification_email'])) { $lang_code = Registry::get('settings.Appearance.backend_default_language'); Mailer::sendMail(array('to' => $discussion_settings[$object_name . '_notification_email'], 'from' => 'company_site_administrator', 'data' => array('url' => fn_url($url, 'A', 'http', null, true), 'object_data' => $object_data, 'post_data' => $post_data, 'object_name' => $object_name, 'subject' => $fn_prepare_subject($discussion_object_types[$object['object_type']], $lang_code)), 'tpl' => 'addons/discussion/notification.tpl', 'company_id' => $company_id), 'A', $lang_code); } // Send to vendor if (!empty($company_id) && !empty($discussion_settings[$object_name . '_notify_vendor']) && $discussion_settings[$object_name . '_notify_vendor'] == 'Y') { $lang_code = fn_get_company_language($company_id); $url = ($object_name == 'company' ? 'companie' : $object_name) . "s.update?" . http_build_query(array($object_name . '_id' => $object['object_id'], 'selected_section' => 'discussion')); Mailer::sendMail(array('to' => 'company_site_administrator', 'from' => 'default_company_site_administrator', 'data' => array('url' => fn_url($url, 'V', 'http', null, true), 'object_data' => $object_data, 'post_data' => $post_data, 'object_name' => $object_name, 'subject' => $fn_prepare_subject($discussion_object_types[$object['object_type']], $lang_code)), 'tpl' => 'addons/discussion/notification.tpl', 'company_id' => $company_id), 'A', $lang_code); } } } return $post_data['post_id']; }