mirror of
https://gitlab.easter-eggs.com/ee/ldapsaisie.git
synced 2024-11-14 22:43:02 +01:00
b1dccb033e
de passe dans l'annuaire. - LSldapObject : -> Ajout d'une méthode isNew() -> Correction/mise à jour des commentaires - LSform.js : Correction d'un bug dans la méthode onLSformElement_password_generate_btnClick
366 lines
14 KiB
JavaScript
366 lines
14 KiB
JavaScript
var LSform = new Class({
|
|
initialize: function(){
|
|
$$('img.LSform-add-field-btn').each(function(el) {
|
|
el.addEvent('click',this.onAddFieldBtnClick.bind(this,el));
|
|
}, this);
|
|
|
|
$$('img.LSform-remove-field-btn').each(function(el) {
|
|
el.addEvent('click',this.onRemoveFieldBtnClick.bind(this,el));
|
|
}, this);
|
|
|
|
$$('div.LSform_image').each(function(el) {
|
|
el.addEvent('mouseenter',this.onMouseEnterImage.bind(this));
|
|
}, this);
|
|
|
|
$$('div.LSform_image').each(function(el) {
|
|
el.addEvent('mouseleave',this.onMouseLeaveImage.bind(this));
|
|
}, this);
|
|
|
|
$$('img.LSform_image_action_zoom').each(function(el) {
|
|
el.addEvent('click',this.zoomImg.bindWithEvent(this,el.getParent().getParent().getNext().src));
|
|
}, this);
|
|
|
|
$$('img.LSform_image_action_delete').each(function(el) {
|
|
el.addEvent('click',this.onImageDeleteBtnClick.bind(this,el));
|
|
}, this);
|
|
|
|
this.LSformElement_password_generate_inputHistory = [];
|
|
$$('img.LSformElement_password_generate_btn').each(function(el) {
|
|
el.addEvent('click',this.onLSformElement_password_generate_btnClick.bind(this,el));
|
|
}, this);
|
|
|
|
$$('img.LSformElement_password_view_btn').each(function(el) {
|
|
el.addEvent('click',this.onLSformElement_password_view_btnClick.bind(this,el));
|
|
}, this);
|
|
|
|
this.LSformElement_password_background_color = [];
|
|
|
|
this.initialiseLSformElement_password_generate();
|
|
|
|
$$('img.LSformElement_password_verify_btn').each(function(el) {
|
|
el.addEvent('click',this.onLSformElement_password_verify_btnClick.bind(this,el));
|
|
}, this);
|
|
|
|
this.initialiseLSformElement_select_object();
|
|
},
|
|
|
|
initialiseLSformElement_select_object: function() {
|
|
$$('a.LSformElement_select_object_addBtn').each(function(el) {
|
|
el.addEvent('click',this.onLSformElement_select_object_addBtnClick.bindWithEvent(this,el));
|
|
}, this);
|
|
|
|
$$('img.LSformElement_select_object_deleteBtn').each(function(el) {
|
|
el.addEvent('click',this.LSformElement_select_object_deleteBtn.bind(this,el));
|
|
}, this);
|
|
},
|
|
|
|
initialiseLSformElement_password_generate: function() {
|
|
$$('input.LSformElement_password_generate').each(function(el) {
|
|
this.LSformElement_password_background_color[el.id] = el.getStyle('background-color');
|
|
el.addEvent('click',this.onLSformElement_password_verify_inputClick.bind(this,el));
|
|
el.addEvent('keyup',this.onLSformElement_password_generate_inputKeyUp.bind(this,el));
|
|
}, this);
|
|
},
|
|
|
|
zoomImg: function(event, src) {
|
|
new Event(event).stop();
|
|
varLSsmoothbox.openImg(src);
|
|
},
|
|
|
|
onAddFieldBtnClick: function(img){
|
|
|
|
var getAttrName = /LSform_add_field_btn_(.*)_.*/
|
|
var attrName = getAttrName.exec(img.id)[1];
|
|
LSdebug(attrName);
|
|
|
|
var data = {
|
|
template: 'LSform',
|
|
action: 'onAddFieldBtnClick',
|
|
attribute: attrName,
|
|
objecttype: $('LSform_objecttype').value,
|
|
objectdn: $('LSform_objectdn').value,
|
|
idform: $('LSform_idform').value,
|
|
img: img.id
|
|
};
|
|
LSdebug(data);
|
|
data.imgload = varLSdefault.loadingImgDisplay(img);
|
|
new Ajax('index_ajax.php', {data: data, onComplete: this.onAddFieldBtnClickComplete.bind(this)}).request();
|
|
},
|
|
|
|
onAddFieldBtnClickComplete: function(responseText, responseXML) {
|
|
var data = Json.evaluate(responseText);
|
|
LSdebug(data);
|
|
if ( data ) {
|
|
if ( typeof(data.LSerror) != "undefined" ) {
|
|
varLSdefault.loadingImgHide(data.imgload);
|
|
varLSdefault.displayError(data.LSerror);
|
|
return;
|
|
}
|
|
else {
|
|
varLSdefault.loadingImgHide(data.imgload);
|
|
var li = new Element('li');
|
|
var img = $(data.img);
|
|
li.setHTML(data.html);
|
|
li.injectAfter(img.getParent());
|
|
li.getElements('img[class=LSform-add-field-btn]').each(function(el) {
|
|
el.addEvent('click',this.onAddFieldBtnClick.bind(this,el));
|
|
}, this);
|
|
li.getElements('img[class=LSform-remove-field-btn]').each(function(el) {
|
|
el.addEvent('click',this.onRemoveFieldBtnClick.bind(this,el));
|
|
}, this);
|
|
}
|
|
}
|
|
},
|
|
|
|
onRemoveFieldBtnClick: function(img) {
|
|
if (img.getParent().getParent().getChildren().length == 1) {
|
|
img.getPrevious().getPrevious().value='';
|
|
}
|
|
else {
|
|
img.getParent().remove();
|
|
}
|
|
},
|
|
|
|
onMouseEnterImage: function() {
|
|
$$('ul.LSform_image_actions').each(function(el) {
|
|
el.setStyle('visibility','visible');
|
|
}, this);
|
|
},
|
|
|
|
onMouseLeaveImage: function() {
|
|
$$('ul.LSform_image_actions').each(function(el) {
|
|
el.setStyle('visibility','hidden');
|
|
}, this);
|
|
},
|
|
|
|
onImageDeleteBtnClick: function(img) {
|
|
$$('form.LSform').each(function(el) {
|
|
var input = new Element('input');
|
|
input.type = 'hidden';
|
|
var getInputId = /LSform_image_action_delete_(.*)/
|
|
input.name = $(getInputId.exec(img.id)[1]).name + '_delete';
|
|
input.value='delete';
|
|
input.injectInside(el);
|
|
},this);
|
|
img.getParent().getParent().getParent().remove();
|
|
},
|
|
|
|
onLSformElement_select_object_addBtnClick: function(event,a) {
|
|
new Event(event).stop();
|
|
var getFieldId = /a_(.*)/
|
|
var fieldId = getFieldId.exec(a.id)[1];
|
|
var getId = /a_LSformElement_select_object_.*_([0-9]*)$/
|
|
var Id = getId.exec(a.id)[1];
|
|
|
|
values = new Array();
|
|
$$('input.LSformElement_select_object').each(function(el) {
|
|
values.push(el.getProperty('value'));
|
|
}, this);
|
|
|
|
var data = {
|
|
template: 'LSselect',
|
|
action: 'refreshSession',
|
|
objecttype: $('LSformElement_select_object_objecttype_'+Id).value,
|
|
values: Json.toString(values),
|
|
href: a.href
|
|
};
|
|
|
|
LSdebug(data);
|
|
|
|
data.imgload=varLSdefault.loadingImgDisplay(a,'inside');
|
|
this.refreshFields=fieldId;
|
|
new Ajax('index_ajax.php', {data: data, onComplete: this.onLSformElement_select_object_addBtnClickComplete.bind(this)}).request();
|
|
},
|
|
|
|
onLSformElement_select_object_addBtnClickComplete: function(responseText, responseXML) {
|
|
var data = Json.evaluate(responseText);
|
|
if ( data ) {
|
|
if ( typeof(data.LSerror) != "undefined" ) {
|
|
varLSdefault.displayError(data.LSerror);
|
|
return;
|
|
}
|
|
else {
|
|
varLSdefault.loadingImgHide(data.imgload);
|
|
varLSsmoothbox.openURL(data.href,this);
|
|
}
|
|
}
|
|
},
|
|
|
|
refresh: function() {
|
|
var getAttrName = /LSformElement_select_object_(.*)_[0-9]*/
|
|
var attrName = getAttrName.exec(this.refreshFields)[1];
|
|
var data = {
|
|
template: 'LSform',
|
|
action: 'refreshField',
|
|
attribute: attrName,
|
|
objecttype: $('LSform_objecttype').value,
|
|
objectdn: $('LSform_objectdn').value,
|
|
idform: $('LSform_idform').value,
|
|
ul: this.refreshFields
|
|
};
|
|
LSdebug(data);
|
|
data.imgload=varLSdefault.loadingImgDisplay($('a_' + this.refreshFields));
|
|
new Ajax('index_ajax.php', {data: data, onComplete: this.onRefreshComplete.bind(this)}).request();
|
|
},
|
|
|
|
onRefreshComplete: function(responseText, responseXML) {
|
|
var data = Json.evaluate(responseText);
|
|
if ( data ) {
|
|
if ( typeof(data.LSerror) != "undefined" ) {
|
|
varLSdefault.loadingImgHide(data.imgload);
|
|
varLSdefault.displayError(data.LSerror);
|
|
return;
|
|
}
|
|
else {
|
|
varLSdefault.loadingImgHide(data.imgload);
|
|
$(this.refreshFields).getParent().setHTML(data.html);
|
|
this.initialiseLSformElement_select_object();
|
|
}
|
|
}
|
|
},
|
|
|
|
LSformElement_select_object_deleteBtn: function(img) {
|
|
img.getParent().remove();
|
|
},
|
|
|
|
onLSformElement_password_generate_btnClick: function(img) {
|
|
var getAttrNameAndId = /LSformElement_password_generate_btn_(.*)_([0-9]*)/
|
|
var getAttrNameAndIdValues = getAttrNameAndId.exec(img.id);
|
|
var attrName = getAttrNameAndIdValues[1];
|
|
var fieldId = 'LSformElement_password_' + attrName + '_' + getAttrNameAndIdValues[2];
|
|
var viewBtnId = 'LSformElement_password_view_btn_' + attrName + '_' + getAttrNameAndIdValues[2];
|
|
|
|
var data = {
|
|
template: 'LSform',
|
|
action: 'generatePassword',
|
|
attribute: attrName,
|
|
objecttype: $('LSform_objecttype').value,
|
|
idform: $('LSform_idform').value,
|
|
viewBtnId: viewBtnId,
|
|
fieldId: fieldId
|
|
};
|
|
data.imgload=varLSdefault.loadingImgDisplay(img);
|
|
new Ajax('index_ajax.php', {data: data, onComplete: this.onLSformElement_password_generate_btnClickComplete.bind(this)}).request();
|
|
},
|
|
|
|
onLSformElement_password_generate_btnClickComplete: function(responseText, responseXML) {
|
|
var data = Json.evaluate(responseText);
|
|
if ( data ) {
|
|
if ( typeof(data.LSerror) != "undefined" ) {
|
|
varLSdefault.loadingImgHide(data.imgload);
|
|
varLSdefault.displayError(data.LSerror);
|
|
return;
|
|
}
|
|
else {
|
|
varLSdefault.loadingImgHide(data.imgload);
|
|
this.changeInputType($(data.fieldId),'text');
|
|
$(data.fieldId).value=data.generatePassword;
|
|
$(data.viewBtnId).setProperty('src','templates/images/hide.png');
|
|
this.LSformElement_password_generate_inputHistory[data.fieldId]=data.generatePassword;
|
|
}
|
|
}
|
|
},
|
|
|
|
onLSformElement_password_generate_inputKeyUp: function(input) {
|
|
if (input.type=='text') {
|
|
if((this.LSformElement_password_generate_inputHistory[input.id]!=input.value)&&(typeof(this.LSformElement_password_generate_inputHistory[input.id])!='undefined')&&(this.LSformElement_password_generate_inputHistory[input.id]!='')) {
|
|
this.onLSformElement_password_generate_inputModify(input);
|
|
}
|
|
}
|
|
},
|
|
|
|
onLSformElement_password_generate_inputModify: function(input) {
|
|
input.value='';
|
|
input = this.changeInputType(input,'password');
|
|
var getAttrNameAndId = /LSformElement_password_(.*)_([0-9]*)/
|
|
var attrNameAndId = getAttrNameAndId.exec(input.id);
|
|
var viewBtnId = 'LSformElement_password_view_btn_' + attrNameAndId[1] + '_' + attrNameAndId[2];
|
|
$(viewBtnId).setProperty('src','templates/images/view.png');
|
|
this.LSformElement_password_generate_inputHistory[input.id]='';
|
|
input.focus();
|
|
},
|
|
|
|
onLSformElement_password_view_btnClick: function(img) {
|
|
var getAttrNameAndId = /LSformElement_password_view_btn_(.*)_([0-9]*)/
|
|
var getAttrNameAndIdValues = getAttrNameAndId.exec(img.id);
|
|
var attrName = getAttrNameAndIdValues[1];
|
|
var fieldId = 'LSformElement_password_' + attrName + '_' + getAttrNameAndIdValues[2];
|
|
|
|
input = $(fieldId);
|
|
|
|
if (input.type=='password') {
|
|
input = this.changeInputType(input,'text');
|
|
img.setProperty('src','templates/images/hide.png');
|
|
}
|
|
else {
|
|
input = this.changeInputType(input,'password');
|
|
img.setProperty('src','templates/images/view.png');
|
|
}
|
|
input.focus();
|
|
},
|
|
|
|
changeInputType: function(input,newType) {
|
|
var newInput = new Element('input');
|
|
newInput.setProperty('name',input.getProperty('name'));
|
|
newInput.setProperty('type',newType);
|
|
newInput.setProperty('class',input.getProperty('class'));
|
|
newInput.setProperty('id',input.getProperty('id'));
|
|
newInput.setProperty('value',input.getProperty('value'));
|
|
newInput.injectAfter(input);
|
|
input.remove();
|
|
this.initialiseLSformElement_password_generate();
|
|
return newInput;
|
|
},
|
|
|
|
onLSformElement_password_verify_btnClick: function(img) {
|
|
var getAttrNameAndId = /LSformElement_password_verify_btn_(.*)_([0-9]*)/
|
|
var getAttrNameAndIdValues = getAttrNameAndId.exec(img.id);
|
|
var attrName = getAttrNameAndIdValues[1];
|
|
var fieldId = 'LSformElement_password_' + attrName + '_' + getAttrNameAndIdValues[2];
|
|
var verifyBtnId = 'LSformElement_password_verify_btn_' + attrName + '_' + getAttrNameAndIdValues[2];
|
|
|
|
var data = {
|
|
template: 'LSform',
|
|
action: 'verifyPassword',
|
|
attribute: attrName,
|
|
objecttype: $('LSform_objecttype').value,
|
|
idform: $('LSform_idform').value,
|
|
fieldId: fieldId,
|
|
fieldValue: $(fieldId).value,
|
|
objectdn: $('LSform_objectdn').value
|
|
};
|
|
LSdebug(data);
|
|
data.imgload=varLSdefault.loadingImgDisplay(img);
|
|
new Ajax('index_ajax.php', {data: data, onComplete: this.onLSformElement_password_verify_btnClickComplete.bind(this)}).request();
|
|
},
|
|
|
|
onLSformElement_password_verify_btnClickComplete: function(responseText, responseXML) {
|
|
var data = Json.evaluate(responseText);
|
|
if ( data ) {
|
|
if ( typeof(data.LSerror) != "undefined" ) {
|
|
varLSdefault.loadingImgHide(data.imgload);
|
|
varLSdefault.displayError(data.LSerror);
|
|
return;
|
|
}
|
|
else {
|
|
varLSdefault.loadingImgHide(data.imgload);
|
|
if (data.verifyPassword) {
|
|
// ok
|
|
$(data.fieldId).setStyle('background-color','#73F386');
|
|
}
|
|
else {
|
|
// nok
|
|
$(data.fieldId).setStyle('background-color','#f59a67');
|
|
}
|
|
}
|
|
}
|
|
},
|
|
|
|
onLSformElement_password_verify_inputClick: function(input) {
|
|
input.setStyle('background-color',this.LSformElement_password_background_color[input.id]);
|
|
}
|
|
|
|
});
|
|
window.addEvent(window.ie ? 'load' : 'domready', function() {
|
|
varLSform = new LSform();
|
|
});
|