Initial Commit
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
class App_Form_Filters_MongoFormatBoolean implements Zend_Filter_Interface
|
||||
{
|
||||
public function filter($value)
|
||||
{
|
||||
$valueFiltered = 0;
|
||||
if($value === true || $value == '1' || $value == 1){
|
||||
$valueFiltered = 1;
|
||||
}
|
||||
|
||||
return $valueFiltered;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
class App_Form_Filters_MongoFormatDatetime implements Zend_Filter_Interface
|
||||
{
|
||||
|
||||
public function filter($data)
|
||||
{
|
||||
|
||||
//Zend_Registry::get('log')->info(print_r('FormatData: '.$data,true));
|
||||
|
||||
$dateValidatorSlash = new Zend_Validate_Date(array('format' => 'dd/mm/yyyy'));
|
||||
$dateValidatorSlashWithTime = new Zend_Validate_Date(array('format' => 'dd/mm/yyyy HH:ii:ss'));
|
||||
$dateValidatorTrattino = new Zend_Validate_Date(array('format' => 'yyyy-mm-dd'));
|
||||
|
||||
if($dateValidatorSlashWithTime->isValid($data)){
|
||||
$data = explode(' ', $data);
|
||||
$dataString = implode('-', array_reverse(explode("/", $data[0]))) ." ".$data[1];
|
||||
}else if ($dateValidatorSlash->isValid($data)) {
|
||||
$dataString = implode('-', array_reverse(explode("/", $data))) . $this->checkTimeString($data);
|
||||
}else if($dateValidatorTrattino->isValid($data)){
|
||||
$dataString = $data.$this->checkTimeString($data);
|
||||
}else{
|
||||
return $data;
|
||||
}
|
||||
|
||||
$orig_date = new DateTime($dataString);
|
||||
return new MongoDB\BSON\UTCDateTime($orig_date->getTimestamp() * 1000);
|
||||
}
|
||||
|
||||
//Controlla se aggiungere o no l'ora alla stringa
|
||||
private function checkTimeString($data)
|
||||
{
|
||||
return (preg_match('/[0-9]{2}:[0-9]{2}:[0-9]{2}/', $data)) ? '' : " 00:00:00";
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
class App_Form_Filters_MongoFormatTimezone implements Zend_Filter_Interface
|
||||
{
|
||||
|
||||
public function filter($data)
|
||||
{
|
||||
|
||||
$dateValidatorSlash = new Zend_Validate_Date(array('format' => 'dd/mm/yyyy'));
|
||||
$dateValidatorSlashWithTime = new Zend_Validate_Date(array('format' => 'dd/mm/yyyy HH:ii:ss'));
|
||||
$dateValidatorTrattino = new Zend_Validate_Date(array('format' => 'yyyy-mm-dd'));
|
||||
|
||||
if($dateValidatorSlashWithTime->isValid($data)){
|
||||
$data = explode(' ', $data);
|
||||
$dataString = implode('-', array_reverse(explode("/", $data[0]))) ." ".$data[1];
|
||||
}else if ($dateValidatorSlash->isValid($data)) {
|
||||
$dataString = implode('-', array_reverse(explode("/", $data))) . " 00:00:00";
|
||||
}else if($dateValidatorTrattino->isValid($data)){
|
||||
$dataString = $data." 00:00:00";
|
||||
}else{
|
||||
return $data;
|
||||
}
|
||||
|
||||
$orig_date = new DateTime($dataString);
|
||||
//Zend_Registry::get('log')->info(print_r($orig_date,true));
|
||||
return new MongoDB\BSON\Timestamp(1,$orig_date->getTimestamp());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
class App_Form_Filters_MyBoolean implements Zend_Filter_Interface
|
||||
{
|
||||
public function filter($value)
|
||||
{
|
||||
$valueFiltered = 0;
|
||||
if($value === true || $value == '1' || $value == 1){
|
||||
$valueFiltered = 1;
|
||||
}
|
||||
|
||||
return $valueFiltered;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
class App_Form_Filters_MyFloatNumber implements Zend_Filter_Interface
|
||||
{
|
||||
|
||||
// se passato un valore non numerico o vuoto resitiuisce zero di default altrimenti null se abilitato
|
||||
private $_enableNull;
|
||||
|
||||
public function __construct($options = null)
|
||||
{
|
||||
$this->_enableNull = false;
|
||||
if (is_array($options) && array_key_exists('enable_null', $options)) {
|
||||
$this->_enableNull = $options['enable_null'];
|
||||
}
|
||||
}
|
||||
|
||||
public function filter($value)
|
||||
{
|
||||
if(!is_numeric($value)){
|
||||
return ($this->_enableNull) ? null : 0;
|
||||
}
|
||||
|
||||
return floatval($value);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
class App_Form_Filters_MyFormatData implements Zend_Filter_Interface
|
||||
{
|
||||
|
||||
public function filter($data)
|
||||
{
|
||||
|
||||
$dateValidatorSlash = new Zend_Validate_Date(array('format' => 'dd/mm/yyyy'));
|
||||
$dateValidatorSlashWithTime = new Zend_Validate_Date(array('format' => 'dd/mm/yyyy HH:ii:ss'));
|
||||
$dateValidatorTrattino = new Zend_Validate_Date(array('format' => 'yyyy-mm-dd'));
|
||||
|
||||
switch (true){
|
||||
case ($dateValidatorSlashWithTime->isValid($data) && !$this->isTimestamp($data)):
|
||||
$data = explode(' ',$data);
|
||||
$date = $data[0];
|
||||
$time = $data[1];
|
||||
return implode('-', array_reverse(explode("/", $date))) . " ". $time;
|
||||
case ($dateValidatorSlash->isValid($data) && !$this->isTimestamp($data)):
|
||||
return implode('-', array_reverse(explode("/", $data)));
|
||||
/*case ($this->isTimestamp($data)):
|
||||
$data = new DateTime('@' . $data);
|
||||
return $data->format('Y-m-d H:i:s');*/
|
||||
case ($dateValidatorTrattino->isValid($data) && !$this->isTimestamp($data)):
|
||||
default:
|
||||
return $data;
|
||||
}
|
||||
}
|
||||
|
||||
private function isTimestamp($string)
|
||||
{
|
||||
try {
|
||||
new DateTime('@' . $string);
|
||||
} catch(Exception $e) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
class App_Form_Filters_MyJsonEncode implements Zend_Filter_Interface
|
||||
{
|
||||
public function filter($value)
|
||||
{
|
||||
$valueFiltered = "";
|
||||
if(is_array($value) || is_object($value)){
|
||||
$valueFiltered = json_encode($value);
|
||||
}
|
||||
|
||||
return $valueFiltered;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
class App_Form_Filters_MySqlsrvFormatData implements Zend_Filter_Interface
|
||||
{
|
||||
|
||||
public function filter($data)
|
||||
{
|
||||
if(is_array($data)){
|
||||
//Zend_Registry::get('log')->info($data);
|
||||
$data = new DateTime($data['date']);
|
||||
return $data -> format("Y-m-d");
|
||||
}elseif(is_string($data)){
|
||||
$dateValidatorSlash = new Zend_Validate_Date(array('format' => 'dd/mm/yyyy'));
|
||||
$dateValidatorTrattino = new Zend_Validate_Date(array('format' => 'yyyy-mm-dd'));
|
||||
if ($dateValidatorSlash->isValid($data)) {
|
||||
return implode('-', array_reverse(explode("/", $data)));
|
||||
}else if($dateValidatorTrattino->isValid($data)){
|
||||
return $data;
|
||||
}else{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
class App_Form_Validators_EmailPec extends Zend_Validate_Abstract
|
||||
{
|
||||
const EMAIL_NULL='is_empty';
|
||||
const EMAIL_ISPEC='is_pec';
|
||||
private $_PEC_DOMAINS = array('pec.it','arubapec.it','legalmail.it');
|
||||
|
||||
|
||||
protected $_messageTemplates = array(
|
||||
self::EMAIL_NULL=>'Valore non presente ',
|
||||
self::EMAIL_ISPEC=>"L'Email inserita sembra essere una PEC, si prega di inserire un email privata"
|
||||
);
|
||||
|
||||
public function isValid($value)
|
||||
{
|
||||
$this->_setValue($value);
|
||||
|
||||
$isValid = true;
|
||||
|
||||
if ($value === ''){
|
||||
$this->_error(self::EMAIL_NULL);
|
||||
$isValid = false;
|
||||
}
|
||||
|
||||
$domain = explode('@',$value);
|
||||
$domain = $domain[1];
|
||||
|
||||
if(in_array($domain,$this->_PEC_DOMAINS)){
|
||||
$this->_error(self::EMAIL_ISPEC);
|
||||
$isValid = false;
|
||||
}
|
||||
|
||||
return $isValid;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
|
||||
class App_Form_Validators_InDomain extends Zend_Validate_Abstract
|
||||
{
|
||||
const DOMAIN_NULL = 'no_domain';
|
||||
const DOMAIN_NO_VALUE = 'no_domain_value';
|
||||
|
||||
protected $_messageTemplates = array(
|
||||
self::DOMAIN_NULL => 'Dominio non specificato',
|
||||
self::DOMAIN_NO_VALUE => "Il valore non è compreso nel dominio specificato"
|
||||
);
|
||||
|
||||
protected $_domain;
|
||||
protected $_domainName;
|
||||
|
||||
public function __construct($domainName)
|
||||
{
|
||||
$this->_domainName = $domainName;
|
||||
$this->setDomain($domainName);
|
||||
}
|
||||
|
||||
public function isValid($value)
|
||||
{
|
||||
$this->_setValue($value);
|
||||
|
||||
$isValid = true;
|
||||
if (!in_array($value, $this->_domain)) {
|
||||
$this->_error(self::DOMAIN_NO_VALUE);
|
||||
$isValid = false;
|
||||
}
|
||||
|
||||
return $isValid;
|
||||
}
|
||||
|
||||
private function setDomain($domainName)
|
||||
{
|
||||
|
||||
if (!$domainName) {
|
||||
throw new Zend_Validate_Exception('Nome di dominio non specificato');
|
||||
}
|
||||
|
||||
$this->_domain = array_keys(App_Constants_Domains::DOMAINS[$domainName]);
|
||||
|
||||
if(!$this->_domain){
|
||||
throw new Zend_Validate_Exception('Nome di dominio non trovato');
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
class App_Form_Validators_MongoBooleanRequired extends Zend_Validate_Abstract
|
||||
{
|
||||
const REQUIRED_VALUE = 'required_mongo_boolean_value';
|
||||
|
||||
protected $_messageTemplates = array(
|
||||
self::REQUIRED_VALUE=> "Il campo deve essere di true o false"
|
||||
);
|
||||
|
||||
public function isValid($value)
|
||||
{
|
||||
$this->_setValue($value);
|
||||
|
||||
$isValid = true;
|
||||
|
||||
if($value !== true && $value !== false){
|
||||
$this->_error(self::REQUIRED_VALUE);
|
||||
$isValid = false;
|
||||
}
|
||||
|
||||
return $isValid;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
class App_Form_Validators_MyData extends Zend_Validate_Abstract
|
||||
{
|
||||
const INVALID_DATA_FORMAT = 'invalid_data_format';
|
||||
|
||||
protected $_messageTemplates = array(
|
||||
self::INVALID_DATA_FORMAT=>'Formato data non valido'
|
||||
);
|
||||
|
||||
public function isValid($value)
|
||||
{
|
||||
$this->_setValue($value);
|
||||
|
||||
$isValid = true;
|
||||
|
||||
$dateValidatorTrattino = new Zend_Validate_Date(array('format' => 'yyyy-mm-dd'));
|
||||
if(!$dateValidatorTrattino->isValid($value)){
|
||||
$this->_error(self::INVALID_DATA_FORMAT);
|
||||
$isValid = false;
|
||||
}
|
||||
|
||||
return $isValid;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
<?php
|
||||
class App_Form_Validators_Piva extends Zend_Validate_Abstract
|
||||
{
|
||||
const PIVA_NULL='is_empty';
|
||||
const PIVA_LENGHT='min_lenght';
|
||||
const PIVA_MATCH='preg_match';
|
||||
const PIVA_INVALID='invalid';
|
||||
const PIVA_INVALID_ME='invalid_me';
|
||||
const PIVA_INVALID_ZERO='invalid_zero';
|
||||
|
||||
protected $_messageTemplates = array(
|
||||
self::PIVA_NULL=>'Valore non presente ',
|
||||
self::PIVA_LENGHT=>'La lunghezza della partita iva "%value%" non è corretta: la partita IVA dovrebbe essere lunga esattamente 11 caratteri',
|
||||
self::PIVA_MATCH=>'La partita iva "%value%" contiene dei caratteri non ammessi: la partita IVA dovrebbe contenere solo cifre',
|
||||
self::PIVA_INVALID=>'La partita iva "%value%" non è valida',
|
||||
self::PIVA_INVALID_ME=>'La partita iva "%value%" non è valida: non puoi inserire la nostra p.iva',
|
||||
self::PIVA_INVALID_ZERO=>'Sei sicuro che "%value%" sia la tua partita iva?',
|
||||
);
|
||||
|
||||
public function isValid($value,$checkPivaInterna = true)
|
||||
{
|
||||
$this->_setValue($value);
|
||||
|
||||
$isValid = true;
|
||||
|
||||
if ($value === ''){
|
||||
$this->_error(self::PIVA_NULL);
|
||||
$isValid = false;
|
||||
}
|
||||
|
||||
if(strlen($value) != 11){
|
||||
$this->_error(self::PIVA_LENGHT);
|
||||
$isValid = false;
|
||||
}
|
||||
|
||||
/*Controllo personalizzato sulla propria partita iva */
|
||||
if ($value === '01999590688' && $checkPivaInterna){
|
||||
$this->_error(self::PIVA_INVALID_ME);
|
||||
$isValid = false;
|
||||
}
|
||||
|
||||
if ($value === '00000000000'){
|
||||
$this->_error(self::PIVA_INVALID_ZERO);
|
||||
$isValid = false;
|
||||
}
|
||||
|
||||
if(preg_match("/^[0-9]+\$/", $value) != 1){
|
||||
$this->_error(self::PIVA_MATCH);
|
||||
$isValid = false;
|
||||
}
|
||||
|
||||
$s = 0;
|
||||
for ($i = 0; $i <= 9; $i += 2)
|
||||
$s += ord($value[$i]) - ord('0');
|
||||
|
||||
for ($i = 1; $i <= 9; $i += 2) {
|
||||
$c = 2 * (ord($value[$i]) - ord('0'));
|
||||
if ($c > 9)
|
||||
$c = $c - 9;
|
||||
$s += $c;
|
||||
}
|
||||
|
||||
if ((10 - $s % 10) % 10 != ord($value[10]) - ord('0')){
|
||||
$this->_error(self::PIVA_INVALID);
|
||||
$isValid = false;
|
||||
}
|
||||
|
||||
return $isValid;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user