diff options
author | Frédéric Guillot <fred@kanboard.net> | 2018-04-04 15:21:13 -0700 |
---|---|---|
committer | Frédéric Guillot <fred@kanboard.net> | 2018-04-04 15:21:13 -0700 |
commit | a4642d17e0e1ea018b128efdcc3db281461458b1 (patch) | |
tree | 00210c3d0abd0adea7f8817e6ba1d82c1ea4b50e /libs/SimpleValidator/Validators/Exists.php | |
parent | 62178b1f2b4ad6ed8eafbcd3be8ef2f46b041b82 (diff) |
Move custom libs to the source tree
Diffstat (limited to 'libs/SimpleValidator/Validators/Exists.php')
-rw-r--r-- | libs/SimpleValidator/Validators/Exists.php | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/libs/SimpleValidator/Validators/Exists.php b/libs/SimpleValidator/Validators/Exists.php new file mode 100644 index 00000000..1998e673 --- /dev/null +++ b/libs/SimpleValidator/Validators/Exists.php @@ -0,0 +1,38 @@ +<?php + +namespace SimpleValidator\Validators; + +use PDO; + +class Exists extends Base +{ + private $pdo; + private $key; + private $table; + + public function __construct($field, $error_message, PDO $pdo, $table, $key = '') + { + parent::__construct($field, $error_message); + + $this->pdo = $pdo; + $this->table = $table; + $this->key = $key; + } + + + public function execute(array $data) + { + if (! $this->isFieldNotEmpty($data)) { + return true; + } + + if ($this->key === '') { + $this->key = $this->field; + } + + $rq = $this->pdo->prepare('SELECT 1 FROM '.$this->table.' WHERE '.$this->key.'=?'); + $rq->execute(array($data[$this->field])); + + return $rq->fetchColumn() == 1; + } +} |