Example #1
0
<?php

require_once 'models/Http.php';
require_once 'models/User.php';
if (Http::has('user') && Http::has('username') && Http::has('email') && Http::has('password') && Http::has('password_retype') && Http::has('privilege')) {
    if ($username = User::getCurrentLogin()) {
        $user = new User();
        $result = $user->change(Http::get('user'), Http::get('username'), Http::get('email'), Http::get('password'), Http::get('old_password'), Http::get('privilege'), $username);
        echo $result;
        if (Http::get('user') == $username && $result == 'success') {
            $working_password = Http::get('password') != '' ? Http::get('password') : Http::get('old_password');
            if ($user->loginUsername(Http::get('username'), $working_password) == 'success') {
                User::logout();
                User::setCurrentLoginForced(Http::get('username'));
            } else {
                header('Location: /');
                die;
            }
            $newusername = Http::get('username');
            $time = date('H:i:s');
            header("Location: /user/{$newusername}/reason=success&time={$time}");
        } else {
            if ($result == 'nothing_changed') {
                $newusername = Http::get('username');
                header("Location: /user/{$newusername}/reason={$result}");
            } else {
                if ($result == 'success') {
                    $newusername = Http::get('username');
                    $time = date('H:i:s');
                    header("Location: /user/{$newusername}/reason=success&time={$time}");
                } else {
function profil_plugin_actions()
{
    global $myUser, $_, $conf;
    switch ($_['action']) {
        case 'dash_profi_plugin_edit':
            echo 'L\'edition de ce bloc est disponible depuis <a href="setting.php?section=profil">la page d\'edition du profil</a>';
            break;
        case 'dash_profil_plugin_load':
            header('content-type:application/json');
            $response['title'] = 'Connecté';
            $url_link = Functions::getBaseUrl('action.php') . '/action.php';
            $response['content'] = '<div id="dash_application">' . $myUser->getGravatarImg() . '
			    <ul class="user-infos">
			    	<li><h1 onclick="window.location=\'setting.php?section=profil\';"><i class="fa fa-pencil"></i>' . $myUser->getFullName() . '</h1></li>
			    	<li><a href="mailto:' . $myUser->getMail() . '">' . $myUser->getMail() . '</a></li>
			    	<li><div class="tokenbox" title="' . $myUser->getToken() . '">Token : <input type="text" onclick="$(this).select();" value="' . $myUser->getToken() . '"></div></li>
			    </ul>
				<a href="#yanaWindowsModal" role="button" data-toggle="modal"  class="btn btn-primary"><i class="fa fa-download-alt  fa fa-white"></i> Installer YANA Windows</a></div>


				<!-- Modal -->
				<div id="yanaWindowsModal" class="modal hide fade" style="width:750px;margin-left:-375px;" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
				  <div class="modal-header">
				    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
				    <h3 id="myModalLabel">Installer/Lier à yana windows</h3>
				  </div>
				  <div class="modal-body" >
				    <p>Pour avoir accès à la partie vocale, vous devez installer yana-windows. Pour cela suivez les inscructions ci dessous.</p>
					<ul>
				    <li>Si ce n\'est pas déja fait <a href="https://github.com/ldleman/yana-windows/archive/master.zip">téléchargez Yana Windows</a> et décompressez le.</li>
				  <li>Exécutez le programme <b>"ScanSoft Virginie_Dri40_16kHz.exe"</b> pour installez la voix de yana</li>
				  <li>Lancez le programme <b>"yana.exe"</b>, puis faites un clic droit sur l\'îcone de yana situé dans la barre de tâche et cliquez sur \'Configuration\'
				  <li>Configurez \'Adresse du serveur\' avec la valeur suivante : <code>' . $url_link . '</code></li> 
				  <li>Dans le champs suivant, entrez le \'Token\' d\'identification suivant : <code>' . $myUser->getToken() . '</code></li> 
				  <li>Cliquez sur enregistrer, le programme se relance et l\'installation est terminée !!</li> 
				</ul>
				  </div>
				  <div class="modal-footer">
				    <button class="btn" data-dismiss="modal" aria-hidden="true">Fermer</button>
				  </div>
				</div>

				';
            echo json_encode($response);
            break;
        case 'profile_set_profile':
            $myUser->setFirstName($_['firstname']);
            $myUser->setName($_['name']);
            $myUser->setLogin($_['login']);
            $myUser->setMail($_['mail']);
            $fields = array('mail' => $myUser->getMail(), 'login' => $myUser->getLogin(), 'firstname' => $myUser->getFirstName(), 'name' => $myUser->getName());
            if (trim($_['password']) != '') {
                $fields['password'] = User::cryptPassword($_['password']);
            }
            $userManager = new User();
            $userManager->change($fields, array('id' => $myUser->getId()));
            $_SESSION['currentUser'] = serialize($myUser);
            header('location: setting.php?section=profil');
            break;
    }
}