Location: PHPKode > scripts > phpFormBuilder > php-form-builder-2010-02-01/Process.php
<?php
/**
*
* @package luc
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @author Emily Brand
* 
* Minimum Requirement: PHP 5.2
*/

class Process {

  public $post;

  public function Process($post) {
    $error = false;
    $_SESSION['value_array'] = $post;
    foreach($post as $k => $v) {
      if($k == 'email') {
        if(!$this->check_email_address($v) && $v) {
          $this->set_error($k, $v);
          $error = true;
        }
      }
      if(preg_match("/[<>]+/", $v)) {
          $this->set_error($k, $v);
          $error = true;
      }
    }
    if($error) header("Location: ".$_SESSION['page']);
    else unset($_SESSION['error_array']);
    $this->post = $post;
  }

  function set_error($k, $v) {
    if(!$_SESSION['error_array']) $_SESSION['error_array'] = array($k=>$v);
    else $_SESSION['error_array'] = array_merge($_SESSION['error_array'], array($k=>$v));
  }

  public function getPost() {
    return $this->post;
  }

  function check_email_address($email) {
    // First, we check that there's one @ symbol,
    // and that the lengths are right.
    if (!ereg("^[^@]{1,64}@[^@]{1,255}$", $email)) {
      // Email invalid because wrong number of characters
      // in one section or wrong number of @ symbols.
      return false;
    }
    // Split it into sections to make life easier
    $email_array = explode("@", $email);
    $local_array = explode(".", $email_array[0]);
    for ($i = 0; $i < sizeof($local_array); $i++) {
      if
      (!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$",
      $local_array[$i])) {
        return false;
      }
    }
    // Check if domain is IP. If not,
    // it should be valid domain name
    if (!ereg("^\[?[0-9\.]+\]?$", $email_array[1])) {
      $domain_array = explode(".", $email_array[1]);
      if (sizeof($domain_array) < 2) {
        return false; // Not enough parts to domain
      }
      for ($i = 0; $i < sizeof($domain_array); $i++) {
        if
        (!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$", $domain_array[$i])) {
          return false;
        }
      }
    }
    return true;
  }

}
?>
Return current item: phpFormBuilder