public function testGetDevelopmentRevision()
 {
     $rev = getDevelopmentRevision();
     $this->assertFalse(empty($rev));
 }
Example #2
0
 /**
  * initializes the session
  */
 public static function setupSession()
 {
     self::startSession(array('name' => 'TINE20SETUPSESSID'), 'tinesetup');
     if (isset(self::get(self::SESSION)->setupuser)) {
         self::set(self::USER, self::get(self::SESSION)->setupuser);
     }
     $config = self::getConfig();
     define('TINE20_BUILDTYPE', strtoupper($config->get('buildtype', 'DEVELOPMENT')));
     define('TINE20SETUP_CODENAME', getDevelopmentRevision());
     define('TINE20SETUP_PACKAGESTRING', 'none');
     define('TINE20SETUP_RELEASETIME', 'none');
 }
Example #3
0
/**
 * generate statistics
 *
 * @param  bool $_verbose
 * @return void
 */
function statistics($_verbose)
{
    global $tine20path;
    $statsFile = "{$tine20path}/langstatistics.json";
    $locale = new Zend_Locale('en');
    $langStats = array();
    $poFilesStats = array();
    foreach (Tinebase_Translation::getTranslationDirs() as $appName => $translationPath) {
        if ($_verbose) {
            echo "Entering {$appName} \n";
        }
        $appStats[$appName] = array();
        foreach (scandir($translationPath) as $poFile) {
            if (substr($poFile, -3) == '.po') {
                if ($_verbose) {
                    echo "Processing {$appName}/{$poFile} \n";
                }
                $langCode = substr($poFile, 0, -3);
                $langLocale = new Zend_Locale($langCode);
                $statsOutput = `msgfmt --statistics {$translationPath}/{$poFile} 2>&1`;
                $statsParts = explode(',', $statsOutput);
                $statsParts = preg_replace('/^\\s*(\\d+).*/i', '$1', $statsParts);
                $translated = $fuzzy = $untranslated = $total = 0;
                switch (count($statsParts)) {
                    case 1:
                        $translated = $statsParts[0];
                        break;
                    case 2:
                        $translated = $statsParts[0];
                        $untranslated = $statsParts[1];
                        break;
                    case 3:
                        $translated = $statsParts[0];
                        $fuzzy = $statsParts[1];
                        $untranslated = $statsParts[2];
                        break;
                    default:
                        echo "Unexpected statistic return \n";
                        exit;
                }
                $total = array_sum($statsParts);
                $poFileStats = array('locale' => $langCode, 'language' => $locale->getTranslation($langLocale->getLanguage(), 'language'), 'region' => $locale->getTranslation($langLocale->getRegion(), 'country'), 'appname' => $appName, 'translated' => (int) $translated, 'fuzzy' => (int) $fuzzy, 'untranslated' => (int) $untranslated, 'total' => array_sum($statsParts));
                $poFilesStats[] = $poFileStats;
                // sum up lang statistics
                $langStats[$langCode] = array_key_exists($langCode, $langStats) ? $langStats[$langCode] : array('locale' => '', 'language' => '', 'region' => $locale->getTranslation($langLocale->getRegion(), 'country'), 'translated' => 0, 'fuzzy' => 0, 'untranslated' => 0, 'total' => 0);
                $langStats[$langCode]['locale'] = $langCode;
                $langStats[$langCode]['language'] = $locale->getTranslation($langLocale->getLanguage(), 'language');
                $langStats[$langCode]['region'] = $locale->getTranslation($langLocale->getRegion(), 'country');
                $langStats[$langCode]['appname'] = 'all';
                $langStats[$langCode]['translated'] += $poFileStats['translated'];
                $langStats[$langCode]['fuzzy'] += $poFileStats['fuzzy'];
                $langStats[$langCode]['untranslated'] += $poFileStats['untranslated'];
                $langStats[$langCode]['total'] += $poFileStats['total'];
            }
        }
    }
    // clean up unwanted messages.mo
    `rm messages.mo`;
    $results = array('version' => getDevelopmentRevision(), 'langStats' => array_values($langStats), 'poFilesStats' => $poFilesStats);
    file_put_contents($statsFile, Zend_Json::encode($results));
}