periodes of 50 years from 1700-2000 // age -> periodes of 10 years (different for 0-1,1-5,5-10,10-20 etc) // // webtrees: Web based Family History software // Copyright (C) 2014 webtrees development team. // // Derived from PhpGedView // Copyright (C) 2002 to 2010 PGV Development Team. All rights reserved. // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA define('WT_SCRIPT_NAME', 'statistics.php'); require './includes/session.php'; // check for on demand content loading $tab = WT_Filter::getInteger('tab', 0, 3); $ajax = WT_Filter::getBool('ajax'); if (!$ajax) { $controller = new WT_Controller_Page(); $controller->setPageTitle(WT_I18N::translate('Statistics')) ->addExternalJavascript(WT_STATIC_URL . 'js/autocomplete.js') ->addInlineJavascript(' jQuery("#statistics_chart").css("visibility", "visible"); jQuery("#statistics_chart").tabs({ load: function() { jQuery("#loading-indicator").removeClass("loading-image"); }, beforeLoad: function(event, ui) { jQuery("#loading-indicator").addClass("loading-image"); // Only load each tab once if (ui.tab.data("loaded")) { event.preventDefault(); return; } ui.jqXHR.success(function() { ui.tab.data("loaded", true); }); } }); ') ->pageHeader(); echo '

', WT_I18N::translate('Statistics'), '

', '
', '', '
', '
', // statistics_chart '
', // statistics-page '

'; } else { $controller = new WT_Controller_Ajax(); $controller ->pageHeader() ->addInlineJavascript('autocomplete();') ->addInlineJavascript('jQuery("#loading-indicator").removeClass("loading-image");'); $stats = new WT_Stats($GEDCOM); if ($tab==0) { echo '
', WT_I18N::translate('Total individuals: %s', $stats->totalIndividuals()), '
', WT_I18N::translate('Total males'), ' ', WT_I18N::translate('Total females'), ' ', WT_I18N::translate('Total living'), ' ', WT_I18N::translate('Total dead'), '
', $stats->totalSexMales(), ' ', $stats->totalSexFemales(), ' ', $stats->totalLiving(), ' ', $stats->totalDeceased(), '
', $stats->chartSex(), ' ', $stats->chartMortality(), '

', WT_I18N::translate('Events'), '
', WT_I18N::translate('Total births'), ' ', WT_I18N::translate('Total deaths'), '
', $stats->totalBirths(), ' ', $stats->totalDeaths(), '
', WT_I18N::translate('Births by century'), ' ', WT_I18N::translate('Deaths by century'), '
', $stats->statsBirth(), ' ', $stats->statsDeath(), '
', WT_I18N::translate('Earliest birth'), ' ', WT_I18N::translate('Earliest death'), '
', $stats->firstBirth(), ' ', $stats->firstDeath(), '
', WT_I18N::translate('Latest birth'), ' ', WT_I18N::translate('Latest death'), '
', $stats->lastBirth(), ' ', $stats->lastDeath(), '

', WT_I18N::translate('Lifespan'), '
', WT_I18N::translate('Average age at death'), ' ', WT_I18N::translate('Males'), ' ', WT_I18N::translate('Females'), '
', $stats->averageLifespan(true), ' ', $stats->averageLifespanMale(true), ' ', $stats->averageLifespanFemale(true), '
', $stats->statsAge(), '

', WT_I18N::translate('Greatest age at death'), '
', WT_I18N::translate('Males'), ' ', WT_I18N::translate('Females'), '
', $stats->topTenOldestMaleList(), ' ', $stats->topTenOldestFemaleList(), '

'; if (WT_USER_ID) { echo '', WT_I18N::translate('Oldest living individuals'), '
', WT_I18N::translate('Males'), ' ', WT_I18N::translate('Females'), '
', $stats->topTenOldestMaleListAlive(), ' ', $stats->topTenOldestFemaleListAlive(), '

