original_string: public static function checkin($lang) {
          global $DB, $USER, $CFG;
          require_once($CFG->libdir.'/filelib.php');
  
          if ($lang !== clean_param($lang, PARAM_LANG)) {
              return false;
          }
  
          // get all customized strings from updated components
          $sql = "SELECT s.*, c.name AS component
                    FROM {tool_customlang} s
                    JOIN {tool_customlang_components} c ON s.componentid = c.id
                   WHERE s.lang = ?
                         AND (s.local IS NOT NULL OR s.modified = 1)
                ORDER BY componentid, stringid";
          $strings = $DB->get_records_sql($sql, array($lang));
  
          $files = array();
          foreach ($strings as $string) {
              if (!is_null($string->local)) {
                  $files[$string->component][$string->stringid] = $string->local;
              }
          }
  
          fulldelete(self::get_localpack_location($lang));
          foreach ($files as $component => $strings) {
              self::dump_strings($lang, $component, $strings);
          }
  
          $DB->set_field_select('tool_customlang', 'modified', 0, 'lang = ?', array($lang));
          $sm = get_string_manager();
          $sm->reset_caches();
      }
code: public static function checkin($lang) {
          global $DB, $USER, $CFG;
          require_once($CFG->libdir.'/filelib.php');
  
          if ($lang !== clean_param($lang, PARAM_LANG)) {
              return false;
          }
  
          // get all customized strings from updated components
          $sql = "SELECT s.*, c.name AS component
                    FROM {tool_customlang} s
                    JOIN {tool_customlang_components} c ON s.componentid = c.id
                   WHERE s.lang = ?
                         AND (s.local IS NOT NULL OR s.modified = 1)
                ORDER BY componentid, stringid";
          $strings = $DB->get_records_sql($sql, array($lang));
  
          $files = array();
          foreach ($strings as $string) {
              if (!is_null($string->local)) {
                  $files[$string->component][$string->stringid] = $string->local;
              }
          }
  
          fulldelete(self::get_localpack_location($lang));
          foreach ($files as $component => $strings) {
              self::dump_strings($lang, $component, $strings);
          }
  
          $DB->set_field_select('tool_customlang', 'modified', 0, 'lang = ?', array($lang));
          $sm = get_string_manager();
          $sm->reset_caches();
      }
code_tokens: public static function checkin ( $ lang ) { global $ DB , $ USER , $ CFG ; require_once ( $ CFG -> libdir . '/filelib.php' ) ; if ( $ lang !== clean_param ( $ lang , PARAM_LANG ) ) { return false ; } // get all customized strings from updated components $ sql = "SELECT s.*, c.name AS component
                    FROM {tool_customlang} s
                    JOIN {tool_customlang_components} c ON s.componentid = c.id
                   WHERE s.lang = ?
                         AND (s.local IS NOT NULL OR s.modified = 1)
                ORDER BY componentid, stringid" ; $ strings = $ DB -> get_records_sql ( $ sql , array ( $ lang ) ) ; $ files = array ( ) ; foreach ( $ strings as $ string ) { if ( ! is_null ( $ string -> local ) ) { $ files [ $ string -> component ] [ $ string -> stringid ] = $ string -> local ; } } fulldelete ( self :: get_localpack_location ( $ lang ) ) ; foreach ( $ files as $ component => $ strings ) { self :: dump_strings ( $ lang , $ component , $ strings ) ; } $ DB -> set_field_select ( 'tool_customlang' , 'modified' , 0 , 'lang = ?' , array ( $ lang ) ) ; $ sm = get_string_manager ( ) ; $ sm -> reset_caches ( ) ; }
docstring: Exports the translator database into disk files
  
  @param mixed $lang language code
docstring_tokens: Exports the translator database into disk files