mirror of
https://gitlab.easter-eggs.com/ee/ldapsaisie.git
synced 2024-11-26 03:43:08 +01:00
- config.inc.php : Changement du domaine d'exemple. ls.com existe
- LSmail : -> Le sujet n'était pas encore paramètrable d'avance : c'est fait. -> Adpatation index_ajax.php -> Ajout d'une méthode JS d'export des infos du mail saisie - LSformElement_password : Ajout d'une possibilité d'envoie du mot de passe par mail lors de sa modification - LSattribute : Ajout d'un binding applicatif pour l'execution de fonction/ méthode lors d'évenement (a agrémenter) - LSldapObject : Utilisation des evenements pour le binding onModify des attributs - LSaddons :: Mail : Ajout d'un header 'To:' systématiquement. - LSform : Ajout de la méthode JS getValue()
This commit is contained in:
parent
e0208a456a
commit
e340850741
13 changed files with 392 additions and 74 deletions
|
@ -27,6 +27,7 @@ $GLOBALS['LSobjects']['LSeepeople'] = array (
|
|||
'posixAccount',
|
||||
'sambaSamAccount',
|
||||
),
|
||||
'orderby' => 'displayValue', // Valeurs possibles : 'displayValue' ou 'subDn'
|
||||
'rdn' => 'uid',
|
||||
'container_dn' => 'ou=people',
|
||||
'container_auto_create' => array(
|
||||
|
@ -66,6 +67,13 @@ $GLOBALS['LSobjects']['LSeepeople'] = array (
|
|||
'label' => _('Identifiant'),
|
||||
'ldap_type' => 'ascii',
|
||||
'html_type' => 'text',
|
||||
'html_options' => array(
|
||||
'generate_value_format' => '%{givenName:1}.%{sn}',
|
||||
'autoGenerateOnModify' => true, // default : false
|
||||
'withoutAccent' => 1,
|
||||
'replaceSpaces' => '.',
|
||||
'lowerCase' => 1
|
||||
),
|
||||
'required' => 1,
|
||||
'check_data' => array (
|
||||
'alphanumeric' => array(
|
||||
|
@ -340,7 +348,31 @@ $GLOBALS['LSobjects']['LSeepeople'] = array (
|
|||
'generationTool' => true,
|
||||
'autoGenerate' => false,
|
||||
'chars' => 'abcdefgh',
|
||||
'lenght' => 5
|
||||
'lenght' => 5,
|
||||
'mail' => array(
|
||||
'send' => 1,
|
||||
'ask' => 1,
|
||||
'subject' => "LSexample : votre nouveau mot de passe",
|
||||
'msg' => "Votre mot de passe vient d'etre modifie.\nNouveau mot de passe : %{mdp}",
|
||||
'mail_attr' => 'mail'
|
||||
)
|
||||
),
|
||||
'check_data' => array(
|
||||
'password' => array(
|
||||
'msg' => 'Le mot de passe doit contenir entre 8 et 10 caractères.',
|
||||
'params' => array(
|
||||
'minLength' => 8,
|
||||
'maxLength' => 10,
|
||||
'prohibitedValues' => array(
|
||||
'azertyui',
|
||||
'12345678'
|
||||
),
|
||||
'regex' => array(
|
||||
'[a-z]+',
|
||||
'[0-9]+'
|
||||
)
|
||||
)
|
||||
)
|
||||
),
|
||||
'required' => 1,
|
||||
'rights' => array(
|
||||
|
|
|
@ -65,7 +65,7 @@ $GLOBALS['LSconfig'] = array(
|
|||
'recoverPassword' => array(
|
||||
'mailAttr' => 'mail',
|
||||
'recoveryHashAttr' => 'lsRecoveryHash',
|
||||
'recoveryEmailSender' => 'noreply-recover@lsexample.net',
|
||||
'recoveryEmailSender' => 'noreply-recover@ls.com',
|
||||
'recoveryHashMail' => array(
|
||||
'subject' => 'LSexample : Récupération de votre mot de passe.',
|
||||
'msg' => "Pour poursuivre le processus de récupération de votre mot de passe,\nmerci de cliquer de vous rendre à l'adresse suivante :\n%{url}"
|
||||
|
@ -75,7 +75,7 @@ $GLOBALS['LSconfig'] = array(
|
|||
'msg' => "Votre nouveau mot de passe : %{mdp}"
|
||||
)
|
||||
),
|
||||
'emailSender' => 'noreply@lsexample.net',
|
||||
'emailSender' => 'noreply@ls.com',
|
||||
'LSobjects' => array (
|
||||
'LSeepeople',
|
||||
'LSeegroup'
|
||||
|
|
BIN
trunk/images/default/mail-edit.png
Normal file
BIN
trunk/images/default/mail-edit.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 623 B |
BIN
trunk/images/default/nomail.png
Normal file
BIN
trunk/images/default/nomail.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 756 B |
|
@ -142,6 +142,7 @@
|
|||
if (!isset($headers['From']) && ($GLOBALS['LSsession'] -> getEmailSender() != "")) {
|
||||
$headers['From'] = $GLOBALS['LSsession'] -> getEmailSender();
|
||||
}
|
||||
$headers["To"] = $to;
|
||||
|
||||
$ret = $mail_obj -> send($to,$headers,$msg);
|
||||
|
||||
|
|
|
@ -42,6 +42,8 @@ class LSattribute {
|
|||
var $is_validate=false;
|
||||
var $_finalUpdateData=false;
|
||||
var $_myRights=NULL;
|
||||
var $_events=array();
|
||||
var $_objectEvents=array();
|
||||
|
||||
/**
|
||||
* Constructeur
|
||||
|
@ -520,6 +522,133 @@ class LSattribute {
|
|||
return $this -> config['dependAttrs'];
|
||||
}
|
||||
|
||||
/**
|
||||
* Ajouter une action lors d'un événement
|
||||
*
|
||||
* @param[in] $event string Le nom de l'événement
|
||||
* @param[in] $fct string Le nom de la fonction à exectuer
|
||||
* @param[in] $params mixed Paramètres pour le lancement de la fonction
|
||||
* @param[in] $class Nom de la classe possèdant la méthode $fct à executer
|
||||
*
|
||||
* @retval void
|
||||
*/
|
||||
function addEvent($event,$fct,$params,$class=NULL) {
|
||||
$this -> _events[$event][] = array(
|
||||
'function' => $fct,
|
||||
'params' => $params,
|
||||
'class' => $class
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Ajouter une action sur un objet lors d'un événement
|
||||
*
|
||||
* @param[in] $event string Le nom de l'événement
|
||||
* @param[in] $obj object L'objet dont la méthode doit être executé
|
||||
* @param[in] $meth string Le nom de la méthode
|
||||
* @param[in] $params mixed Paramètres d'execution de la méthode
|
||||
*
|
||||
* @retval void
|
||||
*/
|
||||
function addObjectEvent($event,&$obj,$meth,$params=NULL) {
|
||||
$this -> _objectEvents[$event][] = array(
|
||||
'obj' => $obj,
|
||||
'meth' => $meth,
|
||||
'params' => $params
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Lance les actions à executer lors d'un événement
|
||||
*
|
||||
* @param[in] $event string Le nom de l'événement
|
||||
*
|
||||
* @retval boolean True si tout c'est bien passé, false sinon
|
||||
*/
|
||||
function fireEvent($event) {
|
||||
$return = true;
|
||||
if(isset($this -> config[$event])) {
|
||||
if (!is_array($this -> config[$event])) {
|
||||
$funcs = array($this -> config[$event]);
|
||||
}
|
||||
else {
|
||||
$funcs = $this -> config[$event];
|
||||
}
|
||||
foreach($funcs as $func) {
|
||||
if(function_exists($func)) {
|
||||
if(!$func($this -> ldapObject)) {
|
||||
$return = false;
|
||||
}
|
||||
}
|
||||
else {
|
||||
$return = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (is_array($this -> _events[$event])) {
|
||||
foreach ($this -> _events[$event] as $e) {
|
||||
if ($e['class']) {
|
||||
if (class_exists($e['class'])) {
|
||||
$obj = new $e['class']();
|
||||
if (method_exists($obj,$e['fct'])) {
|
||||
try {
|
||||
$obj -> $e['fct']($e['params']);
|
||||
}
|
||||
catch(Exception $er) {
|
||||
$return = false;
|
||||
LSdebug("Event ".$event." : Erreur durant l'execution de la méthode ".$e['fct']." de la classe ".$e['class']);
|
||||
}
|
||||
}
|
||||
else {
|
||||
LSdebug("Event ".$event." : La méthode ".$e['fct']." de la classe ".$e['class']." n'existe pas.");
|
||||
$return = false;
|
||||
}
|
||||
}
|
||||
else {
|
||||
$return = false;
|
||||
LSdebug("Event ".$event." : La classe ".$e['class']." n'existe pas");
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (function_exists($e['fct'])) {
|
||||
try {
|
||||
$e['fct']($e['params']);
|
||||
}
|
||||
catch(Exception $er) {
|
||||
LSdebug("Event ".$event." : Erreur durant l'execution de la function ".$e['fct']);
|
||||
$return = false;
|
||||
}
|
||||
}
|
||||
else {
|
||||
LSdebug("Event ".$event." : la function ".$e['fct']." n'existe pas");
|
||||
$return = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (is_array($this -> _objectEvents[$event])) {
|
||||
foreach ($this -> _objectEvents[$event] as $e) {
|
||||
if (method_exists($e['obj'],$e['meth'])) {
|
||||
try {
|
||||
$e['obj'] -> $e['meth']($e['params']);
|
||||
}
|
||||
catch(Exception $er) {
|
||||
$return = false;
|
||||
LSdebug("Event ".$event." : Erreur durant l'execution de la méthode ".$e['meth']." sur l'objet.");
|
||||
}
|
||||
}
|
||||
else {
|
||||
LSdebug("Event ".$event." : La méthode ".$e['meth']." de l'objet n'existe pas.");
|
||||
$return = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $return;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
@ -34,6 +34,8 @@ class LSformElement_password extends LSformElement {
|
|||
|
||||
var $fieldTemplate = 'LSformElement_password_field.tpl';
|
||||
var $template = 'LSformElement_password.tpl';
|
||||
|
||||
var $sendMail = false;
|
||||
|
||||
/**
|
||||
* Recupère la valeur de l'élement passée en POST
|
||||
|
@ -56,6 +58,40 @@ class LSformElement_password extends LSformElement {
|
|||
$this -> form -> _notUpdate[$this -> name] == true;
|
||||
return true;
|
||||
}
|
||||
|
||||
//Mail
|
||||
if (isset($_POST['LSformElement_password_'.$this -> name.'_send'])) {
|
||||
if ($_POST['LSformElement_password_'.$this -> name.'_send']==1) {
|
||||
$this -> sendMail = true;
|
||||
LSdebug ('send by form');
|
||||
}
|
||||
}
|
||||
else if ($this -> params['html_options']['mail']['send']==1) {
|
||||
$this -> sendMail = true;
|
||||
LSdebug ('send by config');
|
||||
}
|
||||
if ($this -> sendMail && $GLOBALS['LSsession'] -> loadLSaddon('mail')) {
|
||||
$msg = getFData($this -> params['html_options']['mail']['msg'],$return[$this -> name][0]);
|
||||
$subject = $this -> params['html_options']['mail']['subject'];
|
||||
if (isset($_POST['LSformElement_password_'.$this -> name.'_msg'])) {
|
||||
$msgInfos = json_decode($_POST['LSformElement_password_'.$this -> name.'_msg']);
|
||||
if ($msgInfos -> subject) {
|
||||
$subject = $msgInfos -> subject;
|
||||
}
|
||||
if ($msgInfos -> msg) {
|
||||
$msg = getFData($msgInfos -> msg,$return[$this -> name][0]);
|
||||
}
|
||||
if ($msgInfos -> mail) {
|
||||
$mail = $msgInfos -> mail;
|
||||
}
|
||||
}
|
||||
$this -> sendMail = array (
|
||||
'subject' => $subject,
|
||||
'msg' => $msg,
|
||||
'mail' => $mail
|
||||
);
|
||||
$this -> attr_html -> attribute -> addObjectEvent('after_modify',$this,'send');
|
||||
}
|
||||
}
|
||||
return $retval;
|
||||
}
|
||||
|
@ -80,6 +116,9 @@ class LSformElement_password extends LSformElement {
|
|||
'generate' => ($this -> params['html_options']['generationTool']==True),
|
||||
'verify' => (!$this -> attr_html -> attribute -> ldapObject-> isNew())
|
||||
);
|
||||
if (isset($this -> params['html_options']['mail'])) {
|
||||
$params['mail'] = $this -> params['html_options']['mail'];
|
||||
}
|
||||
$GLOBALS['LSsession'] -> addJSconfigParam($this -> name,$params);
|
||||
|
||||
$GLOBALS['LSsession'] -> addJSscript('LSformElement_password_field.js');
|
||||
|
@ -99,6 +138,39 @@ class LSformElement_password extends LSformElement {
|
|||
}
|
||||
return $GLOBALS['LSsession'] -> checkUserPwd($this -> attr_html -> attribute -> ldapObject,$pwd);
|
||||
}
|
||||
|
||||
function send($params) {
|
||||
if (is_array($this -> sendMail)) {
|
||||
$mail = (String)$this -> sendMail['mail'];
|
||||
Lsdebug($mail);
|
||||
if ($mail=="") {
|
||||
$mail_attr = $this -> attr_html -> attribute -> ldapObject -> attrs[$this -> params['html_options']['mail']['mail_attr']];
|
||||
if ($mail_attr instanceOf LSattribute) {
|
||||
$mail = $mail_attr -> getValue();
|
||||
$mail=$mail[0];
|
||||
}
|
||||
else {
|
||||
LSdebug("L'attribut $mail_attr pour l'envoie du nouveau mot de passe n'existe pas.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (checkEmail($mail,NULL,true)) {
|
||||
if (sendMail(
|
||||
$mail,
|
||||
$this -> sendMail['subject'],
|
||||
$this -> sendMail['msg']
|
||||
)) {
|
||||
$GLOBALS['LSsession'] -> addInfo(_('Mail de changement de mot de passe envoyé.'));
|
||||
}
|
||||
}
|
||||
else {
|
||||
LSdebug('Adresse mail incorrect : '.$mail);
|
||||
return;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
@ -318,26 +318,7 @@ class LSldapObject {
|
|||
}
|
||||
// $this -> attrs[*] => before_modify
|
||||
foreach($new_data as $attr_name => $attr_val) {
|
||||
if(isset($this -> config['attrs'][$attr_name]['before_modify'])) {
|
||||
if (!is_array($this -> config['attrs'][$attr_name]['before_modify'])) {
|
||||
$funcs = array($this -> config['attrs'][$attr_name]['before_modify']);
|
||||
}
|
||||
else {
|
||||
$funcs = $this -> config['attrs'][$attr_name]['before_modify'];
|
||||
}
|
||||
foreach($funcs as $func) {
|
||||
if(function_exists($func)) {
|
||||
if(!$func($this)) {
|
||||
$GLOBALS['LSerror'] -> addErrorCode(309,array('func' => $func,'attr' => $attr_name));
|
||||
return;
|
||||
}
|
||||
}
|
||||
else {
|
||||
$GLOBALS['LSerror'] -> addErrorCode(308,array('func' => $func,'attr' => $attr_name));
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
$this -> attrs[$attr_name] -> fireEvent('before_modify');
|
||||
}
|
||||
|
||||
if ($this -> submitChange($idForm)) {
|
||||
|
@ -364,26 +345,7 @@ class LSldapObject {
|
|||
|
||||
// $this -> attrs[*] => After Modify
|
||||
foreach($new_data as $attr_name => $attr_val) {
|
||||
if(isset($this -> config['attrs'][$attr_name]['after_modify'])) {
|
||||
if (!is_array($this -> config['attrs'][$attr_name]['after_modify'])) {
|
||||
$funcs = array($this -> config['attrs'][$attr_name]['after_modify']);
|
||||
}
|
||||
else {
|
||||
$funcs = $this -> config['attrs'][$attr_name]['after_modify'];
|
||||
}
|
||||
foreach($funcs as $func) {
|
||||
if(function_exists($func)) {
|
||||
if(!$func($this)) {
|
||||
$GLOBALS['LSerror'] -> addErrorCode(307,array('func' => $func,'attr' => $attr_name));
|
||||
return;
|
||||
}
|
||||
}
|
||||
else {
|
||||
$GLOBALS['LSerror'] -> addErrorCode(306,array('func' => $func,'attr' => $attr_name));
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
$this -> attrs[$attr_name] -> fireEvent('after_modify');
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -33,6 +33,32 @@ var LSform = new Class({
|
|||
LSdebug('Pas de reinitialise pour ' + fieldType);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
getValue: function(fieldName) {
|
||||
var retVal = Array();
|
||||
var ul = $(fieldName);
|
||||
if ($type(ul)) {
|
||||
var elements = ul.getElements('input');
|
||||
elements.combine(ul.getElements('textarea'));
|
||||
elements.combine(ul.getElements('select'));
|
||||
|
||||
var getName = new RegExp('([a-zA-Z0-9]*)(\[.*\])?');
|
||||
elements.each(function(el){
|
||||
var name = getName.exec(el.name);
|
||||
LSdebug(name);
|
||||
if (name) {
|
||||
if (name[1]==fieldName) {
|
||||
if ($type(el.value)) {
|
||||
if (el.value!="") {
|
||||
retVal.include(el.value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},this);
|
||||
}
|
||||
return retVal;
|
||||
}
|
||||
});
|
||||
window.addEvent(window.ie ? 'load' : 'domready', function() {
|
||||
|
|
|
@ -8,6 +8,38 @@ var LSformElement_password_field = new Class({
|
|||
},
|
||||
|
||||
initialiseLSformElement_password_field: function() {
|
||||
// Mail
|
||||
if (this.params['mail']) {
|
||||
if ((this.params.mail['canEdit']==1)||(!$type(this.params.mail['canEdit']))) {
|
||||
this.editMailBtn = new Element('img');
|
||||
this.editMailBtn.src = varLSdefault.imagePath('mail-edit.png');
|
||||
this.editMailBtn.addClass('btn');
|
||||
this.editMailBtn.addEvent('click',this.onEditMailBtnClick.bind(this));
|
||||
this.LSmail_open = 0;
|
||||
this.editMailBtn.injectAfter(this.input);
|
||||
}
|
||||
if (this.params.mail['ask']) {
|
||||
this.mailBtn = new Element('img');
|
||||
this.mailBtn.addClass('btn');
|
||||
this.mailBtn.addEvent('click',this.onMailBtnClick.bind(this));
|
||||
this.mailInput = new Element('input');
|
||||
this.mailInput.setProperties({
|
||||
name: 'LSformElement_password_' + this.name + '_send',
|
||||
type: 'hidden'
|
||||
});
|
||||
if (this.params.mail['send']) {
|
||||
this.mailInput.value = 1;
|
||||
this.mailBtn.src = varLSdefault.imagePath('nomail.png');
|
||||
}
|
||||
else {
|
||||
this.mailInput.value = 0;
|
||||
this.mailBtn.src = varLSdefault.imagePath('mail.png');
|
||||
}
|
||||
this.mailBtn.injectAfter(this.input);
|
||||
this.mailInput.injectAfter(this.mailBtn);
|
||||
}
|
||||
}
|
||||
|
||||
// ViewBtn
|
||||
this.viewBtn = new Element('img');
|
||||
this.viewBtn.src = varLSdefault.imagePath('view.png');
|
||||
|
@ -44,6 +76,57 @@ var LSformElement_password_field = new Class({
|
|||
}
|
||||
},
|
||||
|
||||
onMailBtnClick: function() {
|
||||
if (this.mailInput.value==1) {
|
||||
this.mailInput.value = 0;
|
||||
this.mailBtn.src = varLSdefault.imagePath('mail.png');
|
||||
}
|
||||
else {
|
||||
this.mailInput.value = 1;
|
||||
this.mailBtn.src = varLSdefault.imagePath('nomail.png');
|
||||
}
|
||||
},
|
||||
|
||||
onEditMailBtnClick: function(btn) {
|
||||
if(!$type(this.LSmail)) {
|
||||
this.LSmail = new LSmail();
|
||||
this.LSmail.addEvent('close',this.onLSmailClose.bind(this));
|
||||
this.LSmail.addEvent('valid',this.onLSmailValid.bind(this));
|
||||
}
|
||||
|
||||
var mail = varLSform.getValue(this.params.mail['mail_attr']);
|
||||
|
||||
this.LSmail_open = 1;
|
||||
this.LSmail.setMails(mail);
|
||||
this.LSmail.setSubject(this.params.mail['subject']);
|
||||
this.LSmail.setMsg(this.params.mail['msg']);
|
||||
this.LSmail.open(this.editMailBtn);
|
||||
},
|
||||
|
||||
onLSmailClose: function(LSmail) {
|
||||
LSdebug('LSformElement_password : close LSmail');
|
||||
this.LSmail_open = 0;
|
||||
},
|
||||
|
||||
onLSmailValid: function(LSmail) {
|
||||
LSdebug('LSformElement_password : valid LSmail');
|
||||
this.setMail(LSmail.getMail());
|
||||
},
|
||||
|
||||
setMail: function(mail) {
|
||||
if ($type(mail)) {
|
||||
if (!$type(this.msgInput)) {
|
||||
this.msgInput = new Element('input');
|
||||
this.msgInput.setProperties({
|
||||
name: 'LSformElement_password_' + this.name + '_msg',
|
||||
type: 'hidden'
|
||||
});
|
||||
this.msgInput.injectAfter(this.editMailBtn);
|
||||
}
|
||||
this.msgInput.value = JSON.encode(mail);
|
||||
}
|
||||
},
|
||||
|
||||
onGenerateBtnClick: function() {
|
||||
var data = {
|
||||
template: 'LSform',
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
var LSmail = new Class({
|
||||
initialize: function(mails,msg){
|
||||
initialize: function(mails,subject,msg){
|
||||
this.href = "LSmail.php";
|
||||
this.setMails(mails);
|
||||
this.setMsg(msg);
|
||||
this.setSubject(subject);
|
||||
this.object = {};
|
||||
this.opened = 0;
|
||||
this.listeners = {
|
||||
|
@ -29,6 +30,15 @@ var LSmail = new Class({
|
|||
}
|
||||
},
|
||||
|
||||
setSubject: function(subject) {
|
||||
if ($type(subject)) {
|
||||
this.subject = subject;
|
||||
}
|
||||
else {
|
||||
this.subject = "";
|
||||
}
|
||||
},
|
||||
|
||||
setObject: function(type,dn) {
|
||||
this.object = {
|
||||
type: type,
|
||||
|
@ -43,7 +53,8 @@ var LSmail = new Class({
|
|||
action: 'display',
|
||||
object: this.object,
|
||||
mails: this.mails,
|
||||
msg: this.msg
|
||||
msg: this.msg,
|
||||
subject: this.subject
|
||||
};
|
||||
|
||||
if ($type(startElement)) {
|
||||
|
@ -57,7 +68,6 @@ var LSmail = new Class({
|
|||
onOpenGetHtmlComplete: function(responseText, responseXML) {
|
||||
var data = JSON.decode(responseText);
|
||||
if ( varLSdefault.checkAjaxReturn(data) ) {
|
||||
//varLSsmoothbox.setRefreshElement(this);
|
||||
varLSsmoothbox.asNew();
|
||||
varLSsmoothbox.addEvent('valid',this.onLSsmoothboxValid.bind(this));
|
||||
varLSsmoothbox.addEvent('close',this.onLSsmoothboxClose.bind(this));
|
||||
|
@ -94,6 +104,10 @@ var LSmail = new Class({
|
|||
}
|
||||
},
|
||||
|
||||
getMail: function() {
|
||||
return this.sendInfos;
|
||||
},
|
||||
|
||||
onSendComplete: function(responseText, responseXML) {
|
||||
var data = JSON.decode(responseText);
|
||||
if ( varLSdefault.checkAjaxReturn(data) ) {
|
||||
|
|
|
@ -354,38 +354,37 @@ if (!isset($_ERRORS)) {
|
|||
case 'LSmail':
|
||||
switch($_REQUEST['action']) {
|
||||
case 'display':
|
||||
if ((isset($_REQUEST['object'])) && (isset($_REQUEST['mails'])) && (isset($_REQUEST['msg'])) ) {
|
||||
if (isset($_REQUEST['object']['type']) && isset($_REQUEST['object']['dn'])) {
|
||||
if ($GLOBALS['LSsession']->loadLSobject($_REQUEST['object']['type'])) {
|
||||
$obj = new $_REQUEST['object']['type']();
|
||||
$obj -> loadData($_REQUEST['object']['dn']);
|
||||
$msg = $obj -> getFData($_REQUEST['msg']);
|
||||
}
|
||||
else {
|
||||
$GLOBALS['LSerror'] -> addErrorCode(1004,$_REQUEST['object']['type']);
|
||||
}
|
||||
if (isset($_REQUEST['object']['type']) && isset($_REQUEST['object']['dn'])) {
|
||||
if ($GLOBALS['LSsession']->loadLSobject($_REQUEST['object']['type'])) {
|
||||
$obj = new $_REQUEST['object']['type']();
|
||||
$obj -> loadData($_REQUEST['object']['dn']);
|
||||
$msg = $obj -> getFData($_REQUEST['msg']);
|
||||
$subject = $obj -> getFData($_REQUEST['subject']);
|
||||
}
|
||||
else {
|
||||
$msg = $_REQUEST['msg'];
|
||||
$GLOBALS['LSerror'] -> addErrorCode(1004,$_REQUEST['object']['type']);
|
||||
}
|
||||
$GLOBALS['Smarty'] -> assign('LSmail_msg',$msg);
|
||||
if (is_array($_REQUEST['mails'])) {
|
||||
$GLOBALS['Smarty'] -> assign('LSmail_mails',$_REQUEST['mails']);
|
||||
}
|
||||
else if(empty($_REQUEST['mails'])) {
|
||||
$GLOBALS['Smarty'] -> assign('LSmail_mails',array($_REQUEST['mails']));
|
||||
}
|
||||
$GLOBALS['Smarty'] -> assign('LSmail_mail_label',_('E-mail'));
|
||||
$GLOBALS['Smarty'] -> assign('LSmail_subject_label',_('Sujet'));
|
||||
$GLOBALS['Smarty'] -> assign('LSmail_msg_label',_('Message'));
|
||||
|
||||
$data = array(
|
||||
'html' => $GLOBALS['Smarty'] -> fetch('LSmail.tpl')
|
||||
);
|
||||
}
|
||||
else {
|
||||
$GLOBALS['LSerror'] -> addErrorCode(1012);
|
||||
}
|
||||
$msg = $_REQUEST['msg'];
|
||||
$subject = $_REQUEST['subject'];
|
||||
}
|
||||
|
||||
$GLOBALS['Smarty'] -> assign('LSmail_msg',$msg);
|
||||
$GLOBALS['Smarty'] -> assign('LSmail_subject',$subject);
|
||||
if (is_array($_REQUEST['mails'])) {
|
||||
$GLOBALS['Smarty'] -> assign('LSmail_mails',$_REQUEST['mails']);
|
||||
}
|
||||
else if(empty($_REQUEST['mails'])) {
|
||||
$GLOBALS['Smarty'] -> assign('LSmail_mails',array($_REQUEST['mails']));
|
||||
}
|
||||
$GLOBALS['Smarty'] -> assign('LSmail_mail_label',_('E-mail'));
|
||||
$GLOBALS['Smarty'] -> assign('LSmail_subject_label',_('Sujet'));
|
||||
$GLOBALS['Smarty'] -> assign('LSmail_msg_label',_('Message'));
|
||||
|
||||
$data = array(
|
||||
'html' => $GLOBALS['Smarty'] -> fetch('LSmail.tpl')
|
||||
);
|
||||
break;
|
||||
case 'send':
|
||||
if (isset($_REQUEST['infos'])) {
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
</dd>
|
||||
<dt class='LSform'>{$LSmail_subject_label}</dt>
|
||||
<dd class='LSform'>
|
||||
<input type='text' name='LSmail_subject' id='LSmail_subject'/>
|
||||
<input type='text' name='LSmail_subject' id='LSmail_subject' value="{$LSmail_subject}"/>
|
||||
</dd>
|
||||
<dt class='LSform'>{$LSmail_msg_label}</dt>
|
||||
<dd class='LSform'>
|
||||
|
|
Loading…
Reference in a new issue