Exemplo n.º 1
0
/**
 * Create array with all inputs required for date selection and calendar.
 *
 * @param string      $name
 * @param int|array   $date unix timestamp/date array(Y,m,d,H,i)
 * @param string|null $relatedCalendar name of the calendar which must be closed when this calendar opens
 *
 * @return array
 */
function createDateSelector($name, $date, $relatedCalendar = null)
{
    $calendarIcon = new CImg('images/general/bar/cal.gif', 'calendar', 16, 12, 'pointer');
    $onClick = 'var pos = getPosition(this); pos.top += 10; pos.left += 16; CLNDR["' . $name . '_calendar"].clndr.clndrshow(pos.top, pos.left);';
    if ($relatedCalendar) {
        $onClick .= ' CLNDR["' . $relatedCalendar . '_calendar"].clndr.clndrhide();';
    }
    $calendarIcon->onClick($onClick);
    if (is_array($date)) {
        $y = $date['y'];
        $m = $date['m'];
        $d = $date['d'];
        $h = $date['h'];
        $i = $date['i'];
    } else {
        $y = date('Y', $date);
        $m = date('m', $date);
        $d = date('d', $date);
        $h = date('H', $date);
        $i = date('i', $date);
    }
    $day = new CNumericBox($name . '_day', $d, 2);
    $day->attr('placeholder', _('dd'));
    $month = new CNumericBox($name . '_month', $m, 2);
    $month->attr('placeholder', _('mm'));
    $year = new CNumericBox($name . '_year', $y, 4);
    $year->attr('placeholder', _('yyyy'));
    $hour = new CNumericBox($name . '_hour', $h, 2);
    $hour->attr('placeholder', _('hh'));
    $minute = new CNumericBox($name . '_minute', $i, 2);
    $minute->attr('placeholder', _('mm'));
    $fields = array($day, '/', $month, '/', $year, SPACE, $hour, ':', $minute, $calendarIcon);
    zbx_add_post_js('create_calendar(null,' . '["' . $name . '_day","' . $name . '_month","' . $name . '_year","' . $name . '_hour","' . $name . '_minute"],' . '"' . $name . '_calendar",' . '"' . $name . '");');
    return $fields;
}