{ my $phone = ${ldap}{defaultPhoneNumber} || "none"; my $zip = ${ldap}{postalCode} || "H0H 0H0"; my $street = ${ldap}{defaultStreet} || "Address Line #1"; @lines = map { m:\$config\['common_name'\]: && s/.*/\$config['common_name']='$commonName';/; m:\$config\['unit'\]: && s/.*/\$config['unit']='$defaultDepartment';/; m:\$config\['keysize'\]: && s/.*/\$config['keysize']='4096';/; m:\$config\['country'\]: && s/.*/\$config['country']='$Country';/; m:\$config\['province'\]: && s/.*/\$config['province']='$State';/; m:\$config\['locality'\]: && s/.*/\$config['locality']='$defaultCity';/; m:\$config\['organization'\]: && s/.*/\$config['organization']='$defaultCompany';/; m:\$config\['contact'\]: && s/.*/\$config['contact']='$email';/; m:\$config\['base_url'\]: && s/.*/\$config['base_url']='https:\/\/$commonName\/phpki\/';/; s/(^|\n)[\n\s]*/$1/g;; $_ } @lines; push @lines, "\$config['common_name']='$commonName';" unless grep( /\$config\['common_name'\]/ ,@lines); push @lines, "\$config['unit']='$defaultDepartment';" unless grep( /\$config\['unit'\]/ ,@lines); push @lines, "\$config['keysize']='4096';" unless grep( /\$config\['keysize'\]/ ,@lines); push @lines, "\$config['country']='$Country';" unless grep( /\$config\['country'\]/ ,@lines); push @lines, "\$config['province']='$State';" unless grep( /\$config\['province'\]/ ,@lines); push @lines, "\$config['locality']='$defaultCity';" unless grep( /\$config\['locality'\]/ ,@lines); push @lines, "\$config['organization']='$defaultCompany';" unless grep( /\$config\['organization'\]/ ,@lines); push @lines, "\$config['contact']='$email';" unless grep( /\$config\['contact'\]/ ,@lines); push @lines, "\$config['base_url']='https://$commonName/phpki/';" unless grep( /\$config\['base_url'\]/ ,@lines); # we do not update the following as it will mess up the file. push @lines, "\$config[\'getting_help\']=\'Contact:
\nFirst-Name Last-Name
\n$defaultCompany/$defaultDepartment
\n$street
\n$defaultCity, $State, $zip
\n
\nPhone: $phone
\nE-mail: $email   E-mail is preferred.
\';" unless grep( /\$config\['getting_help'\]/ ,@lines); ""; }