Dotclear


Ignore:
Timestamp:
02/05/16 17:05:45 (9 years ago)
Author:
franck <carnet.franck.paul@…>
Branch:
default
Message:

Use new pref type 'array' for some prefs, addresses #1833

File:
1 edited

Legend:

Unmodified
Added
Removed
  • plugins/userPref/index.php

    r3091 r3161  
    2727     try 
    2828     { 
    29           foreach ($_POST['s'] as $ws => $s) 
    30           { 
     29          foreach ($_POST['s'] as $ws => $s) { 
    3130               $core->auth->user_prefs->addWorkspace($ws); 
    32  
    33                foreach ($s as $k => $v)      { 
     31               foreach ($s as $k => $v) { 
     32                    if ($_POST['s_type'][$ws][$k] == 'array') { 
     33                         $v = json_decode($v,true); 
     34                    } 
    3435                    $core->auth->user_prefs->$ws->put($k,$v); 
    3536               } 
     
    5051     try 
    5152     { 
    52           foreach ($_POST['gs'] as $ws => $s) 
    53           { 
     53          foreach ($_POST['gs'] as $ws => $s) { 
    5454               $core->auth->user_prefs->addWorkspace($ws); 
    55  
    56                foreach ($s as $k => $v)      { 
     55               foreach ($s as $k => $v) { 
     56                    if ($_POST['gs_type'][$ws][$k] == 'array') { 
     57                         $v = json_decode($v,true); 
     58                    } 
    5759                    $core->auth->user_prefs->$ws->put($k,$v,null,null,true,true); 
    5860               } 
     
    7678          array(__('yes') => 1, __('no') => 0),$s['value'] ? 1 : 0); 
    7779     } else { 
    78           $field = form::field(array($field_name.'['.$ws.']['.$id.']',$field_name.'_'.$ws.'_'.$id),40,null, 
    79           html::escapeHTML($s['value'])); 
    80      } 
     80          if ($s['type'] == 'array') { 
     81               $field = form::field(array($field_name.'['.$ws.']['.$id.']',$field_name.'_'.$ws.'_'.$id),40,null, 
     82               html::escapeHTML(json_encode($s['value']))); 
     83          } else { 
     84               $field = form::field(array($field_name.'['.$ws.']['.$id.']',$field_name.'_'.$ws.'_'.$id),40,null, 
     85               html::escapeHTML($s['value'])); 
     86          } 
     87     } 
     88     $type = form::hidden(array($field_name.'_type'.'['.$ws.']['.$id.']',$field_name.'_'.$ws.'_'.$id.'_type'), 
     89          html::escapeHTML($s['type'])); 
    8190 
    8291     $slabel = $strong_label ? '<strong>%s</strong>' : '%s'; 
     
    8695     '<td scope="row"><label for="'.$field_name.'_'.$ws.'_'.$id.'">'.sprintf($slabel,html::escapeHTML($id)).'</label></td>'. 
    8796     '<td>'.$field.'</td>'. 
    88      '<td>'.$s['type'].'</td>'. 
     97     '<td>'.$s['type'].$type.'</td>'. 
    8998     '<td>'.html::escapeHTML($s['label']).'</td>'. 
    9099     '</tr>'; 
Note: See TracChangeset for help on using the changeset viewer.

Sites map