function validate(form,list) { if(list.selectedIndex<0) { alert("Please select someone to send the message to.") return false } else { return true } } '; $htmlHeadXtra[] = ''; $htmlHeadXtra[] = ''; $htmlHeadXtra[] = ' '; $nameTools = get_lang('ComposeMessage'); /* FUNCTIONS */ /** * Shows the compose area + a list of users to select from. */ function show_compose_to_any ($user_id) { $online_user_list = MessageManager::get_online_user_list($user_id); $default['user_list'] = 0; $online_user_list=null; manage_form($default, $online_user_list); } function show_compose_reply_to_message ($message_id, $receiver_id) { global $charset; $table_message = Database::get_main_table(TABLE_MESSAGE); $query = "SELECT user_sender_id FROM $table_message WHERE user_receiver_id=".intval($receiver_id)." AND id='".intval($message_id)."';"; $result = Database::query($query); $row = Database::fetch_array($result,'ASSOC'); if (!isset($row['user_sender_id'])) { echo get_lang('InvalidMessageId'); die(); } $pre_html = '
'.get_lang('SendMessageTo').'
'; $post = '
'; $multi_select = ''; echo $pre_html.''.GetFullUserName($row['user_sender_id']).''.$post; //echo get_lang('To').': '. GetFullUserName($row['user_sender_id']).''; //$default['title'] = get_lang('EnterTitle'); $default['users'] = array($row['user_sender_id']); manage_form($default); } function show_compose_to_user ($receiver_id) { global $charset; echo get_lang('To').': '. GetFullUserName($receiver_id).''; $default['title'] = api_xml_http_response_encode(get_lang('EnterTitle')); $default['users'] = array($receiver_id); manage_form($default); } function manage_form ($default, $select_from_user_list = null) { $table_message = Database::get_main_table(TABLE_MESSAGE); $group_id = isset($_REQUEST['group_id']) ? intval($_REQUEST['group_id']) : null; $message_id = isset($_GET['message_id']) ? intval($_GET['message_id']) : null; $param_f = isset($_GET['f']) ? Security::remove_XSS($_GET['f']):''; $form = new FormValidator('compose_message',null,api_get_self().'?f='.$param_f,null,array('enctype'=>'multipart/form-data')); if (empty($group_id)) { if (isset($select_from_user_list)) { $form->add_textfield('id_text_name', get_lang('SendMessageTo'),true,array('size' => 40,'id'=>'id_text_name','onkeyup'=>'send_request_and_search()','autocomplete'=>'off','style'=>'padding:0px')); $form->addRule('id_text_name', get_lang('ThisFieldIsRequired'), 'required'); $form->addElement('html',''); $form->addElement('hidden','user_list',0,array('id'=>'user_list')); } else { if (empty($default['users'])) { //the magic should be here $pre_html = '
'.get_lang('SendMessageTo').'
'; $post = '
'; $multi_select = ''; $form->addElement('html',$pre_html.$multi_select.$post ); } else { $form->addElement('hidden','hidden_user',$default['users'][0],array('id'=>'hidden_user')); } } } else { $group_info = GroupPortalManager::get_group_data($group_id); $form->addElement('html','
'.get_lang('ToGroup').'
'.api_xml_http_response_encode($group_info['name']).'
'); $form->addElement('hidden','group_id',$group_id); $form->addElement('hidden','parent_id',$message_id); } $form->add_textfield('title', get_lang('Subject'),true ,array('size' => 54)); $form->add_html_editor('content', get_lang('Message'), false, false, array('ToolbarSet' => 'Messages', 'Width' => '95%', 'Height' => '250')); //$form->addElement('textarea','content', get_lang('Message'), array('cols' => 75,'rows'=>8)); if (isset($_GET['re_id'])) { $message_reply_info = MessageManager::get_message_by_id($_GET['re_id']); $form->addElement('hidden','re_id',Security::remove_XSS($_GET['re_id'])); $form->addElement('hidden','save_form','save_form'); //adding reply mail $user_reply_info = UserManager::get_user_info_by_id($message_reply_info['user_sender_id']); $default['content']='

