dataroot.'/lang/'] = $file; $locations[$CFG->dirroot.'/lang/'] = $file; } else { $modfile = $module.'/'.$file; $locations[$CFG->dataroot.'/lang/'] = $modfile; $locations[$CFG->dirroot.'/lang/'] = $modfile; $rules = places_to_search_for_lang_strings(); $exceptions = $rules['__exceptions']; unset($rules['__exceptions']); if (!in_array($module, $exceptions)) { $dividerpos = strpos($module, '_'); if ($dividerpos === false) { $type = ''; $plugin = $module; } else { $type = substr($module, 0, $dividerpos + 1); $plugin = substr($module, $dividerpos + 1); } if (!empty($rules[$type])) { foreach ($rules[$type] as $location) { $locations[$CFG->dirroot . "/$location/$plugin/lang/"] = "$plugin/$file"; } } } } // Work through the possible languages, starting with the most specific. while (!$helpfound && (list(,$lang) = each($langs)) && !empty($lang)) { while (!$helpfound && (list($locationprefix,$locationsuffix) = each($locations))) { $filepath = $locationprefix.$lang.'/help/'.$locationsuffix; // Now, try to include the help text from this file, if we can. if (file_exists_and_readable($filepath)) { $helpfound = true; @include($filepath); // The actual helpfile // Now, we process some special cases. $helpdir = $locationprefix.$lang.'/help'; if ($module == 'moodle' and ($file == 'index.html' or $file == 'mods.html')) { include_help_for_each_module($file, $langs, $helpdir); } // The remaining horrible hardcoded special cases should be delegated to modules somehow. if ($module == 'moodle' and ($file == 'resource/types.html')) { // RESOURCES include_help_for_each_resource($file, $langs, $helpdir); } if ($module == 'moodle' and ($file == 'assignment/types.html')) { // ASSIGNMENTS include_help_for_each_assignment_type(); } } } reset($locations); } } else { // The help to display was given as an argument to this function. echo '
'.s($text).'
'; // This param was already cleaned $helpfound = true; } print_simple_box_end(); // Display an error if necessary. if (!$helpfound) { notify('Help file "'. $file .'" could not be found!'); } // End of page. close_window_button(); echo ''. get_string('helpindex') .'';
// Offer a link to the alternative help file language
if (($helpfound) and (((current_language() != 'en_utf8') and $lang != 'en_utf8') or ($forcelang === 'en_utf8'))) {
$linklang = "{$CFG->wwwroot}/help.php?";
$linklang .= !empty($module) ? "module=$module&" : '';
$linklang .= !empty($file) ? "file=$file&" : '';
$linklang .= !empty($skiplocal) ? "skiplocal=$skiplocal&" : '';
if (empty($forcelang) or $forcelang === current_language()) {
$nextlang = 'en_utf8';
$nextlangname = 'English';
} else {
$nextlang = current_language();
$nextlangname = get_string('thislanguage');
}
$linklang .= "forcelang=$nextlang";
echo "
" . get_string('showthishelpinlanguage', 'moodle', $nextlangname) . '';
}
echo '
'.$name.'
'; echo get_string('help'.$type, 'assignment'); echo '