This commit is contained in:
xdrm-brackets 2016-07-19 18:59:56 +02:00
parent 6d7b42b998
commit 7c3d79e4ec
5 changed files with 24 additions and 27 deletions

View File

@ -180,12 +180,12 @@
if( !is_array($autotyped) ){
/* (1) Si Numérique Entier -> INT */
if( is_numeric($autotyped) && intval($autotyped) == $autotyped )
if( preg_match('/^(0|([1-9][0-9]*))$/i', $autotyped) )
return intval($autotyped);
/* (2) Si Numérique Décimal -> FLOAT */
else if( is_numeric($autotyped) && floatval($autotyped) == $autotyped )
return floatval($autotyped);
else if( preg_match('/^(0|(?:[1-9][0-9]*))[\.\,]([0-9]+)$/i', $autotyped, $m) )
return floatval("${m[1]}.${m[2]}");
/* (3) Sinon on retourne la même chose */
else
@ -195,12 +195,21 @@
=========================================================*/
}else{
// Pour chaque valeur, on applique récursivement
foreach($autotyped as $k=>$v)
/* (1) Pour chaque valeur, on applique récursivement */
foreach($autotyped as $k=>$v){
// Si on met '_nomColonne', on ne le traite pas
if( is_string($k) && $k[0] == '_' ) continue;
$autotyped[$k] = self::autotype($v);
}
}
/* [2] On retourne le résultat auto-typé
=========================================================*/
return $autotyped;
}

View File

@ -453,10 +453,10 @@
/* [N] Retourne les données
=========================================================*/
return [
'actions' => $sorted_actions,
'states' => $globalStates,
'chips' => $chips,
'permissions' => $indexed_permissions
'actions' => Database::autotype( $sorted_actions ),
'states' => Database::autotype( $globalStates ),
'chips' => Database::autotype( $chips ),
'permissions' => Database::autotype( $indexed_permissions )
];
}

View File

@ -363,25 +363,12 @@
for( var a in Object.keys(ACTIONS[COUNT]) ){
/* (3) On vérifie que l'utilisateur a la permissions d'effectuer l'action */
var hasPermission = false;
// On vérifie parmis toutes les permissions de cette CARTE
if( PERMISSIONS.hasOwnProperty(CARD) )
for( var i = 0 ; i < PERMISSIONS[CARD].length ; i++ )
if( PERMISSIONS[CARD][i] == ACTIONS[COUNT][a].id_action ){
hasPermission = true;
break;
}
// Si on a pas la permission, on quitte
if( !hasPermission ) return;
console.log( CARD, PERMISSIONS[CARD], ACTIONS[COUNT][a].id_action);
var hasPermission = PERMISSIONS.hasOwnProperty(CARD) && PERMISSIONS[CARD].indexOf(ACTIONS[COUNT][a].id_action) > -1;
console.log( CARD, PERMISSIONS[CARD], ACTIONS[COUNT][a].id_action, hasPermission);
// Si pas la permission, on fait rien
if( !hasPermission ) break;
if( !hasPermission ) continue;
/* (4) Si la condition est correcte, On applique la modification de l'état */
if( previous(ACTIONS[COUNT][a].previous, STATE) ){

View File

@ -5,4 +5,4 @@ a};Board.prototype.set=function(a,b){if(!(parseInt(a)!=a||a>this.maxPin)&&this.p
b=parseInt(b);this.values[a].set(b)}};Chip.prototype.setPins=function(a){for(var b=0;b<this.pins.length;b++)this.setPin(b,a[b])};Chip.prototype.getPin=function(a){return parseInt(a)!=a||this.pins.length<=a?!1:this.values[a].get()};Chip.prototype.getPins=function(){for(var a=[],b=0;b<this.pins.length;b++)a[b]=this.getPin(b);return a}})();var LedInterface;
(function(){LedInterface=function(a,b){a instanceof Chip&&b instanceof Element&&(this.chip=a,this.container=b)};LedInterface.prototype={chip:this.chip,container:this.container};LedInterface.prototype.update=function(){this.container.style.backgroundColor="rgb("+this.chip.getPin(0)+","+this.chip.getPin(1)+","+this.chip.getPin(2)+")"}})();var RelayInterface;
(function(){RelayInterface=function(a,b){a instanceof Chip&&b instanceof Element&&(this.chip=a,this.container=b)};RelayInterface.prototype={chip:this.chip,container:this.container};RelayInterface.prototype.update=function(){1<this.chip.getPin(0)?this.container.addClass("active"):this.container.remClass("active")}})();var previous,action;
(function(){previous=function(a,b){a=a.toLowerCase();for(var c=0;c<a.length;c++)if("x"!=a[c]&&a[c]!=b[c])return!1;return!0};action=function(a,b){a=a.toLowerCase();for(var c=0;c<a.length;c++)"x"!=a[c]&&(b[c]=parseInt(a[c]))}})();
(function(){previous=function(a,b){console.warn(a);a=a.toLowerCase();for(var c=0;c<a.length;c++)if("x"!=a[c]&&a[c]!=b[c])return!1;return!0};action=function(a,b){a=a.toLowerCase();for(var c=0;c<a.length;c++)"x"!=a[c]&&(b[c]=parseInt(a[c]))}})();

View File

@ -363,6 +363,7 @@ var action;
*
*/
previous = function(previous, state){
console.warn(previous);
previous = previous.toLowerCase();
for( var i = 0 ; i < previous.length ; i++ )