Ignore:
Timestamp:
Apr 6, 2020, 9:19:50 PM (4 years ago)
Author:
chronos
Message:
  • Fixed: Show DateTime form field type with null value as unchecked checkbox.
  • Fixed: Add form action error for fields with default null value.
  • Added: Show Service form field NetworkSubnet.
  • Modified: Code formatting.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Common/Form/Types/DateTime.php

    r738 r871  
    1111    global $MonthNames;
    1212
    13     if($Item['Value'] == 0) return('');
    14     if((strtolower($Item['Value']) == 'now') or (strtolower($Item['Value']) == '')) $Item['Value'] = time();
     13    if ($Item['Value'] == 0) return '';
     14    if ((strtolower($Item['Value']) == 'now') or (strtolower($Item['Value']) == '')) $Item['Value'] = time();
    1515    $Parts = getdate($Item['Value']);
    1616    $Output = $Parts['mday'].'.'.$Parts['mon'].'.'.$Parts['year'].' '.
    1717      sprintf('%02d', $Parts['hours']).':'.sprintf('%02d', $Parts['minutes']).':'.sprintf('%02d', $Parts['seconds']);
    18     return($Output);
     18    return $Output;
    1919  }
    2020
     
    2323    global $MonthNames;
    2424
    25     if(($Item['Value'] !== null) and ((strtolower($Item['Value']) == 'now') or (strtolower($Item['Value']) == ''))) $Item['Value'] = time();
     25    if (($Item['Value'] == null) or (($Item['Value'] !== null) and ((strtolower($Item['Value']) == 'now') or (strtolower($Item['Value']) == ''))))
     26    {
     27      $Item['Value'] = time();
     28      $IsNull = true;
     29    } else $IsNull = false;
    2630    $Parts = getdate($Item['Value']);
    2731
    2832    $Output = '';
    2933    $Style = '';
    30     if(array_key_exists('Null', $Item) and $Item['Null'])
     34    if (array_key_exists('Null', $Item) and $Item['Null'])
    3135    {
    32       if($Item['Value'] != null)
     36      if (!$IsNull)
    3337      {
    3438        $Checked = ' checked="1"';
     
    4650    // Hour
    4751    $Output .= '<select name="'.$Item['Name'].'-hour" id="'.$Item['Name'].'-hour" '.$Style.'>';
    48     for($I = 1; $I <= 24; $I++)
     52    for ($I = 1; $I <= 24; $I++)
    4953    {
    50       if($Parts['hours'] == $I) $Selected = ' selected="1"'; else $Selected = '';
     54      if ($Parts['hours'] == $I) $Selected = ' selected="1"'; else $Selected = '';
    5155      $Output .= '<option value="'.$I.'"'.$Selected.'>'.$I.'</option>';
    5256    }
     
    5458    // Minute
    5559    $Output .= '<select name="'.$Item['Name'].'-minute" id="'.$Item['Name'].'-minute" '.$Style.'>';
    56     for($I = 1; $I <= 60; $I++)
     60    for ($I = 1; $I <= 60; $I++)
    5761    {
    58       if($Parts['minutes'] == $I) $Selected = ' selected="1"'; else $Selected = '';
     62      if ($Parts['minutes'] == $I) $Selected = ' selected="1"'; else $Selected = '';
    5963      $Output .= '<option value="'.$I.'"'.$Selected.'>'.$I.'</option>';
    6064    }
     
    6266    // Second
    6367    $Output .= '<select name="'.$Item['Name'].'-second" id="'.$Item['Name'].'-second" '.$Style.'>';
    64     for($I = 1; $I <= 60; $I++)
     68    for ($I = 1; $I <= 60; $I++)
    6569    {
    66       if($Parts['seconds'] == $I) $Selected = ' selected="1"'; else $Selected = '';
     70      if ($Parts['seconds'] == $I) $Selected = ' selected="1"'; else $Selected = '';
    6771      $Output .= '<option value="'.$I.'"'.$Selected.'>'.$I.'</option>';
    6872    }
     
    7074    // Day
    7175    $Output .= ' <select name="'.$Item['Name'].'-day" id="'.$Item['Name'].'-day" '.$Style.'>';
    72     for($I = 1; $I <= 31; $I++)
     76    for ($I = 1; $I <= 31; $I++)
    7377    {
    74       if($Parts['mday'] == $I) $Selected = ' selected="1"'; else $Selected = '';
     78      if ($Parts['mday'] == $I) $Selected = ' selected="1"'; else $Selected = '';
    7579      $Output .= '<option value="'.$I.'"'.$Selected.'>'.$I.'</option>';
    7680    }
     
    7882    // Month
    7983    $Output .= '<select name="'.$Item['Name'].'-month"  id="'.$Item['Name'].'-month" '.$Style.'>';
    80     for($I = 1; $I <= 12; $I++)
     84    for ($I = 1; $I <= 12; $I++)
    8185    {
    82       if($Parts['mon'] == $I) $Selected = ' selected="1"'; else $Selected = '';
     86      if ($Parts['mon'] == $I) $Selected = ' selected="1"'; else $Selected = '';
    8387      $Output .= '<option value="'.$I.'"'.$Selected.'>'.$MonthNames[$I].'</option>';
    8488    }
     
    8690    // Year
    8791    $Output .= '<select name="'.$Item['Name'].'-year" id="'.$Item['Name'].'-year" '.$Style.'>';
    88     for($I = 1900; $I < 2100; $I++)
     92    for ($I = 1900; $I < 2100; $I++)
    8993    {
    90       if($Parts['year'] == $I) $Selected = ' selected="1"'; else $Selected = '';
     94      if ($Parts['year'] == $I) $Selected = ' selected="1"'; else $Selected = '';
    9195      $Output .= '<option value="'.$I.'"'.$Selected.'>'.$I.'</option>';
    9296    }
    9397    $Output .= '</select>';
    94     return($Output);
     98    return $Output;
    9599  }
    96100
    97101  function OnLoad($Item)
    98102  {
    99     if(!array_key_exists($Item['Name'].'-null', $_POST) and array_key_exists('Null', $Item) and ($Item['Null'] == true)) return(null);
    100       else return(mktime($_POST[$Item['Name'].'-hour'], $_POST[$Item['Name'].'-minute'], $_POST[$Item['Name'].'-second'],
    101         $_POST[$Item['Name'].'-month'], $_POST[$Item['Name'].'-day'], $_POST[$Item['Name'].'-year']));
     103    if (!array_key_exists($Item['Name'].'-null', $_POST) and array_key_exists('Null', $Item) and ($Item['Null'] == true)) return null;
     104      else return mktime($_POST[$Item['Name'].'-hour'], $_POST[$Item['Name'].'-minute'], $_POST[$Item['Name'].'-second'],
     105        $_POST[$Item['Name'].'-month'], $_POST[$Item['Name'].'-day'], $_POST[$Item['Name'].'-year']);
    102106  }
    103107
    104108  function OnLoadDb($Item)
    105109  {
    106     return(MysqlDateTimeToTime($Item['Value']));
     110    return MysqlDateTimeToTime($Item['Value']);
    107111  }
    108112
    109113  function OnSaveDb($Item)
    110114  {
    111     if($Item['Value'] == null) return(null);
    112       else return(date('Y-m-d H:i:s', $Item['Value']));
     115    if ($Item['Value'] == null) return null;
     116      else return date('Y-m-d H:i:s', $Item['Value']);
    113117  }
    114118
    115119  function DatabaseEscape($Value)
    116120  {
    117     return('"'.addslashes($Value).'"');
     121    return '"'.addslashes($Value).'"';
    118122  }
    119123}
Note: See TracChangeset for help on using the changeset viewer.