Current File : /home/users/barii/public_html/finansenl.com.pl/wodki/application/classes/ac/form2.php
<?php defined('SYSPATH') or die('No direct script access.');

/**
 * Helpery do formularzy
 *
 * @var $name string nazwa pola formularza
 * @var $data array tablica wartości (string) kontrolek formularza
 * @var $prefix string prefiks do id kontrolki formularza, np. dp grupowania
 * @var $errors array tablica błedów (string) kontrolki formularza
 * @var $val string zawartośc kontrolki
 *
 * Użycie opisane na przykładzie textField.
 * Nazwy, klucze i identyfikatory składane są z prefixy i nazwy.
 * Prefix zawsze pierwszy np. logawanie_haslo.
 * Prefix może służyć do grupowania kontrolek.
 */
class ac_form2 {

    /**
     * Zwraca element tekstowy formularza
     * @param string $name nazwa pola formularza
     * @param array $data tablica wartości (string) kontrolek formularza
     * @param string $prefix prefiks do id kontrolki formularza, np. do grupowania
     * @param array $errors tablica błedów (string) kontrolki formularza
     * @return string kod html kontroli z komunikatami
     */
    public static function textField($name,$data,$prefix,$errors,$readonly=null,$label=null)
    {
        //var_dump($data);
        // odczyt wartości zadanego pola
        $val = ac_form2::get_value(self::get_name($name, $prefix), $data);

        // generowanie elementy formularza
		if( !is_null($readonly) ) {
        $formElement= Form::input(
                    self::get_name($name, $prefix),
                    $val,
                    array('class'=>'inp-form','id'=> self::get_id($name, $prefix),'readonly'=>$readonly)
                );
		} else {
		 $formElement= Form::input(
                    self::get_name($name, $prefix),
                    $val,
                    array('class'=>'inp-form','id'=> self::get_id($name, $prefix))
                );
		}
        
        // pobranie elementu formularza wraz z komunikatami
        return ac_form2::field($name,$data,$prefix,$errors,$formElement,'text', $label);
    }

    /**
     * Zwraca element hasła formularza
     * @param string $name
     * @param array $data
     * @param string $prefix
     * @param array $errors
     * @return string kod html
     */
    public static function passwordField($name,$data,$prefix,$errors)
    {
        $val = ac_form2::get_value(self::get_name($name, $prefix), $data);

        $formElement= Form::password(self::get_name($name, $prefix),
                $val,array('class'=>'inp-form','id'=>self::get_id($name, $prefix)));

        return ac_form2::field($name,$data,$prefix,$errors,$formElement,'password');
    }

    public static function fileField($name,$data,$prefix,$errors)
    {
        $formElement= Form::file(
                self::get_name($name, $prefix),
                array('class'=>'file_1','id'=>self::get_id($name, $prefix)));

        return ac_form2::field($name,$data,$prefix,$errors,$formElement);
    }
    
    public static function selectField($name,$data,$prefix,$errors, $options = array(), $val = null, $disabled = null, $label = null)
    {
        //var_dump($options);
		if( $val == null)
        $val = ac_form2::get_value(self::get_name($name, $prefix), $data);
    
        $formElement= Form::select(
                self::get_name($name, $prefix),
                $options,
                $val,
                array('class'=>'styledselect_form_2','id'=>self::get_id($name, $prefix)));

        return ac_form2::field($name,$data,$prefix,$errors,$formElement,'select', $label);
    }
	
    public static function selectField2($name,$data,$prefix,$errors, $options = array(), $val = null, $disabled = null )
    {
        //var_dump($options);
		if( $val == null)
        $val = ac_form2::get_value(self::get_name($name, $prefix), $data);
    
        $formElement= Form::select(
                self::get_name($name, $prefix),
                $options,
                $val,
                array('class'=>'styledselect_form_1','id'=>self::get_id($name, $prefix)));

        return ac_form2::field($name,$data,$prefix,$errors,$formElement,'select');
    }	
	
    public static function selectField3($name,$data,$prefix,$errors, $options = array(), $val = null, $disabled = null)
    {
        //var_dump($options);
		if( $val == null)
        $val = ac_form2::get_value(self::get_name($name, $prefix), $data);
    
        $formElement= Form::select(
                self::get_name($name, $prefix),
                $options,
                $val,
                array('onchange'=>'przeladuj(this)','class'=>'styledselect_form_3','id'=>self::get_id($name, $prefix)));

        return ac_form2::field($name,$data,$prefix,$errors,$formElement,'select');
    }	
	
	

    public static function checkboxsField($name,$data,$prefix,$errors, $val, $label = null, $infotip = null)
    {
        //var_dump($data);
        $checked = false;
        //$val = ac_form2::get_value(self::get_name($name, $prefix), $data, $options = array());
        if ($val == 1) {
            $checked = true;
        }
		
        $formElement= Form::checkbox(
                self::get_name($name, $prefix),
                1,
                $checked,
                array('id'=>self::get_id($name, $prefix)));

        return ac_form2::field($name,$data,$prefix,$errors,$formElement,'checkbox', $label,$infotip);
    }

