<?php

    global $tpl , $user , $c , $page , $error;

    js::$i->datapicker();

    if( $prevData = db::$i->row( "select * from `user` where `id`='{$c->id}'" ) ){
        
        if(core::POST()) $page->valid();
        
        
        if($_REQUEST['umode']!='admin' and $prevData['id']==1){
            $error->put('Nie można zmienić uprawnień głównego administratora','umode');
        } else {
            query::$i->put(esc($_REQUEST['umode']),'mode');
        }
        
        
        if( $prevData['firstname'] != $_REQUEST['firstname'] ){
            $page->field('firstname',array(
                'strip_tags' => true,
                'empty' => true
            ));
        }

        if( $prevData['lastname'] != $_REQUEST['lastname'] ){
            $page->field('lastname',array(
                'strip_tags' => true,
                'empty' => true
            ));
        }

        if( !empty( $_REQUEST['therapist'] ) )
        {
            query::$i->put( intval( $_REQUEST['therapist'] ) , 'therapist' );
        }
        
        if( $prevData['email'] != $_REQUEST['email'] ){
            $page->field('email',array(
                'strip_tags' => true,
                'field_valid' => 'email',
                'duplicate' => false,
                'duplicate_table' => 'user'
            )); 
        }

        
        if($_REQUEST['change_pass']==1){
            if( $user->id==1 ){
                if(!empty($_REQUEST['pass']) and !empty($_REQUEST['repass'])){
                    if($_REQUEST['pass']!=$_REQUEST['repass']) $error->put('Hasła muszą być identyczne','pass');
                    else {
                        if(strlen($_REQUEST['pass'])<5) $error->put('Hasło musi składać się przynajmniej z 5 znaków');
                        else {
                            $page->field('pass',array(
                                'value' => user::pass_encoder( $_REQUEST['pass'] )
                            ));
                        }
                    }
                } else $error->put('Podaj nowe hasło','pass');
            } else $error->put('G-Admin: BRAK DOSTĘPU','pass');
        }
        
        if( core::POST() )
        {
            
            if( db::$i->update( user::$sql_table , query::$i->getBatch() , $c->id ) )
            {
                statement::$i->set( 'Zmiany zostały zapisane' , 'success' );
            } 
            else 
            {
               statement::$i->set( 'Wystąpił błąd podczas połączenia z bazą danych','danger');

            }
            
        }

        $tpl->assign(array(
            'TherapistList' => Therapist::getList(),
            'data' => array_merge( $user->getData($c->id) , $_POST )
        ));
    
        admin::$i->on();
        
    } else page::setError( CE_EXISTS );


?>