- <?php
- /**
- * Project: ePrints Statistics
- * File: inc.class.input_check.es.php
- * Description: Gross input checks for POST and GET via this object.
- * Sql object does it's own checking based on the schema.
- */
-
- class checkit {
- var $_config = array();
- var $_response;
- var $_clean;
-
- function checkit()
- {
-
- }
- function doCheck($value)
- {
- if (method_exists($this, $this->_config["type"])) {
- checkit::$this->_config["type"]($value);
- } else {
- /* Could do something meaningful here. */
- }
- }
- function getResponse()
- {
- return $this->_response;
- }
- function setConfig($config)
- {
- $this->_config = $config;
- }
- function cookie($value)
- {
- if (strlen($value)>$this->_config["maxlength"]) {
- $this->_response = $this->_config["action"];
- }
- }
- function string($value)
- {
- /*
- More restrictive here than freetext
- Use could be for the form actions. If they don't match
- a certain type we have to reset the request otherwise we
- don't know what will happen.
- */
- if (strlen($value)>$this->_config["maxlength"]) {
- $this->_response = $this->_config["action"];
- }
- if (isset($this->_config["pattern"])) {
- $pattern = $this->_config["pattern"];
- if ( preg_match($pattern, $value) ) {
- $this->_response = $this->_config["action"];
- }
- }
- if (isset($this->_config["values"])) {
- if (!in_array($value, $this->_config["values"])) {
- $this->_response = $this->_config["action"];
- }
- }
- return;
- }
- function integer($value)
- {
- /*
- Check that value is numeric and does not exceed maxlength.
- */
- if (!is_numeric($value)) {
- $this->_response = $this->_config["action"];
- }
- $test = (int) $value;
- if ($test > $this->_config["maxlength"]) {
- $this->_response = $this->_config["action"];
- }
- }
- function ignore($value)
- {
- return;
- }
- function freetext($value)
- {
- if (strlen($value)>$this->_config["maxlength"]) {
- return 1;
- }
- if (isset($this->_config["pattern"])) {
- $pattern = $this->_config["pattern"];
- $replacement = $this->_config["replacement"];
- $this->_clean = preg_replace($pattern, $replacement, $value);
- return 2;
- }
- }
- }
-
- ?>
-