'; } echo '', WT_I18N::translate('Names'), '
', WT_I18N::translate('Total surnames'), ' ', WT_I18N::translate('Total given names'), '
', $stats->totalSurnames(), ' ', $stats->totalGivennames(), '
', WT_I18N::translate('Top surnames'), ' ', WT_I18N::translate('Top given names'), '
', $stats->chartCommonSurnames(), ' ', $stats->chartCommonGiven(), '
'; } else if ($tab==1) { echo '
', WT_I18N::translate('Total families: %s', $stats->totalFamilies()), ' ', WT_I18N::translate('Events'), '
', WT_I18N::translate('Total marriages'), ' ', WT_I18N::translate('Total divorces'), '
', $stats->totalMarriages(), ' ', $stats->totalDivorces(), '
', WT_I18N::translate('Marriages by century'), ' ', WT_I18N::translate('Divorces by century'), '
', $stats->statsMarr(), ' ', $stats->statsDiv(), '
', WT_I18N::translate('Earliest marriage'), ' ', WT_I18N::translate('Earliest divorce'), '
', $stats->firstMarriage(), ' ', $stats->firstDivorce(), '
', WT_I18N::translate('Latest marriage'), ' ', WT_I18N::translate('Latest divorce'), '
', $stats->lastMarriage(), ' ', $stats->lastDivorce(), '

', WT_I18N::translate('Length of marriage'), '
', WT_I18N::translate('Longest marriage'), ' - ', $stats->topAgeOfMarriage(), ' ', WT_I18N::translate('Shortest marriage'), ' - ', $stats->minAgeOfMarriage(), '
', $stats->topAgeOfMarriageFamily(), ' ', $stats->minAgeOfMarriageFamily(), '

', WT_I18N::translate('Age in year of marriage'), '
', WT_I18N::translate('Youngest male'), ' - ', $stats->youngestMarriageMaleAge(true), ' ', WT_I18N::translate('Youngest female'), ' - ', $stats->youngestMarriageFemaleAge(true), '
', $stats->youngestMarriageMale(), ' ', $stats->youngestMarriageFemale(), '
', WT_I18N::translate('Oldest male'), ' - ', $stats->oldestMarriageMaleAge(true), ' ', WT_I18N::translate('Oldest female'), ' - ', $stats->oldestMarriageFemaleAge(true), '
', $stats->oldestMarriageMale(), ' ', $stats->oldestMarriageFemale(), '
', $stats->statsMarrAge(), '

', WT_I18N::translate('Age at birth of child'), '
', WT_I18N::translate('Youngest father'), ' - ', $stats->youngestFatherAge(true), ' ', WT_I18N::translate('Youngest mother'), ' - ', $stats->youngestMotherAge(true), '
', $stats->youngestFather(), ' ', $stats->youngestMother(), '
', WT_I18N::translate('Oldest father'), ' - ', $stats->oldestFatherAge(true), ' ', WT_I18N::translate('Oldest mother'), ' - ', $stats->oldestMotherAge(true), '
', $stats->oldestFather(), ' ', $stats->oldestMother(), '

', WT_I18N::translate('Children in family'), '
', WT_I18N::translate('Average number of children per family'), ' ', WT_I18N::translate('Number of families without children'), '
', $stats->averageChildren(), ' ', $stats->noChildrenFamilies(), '
', $stats->statsChildren(), ' ', $stats->chartNoChildrenFamilies(), '
', WT_I18N::translate('Largest families'), ' ', WT_I18N::translate('Largest number of grandchildren'), '
', $stats->topTenLargestFamilyList(), ' ', $stats->topTenLargestGrandFamilyList(), '

