<?php
class adresyController extends baseController {

  function __construct() {
    $this->controller_name = 'Adresy';
    $this->controller_fname = 'adresy';
    $this->controller_info = 'Adresy';
    $this->entita_classname = 'Adresa';
    parent::__construct();
    $this->tpl = 'page.tpl';
  }

  public function seznam($args){

  	$this->html .= '<h2>Adresy uživatele</h2>';
  	$this->html .= '<a href="'.Tools::controllerlink($this->controller_fname, 'pridat').'">Přidat adresu</a><br />';

  	$result = dibi::query('SELECT * FROM ADRESA WHERE ID_UZIV = %i AND STAV = 1',$this->registry->user->id);
  	if (count($result) > 0) {
  		foreach($result as $item) {
  			$this->html .= '<div class="adresa"><div class="adr_box">
        		<h2 class="a_l">'.$item['TITUL'].' '.$item['JMENO'].' '.$item['PRIJMENI'].'</h2>
        		<b>Ulice a č.p.:</b> '.$item['ULICE'].' '.$item['CISLO_POPISNE'].'<br />
        		<b>Město:</b> '.$item['OBEC'].'<br />
        		<b>PSČ:</b> '.$item['PSC'].'<br />
        		<br />'.(empty($item['NAZEV_FIRMY'])? '' : '<b>Firma:</b> '.$item['NAZEV_FIRMY'].'<br />
        		<b>IČ:</b> '.$item['ICO'].'<br /><b>DIČ:</b> '.$item['DIC'].'<br /><br />').'        		
        		<b>Kontaktní e-mail:</b><br />'.$item['KONTAKT_MAIL'].'<br />
        		<b>Mobil:</b> '.$item['KONTAKT_TELEFON'].'<br /><br />
        		</div>
        		<div class="a_r"><a href="'.Tools::controllerlink($this->controller_fname, 'upravit',array($item['ID'])).'" >upravit adresu</a></div>
					</div>';
  		}
  	}
  	else {
  		$this->html .= '<br />Neexistují žádné adresy.';
  	}
		$this->setView();
  }

  public function pridat($agrs) {
  	
  	$form_id = 'PridatAdresa';
  	$entita = new Adresa();
  	
    if ($this->registry->form_send) {

    	$_POST['stav'] = 1;
    	$_POST['id_uziv'] = $this->registry->user->id;

      if (Validate::entita($entita,true) !== false) {

        $entita->setFromPost();
        $entita->insert();

        $redirect = Tools::ControllerLink($this->controller_fname,'seznam' );

        $this->setMessage('Adresa byla přidána', CSS_MESS, 1);
        Tools::redirect($redirect);
        die;

      }
      else {
        $valid_err = Validate::error();
        $this->setMessage('Špatně vyplněné údaje'.$valid_err, CSS_ERR);
      }
    }

    $form = new Form($form_id);
    $form->openFieldset('Přidat adresu');
    $form->addInput('hidden', 'id_uziv', MY,array(), $entita->validate['id_uziv']);
    $form->addInput('hidden', 'id_vyr', MY,array(), $entita->validate['id_vyr']);
    $form->addInput('hidden', 'id_dod', MY,array(), $entita->validate['id_dod']);
    $form->addLabel('Titul', 'titul');
    $form->addInput('text', 'titul', MY, array(), $entita->validate['titul'], true);
    $form->addLabel('Jméno', 'jmeno');
    $form->addInput('text', 'jmeno', MY, array(), $entita->validate['jmeno'], true);
    $form->addLabel('Príjmení', 'prijmeni');
    $form->addInput('text', 'prijmeni', MY, array(), $entita->validate['prijmeni'], true);
    $form->addLabel('Firma', 'nazev_firmy', array(), 'Pouze pokud se jedná o firmu.');
    $form->addInput('text', 'nazev_firmy', MY, array(), $entita->validate['nazev_firmy'], true);
    $form->addLabel('IČO', 'ico', array(), 'Pouze pokud se jedná o firmu.');
    $form->addInput('text', 'ico', MY, array(), $entita->validate['ico'], true);
    $form->addLabel('DIČO', 'dic', array(), 'Pouze pokud se jedná o firmu.');
    $form->addInput('text', 'dic', MY, array(), $entita->validate['dic'], true);
    $form->addTag('br');
    $form->addLabel('E-mail', 'kontakt_mail');
    $form->addInput('text', 'kontakt_mail', MY, array(), $entita->validate['kontakt_mail'], true);
    $form->addLabel('Telefon', 'kontakt_telefon');
    $form->addInput('text', 'kontakt_telefon', MY, array(), $entita->validate['kontakt_telefon'], true); 
    $form->addLabel('Ulice', 'ulice', array(), 'Pokud obec nemá ulice, napište do pole název obce');
    $form->addInput('text', 'ulice', MY, array(), $entita->validate['ulice'], true);
    $form->addLabel('Č.p.', 'cislo_popisne', array(), 'Číslo popisné, případně Orientační číslo/ Číslo popisné');
    $form->addInput('text', 'cislo_popisne', MY, array(), $entita->validate['cislo_popisne'], true); 
    $form->addLabel('Obec', 'obec');
    $form->addInput('text', 'obec', MY, array(), $entita->validate['obec'], true);
    $form->addLabel('PSČ', 'psc');
    $form->addInput('text', 'psc', MY, array(), $entita->validate['psc'], true); 

    $form->openTag('div', array('class' => 'bb_l'));
    $form->addTag('hr',array('class' => 'cleaner '));
    $form->addInput('submit', 'uloz', 'Uložit');
    $form->addInput('reset', 'reset', 'Vrátit změny');
    $form->closeTag();
    
    $this->html = $form->get();
		$this->setView();
  }

