Esempio n. 1
0
/**
 * This functions checks if the databaseversion in the settings table is the same one as required
 * If not then the necessary upgrade procedures are run
 */
function CheckForDBUpgrades($subaction = null)
{
    $clang = Yii::app()->getController()->lang;
    $dbversionnumber = Yii::app()->getConfig('dbversionnumber');
    $currentDBVersion = GetGlobalSetting('DBVersion');
    $usertemplaterootdir = Yii::app()->getConfig('usertemplaterootdir');
    $standardtemplaterootdir = Yii::app()->getConfig('standardtemplaterootdir');
    if (intval($dbversionnumber) > intval($currentDBVersion)) {
        if (isset($subaction) && $subaction == "yes") {
            echo Yii::app()->getController()->_getAdminHeader();
            echo "<div style='width:90%; padding:1% 5%;background-color:#eee;'>";
            Yii::app()->loadHelper('update/updatedb');
            $result = db_upgrade_all(intval($currentDBVersion));
            if ($result) {
                $data = "<br />" . sprintf($clang->gT("Database has been successfully upgraded to version %s"), $dbversionnumber);
                $data .= "<br /><a href='" . Yii::app()->getController()->createUrl("/admin") . "'>" . $clang->gT("Back to main menu") . "</a></div>";
            } else {
                $data = "<p><a href='" . Yii::app()->getController()->createUrl("/admin/update/sa/db") . "'>" . $clang->gT("Please fix this error in your database and try again") . "</a></p></div>";
            }
            return $data;
        } else {
            return ShowDBUpgradeNotice();
        }
    }
}
Esempio n. 2
0
/**
 * This functions checks if the databaseversion in the settings table is the same one as required
 * If not then the necessary upgrade procedures are run
 */
function CheckForDBUpgrades($subaction = null)
{
    $dbversionnumber = Yii::app()->getConfig('dbversionnumber');
    $currentDBVersion = GetGlobalSetting('DBVersion');
    $usertemplaterootdir = Yii::app()->getConfig('usertemplaterootdir');
    $standardtemplaterootdir = Yii::app()->getConfig('standardtemplaterootdir');
    if (intval($dbversionnumber) > intval($currentDBVersion)) {
        if (isset($subaction) && $subaction == "yes") {
            echo Yii::app()->getController()->_getAdminHeader();
            //echo "<div style='width:90%; padding:1% 5%;background-color:#eee;'>";
            Yii::app()->loadHelper('update/updatedb');
            $result = db_upgrade_all(intval($currentDBVersion));
            if ($result) {
                $data = '<div class="message-box jumbotron">';
                $data .= '<h2 class="text-success">' . gT("Success") . '</h2>';
                $data .= "<p class='lead text-success'>" . sprintf(gT("Database has been successfully upgraded to version %s"), $dbversionnumber) . '</p>';
                $data .= "<p><a class='btn btn-default btn-lg' href='" . Yii::app()->getController()->createUrl("/admin") . "'>" . gT("Back to main menu") . "</a></p></div>";
            } else {
                $data = '<div class="message-box jumbotron message-box-error">';
                $data .= '<h2 class="text-warning">' . gT("Error") . '</h2>';
                $data .= '<p class="lead text-warning">';
                $data .= gT('An non-recoverable error happened during the update. Error details:');
                $data .= '</p>';
                $data .= '<p>' . Yii::app()->session['dbError'] . '</p>';
                $data .= "<p>" . gT("Please fix this error in your database and try again") . "</p>";
                $data .= "<a class='btn btn-default btn-lg' href='" . Yii::app()->getController()->createUrl("/admin/update/sa/db") . "'>" . gT("Continue") . "</a>";
                $data .= "</div>";
            }
            return $data;
        } else {
            return ShowDBUpgradeNotice();
        }
    }
}
/**
 * This functions checks if the databaseversion in the settings table is the same one as required
 * If not then the necessary upgrade procedures are run
 */
