initial commit
This commit is contained in:
commit
1cc4bf3572
254 changed files with 63622 additions and 0 deletions
htdocs/libraries/Nibble-Forms/Nibble/NibbleForms/Field
|
@ -0,0 +1,76 @@
|
|||
<?php
|
||||
|
||||
namespace Nibble\NibbleForms\Field;
|
||||
|
||||
use Nibble\NibbleForms\Useful;
|
||||
use Nibble\NibbleForms\Field;
|
||||
|
||||
class Text extends Field
|
||||
{
|
||||
|
||||
protected $label,
|
||||
$content = '/.*/',
|
||||
$attribute_string = '',
|
||||
$class = '',
|
||||
$required = true;
|
||||
public $error = array(),
|
||||
$field_type = 'text';
|
||||
|
||||
public function __construct($label, $attributes = array())
|
||||
{
|
||||
$this->label = $label;
|
||||
if (isset($attributes['required'])) {
|
||||
$this->required = $attributes['required'];
|
||||
} else {
|
||||
$attributes['required'] = true;
|
||||
}
|
||||
if (isset($attributes['content'])) {
|
||||
$this->content = $attributes['content'];
|
||||
}
|
||||
$this->attributes = $attributes;
|
||||
}
|
||||
|
||||
public function attributeString()
|
||||
{
|
||||
if (!empty($this->error)) {
|
||||
$this->class = 'error';
|
||||
}
|
||||
$this->attribute_string = '';
|
||||
foreach ($this->attributes as $attribute => $val) {
|
||||
if ($attribute == 'class') {
|
||||
$this->class.= ' ' . $val;
|
||||
} else {
|
||||
$this->attribute_string .= $val ? ' ' . ($val === true ? $attribute : "$attribute=\"$val\"") : '';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function returnField($form_name, $name, $value = '')
|
||||
{
|
||||
$this->attributeString();
|
||||
|
||||
return array(
|
||||
'messages' => !empty($this->custom_error) && !empty($this->error) ? $this->custom_error : $this->error,
|
||||
'label' => $this->label === false ? false : sprintf('<label for="%s_%s" class="%s">%s</label>', $form_name, $name, $this->class, $this->label),
|
||||
'field' => sprintf('<input type="%1$s" name="%6$s[%2$s]" id="%6$s_%2$s" value="%3$s" %4$s class="%5$s" />', $this->field_type, $name, $value, $this->attribute_string, $this->class, $form_name),
|
||||
'html' => $this->html
|
||||
);
|
||||
}
|
||||
|
||||
public function validate($val)
|
||||
{
|
||||
if ($this->required) {
|
||||
if (Useful::stripper($val) === false) {
|
||||
$this->error[] = 'is required';
|
||||
}
|
||||
}
|
||||
if (Useful::stripper($val) !== false) {
|
||||
if (!preg_match($this->content, $val)) {
|
||||
$this->error[] = 'is not valid';
|
||||
}
|
||||
}
|
||||
|
||||
return !empty($this->error) ? false : true;
|
||||
}
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue