/** * Upgrade all modules. * * @return string List of upgraded/installed modules/blocks */ function upgrade_modules() { $out = ''; require_code('zones2'); if (file_exists(get_file_base() . '/sources/zones3.php')) { require_code('zones3'); } $ret = upgrade_module('adminzone', 'admin_version'); if ($ret == 1) { $out .= '<li>' . do_lang('FU_UPGRADED_MODULE', '<kbd>admin_version</kbd>') . '</li>'; } $zones = find_all_zones(); if (!in_array('adminzone', $zones)) { $zones[] = 'adminzone'; } if (!in_array('cms', $zones)) { $zones[] = 'cms'; } if (!in_array('site', $zones)) { $zones[] = 'site'; } foreach ($zones as $zone) { $modules = find_all_modules($zone); foreach ($modules as $module => $type) { $ret = upgrade_module($zone, $module); if ($ret == 1) { $out .= '<li>' . do_lang('FU_UPGRADED_MODULE', '<kbd>' . escape_html($module) . '</kbd>') . '</li>'; } elseif ($ret == -2) { if ($type == 'modules_custom') { continue; } if (reinstall_module($zone, $module)) { $out .= '<li>' . do_lang('FU_INSTALLED_MODULE', '<kbd>' . escape_html($module) . '</kbd>') . '</li>'; } } } } require_code('zones2'); if (file_exists(get_file_base() . '/sources/zones3.php')) { require_code('zones3'); } $blocks = find_all_blocks(); foreach ($blocks as $block => $type) { $ret = upgrade_block($block); if ($ret == 1) { $out .= '<li>' . do_lang('FU_UPGRADED_BLOCK', '<kbd>' . escape_html($block) . '</kbd>') . '</li>'; } elseif ($ret == -2) { if ($type == 'sources_custom') { continue; } if (reinstall_block($block)) { $out .= '<li>' . do_lang('FU_INSTALLED_BLOCK', '<kbd>' . escape_html($block) . '</kbd>') . '</li>'; } } } return $out; }
/** * The actualiser to upgrade a module. * * @return tempcode The UI */ function upgrade_module() { $module = post_param('module'); $zone = post_param('zone'); require_code('zones2'); if ($zone != '_block') { upgrade_module($zone, $module); } else { upgrade_block($module); } $title = get_page_title('UPGRADE_MODULE'); // Show it worked / Refresh $url = build_url(array('page' => '_SELF', 'type' => 'view', 'id' => $zone), '_SELF'); return redirect_screen($title, $url, do_lang_tempcode('SUCCESS')); }