'.sprintf(get_lang('XWroteY'), api_get_person_name($user_reply_info['firstname'], $user_reply_info['lastname']), $message_reply_info['content']); } if (empty($group_id)) { $form->addElement('html','
'.get_lang('FilesAttachment').'
'); $form->addElement('html','
'.get_lang('AddOneMoreFile').' ('.sprintf(get_lang('MaximunFileSizeX'),format_file_size(api_get_setting('message_max_upload_filesize'))).')
'); } $form->addElement('style_submit_button','compose',api_xml_http_response_encode(get_lang('SendMessage')),'class="save"'); $form->setRequiredNote('* '.get_lang('ThisFieldIsRequired').''); if (!empty($group_id) && !empty($message_id)) { $message_info = MessageManager::get_message_by_id($message_id); $default['title'] = get_lang('Re:').$message_info['title']; } $form->setDefaults($default); if ($form->validate()) { $check = Security::check_token('post'); if ($check) { $user_list = $default['users']; $file_comments = $_POST['legend']; $title = $default['title']; $content = $default['content']; $group_id = $default['group_id']; $parent_id = $default['parent_id']; if (is_array($user_list) && count($user_list)> 0) { //all is well, send the message foreach ($user_list as $user) { $res = MessageManager::send_message($user, $title, $content, $_FILES, $file_comments, $group_id, $parent_id); if ($res) { if (is_string($res)) { Display::display_error_message($res); } else { MessageManager::display_success_message($user); } } } } else { Display::display_error_message('ErrorSendingMessage'); } } Security::clear_token(); } else { $token = Security::get_token(); $form->addElement('hidden','sec_token'); $form->setConstants(array('sec_token' => $token)); $form->display(); } } /* MAIN SECTION */ if ($_GET['f']=='social') { $this_section = SECTION_SOCIAL; $interbreadcrumb[]= array ('url' => api_get_path(WEB_PATH).'main/social/home.php','name' => get_lang('Social')); } else { $this_section = SECTION_MYPROFILE; $interbreadcrumb[]= array ('url' => api_get_path(WEB_PATH).'main/auth/profile.php','name' => get_lang('Profile')); //$interbreadcrumb[]= array ('url' => '#','name' => get_lang('ComposeMessage')); } Display::display_header(get_lang('ComposeMessage')); $group_id = isset($_REQUEST['group_id']) ? intval($_REQUEST['group_id']) : null; if ($group_id != 0) { echo '
'; echo ''.Display::return_icon('back.png',api_xml_http_response_encode(get_lang('ComposeMessage'))).api_xml_http_response_encode(get_lang('BackToGroup')).''; echo ''.Display::return_icon('message_new.png',api_xml_http_response_encode(get_lang('ComposeMessage'))).api_xml_http_response_encode(get_lang('ComposeMessage')).''; echo '
'; } else { if ($_GET['f']=='social') { } else { echo '
'; if (api_get_setting('allow_social_tool') == 'true' && api_get_setting('allow_message_tool') == 'true') { echo ''.Display::return_icon('shared_profile.png', get_lang('ViewSharedProfile')).' '.get_lang('ViewSharedProfile').''; } if (api_get_setting('allow_message_tool') == 'true') { // echo ''.Display::return_icon('inbox.png').' '.get_lang('Messages').''; echo ''.Display::return_icon('message_new.png',get_lang('ComposeMessage')).get_lang('ComposeMessage').''; echo ''.Display::return_icon('inbox.png',get_lang('Inbox')).get_lang('Inbox').''; echo ''.Display::return_icon('outbox.png',get_lang('Outbox')).get_lang('Outbox').''; } //echo ''.Display::return_icon('edit.gif', get_lang('EditNormalProfile')).' '.get_lang('EditNormalProfile').''; echo '
'; } } echo '
'; $id_content_right = ''; //LEFT COLUMN if (api_get_setting('allow_social_tool') != 'true') { $id_content_right = 'inbox'; } else { echo '
'; //this include the social menu div SocialManager::show_social_menu('messages'); echo '
'; $id_content_right = 'social-content-right'; } echo '
'; //MAIN CONTENT if (api_get_setting('allow_social_tool') == 'true') { echo ''; } if (!isset($_POST['compose'])) { if(isset($_GET['re_id'])) { show_compose_reply_to_message($_GET['re_id'], api_get_user_id()); } elseif(isset($_GET['send_to_user'])) { show_compose_to_user($_GET['send_to_user']); } else { show_compose_to_any($_user['user_id']); } } else { $restrict = false; if (isset($_POST['users'])) { $restrict = true; } elseif (isset($_POST['group_id'])) { $restrict = true; } elseif(isset($_POST['hidden_user'])) { $restrict = true; } $default['title'] = $_POST['title']; $default['content'] = $_POST['content']; // comes from a reply button if (isset($_GET['re_id'])) { manage_form($default); } else { // post if ($restrict) { if (!isset($_POST['group_id'])) { $default['users'] = $_POST['users']; } else { $default['group_id'] = $_POST['group_id']; } if (isset($_POST['hidden_user'])) { $default['users'] = array($_POST['hidden_user']); } manage_form($default); } else { Display::display_error_message(get_lang('ErrorSendingMessage')); } } } echo '
'; echo '
'; /* FOOTER */ Display::display_footer();