', WT_I18N::translate('Age difference'), '
', WT_I18N::translate('Age between siblings'), ' ', WT_I18N::translate('Greatest age between siblings'), '
', $stats->topAgeBetweenSiblingsList(), ' ', $stats->topAgeBetweenSiblingsFullName(), '
', WT_I18N::translate('Age between husband and wife'), ' ', WT_I18N::translate('Age between wife and husband'), '
', $stats->ageBetweenSpousesMFList(), ' ', $stats->ageBetweenSpousesFMList(), '
'; } else if ($tab==2) { echo '
', WT_I18N::translate('Records'), ': ', $stats->totalRecords(), '
', WT_I18N::translate('Media objects'), ' ', WT_I18N::translate('Sources'), ' ', WT_I18N::translate('Notes'), ' ', WT_I18N::translate('Repositories'), '
', $stats->totalMedia(), ' ', $stats->totalSources(), ' ', $stats->totalNotes(), ' ', $stats->totalRepositories(), '
', WT_I18N::translate('Total events'), ': ', $stats->totalEvents(), '
', WT_I18N::translate('First event'), ' - ', $stats->firstEventType(), ' ', WT_I18N::translate('Last event'), ' - ', $stats->lastEventType(), '
', $stats->firstEvent(), ' ', $stats->lastEvent(), '
', WT_I18N::translate('Media objects'), ': ', $stats->totalMedia(), '
', WT_I18N::translate('Media objects'), '
', $stats->chartMedia(), '
', WT_I18N::translate('Sources'), ': ', $stats->totalSources(), '
', WT_I18N::translate('Individuals with sources'), ' ', WT_I18N::translate('Families with sources'), '
', $stats->totalIndisWithSources(), ' ', $stats->totalFamsWithSources(), '
', $stats->chartIndisWithSources(), ' ', $stats->chartFamsWithSources(), '
', WT_I18N::translate('Places'), ': ', $stats->totalPlaces(), '
', WT_I18N::translate('Birth places'), ' ', WT_I18N::translate('Death places'), '
', $stats->commonBirthPlacesList(), ' ', $stats->commonDeathPlacesList(), '
', WT_I18N::translate('Marriage places'), ' ', WT_I18N::translate('Events in countries'), '
', $stats->commonMarriagePlacesList(), ' ', $stats->commonCountriesList(), '
', $stats->chartDistribution(), '
'; } else if ($tab==3) { echo '
', WT_I18N::translate('Create your own chart'), ''; ?>
'; echo ''; echo ''; if (!isset($plottype)) $plottype = 11; if (!isset($charttype)) $charttype = 1; if (!isset($plotshow)) $plotshow = 302; if (!isset($plotnp)) $plotnp = 201; if (isset($WT_SESSION->statTicks[$GEDCOM])) { $xasGrLeeftijden = $WT_SESSION->statTicks[$GEDCOM]['xasGrLeeftijden']; $xasGrMaanden = $WT_SESSION->statTicks[$GEDCOM]['xasGrMaanden']; $xasGrAantallen = $WT_SESSION->statTicks[$GEDCOM]['xasGrAantallen']; $zasGrPeriode = $WT_SESSION->statTicks[$GEDCOM]['zasGrPeriode']; } else { $xasGrLeeftijden = '1,5,10,20,30,40,50,60,70,80,90,100'; $xasGrMaanden = '-24,-12,0,8,12,18,24,48'; $xasGrAantallen = '1,2,3,4,5,6,7,8,9,10'; $zasGrPeriode = '1700,1750,1800,1850,1900,1950,2000'; } if (isset($WT_SESSION->statTicks1[$GEDCOM])) { $chart_shows = $WT_SESSION->statTicks1[$GEDCOM]['chart_shows']; $chart_type = $WT_SESSION->statTicks1[$GEDCOM]['chart_type']; $surname = $WT_SESSION->statTicks1[$GEDCOM]['surname']; } else { $chart_shows = 'world'; $chart_type = 'indi_distribution_chart'; $surname = $stats->getCommonSurname(); } echo '
', WT_I18N::translate('Select chart type:'), '
'; echo '
'; echo '
'; echo '
'; echo '
'; //echo '
'; echo '
'; echo '
'; echo '
'; echo '
'; echo '
'; echo '
'; echo '
'; echo '
'; echo '
'; echo '
', WT_I18N::translate('Categories:'), '
'; echo '
'; echo '

'; echo WT_I18N::translate('Date range'), '
'; echo '

'; echo WT_I18N::translate('results:'), '
'; echo '
'; echo '
'; echo '


'; } }