'Messages', 'action' => 'add_new_promoted_message', ]; Event::registerLog($logInfo); $allowSocial = 'true' === api_get_setting('allow_social_tool'); $nameTools = api_xml_http_response_encode(get_lang('Messages')); $htmlHeadXtra[] = ''; $nameTools = get_lang('Compose message'); $tpl = new Template(get_lang('Compose message')); /** * Shows the compose area + a list of users to select from. */ function show_compose_to_any($tpl) { $default['user_list'] = 0; $html = manageForm($default, null, null, $tpl); return $html; } function show_compose_reply_to_message($message_id, $receiver_id, $tpl) { $table = Database::get_main_table(TABLE_MESSAGE); $receiver_id = (int) $receiver_id; $message_id = (int) $message_id; $query = "SELECT user_sender_id FROM $table WHERE user_receiver_id = ".$receiver_id." AND id = ".$message_id; $result = Database::query($query); $row = Database::fetch_array($result, 'ASSOC'); $userInfo = api_get_user_info($row['user_sender_id']); if (empty($row['user_sender_id']) || empty($userInfo)) { $html = get_lang('The id of the message to reply to is not valid.'); return $html; } $default['users'] = [$row['user_sender_id']]; $html = manageForm($default, null, $userInfo['complete_name_with_username'], $tpl); return $html; } function show_compose_to_user($receiver_id, $tpl) { $userInfo = api_get_user_info($receiver_id); $html = get_lang('To').': '.$userInfo['complete_name'].''; $default['title'] = api_xml_http_response_encode(get_lang('Please enter a title')); $default['users'] = [$receiver_id]; $html .= manageForm($default, null, '', $tpl); return $html; } /** * @param $default * @param null $select_from_user_list * @param string $sent_to * @param Template $tpl * * @return string */ function manageForm($default, $select_from_user_list = null, $sent_to = '', $tpl = null) { $form = new FormValidator( 'compose_message', null, api_get_self(), null, ['enctype' => 'multipart/form-data'] ); $form->addText('title', get_lang('Subject')); $form->addHtmlEditor( 'content', get_lang('Message'), false, false, ['ToolbarSet' => 'Messages', 'Width' => '100%', 'Height' => '250', 'style' => true] ); $form->addLabel( '', '
' ); $form->addLabel( '', ''. get_lang('Add one more file').' ('. sprintf( get_lang('Maximun file size: %s'), format_file_size(api_get_setting('message_max_upload_filesize')) ).')' ); $form->addButtonSend(get_lang('Send message'), 'compose'); $form->setRequiredNote('* '.get_lang('Required field').''); $form->setDefaults($default); $html = ''; if ($form->validate()) { $check = true; if ($check) { $file_comments = $_POST['legend']; $title = $default['title']; $content = $default['content']; $res = MessageManager::send_message( api_get_user_id(), $title, $content, $_FILES, $file_comments, 0, 0, 0, 0, null, false, 0, [], true, null, MESSAGE_STATUS_PROMOTED ); if ($res) { Display::addFlash(Display::return_message( get_lang('Message Sent'), 'confirmation', false )); } MessageManager::cleanAudioMessage(); } Security::clear_token(); header('Location: '.api_get_path(WEB_PATH).'main/social/promoted_messages.php'); exit; } else { $token = Security::get_token(); $form->addElement('hidden', 'sec_token'); $form->setConstants(['sec_token' => $token]); $html .= $form->returnForm(); } return $html; } $this_section = SECTION_SOCIAL; $interbreadcrumb[] = [ 'url' => api_get_path(WEB_PATH).'main/social/home.php', 'name' => get_lang('Social network'), ]; $interbreadcrumb[] = [ 'url' => api_get_path(WEB_PATH).'main/messages/inbox.php', 'name' => get_lang('Messages'), ]; $social_right_content = null; // LEFT COLUMN $social_left_content = ''; // Block Social Menu $social_menu_block = SocialManager::show_social_menu('messages'); $social_right_content .= '
'; $social_right_content .= '
'; $social_right_content .= '
'; $social_right_content .= ''. Display::return_icon('back.png', get_lang('Back'), [], 32).''; $social_right_content .= '
'; $social_right_content .= '
'; $social_right_content .= '
'; // MAIN CONTENT if (!isset($_POST['compose'])) { if (isset($_GET['re_id'])) { $social_right_content .= show_compose_reply_to_message( $_GET['re_id'], api_get_user_id(), $tpl ); } elseif (isset($_GET['send_to_user'])) { $social_right_content .= show_compose_to_user($_GET['send_to_user'], $tpl); } else { $social_right_content .= show_compose_to_any($tpl); } } else { $default['title'] = $_POST['title']; $default['content'] = $_POST['content']; $social_right_content .= manageForm($default, null, null, $tpl); } $social_right_content .= '
'; $social_right_content .= '
'; // Block Social Avatar SocialManager::setSocialUserBlock($tpl, api_get_user_id(), 'messages'); MessageManager::cleanAudioMessage(); $tpl->assign('social_menu_block', $social_menu_block); $tpl->assign('social_right_content', $social_right_content); $social_layout = $tpl->get_template('social/inbox.tpl'); $tpl->display($social_layout);