X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FMoreCommon.pm;h=b1ea817e486d7be87ba3ff05361928da4ceda7e5;hb=10d6fe63ec82e50322a1fe08902fde7a0c1efa4e;hp=dad975037db50c75507cd44b36b66288bedaa88a;hpb=07b14d1f5c08e87ac700564520bc70e1c1ea1923;p=kivitendo-erp.git diff --git a/SL/MoreCommon.pm b/SL/MoreCommon.pm index dad975037..b1ea817e4 100644 --- a/SL/MoreCommon.pm +++ b/SL/MoreCommon.pm @@ -3,14 +3,13 @@ package SL::MoreCommon; require Exporter; our @ISA = qw(Exporter); -our @EXPORT = qw(save_form restore_form compare_numbers any cross); +our @EXPORT = qw(save_form restore_form compare_numbers cross); our @EXPORT_OK = qw(ary_union ary_intersect ary_diff listify ary_to_hash uri_encode uri_decode); +use Encode (); use List::MoreUtils qw(zip); use YAML; -use SL::AM; - use strict; sub save_form { @@ -60,7 +59,7 @@ sub compare_numbers { $main::lxdebug->enter_sub(); my ($a, $a_unit, $b, $b_unit) = @_; - + require SL::AM; my $units = AM->retrieve_all_units; if (!$units->{$a_unit} || !$units->{$b_unit} || ($units->{$a_unit}->{base_unit} ne $units->{$b_unit}->{base_unit})) { @@ -76,15 +75,6 @@ sub compare_numbers { return $a <=> $b; } -sub any (&@) { - my $f = shift; - return if ! @_; - for (@_) { - return 1 if $f->(); - } - return 0; -} - sub cross(&\@\@) { my $op = shift; use vars qw/@A @B/; @@ -164,20 +154,20 @@ sub ary_to_hash { sub uri_encode { my ($str) = @_; - $str = Encode::encode('utf-8-strict', $str) if $::locale->is_utf8; + $str = Encode::encode('utf-8-strict', $str); $str =~ s/([^a-zA-Z0-9_.:-])/sprintf("%%%02x", ord($1))/ge; return $str; } sub uri_decode { - my ($str) = @_; + my $str = $_[0] // ''; $str =~ tr/+/ /; $str =~ s/\\$//; $str =~ s/%([0-9a-fA-Z]{2})/pack("C",hex($1))/eg; - $str = Encode::decode('utf-8-strict', $str) if $::locale->is_utf8; + $str = Encode::decode('utf-8-strict', $str); return $str; } @@ -192,7 +182,7 @@ SL::MoreCommon.pm - helper functions =head1 DESCRIPTION -this is a collection of helper functions used in Lx-Office. +this is a collection of helper functions used in kivitendo. Most of them are either obvious or too obscure to care about unless you really have to. The exceptions are documented here.