Fixing deprecated $preview parameter see BT#7110

1.9.x
Julio Montoya 11 years ago
parent 906bba1479
commit a53c260564
  1. 44
      main/auth/profile.php
  2. 3
      main/document/document.php
  3. 178
      main/inc/lib/certificate.lib.php
  4. 19
      main/inc/lib/social.lib.php
  5. 33
      main/inc/lib/usermanager.lib.php
  6. 40
      main/social/message_for_group_form.inc.php

@ -236,27 +236,26 @@ if (is_profile_editable() && api_get_setting('user_selected_theme') == 'true') {
// EXTENDED PROFILE this make the page very slow!
if (api_get_setting('extended_profile') == 'true') {
if (!isset($_GET['type']) || (isset($_GET['type']) && $_GET['type'] == 'extended')) {
$width_extended_profile = 500;
//$form->addElement('html', '<a href="javascript: void(0);" onclick="javascript: show_extend();"> show_extend_profile</a>');
//$form->addElement('static', null, '<em>'.get_lang('OptionalTextFields').'</em>');
// MY COMPETENCES
$form->add_html_editor('competences', get_lang('MyCompetences'), false, false, array('ToolbarSet' => 'Profile', 'Width' => $width_extended_profile, 'Height' => '130'));
// MY DIPLOMAS
$form->add_html_editor('diplomas', get_lang('MyDiplomas'), false, false, array('ToolbarSet' => 'Profile', 'Width' => $width_extended_profile, 'Height' => '130'));
// WHAT I AM ABLE TO TEACH
$form->add_html_editor('teach', get_lang('MyTeach'), false, false, array('ToolbarSet' => 'Profile', 'Width' => $width_extended_profile, 'Height' => '130'));
// MY PRODUCTIONS
$form->addElement('file', 'production', get_lang('MyProductions'));
if ($production_list = UserManager::build_production_list(api_get_user_id(), '', true)) {
$form->addElement('static', 'productions_list', null, $production_list);
}
// MY PERSONAL OPEN AREA
$form->add_html_editor('openarea', get_lang('MyPersonalOpenArea'), false, false, array('ToolbarSet' => 'Profile', 'Width' => $width_extended_profile, 'Height' => '350'));
$form->applyFilter(array('competences', 'diplomas', 'teach', 'openarea'), 'stripslashes');
$form->applyFilter(array('competences', 'diplomas', 'teach'), 'trim'); // openarea is untrimmed for maximum openness
$width_extended_profile = 500;
//$form->addElement('html', '<a href="javascript: void(0);" onclick="javascript: show_extend();"> show_extend_profile</a>');
//$form->addElement('static', null, '<em>'.get_lang('OptionalTextFields').'</em>');
// MY COMPETENCES
$form->add_html_editor('competences', get_lang('MyCompetences'), false, false, array('ToolbarSet' => 'Profile', 'Width' => $width_extended_profile, 'Height' => '130'));
// MY DIPLOMAS
$form->add_html_editor('diplomas', get_lang('MyDiplomas'), false, false, array('ToolbarSet' => 'Profile', 'Width' => $width_extended_profile, 'Height' => '130'));
// WHAT I AM ABLE TO TEACH
$form->add_html_editor('teach', get_lang('MyTeach'), false, false, array('ToolbarSet' => 'Profile', 'Width' => $width_extended_profile, 'Height' => '130'));
// MY PRODUCTIONS
$form->addElement('file', 'production', get_lang('MyProductions'));
if ($production_list = UserManager::build_production_list(api_get_user_id(), '', true)) {
$form->addElement('static', 'productions_list', null, $production_list);
}
// MY PERSONAL OPEN AREA
$form->add_html_editor('openarea', get_lang('MyPersonalOpenArea'), false, false, array('ToolbarSet' => 'Profile', 'Width' => $width_extended_profile, 'Height' => '350'));
$form->applyFilter(array('competences', 'diplomas', 'teach', 'openarea'), 'stripslashes');
$form->applyFilter(array('competences', 'diplomas', 'teach'), 'trim'); // openarea is untrimmed for maximum openness
}
// PASSWORD, if auth_source is platform
@ -336,9 +335,8 @@ function is_profile_editable() {
* @return The filename of the new production or FALSE if the upload has failed
*/
function upload_user_production($user_id) {
$image_path = UserManager::get_user_picture_path_by_id($user_id, 'system', true);
$production_repository = $image_path['dir'].$user_id.'/';
$image_path = UserManager::get_user_picture_path_by_id($user_id, 'system');
$production_repository = $image_path['dir'];
if (!file_exists($production_repository)) {
@mkdir($production_repository, api_get_permissions_for_new_directories(), true);

@ -345,8 +345,7 @@ switch ($action) {
$parent_id = $document_info['parent_id'];
$my_path = UserManager::get_user_picture_path_by_id(
api_get_user_id(),
'system',
true
'system'
);
$user_folder = $my_path['dir'].'my_files/';
$my_path = null;

@ -9,23 +9,23 @@ class Certificate extends Model {
var $table;
var $columns = array('id','cat_id','score_certificate','created_at','path_certificate');
/**
* Certification data
* Certification data
*/
var $certificate_data = array();
/**
* Student's certification path
*/
var $certification_user_path = null;
var $certification_web_user_path = null;
*/
var $certification_user_path = null;
var $certification_web_user_path = null;
var $html_file = null;
var $qr_file = null;
var $user_id;
//If true every time we enter to the certificate URL we would generate a new certificate
// (good thing because we can edit the certificate and all users will have the latest certificate bad because we load the certificate everytime)
var $force_certificate_generation = true; //default true
/**
* Constructor
* @param int ID of the certificate. If no ID given, take user_id and try to generate one
@ -33,7 +33,7 @@ class Certificate extends Model {
public function __construct($certificate_id = null) {
$this->table = Database::get_main_table(TABLE_MAIN_GRADEBOOK_CERTIFICATE);
$this->certificate_data = null;
if (isset($certificate_id)) {
$this->certificate_data = $this->get($certificate_id);
$this->user_id = $this->certificate_data['user_id'];
@ -41,69 +41,67 @@ class Certificate extends Model {
//Try with the current user
$this->user_id = api_get_user_id();
}
if ($this->user_id) {
if ($this->user_id) {
//Need to be called before any operation
$this->check_certificate_path();
//To force certification generation
if ($this->force_certificate_generation) {
$this->generate();
}
if (isset($this->certificate_data) && $this->certificate_data) {
if (isset($this->certificate_data) && $this->certificate_data) {
if (empty($this->certificate_data['path_certificate'])) {
$this->generate();
}
$this->generate();
}
}
}
//Setting the qr and html variables
if (isset($certificate_id) && !empty($this->certification_user_path)) {
$pathinfo = pathinfo($this->certificate_data['path_certificate']);
$this->html_file = $this->certification_user_path.basename($this->certificate_data['path_certificate']);
$this->qr_file = $this->certification_user_path.$pathinfo['filename'].'_qr.png';
}
}
}
/**
* Checks if the certificate user path directory is created
*/
public function check_certificate_path() {
public function check_certificate_path()
{
$this->certification_user_path = null;
//Setting certification path
$path_info = UserManager::get_user_picture_path_by_id($this->user_id, 'system', true);
$web_path_info = UserManager::get_user_picture_path_by_id($this->user_id, 'web', true);
$path_info = UserManager::get_user_picture_path_by_id($this->user_id, 'system');
$web_path_info = UserManager::get_user_picture_path_by_id($this->user_id, 'web');
if (!empty($path_info) && isset($path_info['dir'])) {
$this->certification_user_path = $path_info['dir'].'certificate/';
$this->certification_web_user_path = $web_path_info['dir'].'certificate/';
$this->certification_web_user_path = $web_path_info['dir'].'certificate/';
if (!is_dir($path_info['dir'])) {
mkdir($path_info['dir'], 0777, true);
}
if (!is_dir($this->certification_user_path)) {
mkdir($this->certification_user_path, 0777);
}
}
}
}
/**
* Deletes the current certificate object. This is generally triggered by
* the teacher from the gradebook tool to re-generate the certificate because
* the original version wa flawed.
*/
public function delete($force_delete = false) {
public function delete($force_delete = false) {
if (!empty($this->certificate_data)) {
if (!is_null($this->html_file) || $this->html_file != '' || strlen($this->html_file)) {
//Deleting HTML file
//Deleting HTML file
if (is_file($this->html_file)) {
@unlink($this->html_file);
if (is_file($this->html_file) === false) {
@ -112,98 +110,98 @@ class Certificate extends Model {
$delete_db = false;
}
}
//Deleting QR code PNG image file
//Deleting QR code PNG image file
if (is_file($this->qr_file)) {
@unlink($this->qr_file);
}
if ($delete_db || $force_delete) {
return parent::delete($this->certificate_data['id']);
}
}
} else {
return parent::delete($this->certificate_data['id']);
}
}
return false;
}
/**
* Generates an HTML Certificate and fills the path_certificate field in the DB
/**
* Generates an HTML Certificate and fills the path_certificate field in the DB
* */
public function generate($params = array()) {
//The user directory should be set
if (empty($this->certification_user_path) && $this->force_certificate_generation == false) {
return false;
}
}
require_once api_get_path(SYS_CODE_PATH).'gradebook/lib/be.inc.php';
require_once api_get_path(SYS_CODE_PATH).'gradebook/lib/gradebook_functions.inc.php';
require_once api_get_path(SYS_CODE_PATH).'gradebook/lib/scoredisplay.class.php';
$params['hide_print_button'] = isset($params['hide_print_button']) ? true : false;
$my_category = Category :: load($this->certificate_data['cat_id']);
if (isset($my_category[0]) && $my_category[0]->is_certificate_available($this->user_id)) {
$user = api_get_user_info($this->user_id);
$scoredisplay = ScoreDisplay :: instance();
$scorecourse = $my_category[0]->calc_score($this->user_id);
$scorecourse_display = (isset($scorecourse) ? $scoredisplay->display_score($scorecourse,SCORE_AVERAGE) : get_lang('NoResultsAvailable'));
//Prepare all necessary variables:
$organization_name = api_get_setting('Institution');
//$portal_name = api_get_setting('siteName');
$stud_fn = $user['firstname'];
$stud_ln = $user['lastname'];
//@todo this code is not needed
$certif_text = sprintf(get_lang('CertificateWCertifiesStudentXFinishedCourseYWithGradeZ'), $organization_name, $stud_fn.' '.$stud_ln, $my_category[0]->get_name(), $scorecourse_display);
$certif_text = str_replace("\\n","\n", $certif_text);
//If the gradebook is related to skills we added the skills to the user
$skill = new Skill();
$skill->add_skill_to_user($this->user_id, $this->certificate_data['cat_id']);
$skill->add_skill_to_user($this->user_id, $this->certificate_data['cat_id']);
if (is_dir($this->certification_user_path)) {
if (!empty($this->certificate_data)) {
if (!empty($this->certificate_data)) {
$new_content_html = get_user_certificate_content($this->user_id, $my_category[0]->get_course_code(), false, $params['hide_print_button']);
if ($my_category[0]->get_id() == strval(intval($this->certificate_data['cat_id']))) {
$name = $this->certificate_data['path_certificate'];
$my_path_certificate = $this->certification_user_path.basename($name);
if (file_exists($my_path_certificate) && !empty($name) && !is_dir($my_path_certificate) && $this->force_certificate_generation == false) {
//Seems that the file was already generated
//Seems that the file was already generated
return true;
} else {
//Creating new name
$name = md5($this->user_id.$this->certificate_data['cat_id']).'.html';
$my_path_certificate = $this->certification_user_path.$name;
$my_path_certificate = $this->certification_user_path.$name;
$path_certificate ='/'.$name;
//Getting QR filename
$file_info = pathinfo($path_certificate);
$qr_code_filename = $this->certification_user_path.$file_info['filename'].'_qr.png';
$qr_code_filename = $this->certification_user_path.$file_info['filename'].'_qr.png';
$my_new_content_html = str_replace('((certificate_barcode))', Display::img($this->certification_web_user_path.$file_info['filename'].'_qr.png', 'QR'), $new_content_html['content']);
$my_new_content_html = mb_convert_encoding($my_new_content_html,'UTF-8', api_get_system_encoding());
$result = @file_put_contents($my_path_certificate, $my_new_content_html);
if ($result) {
if ($result) {
//Updating the path
self::update_user_info_about_certificate($this->certificate_data['cat_id'], $this->user_id, $path_certificate);
self::update_user_info_about_certificate($this->certificate_data['cat_id'], $this->user_id, $path_certificate);
$this->certificate_data['path_certificate'] = $path_certificate;
if ($this->html_file_is_generated()) {
if (!empty($file_info)) {
$text = $this->parse_certificate_variables($new_content_html['variables']);
if (!empty($file_info)) {
$text = $this->parse_certificate_variables($new_content_html['variables']);
$this->generate_qr($text, $qr_code_filename);
}
}
}
}
return $result;
}
}
}
}
}
@ -226,11 +224,11 @@ class Certificate extends Model {
Database::query($sql);
}
}
/**
*
*
* Check if the file was generated
*
*
* @return boolean
*/
function html_file_is_generated() {
@ -238,17 +236,17 @@ class Certificate extends Model {
return false;
}
if (!empty($this->certificate_data) && isset($this->certificate_data['path_certificate']) && !empty($this->certificate_data['path_certificate'])) {
return true;
return true;
}
return false;
}
}
/**
* Generates a QR code for the certificate. The QR code embeds the text given
* @param string Text to be added in the QR code
* @param string file path of the image
* */
public function generate_qr($text, $path) {
public function generate_qr($text, $path) {
//Make sure HTML certificate is generated
if (!empty($text) && !empty($path)) {
require_once api_get_path(LIBRARY_PATH).'phpqrcode/qrlib.php';
@ -257,7 +255,7 @@ class Certificate extends Model {
}
return false;
}
/**
* Transforms certificate tags into text values. This function is very static
* (it doesn't allow for much flexibility in terms of what tags are printed).
@ -265,20 +263,20 @@ class Certificate extends Model {
* @return string The translated string
*/
public function parse_certificate_variables($array) {
$text = '';
$text = '';
$headers = $array[0];
$content = $array[1];
$final_content = array();
if (!empty($content)) {
foreach($content as $key => $value) {
foreach($content as $key => $value) {
$my_header = str_replace(array('((', '))') , '', $headers[$key]);
$final_content[$my_header] = $value;
}
}
/* Certificate tags
*
*
0 => string '((user_firstname))' (length=18)
1 => string '((user_lastname))' (length=17)
2 => string '((gradebook_institution))' (length=25)
@ -292,22 +290,22 @@ class Certificate extends Model {
10 => string '((gradebook_grade))' (length=19)
11 => string '((certificate_link))' (length=20)
12 => string '((certificate_link_html))' (length=25)
13 => string '((certificate_barcode))' (length=23)
13 => string '((certificate_barcode))' (length=23)
*/
$break_space = " \n\r ";
$text = $final_content['gradebook_institution'].' - '.$final_content['gradebook_sitename'].' - '.get_lang('Certification').$break_space.
get_lang('Student'). ': '.$final_content['user_firstname'].' '.$final_content['user_lastname'].$break_space.
get_lang('Teacher'). ': '.$final_content['teacher_firstname'].' '.$final_content['teacher_lastname'].$break_space.
get_lang('Date'). ': '.$final_content['date_certificate'].$break_space.
get_lang('Score'). ': '.$final_content['gradebook_grade'].$break_space.
'URL'. ': '.$final_content['certificate_link'];
'URL'. ': '.$final_content['certificate_link'];
return $text;
}
/**
* Shows the student's certificate (HTML file). If the global setting
* Shows the student's certificate (HTML file). If the global setting
* allow_public_certificates is set to 'false', no certificate can be printed.
* If the global allow_public_certificates is set to 'true' and the course
* setting allow_public_certificates is set to 0, no certificate *in this
@ -317,7 +315,7 @@ class Certificate extends Model {
public function show() {
// Special rules for anonymous users
$failed = false;
if (api_is_anonymous()) {
if (api_is_anonymous()) {
if (api_get_setting('allow_public_certificates') != 'true') {
// The "non-public" setting is set, so do not print
$failed = true;
@ -359,5 +357,5 @@ class Certificate extends Model {
Display :: display_warning_message(get_lang('NoCertificateAvailable'));
}
exit;
}
}
}
}

@ -957,26 +957,13 @@ class SocialManager extends UserManager
public static function display_productions($user_id)
{
$sysdir_array = UserManager::get_user_picture_path_by_id($user_id, 'system', true);
$sysdir = $sysdir_array['dir'].$user_id.'/';
$sysdir = $sysdir_array['dir'];
$webdir_array = UserManager::get_user_picture_path_by_id($user_id, 'web', true);
$webdir = $webdir_array['dir'].$user_id.'/';
$webdir = $webdir_array['dir'];
if (!is_dir($sysdir)) {
mkdir($sysdir, api_get_permissions_for_new_directories(), true);
}
/*
$handle = opendir($sysdir);
$productions = array();
while ($file = readdir($handle)) {
if ($file == '.' || $file == '..' || $file == '.htaccess') {
continue; // Skip current and parent directories
}
if (preg_match('/('.$user_id.'|[0-9a-f]{13}|saved)_.+\.(png|jpg|jpeg|gif)$/i', $file)) {
// User's photos should not be listed as productions.
continue;
}
$productions[] = $file;
}
*/
$productions = UserManager::get_user_productions($user_id);
if (count($productions) > 0) {

@ -1120,7 +1120,7 @@ class UserManager
* the same directory.
* @param integer User ID
* @param string Type of path to return (can be 'none', 'system', 'rel', 'web')
* @param bool Whether we want to have the directory name returned 'as if' there was a file or not (in the case we want to know which directory to create - otherwise no file means no split subdir)
* @param bool deprecated see #7110
* @param bool If we want that the function returns the /main/img/unknown.jpg image set it at true
* @return array Array of 2 elements: 'dir' and 'file' which contain the dir and file as the name implies if image does not exist it will return the unknow image if anonymous parameter is true if not it returns an empty er's
*/
@ -1159,11 +1159,12 @@ class UserManager
$picture_filename = trim($user['picture_uri']);
if (api_get_setting('split_users_upload_directory') === 'true') {
if (!empty($picture_filename) or $preview) {
/*if (!empty($picture_filename) or $preview) {
$dir = $base.'upload/users/'.substr((string) $user_id, 0, 1).'/'.$user_id.'/';
} else {
$dir = $base.'upload/users/'.$user_id.'/';
}
}*/
$dir = $base.'upload/users/'.substr((string) $user_id, 0, 1).'/'.$user_id.'/';
} else {
$dir = $base.'upload/users/'.$user_id.'/';
}
@ -1352,8 +1353,8 @@ class UserManager
return false;
}
$production_path = self::get_user_picture_path_by_id($user_id, 'web', true);
$production_dir = $production_path['dir'].$user_id.'/';
$production_path = self::get_user_picture_path_by_id($user_id, 'web');
$production_dir = $production_path['dir'];
$del_image = api_get_path(WEB_CODE_PATH).'img/delete.gif';
$del_text = get_lang('Delete');
$production_list = '';
@ -1379,17 +1380,22 @@ class UserManager
*/
public static function get_user_productions($user_id)
{
$production_path = self::get_user_picture_path_by_id($user_id, 'system', true);
$production_repository = $production_path['dir'].$user_id.'/';
$production_path = self::get_user_picture_path_by_id($user_id, 'system');
$production_repository = $production_path['dir'];
$productions = array();
if (is_dir($production_repository)) {
$handle = opendir($production_repository);
while ($file = readdir($handle)) {
if ($file == '.' || $file == '..' || $file == '.htaccess' || is_dir($production_repository.$file)) {
continue; // skip current/parent directory and .htaccess
if ($file == '.' ||
$file == '..' ||
$file == '.htaccess' ||
is_dir($production_repository.$file)
) {
// skip current/parent directory and .htaccess
continue;
}
if (preg_match('/('.$user_id.'|[0-9a-f]{13}|saved)_.+\.(png|jpg|jpeg|gif)$/i', $file)) {
// User's photos should not be listed as productions.
continue;
@ -1398,7 +1404,7 @@ class UserManager
}
}
return $productions; // can be an empty array
return $productions;
}
/**
@ -1409,8 +1415,8 @@ class UserManager
*/
public static function remove_user_production($user_id, $production)
{
$production_path = self::get_user_picture_path_by_id($user_id, 'system', true);
$production_file = $production_path['dir'].$user_id.'/'.$production;
$production_path = self::get_user_picture_path_by_id($user_id, 'system');
$production_file = $production_path['dir'].$production;
if (is_file($production_file)) {
unlink($production_file);
return true;
@ -1725,7 +1731,6 @@ class UserManager
$extra_data = self::get_extra_user_data_by_field($user_id, $extra_field);
$extra_files = $extra_data[$extra_field];
if (is_array($extra_files)) {
var_dump($extra_files); exit;
foreach ($extra_files as $key => $value) {
if (!$full_path) {
// Relative path from user folder

@ -22,8 +22,6 @@ require_once api_get_path(LIBRARY_PATH).'fileDisplay.lib.php';
$tok = Security::get_token();
if (isset($_REQUEST['user_friend'])) {
$info_user_friend=array();
$info_path_friend=array();
$userfriend_id = intval($_REQUEST['user_friend']);
// panel=1 send message
// panel=2 send invitation
@ -43,24 +41,24 @@ $to_group = '';
$subject = '';
$message = '';
if (!empty($group_id) && $allowed_action) {
$group_info = GroupPortalManager::get_group_data($group_id);
$group_info = GroupPortalManager::get_group_data($group_id);
$is_member = GroupPortalManager::is_group_member($group_id);
if ($group_info['visibility'] == GROUP_PERMISSION_CLOSED && !$is_member) {
api_not_allowed(true);
api_not_allowed(true);
}
$to_group = $group_info['name'];
if (!empty($message_id)) {
$message_info = MessageManager::get_message_by_id($message_id);
if ($allowed_action == 'reply_message_group') {
$message_info = MessageManager::get_message_by_id($message_id);
if ($allowed_action == 'reply_message_group') {
$subject = get_lang('Reply').': '.api_xml_http_response_encode($message_info['title']);
//$message = api_xml_http_response_encode($message_info['content']);
} else {
$subject = api_xml_http_response_encode($message_info['title']);
$message = api_xml_http_response_encode($message_info['content']);
}
}
}
}
}
$page_item = !empty($_GET['topics_page_nr'])?intval($_GET['topics_page_nr']):1;
@ -84,27 +82,27 @@ $page_topic = !empty($_GET['topics_page_nr'])?intval($_GET['topics_page_nr']):1
if (api_get_setting('allow_message_tool')=='true') {
//normal message
$user_info = api_get_user_info($userfriend_id);
//echo api_xml_http_response_encode(get_lang('To')).":&nbsp;&nbsp;".api_xml_http_response_encode($to_group);
//echo api_xml_http_response_encode(get_lang('To')).":&nbsp;&nbsp;".api_xml_http_response_encode($to_group);
$height = 180;
if ($allowed_action == 'add_message_group') {
$height = 140;
echo '<span style="color:red">*</span> '.api_xml_http_response_encode(get_lang('Title')).' :<br />';
echo '<input id="txt_subject_id" name="title" type="text" style="width:450px;" value="'.$subject.'"><br /><br />';
echo '<input id="txt_subject_id" name="title" type="text" style="width:450px;" value="'.$subject.'"><br /><br />';
}
//echo api_xml_http_response_encode(get_lang('Description')).' :<br />';
//echo api_xml_http_response_encode(get_lang('Description')).' :<br />';
$oFCKeditor = new FCKeditor('content') ;
$oFCKeditor->ToolbarSet = 'messages';
$oFCKeditor->Width = '95%';
$oFCKeditor->Height = $height;
$oFCKeditor->Value = $message;
$return = $oFCKeditor->CreateHtml();
$return = $oFCKeditor->CreateHtml();
echo $return;
if ($allowed_action == 'add_message_group') {
echo '<div><span style="color:red"> * </span>'.get_lang('FieldRequired').'</div>';
echo '<div><span style="color:red"> * </span>'.get_lang('FieldRequired').'</div>';
}
?>
?>
<br /><br />
<?php echo api_xml_http_response_encode(get_lang('AttachmentFiles')); ?> :<br />
<span id="filepaths"><div id="filepath_1"><input type="file" name="attach_1" size="20" /></div></span>
@ -112,19 +110,19 @@ $page_topic = !empty($_GET['topics_page_nr'])?intval($_GET['topics_page_nr']):1
<a href="javascript://" onclick="return add_image_form()">
<?php echo get_lang('AddOneMoreFile') ?></a>
</div>
(<?php echo api_xml_http_response_encode(sprintf(get_lang('MaximunFileSizeX'), format_file_size(api_get_setting('message_max_upload_filesize')))) ?>)
(<?php echo api_xml_http_response_encode(sprintf(get_lang('MaximunFileSizeX'), format_file_size(api_get_setting('message_max_upload_filesize')))) ?>)
<br />
<br />
<?php if ($allowed_action == 'add_message_group') { ?>
<button class="btn save" onclick="if(validate_text_empty(this.form.title.value,'<?php echo get_lang('YouShouldWriteASubject')?>')){return false;}" type="submit" value="<?php echo api_xml_http_response_encode(get_lang('SendMessage')); ?>"><?php echo api_xml_http_response_encode(get_lang('SendMessage')) ?></button>
<?php } else { ?>
<button class="btn save" type="submit" value="<?php echo api_xml_http_response_encode(get_lang('SendMessage')); ?>"><?php echo api_xml_http_response_encode(get_lang('SendMessage')) ?></button>
<?php } ?>
<?php } ?>
<?php } ?>
</dl>
</td>
</tr>
</div>
</table>
</form>
</form>

Loading…
Cancel
Save