1
0
Fork 0
forked from 0x2620/oxjs

some work towards fixing JS injection issues

This commit is contained in:
rlx 2012-02-21 12:33:27 +00:00
commit e282a3a9e9
2 changed files with 51 additions and 9 deletions

View file

@ -786,7 +786,7 @@ Ox.ListMap = function(options, self) {
//setStatus();
} else {
self.$addPlaceButton.options({disabled: true, title: 'Adding...'});
self.options.addPlace(place, function(result) {
self.options.addPlace(encodeValues(place), function(result) {
if (result.status.code == 200) {
place.id = result.data.id;
self.selectedPlace = place.id;
@ -832,18 +832,38 @@ Ox.ListMap = function(options, self) {
});
}
function decodeValues(place) {
return Ox.map(place, function(value) {
return Ox.isString(value) ? Ox.decodeHTML(value)
: Ox.isArray(value) ? Ox.map(value, function(value) {
return Ox.decodeHTML(value);
})
: value;
});
}
function definePlace() {
self.$map.newPlace(); // this will call selectPlace, then editPlace
self.$definePlaceButton.options({title: 'Clear Place'});
}
function encodeValues(place) {
return Ox.map(place, function(value) {
return Ox.isString(value) ? Ox.encodeHTML(value)
: Ox.isArray(value) ? Ox.map(value, function(value) {
return Ox.encodeHTML(value);
})
: value;
});
}
function editPlace(keys) {
Ox.Log('Map', 'EDIT PLACE', keys, self.$placeForm.values())
var values = Ox.filter(self.$placeForm.values(), function(values, key) {
return keys.indexOf(key) > -1;
});
values.id = self.selectedPlace;
self.options.editPlace(values, function(result) {
self.options.editPlace(encodeValues(values), function(result) {
Ox.Log('Map', 'EDIT PLACE::', result)
if (result.status.code == 200) {
if (
@ -1055,7 +1075,7 @@ Ox.ListMap = function(options, self) {
function showForm(place) {
self.$nameInput.removeClass('OxError');
self.$alternativeNamesInput.setErrors([]);
self.$placeForm.values(place).show();
self.$placeForm.values(decodeValues(place)).show();
self.$areaKmInput.value(Ox.formatArea(place.area)).show();
}