Esempio n. 1
0
 * @subpackage Upgrade
 */
// we want to know if an error occurs
ini_set('display_errors', 1);
define('UPGRADING', 'upgrading');
require_once dirname(__FILE__) . "/engine/start.php";
$site_url = elgg_get_config('url');
$site_host = parse_url($site_url, PHP_URL_HOST) . '/';
// turn any full in-site URLs into absolute paths
$forward_url = get_input('forward', '/admin', false);
$forward_url = str_replace(array($site_url, $site_host), '/', $forward_url);
if (strpos($forward_url, '/') !== 0) {
    $forward_url = '/' . $forward_url;
}
if (get_input('upgrade') == 'upgrade') {
    $upgrader = new Elgg_UpgradeService();
    $result = $upgrader->run();
    if ($result['failure'] == true) {
        register_error($result['reason']);
        forward($forward_url);
    }
} else {
    // test the URL rewrite rules
    if (!class_exists('ElggRewriteTester')) {
        require dirname(__FILE__) . '/install/ElggRewriteTester.php';
    }
    $rewriteTester = new ElggRewriteTester();
    $url = elgg_get_site_url() . "__testing_rewrite?__testing_rewrite=1";
    if (!$rewriteTester->runRewriteTest($url)) {
        // see if there is a problem accessing the site at all
        // due to ip restrictions for example
<?php

/**
 * Unlocks the upgrade script 
 */
$upgrader = new Elgg_UpgradeService();
if ($upgrader->isUpgradeLocked()) {
    $upgrader->releaseUpgradeMutex();
}
system_message(elgg_echo('upgrade:unlock:success'));
forward(REFERER);
<?php

/**
 * Admin control panel widget
 */
elgg_register_menu_item('admin_control_panel', array('name' => 'flush', 'text' => elgg_echo('admin:cache:flush'), 'href' => 'action/admin/site/flush_cache', 'is_action' => true, 'link_class' => 'elgg-button elgg-button-action'));
$upgrader = new Elgg_UpgradeService();
$is_locked = $upgrader->isUpgradeLocked();
if (!$is_locked) {
    elgg_register_menu_item('admin_control_panel', array('name' => 'upgrade', 'text' => elgg_echo('upgrade'), 'href' => 'upgrade.php', 'link_class' => 'elgg-button elgg-button-action'));
} else {
    elgg_register_menu_item('admin_control_panel', array('name' => 'unlock_upgrade', 'text' => elgg_echo('upgrade:unlock'), 'href' => 'action/admin/site/unlock_upgrade', 'is_action' => true, 'link_class' => 'elgg-button elgg-button-action', 'confirm' => elgg_echo('upgrade:unlock:confirm')));
}
echo elgg_view_menu('admin_control_panel', array('class' => 'elgg-menu-hz', 'item_class' => 'mrm'));