(C) Giovanni Capuano 2011
*/
require_once 'core/class.Ocarina.php';
$ocarina = new Ocarina();
$config = $ocarina->getConfig();
$oldPassword = isset($_POST['oldPassword']) && $_POST['oldPassword'] !== '' ? $ocarina->purge($_POST['oldPassword']) : '';
$password = isset($_POST['password']) && $_POST['password'] !== '' ? $ocarina->purge($_POST['password']) : '';
$confPassword = isset($_POST['confPassword']) && $_POST['confPassword'] !== '' ? $ocarina->purge($_POST['confPassword']) : '';
$submit = isset($_POST['submit']) ? true : false;
$ocarina->skin = $ocarina->isLogged() ? $ocarina->username[0]->skin : $ocarina->config[0]->skin;
$ocarina->addValue('titolo', $ocarina->getLanguage('title', 5) . $ocarina->getLanguage('title', 2) . $ocarina->config[0]->nomesito);
$ocarina->addValue('description', $ocarina->getLanguage('description', 3));
if ($ocarina->isLogged()) {
    if ($oldPassword !== '' && $password !== '' && $confPassword !== '') {
        if (md5($ocarina->salt . $oldPassword) == $ocarina->username[0]->password && $password == $confPassword && strlen($password) > 4) {
            if ($ocarina->editUser('password', md5($ocarina->salt . $password), $ocarina->username[0]->nickname)) {
                if ($ocarina->config[0]->log == 1) {
                    $ocarina->log($ocarina->username[0]->nickname, 'Password modificated.');
                }
                $ocarina->addValue('result', $ocarina->getLanguage('editpassword', 0) . header('Refresh: 2; URL=' . $ocarina->config[0]->url_index . '/logout.php?redirect=login.php'));
            } else {
                if ($ocarina->config[0]->log == 1) {
                    $ocarina->log($ocarina->username[0]->nickname, 'Password modification failed');
                }
                $ocarina->addValue('result', $ocarina->getLanguage('editpassword', 1));
            }
        } else {
            if ($ocarina->config[0]->log == 1) {
                $ocarina->log($ocarina->username[0]->nickname, 'Password modification failed');
            }
            $ocarina->addValue('result', $ocarina->getLanguage('editpassword', 2));
$ocarina->skin = $ocarina->isLogged() ? $ocarina->username[0]->skin : $ocarina->config[0]->skin;
$ocarina->addValue('titolo', $ocarina->getLanguage('title', 8) . $ocarina->getLanguage('title', 2) . $ocarina->config[0]->nomesito);
$ocarina->addValue('description', $ocarina->getLanguage('description', 8));
if ($ocarina->isLogged()) {
    $ocarina->addValue('result', $ocarina->getLanguage('registration', 0));
} elseif ($codiceRegistrazione !== '') {
    if ($ocarina->config[0]->validazioneaccount == 0) {
        $ocarina->addValue('result', $ocarina->getLanguage('registration', 1));
    } else {
        if (!($ocarina->username = $ocarina->searchUserByField('codiceregistrazione', $codiceRegistrazione))) {
            if ($ocarina->config[0]->log == 1) {
                $ocarina->log('~', 'Invalid validation code.');
            }
            $ocarina->addValue('result', $ocarina->getLanguage('registration', 2));
        } elseif ($ocarina->username[0]->codiceregistrazione == $codiceRegistrazione) {
            if ($ocarina->editUser('codiceregistrazione', '', $ocarina->username[0]->nickname)) {
                if ($ocarina->config[0]->log == 1) {
                    $ocarina->log('~', 'Validation account complete.');
                }
                $ocarina->addValue('result', $ocarina->getLanguage('registration', 3) . header('Refresh: 2; URL=' . $ocarina->config[0]->url_index . '/login.php'));
            } else {
                if ($ocarina->config[0]->{$ocarina}->addValue('result', $ocarina->getLanguage('registration', 11)) == 1) {
                    $ocarina->log('~', 'Validation account failed.');
                }
                $ocarina->addValue('result', $ocarina->getLanguage('registration', 4));
            }
        } else {
            $ocarina->addValue('result', $ocarina->getLanguage('registration', 2));
            if ($ocarina->config[0]->log == 1) {
                $ocarina->log('~', 'Invalid validation code.');
            }
/**
	/admin/modificagrado.php
	(C) Giovanni Capuano 2011
*/
require_once '../core/class.Ocarina.php';
$ocarina = new Ocarina();
$nickname = isset($_POST['nickname']) && $_POST['nickname'] !== '' ? $ocarina->purgeByXSS($_POST['nickname']) : '';
$grado = isset($_POST['grado']) && $_POST['grado'] !== '' && is_numeric($_POST['grado']) ? (int) $_POST['grado'] : '';
$submit = isset($_POST['submit']) ? true : false;
$ocarina->skin = 'admin';
$ocarina->addValue('titolo', $ocarina->getLanguage('title', 21) . $ocarina->getLanguage('title', 2) . $ocarina->getLanguage('title', 10) . $ocarina->getLanguage('title', 2) . $ocarina->config[0]->nomesito);
if ($ocarina->isLogged() && $ocarina->username[0]->grado == 1) {
    if (!$submit) {
        $ocarina->addValue('utenti', $ocarina->getUser());
    } else {
        if ($ocarina->editUser('grado', $grado, $nickname)) {
            if ($ocarina->config[0]->log == 1) {
                $ocarina->log($ocarina->username[0]->nickname, $nickname . ' now is in the grade ' . $grado . '.');
            }
            $ocarina->addValue('result', $ocarina->getLanguage('editgrade', 0));
        } else {
            if ($ocarina->config[0]->log == 1) {
                $ocarina->log($ocarina->username[0]->nickname, $nickname->username[0]->nickname . ' has failed to change the grade of ' . $nickname . ' in ' . $grado . '.');
            }
            $ocarina->addValue('result', str_replace('{$nickname}', $nickname, $ocarina->getLanguage('editgrade', 1), $ocarina->getLanguage('editgrade', 0)));
        }
    }
} else {
    $ocarina->addValue('result', $ocarina->getLanguage('error', 4));
}
$ocarina->addValue('submit', $submit);
if (!$submit) {
    $ocarina->addValue('captcha', $captcha->getCaptcha());
    $ocarina->addValue('result', $ocarina->getLanguage('recoverpassword', 8));
} elseif (!$ocarina->isLogged()) {
    if ($email == '' && $recupero && $codiceRecupero !== '') {
        if (!($ocarinaname = $ocarina->searchUserByField('codicerecupero', $codiceRecupero))) {
            $ocarina->addValue('result', $ocarina->getLanguage('recoverpassword', 0));
            if ($ocarina->config[0]->log == 1) {
                $ocarina->log('~', 'Invalid recover code.');
            }
            $ocarina->addValue('recupera', '');
        } elseif ($ocarinaname[0]->codicerecupero == $codiceRecupero) {
            $codice = $ocarina->getCode();
            $password = substr($codice, strlen($codice) - 24);
            // 32-24=8
            if ($ocarina->editUser('codicerecupero', '', $ocarinaname[0]->nickname) && $ocarina->editUser('password', md5($password), $ocarinaname[0]->nickname)) {
                if ($ocarina->config[0]->log == 1) {
                    $ocarina->log($ocarinaname[0]->nickname, 'Password recovered.');
                }
                $ocarina->addValue('result', str_replace('{$password}', $password, $ocarina->getLanguage('recoverpassword', 1)));
                $ocarina->addValue('recupera', '');
            } else {
                $ocarina->addValue('result', $ocarina->getLanguage('recoverpassword', 2));
                $ocarina->addValue('recupera', '');
            }
        } else {
            $ocarina->addValue('result', $ocarina->getLanguage('recoverpassword', 3));
        }
    } elseif ($email !== '' && !$recupero) {
        $captcha->checkCaptcha();
        if ($captcha->getError() !== false) {
$ocarina->addValue('description', $ocarina->getLanguage('description', 4));
if ($ocarina->isLogged()) {
    if (!$submit) {
        $ocarina->addValue('email', $ocarina->username[0]->email);
        $ocarina->addValue('bio', $ocarina->username[0]->bio);
        $ocarina->addValue('avatar', $ocarina->username[0]->avatar);
        $ocarina->addValue('listaskin', $ocarina->getSkinList());
        $ocarina->addValue('skinattuale', $ocarina->skin);
    } else {
        if ($ocarina->isEmail($email) && $email !== '' && $skin !== '' && $password !== '') {
            if ($ocarina->isEmailUsed($ocarina->username[0]->nickname, $email) || !$ocarina->checkPassword($ocarina->username[0]->password, $password)) {
                if ($ocarina->config[0]->log == 1) {
                    $ocarina->log($ocarina->username[0]->nickname, 'Profile modification failed.');
                }
                $ocarina->addValue('result', $ocarina->getLanguage('editprofile', 0));
            } elseif ($ocarina->editUser('email', $email, $ocarina->username[0]->nickname) && $ocarina->editUser('bio', $bio, $ocarina->username[0]->nickname) && $ocarina->editUser('skin', $skin, $ocarina->username[0]->nickname) && $ocarina->editUser('avatar', $avatar, $ocarina->username[0]->nickname)) {
                if ($ocarina->config[0]->log == 1) {
                    $ocarina->log($ocarina->username[0]->nickname, 'Profile modificated.');
                }
                $ocarina->addValue('result', $ocarina->getLanguage('editprofile', 1) . header('Refresh: 2; URL=' . $ocarina->config[0]->url_index . '/profile/' . $ocarina->username[0]->nickname . '.html'));
            } else {
                if ($ocarina->config[0]->log == 1) {
                    $ocarina->log($ocarina->username[0]->nickname, 'Profile modification failed.');
                }
                $ocarina->addValue('result', $ocarina->getLanguage('editprofile', 2));
            }
        } else {
            $ocarina->addValue('result', $ocarina->getLanguage('editprofile', 3));
        }
    }
} else {