Embperl

 view release on metacpan or  search on metacpan

Embperl/Form/Control/datetime.pm  view on Meta::CPAN

        }

    my $date ;
    if ($time =~ /^(\d\d\d\d)-(\d+)$/)
        {
        $date = $time ;    
        }
    elsif ($d == 0 && $m == 0)
        {
        $date = $y ;    
        }
    elsif ($d == 0)
        {
        $date = "$m.$y" ;    
        }
    else
        {
        # Getting the local timezone

        $date = eval
            {
            my @time = gmtime(timegm_nocheck($s,$min,$h,$d,$m-1,$y-1900)+($tz_local*60));

            my $format = $self -> {notime} || ($s == 0 && $h == 0 && $min == 0)?'%d.%m.%Y':'%d.%m.%Y, %H:%M' ;
            $format = '%d.%m.%Y, %H:%M:%S' if ($self -> {fulltime}) ;
            strftime ($format, @time[0..5]) ;
            } ;
        }

    if ($time && !$date && ($time =~ /\d+\.\d+\.\d+/))
        {
        $date = $time ;
        }

    return $date ;
    }


# ------------------------------------------------------------------------------------------
#
#   get_sort_value - returns the value that should be used to sort
#

sub get_sort_value
    {
    my ($self, $req, $value) = @_ ;
    
    $value = $self -> get_value ($req) if (!defined ($value)) ;
    return $value ;
    }
    
# ------------------------------------------------------------------------------------------
#
#   init_data - daten aufteilen
#

sub init_data
    {
    my ($self, $req, $parentctrl, $force) = @_ ;

    my $fdat  = $req -> {docdata} || \%fdat ;
    my $name    = $self->{name} ;
    my $time    = $fdat->{$name} ;

    return if (($time eq '' && !exists $self -> {onempty}) || $self -> {format} eq '-' || ($req -> {"ef_datetime_init_done_$name"} && !$force)) ;

    $fdat->{$name} = $self -> get_display_text ($req, $time) ;
    $req -> {"ef_datetime_init_done_$name"} = 1 ;
    }

# ---------------------------------------------------------------------------
#
#   init_markup - add any dynamic markup to the form data
#

sub init_markup

    {
    my ($self, $req, $parentctl, $method) = @_ ;

    return if (!$self -> is_readonly($req) && (! $parentctl || ! $parentctl -> is_readonly($req))) ;
    
    return $self -> init_data ($req, $parentctl) ;
    }


# ---------------------------------------------------------------------------
#
#   str2time
#

sub str2time

    {
    my ($date) = @_ ;

    my ($year, $mon, $day, $hour, $min, $sec) ;
    if ($date eq '*' || $date eq '.')
        {
        my $offset ||= 0 ;
        ($sec, $min, $hour, $day, $mon, $year) = gmtime (time + $offset) ;
        $year += 1900 ;
        $mon++ ;
        }
    else
        {
        $date =~ tr/,;/  / ;
        my ($d, $t) = split (/\s+/, $date) ;
        if ($d =~ /:/)
	    {
	    $t = $d ;
 	    $d = '' ;
	    }
        ($day, $mon, $year) = map { $_ + 0 } split (/\./, $d) ;
        ($hour, $min, $sec) = map { $_ + 0 } split (/\:/, $t) ;

        if ($year == 0 || $mon == 0 || $day == 0)
            {
            my ($s, $min, $h, $md, $m, $y) = localtime ;

            $day  ||= $md ;



( run in 3.183 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )