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/

Reply via email to