From 640dfe1d371f52819e46b76b120d0f9914412131 Mon Sep 17 00:00:00 2001 From: filip Date: Thu, 17 Jul 2014 21:37:26 +0200 Subject: added caching to improve report speed --- en/about/license/license.php | 85 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) (limited to 'en') diff --git a/en/about/license/license.php b/en/about/license/license.php index 5745e0826..7ae6d1cd7 100644 --- a/en/about/license/license.php +++ b/en/about/license/license.php @@ -53,3 +53,88 @@ function read_license_from_vcs($locale) { return $prepared_license_strings; } + +function load_license_numbers($lang, $skip_rebuilding_cache = false) +{ + $pot_filename = 'libDrakX.pot'; + $po_files_path = "http://gitweb.mageia.org/software/drakx/plain/perl-install/share/po/"; + $cache_file = __DIR__ . '/../../../_nav/var/tmp/cache/license_numbers_' . $lang . '.php'; + $rebuild_cache = false; + date_default_timezone_set(@date_default_timezone_get()); + if($lang == 'en') { + $filename = $pot_filename; + $start_text = '"POT-Creation-Date:'; + } else { + $filename = locale_hyphen_underscore($lang, true) . '.po'; // create pt_BR.po from pt-br and alike + $start_text = '"PO-Revision-Date:'; + } + if(!$skip_rebuilding_cache) { + $po_file = $po_files_path . $filename; + $filehandle = @fopen($po_file, 'r'); // read $po_file + if($filehandle !== false) { // could open $po_fil + fclose($filehandle); + $po_time = get_po_time($po_file, $start_text); + } else { + $po_time = get_po_time($po_files_path . $pot_filename, $start_text); + if(!$po_time) { $po_time = 0; } // fallback + } + if(file_exists($cache_file)) { + include $cache_file; + if($cached_time < $po_time) { + $rebuild_cache = true; + } + } else { + $rebuild_cache = true; + } + if($rebuild_cache) { + $license_array = read_license_from_vcs($lang); + $license_numbers = array_pop($license_array); + $license_num_all = $license_numbers["all"]; + $license_num_unt = $license_numbers["untran"]; + $cache_content = <<