Version Notes
updated included validation.js
minor fixes
Download this release
Release Info
Developer | Magento Core Team |
Extension | Fooman_Speedster |
Version | 1.0.3 |
Comparing to | |
See all releases |
Code changes from version 1.0.2 to 1.0.3
app/code/community/Fooman/Speedster/Block/Page/Html/Head.php
CHANGED
@@ -39,8 +39,8 @@ class Fooman_Speedster_Block_Page_Html_Head extends Mage_Page_Block_Html_Head
|
|
39 |
|
40 |
$lines = array();
|
41 |
|
42 |
-
$baseJs = Mage::getBaseUrl('js'
|
43 |
-
$baseJsFast = Mage::getBaseUrl('web'
|
44 |
$html = '';
|
45 |
//$html = "<!--".BP."-->\n";
|
46 |
$script = '<script type="text/javascript" src="%s" %s></script>';
|
39 |
|
40 |
$lines = array();
|
41 |
|
42 |
+
$baseJs = Mage::getBaseUrl('js');
|
43 |
+
$baseJsFast = Mage::getBaseUrl('web').'minify/';
|
44 |
$html = '';
|
45 |
//$html = "<!--".BP."-->\n";
|
46 |
$script = '<script type="text/javascript" src="%s" %s></script>';
|
app/code/community/Fooman/Speedster/etc/config.xml
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Fooman_Speedster>
|
5 |
-
<version>1.0.
|
6 |
<depends>
|
7 |
<Mage_Page />
|
8 |
<Mage_Adminhtml />
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Fooman_Speedster>
|
5 |
+
<version>1.0.3</version>
|
6 |
<depends>
|
7 |
<Mage_Page />
|
8 |
<Mage_Adminhtml />
|
js/prototype/validation-4min.js
CHANGED
@@ -68,6 +68,17 @@ Validator.methods = {
|
|
68 |
}
|
69 |
|
70 |
var Validation = Class.create();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
71 |
|
72 |
Validation.prototype = {
|
73 |
initialize : function(form, options){
|
@@ -76,23 +87,32 @@ Validation.prototype = {
|
|
76 |
return;
|
77 |
}
|
78 |
this.options = Object.extend({
|
79 |
-
onSubmit :
|
80 |
-
stopOnFirst :
|
81 |
-
immediate :
|
82 |
-
focusOnError :
|
83 |
-
useTitles :
|
84 |
-
onFormValidate :
|
85 |
-
onElementValidate :
|
86 |
}, options || {});
|
87 |
if(this.options.onSubmit) Event.observe(this.form,'submit',this.onSubmit.bind(this),false);
|
88 |
if(this.options.immediate) {
|
89 |
-
var useTitles = this.options.useTitles;
|
90 |
-
var callback = this.options.onElementValidate;
|
91 |
Form.getElements(this.form).each(function(input) { // Thanks Mike!
|
92 |
-
|
93 |
-
|
|
|
|
|
|
|
94 |
}
|
95 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
96 |
onSubmit : function(ev){
|
97 |
if(!this.validate()) Event.stop(ev);
|
98 |
},
|
@@ -144,8 +164,9 @@ Object.extend(Validation, {
|
|
144 |
var container = $(elm).up('.field-row');
|
145 |
if(container){
|
146 |
Element.insert(container, {after: advice});
|
147 |
-
}
|
148 |
-
|
|
|
149 |
$(elm.advaiceContainer).update(advice);
|
150 |
}
|
151 |
else {
|
@@ -211,6 +232,20 @@ Object.extend(Validation, {
|
|
211 |
|
212 |
elm.addClassName('validation-failed');
|
213 |
elm.addClassName('validate-ajax');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
214 |
},
|
215 |
test : function(name, elm, useTitle) {
|
216 |
var v = Validation.get(name);
|
@@ -230,6 +265,14 @@ Object.extend(Validation, {
|
|
230 |
elm.removeClassName('validation-passed');
|
231 |
elm.addClassName('validation-failed');
|
232 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
233 |
return false;
|
234 |
} else {
|
235 |
var advice = Validation.getAdvice(name, elm);
|
@@ -238,6 +281,17 @@ Object.extend(Validation, {
|
|
238 |
elm[prop] = '';
|
239 |
elm.removeClassName('validation-failed');
|
240 |
elm.addClassName('validation-passed');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
241 |
return true;
|
242 |
}
|
243 |
} catch(e) {
|
@@ -293,11 +347,20 @@ Object.extend(Validation, {
|
|
293 |
var prop = '__advice'+value.camelize();
|
294 |
if(elm[prop]) {
|
295 |
var advice = Validation.getAdvice(value, elm);
|
296 |
-
advice
|
|
|
|
|
297 |
elm[prop] = '';
|
298 |
}
|
299 |
elm.removeClassName('validation-failed');
|
300 |
elm.removeClassName('validation-passed');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
301 |
});
|
302 |
},
|
303 |
add : function(className, error, test, options) {
|
@@ -367,12 +430,30 @@ Validation.addAllThese([
|
|
367 |
//return Validation.get('IsEmpty').test(v) || /^[\!\#$%\*/?|\^\{\}`~&\'\+\-=_a-z0-9][\!\#$%\*/?|\^\{\}`~&\'\+\-=_a-z0-9\.]{1,30}[\!\#$%\*/?|\^\{\}`~&\'\+\-=_a-z0-9]@([a-z0-9_-]{1,30}\.){1,5}[a-z]{2,4}$/i.test(v)
|
368 |
//return Validation.get('IsEmpty').test(v) || /^[a-z0-9,!\#\$%&'\*\+/=\?\^_`\{\|}~-]+(\.[a-z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*\.([a-z]{2,})/i.test(v)
|
369 |
}],
|
|
|
|
|
|
|
370 |
['validate-password', 'Please enter 6 or more characters. Leading or trailing spaces will be ignored.', function(v) {
|
371 |
var pass=v.strip(); /*strip leading and trailing spaces*/
|
372 |
return !(pass.length>0 && pass.length < 6);
|
373 |
}],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
374 |
['validate-cpassword', 'Please make sure your passwords match.', function(v) {
|
375 |
-
|
|
|
|
|
|
|
|
|
|
|
376 |
var conf = $('confirmation') ? $('confirmation') : $$('.validate-cpassword')[0];
|
377 |
return (pass.value == conf.value);
|
378 |
}],
|
@@ -422,12 +503,17 @@ Validation.addAllThese([
|
|
422 |
});
|
423 |
}],
|
424 |
['validate-one-required-by-name', 'Please select one of the options.', function (v,elm) {
|
425 |
-
var inputs = $$('input');
|
|
|
426 |
var error = 1;
|
427 |
-
for( i
|
428 |
-
if( inputs[i].
|
429 |
error = 0;
|
430 |
}
|
|
|
|
|
|
|
|
|
431 |
}
|
432 |
|
433 |
if( error == 0 ) {
|
@@ -508,10 +594,20 @@ Validation.addAllThese([
|
|
508 |
return false;
|
509 |
}
|
510 |
|
|
|
|
|
|
|
|
|
511 |
return true;
|
512 |
}],
|
513 |
['validate-cc-type-select', 'Card type doesn\'t match credit card number', function(v, elm) {
|
514 |
var ccNumberContainer = $(elm.id.substr(0,elm.id.indexOf('_cc_type')) + '_cc_number');
|
|
|
|
|
|
|
|
|
|
|
|
|
515 |
return Validation.get('validate-cc-type').test(ccNumberContainer.value, ccNumberContainer);
|
516 |
}],
|
517 |
['validate-cc-exp', 'Incorrect credit card expiration date', function(v, elm) {
|
@@ -643,4 +739,4 @@ Validation.creditCartTypes = $H({
|
|
643 |
'DI': [new RegExp('^6011[0-9]{12}$'), new RegExp('^[0-9]{3}$'), true],
|
644 |
'SS': [new RegExp('^((6759[0-9]{12})|(49[013][1356][0-9]{13})|(633[34][0-9]{12})|(633110[0-9]{10})|(564182[0-9]{10}))([0-9]{2,3})?$'), new RegExp('^([0-9]{3}|[0-9]{4})?$'), true],
|
645 |
'OT': [false, new RegExp('^([0-9]{3}|[0-9]{4})?$'), false]
|
646 |
-
});
|
68 |
}
|
69 |
|
70 |
var Validation = Class.create();
|
71 |
+
Validation.defaultOptions = {
|
72 |
+
onSubmit : true,
|
73 |
+
stopOnFirst : false,
|
74 |
+
immediate : false,
|
75 |
+
focusOnError : true,
|
76 |
+
useTitles : false,
|
77 |
+
addClassNameToContainer: false,
|
78 |
+
containerClassName: '.input-box',
|
79 |
+
onFormValidate : function(result, form) {},
|
80 |
+
onElementValidate : function(result, elm) {}
|
81 |
+
};
|
82 |
|
83 |
Validation.prototype = {
|
84 |
initialize : function(form, options){
|
87 |
return;
|
88 |
}
|
89 |
this.options = Object.extend({
|
90 |
+
onSubmit : Validation.defaultOptions.onSubmit,
|
91 |
+
stopOnFirst : Validation.defaultOptions.stopOnFirst,
|
92 |
+
immediate : Validation.defaultOptions.immediate,
|
93 |
+
focusOnError : Validation.defaultOptions.focusOnError,
|
94 |
+
useTitles : Validation.defaultOptions.useTitles,
|
95 |
+
onFormValidate : Validation.defaultOptions.onFormValidate,
|
96 |
+
onElementValidate : Validation.defaultOptions.onElementValidate
|
97 |
}, options || {});
|
98 |
if(this.options.onSubmit) Event.observe(this.form,'submit',this.onSubmit.bind(this),false);
|
99 |
if(this.options.immediate) {
|
|
|
|
|
100 |
Form.getElements(this.form).each(function(input) { // Thanks Mike!
|
101 |
+
if (input.tagName.toLowerCase() == 'select') {
|
102 |
+
Event.observe(input, 'blur', this.onChange.bindAsEventListener(this));
|
103 |
+
}
|
104 |
+
Event.observe(input, 'change', this.onChange.bindAsEventListener(this));
|
105 |
+
}, this);
|
106 |
}
|
107 |
},
|
108 |
+
onChange : function (ev) {
|
109 |
+
Validation.isOnChange = true;
|
110 |
+
Validation.validate(Event.element(ev),{
|
111 |
+
useTitle : this.options.useTitles,
|
112 |
+
onElementValidate : this.options.onElementValidate
|
113 |
+
});
|
114 |
+
Validation.isOnChange = false;
|
115 |
+
},
|
116 |
onSubmit : function(ev){
|
117 |
if(!this.validate()) Event.stop(ev);
|
118 |
},
|
164 |
var container = $(elm).up('.field-row');
|
165 |
if(container){
|
166 |
Element.insert(container, {after: advice});
|
167 |
+
} else if (elm.up('td.value')) {
|
168 |
+
elm.up('td.value').insert({bottom: advice});
|
169 |
+
} else if (elm.advaiceContainer && $(elm.advaiceContainer)) {
|
170 |
$(elm.advaiceContainer).update(advice);
|
171 |
}
|
172 |
else {
|
232 |
|
233 |
elm.addClassName('validation-failed');
|
234 |
elm.addClassName('validate-ajax');
|
235 |
+
if (Validation.defaultOptions.addClassNameToContainer && Validation.defaultOptions.containerClassName != '') {
|
236 |
+
var container = elm.up(Validation.defaultOptions.containerClassName);
|
237 |
+
if (container && this.allowContainerClassName(elm)) {
|
238 |
+
container.removeClassName('validation-passed');
|
239 |
+
container.addClassName('validation-error');
|
240 |
+
}
|
241 |
+
}
|
242 |
+
},
|
243 |
+
allowContainerClassName: function (elm) {
|
244 |
+
if (elm.type == 'radio' || elm.type == 'checkbox') {
|
245 |
+
return elm.hasClassName('change-container-classname');
|
246 |
+
}
|
247 |
+
|
248 |
+
return true;
|
249 |
},
|
250 |
test : function(name, elm, useTitle) {
|
251 |
var v = Validation.get(name);
|
265 |
elm.removeClassName('validation-passed');
|
266 |
elm.addClassName('validation-failed');
|
267 |
}
|
268 |
+
|
269 |
+
if (Validation.defaultOptions.addClassNameToContainer && Validation.defaultOptions.containerClassName != '') {
|
270 |
+
var container = elm.up(Validation.defaultOptions.containerClassName);
|
271 |
+
if (container && this.allowContainerClassName(elm)) {
|
272 |
+
container.removeClassName('validation-passed');
|
273 |
+
container.addClassName('validation-error');
|
274 |
+
}
|
275 |
+
}
|
276 |
return false;
|
277 |
} else {
|
278 |
var advice = Validation.getAdvice(name, elm);
|
281 |
elm[prop] = '';
|
282 |
elm.removeClassName('validation-failed');
|
283 |
elm.addClassName('validation-passed');
|
284 |
+
if (Validation.defaultOptions.addClassNameToContainer && Validation.defaultOptions.containerClassName != '') {
|
285 |
+
var container = elm.up(Validation.defaultOptions.containerClassName);
|
286 |
+
if (container && !container.down('.validation-failed') && this.allowContainerClassName(elm)) {
|
287 |
+
if (!Validation.get('IsEmpty').test(elm.value) || !this.isVisible(elm)) {
|
288 |
+
container.addClassName('validation-passed');
|
289 |
+
} else {
|
290 |
+
container.removeClassName('validation-passed');
|
291 |
+
}
|
292 |
+
container.removeClassName('validation-error');
|
293 |
+
}
|
294 |
+
}
|
295 |
return true;
|
296 |
}
|
297 |
} catch(e) {
|
347 |
var prop = '__advice'+value.camelize();
|
348 |
if(elm[prop]) {
|
349 |
var advice = Validation.getAdvice(value, elm);
|
350 |
+
if (advice) {
|
351 |
+
advice.hide();
|
352 |
+
}
|
353 |
elm[prop] = '';
|
354 |
}
|
355 |
elm.removeClassName('validation-failed');
|
356 |
elm.removeClassName('validation-passed');
|
357 |
+
if (Validation.defaultOptions.addClassNameToContainer && Validation.defaultOptions.containerClassName != '') {
|
358 |
+
var container = elm.up(Validation.defaultOptions.containerClassName);
|
359 |
+
if (container) {
|
360 |
+
container.removeClassName('validation-passed');
|
361 |
+
container.removeClassName('validation-error');
|
362 |
+
}
|
363 |
+
}
|
364 |
});
|
365 |
},
|
366 |
add : function(className, error, test, options) {
|
430 |
//return Validation.get('IsEmpty').test(v) || /^[\!\#$%\*/?|\^\{\}`~&\'\+\-=_a-z0-9][\!\#$%\*/?|\^\{\}`~&\'\+\-=_a-z0-9\.]{1,30}[\!\#$%\*/?|\^\{\}`~&\'\+\-=_a-z0-9]@([a-z0-9_-]{1,30}\.){1,5}[a-z]{2,4}$/i.test(v)
|
431 |
//return Validation.get('IsEmpty').test(v) || /^[a-z0-9,!\#\$%&'\*\+/=\?\^_`\{\|}~-]+(\.[a-z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*\.([a-z]{2,})/i.test(v)
|
432 |
}],
|
433 |
+
['validate-emailSender', 'Please use only letters (a-z or A-Z), numbers (0-9) , underscore(_) or spaces in this field.', function (v) {
|
434 |
+
return Validation.get('IsEmpty').test(v) || /^[a-zA-Z0-9_\s]+$/.test(v)
|
435 |
+
}],
|
436 |
['validate-password', 'Please enter 6 or more characters. Leading or trailing spaces will be ignored.', function(v) {
|
437 |
var pass=v.strip(); /*strip leading and trailing spaces*/
|
438 |
return !(pass.length>0 && pass.length < 6);
|
439 |
}],
|
440 |
+
['validate-admin-password', 'Please enter 7 or more characters. Password should contain both numeric and alphabetic characters.', function(v) {
|
441 |
+
var pass=v.strip();
|
442 |
+
if (0 == pass.length) {
|
443 |
+
return true;
|
444 |
+
}
|
445 |
+
if (!(/[a-z]/i.test(v)) || !(/[0-9]/.test(v))) {
|
446 |
+
return false;
|
447 |
+
}
|
448 |
+
return !(pass.length < 7);
|
449 |
+
}],
|
450 |
['validate-cpassword', 'Please make sure your passwords match.', function(v) {
|
451 |
+
if ($('password')) {
|
452 |
+
var pass = $('password');
|
453 |
+
}
|
454 |
+
else {
|
455 |
+
var pass = $$('.validate-password').length ? $$('.validate-password')[0] : $$('.validate-admin-password')[0];
|
456 |
+
}
|
457 |
var conf = $('confirmation') ? $('confirmation') : $$('.validate-cpassword')[0];
|
458 |
return (pass.value == conf.value);
|
459 |
}],
|
503 |
});
|
504 |
}],
|
505 |
['validate-one-required-by-name', 'Please select one of the options.', function (v,elm) {
|
506 |
+
var inputs = $$('input[name="' + elm.name.replace(/([\\"])/g, '\\$1') + '"]');
|
507 |
+
|
508 |
var error = 1;
|
509 |
+
for(var i=0;i<inputs.length;i++) {
|
510 |
+
if((inputs[i].type == 'checkbox' || inputs[i].type == 'radio') && inputs[i].checked == true) {
|
511 |
error = 0;
|
512 |
}
|
513 |
+
|
514 |
+
if(Validation.isOnChange && (inputs[i].type == 'checkbox' || inputs[i].type == 'radio')) {
|
515 |
+
Validation.reset(inputs[i]);
|
516 |
+
}
|
517 |
}
|
518 |
|
519 |
if( error == 0 ) {
|
594 |
return false;
|
595 |
}
|
596 |
|
597 |
+
if (ccTypeContainer.hasClassName('validation-failed') && Validation.isOnChange) {
|
598 |
+
Validation.validate(ccTypeContainer);
|
599 |
+
}
|
600 |
+
|
601 |
return true;
|
602 |
}],
|
603 |
['validate-cc-type-select', 'Card type doesn\'t match credit card number', function(v, elm) {
|
604 |
var ccNumberContainer = $(elm.id.substr(0,elm.id.indexOf('_cc_type')) + '_cc_number');
|
605 |
+
if (Validation.isOnChange && Validation.get('IsEmpty').test(ccNumberContainer.value)) {
|
606 |
+
return true;
|
607 |
+
}
|
608 |
+
if (Validation.get('validate-cc-type').test(ccNumberContainer.value, ccNumberContainer)) {
|
609 |
+
Validation.validate(ccNumberContainer);
|
610 |
+
}
|
611 |
return Validation.get('validate-cc-type').test(ccNumberContainer.value, ccNumberContainer);
|
612 |
}],
|
613 |
['validate-cc-exp', 'Incorrect credit card expiration date', function(v, elm) {
|
739 |
'DI': [new RegExp('^6011[0-9]{12}$'), new RegExp('^[0-9]{3}$'), true],
|
740 |
'SS': [new RegExp('^((6759[0-9]{12})|(49[013][1356][0-9]{13})|(633[34][0-9]{12})|(633110[0-9]{10})|(564182[0-9]{10}))([0-9]{2,3})?$'), new RegExp('^([0-9]{3}|[0-9]{4})?$'), true],
|
741 |
'OT': [false, new RegExp('^([0-9]{3}|[0-9]{4})?$'), false]
|
742 |
+
});
|
lib/minify/lib/Minify/BuildSpeedster.php
CHANGED
@@ -10,10 +10,35 @@
|
|
10 |
require_once 'Build.php';
|
11 |
|
12 |
class Minify_Build_Speedster extends Minify_Build {
|
13 |
-
|
14 |
-
*
|
15 |
*
|
|
|
16 |
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
* @param null
|
18 |
* @return string
|
19 |
*/
|
10 |
require_once 'Build.php';
|
11 |
|
12 |
class Minify_Build_Speedster extends Minify_Build {
|
13 |
+
/**
|
14 |
+
* Create a build object
|
15 |
*
|
16 |
+
* @param array $sources array of Minify_Source objects and/or file paths
|
17 |
*
|
18 |
+
* @return null
|
19 |
+
*/
|
20 |
+
public function __construct($sources,$base)
|
21 |
+
{
|
22 |
+
$max = 0;
|
23 |
+
foreach ((array)$sources as $source) {
|
24 |
+
if ($source instanceof Minify_Source) {
|
25 |
+
$max = max($max, $source->lastModified);
|
26 |
+
} elseif (is_string($source)) {
|
27 |
+
if (0 === strpos($source, '//')) {
|
28 |
+
$source = $base . substr($source, 1);
|
29 |
+
}
|
30 |
+
if (is_file($source)) {
|
31 |
+
|
32 |
+
$max = max($max, filemtime($source));
|
33 |
+
}
|
34 |
+
}
|
35 |
+
}
|
36 |
+
$this->lastModified = $max;
|
37 |
+
}
|
38 |
+
|
39 |
+
|
40 |
+
/**
|
41 |
+
* Get last modified
|
42 |
* @param null
|
43 |
* @return string
|
44 |
*/
|
package.xml
CHANGED
@@ -1,23 +1,21 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Fooman_Speedster</name>
|
4 |
-
<version>1.0.
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://www.opensource.org/licenses/osl-3.0.php">OSL v3.0 / BSD see files</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
<summary>Speed up your store by combining, compressing and caching JS and CSS.</summary>
|
10 |
-
<description><p>FOOMAN Speedster 1.0.
|
11 |
-
|
12 |
<p>Speed up your store by combining, compressing and caching JS and CSS.</p>
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
<notes>reupload of 1.0.1</notes>
|
17 |
<authors><author><name>Kristof Ringleff</name><user>auto-converted</user><email>kristof@fooman.co.nz</email></author></authors>
|
18 |
-
<date>2009-
|
19 |
-
<time>
|
20 |
-
<contents><target name="mage"><dir name="app"><dir name="etc"><dir name="modules"><file name="Fooman_Speedster.xml" hash="94d303cd2552119381411068d2e7809b"/></dir></dir></dir><dir name="js"><dir name="prototype"><file name="validation-4min.js" hash="
|
21 |
<compatible/>
|
22 |
<dependencies/>
|
23 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Fooman_Speedster</name>
|
4 |
+
<version>1.0.3</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://www.opensource.org/licenses/osl-3.0.php">OSL v3.0 / BSD see files</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
<summary>Speed up your store by combining, compressing and caching JS and CSS.</summary>
|
10 |
+
<description><p>FOOMAN Speedster 1.0.3</p>
|
|
|
11 |
<p>Speed up your store by combining, compressing and caching JS and CSS.</p>
|
12 |
+
<p>Please read the installation instructions and latest changes <a href="http://www.magentocommerce.com/extension/457/fooman-speedster">here.</a></p></description>
|
13 |
+
<notes>updated included validation.js
|
14 |
+
minor fixes</notes>
|
|
|
15 |
<authors><author><name>Kristof Ringleff</name><user>auto-converted</user><email>kristof@fooman.co.nz</email></author></authors>
|
16 |
+
<date>2009-06-08</date>
|
17 |
+
<time>00:34:33</time>
|
18 |
+
<contents><target name="mage"><dir name="app"><dir name="etc"><dir name="modules"><file name="Fooman_Speedster.xml" hash="94d303cd2552119381411068d2e7809b"/></dir></dir></dir><dir name="js"><dir name="prototype"><file name="validation-4min.js" hash="13c749d40036ae055baa6f7825499c1c"/></dir></dir><dir name="lib"><dir name="minify"><file name=".htaccess" hash="4d6b8833e4ccae2d2393dfeba369b894"/></dir></dir><dir name="var"><dir name="minifycache"><file name="cache.txt" hash="5709c1d6a6f85fb7b7ea2eef23086b46"/></dir></dir></target><target name="magecommunity"><dir name="Fooman"><dir name="Speedster"><dir name="Block"><dir name="Adminhtml"><dir name="Page"><file name="Head.php" hash="d850197d05af7b972eda1ef6bf3da2ed"/></dir></dir><dir name="Page"><dir name="Html"><file name="Head.php" hash="b3e32a0793bcf35dfcfd07ad4d618222"/></dir></dir></dir><dir name="etc"><file name="config.xml" hash="a5a8c8e6fdd1274e333d2cfb12d43f74"/></dir></dir></dir></target><target name="magelib"><dir name="minify"><dir name="lib"><dir name="HTTP"><file name="ConditionalGet.php" hash="2617a41438dff20749abb9be1793b10f"/><file name="Encoder.php" hash="a2f4ae355c06fb6a98d6b4bd82c34e76"/></dir><dir name="Minify"><dir name="Cache"><file name="APC.php" hash="2766ccf5e1e4d6e38d3ec128dbc4bc6f"/><file name="File.php" hash="dd7545011e50c153a11dd100db35315a"/><file name="Memcache.php" hash="fa208d979196d0479e3aacec853502c8"/></dir><dir name="Controller"><file name="Base.php" hash="070ed4d5f471a88f2f45cf2e93ba720a"/><file name="Files.php" hash="f579a28cea39da5c595057e72fc65967"/><file name="Groups.php" hash="79bb7cbd0b598dc35a93b99adfdbfab6"/><file name="MinApp.php" hash="42803a069db0f5892012991af5ec5334"/><file name="Page.php" hash="113e99f1206cfb3c3a64aedef65554d1"/><file name="Version1.php" hash="4369c8793be1d5cf061a99651b16da26"/></dir><dir name="CSS"><file name="Compressor.php" hash="3a3a65aa92f74958f50d9d43f8827f8a"/><file name="UriRewriter.php" hash="da8f5cdad4726e0370bbe5f351ec9d98"/></dir><file name="Build.php" hash="6e329c2acc80b72cfde52be6918940bb"/><file name="BuildSpeedster.php" hash="b93d3e802e2bf7b31eecf9537d3e92f9"/><file name="CommentPreserver.php" hash="86bab05265083b57935503bdd735ce74"/><file name="CSS.php" hash="cdeb49c0f35a6cef166c6cfee7f1dd95"/><file name="HTML.php" hash="e774a70491041048fef690d4b162e0ce"/><file name="ImportProcessor.php" hash="3d1726a5df7eb2edba8cd6da2cb75eec"/><file name="Javascript.php" hash="1baa1a43818fcecb89c2a08b40a544da"/><file name="Lines.php" hash="80b2932320c98d1e84aa7f48fceb35e8"/><file name="Logger.php" hash="b2844a8c35e028b9ee725be05adbcf7e"/><file name="Packer.php" hash="41878d87ec3b3e3bbd1538291edeb7cf"/><file name="Source.php" hash="a8d9fa9f0ab2ba9e9b37209148375924"/><file name="YUICompressor.php" hash="13840856d6340e70e7289035827b8b7d"/></dir><dir name="Solar"><file name="Dir.php" hash="6c88f363f6830ac4dc3917eac3c9d78c"/></dir><file name="FirePHP.php" hash="f619b5a77fee4b21e4397e98d858fbf4"/><file name="JSMin.php" hash="e9fe7911a2787240d3ed6dd2da9bc95b"/><file name="Minify.php" hash="9ee5b8bb23e3d856faec4358aa887e33"/></dir><file name="HISTORY.txt" hash="70c3e25e9331dc17e5d538bfc3dd8fe1"/><file name="LICENSE.txt" hash="911d374696c0a5e9e6e848e7f20d0ee1"/><file name="m.php" hash="49b12c34094a3ba1090f7b42719706e7"/><file name="README.txt" hash="6e961a626ae6814c72fab53bcad4a4a7"/></dir></target></contents>
|
19 |
<compatible/>
|
20 |
<dependencies/>
|
21 |
</package>
|