function CheckForDBUpgrades($subaction = null)
{
    $dbversionnumber = Yii::app()->getConfig('dbversionnumber');
    $currentDBVersion = GetGlobalSetting('DBVersion');
    $usertemplaterootdir = Yii::app()->getConfig('usertemplaterootdir');
    $standardtemplaterootdir = Yii::app()->getConfig('standardtemplaterootdir');
    if (intval($dbversionnumber) > intval($currentDBVersion)) {
        if (isset($subaction) && $subaction == "yes") {
            echo Yii::app()->getController()->_getAdminHeader();
            Yii::app()->loadHelper('update/updatedb');
            $result = db_upgrade_all(intval($currentDBVersion));
            if ($result) {
                $data = '<div class="jumbotron message-box">' . '<h2 class="">' . gT('Success') . '</h2>' . '<p class="lead">' . sprintf(gT("Database has been successfully upgraded to version %s"), $dbversionnumber) . '</p>' . '<p>' . '<a href="' . Yii::app()->getController()->createUrl("/admin") . '">' . gT("Back to main menu") . '</a>' . '</p>' . '</div>';
            } else {
                $data = "<p><a href='" . Yii::app()->getController()->createUrl("/admin/databaseupdate/sa/db") . "'>" . gT("Please fix this error in your database and try again") . "</a></p></div>";
            }
            return $data;
        } else {
            return ShowDBUpgradeNotice();
        }
    }
}
Esempio n. 4
0
/**
 * This functions checks if the databaseversion in the settings table is the same one as required
 * If not then the necessary upgrade procedures are run
 */
function CheckForDBUpgrades($subaction = null)
{
    $clang = Yii::app()->getController()->lang;
    $dbversionnumber = Yii::app()->getConfig('dbversionnumber');
    $currentDBVersion = GetGlobalSetting('DBVersion');
    $usertemplaterootdir = Yii::app()->getConfig('usertemplaterootdir');
    $standardtemplaterootdir = Yii::app()->getConfig('standardtemplaterootdir');
    if (intval($dbversionnumber) > intval($currentDBVersion)) {
        if (isset($subaction) && $subaction == "yes") {
            echo Yii::app()->getController()->_getAdminHeader();
            echo "<div style='width:90%; padding:1% 5%;background-color:#eee;'>";
            Yii::app()->loadHelper('update/updatedb');
            db_upgrade_all(intval($currentDBVersion));
            Yii::app()->db->createCommand()->update('{{settings_global}}', array('stg_value' => intval($dbversionnumber)), 'stg_name = \'DBVersion\'');
            $data = "<br />" . sprintf($clang->gT("Database has been successfully upgraded to version %s"), $dbversionnumber);
            $data .= "<br /><a href='" . Yii::app()->getController()->createUrl("/admin") . "'>" . $clang->gT("Back to main menu") . "</a></div>";
            return $data;
        } else {
            return ShowDBUpgradeNotice();
        }
    }
}
Esempio n. 5
0
/**
 * This functions checks if the databaseversion in the settings table is the same one as required
 * If not then the necessary upgrade procedures are run
 */
