$item) { $item = filter_var($item, $type, $options); if ($item !== false) { $newArr[$id] = $item; } } return $newArr; } function filterAllowedValues($value, array $allowedValues) { return in_array($value, $allowedValues, true) ? $value : null; } public function filterTitle($title) { return $this->returnIfNotBlank($title); } public function filterId($id) { $filtered = filter_var($id, FILTER_VALIDATE_REGEXP, ['options' => ['regexp' => POLL_REGEX]]); return $filtered ? substr($filtered, 0, 64) : false; } public function filterName($name) { $filtered = trim($name); return $this->returnIfNotBlank($filtered); } public function filterMail($mail) { /////////////////////////////////////////////////////////////////////////////////////// // formatting $mail = trim($mail); /////////////////////////////////////////////////////////////////////////////////////// // e-mail validation $resultat = FALSE; $validator = new EmailValidator(); if ($validator->isValid($mail, new RFCValidation())) { $resultat = $mail; } /////////////////////////////////////////////////////////////////////////////////////// // return return $resultat; } public function filterDescription($description) { $description = str_replace("\r\n", "\n", $description); return $description; } public function filterMD5($control) { return filter_var($control, FILTER_VALIDATE_REGEXP, ['options' => ['regexp' => MD5_REGEX]]); } public function filterInteger($int) { return filter_var($int, FILTER_VALIDATE_INT); } public function filterValueMax($int) { return $this->filterInteger($int) >= 1 ? $this->filterInteger($int) : false; } public function filterBoolean($boolean) { return !!filter_var($boolean, FILTER_VALIDATE_REGEXP, ['options' => ['regexp' => BOOLEAN_TRUE_REGEX]]); } public function filterEditable($editable) { return filter_var($editable, FILTER_VALIDATE_REGEXP, ['options' => ['regexp' => EDITABLE_CHOICE_REGEX]]); } public function filterCollectMail($collectMail) { return filter_var($collectMail, FILTER_VALIDATE_REGEXP, ['options' => ['regexp' => COLLECT_MAIL_CHOICE_REGEX]]); } public function filterComment($comment) { $comment = str_replace("\r\n", "\n", $comment); return $this->returnIfNotBlank($comment); } public function filterDate($date) { $dDate = DateTime::createFromFormat(__('Date', 'Y-m-d'), $date)->setTime(0, 0, 0); return $dDate->format('Y-m-d H:i:s'); } /** * Return the value if it's not blank. * * @param string $filtered The value * @return string|null */ private function returnIfNotBlank($filtered) { if ($filtered) { $withoutSpaces = str_replace(' ', '', $filtered); if (!empty($withoutSpaces)) { return $filtered; } } return null; } }