die(header('Location: ?q=vm'));
}
$status = '';
$emailAddress = $form->post('emailAddress', '', 'strtolower');
$password = $form->post('password');
// Proceed log in whenever valid email address and password provided
if ($form->isPost() && isValidEmail($emailAddress) && !empty($password)) {
    $db->connect();
    // Get user information by email address
    $rows = $db->select('user', '*', 'email_address=\'' . $db->escape($emailAddress) . '\'');
    if ($db->affectedRows() == 1) {
        foreach ($rows[0] as $key => $value) {
            $user[$key] = $value;
        }
        // Validate password by MD5 hash
        if (hashed($password) == $user['password']) {
            // Enable log in session if user is active
            if ($user['is_active']) {
                // Reset log in attempt
                $db->update('user', 'login_attempt=0', 'user_id=\'' . $db->escape($user['user_id']) . '\'');
                if ($user['is_admin']) {
                    $_SESSION['admin_id'] = $user['user_id'];
                }
                $_SESSION['user_id'] = $user['user_id'];
                $_SESSION['name'] = $user['name'];
                $_SESSION['language'] = $user['language'];
                $_SESSION['status'] = json_encode(array('vm' => ''));
                die(header('Location: ?q=vm'));
            }
            // Account disabled
            $status = '<p class="red">' . YOUR_ACCOUNT_HAS_BEEN_DISABLED . '</p>';
Exemple #2
0
COLLATE=\'utf8_bin\'
ENGINE=MyISAM;';
        if (defined('UPGRADE')) {
            $sql = 'ALTER TABLE `vm`
	ADD COLUMN `vz_id` INT(10) NOT NULL DEFAULT \'0\' AFTER `vm_id`,
	ADD INDEX `idx_vz_id` (`vz_id`);

ALTER TABLE `user`
	ADD INDEX `idx_name` (`name`),
	ADD INDEX `idx_language` (`language`),
	ADD INDEX `idx_date_created` (`date_created`);';
        }
        $db->executeSQL($sql);
        // Create administrator
        if (!defined('UPGRADE')) {
            $db->insert('user', array('is_admin' => 1, 'is_active' => 1, 'name' => $_SESSION['name'], 'email_address' => $_SESSION['email_address'], 'password' => hashed($_SESSION['password']), 'language' => $_SESSION['language'], 'date_created' => date('Y-m-d H:i:s')));
        }
        $configurations = '<?php
define(\'INSTALLED\', 1);
define(\'SVMC_VERSION\', \'' . $version . '\');

$config[\'dbHost\'] = \'' . $data->dbHost . '\';
$config[\'dbUser\'] = \'' . $data->dbUser . '\';
$config[\'dbPass\'] = \'' . $data->dbPass . '\';
$config[\'dbName\'] = \'' . $data->dbName . '\';
$config[\'language\'] = \'' . $_SESSION['language'] . '\';
?>';
        file_put_contents(ROOT . 'configuration.php', $configurations);
        if (defined('UPGRADE')) {
            $out .= '<h1>' . UPGRADE_COMPLETED . '</h1>
    }
    if ($password) {
        if (!preg_match('/^[0-9a-zA-Z!@#\\$%\\^&*\\(\\)<>:;\\-_=\\+]{6,20}$/', $password)) {
            $status .= '<p class="red">' . PASSWORD_MUST_CONTAIN_ONLY_ALPHANUMERIC_CHARACTERS . '</p>';
        }
        if ($password != $confirmPassword) {
            $status .= '<p class="red">' . CONFIRM_PASSWORD_IS_NOT_MATCHED . '</p>';
        }
    }
    if (!in_array($language, array_keys($languages))) {
        $status .= '<p class="red">' . INVALID_LANGUAGE_SELECTED . '</p>';
    }
    if (!$status) {
        $data['name'] = $name;
        if ($password) {
            $data['password'] = hashed($password);
        }
        if (isset($_SESSION['admin_id'])) {
            $data['email_address'] = $emailAddress;
        }
        $data['language'] = $language;
        if (!defined('DEMO')) {
            $db->update('user', $data, 'user_id=\'' . $db->escape($_SESSION['user_id']) . '\'');
            $_SESSION['name'] = $name;
            $_SESSION['language'] = $language;
        }
        $status .= '<p class="green">' . SETTINGS_IS_UPDATED . '</p>';
    }
}
$title = SETTINGS;
include INCLUDES . 'header.php';