function CheckForDBUpgrades()
{
    global $connect, $databasetype, $dbprefix, $dbversionnumber, $clang;
    $currentDBVersion=GetGlobalSetting('DBVersion');
    if (intval($dbversionnumber)>intval($currentDBVersion))
    {
        if(isset($_GET['continue']) && $_GET['continue']==1)
        {
            echo "<div style='width:90%; padding:1% 10%;background-color:#eee;'>";
            $upgradedbtype=$databasetype;
            if ($upgradedbtype=='mssql_n' || $upgradedbtype=='odbc_mssql' || $upgradedbtype=='odbtp') $upgradedbtype='mssql';
            if ($upgradedbtype=='mssqlnative') $upgradedbtype = 'mssqlnative';
            if ($upgradedbtype=='mysqli') $upgradedbtype='mysql';
            include ('upgrade-'.$upgradedbtype.'.php');
            include ('upgrade-all.php');
            $tables = $connect->MetaTables();
            db_upgrade_all(intval($currentDBVersion));
            db_upgrade(intval($currentDBVersion));
            echo "<br />".sprintf($clang->gT("Database has been successfully upgraded to version %s"),$dbversionnumber);
        }
        else {
            ShowDBUpgradeNotice();
        }
    }
}
    // }
} elseif (isset($argv[1]) && $argv[1] == 'upgrade') {
    $upgradedbtype = $databasetype;
    if ($upgradedbtype == 'mssql_n' || $upgradedbtype == 'odbc_mssql' || $upgradedbtype == 'odbtp') {
        $upgradedbtype = 'mssql';
    }
    if ($upgradedbtype == 'mssqnlative') {
        $upgradedbtype = 'mssqlnative';
    }
    include 'upgrade-all.php';
    include 'upgrade-' . $upgradedbtype . '.php';
    $usquery = "SELECT stg_value FROM " . db_table_name("settings_global") . " where stg_name='DBVersion'";
    $usresult = db_execute_assoc($usquery);
    $usrow = $usresult->FetchRow();
    if (intval($usrow['stg_value']) < $dbversionnumber) {
        print "Upgrading db to {$dbversionnumber}\n";
        db_upgrade_all(intval($usrow['stg_value']));
        db_upgrade(intval($usrow['stg_value']));
    } else {
        print "Already at db version {$dbversionnumber}\n";
    }
    return 0;
} else {
    print "LimeSurvey Commandline Install\n";
    print "Usage: cmd_install <option> < <<path1>> <<path2>> >\n";
    print "<option> - 'install' or 'upgrade' \n";
    print "<<path1>> - Full path including filename to a custom config-defaults.php\n";
    print "<<path2>> - Full path including filename to a custom common.php\n";
    print "Paths are optional. If used both paths must be set.\n";
    return 2;
}
Esempio n. 7
0
 /**
  * Checks for action specific authorization and then executes an action
  *
  * @access public
  * @param string $action
  * @return bool
  */
 public function run($action)
 {
     // Check if the DB is up to date
     if (Yii::app()->db->schema->getTable('{{surveys}}')) {
         $sDBVersion = getGlobalSetting('DBVersion');
     }
     if ((int) $sDBVersion < Yii::app()->getConfig('dbversionnumber') && $action != 'databaseupdate') {
         // Try a silent update first
         Yii::app()->loadHelper('update/updatedb');
         if (!db_upgrade_all(intval($sDBVersion), true)) {
             $this->redirect(array('/admin/databaseupdate/sa/db'));
         }
     }
     if ($action != "databaseupdate" && $action != "db") {
         if (empty($this->user_id) && $action != "authentication" && $action != "remotecontrol") {
             if (!empty($action) && $action != 'index') {
                 Yii::app()->session['redirect_after_login'] = $this->createUrl('/');
             }
             App()->user->setReturnUrl(App()->request->requestUri);
             $this->redirect(array('/admin/authentication/sa/login'));
         } elseif (!empty($this->user_id) && $action != "remotecontrol") {
             if (Yii::app()->session['session_hash'] != hash('sha256', getGlobalSetting('SessionName') . Yii::app()->user->getName() . Yii::app()->user->getId())) {
                 Yii::app()->session->clear();
                 Yii::app()->session->close();
                 $this->redirect(array('/admin/authentication/sa/login'));
             }
         }
     }
     return parent::run($action);
 }
Esempio n. 8
0
/**
 * This functions checks if the databaseversion in the settings table is the same one as required
 * If not then the necessary upgrade procedures are run
 */
function CheckForDBUpgrades()
{
    global $connect, $databasetype, $dbprefix, $dbversionnumber, $clang;
    $adminoutput = '';
    $currentDBVersion = GetGlobalSetting('DBVersion');
    if (intval($dbversionnumber) > intval($currentDBVersion)) {
        $upgradedbtype = $databasetype;
        if ($upgradedbtype == 'mssql_n' || $upgradedbtype == 'odbc_mssql' || $upgradedbtype == 'odbtp') {
            $upgradedbtype = 'mssql';
        }
        if ($upgradedbtype == 'mssqlnative') {
            $upgradedbtype = 'mssqlnative';
        }
        if ($upgradedbtype == 'mysqli') {
            $upgradedbtype = 'mysql';
        }
        include 'upgrade-' . $upgradedbtype . '.php';
        include 'upgrade-all.php';
        $tables = $connect->MetaTables();
        db_upgrade_all(intval($currentDBVersion));
        db_upgrade(intval($currentDBVersion));
        $adminoutput = "<br />" . sprintf($clang->gT("Database has been successfully upgraded to version %s"), $dbversionnumber);
    }
    return $adminoutput;
}