  public function upravit($agrs) {
  	
  	$id = $agrs[0];
  	$form_id = 'UpravitAdresa';
  	$entita = new Adresa();
  	
    if ($this->registry->form_send) {

    	$_POST['stav'] = 1;
    	$_POST['id_uziv'] = $this->registry->user->id;

      if (Validate::entita($entita,true) !== false) {
      	
      	if ($entita->checkBlock($id) == true) {
      		$_POST['stav'] = 0;
      		$entita->upravit($id, $form_id, true);
      		$entita->saveAsNew();
      	}
      	else {
      		$entita->upravit($id, $form_id, true);
      	}


        $redirect = Tools::ControllerLink($this->controller_fname,'seznam' );

        $this->setMessage('Adresa byla upravena', CSS_MESS, 1);
        Tools::redirect($redirect);
        die;

      }
      else {
        $valid_err = Validate::error();
        $this->setMessage('Špatně vyplněné údaje'.$valid_err, CSS_ERR);
      }
    }

    $zaznam = $entita->loadById($id,true);

    $form = new Form($form_id);
    $form->openFieldset('Upravit adresu');
    $form->setEntitaRef($entita);
    $form->setValue($zaznam);
    $form->addInput('hidden', 'id_uziv', MY,array(), $entita->validate['id_uziv']);
    $form->addInput('hidden', 'id_vyr', MY,array(), $entita->validate['id_vyr']);
    $form->addInput('hidden', 'id_dod', MY,array(), $entita->validate['id_dod']);
    $form->addLabel('Titul', 'titul');
    $form->addInput('text', 'titul', MY, array(), $entita->validate['titul'], true);
    $form->addLabel('Jméno', 'jmeno');
    $form->addInput('text', 'jmeno', MY, array(), $entita->validate['jmeno'], true);
    $form->addLabel('Príjmení', 'prijmeni');
    $form->addInput('text', 'prijmeni', MY, array(), $entita->validate['prijmeni'], true);
    $form->addLabel('Firma', 'nazev_firmy', array(), 'Pouze pokud se jedná o firmu.');
    $form->addInput('text', 'nazev_firmy', MY, array(), $entita->validate['nazev_firmy'], true);
    $form->addLabel('IČO', 'ico', array(), 'Pouze pokud se jedná o firmu.');
    $form->addInput('text', 'ico', MY, array(), $entita->validate['ico'], true);
    $form->addLabel('DIČO', 'dic', array(), 'Pouze pokud se jedná o firmu.');
    $form->addInput('text', 'dic', MY, array(), $entita->validate['dic'], true);
    $form->addTag('br');
    $form->addLabel('E-mail', 'kontakt_mail');
    $form->addInput('text', 'kontakt_mail', MY, array(), $entita->validate['kontakt_mail'], true);
    $form->addLabel('Telefon', 'kontakt_telefon');
    $form->addInput('text', 'kontakt_telefon', MY, array(), $entita->validate['kontakt_telefon'], true); 
    $form->addLabel('Ulice', 'ulice', array(), 'Pokud obec nemá ulice, napište do pole název obce');
    $form->addInput('text', 'ulice', MY, array(), $entita->validate['ulice'], true);
    $form->addLabel('Č.p.', 'cislo_popisne', array(), 'Číslo popisné, případně Orientační číslo/ Číslo popisné');
    $form->addInput('text', 'cislo_popisne', MY, array(), $entita->validate['cislo_popisne'], true); 
    $form->addLabel('Obec', 'obec');
    $form->addInput('text', 'obec', MY, array(), $entita->validate['obec'], true);
    $form->addLabel('PSČ', 'psc');
    $form->addInput('text', 'psc', MY, array(), $entita->validate['psc'], true);
    $form->addInput('hidden', HASH, MY); 

    $form->openTag('div', array('class' => 'bb_l'));
    $form->addTag('hr',array('class' => 'cleaner '));
    $form->addInput('submit', 'uloz', 'Uložit');
    $form->addInput('reset', 'reset', 'Vrátit změny');
    $form->closeTag();

    $this->html = $form->get();
		$this->setView();
  }

  public function treeNav() {

    $this->registry->template->set('is_tree_nav', true, true);
    if (empty($this->registry->template->akt_nazev)) {
    	$this->registry->template->set('akt_nazev', $this->controller_name);
    }
    
  }

}
?>  