Current File : /home/users/barii/public_html/finansenl.com.pl/wodki/application/classes/ac/formadmin.php |
<?php defined('SYSPATH') or die('No direct script access.');
/**
* Helpery do formularzy w Panelu administracyjnym
*
* @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_formadmin {
/**
* Zwraca element tekstowy formularza
* @param string $name nazwa formularza
* @param string $fieldName nazwa pola formularza
* @param string $helpText dodatkowy tekt pomocniczy
* @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
* @param bool $required true pole wymagane
* @return string kod html kontroli z komunikatami
*/
public static function textField($name,$fieldName,$helpText,$data,$prefix,$errors,$required=false)
{
//echo $prefix."_".$fieldName."<br />";
//var_dump($data);
// odczyt wartości zadanego pola
$val = ac_formadmin::get_value(self::get_name($fieldName, $prefix), $data);
// generowanie elementy formularza
$formElement= Form::input(
self::get_name($fieldName, $prefix),
$val,
array('id'=> self::get_id($fieldName, $prefix))
);
// pobranie elementu formularza wraz z komunikatami
return ac_formadmin::field($name,$fieldName,$data,$helpText,$prefix,$errors,$formElement,$required);
}
/**
* 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_formadmin::get_value(self::get_name($fieldName, $prefix), $data);
$formElement= Form::password(self::get_name($name, $prefix),
$val,array('id'=>self::get_id($name, $prefix)));
return ac_formadmin::field($name,$data,$prefix,$errors,$formElement);
}
public static function fileField($name,$data,$prefix,$errors)
{
$formElement= Form::file(
self::get_name($name, $prefix),
array('id'=>self::get_id($name, $prefix)));
return ac_formadmin::field($name,$data,$prefix,$errors,$formElement);
}
public static function selectField($name,$fieldName,$helpText,$data,$prefix,$errors,$required=false, $options = array(),$multiple=false)
{
$attributes=array();
//var_dump($options);
$val = ac_formadmin::get_value(self::get_name($fieldName, $prefix), $data);
//var_dump($val);
if($multiple == true)
$attributes['multiple'] = 'multiple';
$attributes['id'] = self::get_id($fieldName, $prefix);
$formElement= Form::select(
self::get_name($fieldName, $prefix),
$options,
$val,
$attributes);
return ac_formadmin::field($name,$fieldName,$data,$helpText,$prefix,$errors,$formElement,$required);
}
public static function checkboxField($name,$fieldName,$helpText,$data,$prefix,$errors,$required=false, $options = array())
{
//var_dump($options);
$val = ac_formadmin::get_value(self::get_name($fieldName, $prefix), $data);
$formElement= Form::checkbox(
self::get_name($fieldName, $prefix),
$options,
$val,
array('id'=>self::get_id($fieldName, $prefix)));
return ac_formadmin::field($name,$fieldName,$data,$helpText,$prefix,$errors,$formElement,$required);
}
public static function textareaField($name,$fieldName,$helpText,$data,$prefix,$errors,$required=false)
{
// odczyt wartości zadanego pola
$val = ac_formadmin::get_value(self::get_name($fieldName, $prefix), $data);
// generowanie elementy formularza
$formElement= Form::textarea(
self::get_name($fieldName, $prefix),
$val,
array('id'=> self::get_id($fieldName, $prefix))
);
// pobranie elementu formularza wraz z komunikatami
return ac_formadmin::field($name,$fieldName,$data,$helpText,$prefix,$errors,$formElement,$required);
}
/**
* Drukuje element formularza wraz z komunikatami
* @param string $name
* @param string $fieldName
* @param array $data
* @param string $helpText
* @param string $prefix
* @param array $errors
* @param string $form_element kod html elementu formularza
* @param bool $required
*/
private static function field($name,$fieldName,$data,$helpText,$prefix,$errors,$form_element,$required)
{
// Klasa CSS dla błednie wypełnionego pola, domyślnie puste
$css_error_class = '';
$required_html = '';
$helptext_html = '';
if (isset($errors[self::get_name($fieldName, $prefix)])) $css_error_class = "error";
if($required == true) $required_html = "<span class=\"required\">*</span>";
if($helpText !='') $helptext_html = "<br><span class=\"help\">$helpText</span>";
// Etykieta kontrolki
$label_html = '<td for="'. self::get_name($fieldName, $prefix). '">'.
$required_html.
__t($name).
$helptext_html.
'</td>';
// Komunikat błedu jeśli jest
$error_html = '';
if (isset($errors[self::get_name($fieldName, $prefix)])) {
$error_html = '<span>'.
__t($errors[self::get_name($fieldName, $prefix)]).
'</span>';
}
$html = '<tr class="field '. $css_error_class. '">'.
$label_html.
"<td>".$form_element.
$error_html."</td>".
'</tr>';
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)
{
$key = str_replace("[]", '', $key);
// echo "<pre>";
// print_r($key);
//
// print_r($dataArray);
// echo "/<pre>";
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;
}
}