Changeset 484 for trunk/Common/Forms.php


Ignore:
Timestamp:
Feb 10, 2013, 11:31:12 AM (12 years ago)
Author:
chronos
Message:
  • Přidáno: Formulářový typ RandomHash pro zajištění funkčnosti generování vlastnosti Salt pro generování hesel.
  • Opraveno: Změna hesla uživatele nyní funguje správně i přes obecnou Správu dat.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Common/Forms.php

    r465 r484  
    4040        } else $UseType = $Item['Type'];           
    4141      $Edit = $System->Type->ExecuteTypeEvent($UseType, 'OnView',
    42         array('Value' => $this->Values[$Index], 'Name' => $Index, 'Type' => $Item['Type']));
     42        array('Value' => $this->Values[$Index], 'Name' => $Index,
     43        'Type' => $Item['Type'], 'Values' => $this->Values));
    4344      if(array_key_exists('Suffix', $Item)) $Edit .= ' '.$Item['Suffix'];
    44       array_push($Table['Rows'], array($Item['Caption'].':', $Edit));
     45      if(!$System->Type->IsHidden($UseType))
     46        array_push($Table['Rows'], array($Item['Caption'].':', $Edit));
    4547    }
    4648    $Output = '<fieldset><legend>'.$this->Definition['Title'].'</legend>'.Table($Table).
     
    6264    global $Database, $FormTypes, $System;
    6365
     66    $Hidden = '';
     67    $IsHidden = false;
    6468    $Table = array(
    6569      //'Header' => array('Položka', 'Hodnota'),
     
    7680      if(!array_key_exists($Index, $this->Values) and isset($Item['Default'])) $this->Values[$Index] = $Item['Default'];
    7781        $Parameters = array('Value' => $this->Values[$Index], 'Name' => $Index,
    78             'Type' => $Item['Type']);
     82            'Type' => $Item['Type'], 'Values' => $this->Values);
    7983        if(array_key_exists('Null', $Item)) $Parameters['Null'] = $Item['Null'];
    8084          else unset($Parameters['Null']);
     
    9498        if(array_key_exists('Suffix', $Item)) $Edit .= $Item['Suffix'];
    9599
    96       array_push($Table['Rows'], array($Item['Caption'].':', $Edit));
     100      if(!$System->Type->IsHidden($UseType))
     101          array_push($Table['Rows'], array($Item['Caption'].':', $Edit));
     102      else $Hidden .= $Edit;
    97103    }
    98104    }
    99105    $Output = '<fieldset><legend>'.$this->Definition['Title'].'</legend>'.Table($Table).
    100     '</fieldset>';
     106    $Hidden.'</fieldset>';
    101107    return($Output);
    102108  }
     
    125131        $this->Values[$Index] = $System->Type->ExecuteTypeEvent($UseType, 'OnLoadDb',
    126132            array('Value' => $DbRow[$Index], 'Name' => $Index,
    127             'Type' => $Item['Type']));
     133            'Type' => $Item['Type'], 'Values' => $this->Values));
    128134       
    129135        //echo($DbRow[$Index].'='.$this->Values[$Index].'<br/>');
     
    142148      if(!array_key_exists($Index, $this->Values) and isset($Item['Default'])) $this->Values[$Index] = $Item['Default'];
    143149      $Parameters = array('Value' => $this->Values[$Index], 'Name' => $Index,
    144           'Type' => $Item['Type']);
     150          'Type' => $Item['Type'], 'Values' => $this->Values);
    145151     
    146152        if(array_key_exists($Item['Type'], $FormTypes))
     
    157163        } else $UseType = $Item['Type'];
    158164        $Values[$Index] = $System->Type->ExecuteTypeEvent($UseType, 'OnSaveDb', $Parameters);
     165        if(($Item['Type'] == 'Password') and ($Values[$Index] == '')) unset($Values[$Index]);
    159166       
    160167        //echo($DbRow[$Index].'='.$this->Values[$Index].'<br/>');
     
    181188    $Values = array();
    182189    foreach($this->Definition['Items'] as $Index => $Item)
    183     if(!array_key_exists($Item['Type'], $FormTypes) or
    184     (array_key_exists($Item['Type'], $FormTypes) and ($FormTypes[$Item['Type']]['Type'] != 'ManyToOne')))
     190    if((!array_key_exists($Item['Type'], $FormTypes) or
     191    (array_key_exists($Item['Type'], $FormTypes) and
     192    ($FormTypes[$Item['Type']]['Type'] != 'ManyToOne'))) and
     193    (!array_key_exists('ReadOnly', $Item) or
     194    (array_key_exists('ReadOnly', $Item) and
     195    ($Item['ReadOnly'] != true))))
    185196    {
    186197      //if(array_key_exists($Context.$Index, $_POST))
     
    196207        } else $UseType = $Item['Type'];
    197208        $Values[$Index] = $System->Type->ExecuteTypeEvent($UseType, 'OnLoad',
    198           array('Name' => $Index, 'Type' => $Item['Type']));
     209          array('Name' => $Index, 'Type' => $Item['Type'], 'Values' => $this->Values));
    199210    }
    200211    return($Values);
Note: See TracChangeset for help on using the changeset viewer.