You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							91 lines
						
					
					
						
							2.9 KiB
						
					
					
				
			
		
		
	
	
							91 lines
						
					
					
						
							2.9 KiB
						
					
					
				<?php
 | 
						|
/* For licensing terms, see /license.txt */
 | 
						|
/**
 | 
						|
 * This script prints a list of most used language terms. The registration of
 | 
						|
 * frequency for language variables is a very heavy operation. 
 | 
						|
 * To enable, add "$_configuration['language_measure_frequency' ] = 1;" at the
 | 
						|
 * end of main/inc/conf/configuration.php. Remove when done.
 | 
						|
 * Add ?output=1 to the URL to generate languag files in /tmp/lang/ with just
 | 
						|
 * the number of terms you want.
 | 
						|
 */
 | 
						|
/**
 | 
						|
 * Requires
 | 
						|
 */
 | 
						|
die();
 | 
						|
$language_file = array(
 | 
						|
'gradebook', 'registration', 'admin', 'group',
 | 
						|
'help', 'reservation', 'hotspot',
 | 
						|
'blog', 'scormdocument',
 | 
						|
'index', 'install', 'shibboleth',
 | 
						|
'learnpath', 'course_info', 'survey',
 | 
						|
'courses', 'md_document', 'tracking', 'create_course',
 | 
						|
'trad4all', 'document', 'userInfo', 'dropbox',
 | 
						|
'videoconf', 'exercice', 'wiki',
 | 
						|
'work', 'forum'
 | 
						|
);
 | 
						|
require_once '../../inc/global.inc.php';
 | 
						|
require_once 'langstats.class.php';
 | 
						|
/**
 | 
						|
 * Init
 | 
						|
 */
 | 
						|
$terms_limit = 10000 + 50;
 | 
						|
$x_most_popular = 2000;
 | 
						|
$output = false;
 | 
						|
$ls = new langstats();
 | 
						|
if ($ls === false) {
 | 
						|
  exit($ls->error);
 | 
						|
}
 | 
						|
$list = $ls->get_popular_terms($x_most_popular);
 | 
						|
if ($_GET['output'] == 1) {
 | 
						|
  $output = true;
 | 
						|
  $variables_origin = $ls->get_variables_origin();
 | 
						|
}
 | 
						|
/**
 | 
						|
 * Display
 | 
						|
 */
 | 
						|
if (count($list)==0) { echo 'No terms loaded so far'; }
 | 
						|
if (count($list)>0) {
 | 
						|
  $i = 1;
 | 
						|
  $j = 1;
 | 
						|
  $k = 0;
 | 
						|
  $files = array();
 | 
						|
  $trans = array();
 | 
						|
  echo 'Number of records: '.count($list).'<br />';
 | 
						|
  echo '<table><tr><th>Index</th><th>Registration order</th><th>Term</th>'.($output==1?'<th>Origin</th>':'').'<th>Count</th></tr>';
 | 
						|
  foreach($list as $elem) {
 | 
						|
    if ($k > $terms_limit) { break; }
 | 
						|
    $fixed_elem = $elem;
 | 
						|
    if ($output) {
 | 
						|
      if (empty($variables_origin[$elem['term_name']]) && !empty($variables_origin['lang'.$elem['term_name']])) {
 | 
						|
        $fixed_elem = array('id' => $elem['id'], 'term_name' => 'lang'.$elem['term_name'], 'term_count' => $elem['term_count']);
 | 
						|
      }
 | 
						|
      if (empty($variables_origin[$fixed_elem['term_name']])) {
 | 
						|
        continue; 
 | 
						|
      }
 | 
						|
      $files[$variables_origin[$fixed_elem['term_name']]][] = $fixed_elem['term_name'];
 | 
						|
      $translation = get_lang($fixed_elem['term_name']);
 | 
						|
      $k += str_word_count($translation);
 | 
						|
      $trans[$fixed_elem['term_name']] = $translation;
 | 
						|
      $j++;
 | 
						|
    }
 | 
						|
    echo '<tr><td>',$i,
 | 
						|
      '</td><td>',$fixed_elem['id'],
 | 
						|
      '</td><td>',$fixed_elem['term_name'];
 | 
						|
    if ($output) {
 | 
						|
      echo '</td><td>'.$variables_origin[$fixed_elem['term_name']];
 | 
						|
    }
 | 
						|
    echo '</td><td>',$fixed_elem['term_count'],'</td></tr>';
 | 
						|
    $i++;
 | 
						|
  }
 | 
						|
  echo '</table>';
 | 
						|
  if ($output) {
 | 
						|
    @mkdir('/tmp/lang');
 | 
						|
    foreach ($files as $file => $terms) {
 | 
						|
      @touch('/tmp/lang/'.$file);
 | 
						|
      file_put_contents('/tmp/lang/'.$file,"<?php".PHP_EOL);
 | 
						|
      foreach ($terms as $term) {
 | 
						|
        file_put_contents('/tmp/lang/'.$file,'$'.$term.' = "'.str_replace('"','\"',$trans[$term]).'";'.PHP_EOL, FILE_APPEND);
 | 
						|
      }
 | 
						|
    }  
 | 
						|
  }
 | 
						|
}
 | 
						|
 |