Exemple #1
0
$formLang = new sfc\Form(SSP_Path(), "noTable", "languageform");
$formLang->tplf = "testDatatypeLanguage.tpl";
$formLang->formSubmitVar = 'testLanguagechange';
$formLang->fe('select', 'language', 'Language', Protect::$tranlator->getLanguages());
$formLang->fep('deflt = ' . $session->lang);
$formLang->setParam('script', 'onChange="this.form.submit()"');
if ($formLang->processForm($_POST)) {
    $session->lang = $formLang->getField('language');
    session_write_close();
    SSP_Divert(SSP_Path());
} else {
    $setLanguage = $formLang->create();
}
$form = new sfc\Form(SSP_Path(), "noTable", "testDatatype");
$form->tplf = "testDatatype.tpl";
$form->tda('lang', $session->lang);
$form->tda('setLanguage', $setLanguage);
$form->fe("text", "data", "Data to be checked");
$form->fep("dataType = gen");
$dataType = array("text" => "text " . $dataCheck->dataTypes["text"]->validChars, "password" => "password " . $dataCheck->dataTypes["password"]->validChars, "date" => "date " . $dataCheck->dataTypes["date"]->validChars, "time" => "time " . $dataCheck->dataTypes["time"]->validChars, "phone" => "phone " . $dataCheck->dataTypes["phone"]->validChars, "int" => "int " . $dataCheck->dataTypes["int"]->validChars, "real" => "real " . $dataCheck->dataTypes["real"]->validChars, "hex" => "hex " . $dataCheck->dataTypes["hex"]->validChars, "oct" => "oct " . $dataCheck->dataTypes["oct"]->validChars, "bin" => "bin " . $dataCheck->dataTypes["bin"]->validChars, "email" => "email " . $dataCheck->dataTypes["email"]->validChars, "emailchk" => "emailchk " . $dataCheck->dataTypes["email"]->validChars, "dom" => "dom " . $dataCheck->dataTypes["dom"]->validChars, "domchk" => "domchk " . $dataCheck->dataTypes["dom"]->validChars, "lable" => "lable " . $dataCheck->dataTypes["lable"]->validChars, "gen" => "general data, no checking at all!");
$form->fe("select", "dataType", "Data type to check against", $dataType);
if ($form->processForm($_POST)) {
    if (!$form->error) {
        $error = $dataCheck->check($form->getField("dataType"), $form->getField("data"));
        $form->tda("errorNumber", $error);
        $form->tda("errorString", $dataCheck->errorMessage);
        echo $form->create(true);
    }
} else {
    echo $form->create(true);
}
Exemple #2
0
 /**
  * Check data for character errors, e.g. letters in a numeric field and return error objects
  * @param type $name
  * @param string $data - data to be checked
  * @param string $dataType - data type to check against
  * @param string $description - description of field or data
  * @param bool $local - generate local error for a form field
  * @return Error - error object or false
  */
 private function dataCheck($data, $dataType, $description, $local = false)
 {
     /*
      data type, can be:
      text - 0 to 9, a - z, A - Z, \n \r \t . ' " + - _ space
      password - 0 to 9, a - z, A - Z
      dom - 0-9, a-z, A-Z, ._,/ at least one dot, : & etc.
      domchk - checks the domain
      email - <= 128 char, @, 0-9, a-z, A-Z, _.+-
      emailchk - also checks the domain
      date - 0 to 9, /
      time - 0 to 9, :
      phone - 0-9() +-. space
      int - 0-9 -
      real - 0-9 . - e
      hex - 0-9, a-f, A-F
      octal - 0-7
      bin - 0,1
      gen - any character - when re-displayed any special characters are converted to html special entities and then converted back to characters on submission
     */
     if (trim($data) != "") {
         $result = $this->checkData->check($dataType, $data);
         if ($result !== 0) {
             // error return
             $errorText = "";
             if (!isset($this->errorTextDataStrings[$result])) {
                 $errorText = $this->t("No description for error code ") . $result;
             } elseif ($result === 1) {
                 // character type error return
                 if ($local) {
                     $errorText = sprintf($this->t($this->errorTextDataStringsLocal[$result]), $this->checkData->errorMessage);
                 } else {
                     $errorText = sprintf($this->t($this->errorTextData), $this->t($description), sprintf($this->t($this->errorTextDataStrings[$result]), $this->checkData->errorMessage));
                 }
             } else {
                 if ($local) {
                     $errorText = $this->t($this->errorTextDataStringsLocal[$result]);
                 } else {
                     $errorText = sprintf($this->t($this->errorTextData), $this->t($description), $this->t($this->errorTextDataStrings[$result]));
                 }
             }
             $return = new \w34u\ssp\sfc\Error($errorText);
         } else {
             $return = true;
         }
     } else {
         $return = true;
     }
     return $return;
 }
Exemple #3
0
/**
 * Changes get and/or post parameters
 * @param any $param
 * @param string $paramName
 * @param bool $getParam - look in get vars first
 * @param string $dataType - data type to check
 */
function SSP_changeParam(&$param, $paramName, $getParam = true, $dataType = "lable")
{
    $checkData = new CheckData();
    $result = "";
    $gotChange = false;
    if ($getParam) {
        if (isset($_GET[$paramName])) {
            $result = $_GET[$paramName];
            $gotChange = true;
        } elseif (isset($_POST[$paramName])) {
            $result = $_POST[$paramName];
            $gotChange = true;
        }
    } else {
        if (isset($_POST[$paramName])) {
            $result = $_POST[$paramName];
            $gotChange = true;
        } elseif (isset($_GET[$paramName])) {
            $result = $_GET[$paramName];
            $gotChange = true;
        }
    }
    if ($gotChange and !$checkData->check($dataType, $result)) {
        $param = $result;
    }
}