View the DQSD CVS repository here:
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dqsd/
Update of /cvsroot/dqsd/dqsd/addons/genealogy
In directory usw-pr-cvs1:/tmp/cvs-serv12265/addons/genealogy
Modified Files:
age.xml
Added Files:
datecalc.xml
Log Message:
fixed bug in age, added datecalc
--- NEW FILE: datecalc.xml ---
<search function="datecalc">
<name>Date Calculator</name>
<category>Genealogy</category>
<contributor>Brent Beardsley</contributor>
<link></link>
<email></email>
<description>
Calculate a date based on a specified start date and
the number of years, months, and days to add or subtract from it
<div class="helpboxDescLabels">Examples:</div>
<table class="helpboxDescTable">
<tr><td colspan="3">datecalc startDate [+/-][years,months,days]</td></tr>
<tr><td colspan="3"><br/></td></tr>
<tr><td>datecalc 1 Feb 1954 +3,0,1</td><td> - </td><td>Calculate 1 Feb 1954 plus
3 years and 1 day</td></tr>
<tr><td>datecalc 1 Feb 1954</td><td> - </td><td>Calculate the complete date
information including day of week</td></tr>
</table>
</description>
<script src="addons/genealogy/genealogy_lib.js"></script>
<script><![CDATA[
function datecalc(q)
{
if( nullArgs("datecalc", q) )
return;
if (!genealogy_check_lib_version("1.6")) {
return false;
}
var startDate = null;
var endDate = null;
var doSubtract = true;
var result = "Invalid date(s) specified.";
var parametersRegExp = new
RegExp("^\\s*"+genealogy_date_format_all+"\\s+(\\+|\\-)\\s*([0-9]*\\s*,\\s*[0-9]*\\s*,\\s*[0-9]*)\\s*$");
var justDateRegExp = new RegExp("^\\s*"+genealogy_date_format_all+"\\s*$");
if (q.match(parametersRegExp)) {
var r = parametersRegExp.exec(q);
if (r != null) {
startDate = genealogy_parse_date(r[1]);
endDate = new Date();
doSubtract = (r[14] != "+");
var amtParts = r[15].split(",");
var amtYears = parseInt(amtParts[0]);
if (isNaN(amtYears)) {
amtYears = 0;
}
var amtMonths = parseInt(amtParts[1]);
if (isNaN(amtMonths)) {
amtMonths = 0;
}
var amtDays = parseInt(amtParts[2]);
if (isNaN(amtDays)) {
amtDays = 0;
}
if (doSubtract) {
endDate.setFullYear(startDate.getFullYear()-amtYears);
endDate.setMonth(startDate.getMonth()-amtMonths);
endDate.setDate(startDate.getDate()-amtDays);
} else {
endDate.setFullYear(startDate.getFullYear()+amtYears);
endDate.setMonth(startDate.getMonth()+amtMonths);
endDate.setDate(startDate.getDate()+amtDays);
}
result = endDate;
}
} else if (q.match(justDateRegExp)) {
var r = justDateRegExp.exec(q);
if (r != null) {
endDate = genealogy_parse_date(r[1]);
}
}
if (endDate != null) {
// should format the date
result = endDate;
}
document.deff.q.value = result;
}
]]></script>
</search>
Index: age.xml
===================================================================
RCS file: /cvsroot/dqsd/dqsd/addons/genealogy/age.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** age.xml 3 Oct 2002 06:11:12 -0000 1.1
--- age.xml 5 Oct 2002 05:21:41 -0000 1.2
***************
*** 37,41 ****
var r = twoDatesRegEx.exec(q);
if (r != null) {
! startDate = genealogy_parse_date(r[6]);
endDate = genealogy_parse_date(r[10]);
result = genealogy_age_calc(startDate, endDate);
--- 37,41 ----
var r = twoDatesRegEx.exec(q);
if (r != null) {
! startDate = genealogy_parse_date(r[1]);
endDate = genealogy_parse_date(r[10]);
result = genealogy_age_calc(startDate, endDate);
***************
*** 44,48 ****
var r = oneDateRegEx.exec(q);
if (r != null) {
! startDate = genealogy_parse_date(r[6]);
result = genealogy_age_calc(startDate);
}
--- 44,48 ----
var r = oneDateRegEx.exec(q);
if (r != null) {
! startDate = genealogy_parse_date(r[1]);
result = genealogy_age_calc(startDate);
}
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
DQSD-CVS mailing list
https://lists.sourceforge.net/lists/listinfo/dqsd-cvs
DQSD CVS repository:
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dqsd/