From a163e18715e484397c1466bfe7c7526d0cec1e3b Mon Sep 17 00:00:00 2001
From: goujonpa <goujonpa@gmail.com>
Date: Wed, 18 Jun 2014 02:06:35 +0200
Subject: [PATCH] phonefield

---
 class/boolfield.php  |  7 ++++---
 class/field.php      | 14 +++++++++-----
 class/phonefield.php | 28 ++++++++++++++++++++++++++++
 3 files changed, 41 insertions(+), 8 deletions(-)
 create mode 100644 class/phonefield.php

diff --git a/class/boolfield.php b/class/boolfield.php
index c1407b9..fa9c8a8 100644
--- a/class/boolfield.php
+++ b/class/boolfield.php
@@ -13,9 +13,10 @@ class BoolField extends Field
     public function validate()
     {
         if (isset($_POST[$this->name]))
-            $this->value = $_POST[$this->name];
-        else
-            $this->value = NULL;
+            if ($_POST[$this->name] == 'on')
+                $this->value = true;
+            else
+                $this->value = false;
         return true;
     }
 }
diff --git a/class/field.php b/class/field.php
index 283fdbe..1b5016e 100644
--- a/class/field.php
+++ b/class/field.php
@@ -11,9 +11,9 @@ class Field {
 	public function html() {
 		// Todo, if isset($_POST[$this->name]) && !$this->validate() => Show a error msg explanation for this line.
 		return '<div class="form-group">
-    <label for="form'.$this->name.'">'.ucfirst($this->name).'</label>
-    <input type="text" class="form-control" name="'.$this->name.'" value="'.$this->value.'" >
-  </div>';
+    				<label for="form'.$this->name.'">'.ucfirst($this->name).'</label>
+    				<input type="text" class="form-control" name="'.$this->name.'" value="'.$this->value.'" >
+  				</div>';
 	}
 
 	/*
@@ -21,8 +21,12 @@ class Field {
 		and return false, if data is not valid !
 	*/
 	public function validate() {
-		$this->value = $_POST[$this->name];
-		return true;
+		if (isset($_POST[$this->name]))
+		{
+			$this->value = $_POST[$this->name];
+			return true;
+		}
+		return false;
 	}
 
 }
diff --git a/class/phonefield.php b/class/phonefield.php
new file mode 100644
index 0000000..33e2e22
--- /dev/null
+++ b/class/phonefield.php
@@ -0,0 +1,28 @@
+<?
+
+class PhoneField extends Field
+{
+    public function html() {
+        $html = '<div class = "checkbox">
+                    <label for = "form'.$this->name.'">
+                    <input type = "tel" name = "'.$this->name.'" value ="'.$this->value.'"> '.ucfirst($this->name).'
+                    </label>
+                </div>';
+        return $html; 
+    }
+
+    public function validate()
+    {
+ 
+        if (isset($_POST[$this->name]))
+        {
+            $_POST[$this->name] = htmlspecialchars($_POST[$this->name]); 
+            if (preg_match("#^0[1-68]([-. ]?[0-9]{2}){4}$#", $_POST[$this->name]))
+                {
+                    $this->value = $_POST[$this->name];
+                    return true;
+                }
+        return false;
+    }
+
+}
-- 
GitLab