You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							90 lines
						
					
					
						
							3.4 KiB
						
					
					
				
			
		
		
	
	
							90 lines
						
					
					
						
							3.4 KiB
						
					
					
				<?php
 | 
						|
/* For licensing terms, see /license.txt */
 | 
						|
/**
 | 
						|
 * This script contains the code to edit and send an e-mail to one of
 | 
						|
 * the platform's users.
 | 
						|
 * It can be called from the JavaScript library email_links.lib.php which
 | 
						|
 * overtakes the mailto: links to use the internal interface instead.
 | 
						|
 * @author	Yannick Warnier <ywarnier@beeznest.org>
 | 
						|
 * @author Julio Montoya <gugli100@gmail.com> Updating form with formvalidator
 | 
						|
 */
 | 
						|
 | 
						|
// name of the language file that needs to be included
 | 
						|
 | 
						|
use \ChamiloSession as Session;
 | 
						|
 | 
						|
require_once '../inc/global.inc.php';
 | 
						|
 | 
						|
if (empty($_user['user_id'])) {
 | 
						|
    api_not_allowed(true);
 | 
						|
}
 | 
						|
 | 
						|
if (empty($_SESSION['origin_url'])) {
 | 
						|
    $origin_url = $_SERVER['HTTP_REFERER'];
 | 
						|
    Session::write('origin_url', $origin_url);
 | 
						|
}
 | 
						|
 | 
						|
$action = isset($_GET['action']) ? $_GET['action'] : null;
 | 
						|
 | 
						|
$form = new FormValidator('email_editor', 'post');
 | 
						|
$form->addElement('hidden', 'dest');
 | 
						|
$form->addElement('text', 'email_address', get_lang('EmailDestination'));
 | 
						|
$form->addElement('text', 'email_title', get_lang('EmailTitle'));
 | 
						|
$form->freeze('email_address');
 | 
						|
$form->addElement('textarea', 'email_text', get_lang('EmailText'), array('rows' => '6'));
 | 
						|
 | 
						|
$form->addRule('email_address', get_lang('ThisFieldIsRequired'), 'required');
 | 
						|
$form->addRule('email_title', get_lang('ThisFieldIsRequired'), 'required');
 | 
						|
$form->addRule('email_text', get_lang('ThisFieldIsRequired'), 'required');
 | 
						|
$form->addRule('email_address', get_lang('EmailWrong'), 'email');
 | 
						|
 | 
						|
$form->addButtonSend(get_lang('SendMail'));
 | 
						|
 | 
						|
switch ($action) {
 | 
						|
    case 'subscribe_me_to_session':
 | 
						|
        $sessionName = isset($_GET['session']) ? Security::remove_XSS($_GET['session']) : null;
 | 
						|
 | 
						|
        $objTemplate = new Template();
 | 
						|
        $objTemplate->assign('session_name', $sessionName);
 | 
						|
        $objTemplate->assign('user', api_get_user_info());
 | 
						|
        $mailTemplate = $objTemplate->get_template('mail/subscribe_me_to_session.tpl');
 | 
						|
 | 
						|
        $emailDest = api_get_setting('emailAdministrator');
 | 
						|
        $emailTitle = get_lang('SubscribeToSessionRequest');
 | 
						|
        $emailText = $objTemplate->fetch($mailTemplate);
 | 
						|
        break;
 | 
						|
    default:
 | 
						|
        $emailDest = Security::remove_XSS($_REQUEST['dest']);
 | 
						|
        $emailTitle = Security::remove_XSS($_REQUEST['email_title']);
 | 
						|
        $emailText = Security::remove_XSS($_REQUEST['email_text']);
 | 
						|
}
 | 
						|
 | 
						|
$defaults = array(
 | 
						|
    'dest' => $emailDest,
 | 
						|
    'email_address' => $emailDest,
 | 
						|
    'email_title' => $emailTitle,
 | 
						|
    'email_text' => $emailText
 | 
						|
);
 | 
						|
 | 
						|
$form->setDefaults($defaults);
 | 
						|
 | 
						|
if ($form->validate()) {
 | 
						|
    $text = Security::remove_XSS($_POST['email_text'])."\n\n---\n".get_lang('EmailSentFromLMS')." ".api_get_path(WEB_PATH);
 | 
						|
    $email_administrator=Security::remove_XSS($_POST['dest']);
 | 
						|
    $user_id=api_get_user_id();
 | 
						|
    $title=Security::remove_XSS($_POST['email_title']);
 | 
						|
    $content=Security::remove_XSS($_POST['email_text']);
 | 
						|
    if (!empty($_user['mail'])) {
 | 
						|
        api_mail_html('', $email_administrator, $title, $text, api_get_person_name($_user['firstname'], $_user['lastname']), $_user['mail']);
 | 
						|
        UserManager::send_message_in_outbox($email_administrator, $user_id, $title, $content);
 | 
						|
    } else {
 | 
						|
        api_mail_html('', $email_administrator, $title, $text, get_lang('Anonymous'));
 | 
						|
    }
 | 
						|
    $orig = $_SESSION['origin_url'];
 | 
						|
    Session::erase('origin_url');
 | 
						|
    header('location:'.$orig);
 | 
						|
    exit;
 | 
						|
}
 | 
						|
Display::display_header(get_lang('SendEmail'));
 | 
						|
$form->display();
 | 
						|
Display::display_footer();
 | 
						|
 |