Lemonldap-NG-Common

 view release on metacpan or  search on metacpan

lib/Lemonldap/NG/Common/Conf/Backends/File.pm  view on Meta::CPAN

sub load {
    my ( $self, $cfgNum, $fields ) = @_;
    my ( $f, $filename );
    if ( -e $self->_file($cfgNum) ) {
        $filename = $self->_file($cfgNum);
    }
    elsif ( -e "$self->{dirName}/lmConf-$cfgNum.js" ) {
        $filename = "$self->{dirName}/lmConf-$cfgNum.js";
    }
    if ($filename) {
        local $/ = '';
        my $ret;
        unless ( open FILE, '<', $filename ) {
            $Lemonldap::NG::Common::Conf::msg .= "Read error: $!$@";
            return undef;
        }
        binmode FILE;
        $f = join( '', <FILE> );
        close FILE;
        eval { $ret = from_json( $f, { allow_nonref => 1 } ) };
        if ($@) {

lib/Lemonldap/NG/Common/Conf/Backends/File.pm  view on Meta::CPAN

            $Lemonldap::NG::Common::Conf::msg .=
              "JSON fails to read file: $@ \n";
            return undef;
        }
        return $ret;
    }

    # Old format
    elsif ( -e "$self->{dirName}/lmConf-$cfgNum" ) {
        open FILE, '<', "$self->{dirName}/lmConf-$cfgNum" or die "$!$@";
        local $/ = "";
        unless ( open FILE, '<', $self->{dirName} . "/lmConf-$cfgNum" ) {
            $Lemonldap::NG::Common::Conf::msg .= "Open file failed: $! \n";
            return undef;
        }
        while (<FILE>) {
            my ( $k, $v ) = split /\n\s+/;
            chomp $k;
            $v =~ s/\n*$//;
            if ($fields) {
                $f->{$k} = $v if ( grep { $_ eq $k } @$fields );

lib/Lemonldap/NG/Common/Conf/Backends/YAMLFile.pm  view on Meta::CPAN

    print FILE $f;
    close FILE;
    umask($mask);
    return $fields->{cfgNum};
}

sub load {
    my ( $self, $cfgNum, $fields ) = @_;
    my ( $f, $filename );
    $filename = $self->_yamlFile($cfgNum);
    local $/ = '';
    my $ret;
    unless ( open FILE, '<', $filename ) {
        $Lemonldap::NG::Common::Conf::msg .= "Read error: $!$@";
        return undef;
    }
    binmode FILE;
    $f = join( '', <FILE> );
    eval { $ret = YAML::Load($f) };
    if ($@) {
        print STDERR "$@\n";



( run in 0.220 second using v1.01-cache-2.11-cpan-49f99fa48dc )