// Merge -> 10309
git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@10333 b9a71923-0436-4b27-9f14-aed3839534dd
This commit is contained in:
@@ -39,11 +39,9 @@ virtual_product_nb_days, is_shareable)
|
||||
$('#attribute_quantity').html(quantity);
|
||||
$('#attribute_quantity').show();
|
||||
$('#attr_qty_stock').show();
|
||||
if(available_date != undefined)
|
||||
getE('available_date').value = available_date;
|
||||
else
|
||||
getE('available_date').value = '0000-00-00';
|
||||
getE('minimal_quantity').value = minimal_quantity;
|
||||
|
||||
$('#attribute_minimal_quantity').val(minimal_quantity);
|
||||
|
||||
getE('attribute_reference').value = reference;
|
||||
|
||||
getE('virtual_product_name_attribute').value = virtual_product_name_attribute;
|
||||
|
||||
+8
-33
@@ -3,7 +3,6 @@ var hooks_list = new Array();
|
||||
var hookable_list = new Array();
|
||||
var timer;
|
||||
$(document).ready(function() {
|
||||
|
||||
$('body').css('margin-bottom', '45px');
|
||||
$('#fancy').fancybox({
|
||||
autoDimensions: true,
|
||||
@@ -23,8 +22,7 @@ $(document).ready(function() {
|
||||
if (href != undefined && href != '#' && href.substr(0, baseDir.length) == baseDir) {
|
||||
if (search.length == 0) {
|
||||
$(this).attr('search', hrefAdd);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
$(this).attr('search', search + '&' + hrefAdd);
|
||||
}
|
||||
}
|
||||
@@ -37,23 +35,19 @@ $(document).ready(function() {
|
||||
});
|
||||
return false;
|
||||
});
|
||||
|
||||
$('#cancelMove').unbind('click').click(function() {
|
||||
$('#' + cancelMove + '').sortable('cancel');
|
||||
return false;
|
||||
});
|
||||
|
||||
$('#saveLiveEdit').unbind('click').click(function() {
|
||||
saveModulePosition();
|
||||
return false;
|
||||
});
|
||||
|
||||
$('#closeLiveEdit').unbind('click').click(function() {
|
||||
$("#live_edit_feedback_str").html('<div style="padding:10px;"><p style="margin-bottom:10px;">' + confirmClose + '</p><p style="height:1.6em;display:block"><a style="margin:auto;float:left" class="button" href="#" onclick="closeLiveEdit();">' + confirm + '</a><a style="margin:auto;float:right;" class="button" href="#" onclick="closeFancybox();">' + cancel + '</a></p></div>');
|
||||
$("#fancy").attr('href', '#live_edit_feedback');
|
||||
$("#fancy").trigger("click");
|
||||
});
|
||||
|
||||
$('.add_module_live_edit').unbind('click').click(function() {
|
||||
$("#live_edit_feedback_str").html('<div style="padding:10px"><img src="img/loadingAnimation.gif"></div>');
|
||||
$("#fancy").attr('href', '#live_edit_feedback');
|
||||
@@ -62,17 +56,14 @@ $(document).ready(function() {
|
||||
getHookableModuleList(id.substr(4, id.length));
|
||||
return false;
|
||||
});
|
||||
|
||||
$('.dndHook').each(function() {
|
||||
var id_hook = $(this).attr('id');
|
||||
var new_target = '';
|
||||
var old_target = '';
|
||||
var cancel = false;
|
||||
|
||||
$('#' + id_hook + '').sortable({
|
||||
opacity: 0.5,
|
||||
cursor: 'move',
|
||||
|
||||
connectWith: '.dndHook',
|
||||
receive: function(event, ui) {
|
||||
if (new_target == '') {
|
||||
@@ -83,11 +74,9 @@ $(document).ready(function() {
|
||||
new_target = ui.item[0].parentNode.id;
|
||||
},
|
||||
stop: function(event, ui) {
|
||||
|
||||
if (cancel) {
|
||||
$(this).sortable('cancel');
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
old_target = event.target.id;
|
||||
cancelMove = old_target;
|
||||
if (new_target == '') new_target = old_target;
|
||||
@@ -103,8 +92,7 @@ $(document).ready(function() {
|
||||
border: '1px solid #72CB67',
|
||||
background: '#DFFAD3'
|
||||
});
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
ui.placeholder.css({
|
||||
visibility: 'visible',
|
||||
border: '1px solid #EC9B9B',
|
||||
@@ -126,17 +114,12 @@ function getHookableList() {
|
||||
dataType: 'json',
|
||||
data: 'ajax=true&getHookableList&hooks_list=' + hooks_list + '&modules_list=' + modules_list + '&id_shop=' + get('id_shop'),
|
||||
success: function(jsonData) {
|
||||
if (jsonData.hasError)
|
||||
{
|
||||
if (jsonData.hasError) {
|
||||
var errors = '';
|
||||
for(error in jsonData.errors)
|
||||
//IE6 bug fix
|
||||
if(error != 'indexOf')
|
||||
errors += jsonData.errors[error] + "\n";
|
||||
for (error in jsonData.errors) //IE6 bug fix
|
||||
if (error != 'indexOf') errors += jsonData.errors[error] + "\n";
|
||||
alert(errors);
|
||||
}
|
||||
else
|
||||
hookable_list = jsonData;
|
||||
} else hookable_list = jsonData;
|
||||
},
|
||||
error: function(XMLHttpRequest, textStatus, errorThrown) {
|
||||
$('#live_edit_feedback_str').html('<div class="live_edit_feed_back_ko"><img src="img/admin/error.png"><h3>TECHNICAL ERROR:</h3>' + loadFail + '<br><br><a style="margin:auto" class="button" href="#" onclick="closeFancybox();">' + close + '</a></div>');
|
||||
@@ -145,9 +128,7 @@ function getHookableList() {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function getHookableModuleList(hook) {
|
||||
|
||||
$.ajax({
|
||||
type: 'GET',
|
||||
url: baseDir + ad + '/ajax.php',
|
||||
@@ -155,7 +136,6 @@ function getHookableModuleList(hook) {
|
||||
dataType: 'json',
|
||||
data: 'ajax=true&getHookableModuleList&hook=' + hook + '&id_shop=' + get('id_shop'),
|
||||
success: function(jsonData) {
|
||||
|
||||
var select = '<select id="select_module">';
|
||||
for (var i = 0; i < jsonData.length; i++) {
|
||||
select += '<option value="' + jsonData[i].id + '">' + jsonData[i].name + '</option>';
|
||||
@@ -168,7 +148,6 @@ function getHookableModuleList(hook) {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function saveModulePosition() {
|
||||
$("#live_edit_feedback_str").html('<div style="padding:10px"><img src="img/loadingAnimation.gif"></div>');
|
||||
$("#fancy").attr('href', '#live_edit_feedback');
|
||||
@@ -197,17 +176,14 @@ function saveModulePosition() {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function closeFancybox() {
|
||||
clearTimeout(timer);
|
||||
$.fancybox.close();
|
||||
$('#live_edit_feedback_str').html('');
|
||||
}
|
||||
|
||||
function closeLiveEdit(){
|
||||
window.location.href = window.location.protocol+'//'+window.location.host+window.location.pathname;
|
||||
}
|
||||
|
||||
function hideFeedback() {
|
||||
$('#live_edit_feed_back').fadeOut('slow', function() {
|
||||
$.fancybox.close();
|
||||
@@ -221,8 +197,7 @@ function get(name) {
|
||||
var results = regex.exec(window.location.href);
|
||||
if (results == null) {
|
||||
return "";
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
return results[1];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,95 @@
|
||||
/*
|
||||
* jQuery creditcard2 extension for the jQuery Validation plugin (http://plugins.jquery.com/project/validate).
|
||||
* Ported from http://www.braemoor.co.uk/software/creditcard.shtml by John Gardner, with some enhancements.
|
||||
*
|
||||
* Author: Jack Killpatrick
|
||||
* Copyright (c) 2010 iHwy, Inc.
|
||||
*
|
||||
* Version 1.0.1 (1/12/2010)
|
||||
* Tested with jquery 1.2.6, but will probably work with earlier versions.
|
||||
*
|
||||
* History:
|
||||
* 1.0.0 - released 2008-11-17
|
||||
* 1.0.1 - released 2010-01-12 -> updated card prefixes based on data at: http://en.wikipedia.org/wiki/Credit_card_number and added support for LaserCard
|
||||
*
|
||||
* Visit http://www.ihwy.com/labs/jquery-validate-credit-card-extension.aspx for usage information
|
||||
*
|
||||
* Dual licensed under the MIT and GPL licenses:
|
||||
* http://www.opensource.org/licenses/mit-license.php
|
||||
* http://www.gnu.org/licenses/gpl.html
|
||||
*/
|
||||
|
||||
function validateCC(cardNo, cardName)
|
||||
{
|
||||
//jQuery.validator.addMethod("creditcard2", function(value, element, param) {
|
||||
var cards = new Array();
|
||||
cards[0] = { cardName: "Visa", lengths: "13,16", prefixes: "4", checkdigit: true };
|
||||
cards[1] = { cardName: "MasterCard", lengths: "16", prefixes: "51,52,53,54,55", checkdigit: true };
|
||||
cards[2] = { cardName: "DinersClub", lengths: "14,16", prefixes: "305,36,38,54,55", checkdigit: true };
|
||||
cards[3] = { cardName: "CarteBlanche", lengths: "14", prefixes: "300,301,302,303,304,305", checkdigit: true };
|
||||
cards[4] = { cardName: "AmEx", lengths: "15", prefixes: "34,37", checkdigit: true };
|
||||
cards[5] = { cardName: "Discover", lengths: "16", prefixes: "6011,622,64,65", checkdigit: true };
|
||||
cards[6] = { cardName: "JCB", lengths: "16", prefixes: "35", checkdigit: true };
|
||||
cards[7] = { cardName: "enRoute", lengths: "15", prefixes: "2014,2149", checkdigit: true };
|
||||
cards[8] = { cardName: "Solo", lengths: "16,18,19", prefixes: "6334, 6767", checkdigit: true };
|
||||
cards[9] = { cardName: "Switch", lengths: "16,18,19", prefixes: "4903,4905,4911,4936,564182,633110,6333,6759", checkdigit: true };
|
||||
cards[10] = { cardName: "Maestro", lengths: "12,13,14,15,16,18,19", prefixes: "5018,5020,5038,6304,6759,6761", checkdigit: true };
|
||||
cards[11] = { cardName: "VisaElectron", lengths: "16", prefixes: "417500,4917,4913,4508,4844", checkdigit: true };
|
||||
cards[12] = { cardName: "LaserCard", lengths: "16,17,18,19", prefixes: "6304,6706,6771,6709", checkdigit: true };
|
||||
|
||||
var cardType = -1;
|
||||
for (var i = 0; i < cards.length; i++) {
|
||||
if (cardName.toLowerCase() == cards[i].cardName.toLowerCase()) {
|
||||
cardType = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (cardType == -1) { return false; } // card type not found
|
||||
|
||||
cardNo = cardNo.replace(/[\s-]/g, ""); // remove spaces and dashes
|
||||
if (cardNo.length == 0) { return false; } // no length
|
||||
|
||||
var cardexp = /^[0-9]{13,19}$/;
|
||||
if (!cardexp.exec(cardNo)) { return false; } // has chars or wrong length
|
||||
|
||||
cardNo = cardNo.replace(/\D/g, ""); // strip down to digits
|
||||
|
||||
if (cards[cardType].checkdigit) {
|
||||
var checksum = 0;
|
||||
var mychar = "";
|
||||
var j = 1;
|
||||
|
||||
var calc;
|
||||
for (i = cardNo.length - 1; i >= 0; i--) {
|
||||
calc = Number(cardNo.charAt(i)) * j;
|
||||
if (calc > 9) {
|
||||
checksum = checksum + 1;
|
||||
calc = calc - 10;
|
||||
}
|
||||
checksum = checksum + calc;
|
||||
if (j == 1) { j = 2 } else { j = 1 };
|
||||
}
|
||||
|
||||
if (checksum % 10 != 0) { return false; } // not mod10
|
||||
}
|
||||
|
||||
var lengthValid = false;
|
||||
var prefixValid = false;
|
||||
var prefix = new Array();
|
||||
var lengths = new Array();
|
||||
|
||||
prefix = cards[cardType].prefixes.split(",");
|
||||
for (i = 0; i < prefix.length; i++) {
|
||||
var exp = new RegExp("^" + prefix[i]);
|
||||
if (exp.test(cardNo)) prefixValid = true;
|
||||
}
|
||||
if (!prefixValid) { return false; } // invalid prefix
|
||||
|
||||
lengths = cards[cardType].lengths.split(",");
|
||||
for (j = 0; j < lengths.length; j++) {
|
||||
if (cardNo.length == lengths[j]) lengthValid = true;
|
||||
}
|
||||
if (!lengthValid) { return false; } // wrong length
|
||||
|
||||
return true;
|
||||
}
|
||||
Reference in New Issue
Block a user