Dotclear

Changeset 3158:568e0d0e0991


Ignore:
Timestamp:
01/28/16 11:03:55 (10 years ago)
Author:
franck <carnet.franck.paul@…>
Branch:
default
Message:

Add new array type for settings and prefs, closes #1833 (thank's Dsls for code)

Location:
inc/core
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • inc/core/class.dc.namespace.php

    r2567 r3158  
    7575               $type = $rs->f('setting_type'); 
    7676 
    77                if ($type == 'float' || $type == 'double') { 
    78                     $type = 'float'; 
    79                } elseif ($type != 'boolean' && $type != 'integer') { 
    80                     $type = 'string'; 
     77               if ($type == 'array') { 
     78                    $value = @json_decode($value); 
     79               } else { 
     80                    if ($type == 'float' || $type == 'double') { 
     81                         $type = 'float'; 
     82                    } elseif ($type != 'boolean' && $type != 'integer') { 
     83                         $type = 'string'; 
     84                    } 
    8185               } 
    8286 
     
    233237               } 
    234238          } 
    235           elseif ($type != 'boolean' && $type != 'integer' && $type != 'float') 
     239          elseif ($type != 'boolean' && $type != 'integer' && $type != 'float' && $type != 'array') 
    236240          { 
    237241               $type = 'string'; 
     
    248252          } 
    249253 
    250           settype($value,$type); 
     254          if ($type != 'array') { 
     255               settype($value,$type); 
     256          } else { 
     257               $value = json_encode($value); 
     258          } 
    251259 
    252260          $cur = $this->con->openCursor($this->table); 
  • inc/core/class.dc.workspace.php

    r2566 r3158  
    7979               $type = $rs->f('pref_type'); 
    8080 
    81                if ($type == 'float' || $type == 'double') { 
    82                     $type = 'float'; 
    83                } elseif ($type != 'boolean' && $type != 'integer') { 
    84                     $type = 'string'; 
     81               if ($type == 'array') { 
     82                    $value = @json_decode($value); 
     83               } else { 
     84                    if ($type == 'float' || $type == 'double') { 
     85                         $type = 'float'; 
     86                    } elseif ($type != 'boolean' && $type != 'integer') { 
     87                         $type = 'string'; 
     88                    } 
    8589               } 
    8690 
     
    236240               } 
    237241          } 
    238           elseif ($type != 'boolean' && $type != 'integer' && $type != 'float') 
     242          elseif ($type != 'boolean' && $type != 'integer' && $type != 'float' && $type != 'array') 
    239243          { 
    240244               $type = 'string'; 
     
    251255          } 
    252256 
    253           settype($value,$type); 
     257          if ($type != 'array') { 
     258               settype($value,$type); 
     259          } else { 
     260               $value = json_encode($value); 
     261          } 
    254262 
    255263          $cur = $this->con->openCursor($this->table); 
Note: See TracChangeset for help on using the changeset viewer.

Sites map