Primo commit: trasferimento del progetto PPEasy
This commit is contained in:
@@ -0,0 +1,344 @@
|
||||
<?php
|
||||
require_once dirname(__FILE__) . '/../Error/Validation.php';
|
||||
class FileMaker_Field_Implementation
|
||||
{
|
||||
var $_layout;
|
||||
var $_name;
|
||||
var $_autoEntered = false;
|
||||
var $_global = false;
|
||||
var $_maxRepeat = 1;
|
||||
var $_validationMask = 0;
|
||||
var $_validationRules = array();
|
||||
var $_result;
|
||||
var $_type;
|
||||
var $_valueList = null;
|
||||
var $_styleType;
|
||||
var $_maxCharacters = 0;
|
||||
function FileMaker_Field_Implementation(&$Vc6140495)
|
||||
{
|
||||
$this->_layout =& $Vc6140495;
|
||||
}
|
||||
function getName()
|
||||
{
|
||||
return $this->_name;
|
||||
}
|
||||
function &getLayout()
|
||||
{
|
||||
return $this->_layout;
|
||||
}
|
||||
function isAutoEntered()
|
||||
{
|
||||
return $this->_autoEntered;
|
||||
}
|
||||
function isGlobal()
|
||||
{
|
||||
return $this->_global;
|
||||
}
|
||||
function getRepetitionCount()
|
||||
{
|
||||
return $this->_maxRepeat;
|
||||
}
|
||||
function validate($V2063c160, $Vcb5e100e = null)
|
||||
{
|
||||
$V1c0c74f6 = true;
|
||||
if ($Vcb5e100e === null) {
|
||||
$V1c0c74f6 = false;
|
||||
$Vcb5e100e = new FileMaker_Error_Validation($this->_layout->_impl->_fm);
|
||||
}
|
||||
foreach ($this->getValidationRules() as $V981c1e7b) {
|
||||
switch ($V981c1e7b) {
|
||||
case FILEMAKER_RULE_NOTEMPTY:
|
||||
if (empty($V2063c160)) {
|
||||
$Vcb5e100e->addError($this, $V981c1e7b, $V2063c160);
|
||||
}
|
||||
break;
|
||||
case FILEMAKER_RULE_NUMERICONLY :
|
||||
if (!empty ($V2063c160)) {
|
||||
if ($this->checkNumericOnly($V2063c160)) {
|
||||
$Vcb5e100e->addError($this, $V981c1e7b, $V2063c160);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case FILEMAKER_RULE_MAXCHARACTERS :
|
||||
if (!empty ($V2063c160)) {
|
||||
$V2fa47f7c = strlen($V2063c160);
|
||||
if ($V2fa47f7c > $this->_maxCharacters) {
|
||||
$Vcb5e100e->addError($this, $V981c1e7b, $V2063c160);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case FILEMAKER_RULE_TIME_FIELD :
|
||||
if (!empty ($V2063c160)) {
|
||||
if (!$this->checkTimeFormat($V2063c160)) {
|
||||
|
||||
$Vcb5e100e->addError($this, $V981c1e7b, $V2063c160);
|
||||
} else {
|
||||
$this->checkTimeValidity($V2063c160, $V981c1e7b, $Vcb5e100e, FALSE);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case FILEMAKER_RULE_TIMESTAMP_FIELD :
|
||||
if (!empty ($V2063c160)) {
|
||||
if (!$this->checkTimeStampFormat($V2063c160)) {
|
||||
|
||||
$Vcb5e100e->addError($this, $V981c1e7b, $V2063c160);
|
||||
} else {
|
||||
$this->checkDateValidity($V2063c160, $V981c1e7b, $Vcb5e100e);
|
||||
$this->checkTimeValidity($V2063c160, $V981c1e7b, $Vcb5e100e, FALSE);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case FILEMAKER_RULE_DATE_FIELD :
|
||||
if (!empty ($V2063c160)) {
|
||||
if (!$this->checkDateFormat($V2063c160)) {
|
||||
|
||||
$Vcb5e100e->addError($this, $V981c1e7b, $V2063c160);
|
||||
} else {
|
||||
$this->checkDateValidity($V2063c160, $V981c1e7b, $Vcb5e100e);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case FILEMAKER_RULE_FOURDIGITYEAR :
|
||||
if (!empty ($V2063c160)) {
|
||||
switch ($this->_result) {
|
||||
case 'timestamp' :
|
||||
if ($this->checkTimeStampFormatFourDigitYear($V2063c160)) {
|
||||
preg_match('#^([0-9]{1,2})[-,/,\\\\]([0-9]{1,2})[-,/,\\\\]([0-9]{4})#', $V2063c160, $V9c28d32d);
|
||||
$V7436f942 = $V9c28d32d[1];
|
||||
$V628b7db0 = $V9c28d32d[2];
|
||||
$V84cdc76c = $V9c28d32d[3];
|
||||
if ($V84cdc76c < 1 || $V84cdc76c > 4000) {
|
||||
$Vcb5e100e->addError($this, $V981c1e7b, $V2063c160);
|
||||
} else
|
||||
if (!checkdate($V7436f942, $V628b7db0, $V84cdc76c)) {
|
||||
$Vcb5e100e->addError($this, $V981c1e7b, $V2063c160);
|
||||
} else {
|
||||
$this->checkTimeValidity($V2063c160, $V981c1e7b, $Vcb5e100e, FALSE);
|
||||
}
|
||||
} else {
|
||||
|
||||
$Vcb5e100e->addError($this, $V981c1e7b, $V2063c160);
|
||||
}
|
||||
break;
|
||||
default :
|
||||
preg_match('#([0-9]{1,2})[-,/,\\\\]([0-9]{1,2})[-,/,\\\\]([0-9]{1,4})#', $V2063c160, $V78f0805f);
|
||||
if (count($V78f0805f) != 3) {
|
||||
$Vcb5e100e->addError($this, $V981c1e7b, $V2063c160);
|
||||
} else {
|
||||
$V6c8f3f79 = strlen($V78f0805f[2]);
|
||||
if ($V6c8f3f79 != 4) {
|
||||
$Vcb5e100e->addError($this, $V981c1e7b, $V2063c160);
|
||||
} else {
|
||||
if ($V78f0805f[2] < 1 || $V78f0805f[2] > 4000) {
|
||||
$Vcb5e100e->addError($this, $V981c1e7b, $V2063c160);
|
||||
} else {
|
||||
if (!checkdate($V78f0805f[0], $V78f0805f[1], $V78f0805f[2])) {
|
||||
$Vcb5e100e->addError($this, $V981c1e7b, $V2063c160);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case FILEMAKER_RULE_TIMEOFDAY :
|
||||
if (!empty ($V2063c160)) {
|
||||
if ($this->checkTimeFormat($V2063c160)) {
|
||||
$this->checkTimeValidity($V2063c160, $V981c1e7b, $Vcb5e100e, TRUE);
|
||||
} else {
|
||||
|
||||
$Vcb5e100e->addError($this, $V981c1e7b, $V2063c160);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ($V1c0c74f6) {
|
||||
return $Vcb5e100e;
|
||||
} else {
|
||||
return $Vcb5e100e->numErrors() ? $Vcb5e100e : true;
|
||||
}
|
||||
}
|
||||
|
||||
function getLocalValidationRules()
|
||||
{
|
||||
$V6b55d9ec = array ();
|
||||
foreach (array_keys($this->_validationRules) as $V981c1e7b) {
|
||||
switch ($V981c1e7b) {
|
||||
case FILEMAKER_RULE_NOTEMPTY :
|
||||
$V6b55d9ec[] = $V981c1e7b;
|
||||
break;
|
||||
case FILEMAKER_RULE_NUMERICONLY :
|
||||
$V6b55d9ec[] = $V981c1e7b;
|
||||
break;
|
||||
case FILEMAKER_RULE_MAXCHARACTERS :
|
||||
$V6b55d9ec[] = $V981c1e7b;
|
||||
break;
|
||||
case FILEMAKER_RULE_FOURDIGITYEAR :
|
||||
$V6b55d9ec[] = $V981c1e7b;
|
||||
break;
|
||||
case FILEMAKER_RULE_TIMEOFDAY :
|
||||
$V6b55d9ec[] = $V981c1e7b;
|
||||
break;
|
||||
case FILEMAKER_RULE_TIMESTAMP_FIELD :
|
||||
$V6b55d9ec[] = $V981c1e7b;
|
||||
break;
|
||||
case FILEMAKER_RULE_DATE_FIELD :
|
||||
$V6b55d9ec[] = $V981c1e7b;
|
||||
break;
|
||||
case FILEMAKER_RULE_TIME_FIELD :
|
||||
$V6b55d9ec[] = $V981c1e7b;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return $V6b55d9ec;
|
||||
}
|
||||
function checkTimeStampFormatFourDigitYear($V2063c160)
|
||||
{
|
||||
return (preg_match('#^[ ]*([0-9]{1,2})[-,/,\\\\]([0-9]{1,2})[-,/,\\\\]([0-9]{4})[ ]*([0-9]{1,2})[:]([0-9]{1,2})([:][0-9]{1,2})?([ ]*((AM|PM)|(am|pm)))?[ ]*$#', $V2063c160));
|
||||
}
|
||||
function checkTimeStampFormat($V2063c160)
|
||||
{
|
||||
return (preg_match('#^[ ]*([0-9]{1,2})[-,/,\\\\]([0-9]{1,2})([-,/,\\\\]([0-9]{1,4}))?[ ]*([0-9]{1,2})[:]([0-9]{1,2})([:][0-9]{1,2})?([ ]*((AM|PM)|(am|pm)))?[ ]*$#', $V2063c160));
|
||||
}
|
||||
function checkDateFormat($V2063c160)
|
||||
{
|
||||
return (preg_match('#^[ ]*([0-9]{1,2})[-,/,\\\\]([0-9]{1,2})([-,/,\\\\]([0-9]{1,4}))?[ ]*$#', $V2063c160));
|
||||
}
|
||||
function checkTimeFormat($V2063c160)
|
||||
{
|
||||
return (preg_match('#^[ ]*([0-9]{1,2})[:]([0-9]{1,2})([:][0-9]{1,2})?([ ]*((AM|PM)|(am|pm)))?[ ]*$#', $V2063c160));
|
||||
}
|
||||
function checkNumericOnly($V2063c160)
|
||||
{
|
||||
return (!is_numeric($V2063c160));
|
||||
}
|
||||
function checkDateValidity($V2063c160, $V981c1e7b, $Vcb5e100e)
|
||||
{
|
||||
preg_match('#([0-9]{1,2})[-,/,\\\\]([0-9]{1,2})([-,/,\\\\]([0-9]{1,4}))?#', $V2063c160, $V78f0805f);
|
||||
if ($V78f0805f[4]) {
|
||||
$V6c8f3f79 = strlen($V78f0805f[4]);
|
||||
$V84cdc76c = $V78f0805f[4];
|
||||
if ($V6c8f3f79 != 4) {
|
||||
$V84cdc76c = $V84cdc76c +2000;
|
||||
}
|
||||
if ($V78f0805f[4] < 1 || $V78f0805f[4] > 4000) {
|
||||
$Vcb5e100e->addError($this, $V981c1e7b, $V2063c160);
|
||||
} else {
|
||||
if (!checkdate($V78f0805f[1], $V78f0805f[2], $V78f0805f[4])) {
|
||||
$Vcb5e100e->addError($this, $V981c1e7b, $V2063c160);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$V84cdc76c = date('Y');
|
||||
if (!checkdate($V78f0805f[1], $V78f0805f[2], $V84cdc76c)) {
|
||||
$Vcb5e100e->addError($this, $V981c1e7b, $V2063c160);
|
||||
}
|
||||
}
|
||||
}
|
||||
function checkTimeValidity($V2063c160, $V981c1e7b, $Vcb5e100e, $Vcaf85b7b)
|
||||
{
|
||||
$V52124c01 = 0;
|
||||
if ($Vcaf85b7b) {
|
||||
$V52124c01 = 12;
|
||||
} else {
|
||||
$V52124c01 = 24;
|
||||
}
|
||||
preg_match('#([0-9]{1,2})[:]([0-9]{1,2})[:]?([0-9]{1,2})?#', $V2063c160, $V9c28d32d);
|
||||
$V896c55cc = $V9c28d32d[1];
|
||||
$V640fd0cc = $V9c28d32d[2];
|
||||
if (count($V9c28d32d) >= 4) {
|
||||
$V783e8e29 = $V9c28d32d[3];
|
||||
}
|
||||
if ($V896c55cc < 0 || $V896c55cc > $V52124c01) {
|
||||
$Vcb5e100e->addError($this, $V981c1e7b, $V2063c160);
|
||||
} else if ($V640fd0cc < 0 || $V640fd0cc > 59) {
|
||||
$Vcb5e100e->addError($this, $V981c1e7b, $V2063c160);
|
||||
} else
|
||||
if (isset($V783e8e29)) {
|
||||
if ($V783e8e29 < 0 || $V783e8e29 > 59)
|
||||
$Vcb5e100e->addError($this, $V981c1e7b, $V2063c160);
|
||||
}
|
||||
}
|
||||
function getValidationRules()
|
||||
{
|
||||
return array_keys($this->_validationRules);
|
||||
}
|
||||
function getValidationMask()
|
||||
{
|
||||
return $this->_validationMask;
|
||||
}
|
||||
function hasValidationRule($Ve289cc97)
|
||||
{
|
||||
return $Ve289cc97 & $this->_validationMask;
|
||||
}
|
||||
function describeValidationRule($Ve289cc97)
|
||||
{
|
||||
if (is_array($this->_validationRules[$Ve289cc97])) {
|
||||
return $this->_validationRules[$Ve289cc97];
|
||||
}
|
||||
return null;
|
||||
}
|
||||
function describeLocalValidationRules()
|
||||
{
|
||||
$V6b55d9ec = array ();
|
||||
foreach ($this->_validationRules as $V981c1e7b => $V1dee80c7) {
|
||||
switch ($V981c1e7b) {
|
||||
case FILEMAKER_RULE_NOTEMPTY :
|
||||
$V6b55d9ec[$V981c1e7b] = $V1dee80c7;
|
||||
break;
|
||||
case FILEMAKER_RULE_NUMERICONLY :
|
||||
$V6b55d9ec[$V981c1e7b] = $V1dee80c7;
|
||||
break;
|
||||
case FILEMAKER_RULE_MAXCHARACTERS :
|
||||
$V6b55d9ec[$V981c1e7b] = $V1dee80c7;
|
||||
break;
|
||||
case FILEMAKER_RULE_FOURDIGITYEAR :
|
||||
$V6b55d9ec[$V981c1e7b] = $V1dee80c7;
|
||||
break;
|
||||
case FILEMAKER_RULE_TIMEOFDAY :
|
||||
$V6b55d9ec[$V981c1e7b] = $V1dee80c7;
|
||||
break;
|
||||
case FILEMAKER_RULE_TIMESTAMP_FIELD :
|
||||
$V6b55d9ec[$V981c1e7b] = $V1dee80c7;
|
||||
break;
|
||||
case FILEMAKER_RULE_DATE_FIELD :
|
||||
$V6b55d9ec[$V981c1e7b] = $V1dee80c7;
|
||||
break;
|
||||
case FILEMAKER_RULE_TIME_FIELD :
|
||||
$V6b55d9ec[$V981c1e7b] = $V1dee80c7;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return $V6b55d9ec;
|
||||
}
|
||||
function describeValidationRules()
|
||||
{
|
||||
return $this->_validationRules;
|
||||
}
|
||||
function getResult()
|
||||
{
|
||||
return $this->_result;
|
||||
}
|
||||
function getType()
|
||||
{
|
||||
return $this->_type;
|
||||
}
|
||||
function getValueList($Vd33e904c = null)
|
||||
{
|
||||
$Vb4a88417 = $this->_layout->loadExtendedInfo($Vd33e904c);
|
||||
if (FileMaker::isError($Vb4a88417)) {
|
||||
return $Vb4a88417;
|
||||
}
|
||||
return $this->_layout->getValueList($this->_valueList);
|
||||
}
|
||||
function getStyleType()
|
||||
{
|
||||
$Vb4a88417 = $this->_layout->loadExtendedInfo();
|
||||
if (FileMaker::isError($Vb4a88417)) {
|
||||
return $Vb4a88417;
|
||||
}
|
||||
return $this->_styleType;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user