    public static function textareaField($name,$data,$prefix,$errors, $label = null)
    {
        // odczyt wartości zadanego pola
        $val = ac_form2::get_value(self::get_name($name, $prefix), $data);

        // generowanie elementy formularza
        $formElement= Form::textarea(
                    self::get_name($name, $prefix),
                    $val,
                    array('class'=>'form-textarea','id'=> self::get_id($name, $prefix))
                );

        // pobranie elementu formularza wraz z komunikatami
        return ac_form2::field($name,$data,$prefix,$errors,$formElement,'textarea', $label);
    }
	
    public static function radioField($name,$data,$prefix,$errors, $value, $checked = FALSE)
    {
        //var_dump($data);
     //   $checked = false;
     //   $val = ac_form2::get_value(self::get_name($name, $prefix), $data);
     //   if ($val == 1) {
     //       $checked = true;
     //   }

        $formElement= Form::radio(
                self::get_name($name, $prefix),
                $value,
                $checked,
                array('class'=>'form-radio','id'=>self::get_id($name, $prefix)));

        return ac_form2::field($name,$data,$prefix,$errors,$formElement,'radio');
    }	

	 public static function radioField2($name,$data,$prefix,$errors, $value, $checked = FALSE)
    {
        //var_dump($data);
     //   $checked = false;
     //   $val = ac_form2::get_value(self::get_name($name, $prefix), $data);
     //   if ($val == 1) {
     //       $checked = true;
     //   }

        $formElement= Form::radio(
                self::get_name($name, $prefix),
                $value,
                $checked,
                array('onchange'=>'przeladuj(this)','class'=>'form-radio','id'=>self::get_id($name, $prefix)));

        return ac_form2::field($name,$data,$prefix,$errors,$formElement,'radio');
    }	

    /**
     * Drukuje element formularza wraz z komunikatami
     * @param string $name
     * @param array $data
     * @param string $prefix
     * @param array $errors
     * @param string $form_element kod html elementu formularza
     */
    private static function field($name,$data,$prefix,$errors,$form_element, $type=null, $label = null, $infotip = null)
    {
	
	
		?>
		
	
		<?php 
	
        // Klasa CSS dla błednie wypełnionego pola, domyślnie puste
        $css_error_class = '';

		
        if (isset($errors[self::get_name($name, $prefix)])) $css_error_class = "f-error";

        // Etykieta kontrolki
		if( !is_null( $label ) ) $name_label = $label; else $name_label = $name;
        $label_html = '<label class="label-form" for="id_'. self::get_name($name, $prefix). '">'.
                        __t($name_label).
                     '</label>';

        // Komunikat błedu jeśli jest
        $error_html = $infotip_html = '';
        if (isset($errors[self::get_name($name, $prefix)])) {
            $error_html = '<span class="error">'.__t($errors[self::get_name($name, $prefix)]).'</span>';
        }

		if ($infotip){
			$infotip_html = '<span class="tip">'.__t($infotip).'</span>';
		}

        $html = '<div class="row clearfix f-'.$type.' '.$css_error_class.'">';
			$html.= '<div class="cell labels"><span>'.$label_html.'</span></div>';
			$html.= '<div class="cell inputs"><span>'.$form_element.'</span>'.$error_html.$infotip_html.'</div>';
		$html .= '</div>';

        return $html;
     }
     
     public static function get_array_USUN($key, $dataArray) {
        if (key_exists($key, $dataArray)) {
            return $dataArray[$key];
        }
        return false;
    }

    /**
    * Zwraca wartość wiersza tablicy pod wskazanym kluczem
    * @param string $key klucz
    * @param array $dataArray tablica
    * @return string|false
    */
    private static function get_value($key, $dataArray)
    {
        //var_dump($key);var_dump($dataArray);

		if (isset($dataArray[$key])){		
	        if (key_exists($key, $dataArray)) {
	            return $dataArray[$key];
	        }
		}
        return false;
    }

    /**
     * Zwraca nazwę kontrolki formularza
     * @param string $name
     * @param string $prefix
     * @return string ($prefix_$name)
     */
    public static function get_name($name, $prefix)
    {
        return $prefix.'_'.$name;
    }

    /**
     * Zwraca id kontrolki formularza
     * @param string $name
     * @param string $prefix
     * @return string (id_$prefix_$name)
     */
    private static function get_id($name, $prefix)
    {
        return 'id_'.self::get_name($name, $prefix);
    }

    public static function clear_form_data($form_data)
    {
        $data = array();
        foreach($form_data as $key => $value) {
                $data[$key] = htmlspecialchars(trim($value));
            }
        return $data;
    }
}