$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) { return filter_var($mail, FILTER_VALIDATE_EMAIL); } 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 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 filterComment($comment) { $comment = str_replace("\r\n", "\n", $comment); return $this->returnIfNotBlank($comment); } public function filterDate($date) { $dDate = DateTime::createFromFormat(__('Date', 'datetime_parseformat'), $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; } }