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;
}
}