From: nicolasconnault Date: Wed, 23 Jan 2008 22:48:54 +0000 (+0000) Subject: MDL-13101 New section of the upgrade process: plugins check X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=1e92bb91126f10cf0bf8f47b1bdea36b2a88ee35;p=moodle.git MDL-13101 New section of the upgrade process: plugins check --- diff --git a/admin/index.php b/admin/index.php index ea1b426367..c7bfd8e096 100644 --- a/admin/index.php +++ b/admin/index.php @@ -32,6 +32,7 @@ $agreelicense = optional_param('agreelicense', 0, PARAM_BOOL); $autopilot = optional_param('autopilot', 0, PARAM_BOOL); $ignoreupgradewarning = optional_param('ignoreupgradewarning', 0, PARAM_BOOL); + $confirmplugincheck = optional_param('confirmplugincheck', 0, PARAM_BOOL); /// check upgrade status first if ($ignoreupgradewarning and !empty($_SESSION['upgraderunning'])) { @@ -123,6 +124,7 @@ } } } + if (! $maintables) { /// hide errors from headers in case debug enabled in config.php $origdebug = $CFG->debug; @@ -305,6 +307,20 @@ print_footer('none'); die; + } elseif (empty($confirmplugincheck)) { + $strplugincheck = get_string('plugincheck'); + $navigation = build_navigation(array(array('name'=>$strplugincheck, 'link'=>null, 'type'=>'misc'))); + print_header($strplugincheck, $strplugincheck, $navigation, "", "", false, " ", " "); + print_heading($strplugincheck); + print_box_start('generalbox', 'notice'); // MDL-8330 + print_string('pluginchecknotice'); + print_box_end(); + print_plugin_tables(); + echo "
"; + print_continue('index.php?confirmupgrade=1&confirmrelease=1&confirmplugincheck=1'); + print_footer('none'); + die(); + } else { $strdatabasesuccess = get_string("databasesuccess"); $navigation = build_navigation(array(array('name'=>$strdatabasesuccess, 'link'=>null, 'type'=>'misc'))); @@ -362,7 +378,7 @@ /// Main upgrade not success } else { notify('Main Upgrade failed! See lib/db/upgrade.php'); - print_continue('index.php?confirmupgrade=1&confirmrelease=1'); + print_continue('index.php?confirmupgrade=1&confirmrelease=1&confirmplugincheck=1'); print_footer('none'); die; } diff --git a/lang/en_utf8/moodle.php b/lang/en_utf8/moodle.php index a71cb0bd13..8a20d7d169 100644 --- a/lang/en_utf8/moodle.php +++ b/lang/en_utf8/moodle.php @@ -1052,6 +1052,7 @@ $string['nomoreidnumber'] = 'Not using an idnumber to avoid collisions'; $string['none'] = 'None'; $string['noneditingteacher'] = 'Non-editing teacher'; $string['noneditingteacherdescription'] = 'Non-editing teachers can teach in courses and grade students, but may not alter activities.'; +$string['nonstandard'] = 'Non-standard'; $string['nopendingcourses'] = 'There are no courses pending approval'; $string['nopotentialadmins'] = 'No potential admins'; $string['nopotentialcreators'] = 'No potential course creators'; @@ -1156,6 +1157,10 @@ $string['pictureof'] = 'Picture of $a'; $string['phone'] = 'Phone'; $string['phpinfo'] = 'PHP info'; $string['pleaseclose'] = 'Please close this window now.'; +$string['plugincheck'] = 'Plugins check'; +$string['pluginchecknotice'] = 'The following tables show the modules, blocks and filters that have been detected in your current Moodle installation; +They indicate which plugins are standard, and which are not. All non-standard plugins should be checked and upgraded to their most recent versions +before continuing with this Moodle upgrade.'; $string['pluginsetup'] = 'Setting up plugin tables'; $string['policyaccept'] = 'I understand and agree'; $string['policyagree'] = 'You must agree to this policy to continue using this site. Do you agree?'; @@ -1363,6 +1368,7 @@ $string['someerrorswerefound'] = 'Some information was missing or incorrect. Loo $string['sortby'] = 'Sort by'; $string['sourcerole'] = 'Source role'; $string['specifyname'] = 'You must specify a name.'; +$string['standard'] = 'Standard'; $string['starpending'] = '([*] = course pending approval)'; $string['startdate'] = 'Course start date'; $string['startsignup'] = 'Create new account'; diff --git a/lib/adminlib.php b/lib/adminlib.php index b073d65985..a88641aff4 100644 --- a/lib/adminlib.php +++ b/lib/adminlib.php @@ -4551,4 +4551,104 @@ function db_replace($search, $replace) { return true; } +/** + * Prints tables of detected plugins, one table per plugin type, + * and prints whether they are part of the standard Moodle + * distribution or not. + */ +function print_plugin_tables() { + $compatlist = array(); + $compatlist['mods'] = array('assignment', + 'chat', + 'choice', + 'data', + 'exercise', + 'forum', + 'glossary', + 'hotpot', + 'journal', + 'label', + 'lams', + 'lesson', + 'quiz', + 'resource', + 'scorm', + 'survey', + 'wiki', + 'workshop'); + + $compatlist['blocks'] = array('activity_modules', + 'admin', + 'admin_bookmarks', + 'admin_tree', + 'blog_menu', + 'blog_tags', + 'calendar_month', + 'calendar_upcoming', + 'course_list', + 'course_summary', + 'db', + 'glossary_random', + 'html', + 'loancalc', + 'login', + 'mentees', + 'messages', + 'mnet_hosts', + 'news_items', + 'online_users', + 'participants', + 'quiz_results', + 'recent_activity', + 'rss_client', + 'search', + 'search_forums', + 'section_links', + 'site_main_menu', + 'social_activities', + 'tag_flickr', + 'tag_youtube', + 'tags'); + + $compatlist['filters'] = array('activitynames', + 'algebra', + 'censor', + 'emailprotect', + 'filter', + 'mediaplugin', + 'multilang', + 'tex', + 'tidy'); + + + $plugins = array(); + $plugins['mods'] = get_list_of_plugins(); + $plugins['blocks'] = get_list_of_plugins('blocks'); + $plugins['filters'] = get_list_of_plugins('filter'); + + $strstandard = get_string('standard'); + $strnonstandard = get_string('nonstandard'); + + $html = ''; + + foreach ($plugins as $cat => $list) { + $html .= '' . "\n"; + $row = 0; + foreach ($list as $k => $plugin) { + $standard = 'standard'; + + if (!in_array($plugin, $compatlist[$cat])) { + $standard = 'nonstandard'; + } + + $html .= "\n"; + $row++; + } + $html .= '
' . ucfirst($cat) . '
" . ucfirst($plugin) . "" . ${'str' . $standard} . "

'; + } + + echo $html; +} + ?> diff --git a/theme/standard/styles_color.css b/theme/standard/styles_color.css index e574579f9f..58ea88df24 100644 --- a/theme/standard/styles_color.css +++ b/theme/standard/styles_color.css @@ -318,6 +318,15 @@ table.flexible .r1 { background-color: green; } +.plugincompattable td.standard { + color: #008000; +} + +.plugincompattable td.nonstandard { + color: #FF7500; + font-weight: bold; +} + /* Admin settings */ #adminsettings fieldset { diff --git a/theme/standard/styles_layout.css b/theme/standard/styles_layout.css index 45f894e105..9d9e8ccc1e 100644 --- a/theme/standard/styles_layout.css +++ b/theme/standard/styles_layout.css @@ -996,6 +996,14 @@ body#admin-modules table.generaltable td.c0 margin:20px; } + +.plugincompattable caption { + text-align: center; + width: 100%; + font-weight: bold; + font-size: 130%; +} + /* Admin settings */ #adminsettings div.form-item { clear: both;