aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbin/problem-creation-graph2
-rwxr-xr-xbin/problems-filed-graph2
-rwxr-xr-xbin/send-reports303
-rw-r--r--carton.lock3015
m---------commonlib0
-rw-r--r--conf/crontab.ugly6
-rw-r--r--conf/general.yml-example2
-rw-r--r--conf/httpd.conf-example1
l---------[-rw-r--r--]conf/packages39
-rw-r--r--conf/packages.debian-squeeze38
-rw-r--r--conf/packages.debian-squeeze+testing38
-rw-r--r--db/schema.sql13
-rw-r--r--db/schema_0013-add_send_method_column_to_open311conf.sql7
-rw-r--r--db/schema_0014-add_send_fail_columns_to_problem.sql10
-rw-r--r--db/schema_0015-add_send_method_used_column_to_problem.sql6
-rw-r--r--notes/INSTALL.pod107
-rw-r--r--perllib/BarnetElements/Z_CRM_SERVICE_ORDER_CREATE.pm248
-rw-r--r--perllib/BarnetElements/Z_CRM_SERVICE_ORDER_CREATE/Exception.pm64
-rw-r--r--perllib/BarnetElements/Z_CRM_SERVICE_ORDER_CREATEResponse.pm183
-rw-r--r--perllib/BarnetInterfaces/service/ZLBB_SERVICE_ORDER.pm166
-rw-r--r--perllib/BarnetTypemaps/service.pm103
-rw-r--r--perllib/BarnetTypes/BAPIRET2.pm219
-rw-r--r--perllib/BarnetTypes/BAPI_TTET_ADDRESS_COM.pm165
-rw-r--r--perllib/BarnetTypes/CRMT_SERVICE_REQUEST_TEXT.pm102
-rw-r--r--perllib/BarnetTypes/RfcException/Message.pm111
-rw-r--r--perllib/BarnetTypes/RfcException/Message/Number.pm65
-rw-r--r--perllib/BarnetTypes/TABLE_OF_BAPIRET2.pm117
-rw-r--r--perllib/BarnetTypes/TABLE_OF_CRMT_SERVICE_REQUEST_TEXT.pm104
-rw-r--r--perllib/BarnetTypes/Z_CRM_SERVICE_ORDER_CREATE/RfcException.pm123
-rw-r--r--perllib/BarnetTypes/Z_CRM_SERVICE_ORDER_CREATE/RfcExceptions.pm65
-rw-r--r--perllib/BarnetTypes/char1.pm65
-rw-r--r--perllib/BarnetTypes/char10.pm65
-rw-r--r--perllib/BarnetTypes/char132.pm65
-rw-r--r--perllib/BarnetTypes/char2.pm65
-rw-r--r--perllib/BarnetTypes/char20.pm65
-rw-r--r--perllib/BarnetTypes/char220.pm65
-rw-r--r--perllib/BarnetTypes/char241.pm65
-rw-r--r--perllib/BarnetTypes/char3.pm65
-rw-r--r--perllib/BarnetTypes/char30.pm65
-rw-r--r--perllib/BarnetTypes/char32.pm65
-rw-r--r--perllib/BarnetTypes/char35.pm65
-rw-r--r--perllib/BarnetTypes/char40.pm65
-rw-r--r--perllib/BarnetTypes/char5.pm65
-rw-r--r--perllib/BarnetTypes/char50.pm65
-rw-r--r--perllib/BarnetTypes/numeric3.pm65
-rw-r--r--perllib/BarnetTypes/numeric6.pm65
-rw-r--r--perllib/FixMyStreet/App/Controller/Admin.pm91
-rw-r--r--perllib/FixMyStreet/App/Controller/Photo.pm2
-rw-r--r--perllib/FixMyStreet/App/Controller/Report/New.pm19
-rw-r--r--perllib/FixMyStreet/DB.pm6
-rw-r--r--perllib/FixMyStreet/DB/Result/Abuse.pm6
-rw-r--r--perllib/FixMyStreet/DB/Result/AdminLog.pm6
-rw-r--r--perllib/FixMyStreet/DB/Result/Alert.pm22
-rw-r--r--perllib/FixMyStreet/DB/Result/AlertSent.pm6
-rw-r--r--perllib/FixMyStreet/DB/Result/AlertType.pm6
-rw-r--r--perllib/FixMyStreet/DB/Result/Comment.pm26
-rw-r--r--perllib/FixMyStreet/DB/Result/Contact.pm7
-rw-r--r--perllib/FixMyStreet/DB/Result/ContactsHistory.pm6
-rw-r--r--perllib/FixMyStreet/DB/Result/Open311conf.pm8
-rw-r--r--perllib/FixMyStreet/DB/Result/Problem.pm69
-rw-r--r--perllib/FixMyStreet/DB/Result/Questionnaire.pm6
-rw-r--r--perllib/FixMyStreet/DB/Result/Secret.pm6
-rw-r--r--perllib/FixMyStreet/DB/Result/Session.pm6
-rw-r--r--perllib/FixMyStreet/DB/Result/Token.pm6
-rw-r--r--perllib/FixMyStreet/DB/Result/User.pm6
-rw-r--r--perllib/FixMyStreet/Geocode/Bing.pm9
-rw-r--r--perllib/FixMyStreet/Geocode/Google.pm9
-rw-r--r--perllib/FixMyStreet/TestMech.pm2
-rw-r--r--perllib/SOAP/WSDL/Serializer/XSD.pm148
-rw-r--r--perllib/Utils.pm41
-rw-r--r--t/app/controller/alert_new.t2
-rw-r--r--t/app/model/alert_type.t2
-rw-r--r--templates/web/default/admin/council_contacts.html4
-rw-r--r--templates/web/default/admin/search_users.html2
-rw-r--r--templates/web/default/common_header_tags.html2
-rw-r--r--templates/web/default/js/validation_strings.html20
-rw-r--r--templates/web/default/report/_main.html8
-rw-r--r--templates/web/fixmystreet/header.html4
-rw-r--r--templates/web/fixmystreet/questionnaire/index.html1
-rw-r--r--templates/web/fixmystreet/report/_main.html6
-rw-r--r--templates/web/fixmystreet/report/display.html1
-rw-r--r--templates/web/fixmystreet/report/new/councils_text_all.html4
-rw-r--r--templates/web/fixmystreet/report/photo-js.html8
-rw-r--r--templates/web/fixmystreet/static/for_councils.html2
-rw-r--r--templates/web/fixmystreet/static/for_councils_faq.html19
-rwxr-xr-xtemplates/web/fixmystreet/static/privacy.html6
-rw-r--r--urls.txt12
-rw-r--r--web/cobrands/fixmystreet/_base.scss55
-rw-r--r--web/cobrands/fixmystreet/_layout.scss10
-rw-r--r--web/cobrands/fixmystreet/_mixins.scss2
-rw-r--r--web/cobrands/fixmystreet/base.scss65
-rw-r--r--web/cobrands/fixmystreet/fixmystreet.js9
-rw-r--r--web/cobrands/fixmystreet/images/sprite.pngbin115618 -> 97274 bytes
-rw-r--r--web/cobrands/fixmystreet/layout.scss65
-rw-r--r--web/js/map-OpenLayers.js10
95 files changed, 6527 insertions, 775 deletions
diff --git a/bin/problem-creation-graph b/bin/problem-creation-graph
index 4bba1cdb8..6692ae724 100755
--- a/bin/problem-creation-graph
+++ b/bin/problem-creation-graph
@@ -104,6 +104,6 @@ END
#echo "gpscript $GPSCRIPT"
export GDFONTPATH=/usr/share/fonts/truetype/ttf-bitstream-vera
-gnuplot < $GPSCRIPT > fixmystreet/web/bci-live-creation$EXTENSION
+gnuplot < $GPSCRIPT > fixmystreet/web/bci-live-creation$EXTENSION 2>/dev/null
diff --git a/bin/problems-filed-graph b/bin/problems-filed-graph
index dbac35639..8addacd62 100755
--- a/bin/problems-filed-graph
+++ b/bin/problems-filed-graph
@@ -57,5 +57,5 @@ END
#echo "gpscript $GPSCRIPT"
export GDFONTPATH=/usr/share/fonts/truetype/ttf-bitstream-vera
-gnuplot < $GPSCRIPT > fixmystreet/web/bci-live-line$EXTENSION
+gnuplot < $GPSCRIPT > fixmystreet/web/bci-live-line$EXTENSION 2>/dev/null
diff --git a/bin/send-reports b/bin/send-reports
index 22bd12732..eb881d169 100755
--- a/bin/send-reports
+++ b/bin/send-reports
@@ -22,6 +22,7 @@ use CronFns;
use FixMyStreet::App;
use EastHantsWSDL;
+use BarnetInterfaces::service::ZLBB_SERVICE_ORDER;
use Utils;
use mySociety::Config;
use mySociety::EmailUtil;
@@ -30,6 +31,22 @@ use mySociety::Web qw(ent);
use Open311;
+# maximum number of webservice attempts to send before not trying any more (XXX may be better in config?)
+use constant SEND_FAIL_RETRIES_CUTOFF => 3;
+
+# specific council numbers
+use constant COUNCIL_ID_BARNET => 2489;
+use constant COUNCIL_ID_EAST_HANTS => 2330;
+
+use constant MAX_LINE_LENGTH => 132;
+
+# send_method config values found in by-area config data, for selecting to appropriate method
+use constant SEND_METHOD_EMAIL => 'email';
+use constant SEND_METHOD_OPEN311 => 'open311';
+use constant SEND_METHOD_BARNET => 'barnet';
+use constant SEND_METHOD_EAST_HANTS => 'easthants';
+use constant SEND_METHOD_LONDON => 'london';
+
# Set up site, language etc.
my ($verbose, $nomail) = CronFns::options();
my $base_url = mySociety::Config::get('BASE_URL');
@@ -40,6 +57,9 @@ my $unsent = FixMyStreet::App->model("DB::Problem")->search( {
whensent => undef,
council => { '!=', undef },
} );
+
+my %sending_skipped_by_method = ();
+
my (%notgot, %note);
while (my $row = $unsent->next) {
@@ -56,8 +76,10 @@ while (my $row = $unsent->next) {
next;
}
- my $send_email = 0;
- my $send_web = 0;
+ # Due to multiple councils, it's possible to want to send both by email *and* another method
+ # NB: might need to revist this if multiple councils have custom send methods
+ my $send_email = 0;
+ my $send_method = 0;
# Template variables for the email
my $email_base_url = $cobrand->base_url_for_emails($row->cobrand_data);
@@ -118,6 +140,7 @@ while (my $row = $unsent->next) {
push @to, [ $council_email, $name ];
@recips = ($council_email);
+ $send_method = 0;
$send_email = 1;
$template = Utils::read_file("$FindBin::Bin/../templates/email/emptyhomes/" . $row->lang . "/submit.txt");
@@ -133,15 +156,37 @@ while (my $row = $unsent->next) {
foreach my $council (@councils) {
my $name = $areas_info->{$council}->{name};
push @dear, $name;
- if ($council == 2330) { # E. Hants have a web service
- $send_web = 'easthants';
+
+ # look in the DB to determine if there is a special handler for this council (e.g., open311, or custom)
+ my $council_config = FixMyStreet::App->model("DB::Open311conf")->search( { area_id => $council} )->first;
+ $send_method = $council_config->send_method if ($council_config and $council_config->send_method);
+ if ($council == COUNCIL_ID_EAST_HANTS) { # E. Hants have a web service
+ $send_method = SEND_METHOD_EAST_HANTS; # TODO: delete? should be in the db
$h{category} = 'Customer Services' if $h{category} eq 'Other';
- } elsif ($areas_info->{$council}->{type} eq 'LBO') { # London
- $send_web = 'london';
- } elsif ( my $endpoint = FixMyStreet::App->model("DB::Open311conf")->search( { area_id => $council, endpoint => { '!=', '' } } )->first ) {
- push @open311_councils, $endpoint;
- $send_web = 'open311';
- } else {
+ }
+
+ # if council lookup provided no explicit send_method, maybe there's some other criterion for setting it:
+ if (! $send_method) {
+ if ($areas_info->{$council}->{type} eq 'LBO') { # London
+ $send_method = SEND_METHOD_LONDON;
+ }
+ }
+ $send_email = 1 unless $send_method; # default to email if nothing explicit was provided
+
+ # currently: open311 or Barnet without an endpoint is useless, so check the endpoint is set
+ if ($send_method eq SEND_METHOD_OPEN311 or $send_method eq SEND_METHOD_BARNET) {
+ if ($council_config->endpoint) {
+ if ($send_method eq SEND_METHOD_OPEN311) {
+ push @open311_councils, $council_config;
+ }
+ } else {
+ print "Warning: no endpoint specified in config data for council=$council (will try email instead)\n";
+ $send_method = 0;
+ $send_email = 1;
+ }
+ }
+
+ if ($send_email) {
my $contact = FixMyStreet::App->model("DB::Contact")->find( {
deleted => 0,
area_id => $council,
@@ -160,7 +205,6 @@ while (my $row = $unsent->next) {
}
push @to, [ $council_email, $name ];
$recips{$council_email} = 1;
- $send_email = 1;
}
}
@recips = keys %recips;
@@ -199,15 +243,19 @@ while (my $row = $unsent->next) {
}
- unless ($send_email || $send_web) {
+ unless ($send_email || $send_method) {
die 'Report not going anywhere for ID ' . $row->id . '!';
}
if (mySociety::Config::get('STAGING_SITE')) {
# on a staging server send emails to ourselves rather than the councils
- @recips = ( mySociety::Config::get('CONTACT_EMAIL') );
- $send_web = 0;
- $send_email = 1;
+ # ...webservice calls will only go through if explictly allowed here:
+ my @testing_councils = (COUNCIL_ID_BARNET);
+ unless (grep {$row->council eq $_} @testing_councils) {
+ @recips = ( mySociety::Config::get('CONTACT_EMAIL') );
+ $send_method = 0;
+ $send_email = 1;
+ }
} elsif ($site eq 'emptyhomes') {
my $council = $row->council;
my $country = $areas_info->{$council}->{country};
@@ -243,17 +291,28 @@ while (my $row = $unsent->next) {
);
}
- if ($send_web eq 'easthants') {
+ if ($send_method eq SEND_METHOD_EAST_HANTS) {
$h{message} = construct_easthants_message(%h);
if (!$nomail) {
$result *= post_easthants_message(%h);
}
- } elsif ($send_web eq 'london') {
+ } elsif ($send_method eq SEND_METHOD_BARNET) {
+ $h{message} = construct_barnet_message(%h);
+ if (!$nomail) {
+ if (my $cutoff_msg = does_exceed_cutoff_limit($row, "barnet")) {
+ print "$cutoff_msg\n" if $verbose;
+ } else {
+ my ($barnet_result, $err_msg) = post_barnet_message( $row, %h );
+ update_send_fail_data($row, $err_msg) if $barnet_result;
+ $result *= $barnet_result;
+ }
+ }
+ } elsif ($send_method eq SEND_METHOD_LONDON) {
$h{message} = construct_london_message(%h);
if (!$nomail) {
$result *= post_london_report( $row, %h );
}
- } elsif ($send_web eq 'open311') {
+ } elsif ($send_method eq SEND_METHOD_OPEN311) {
foreach my $conf ( @open311_councils ) {
print 'posting to end point for ' . $conf->area_id . "\n" if $verbose;
@@ -316,6 +375,16 @@ if ($verbose) {
}
}
+if ($verbose and keys %sending_skipped_by_method) {
+ my $c = 0;
+ print "\nProblem reports that send-reports did not attempt to send because retries >= " . SEND_FAIL_RETRIES_CUTOFF . ":\n";
+ foreach my $send_method (sort keys %sending_skipped_by_method) {
+ printf " %-24s %4d\n", "$send_method:", $sending_skipped_by_method{$send_method};
+ $c+=$sending_skipped_by_method{$send_method};
+ }
+ printf " %-24s %4d\n", "Total:", $c;
+}
+
sub _get_district_for_contact {
my ( $lat, $lon ) = @_;
my $district =
@@ -358,6 +427,8 @@ sub construct_easthants_message {
$message .= <<EOF;
Subject: $h{title}
+Category: $h{category}
+
Details: $h{detail}
$h{fuzzy}, or to provide an update on the problem, please visit the following link:
@@ -390,6 +461,125 @@ sub post_easthants_message {
return $return;
}
+# currently just blind copy of construct_easthants_message
+sub construct_barnet_message {
+ my %h = @_;
+ my $message = <<EOF;
+Subject: $h{title}
+
+Details: $h{detail}
+
+$h{fuzzy}, or to provide an update on the problem, please visit the following link:
+
+$h{url}
+
+$h{closest_address}
+EOF
+}
+
+sub post_barnet_message {
+ my ( $problem, %h ) = @_;
+ my $return = 1;
+ my $err_msg = "";
+
+ my $default_kbid = 14; # This is the default, "Street Scene"
+ my $kbid = sprintf( "%050d", Utils::barnet_categories()->{$h{category}} || $default_kbid);
+
+ my $geo_code = "$h{easting} $h{northing}";
+
+ my $interface = BarnetInterfaces::service::ZLBB_SERVICE_ORDER->new();
+
+ my ($nearest_postcode, $nearest_street);
+ for ($h{closest_address}) {
+ $nearest_postcode = sprintf("%-10s", $1) if /Nearest postcode [^:]+: ((\w{1,4}\s?\w+|\w+))/;
+ # use partial postcode or comma as delimiter, strip leading number (possible letter 221B) off too
+ # "99 Foo Street, London N11 1XX" becomes Foo Street
+ # "99 Foo Street N11 1XX" becomes Foo Street
+ $nearest_street = sprintf("%-30s", $1) if /Nearest road [^:]+: (?:\d+\w? )?(.*?)(\b[A-Z]+\d|,|$)/m;
+ }
+ my $postcode = $h{postcode} || $nearest_postcode; # use given postcode if available
+
+ # note: endpoint can be of form 'https://username:password@:url'
+ my $council_config = FixMyStreet::App->model("DB::Open311conf")->search( { area_id => COUNCIL_ID_BARNET} )->first;
+ if ($council_config and $council_config->endpoint) {
+ $interface->set_proxy($council_config->endpoint);
+ # Barnet web service doesn't like namespaces in the elements so use a prefix
+ $interface->set_prefix('urn');
+ } else {
+ die "Barnet webservice FAIL: looks like you're missing some config data: no endpoint (URL) found for area_id=" . COUNCIL_ID_BARNET;
+ }
+
+ eval {
+ my $result = $interface->Z_CRM_SERVICE_ORDER_CREATE( {
+ ET_RETURN => { # ignored by server
+ item => {
+ TYPE => "", ID => "", NUMBER => "", MESSAGE => "", LOG_NO => "", LOG_MSG_NO => "",
+ MESSAGE_V1 => "", MESSAGE_V2 => "", MESSAGE_V3 => "", MESSAGE_V4 => "", PARAMETER => "",
+ ROW => "", FIELD => "", SYSTEM => "",
+ },
+ },
+ IT_PROBLEM_DESC => { # MyTypes::TABLE_OF_CRMT_SERVICE_REQUEST_TEXT
+ item => [ # MyTypes::CRMT_SERVICE_REQUEST_TEXT
+ map { { TEXT_LINE => $_ } } split_text_with_entities(ent(encode_utf8($h{message})), 132) # char132
+ ],
+ },
+ IV_CUST_EMAIL => truncate_string_with_entities(ent(encode_utf8($h{email})), 241), # char241
+ IV_CUST_NAME => truncate_string_with_entities(ent(encode_utf8($h{name})), 50), # char50
+ IV_KBID => $kbid, # char50
+ IV_PROBLEM_ID => $h{id}, # char35
+ IV_PROBLEM_LOC => { # MyTypes::BAPI_TTET_ADDRESS_COM
+ COUNTRY2 => 'GB', # char2
+ REGION => "", # char3
+ COUNTY => "", # char30
+ CITY => "", # char30
+ POSTALCODE => $postcode, # char10
+ STREET => $nearest_street, # char30
+ STREETNUMBER => "", # char5
+ GEOCODE => $geo_code, # char32
+ },
+ IV_PROBLEM_SUB => truncate_string_with_entities(ent(encode_utf8($h{title})), 40), # char40
+ },
+ );
+ if ($result) {
+ # currently not using this: get_EV_ORDER_GUID (maybe that's the customer number in the CRM)
+ if (my $barnet_id = $result->get_EV_ORDER_NO()) {
+ $problem->external_id( $barnet_id );
+ $problem->external_body( 'Barnet Borough Council' ); # better to use $problem->body()?
+ $problem->send_method_used('barnet');
+ $return = 0;
+ } else {
+ my @returned_items = split /<item[^>]*>/, $result->get_ET_RETURN;
+ my @messages = ();
+ foreach my $item (@returned_items) {
+ if ($item=~/<MESSAGE [^>]*>\s*(\S.*?)<\/MESSAGE>/) { # if there's a non-null MESSAGE in there, grab it
+ push @messages, $1; # best stab at extracting useful error message back from convoluted response
+ }
+ }
+ push @messages, "service returned no external id" unless @messages;
+ $err_msg = "Failed (problem id $h{id}): " . join(" \n ", @messages);
+ }
+ } else {
+ my %fault = (
+ 'code' => $result->get_faultcode(),
+ 'actor' => $result->get_faultactor(),
+ 'string' => $result->get_faultstring(),
+ 'detail' => $result->get_detail(), # possibly only contains debug info
+ );
+ $fault{$_}=~s/^\s*|\s*$//g foreach keys %fault;
+ $fault{actor}&&=" (actor: $fault{actor})";
+ $fault{'detail'} &&= "\n" . $fault{'detail'};
+ $err_msg = "Failed (problem id $h{id}): Fault $fault{code}$fault{actor}\n$fault{string}$fault{detail}";
+ }
+
+ };
+ print "$err_msg\n" if $err_msg;
+ if ($@) {
+ my $e = shift;
+ print "Caught an error: $@\n";
+ }
+ return ($return, $err_msg);
+}
+
# London
sub construct_london_message {
@@ -489,3 +679,80 @@ sub london_lookup {
return $str;
}
+# for barnet webservice: max-length fields require truncate and split
+
+# truncate_string_with_entities
+# args: text to truncate
+# max number of chars
+# returns: string truncated
+# Note: must not partially truncate an entity (e.g., &amp;)
+sub truncate_string_with_entities {
+ my ($str, $max_len) = @_;
+ my $retVal = "";
+ foreach my $chunk (split /(\&(?:\#\d+|\w+);)/, $str) {
+ if ($chunk=~/^\&(\#\d+|\w+);$/){
+ my $next = $retVal.$chunk;
+ last if length $next > $max_len;
+ $retVal=$next
+ } else {
+ $retVal.=$chunk;
+ if (length $retVal > $max_len) {
+ $retVal = substr($retVal, 0, $max_len);
+ last
+ }
+ }
+ }
+ return $retVal
+}
+
+# split_text_with_entities into lines
+# args: text to be broken into lines
+# max length (option: uses constant MAX_LINE_LENGTH)
+# returns: array of lines
+# Must not to split an entity (e.g., &amp;)
+# Not worrying about hyphenating here, since a word is only ever split if
+# it's longer than the whole line, which is uncommon in genuine problem reports
+sub split_text_with_entities {
+ my ($text, $max_line_length) = @_;
+ $max_line_length ||= MAX_LINE_LENGTH;
+ my @lines;
+ foreach my $line (split "\n", $text) {
+ while (length $line > $max_line_length) {
+ if (! ($line =~ s/^(.{1,$max_line_length})\s// # break on a space
+ or $line =~ s/^(.{1,$max_line_length})(\&(\#\d+|\w+);)/$2/ # break before an entity
+ or $line =~ s/(.{$max_line_length})//)) { # break the word ruthlessly
+ $line =~ s/(.*)//; # otherwise gobble whole line (which is now shorter than max length)
+ }
+ push @lines, $1;
+ }
+ push @lines, $line;
+ }
+ return @lines;
+}
+
+# tests send_fail_count agains cutoff limit
+# args: problem (row from problem db)
+# returns false if there is no cutoff, otherwise error message
+sub does_exceed_cutoff_limit {
+ my ($problem, $council_name) = @_;
+ my $err_msg = "";
+ if ($problem->send_fail_count >= SEND_FAIL_RETRIES_CUTOFF) {
+ $sending_skipped_by_method{$council_name || '?'}++;
+ $council_name &&= " to $council_name";
+ $err_msg = "skipped: problem id=" . $problem->id . " send$council_name has failed "
+ . $problem->send_fail_count . " times, cutoff is " . SEND_FAIL_RETRIES_CUTOFF;
+ }
+ return $err_msg;
+}
+
+# update_send_fail_data records the failure (of a webservice send)
+# args: problem (row from problem db)
+# returns: no return value (updates record)
+sub update_send_fail_data {
+ my ($problem, $err_msg) = @_;
+ $problem->update( {
+ send_fail_count => $problem->send_fail_count + 1,
+ send_fail_timestamp => \'ms_current_timestamp()',
+ send_fail_reason => $err_msg
+ } );
+}
diff --git a/carton.lock b/carton.lock
index 1f73bfad4..cd7b0e70b 100644
--- a/carton.lock
+++ b/carton.lock
@@ -3336,6 +3336,114 @@
},
"version" : "1.4"
},
+ "Class::Std" : {
+ "dist" : "Class-Std-0.011",
+ "module" : "Class::Std",
+ "mymeta" : {
+ "abstract" : "Support for creating standard \"inside-out\" classes",
+ "author" : [
+ "Damian Conway <DCONWAY@cpan.org>"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "unknown"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "Class-Std",
+ "prereqs" : {
+ "runtime" : {
+ "requires" : {
+ "Data::Dumper" : 0,
+ "Scalar::Util" : 0,
+ "Test::More" : 0
+ }
+ }
+ },
+ "release_status" : "stable",
+ "version" : "0.011"
+ },
+ "name" : "Class::Std",
+ "pathname" : "D/DC/DCONWAY/Class-Std-0.011.tar.gz",
+ "provides" : {
+ "Class::Std" : {
+ "file" : "Class/Std.pm",
+ "version" : "0.011"
+ },
+ "Class::Std::SCR" : {
+ "file" : "Class/Std.pm"
+ }
+ },
+ "version" : "0.011"
+ },
+ "Class::Std::Fast" : {
+ "dist" : "Class-Std-Fast-v0.0.8",
+ "module" : "Class::Std::Fast::Storable",
+ "mymeta" : {
+ "abstract" : "faster but less secure than Class::Std",
+ "author" : [
+ "Andreas 'ac0v' Specht - ACID@cpan.org"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "Class-Std-Fast",
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "Test::More" : 0
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "Class::Std" : "v0.0.8",
+ "Data::Dumper" : 0,
+ "Scalar::Util" : 0,
+ "version" : 0
+ }
+ }
+ },
+ "provides" : {
+ "Class::Std::Fast" : {
+ "file" : "lib/Class/Std/Fast.pm",
+ "version" : "v0.0.8"
+ },
+ "Class::Std::Fast::Storable" : {
+ "file" : "lib/Class/Std/Fast/Storable.pm",
+ "version" : "v0.0.8"
+ }
+ },
+ "release_status" : "stable",
+ "resources" : {
+ "license" : [
+ "http://dev.perl.org/licenses/"
+ ]
+ },
+ "version" : "v0.0.8"
+ },
+ "name" : "Class::Std::Fast",
+ "pathname" : "A/AC/ACID/Class-Std-Fast-v0.0.8.tar.gz",
+ "provides" : {
+ "Class::Std::Fast" : {
+ "file" : "Class/Std/Fast.pm",
+ "version" : "v0.0.8"
+ },
+ "Class::Std::Fast::Storable" : {
+ "file" : "Class/Std/Fast/Storable.pm",
+ "version" : "v0.0.8"
+ }
+ },
+ "version" : "v0.0.8"
+ },
"Class::Unload" : {
"dist" : "Class-Unload-0.07",
"module" : "Class::Unload",
@@ -5015,6 +5123,311 @@
},
"version" : "0.00011"
},
+ "DBIx::Class::IntrospectableM2M" : {
+ "dist" : "DBIx-Class-IntrospectableM2M-0.001001",
+ "module" : "DBIx::Class::IntrospectableM2M",
+ "mymeta" : {
+ "abstract" : "Introspect many-to-many relationships",
+ "author" : [
+ "Guillermo Roditi (groditi) <groditi@cpan.org>"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "Module::Install version 0.76, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "DBIx-Class-IntrospectableM2M",
+ "no_index" : {
+ "directory" : [
+ "inc",
+ "t"
+ ]
+ },
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : 0
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "DBIx::Class" : 0,
+ "ExtUtils::MakeMaker" : "6.62",
+ "Test::More" : 0
+ }
+ }
+ },
+ "release_status" : "stable",
+ "resources" : {
+ "license" : [
+ "http://dev.perl.org/licenses/"
+ ]
+ },
+ "version" : "0.001001"
+ },
+ "name" : "DBIx::Class::IntrospectableM2M",
+ "pathname" : "G/GR/GRODITI/DBIx-Class-IntrospectableM2M-0.001001.tar.gz",
+ "provides" : {
+ "DBIx::Class::IntrospectableM2M" : {
+ "file" : "DBIx/Class/IntrospectableM2M.pm",
+ "version" : "0.001001"
+ }
+ },
+ "version" : "0.001001"
+ },
+ "DBIx::Class::Schema::Loader" : {
+ "dist" : "DBIx-Class-Schema-Loader-0.07017",
+ "module" : "DBIx::Class::Schema::Loader",
+ "mymeta" : {
+ "abstract" : "Create a DBIx::Class::Schema based on a database",
+ "author" : [
+ "blblack: Brandon Black <blblack@gmail.com>"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "Module::Install version 1.04, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "DBIx-Class-Schema-Loader",
+ "no_index" : {
+ "directory" : [
+ "inc",
+ "t"
+ ]
+ },
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "DBD::SQLite" : "1.29",
+ "DBI" : "1.56",
+ "DBIx::Class::IntrospectableM2M" : 0,
+ "ExtUtils::MakeMaker" : "6.62",
+ "File::Copy" : 0,
+ "File::Path" : "2.07",
+ "File::Temp" : "0.16",
+ "IPC::Open3" : 0,
+ "Test::Exception" : 0,
+ "Test::More" : "0.94",
+ "Test::Warn" : "0.21"
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "6.62"
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "Carp::Clan" : 0,
+ "Class::Accessor::Grouped" : "0.10002",
+ "Class::C3::Componentised" : "1.0008",
+ "Class::Inspector" : 0,
+ "Class::Unload" : 0,
+ "DBD::SQLite" : "1.29",
+ "DBI" : "1.56",
+ "DBIx::Class" : "0.08127",
+ "DBIx::Class::IntrospectableM2M" : 0,
+ "Data::Dump" : "1.06",
+ "Digest::MD5" : "2.36",
+ "Exporter" : "5.63",
+ "File::Copy" : 0,
+ "File::Path" : "2.07",
+ "File::Spec" : 0,
+ "File::Temp" : "0.16",
+ "IPC::Open3" : 0,
+ "Lingua::EN::Inflect::Number" : "1.1",
+ "Lingua::EN::Inflect::Phrase" : "0.02",
+ "Lingua::EN::Tagger" : 0,
+ "List::MoreUtils" : 0,
+ "MRO::Compat" : "0.09",
+ "Scalar::Util" : 0,
+ "Scope::Guard" : 0,
+ "String::CamelCase" : "0.02",
+ "String::ToIdentifier::EN" : "0.05",
+ "Sub::Name" : 0,
+ "Task::Weaken" : 0,
+ "Test::Exception" : 0,
+ "Test::More" : "0.94",
+ "Test::Warn" : "0.21",
+ "Try::Tiny" : 0,
+ "namespace::clean" : "0.20",
+ "perl" : "5.008001"
+ }
+ }
+ },
+ "release_status" : "stable",
+ "resources" : {
+ "license" : [
+ "http://dev.perl.org/licenses/"
+ ],
+ "repository" : {
+ "type" : "git",
+ "url" : "git://git.shadowcat.co.uk/dbsrgits/DBIx-Class-Schema-Loader.git"
+ },
+ "x_IRC" : "irc://irc.perl.org/#dbix-class",
+ "x_MailingList" : "http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class"
+ },
+ "version" : "0.07017"
+ },
+ "name" : "DBIx::Class::Schema::Loader",
+ "pathname" : "R/RK/RKITOVER/DBIx-Class-Schema-Loader-0.07017.tar.gz",
+ "provides" : {
+ "DBIx::Class::Schema::Loader" : {
+ "file" : "DBIx/Class/Schema/Loader.pm",
+ "version" : "0.07017"
+ },
+ "DBIx::Class::Schema::Loader::Base" : {
+ "file" : "DBIx/Class/Schema/Loader/Base.pm",
+ "version" : "0.07017"
+ },
+ "DBIx::Class::Schema::Loader::DBI" : {
+ "file" : "DBIx/Class/Schema/Loader/DBI.pm",
+ "version" : "0.07017"
+ },
+ "DBIx::Class::Schema::Loader::DBI::ADO" : {
+ "file" : "DBIx/Class/Schema/Loader/DBI/ADO.pm",
+ "version" : "0.07017"
+ },
+ "DBIx::Class::Schema::Loader::DBI::ADO::MS_Jet" : {
+ "file" : "DBIx/Class/Schema/Loader/DBI/ADO/MS_Jet.pm",
+ "version" : "0.07017"
+ },
+ "DBIx::Class::Schema::Loader::DBI::ADO::Microsoft_SQL_Server" : {
+ "file" : "DBIx/Class/Schema/Loader/DBI/ADO/Microsoft_SQL_Server.pm",
+ "version" : "0.07017"
+ },
+ "DBIx::Class::Schema::Loader::DBI::Component::QuotedDefault" : {
+ "file" : "DBIx/Class/Schema/Loader/DBI/Component/QuotedDefault.pm",
+ "version" : "0.07017"
+ },
+ "DBIx::Class::Schema::Loader::DBI::DB2" : {
+ "file" : "DBIx/Class/Schema/Loader/DBI/DB2.pm",
+ "version" : "0.07017"
+ },
+ "DBIx::Class::Schema::Loader::DBI::Firebird" : {
+ "file" : "DBIx/Class/Schema/Loader/DBI/Firebird.pm",
+ "version" : "0.07017"
+ },
+ "DBIx::Class::Schema::Loader::DBI::Informix" : {
+ "file" : "DBIx/Class/Schema/Loader/DBI/Informix.pm",
+ "version" : "0.07017"
+ },
+ "DBIx::Class::Schema::Loader::DBI::InterBase" : {
+ "file" : "DBIx/Class/Schema/Loader/DBI/InterBase.pm",
+ "version" : "0.07017"
+ },
+ "DBIx::Class::Schema::Loader::DBI::MSSQL" : {
+ "file" : "DBIx/Class/Schema/Loader/DBI/MSSQL.pm",
+ "version" : "0.07017"
+ },
+ "DBIx::Class::Schema::Loader::DBI::ODBC" : {
+ "file" : "DBIx/Class/Schema/Loader/DBI/ODBC.pm",
+ "version" : "0.07017"
+ },
+ "DBIx::Class::Schema::Loader::DBI::ODBC::ACCESS" : {
+ "file" : "DBIx/Class/Schema/Loader/DBI/ODBC/ACCESS.pm",
+ "version" : "0.07017"
+ },
+ "DBIx::Class::Schema::Loader::DBI::ODBC::Firebird" : {
+ "file" : "DBIx/Class/Schema/Loader/DBI/ODBC/Firebird.pm",
+ "version" : "0.07017"
+ },
+ "DBIx::Class::Schema::Loader::DBI::ODBC::Microsoft_SQL_Server" : {
+ "file" : "DBIx/Class/Schema/Loader/DBI/ODBC/Microsoft_SQL_Server.pm",
+ "version" : "0.07017"
+ },
+ "DBIx::Class::Schema::Loader::DBI::ODBC::SQL_Anywhere" : {
+ "file" : "DBIx/Class/Schema/Loader/DBI/ODBC/SQL_Anywhere.pm",
+ "version" : "0.07017"
+ },
+ "DBIx::Class::Schema::Loader::DBI::Oracle" : {
+ "file" : "DBIx/Class/Schema/Loader/DBI/Oracle.pm",
+ "version" : "0.07017"
+ },
+ "DBIx::Class::Schema::Loader::DBI::Pg" : {
+ "file" : "DBIx/Class/Schema/Loader/DBI/Pg.pm",
+ "version" : "0.07017"
+ },
+ "DBIx::Class::Schema::Loader::DBI::SQLAnywhere" : {
+ "file" : "DBIx/Class/Schema/Loader/DBI/SQLAnywhere.pm",
+ "version" : "0.07017"
+ },
+ "DBIx::Class::Schema::Loader::DBI::SQLite" : {
+ "file" : "DBIx/Class/Schema/Loader/DBI/SQLite.pm",
+ "version" : "0.07017"
+ },
+ "DBIx::Class::Schema::Loader::DBI::Sybase" : {
+ "file" : "DBIx/Class/Schema/Loader/DBI/Sybase.pm",
+ "version" : "0.07017"
+ },
+ "DBIx::Class::Schema::Loader::DBI::Sybase::Common" : {
+ "file" : "DBIx/Class/Schema/Loader/DBI/Sybase/Common.pm",
+ "version" : "0.07017"
+ },
+ "DBIx::Class::Schema::Loader::DBI::Sybase::Microsoft_SQL_Server" : {
+ "file" : "DBIx/Class/Schema/Loader/DBI/Sybase/Microsoft_SQL_Server.pm",
+ "version" : "0.07017"
+ },
+ "DBIx::Class::Schema::Loader::DBI::Writing" : {
+ "file" : "DBIx/Class/Schema/Loader/DBI/Writing.pm",
+ "version" : "0.07017"
+ },
+ "DBIx::Class::Schema::Loader::DBI::mysql" : {
+ "file" : "DBIx/Class/Schema/Loader/DBI/mysql.pm",
+ "version" : "0.07017"
+ },
+ "DBIx::Class::Schema::Loader::DBObject" : {
+ "file" : "DBIx/Class/Schema/Loader/DBObject.pm"
+ },
+ "DBIx::Class::Schema::Loader::DBObject::Informix" : {
+ "file" : "DBIx/Class/Schema/Loader/DBObject/Informix.pm"
+ },
+ "DBIx::Class::Schema::Loader::DBObject::Sybase" : {
+ "file" : "DBIx/Class/Schema/Loader/DBObject/Sybase.pm"
+ },
+ "DBIx::Class::Schema::Loader::Optional::Dependencies" : {
+ "file" : "DBIx/Class/Schema/Loader/Optional/Dependencies.pm"
+ },
+ "DBIx::Class::Schema::Loader::RelBuilder" : {
+ "file" : "DBIx/Class/Schema/Loader/RelBuilder.pm",
+ "version" : "0.07017"
+ },
+ "DBIx::Class::Schema::Loader::RelBuilder::Compat::v0_040" : {
+ "file" : "DBIx/Class/Schema/Loader/RelBuilder/Compat/v0_040.pm",
+ "version" : "0.07017"
+ },
+ "DBIx::Class::Schema::Loader::RelBuilder::Compat::v0_05" : {
+ "file" : "DBIx/Class/Schema/Loader/RelBuilder/Compat/v0_05.pm",
+ "version" : "0.07017"
+ },
+ "DBIx::Class::Schema::Loader::RelBuilder::Compat::v0_06" : {
+ "file" : "DBIx/Class/Schema/Loader/RelBuilder/Compat/v0_06.pm",
+ "version" : "0.07017"
+ },
+ "DBIx::Class::Schema::Loader::RelBuilder::Compat::v0_07" : {
+ "file" : "DBIx/Class/Schema/Loader/RelBuilder/Compat/v0_07.pm",
+ "version" : "0.07017"
+ },
+ "DBIx::Class::Schema::Loader::Table" : {
+ "file" : "DBIx/Class/Schema/Loader/Table.pm"
+ },
+ "DBIx::Class::Schema::Loader::Table::Informix" : {
+ "file" : "DBIx/Class/Schema/Loader/Table/Informix.pm"
+ },
+ "DBIx::Class::Schema::Loader::Table::Sybase" : {
+ "file" : "DBIx/Class/Schema/Loader/Table/Sybase.pm"
+ }
+ },
+ "version" : "0.07017"
+ },
"Data::Compare" : {
"dist" : "Data-Compare-1.22",
"module" : "Data::Compare",
@@ -15849,24 +16262,63 @@
},
"version" : "6.01"
},
- "List::MoreUtils" : {
- "dist" : "List-MoreUtils-0.33",
- "module" : "List::MoreUtils",
+ "Lingua::EN::Inflect" : {
+ "dist" : "Lingua-EN-Inflect-1.893",
+ "module" : "Lingua::EN::Inflect",
"mymeta" : {
- "abstract" : "Provide the stuff missing in List::Util",
+ "abstract" : "Convert singular to plural. Select \"a\" or \"an\".",
"author" : [
- "Tassilo von Parseval <tassilo.von.parseval@rwth-aachen.de>"
+ "Damian Conway <DCONWAY@CPAN.org>"
],
"dynamic_config" : 0,
- "generated_by" : "ExtUtils::MakeMaker version 6.56, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
"license" : [
- "perl_5"
+ "unknown"
],
"meta-spec" : {
"url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
"version" : "2"
},
- "name" : "List-MoreUtils",
+ "name" : "Lingua-EN-Inflect",
+ "prereqs" : {
+ "runtime" : {
+ "requires" : {
+ "Test::More" : 0,
+ "version" : 0
+ }
+ }
+ },
+ "release_status" : "stable",
+ "version" : "1.893"
+ },
+ "name" : "Lingua::EN::Inflect",
+ "pathname" : "D/DC/DCONWAY/Lingua-EN-Inflect-1.893.tar.gz",
+ "provides" : {
+ "Lingua::EN::Inflect" : {
+ "file" : "Lingua/EN/Inflect.pm",
+ "version" : "1.893"
+ }
+ },
+ "version" : "1.893"
+ },
+ "Lingua::EN::Inflect::Number" : {
+ "dist" : "Lingua-EN-Inflect-Number-1.1",
+ "module" : "Lingua::EN::Inflect::Number",
+ "mymeta" : {
+ "abstract" : "unknown",
+ "author" : [
+ "unknown"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "ExtUtils::MakeMaker version 6.62, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "unknown"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "Lingua-EN-Inflect-Number",
"no_index" : {
"directory" : [
"t",
@@ -15876,45 +16328,44 @@
"prereqs" : {
"build" : {
"requires" : {
- "Test::More" : "0.42"
+ "ExtUtils::MakeMaker" : 0
}
},
"configure" : {
"requires" : {
- "ExtUtils::CBuilder" : "0.27",
- "ExtUtils::MakeMaker" : "6.52"
+ "ExtUtils::MakeMaker" : 0
}
},
"runtime" : {
"requires" : {
- "Test::More" : "0.82",
- "perl" : "5.00503"
+ "Lingua::EN::Inflect" : 0
}
}
},
"release_status" : "stable",
- "version" : "0.33"
+ "version" : "1.1"
},
- "name" : "List::MoreUtils",
- "pathname" : "A/AD/ADAMK/List-MoreUtils-0.33.tar.gz",
+ "name" : "Lingua::EN::Inflect::Number",
+ "pathname" : "S/SI/SIMON/Lingua-EN-Inflect-Number-1.1.tar.gz",
"provides" : {
- "List::MoreUtils" : {
- "file" : "List/MoreUtils.pm",
- "version" : "0.33"
+ "Lingua::EN::Inflect::Number" : {
+ "file" : "Lingua/EN/Inflect/Number.pm",
+ "version" : "1.1"
}
},
- "version" : "0.33"
+ "version" : "1.1"
},
- "Locale::Maketext" : {
- "dist" : "Locale-Maketext-1.22",
- "module" : "Locale::Maketext",
+ "Lingua::EN::Inflect::Phrase" : {
+ "dist" : "Lingua-EN-Inflect-Phrase-0.12",
+ "module" : "Lingua::EN::Inflect::Phrase",
"mymeta" : {
- "abstract" : "framework for localization",
+ "abstract" : "Inflect short English Phrases",
"author" : [
- "unknown"
+ "Rafael Kitover <rkitover@cpan.org>",
+ "Rafael Kitover <rkitover@cpan.org>"
],
"dynamic_config" : 0,
- "generated_by" : "ExtUtils::MakeMaker version 6.58, CPAN::Meta::Converter version 2.110930001, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "Module::Install version 1.04, CPAN::Meta::Converter version 2.112150",
"license" : [
"perl_5"
],
@@ -15922,204 +16373,669 @@
"url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
"version" : "2"
},
- "name" : "Locale-Maketext",
+ "name" : "Lingua-EN-Inflect-Phrase",
"no_index" : {
"directory" : [
- "t",
- "inc"
+ "inc",
+ "t"
]
},
"prereqs" : {
"build" : {
"requires" : {
- "ExtUtils::MakeMaker" : 0
+ "ExtUtils::MakeMaker" : "6.36",
+ "Test::More" : "0.94"
}
},
"configure" : {
"requires" : {
- "ExtUtils::MakeMaker" : 0
+ "ExtUtils::MakeMaker" : "6.36"
}
},
"runtime" : {
"requires" : {
- "I18N::LangTags" : "0.31",
- "I18N::LangTags::Detect" : 0,
- "Test::More" : 0
+ "Exporter" : "5.63",
+ "Lingua::EN::Inflect" : "1.891",
+ "Lingua::EN::Inflect::Number" : "1.1",
+ "Lingua::EN::Tagger" : "0.15",
+ "Test::More" : "0.94"
}
}
},
+ "provides" : {
+ "Lingua::EN::Inflect::Phrase" : {
+ "file" : "lib/Lingua/EN/Inflect/Phrase.pm",
+ "version" : "0.12"
+ }
+ },
"release_status" : "stable",
"resources" : {
- "bugtracker" : {
- "web" : "http://rt.perl.org/perlbug/"
- },
"license" : [
"http://dev.perl.org/licenses/"
],
"repository" : {
- "url" : "http://perl5.git.perl.org/perl.git/tree/HEAD:/dist/Locale-Maketext"
- },
- "x_MailingList" : "http://lists.perl.org/list/perl5-porters.html"
+ "type" : "git",
+ "url" : "git://github.com/rkitover/lingua-en-inflect-phrase.git"
+ }
},
- "version" : "1.22"
+ "version" : "0.12"
},
- "name" : "Locale::Maketext",
- "pathname" : "T/TO/TODDR/Locale-Maketext-1.22.tar.gz",
+ "name" : "Lingua::EN::Inflect::Phrase",
+ "pathname" : "R/RK/RKITOVER/Lingua-EN-Inflect-Phrase-0.12.tar.gz",
"provides" : {
- "Locale::Maketext" : {
- "file" : "Locale/Maketext.pm",
- "version" : "1.22"
+ "Lingua::EN::Inflect::Phrase" : {
+ "file" : "Lingua/EN/Inflect/Phrase.pm",
+ "version" : "0.12"
+ }
+ },
+ "version" : "0.12"
+ },
+ "Lingua::EN::Tagger" : {
+ "dist" : "Lingua-EN-Tagger-0.16",
+ "module" : "Lingua::EN::Tagger",
+ "mymeta" : {
+ "abstract" : "unknown",
+ "author" : [
+ "Maciej Ceglowski and Aaron Coburn <maciej@ceglowski.com>, <aaron@coburncuadrado.com>"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "ExtUtils::MakeMaker version 6.56, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "unknown"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
},
- "Locale::Maketext::Guts" : {
- "file" : "Locale/Maketext/Guts.pm",
- "version" : "1.20"
+ "name" : "Lingua-EN-Tagger",
+ "no_index" : {
+ "directory" : [
+ "t",
+ "inc"
+ ]
},
- "Locale::Maketext::GutsLoader" : {
- "file" : "Locale/Maketext/GutsLoader.pm",
- "version" : "1.20"
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : 0
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : 0
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "File::Spec" : "0.84",
+ "HTML::Parser" : "3.45",
+ "Lingua::Stem" : "0.81",
+ "Memoize" : "1.01",
+ "Memoize::ExpireLRU" : "0.55",
+ "Storable" : "2.10"
+ }
+ }
+ },
+ "release_status" : "stable",
+ "version" : "0.16"
+ },
+ "name" : "Lingua::EN::Tagger",
+ "pathname" : "A/AC/ACOBURN/Lingua-EN-Tagger-0.16.tar.gz",
+ "provides" : {
+ "Lingua::EN::Tagger" : {
+ "file" : "Lingua/EN/Tagger.pm",
+ "version" : "0.16"
}
},
- "version" : "1.22"
+ "version" : "0.16"
},
- "Locale::Maketext::Lexicon" : {
- "dist" : "Locale-Maketext-Lexicon-0.91",
- "module" : "Locale::Maketext::Lexicon",
+ "Lingua::PT::Stemmer" : {
+ "dist" : "Lingua-PT-Stemmer-0.01",
+ "module" : "Lingua::PT::Stemmer",
"mymeta" : {
- "abstract" : "Use other catalog formats in Maketext",
+ "abstract" : "Portuguese language stemming",
"author" : [
- "Audrey Tang <cpan@audreyt.org>"
+ "xern <xern@cpan.org>"
],
"dynamic_config" : 0,
- "generated_by" : "Module::Install version 1.01, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "ExtUtils::MakeMaker version 6.62, CPAN::Meta::Converter version 2.112150",
"license" : [
- "mit"
+ "unknown"
],
"meta-spec" : {
"url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
"version" : "2"
},
- "name" : "Locale-Maketext-Lexicon",
+ "name" : "Lingua-PT-Stemmer",
"no_index" : {
"directory" : [
- "inc",
- "t"
+ "t",
+ "inc"
]
},
"prereqs" : {
"build" : {
"requires" : {
- "ExtUtils::MakeMaker" : "6.42",
- "Test::More" : 0
+ "ExtUtils::MakeMaker" : 0
}
},
"configure" : {
"requires" : {
- "ExtUtils::MakeMaker" : "6.42"
+ "ExtUtils::MakeMaker" : 0
}
},
"runtime" : {
- "recommends" : {
- "HTML::Parser" : "3.56",
- "Lingua::EN::Sentence" : "0.25",
- "PPI" : "1.203",
- "Template" : "2.20",
- "Template::Constants" : "2.75",
- "YAML" : "0.66",
- "YAML::Loader" : "0.66"
- },
+ "requires" : {}
+ }
+ },
+ "release_status" : "stable",
+ "version" : "0.01"
+ },
+ "name" : "Lingua::PT::Stemmer",
+ "pathname" : "X/XE/XERN/Lingua-PT-Stemmer-0.01.tar.gz",
+ "provides" : {
+ "Lingua::GL::Stemmer" : {
+ "file" : "Lingua/GL/Stemmer.pm",
+ "version" : "0.01"
+ },
+ "Lingua::PT::Stemmer" : {
+ "file" : "Lingua/PT/Stemmer.pm",
+ "version" : "0.01"
+ }
+ },
+ "version" : "0.01"
+ },
+ "Lingua::Stem" : {
+ "dist" : "Lingua-Stem-0.84",
+ "module" : "Lingua::Stem",
+ "mymeta" : {
+ "abstract" : "Stemming of words in various languages",
+ "author" : [
+ "Benjamin Franz <snowhare@nihongo.org>"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "Lingua-Stem",
+ "prereqs" : {
+ "runtime" : {
"requires" : {
- "Locale::Maketext" : "1.17",
- "perl" : "5.005"
+ "Carp" : 0,
+ "Lingua::GL::Stemmer" : 0,
+ "Lingua::PT::Stemmer" : 0,
+ "Lingua::Stem::Fr" : "0.02",
+ "Lingua::Stem::It" : 0,
+ "Lingua::Stem::Ru" : 0,
+ "Lingua::Stem::Snowball::Da" : "1.01",
+ "Lingua::Stem::Snowball::No" : "1.00",
+ "Lingua::Stem::Snowball::Se" : "1.01",
+ "Text::German" : 0
}
}
},
+ "provides" : {
+ "Lingua::Stem" : {
+ "file" : "lib/Lingua/Stem.pm",
+ "version" : "0.84"
+ },
+ "Lingua::Stem::AutoLoader" : {
+ "file" : "lib/Lingua/Stem/AutoLoader.pm",
+ "version" : "1.02"
+ },
+ "Lingua::Stem::Da" : {
+ "file" : "lib/Lingua/Stem/Da.pm",
+ "version" : "1.01"
+ },
+ "Lingua::Stem::De" : {
+ "file" : "lib/Lingua/Stem/De.pm",
+ "version" : "1.01"
+ },
+ "Lingua::Stem::En" : {
+ "file" : "lib/Lingua/Stem/En.pm",
+ "version" : "2.16"
+ },
+ "Lingua::Stem::EnBroken" : {
+ "file" : "lib/Lingua/Stem/EnBroken.pm",
+ "version" : "2.13"
+ },
+ "Lingua::Stem::Gl" : {
+ "file" : "lib/Lingua/Stem/Gl.pm",
+ "version" : "1.02"
+ },
+ "Lingua::Stem::No" : {
+ "file" : "lib/Lingua/Stem/No.pm",
+ "version" : "1.01"
+ },
+ "Lingua::Stem::Pt" : {
+ "file" : "lib/Lingua/Stem/Pt.pm",
+ "version" : "1.01"
+ },
+ "Lingua::Stem::Sv" : {
+ "file" : "lib/Lingua/Stem/Sv.pm",
+ "version" : "1.01"
+ }
+ },
"release_status" : "stable",
"resources" : {
"license" : [
- "http://opensource.org/licenses/mit-license.php"
+ "http://dev.perl.org/licenses/"
]
},
- "version" : "0.91"
+ "version" : "0.84"
},
- "name" : "Locale::Maketext::Lexicon",
- "pathname" : "D/DR/DRTECH/Locale-Maketext-Lexicon-0.91.tar.gz",
+ "name" : "Lingua::Stem",
+ "pathname" : "S/SN/SNOWHARE/Lingua-Stem-0.84.tar.gz",
"provides" : {
- "Locale::Maketext::Extract" : {
- "file" : "Locale/Maketext/Extract.pm",
- "version" : "0.38"
+ "Lingua::Stem" : {
+ "file" : "Lingua/Stem.pm",
+ "version" : "0.84"
},
- "Locale::Maketext::Extract::Plugin::Base" : {
- "file" : "Locale/Maketext/Extract/Plugin/Base.pm"
+ "Lingua::Stem::AutoLoader" : {
+ "file" : "Lingua/Stem/AutoLoader.pm",
+ "version" : "1.02"
},
- "Locale::Maketext::Extract::Plugin::FormFu" : {
- "file" : "Locale/Maketext/Extract/Plugin/FormFu.pm"
+ "Lingua::Stem::Da" : {
+ "file" : "Lingua/Stem/Da.pm",
+ "version" : "1.01"
},
- "Locale::Maketext::Extract::Plugin::FormFu::Extractor" : {
- "file" : "Locale/Maketext/Extract/Plugin/FormFu.pm"
+ "Lingua::Stem::De" : {
+ "file" : "Lingua/Stem/De.pm",
+ "version" : "1.01"
},
- "Locale::Maketext::Extract::Plugin::Generic" : {
- "file" : "Locale/Maketext/Extract/Plugin/Generic.pm"
+ "Lingua::Stem::En" : {
+ "file" : "Lingua/Stem/En.pm",
+ "version" : "2.16"
},
- "Locale::Maketext::Extract::Plugin::Mason" : {
- "file" : "Locale/Maketext/Extract/Plugin/Mason.pm"
+ "Lingua::Stem::EnBroken" : {
+ "file" : "Lingua/Stem/EnBroken.pm",
+ "version" : "2.13"
},
- "Locale::Maketext::Extract::Plugin::PPI" : {
- "file" : "Locale/Maketext/Extract/Plugin/PPI.pm"
+ "Lingua::Stem::Gl" : {
+ "file" : "Lingua/Stem/Gl.pm",
+ "version" : "1.02"
},
- "Locale::Maketext::Extract::Plugin::Perl" : {
- "file" : "Locale/Maketext/Extract/Plugin/Perl.pm"
+ "Lingua::Stem::No" : {
+ "file" : "Lingua/Stem/No.pm",
+ "version" : "1.01"
},
- "Locale::Maketext::Extract::Plugin::TT2" : {
- "file" : "Locale/Maketext/Extract/Plugin/TT2.pm"
+ "Lingua::Stem::Pt" : {
+ "file" : "Lingua/Stem/Pt.pm",
+ "version" : "1.01"
},
- "Locale::Maketext::Extract::Plugin::TT2::Directive" : {
- "file" : "Locale/Maketext/Extract/Plugin/TT2.pm"
+ "Lingua::Stem::Sv" : {
+ "file" : "Lingua/Stem/Sv.pm",
+ "version" : "1.01"
+ }
+ },
+ "version" : "0.84"
+ },
+ "Lingua::Stem::Fr" : {
+ "dist" : "Lingua-Stem-Fr-0.02",
+ "module" : "Lingua::Stem::Fr",
+ "mymeta" : {
+ "abstract" : "unknown",
+ "author" : [
+ "unknown"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "ExtUtils::MakeMaker version 6.62, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "unknown"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
},
- "Locale::Maketext::Extract::Plugin::TT2::Parser" : {
- "file" : "Locale/Maketext/Extract/Plugin/TT2.pm"
+ "name" : "Lingua-Stem-Fr",
+ "no_index" : {
+ "directory" : [
+ "t",
+ "inc"
+ ]
},
- "Locale::Maketext::Extract::Plugin::TextTemplate" : {
- "file" : "Locale/Maketext/Extract/Plugin/TextTemplate.pm",
- "version" : "0.31"
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : 0
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : 0
+ }
+ },
+ "runtime" : {
+ "requires" : {}
+ }
},
- "Locale::Maketext::Extract::Plugin::TextTemplate::Parser" : {
- "file" : "Locale/Maketext/Extract/Plugin/TextTemplate.pm"
+ "release_status" : "stable",
+ "version" : "0.02"
+ },
+ "name" : "Lingua::Stem::Fr",
+ "pathname" : "S/SD/SDP/Lingua-Stem-Fr-0.02.tar.gz",
+ "provides" : {
+ "Lingua::Stem::Fr" : {
+ "file" : "Lingua/Stem/Fr.pm",
+ "version" : "0.02"
+ }
+ },
+ "version" : "0.02"
+ },
+ "Lingua::Stem::It" : {
+ "dist" : "Lingua-Stem-It-0.02",
+ "module" : "Lingua::Stem::It",
+ "mymeta" : {
+ "abstract" : "Porter's stemming algorithm for Italian",
+ "author" : [
+ "Aldo Calpini <dada@perl.it>"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "ExtUtils::MakeMaker version 6.62, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "unknown"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
},
- "Locale::Maketext::Extract::Plugin::YAML" : {
- "file" : "Locale/Maketext/Extract/Plugin/YAML.pm"
+ "name" : "Lingua-Stem-It",
+ "no_index" : {
+ "directory" : [
+ "t",
+ "inc"
+ ]
},
- "Locale::Maketext::Extract::Plugin::YAML::Extractor" : {
- "file" : "Locale/Maketext/Extract/Plugin/YAML.pm"
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : 0
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : 0
+ }
+ },
+ "runtime" : {
+ "requires" : {}
+ }
},
- "Locale::Maketext::Extract::Run" : {
- "file" : "Locale/Maketext/Extract/Run.pm"
+ "release_status" : "stable",
+ "version" : "0.02"
+ },
+ "name" : "Lingua::Stem::It",
+ "pathname" : "A/AC/ACALPINI/Lingua-Stem-It-0.02.tar.gz",
+ "provides" : {
+ "Lingua::Stem::It" : {
+ "file" : "Lingua/Stem/It.pm",
+ "version" : "0.02"
+ }
+ },
+ "version" : "0.02"
+ },
+ "Lingua::Stem::Ru" : {
+ "dist" : "Lingua-Stem-Ru-0.01",
+ "module" : "Lingua::Stem::Ru",
+ "mymeta" : {
+ "abstract" : "Porter's stemming algorithm for Russian",
+ "author" : [
+ "Aleksandr Guidrevitch <pillgrim@mail.ru>"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "ExtUtils::MakeMaker version 6.62, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "unknown"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
},
- "Locale::Maketext::Lexicon" : {
- "file" : "Locale/Maketext/Lexicon.pm",
- "version" : "0.91"
+ "name" : "Lingua-Stem-Ru",
+ "no_index" : {
+ "directory" : [
+ "t",
+ "inc"
+ ]
},
- "Locale::Maketext::Lexicon::Auto" : {
- "file" : "Locale/Maketext/Lexicon/Auto.pm",
- "version" : "0.10"
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : 0
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : 0
+ }
+ },
+ "runtime" : {
+ "requires" : {}
+ }
},
- "Locale::Maketext::Lexicon::Extract::Run" : {
- "file" : "Locale/Maketext/Extract/Run.pm",
- "version" : "0.35"
+ "release_status" : "stable",
+ "version" : "0.01"
+ },
+ "name" : "Lingua::Stem::Ru",
+ "pathname" : "A/AL/ALGDR/Lingua-Stem-Ru-0.01.tar.gz",
+ "provides" : {
+ "Lingua::Stem::Ru" : {
+ "file" : "Lingua/Stem/Ru.pm",
+ "version" : "0.01"
+ }
+ },
+ "version" : "0.01"
+ },
+ "Lingua::Stem::Snowball::Da" : {
+ "dist" : "Lingua-Stem-Snowball-Da-1.01",
+ "module" : "Lingua::Stem::Snowball::Da",
+ "mymeta" : {
+ "abstract" : "Porters stemming algorithm for Denmark",
+ "author" : [
+ "Dennis Haney <davh@davh.dk>"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "ExtUtils::MakeMaker version 6.62, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "unknown"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
},
- "Locale::Maketext::Lexicon::Gettext" : {
- "file" : "Locale/Maketext/Lexicon/Gettext.pm",
- "version" : "0.17"
+ "name" : "Lingua-Stem-Snowball-Da",
+ "no_index" : {
+ "directory" : [
+ "t",
+ "inc"
+ ]
},
- "Locale::Maketext::Lexicon::Msgcat" : {
- "file" : "Locale/Maketext/Lexicon/Msgcat.pm",
- "version" : "0.03"
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : 0
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : 0
+ }
+ },
+ "runtime" : {
+ "requires" : {}
+ }
},
- "Locale::Maketext::Lexicon::Tie" : {
- "file" : "Locale/Maketext/Lexicon/Tie.pm",
- "version" : "0.05"
+ "release_status" : "stable",
+ "version" : "1.01"
+ },
+ "name" : "Lingua::Stem::Snowball::Da",
+ "pathname" : "C/CI/CINE/Lingua-Stem-Snowball-Da-1.01.tar.gz",
+ "provides" : {
+ "Lingua::Stem::Snowball::Da" : {
+ "file" : "Lingua/Stem/Snowball/Da.pm",
+ "version" : "1.01"
+ }
+ },
+ "version" : "1.01"
+ },
+ "Lingua::Stem::Snowball::No" : {
+ "dist" : "Snowball-Norwegian-1.2",
+ "module" : "Lingua::Stem::Snowball::No",
+ "mymeta" : {
+ "abstract" : "Porters stemming algorithm for norwegian.",
+ "author" : [
+ "Ask Solem <ASKSH@cpan.org>"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "Snowball-Norwegian",
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "Test::More" : "0.42"
+ }
+ }
+ },
+ "provides" : {
+ "Lingua::Stem::Snowball::No" : {
+ "file" : "lib/Lingua/Stem/Snowball/No.pm",
+ "version" : "1.2"
+ }
+ },
+ "release_status" : "stable",
+ "resources" : {
+ "license" : [
+ "http://dev.perl.org/licenses/"
+ ]
+ },
+ "version" : "1.2"
+ },
+ "name" : "Lingua::Stem::Snowball::No",
+ "pathname" : "A/AS/ASKSH/Snowball-Norwegian-1.2.tar.gz",
+ "provides" : {
+ "Lingua::Stem::Snowball::No" : {
+ "file" : "Lingua/Stem/Snowball/No.pm",
+ "version" : "1.2"
+ }
+ },
+ "version" : "1.2"
+ },
+ "Lingua::Stem::Snowball::Se" : {
+ "dist" : "Snowball-Swedish-1.2",
+ "module" : "Lingua::Stem::Snowball::Se",
+ "mymeta" : {
+ "abstract" : "Porters stemming algorithm for swedish.",
+ "author" : [
+ "Ask Solem <ASKSH@cpan.org>"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "Snowball-Swedish",
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "Test::More" : "0.42"
+ }
+ }
+ },
+ "provides" : {
+ "Lingua::Stem::Snowball::Se" : {
+ "file" : "lib/Lingua/Stem/Snowball/Se.pm",
+ "version" : "1.2"
+ }
+ },
+ "release_status" : "stable",
+ "resources" : {
+ "license" : [
+ "http://dev.perl.org/licenses/"
+ ]
+ },
+ "version" : "1.2"
+ },
+ "name" : "Lingua::Stem::Snowball::Se",
+ "pathname" : "A/AS/ASKSH/Snowball-Swedish-1.2.tar.gz",
+ "provides" : {
+ "Lingua::Stem::Snowball::Se" : {
+ "file" : "Lingua/Stem/Snowball/Se.pm",
+ "version" : "1.2"
+ }
+ },
+ "version" : "1.2"
+ },
+ "List::MoreUtils" : {
+ "dist" : "List-MoreUtils-0.33",
+ "module" : "List::MoreUtils",
+ "mymeta" : {
+ "abstract" : "Provide the stuff missing in List::Util",
+ "author" : [
+ "Tassilo von Parseval <tassilo.von.parseval@rwth-aachen.de>"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "ExtUtils::MakeMaker version 6.56, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "List-MoreUtils",
+ "no_index" : {
+ "directory" : [
+ "t",
+ "inc"
+ ]
+ },
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "Test::More" : "0.42"
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::CBuilder" : "0.27",
+ "ExtUtils::MakeMaker" : "6.52"
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "Test::More" : "0.82",
+ "perl" : "5.00503"
+ }
+ }
+ },
+ "release_status" : "stable",
+ "version" : "0.33"
+ },
+ "name" : "List::MoreUtils",
+ "pathname" : "A/AD/ADAMK/List-MoreUtils-0.33.tar.gz",
+ "provides" : {
+ "List::MoreUtils" : {
+ "file" : "List/MoreUtils.pm",
+ "version" : "0.33"
}
},
- "version" : "0.91"
+ "version" : "0.33"
},
"Log::Log4perl" : {
"dist" : "Log-Log4perl-1.34",
@@ -16595,91 +17511,24 @@
},
"version" : "2.08"
},
- "Math::BigInt" : {
- "dist" : "Math-BigInt-1.997",
- "module" : "Math::BigInt",
- "mymeta" : {
- "abstract" : "Arbitrary size integer/float math package",
- "author" : [
- "Original code by Mark Biggar, overloaded interface by Ilya Zakharevich., Tels <nospam-abuse@bloodgate.com>"
- ],
- "dynamic_config" : 0,
- "generated_by" : "ExtUtils::MakeMaker version 6.59, CPAN::Meta::Converter version 2.112150",
- "license" : [
- "perl_5"
- ],
- "meta-spec" : {
- "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
- "version" : "2"
- },
- "name" : "Math-BigInt",
- "no_index" : {
- "directory" : [
- "t",
- "inc"
- ]
- },
- "prereqs" : {
- "build" : {
- "requires" : {
- "ExtUtils::MakeMaker" : "6.42",
- "Test::More" : "0.62"
- }
- },
- "configure" : {
- "requires" : {
- "ExtUtils::MakeMaker" : 0
- }
- },
- "runtime" : {
- "requires" : {
- "perl" : "5.006002"
- }
- }
- },
- "release_status" : "stable",
- "version" : "1.997"
- },
- "name" : "Math::BigInt",
- "pathname" : "P/PJ/PJACKLAM/Math-BigInt-1.997.tar.gz",
- "provides" : {
- "Math::BigFloat" : {
- "file" : "Math/BigFloat.pm",
- "version" : "1.997"
- },
- "Math::BigInt" : {
- "file" : "Math/BigInt.pm",
- "version" : "1.997"
- },
- "Math::BigInt::Calc" : {
- "file" : "Math/BigInt/Calc.pm",
- "version" : "1.997"
- },
- "Math::BigInt::CalcEmu" : {
- "file" : "Math/BigInt/CalcEmu.pm",
- "version" : "1.997"
- }
- },
- "version" : "1.997"
- },
- "Math::BigInt::GMP" : {
- "dist" : "Math-BigInt-GMP-1.37",
- "module" : "Math::BigInt::GMP",
+ "Math::Round" : {
+ "dist" : "Math-Round-0.06",
+ "module" : "Math::Round",
"mymeta" : {
- "abstract" : "Use the GMP library for Math::BigInt routines",
+ "abstract" : "unknown",
"author" : [
- "Tels"
+ "unknown"
],
"dynamic_config" : 0,
- "generated_by" : "ExtUtils::MakeMaker version 6.59, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "ExtUtils::MakeMaker version 6.62, CPAN::Meta::Converter version 2.112150",
"license" : [
- "perl_5"
+ "unknown"
],
"meta-spec" : {
"url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
"version" : "2"
},
- "name" : "Math-BigInt-GMP",
+ "name" : "Math-Round",
"no_index" : {
"directory" : [
"t",
@@ -16698,28 +17547,25 @@
}
},
"runtime" : {
- "requires" : {
- "Math::BigInt" : "1.997",
- "XSLoader" : "0.02"
- }
+ "requires" : {}
}
},
"release_status" : "stable",
- "version" : "1.37"
+ "version" : "0.06"
},
- "name" : "Math::BigInt::GMP",
- "pathname" : "P/PJ/PJACKLAM/Math-BigInt-GMP-1.37.tar.gz",
+ "name" : "Math::Round",
+ "pathname" : "G/GR/GROMMEL/Math-Round-0.06.tar.gz",
"provides" : {
- "Math::BigInt::GMP" : {
- "file" : "Math/BigInt/GMP.pm",
- "version" : "1.37"
+ "Math::Round" : {
+ "file" : "Math/Round.pm",
+ "version" : "0.06"
}
},
- "version" : "1.37"
+ "version" : "0.06"
},
- "Math::Round" : {
- "dist" : "Math-Round-0.06",
- "module" : "Math::Round",
+ "Memoize::ExpireLRU" : {
+ "dist" : "Memoize-ExpireLRU-0.55",
+ "module" : "Memoize::ExpireLRU",
"mymeta" : {
"abstract" : "unknown",
"author" : [
@@ -16734,7 +17580,7 @@
"url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
"version" : "2"
},
- "name" : "Math-Round",
+ "name" : "Memoize-ExpireLRU",
"no_index" : {
"directory" : [
"t",
@@ -16753,21 +17599,23 @@
}
},
"runtime" : {
- "requires" : {}
+ "requires" : {
+ "Memoize" : "0.52"
+ }
}
},
"release_status" : "stable",
- "version" : "0.06"
+ "version" : "0.55"
},
- "name" : "Math::Round",
- "pathname" : "G/GR/GROMMEL/Math-Round-0.06.tar.gz",
+ "name" : "Memoize::ExpireLRU",
+ "pathname" : "B/BP/BPOWERS/Memoize-ExpireLRU-0.55.tar.gz",
"provides" : {
- "Math::Round" : {
- "file" : "Math/Round.pm",
- "version" : "0.06"
+ "Memoize::ExpireLRU" : {
+ "file" : "Memoize/ExpireLRU.pm",
+ "version" : "0.55"
}
},
- "version" : "0.06"
+ "version" : "0.55"
},
"Module::Build" : {
"dist" : "Module-Build-0.3800",
@@ -17312,7 +18160,7 @@
"version" : "0.10"
},
"Module::Metadata" : {
- "dist" : "Module-Metadata-1.000007",
+ "dist" : "Module-Metadata-1.000009",
"module" : "Module::Metadata",
"mymeta" : {
"abstract" : "Gather package and POD information from perl module files",
@@ -17320,7 +18168,7 @@
"Ken Williams <kwilliams@cpan.org>, Randy W. Sims <RandyS@ThePierianSpring.org>"
],
"dynamic_config" : 0,
- "generated_by" : "ExtUtils::MakeMaker version 6.59, CPAN::Meta::Converter version 2.112150",
+ "generated_by" : "ExtUtils::MakeMaker version 6.62, CPAN::Meta::Converter version 2.112621, CPAN::Meta::Converter version 2.112150",
"license" : [
"perl_5"
],
@@ -17348,22 +18196,29 @@
},
"runtime" : {
"requires" : {
- "version" : "0.87"
+ "Carp" : 0,
+ "File::Find" : 0,
+ "File::Spec" : 0,
+ "IO::File" : 0,
+ "strict" : 0,
+ "vars" : 0,
+ "version" : "0.87",
+ "warnings" : 0
}
}
},
"release_status" : "stable",
- "version" : "1.000007"
+ "version" : "1.000009"
},
"name" : "Module::Metadata",
- "pathname" : "D/DA/DAGOLDEN/Module-Metadata-1.000007.tar.gz",
+ "pathname" : "D/DA/DAGOLDEN/Module-Metadata-1.000009.tar.gz",
"provides" : {
"Module::Metadata" : {
"file" : "Module/Metadata.pm",
- "version" : "1.000007"
+ "version" : "1.000009"
}
},
- "version" : "1.000007"
+ "version" : "1.000009"
},
"Module::Runtime" : {
"dist" : "Module-Runtime-0.011",
@@ -22024,6 +22879,1040 @@
},
"version" : "1.666001"
},
+ "SOAP::WSDL" : {
+ "dist" : "SOAP-WSDL-2.00.10",
+ "module" : "SOAP::WSDL::Client::Base",
+ "mymeta" : {
+ "abstract" : "SOAP with WSDL support",
+ "author" : [
+ "Martin Kutter <martin.kutter@fen-net.de>"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "artistic_1"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "SOAP-WSDL",
+ "no_index" : {
+ "directory" : [
+ "lib/SOAP/WSDL/Generator/Template/XSD/"
+ ]
+ },
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "Class::Std::Fast" : "v0.0.5",
+ "Cwd" : 0,
+ "Date::Format" : 0,
+ "Date::Parse" : 0,
+ "File::Basename" : 0,
+ "File::Path" : 0,
+ "File::Spec" : 0,
+ "Getopt::Long" : 0,
+ "LWP::UserAgent" : 0,
+ "List::Util" : 0,
+ "Module::Build" : 0,
+ "Storable" : 0,
+ "Template" : "2.18",
+ "Test::More" : 0,
+ "XML::Parser::Expat" : 0
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "Class::Std::Fast" : "v0.0.5",
+ "Data::Dumper" : 0,
+ "Date::Format" : 0,
+ "Date::Parse" : 0,
+ "File::Basename" : 0,
+ "File::Path" : 0,
+ "Getopt::Long" : 0,
+ "LWP::UserAgent" : 0,
+ "List::Util" : 0,
+ "Template" : "2.18",
+ "Term::ReadKey" : 0,
+ "URI" : 0,
+ "XML::Parser::Expat" : 0,
+ "perl" : "v5.8.0"
+ }
+ }
+ },
+ "provides" : {
+ "SOAP::WSDL" : {
+ "file" : "lib/SOAP/WSDL.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Base" : {
+ "file" : "lib/SOAP/WSDL/Base.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Binding" : {
+ "file" : "lib/SOAP/WSDL/Binding.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Client" : {
+ "file" : "lib/SOAP/WSDL/Client.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Client::Base" : {
+ "file" : "lib/SOAP/WSDL/Client/Base.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Definitions" : {
+ "file" : "lib/SOAP/WSDL/Definitions.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Deserializer::Hash" : {
+ "file" : "lib/SOAP/WSDL/Deserializer/Hash.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Deserializer::SOM" : {
+ "file" : "lib/SOAP/WSDL/Deserializer/SOM.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Deserializer::XSD" : {
+ "file" : "lib/SOAP/WSDL/Deserializer/XSD.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Expat::Base" : {
+ "file" : "lib/SOAP/WSDL/Expat/Base.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Expat::Message2Hash" : {
+ "file" : "lib/SOAP/WSDL/Expat/Message2Hash.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Expat::MessageParser" : {
+ "file" : "lib/SOAP/WSDL/Expat/MessageParser.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Expat::MessageStreamParser" : {
+ "file" : "lib/SOAP/WSDL/Expat/MessageStreamParser.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Expat::WSDLParser" : {
+ "file" : "lib/SOAP/WSDL/Expat/WSDLParser.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Factory::Deserializer" : {
+ "file" : "lib/SOAP/WSDL/Factory/Deserializer.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Factory::Generator" : {
+ "file" : "lib/SOAP/WSDL/Factory/Generator.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Factory::Serializer" : {
+ "file" : "lib/SOAP/WSDL/Factory/Serializer.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Factory::Transport" : {
+ "file" : "lib/SOAP/WSDL/Factory/Transport.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Generator::Iterator::WSDL11" : {
+ "file" : "lib/SOAP/WSDL/Generator/Iterator/WSDL11.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Generator::PrefixResolver" : {
+ "file" : "lib/SOAP/WSDL/Generator/PrefixResolver.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Generator::Template" : {
+ "file" : "lib/SOAP/WSDL/Generator/Template.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Generator::Template::Plugin::XSD" : {
+ "file" : "lib/SOAP/WSDL/Generator/Template/Plugin/XSD.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Generator::Template::XSD" : {
+ "file" : "lib/SOAP/WSDL/Generator/Template/XSD.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Generator::Visitor" : {
+ "file" : "lib/SOAP/WSDL/Generator/Visitor.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Generator::Visitor::Typemap" : {
+ "file" : "lib/SOAP/WSDL/Generator/Visitor/Typemap.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Message" : {
+ "file" : "lib/SOAP/WSDL/Message.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::OpMessage" : {
+ "file" : "lib/SOAP/WSDL/OpMessage.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Operation" : {
+ "file" : "lib/SOAP/WSDL/Operation.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Part" : {
+ "file" : "lib/SOAP/WSDL/Part.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Port" : {
+ "file" : "lib/SOAP/WSDL/Port.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::PortType" : {
+ "file" : "lib/SOAP/WSDL/PortType.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::SOAP::Address" : {
+ "file" : "lib/SOAP/WSDL/SOAP/Address.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::SOAP::Body" : {
+ "file" : "lib/SOAP/WSDL/SOAP/Body.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::SOAP::Header" : {
+ "file" : "lib/SOAP/WSDL/SOAP/Header.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::SOAP::HeaderFault" : {
+ "file" : "lib/SOAP/WSDL/SOAP/HeaderFault.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::SOAP::Operation" : {
+ "file" : "lib/SOAP/WSDL/SOAP/Operation.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::SOAP::Typelib::Fault" : {
+ "file" : "lib/SOAP/WSDL/SOAP/Typelib/Fault.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::SOAP::Typelib::Fault11" : {
+ "file" : "lib/SOAP/WSDL/SOAP/Typelib/Fault11.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::SOAP::Typelib::Fault11Detail" : {
+ "file" : "lib/SOAP/WSDL/SOAP/Typelib/Fault11.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::Serializer::XSD" : {
+ "file" : "lib/SOAP/WSDL/Serializer/XSD.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Server" : {
+ "file" : "lib/SOAP/WSDL/Server.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Server::CGI" : {
+ "file" : "lib/SOAP/WSDL/Server/CGI.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Server::Mod_Perl2" : {
+ "file" : "lib/SOAP/WSDL/Server/Mod_Perl2.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Server::Simple" : {
+ "file" : "lib/SOAP/WSDL/Server/Simple.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Service" : {
+ "file" : "lib/SOAP/WSDL/Service.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Transport::HTTP" : {
+ "file" : "lib/SOAP/WSDL/Transport/HTTP.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Transport::Loopback" : {
+ "file" : "lib/SOAP/WSDL/Transport/Loopback.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Transport::Test" : {
+ "file" : "lib/SOAP/WSDL/Transport/Test.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::TypeLookup" : {
+ "file" : "lib/SOAP/WSDL/TypeLookup.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Types" : {
+ "file" : "lib/SOAP/WSDL/Types.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::Annotation" : {
+ "file" : "lib/SOAP/WSDL/XSD/Annotation.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::Attribute" : {
+ "file" : "lib/SOAP/WSDL/XSD/Attribute.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::AttributeGroup" : {
+ "file" : "lib/SOAP/WSDL/XSD/AttributeGroup.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::Builtin" : {
+ "file" : "lib/SOAP/WSDL/XSD/Builtin.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::ComplexType" : {
+ "file" : "lib/SOAP/WSDL/XSD/ComplexType.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::Element" : {
+ "file" : "lib/SOAP/WSDL/XSD/Element.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::Enumeration" : {
+ "file" : "lib/SOAP/WSDL/XSD/Enumeration.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::FractionDigits" : {
+ "file" : "lib/SOAP/WSDL/XSD/FractionDigits.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::Group" : {
+ "file" : "lib/SOAP/WSDL/XSD/Group.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::Length" : {
+ "file" : "lib/SOAP/WSDL/XSD/Length.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::MaxExclusive" : {
+ "file" : "lib/SOAP/WSDL/XSD/MaxExclusive.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::MaxInclusive" : {
+ "file" : "lib/SOAP/WSDL/XSD/MaxInclusive.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::MaxLength" : {
+ "file" : "lib/SOAP/WSDL/XSD/MaxLength.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::MinExclusive" : {
+ "file" : "lib/SOAP/WSDL/XSD/MinExclusive.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::MinInclusive" : {
+ "file" : "lib/SOAP/WSDL/XSD/MinInclusive.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::MinLength" : {
+ "file" : "lib/SOAP/WSDL/XSD/MinLength.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::Pattern" : {
+ "file" : "lib/SOAP/WSDL/XSD/Pattern.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::Schema" : {
+ "file" : "lib/SOAP/WSDL/XSD/Schema.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::Schema::Builtin" : {
+ "file" : "lib/SOAP/WSDL/XSD/Schema/Builtin.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::SimpleType" : {
+ "file" : "lib/SOAP/WSDL/XSD/SimpleType.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::TotalDigits" : {
+ "file" : "lib/SOAP/WSDL/XSD/TotalDigits.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::Typelib::Attribute" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Attribute.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::Typelib::AttributeSet" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/AttributeSet.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::ENTITY" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/ENTITY.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::ID" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/ID.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::IDREF" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/IDREF.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::IDREFS" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/IDREFS.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::NCName" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/NCName.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::NMTOKEN" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/NMTOKEN.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::NMTOKENS" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/NMTOKENS.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::NOTATION" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/NOTATION.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::Name" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/Name.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::QName" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/QName.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::anyType" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::anyURI" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/anyURI.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::base64Binary" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/base64Binary.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::boolean" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/boolean.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::byte" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/byte.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::date" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/date.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::dateTime" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/dateTime.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::decimal" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/decimal.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::double" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/double.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::duration" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/duration.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::float" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/float.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::gDay" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/gDay.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::gMonth" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/gMonth.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::gMonthDay" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/gMonthDay.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::gYear" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/gYear.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::gYearMonth" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/gYearMonth.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::hexBinary" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/hexBinary.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::int" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/int.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::integer" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/integer.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::language" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/language.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::list" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/list.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::long" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/long.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::negativeInteger" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/negativeInteger.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::nonNegativeInteger" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/nonNegativeInteger.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::nonPositiveInteger" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/nonPositiveInteger.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::normalizedString" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/normalizedString.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::positiveInteger" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/positiveInteger.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::short" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/short.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::string" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/string.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::time" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/time.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::token" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/token.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::unsignedByte" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/unsignedByte.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::unsignedInt" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/unsignedInt.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::unsignedLong" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/unsignedLong.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::unsignedShort" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Builtin/unsignedShort.pm",
+ "version" : 0
+ },
+ "SOAP::WSDL::XSD::Typelib::ComplexType" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::Typelib::Element" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/Element.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::Typelib::SimpleType" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/SimpleType.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::Typelib::SimpleType::restriction" : {
+ "file" : "lib/SOAP/WSDL/XSD/Typelib/SimpleType.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::WhiteSpace" : {
+ "file" : "lib/SOAP/WSDL/XSD/WhiteSpace.pm",
+ "version" : "v2.0.10"
+ }
+ },
+ "release_status" : "stable",
+ "resources" : {
+ "license" : [
+ "http://opensource.org/licenses/artistic-license.php"
+ ]
+ },
+ "version" : "2.00.10"
+ },
+ "name" : "SOAP::WSDL",
+ "pathname" : "M/MK/MKUTTER/SOAP-WSDL-2.00.10.tar.gz",
+ "provides" : {
+ "SOAP::WSDL" : {
+ "file" : "SOAP/WSDL.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Base" : {
+ "file" : "SOAP/WSDL/Base.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Binding" : {
+ "file" : "SOAP/WSDL/Binding.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Client" : {
+ "file" : "SOAP/WSDL/Client.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Client::Base" : {
+ "file" : "SOAP/WSDL/Client/Base.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Definitions" : {
+ "file" : "SOAP/WSDL/Definitions.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Deserializer::Hash" : {
+ "file" : "SOAP/WSDL/Deserializer/Hash.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Deserializer::SOM" : {
+ "file" : "SOAP/WSDL/Deserializer/SOM.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Deserializer::XSD" : {
+ "file" : "SOAP/WSDL/Deserializer/XSD.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Expat::Base" : {
+ "file" : "SOAP/WSDL/Expat/Base.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Expat::Message2Hash" : {
+ "file" : "SOAP/WSDL/Expat/Message2Hash.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Expat::MessageParser" : {
+ "file" : "SOAP/WSDL/Expat/MessageParser.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Expat::MessageStreamParser" : {
+ "file" : "SOAP/WSDL/Expat/MessageStreamParser.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Expat::WSDLParser" : {
+ "file" : "SOAP/WSDL/Expat/WSDLParser.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Factory::Deserializer" : {
+ "file" : "SOAP/WSDL/Factory/Deserializer.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Factory::Generator" : {
+ "file" : "SOAP/WSDL/Factory/Generator.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Factory::Serializer" : {
+ "file" : "SOAP/WSDL/Factory/Serializer.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Factory::Transport" : {
+ "file" : "SOAP/WSDL/Factory/Transport.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Generator::Iterator::WSDL11" : {
+ "file" : "SOAP/WSDL/Generator/Iterator/WSDL11.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Generator::PrefixResolver" : {
+ "file" : "SOAP/WSDL/Generator/PrefixResolver.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Generator::Template" : {
+ "file" : "SOAP/WSDL/Generator/Template.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Generator::Template::Plugin::XSD" : {
+ "file" : "SOAP/WSDL/Generator/Template/Plugin/XSD.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Generator::Template::XSD" : {
+ "file" : "SOAP/WSDL/Generator/Template/XSD.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Generator::Visitor" : {
+ "file" : "SOAP/WSDL/Generator/Visitor.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Generator::Visitor::Typemap" : {
+ "file" : "SOAP/WSDL/Generator/Visitor/Typemap.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Message" : {
+ "file" : "SOAP/WSDL/Message.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::OpMessage" : {
+ "file" : "SOAP/WSDL/OpMessage.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Operation" : {
+ "file" : "SOAP/WSDL/Operation.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Part" : {
+ "file" : "SOAP/WSDL/Part.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Port" : {
+ "file" : "SOAP/WSDL/Port.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::PortType" : {
+ "file" : "SOAP/WSDL/PortType.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::SOAP::Address" : {
+ "file" : "SOAP/WSDL/SOAP/Address.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::SOAP::Body" : {
+ "file" : "SOAP/WSDL/SOAP/Body.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::SOAP::Header" : {
+ "file" : "SOAP/WSDL/SOAP/Header.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::SOAP::HeaderFault" : {
+ "file" : "SOAP/WSDL/SOAP/HeaderFault.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::SOAP::Operation" : {
+ "file" : "SOAP/WSDL/SOAP/Operation.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::SOAP::Typelib::Fault" : {
+ "file" : "SOAP/WSDL/SOAP/Typelib/Fault.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::SOAP::Typelib::Fault11" : {
+ "file" : "SOAP/WSDL/SOAP/Typelib/Fault11.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::SOAP::Typelib::Fault11Detail" : {
+ "file" : "SOAP/WSDL/SOAP/Typelib/Fault11.pm"
+ },
+ "SOAP::WSDL::Serializer::XSD" : {
+ "file" : "SOAP/WSDL/Serializer/XSD.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Server" : {
+ "file" : "SOAP/WSDL/Server.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Server::CGI" : {
+ "file" : "SOAP/WSDL/Server/CGI.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Server::Mod_Perl2" : {
+ "file" : "SOAP/WSDL/Server/Mod_Perl2.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Server::Simple" : {
+ "file" : "SOAP/WSDL/Server/Simple.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Service" : {
+ "file" : "SOAP/WSDL/Service.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Transport::HTTP" : {
+ "file" : "SOAP/WSDL/Transport/HTTP.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Transport::Loopback" : {
+ "file" : "SOAP/WSDL/Transport/Loopback.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Transport::Test" : {
+ "file" : "SOAP/WSDL/Transport/Test.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::TypeLookup" : {
+ "file" : "SOAP/WSDL/TypeLookup.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::Types" : {
+ "file" : "SOAP/WSDL/Types.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::Annotation" : {
+ "file" : "SOAP/WSDL/XSD/Annotation.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::Attribute" : {
+ "file" : "SOAP/WSDL/XSD/Attribute.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::AttributeGroup" : {
+ "file" : "SOAP/WSDL/XSD/AttributeGroup.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::Builtin" : {
+ "file" : "SOAP/WSDL/XSD/Builtin.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::ComplexType" : {
+ "file" : "SOAP/WSDL/XSD/ComplexType.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::Element" : {
+ "file" : "SOAP/WSDL/XSD/Element.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::Enumeration" : {
+ "file" : "SOAP/WSDL/XSD/Enumeration.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::FractionDigits" : {
+ "file" : "SOAP/WSDL/XSD/FractionDigits.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::Group" : {
+ "file" : "SOAP/WSDL/XSD/Group.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::Length" : {
+ "file" : "SOAP/WSDL/XSD/Length.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::MaxExclusive" : {
+ "file" : "SOAP/WSDL/XSD/MaxExclusive.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::MaxInclusive" : {
+ "file" : "SOAP/WSDL/XSD/MaxInclusive.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::MaxLength" : {
+ "file" : "SOAP/WSDL/XSD/MaxLength.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::MinExclusive" : {
+ "file" : "SOAP/WSDL/XSD/MinExclusive.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::MinInclusive" : {
+ "file" : "SOAP/WSDL/XSD/MinInclusive.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::MinLength" : {
+ "file" : "SOAP/WSDL/XSD/MinLength.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::Pattern" : {
+ "file" : "SOAP/WSDL/XSD/Pattern.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::Schema" : {
+ "file" : "SOAP/WSDL/XSD/Schema.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::Schema::Builtin" : {
+ "file" : "SOAP/WSDL/XSD/Schema/Builtin.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::SimpleType" : {
+ "file" : "SOAP/WSDL/XSD/SimpleType.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::TotalDigits" : {
+ "file" : "SOAP/WSDL/XSD/TotalDigits.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::Typelib::Attribute" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Attribute.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::Typelib::AttributeSet" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/AttributeSet.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::ENTITY" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/ENTITY.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::ID" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/ID.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::IDREF" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/IDREF.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::IDREFS" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/IDREFS.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::NCName" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/NCName.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::NMTOKEN" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/NMTOKEN.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::NMTOKENS" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/NMTOKENS.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::NOTATION" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/NOTATION.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::Name" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/Name.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::QName" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/QName.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::anyType" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::anyURI" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/anyURI.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::base64Binary" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/base64Binary.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::boolean" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/boolean.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::byte" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/byte.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::date" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/date.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::dateTime" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/dateTime.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::decimal" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/decimal.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::double" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/double.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::duration" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/duration.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::float" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/float.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::gDay" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/gDay.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::gMonth" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/gMonth.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::gMonthDay" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/gMonthDay.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::gYear" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/gYear.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::gYearMonth" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/gYearMonth.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::hexBinary" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/hexBinary.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::int" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/int.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::integer" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/integer.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::language" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/language.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::list" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/list.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::long" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/long.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::negativeInteger" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/negativeInteger.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::nonNegativeInteger" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/nonNegativeInteger.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::nonPositiveInteger" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/nonPositiveInteger.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::normalizedString" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/normalizedString.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::positiveInteger" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/positiveInteger.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::short" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/short.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::string" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/string.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::time" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/time.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::token" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/token.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::unsignedByte" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/unsignedByte.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::unsignedInt" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/unsignedInt.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::unsignedLong" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/unsignedLong.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::Builtin::unsignedShort" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Builtin/unsignedShort.pm"
+ },
+ "SOAP::WSDL::XSD::Typelib::ComplexType" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/ComplexType.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::Typelib::Element" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/Element.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::Typelib::SimpleType" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/SimpleType.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::Typelib::SimpleType::restriction" : {
+ "file" : "SOAP/WSDL/XSD/Typelib/SimpleType.pm",
+ "version" : "v2.0.10"
+ },
+ "SOAP::WSDL::XSD::WhiteSpace" : {
+ "file" : "SOAP/WSDL/XSD/WhiteSpace.pm",
+ "version" : "v2.0.10"
+ }
+ },
+ "version" : "v2.0.10"
+ },
"SQL::Abstract" : {
"dist" : "SQL-Abstract-1.72",
"module" : "SQL::Abstract",
@@ -22385,6 +24274,57 @@
},
"version" : "1.4"
},
+ "String::CamelCase" : {
+ "dist" : "String-CamelCase-0.02",
+ "module" : "String::CamelCase",
+ "mymeta" : {
+ "abstract" : "camelcase, de-camelcase",
+ "author" : [
+ "YAMASHINA Hio <hio@cpan.org>"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "ExtUtils::MY_Metafile version 0.09, EUMM-6.17., CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "String-CamelCase",
+ "no_index" : {
+ "directory" : [
+ "inc",
+ "t"
+ ]
+ },
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : 0
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "Test::More" : 0
+ }
+ }
+ },
+ "release_status" : "stable",
+ "version" : "0.02",
+ "x_installdirs" : "site",
+ "x_version_from" : "lib/String/CamelCase.pm"
+ },
+ "name" : "String::CamelCase",
+ "pathname" : "H/HI/HIO/String-CamelCase-0.02.tar.gz",
+ "provides" : {
+ "String::CamelCase" : {
+ "file" : "String/CamelCase.pm",
+ "version" : "0.02"
+ }
+ },
+ "version" : "0.02"
+ },
"String::RewritePrefix" : {
"dist" : "String-RewritePrefix-0.006",
"module" : "String::RewritePrefix",
@@ -22617,6 +24557,89 @@
},
"version" : "0.006"
},
+ "String::ToIdentifier::EN" : {
+ "dist" : "String-ToIdentifier-EN-0.07",
+ "module" : "String::ToIdentifier::EN",
+ "mymeta" : {
+ "abstract" : "Convert Strings to English Program Identifiers",
+ "author" : [
+ "Rafael Kitover, C<< <rkitover@cpan.org> >>",
+ "Rafael Kitover <rkitover@cpan.org>"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "Module::Install version 1.04, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "String-ToIdentifier-EN",
+ "no_index" : {
+ "directory" : [
+ "inc",
+ "t"
+ ]
+ },
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "6.62",
+ "Test::More" : "0.92"
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "6.62"
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "Exporter" : "5.57",
+ "Lingua::EN::Inflect::Phrase" : "0.07",
+ "Test::More" : "0.92",
+ "Text::Unidecode" : "0.04",
+ "namespace::clean" : "0.20",
+ "perl" : "5.008001"
+ }
+ }
+ },
+ "provides" : {
+ "String::ToIdentifier::EN" : {
+ "file" : "lib/String/ToIdentifier/EN.pm",
+ "version" : "0.07"
+ },
+ "String::ToIdentifier::EN::Unicode" : {
+ "file" : "lib/String/ToIdentifier/EN/Unicode.pm",
+ "version" : 0
+ }
+ },
+ "release_status" : "stable",
+ "resources" : {
+ "license" : [
+ "http://dev.perl.org/licenses/"
+ ],
+ "repository" : {
+ "type" : "git",
+ "url" : "git://github.com/rkitover/string-toidentifier-en.git"
+ }
+ },
+ "version" : "0.07"
+ },
+ "name" : "String::ToIdentifier::EN",
+ "pathname" : "R/RK/RKITOVER/String-ToIdentifier-EN-0.07.tar.gz",
+ "provides" : {
+ "String::ToIdentifier::EN" : {
+ "file" : "String/ToIdentifier/EN.pm",
+ "version" : "0.07"
+ },
+ "String::ToIdentifier::EN::Unicode" : {
+ "file" : "String/ToIdentifier/EN/Unicode.pm"
+ }
+ },
+ "version" : "0.07"
+ },
"Sub::Exporter" : {
"dist" : "Sub-Exporter-0.982",
"module" : "Sub::Exporter",
@@ -23347,6 +25370,58 @@
},
"version" : "1.00"
},
+ "Term::ReadKey" : {
+ "dist" : "TermReadKey-2.30",
+ "module" : "Term::ReadKey",
+ "mymeta" : {
+ "abstract" : "unknown",
+ "author" : [
+ "unknown"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "ExtUtils::MakeMaker version 6.62, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "unknown"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "TermReadKey",
+ "no_index" : {
+ "directory" : [
+ "t",
+ "inc"
+ ]
+ },
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : 0
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : 0
+ }
+ },
+ "runtime" : {
+ "requires" : {}
+ }
+ },
+ "release_status" : "stable",
+ "version" : "2.30"
+ },
+ "name" : "Term::ReadKey",
+ "pathname" : "J/JS/JSTOWE/TermReadKey-2.30.tar.gz",
+ "provides" : {
+ "Term::ReadKey" : {
+ "file" : "Term/ReadKey.pm",
+ "version" : "2.30"
+ }
+ },
+ "version" : "2.30"
+ },
"Test::Base" : {
"dist" : "Test-Base-0.60",
"module" : "Test::Base",
@@ -24883,6 +26958,82 @@
},
"version" : "0.02"
},
+ "Text::German" : {
+ "dist" : "Text-German-0.06",
+ "module" : "Text::German",
+ "mymeta" : {
+ "abstract" : "unknown",
+ "author" : [
+ "unknown"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "ExtUtils::MakeMaker version 6.62, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "unknown"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "Text-German",
+ "no_index" : {
+ "directory" : [
+ "t",
+ "inc"
+ ]
+ },
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : 0
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : 0
+ }
+ },
+ "runtime" : {
+ "requires" : {}
+ }
+ },
+ "release_status" : "stable",
+ "version" : "0.06"
+ },
+ "name" : "Text::German",
+ "pathname" : "U/UL/ULPFR/Text-German-0.06.tar.gz",
+ "provides" : {
+ "Text::German" : {
+ "file" : "Text/German.pm",
+ "version" : "0.06"
+ },
+ "Text::German::Adjektiv" : {
+ "file" : "Text/German/Adjektiv.pm"
+ },
+ "Text::German::Ausnahme" : {
+ "file" : "Text/German/Ausnahme.pm"
+ },
+ "Text::German::Cache" : {
+ "file" : "Text/German/Cache.pm"
+ },
+ "Text::German::Endung" : {
+ "file" : "Text/German/Endung.pm"
+ },
+ "Text::German::Regel" : {
+ "file" : "Text/German/Regel.pm"
+ },
+ "Text::German::Util" : {
+ "file" : "Text/German/Util.pm"
+ },
+ "Text::German::Verb" : {
+ "file" : "Text/German/Verb.pm"
+ },
+ "Text::German::Vorsilbe" : {
+ "file" : "Text/German/Vorsilbe.pm"
+ }
+ },
+ "version" : "0.06"
+ },
"Text::Glob" : {
"dist" : "Text-Glob-0.09",
"module" : "Text::Glob",
@@ -25046,6 +27197,58 @@
},
"version" : "1.45"
},
+ "Text::Unidecode" : {
+ "dist" : "Text-Unidecode-0.04",
+ "module" : "Text::Unidecode",
+ "mymeta" : {
+ "abstract" : "unknown",
+ "author" : [
+ "unknown"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "ExtUtils::MakeMaker version 6.62, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "unknown"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "Text-Unidecode",
+ "no_index" : {
+ "directory" : [
+ "t",
+ "inc"
+ ]
+ },
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : 0
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : 0
+ }
+ },
+ "runtime" : {
+ "requires" : {}
+ }
+ },
+ "release_status" : "stable",
+ "version" : "0.04"
+ },
+ "name" : "Text::Unidecode",
+ "pathname" : "S/SB/SBURKE/Text-Unidecode-0.04.tar.gz",
+ "provides" : {
+ "Text::Unidecode" : {
+ "file" : "Text/Unidecode.pm",
+ "version" : "0.04"
+ }
+ },
+ "version" : "0.04"
+ },
"Tie::IxHash" : {
"dist" : "Tie-IxHash-1.22",
"module" : "Tie::IxHash",
@@ -26362,216 +28565,6 @@
},
"version" : "1.11"
},
- "XML::Parser" : {
- "dist" : "XML-Parser-2.41",
- "module" : "XML::Parser",
- "mymeta" : {
- "abstract" : "A perl module for parsing XML documents",
- "author" : [
- "Clark Cooper (coopercc@netheaven.com)"
- ],
- "dynamic_config" : 0,
- "generated_by" : "ExtUtils::MakeMaker version 6.56, CPAN::Meta::Converter version 2.112150",
- "license" : [
- "perl_5"
- ],
- "meta-spec" : {
- "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
- "version" : "2"
- },
- "name" : "XML-Parser",
- "no_index" : {
- "directory" : [
- "t",
- "inc"
- ]
- },
- "prereqs" : {
- "build" : {
- "requires" : {
- "ExtUtils::MakeMaker" : 0
- }
- },
- "configure" : {
- "requires" : {
- "ExtUtils::MakeMaker" : 0
- }
- },
- "runtime" : {
- "requires" : {
- "LWP" : 0,
- "perl" : "5.00405"
- }
- }
- },
- "release_status" : "stable",
- "resources" : {
- "repository" : {
- "url" : "http://github.com/chorny/XML-Parser"
- }
- },
- "version" : "2.41"
- },
- "name" : "XML::Parser",
- "pathname" : "T/TO/TODDR/XML-Parser-2.41.tar.gz",
- "provides" : {
- "XML::Parser" : {
- "file" : "XML/Parser.pm",
- "version" : "2.41"
- },
- "XML::Parser::Expat" : {
- "file" : "XML/Parser/Expat.pm",
- "version" : "2.41"
- },
- "XML::Parser::Style::Debug" : {
- "file" : "XML/Parser/Style/Debug.pm"
- },
- "XML::Parser::Style::Objects" : {
- "file" : "XML/Parser/Style/Objects.pm"
- },
- "XML::Parser::Style::Stream" : {
- "file" : "XML/Parser/Style/Stream.pm"
- },
- "XML::Parser::Style::Subs" : {
- "file" : "XML/Parser/Style/Subs.pm"
- },
- "XML::Parser::Style::Tree" : {
- "file" : "XML/Parser/Style/Tree.pm"
- }
- },
- "version" : "2.41"
- },
- "XML::RSS" : {
- "dist" : "XML-RSS-1.49",
- "module" : "XML::RSS",
- "mymeta" : {
- "abstract" : "creates and updates RSS files",
- "author" : [
- "Shlomi Fish <shlomif@cpan.org>"
- ],
- "dynamic_config" : 0,
- "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112150",
- "keywords" : [
- "feed",
- "feeds",
- "generate",
- "generating",
- "parse",
- "parsing",
- "rss",
- "RSS",
- "web-feed",
- "web-feeds",
- "xml"
- ],
- "license" : [
- "perl_5"
- ],
- "meta-spec" : {
- "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
- "version" : "2"
- },
- "name" : "XML-RSS",
- "prereqs" : {
- "build" : {
- "requires" : {
- "Test::Manifest" : "0.9",
- "Test::More" : 0
- }
- },
- "configure" : {
- "requires" : {
- "Module::Build" : "0.36"
- }
- },
- "runtime" : {
- "requires" : {
- "DateTime" : 0,
- "DateTime::Format::Mail" : 0,
- "DateTime::Format::W3CDTF" : 0,
- "HTML::Entities" : 0,
- "XML::Parser" : "2.23",
- "perl" : "5.008"
- }
- }
- },
- "provides" : {
- "XML::RSS" : {
- "file" : "lib/XML/RSS.pm",
- "version" : "1.49"
- },
- "XML::RSS::Private::Output::Base" : {
- "file" : "lib/XML/RSS/Private/Output/Base.pm",
- "version" : 0
- },
- "XML::RSS::Private::Output::Roles::ImageDims" : {
- "file" : "lib/XML/RSS/Private/Output/Roles/ImageDims.pm",
- "version" : 0
- },
- "XML::RSS::Private::Output::Roles::ModulesElems" : {
- "file" : "lib/XML/RSS/Private/Output/Roles/ModulesElems.pm",
- "version" : 0
- },
- "XML::RSS::Private::Output::V0_9" : {
- "file" : "lib/XML/RSS/Private/Output/V0_9.pm",
- "version" : 0
- },
- "XML::RSS::Private::Output::V0_91" : {
- "file" : "lib/XML/RSS/Private/Output/V0_91.pm",
- "version" : 0
- },
- "XML::RSS::Private::Output::V1_0" : {
- "file" : "lib/XML/RSS/Private/Output/V1_0.pm",
- "version" : 0
- },
- "XML::RSS::Private::Output::V2_0" : {
- "file" : "lib/XML/RSS/Private/Output/V2_0.pm",
- "version" : 0
- }
- },
- "release_status" : "stable",
- "resources" : {
- "homepage" : "http://perl-rss.sourceforge.net/",
- "license" : [
- "http://dev.perl.org/licenses/"
- ],
- "repository" : {
- "url" : "https://svn.perl.org/modules/XML-RSS/trunk"
- }
- },
- "version" : "1.49"
- },
- "name" : "XML::RSS",
- "pathname" : "S/SH/SHLOMIF/XML-RSS-1.49.tar.gz",
- "provides" : {
- "XML::RSS" : {
- "file" : "XML/RSS.pm",
- "version" : "1.49"
- },
- "XML::RSS::Private::Output::Base" : {
- "file" : "XML/RSS/Private/Output/Base.pm"
- },
- "XML::RSS::Private::Output::Roles::ImageDims" : {
- "file" : "XML/RSS/Private/Output/Roles/ImageDims.pm"
- },
- "XML::RSS::Private::Output::Roles::ModulesElems" : {
- "file" : "XML/RSS/Private/Output/Roles/ModulesElems.pm"
- },
- "XML::RSS::Private::Output::V0_9" : {
- "file" : "XML/RSS/Private/Output/V0_9.pm"
- },
- "XML::RSS::Private::Output::V0_91" : {
- "file" : "XML/RSS/Private/Output/V0_91.pm"
- },
- "XML::RSS::Private::Output::V1_0" : {
- "file" : "XML/RSS/Private/Output/V1_0.pm"
- },
- "XML::RSS::Private::Output::V2_0" : {
- "file" : "XML/RSS/Private/Output/V2_0.pm"
- }
- },
- "version" : "1.49"
- },
"XML::SAX" : {
"dist" : "XML-SAX-0.99",
"module" : "XML::SAX",
@@ -27051,6 +29044,130 @@
},
"version" : "0.30"
},
+ "carton" : {
+ "dist" : "carton-v0.9.3",
+ "module" : "Carton",
+ "mymeta" : {
+ "abstract" : "unknown",
+ "author" : [
+ "Tatsuhiko Miyagawa"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "Module::Install version 1.03, CPAN::Meta::Converter version 2.112150",
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "carton",
+ "no_index" : {
+ "directory" : [
+ "inc",
+ "t",
+ "xt"
+ ]
+ },
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "6.62",
+ "Test::More" : "0.88",
+ "Test::Requires" : 0,
+ "version" : "0.77"
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "6.59",
+ "version" : "0.77"
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "App::cpanminus" : "1.5",
+ "CPAN::Meta" : "2.112",
+ "Exception::Class" : "1.32",
+ "ExtUtils::MakeMaker" : "6.59",
+ "JSON" : "2.53",
+ "Module::Build" : "0.38",
+ "Module::Metadata" : "1.000003",
+ "Term::ANSIColor" : "1.12",
+ "Try::Tiny" : "0.09",
+ "local::lib" : "1.008",
+ "parent" : "0.223",
+ "perl" : "5.008001"
+ }
+ }
+ },
+ "provides" : {
+ "Carton" : {
+ "file" : "lib/Carton.pm",
+ "version" : "v0.9.3"
+ },
+ "Carton::CLI" : {
+ "file" : "lib/Carton/CLI.pm",
+ "version" : 0
+ },
+ "Carton::Error" : {
+ "file" : "lib/Carton/Error.pm",
+ "version" : 0
+ },
+ "Carton::Tree" : {
+ "file" : "lib/Carton/Tree.pm",
+ "version" : 0
+ },
+ "Carton::TreeNode" : {
+ "file" : "lib/Carton/Tree.pm",
+ "version" : 0
+ },
+ "Carton::Util" : {
+ "file" : "lib/Carton/Util.pm",
+ "version" : 0
+ }
+ },
+ "release_status" : "stable",
+ "resources" : {
+ "bugtracker" : {
+ "web" : "https://github.com/miyagawa/carton/issues"
+ },
+ "homepage" : "https://github.com/miyagawa/carton",
+ "license" : [
+ "http://dev.perl.org/licenses/"
+ ],
+ "repository" : {
+ "type" : "git",
+ "url" : "git://github.com/miyagawa/carton.git"
+ }
+ },
+ "version" : "v0.9.3"
+ },
+ "name" : "carton",
+ "pathname" : "M/MI/MIYAGAWA/carton-v0.9.3.tar.gz",
+ "provides" : {
+ "Carton" : {
+ "file" : "Carton.pm",
+ "version" : "v0.9.3"
+ },
+ "Carton::CLI" : {
+ "file" : "Carton/CLI.pm"
+ },
+ "Carton::Error" : {
+ "file" : "Carton/Error.pm"
+ },
+ "Carton::Tree" : {
+ "file" : "Carton/Tree.pm"
+ },
+ "Carton::TreeNode" : {
+ "file" : "Carton/Tree.pm"
+ },
+ "Carton::Util" : {
+ "file" : "Carton/Util.pm"
+ }
+ },
+ "version" : "v0.9.3"
+ },
"local::lib" : {
"dist" : "local-lib-1.008004",
"module" : "local::lib",
diff --git a/commonlib b/commonlib
-Subproject 4c2e8e4d8b27aa043d5aa120622a659b56f494d
+Subproject f81ec03692fac90792fc102f88f0afbf3d2f73b
diff --git a/conf/crontab.ugly b/conf/crontab.ugly
index 2d4467aab..1a4e82cee 100644
--- a/conf/crontab.ugly
+++ b/conf/crontab.ugly
@@ -7,7 +7,11 @@
# $Id: crontab.ugly,v 1.23 2010-01-07 10:32:24 louise Exp $
PATH=/usr/local/bin:/usr/bin:/bin
+!!(* if ($vhost eq 'www.fixmystreet.com' || $vhost eq 'reportemptyhomes.com') { *)!!
MAILTO=cron-!!(*= $site *)!!@mysociety.org
+!!(* } else { *)!!
+MAILTO=!!(*= $user *)!!@mysociety.org
+!!(* } *)!!
# On only one server
!!(* if ($vhost eq 'reportemptyhomes.com') { *)!!
@@ -18,7 +22,7 @@ MAILTO=cron-!!(*= $site *)!!@mysociety.org
#2 * * * * !!(*= $user *)!! run-with-lockfile -n /data/vhost/!!(*= $vhost *)!!/send-alerts.lock "/data/vhost/!!(*= $vhost *)!!/fixmystreet/bin/cron-wrapper send-alerts" || echo "stalled?"
0,30 * * * * !!(*= $user *)!! run-with-lockfile -n /data/vhost/!!(*= $vhost *)!!/send-questionnaires.lock "/data/vhost/!!(*= $vhost *)!!/fixmystreet/bin/cron-wrapper send-questionnaires" || echo "stalled?"
-!!(* } elsif (($vhost eq 'www.fixmystreet.com') || ($vhost eq 'matthew.fixmystreet.com')) { *)!!
+!!(* } elsif (($vhost eq 'www.fixmystreet.com') || ($vhost eq 'matthew.fixmystreet.com') || ($vhost eq 'integration-staging.fixmystreet.com')) { *)!!
5,10,15,20,25,30,35,40,45,50,55 * * * * !!(*= $user *)!! run-with-lockfile -n /data/vhost/!!(*= $vhost *)!!/send-reports.lock "/data/vhost/!!(*= $vhost *)!!/fixmystreet/bin/cron-wrapper send-reports" || echo "stalled?"
0 0-8,10,11,13,14,16,17,19-23 * * * !!(*= $user *)!! run-with-lockfile -n /data/vhost/!!(*= $vhost *)!!/send-reports.lock "/data/vhost/!!(*= $vhost *)!!/fixmystreet/bin/cron-wrapper send-reports" || echo "stalled?"
0 9,12,15,18 * * * !!(*= $user *)!! run-with-lockfile -n /data/vhost/!!(*= $vhost *)!!/send-reports.lock "/data/vhost/!!(*= $vhost *)!!/fixmystreet/bin/cron-wrapper send-reports --verbose" || echo "stalled?"
diff --git a/conf/general.yml-example b/conf/general.yml-example
index 06af11a55..ec77e6ba8 100644
--- a/conf/general.yml-example
+++ b/conf/general.yml-example
@@ -61,3 +61,5 @@ RSS_LIMIT: '20'
# Should problem reports link to the council summary pages?
AREA_LINKS_FROM_PROBLEMS: '0'
+
+
diff --git a/conf/httpd.conf-example b/conf/httpd.conf-example
index c1b6d96c2..e7900161e 100644
--- a/conf/httpd.conf-example
+++ b/conf/httpd.conf-example
@@ -67,6 +67,7 @@ ExpiresByType text/css "access plus 10 years"
ExpiresByType application/javascript "access plus 10 years"
<Location /js/>
AddOutputFilter DEFLATE js
+ Header append Cache-Control "no-transform"
</Location>
# Don't want jslib being passed to Catalyst
diff --git a/conf/packages b/conf/packages
index 0f0c48df2..b5287718b 100644..120000
--- a/conf/packages
+++ b/conf/packages
@@ -1,38 +1 @@
-jhead
-libdatetime-format-w3cdtf-perl
-libcache-memcached-perl
-libdbd-pg-perl
-libdbi-perl
-libdigest-sha1-perl
-liberror-perl
-libfcgi-perl
-libfile-slurp-perl
-libgeography-nationalgrid-perl
-libhtml-parser-perl
-libio-string-perl
-liblingua-en-inflect-perl
-liblocale-gettext-perl
-libsoap-lite-perl
-libstatistics-distributions-perl
-liburi-perl
-libwww-perl
-libxml-rss-perl
-memcached
-perl
-perl-base
-perl-modules
-perlmagick
-libjson-perl
-libimage-size-perl
-libmath-bigint-gmp-perl
-gettext
-libtest-exception-perl
-libipc-run3-perl
-libyaml-perl
-liblist-moreutils-perl
-ruby-compass | libhaml-ruby
-libtemplate-perl
-postgresql-8.4
-postgresql-server-dev-8.4
-gnuplot
-ttf-bitstream-vera
+packages.debian-squeeze+testing \ No newline at end of file
diff --git a/conf/packages.debian-squeeze b/conf/packages.debian-squeeze
new file mode 100644
index 000000000..cb494157d
--- /dev/null
+++ b/conf/packages.debian-squeeze
@@ -0,0 +1,38 @@
+jhead
+libdatetime-format-w3cdtf-perl
+libcache-memcached-perl
+libdbd-pg-perl
+libdbi-perl
+libdigest-sha1-perl
+liberror-perl
+libfcgi-perl
+libfile-slurp-perl
+libgeography-nationalgrid-perl
+libhtml-parser-perl
+libio-string-perl
+liblingua-en-inflect-perl
+liblocale-gettext-perl
+libsoap-lite-perl
+libstatistics-distributions-perl
+liburi-perl
+libwww-perl
+libxml-rss-perl
+memcached
+perl
+perl-base
+perl-modules
+perlmagick
+libjson-perl
+libimage-size-perl
+libmath-bigint-gmp-perl
+gettext
+libtest-exception-perl
+libipc-run3-perl
+libyaml-perl
+liblist-moreutils-perl
+libhaml-ruby
+libtemplate-perl
+postgresql-8.4
+postgresql-server-dev-8.4
+gnuplot
+ttf-bitstream-vera
diff --git a/conf/packages.debian-squeeze+testing b/conf/packages.debian-squeeze+testing
new file mode 100644
index 000000000..cec3a2624
--- /dev/null
+++ b/conf/packages.debian-squeeze+testing
@@ -0,0 +1,38 @@
+jhead
+libdatetime-format-w3cdtf-perl
+libcache-memcached-perl
+libdbd-pg-perl
+libdbi-perl
+libdigest-sha1-perl
+liberror-perl
+libfcgi-perl
+libfile-slurp-perl
+libgeography-nationalgrid-perl
+libhtml-parser-perl
+libio-string-perl
+liblingua-en-inflect-perl
+liblocale-gettext-perl
+libsoap-lite-perl
+libstatistics-distributions-perl
+liburi-perl
+libwww-perl
+libxml-rss-perl
+memcached
+perl
+perl-base
+perl-modules
+perlmagick
+libjson-perl
+libimage-size-perl
+libmath-bigint-gmp-perl
+gettext
+libtest-exception-perl
+libipc-run3-perl
+libyaml-perl
+liblist-moreutils-perl
+ruby-compass
+libtemplate-perl
+postgresql-8.4
+postgresql-server-dev-8.4
+gnuplot
+ttf-bitstream-vera
diff --git a/db/schema.sql b/db/schema.sql
index 395d1c07b..e1205099d 100644
--- a/db/schema.sql
+++ b/db/schema.sql
@@ -189,7 +189,15 @@ create table problem (
send_questionnaire boolean not null default 't',
extra text, -- extra fields required for open311
flagged boolean not null default 'f',
- geocode bytea
+ geocode bytea,
+
+ -- logging sending failures (used by webservices)
+ send_fail_count integer not null default 0,
+ send_fail_reason text,
+ send_fail_timestamp timestamp,
+
+ -- record send_method used, which can be used to infer usefulness of external_id
+ send_method_used text
);
create index problem_state_latitude_longitude_idx on problem(state, latitude, longitude);
create index problem_user_id_idx on problem ( user_id );
@@ -419,5 +427,6 @@ create table open311conf (
area_id integer not null unique,
endpoint text not null,
jurisdiction text,
- api_key text
+ api_key text,
+ send_method text
);
diff --git a/db/schema_0013-add_send_method_column_to_open311conf.sql b/db/schema_0013-add_send_method_column_to_open311conf.sql
new file mode 100644
index 000000000..516fdd698
--- /dev/null
+++ b/db/schema_0013-add_send_method_column_to_open311conf.sql
@@ -0,0 +1,7 @@
+
+begin;
+
+ALTER table open311conf
+ ADD column send_method TEXT;
+
+commit;
diff --git a/db/schema_0014-add_send_fail_columns_to_problem.sql b/db/schema_0014-add_send_fail_columns_to_problem.sql
new file mode 100644
index 000000000..369c4118d
--- /dev/null
+++ b/db/schema_0014-add_send_fail_columns_to_problem.sql
@@ -0,0 +1,10 @@
+begin;
+
+ALTER table problem
+ ADD column send_fail_count integer not null default 0;
+ALTER table problem
+ ADD column send_fail_reason text;
+ALTER table problem
+ ADD column send_fail_timestamp timestamp;
+
+commit;
diff --git a/db/schema_0015-add_send_method_used_column_to_problem.sql b/db/schema_0015-add_send_method_used_column_to_problem.sql
new file mode 100644
index 000000000..0c6e0851d
--- /dev/null
+++ b/db/schema_0015-add_send_method_used_column_to_problem.sql
@@ -0,0 +1,6 @@
+begin;
+
+ALTER table problem
+ ADD column send_method_used text;
+
+commit;
diff --git a/notes/INSTALL.pod b/notes/INSTALL.pod
index ea549bd7e..701112b45 100644
--- a/notes/INSTALL.pod
+++ b/notes/INSTALL.pod
@@ -13,6 +13,11 @@ following command from inside the fixmystreet directory:
git submodule update --init
+If you're using git version 1.6.5 or later, you can do those steps in
+one go with:
+
+ git clone --recursive https://github.com/mysociety/fixmystreet.git
+
=head1 REQUIREMENTS
On the server you are installing FixMyStreet on you will need the following things:
@@ -50,17 +55,24 @@ to CSS convertor. You can get one from L<http://sass-lang.com/>
If you're expecting a lot of traffic it's recommended that you install memcached: L<http://memcached.org/>
-If you're using a Debian based Linux distribution then the packages to install
-some required dependencies (though not all the required Perl modules) are
-listed in C<conf/packages>. To install all of them you can run:
+If you're using Debian 6.0 ("squeeze") then the packages to install
+some required dependencies (though not all the required Perl modules)
+are listed in C<conf/packages.debian-squeeze>. To install all of them
+you can run:
- xargs -a conf/packages apt-get install
+ sudo xargs -a conf/packages.debian-squeeze apt-get install
-Note, you will need to either be logged in as root or to use
+A similar list of packages should work for other Debian-based
+distributions. (Please let us know if you would like to contribute
+such a package list or instructions for other distributions.)
- sudo xargs -a conf/packages apt-get install
+To generate the CSS for the current design of FixMyStreet you will
+also need Compass L<http://compass-style.org/>, but unfortunately
+it is not packaged in Debian squeeze (or squeeze-backports). You
+will either need to install the package from testing, or you could
+install it from the Ruby gem with:
-for this to work.
+ gem install compass
=head2 Service dependencies
@@ -81,22 +93,70 @@ geolocation services.
=head1 DETAILED INSTALLATION INSTRUCTIONS
-=head2 Unpacking the Code
-
-Once you've downloaded the code you should unpack it. The best place to do this
-is in the location you want the web server vhost to be.
-
=head2 Creating the database
-The default settings file assumes the database is called fms and the user the same.
+The default settings file (C<conf/general.yml>) assumes the database is called fms and the user the same.
You can change these if you like.
+If you wish to create this new database and database user with
+password authentication, the following steps may help. First, create
+the fms user:
+
+ $ sudo -u postgres createuser fms
+ Shall the new role be a superuser? (y/n) n
+ Shall the new role be allowed to create databases? (y/n) n
+ Shall the new role be allowed to create more new roles? (y/n) n
+
+Then create the fms database:
+
+ $ sudo -u postgres createdb fms
+
+Set the password of the fms user, and change the owner of the fms database to be the fms user:
+
+ $ sudo -u postgres psql
+ postgres=# ALTER USER fms WITH PASSWORD 'somepassword'
+ ALTER ROLE
+ postgres=# ALTER DATABASE fms OWNER to fms;
+ ALTER DATABASE
+ postgres=# \q
+ $
+
+Then you need to configure PostgreSQL to allow password-based access
+to the fms database as the user fms from using Unix-domain sockets.
+Edit the file C</etc/postgresql/8.4/main/pg_hba.conf> and add as the
+first line:
+
+ local fms fms md5
+
+You will then need to restart PostgreSQL with:
+
+ $ sudo /etc/init.d/postgresql restart
+
+If you want to access the database from the command line, you can add
+the following line to C<~/.pgpass>:
+
+ localhost:*:fms:fms:somepassword
+
+Then you should be able to access the database with:
+
+ $ psql -U fms fms
+
=head2 Set up the database
-Once you've created the database you can use the sql in C<db/schema.sql> to create the required
+Before creating the database schema, you will need to install the
+PostgreSQL's SQL procedural language into the database:
+
+ createlang -U fms plpgsql fms
+
+Now you can use the sql in C<db/schema.sql> to create the required
tables, triggers and stored procedures. You will also need to run
-C<db/alert_types.sql> which
-populates the alert_types table.
+C<db/alert_types.sql> which populates the alert_types table. For
+example, you might run:
+
+ $ psql -U fms fms < db/schema.sql
+ ...
+ $ psql -U fms fms < db/alert_types.sql
+ ...
=head2 Install Perl modules
@@ -130,6 +190,21 @@ the required development tools.
=head2 Set up Webserver
+For production use of FixMyStreet, we suggest you use Apache and
+FastCGI. (See below.) For local development, however, you can use
+the Catalyst development server. First, install the Catalyst
+development tools with:
+
+ ./bin/cron-wrapper local/bin/carton install Catalyst::Devel
+
+Then the development server can be run with:
+
+ CATALYST_DEBUG=1 ./bin/cron-wrapper ./script/fixmystreet_app_server.pl -r
+
+The server will be accessible as L<http://localhost:3000/>.
+
+=head3 Setting up Apache
+
It is recommended that you run FixMyStreet using FastCGI. It should also be
possible to run it using Plack/PSGI.
diff --git a/perllib/BarnetElements/Z_CRM_SERVICE_ORDER_CREATE.pm b/perllib/BarnetElements/Z_CRM_SERVICE_ORDER_CREATE.pm
new file mode 100644
index 000000000..2c398ab1b
--- /dev/null
+++ b/perllib/BarnetElements/Z_CRM_SERVICE_ORDER_CREATE.pm
@@ -0,0 +1,248 @@
+
+package BarnetElements::Z_CRM_SERVICE_ORDER_CREATE;
+use strict;
+use warnings;
+
+{ # BLOCK to scope variables
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions' }
+
+__PACKAGE__->__set_name('Z_CRM_SERVICE_ORDER_CREATE');
+__PACKAGE__->__set_nillable();
+__PACKAGE__->__set_minOccurs();
+__PACKAGE__->__set_maxOccurs();
+__PACKAGE__->__set_ref();
+
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Element
+ SOAP::WSDL::XSD::Typelib::ComplexType
+);
+
+our $XML_ATTRIBUTE_CLASS;
+undef $XML_ATTRIBUTE_CLASS;
+
+sub __get_attr_class {
+ return $XML_ATTRIBUTE_CLASS;
+}
+
+use Class::Std::Fast::Storable constructor => 'none';
+use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
+
+Class::Std::initialize();
+
+{ # BLOCK to scope variables
+
+my %ET_RETURN_of :ATTR(:get<ET_RETURN>);
+my %IT_PROBLEM_DESC_of :ATTR(:get<IT_PROBLEM_DESC>);
+my %IV_CUST_EMAIL_of :ATTR(:get<IV_CUST_EMAIL>);
+my %IV_CUST_NAME_of :ATTR(:get<IV_CUST_NAME>);
+my %IV_KBID_of :ATTR(:get<IV_KBID>);
+my %IV_PROBLEM_ID_of :ATTR(:get<IV_PROBLEM_ID>);
+my %IV_PROBLEM_LOC_of :ATTR(:get<IV_PROBLEM_LOC>);
+my %IV_PROBLEM_SUB_of :ATTR(:get<IV_PROBLEM_SUB>);
+
+__PACKAGE__->_factory(
+ [ qw( ET_RETURN
+ IT_PROBLEM_DESC
+ IV_CUST_EMAIL
+ IV_CUST_NAME
+ IV_KBID
+ IV_PROBLEM_ID
+ IV_PROBLEM_LOC
+ IV_PROBLEM_SUB
+
+ ) ],
+ {
+ 'ET_RETURN' => \%ET_RETURN_of,
+ 'IT_PROBLEM_DESC' => \%IT_PROBLEM_DESC_of,
+ 'IV_CUST_EMAIL' => \%IV_CUST_EMAIL_of,
+ 'IV_CUST_NAME' => \%IV_CUST_NAME_of,
+ 'IV_KBID' => \%IV_KBID_of,
+ 'IV_PROBLEM_ID' => \%IV_PROBLEM_ID_of,
+ 'IV_PROBLEM_LOC' => \%IV_PROBLEM_LOC_of,
+ 'IV_PROBLEM_SUB' => \%IV_PROBLEM_SUB_of,
+ },
+ {
+ 'ET_RETURN' => 'BarnetTypes::TABLE_OF_BAPIRET2',
+ 'IT_PROBLEM_DESC' => 'BarnetTypes::TABLE_OF_CRMT_SERVICE_REQUEST_TEXT',
+ 'IV_CUST_EMAIL' => 'BarnetTypes::char241',
+ 'IV_CUST_NAME' => 'BarnetTypes::char50',
+ 'IV_KBID' => 'BarnetTypes::char50',
+ 'IV_PROBLEM_ID' => 'BarnetTypes::char35',
+ 'IV_PROBLEM_LOC' => 'BarnetTypes::BAPI_TTET_ADDRESS_COM',
+ 'IV_PROBLEM_SUB' => 'BarnetTypes::char40',
+ },
+ {
+
+ 'ET_RETURN' => 'ET_RETURN',
+ 'IT_PROBLEM_DESC' => 'IT_PROBLEM_DESC',
+ 'IV_CUST_EMAIL' => 'IV_CUST_EMAIL',
+ 'IV_CUST_NAME' => 'IV_CUST_NAME',
+ 'IV_KBID' => 'IV_KBID',
+ 'IV_PROBLEM_ID' => 'IV_PROBLEM_ID',
+ 'IV_PROBLEM_LOC' => 'IV_PROBLEM_LOC',
+ 'IV_PROBLEM_SUB' => 'IV_PROBLEM_SUB',
+ }
+);
+
+} # end BLOCK
+
+
+
+
+
+
+} # end of BLOCK
+
+
+
+1;
+
+
+=pod
+
+=head1 NAME
+
+BarnetElements::Z_CRM_SERVICE_ORDER_CREATE
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined element
+Z_CRM_SERVICE_ORDER_CREATE from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+
+
+=head1 PROPERTIES
+
+The following properties may be accessed using get_PROPERTY / set_PROPERTY
+methods:
+
+=over
+
+=item * ET_RETURN
+
+ $element->set_ET_RETURN($data);
+ $element->get_ET_RETURN();
+
+
+
+
+=item * IT_PROBLEM_DESC
+
+ $element->set_IT_PROBLEM_DESC($data);
+ $element->get_IT_PROBLEM_DESC();
+
+
+
+
+=item * IV_CUST_EMAIL
+
+ $element->set_IV_CUST_EMAIL($data);
+ $element->get_IV_CUST_EMAIL();
+
+
+
+
+=item * IV_CUST_NAME
+
+ $element->set_IV_CUST_NAME($data);
+ $element->get_IV_CUST_NAME();
+
+
+
+
+=item * IV_KBID
+
+ $element->set_IV_KBID($data);
+ $element->get_IV_KBID();
+
+
+
+
+=item * IV_PROBLEM_ID
+
+ $element->set_IV_PROBLEM_ID($data);
+ $element->get_IV_PROBLEM_ID();
+
+
+
+
+=item * IV_PROBLEM_LOC
+
+ $element->set_IV_PROBLEM_LOC($data);
+ $element->get_IV_PROBLEM_LOC();
+
+
+
+
+=item * IV_PROBLEM_SUB
+
+ $element->set_IV_PROBLEM_SUB($data);
+ $element->get_IV_PROBLEM_SUB();
+
+
+
+
+
+=back
+
+
+=head1 METHODS
+
+=head2 new
+
+ my $element = BarnetElements::Z_CRM_SERVICE_ORDER_CREATE->new($data);
+
+Constructor. The following data structure may be passed to new():
+
+ {
+ ET_RETURN => { # BarnetTypes::TABLE_OF_BAPIRET2
+ item => { # BarnetTypes::BAPIRET2
+ TYPE => $some_value, # char1
+ ID => $some_value, # char20
+ NUMBER => $some_value, # numeric3
+ MESSAGE => $some_value, # char220
+ LOG_NO => $some_value, # char20
+ LOG_MSG_NO => $some_value, # numeric6
+ MESSAGE_V1 => $some_value, # char50
+ MESSAGE_V2 => $some_value, # char50
+ MESSAGE_V3 => $some_value, # char50
+ MESSAGE_V4 => $some_value, # char50
+ PARAMETER => $some_value, # char32
+ ROW => $some_value, # int
+ FIELD => $some_value, # char30
+ SYSTEM => $some_value, # char10
+ },
+ },
+ IT_PROBLEM_DESC => { # BarnetTypes::TABLE_OF_CRMT_SERVICE_REQUEST_TEXT
+ item => { # BarnetTypes::CRMT_SERVICE_REQUEST_TEXT
+ TEXT_LINE => $some_value, # char132
+ },
+ },
+ IV_CUST_EMAIL => $some_value, # char241
+ IV_CUST_NAME => $some_value, # char50
+ IV_KBID => $some_value, # char50
+ IV_PROBLEM_ID => $some_value, # char35
+ IV_PROBLEM_LOC => { # BarnetTypes::BAPI_TTET_ADDRESS_COM
+ COUNTRY2 => $some_value, # char2
+ REGION => $some_value, # char3
+ COUNTY => $some_value, # char30
+ CITY => $some_value, # char30
+ POSTALCODE => $some_value, # char10
+ STREET => $some_value, # char30
+ STREETNUMBER => $some_value, # char5
+ GEOCODE => $some_value, # char32
+ },
+ IV_PROBLEM_SUB => $some_value, # char40
+ },
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetElements/Z_CRM_SERVICE_ORDER_CREATE/Exception.pm b/perllib/BarnetElements/Z_CRM_SERVICE_ORDER_CREATE/Exception.pm
new file mode 100644
index 000000000..ae95d3234
--- /dev/null
+++ b/perllib/BarnetElements/Z_CRM_SERVICE_ORDER_CREATE/Exception.pm
@@ -0,0 +1,64 @@
+
+package BarnetElements::Z_CRM_SERVICE_ORDER_CREATE::Exception;
+use strict;
+use warnings;
+
+{ # BLOCK to scope variables
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions' }
+
+__PACKAGE__->__set_name('Z_CRM_SERVICE_ORDER_CREATE.Exception');
+__PACKAGE__->__set_nillable();
+__PACKAGE__->__set_minOccurs();
+__PACKAGE__->__set_maxOccurs();
+__PACKAGE__->__set_ref();
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Element
+ BarnetTypes::Z_CRM_SERVICE_ORDER_CREATE::RfcException
+);
+
+}
+
+1;
+
+
+=pod
+
+=head1 NAME
+
+BarnetElements::Z_CRM_SERVICE_ORDER_CREATE::Exception
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined element
+Z_CRM_SERVICE_ORDER_CREATE.Exception from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+
+
+=head1 METHODS
+
+=head2 new
+
+ my $element = BarnetElements::Z_CRM_SERVICE_ORDER_CREATE::Exception->new($data);
+
+Constructor. The following data structure may be passed to new():
+
+ { # BarnetTypes::Z_CRM_SERVICE_ORDER_CREATE::RfcException
+ Name => $some_value, # Z_CRM_SERVICE_ORDER_CREATE.RfcExceptions
+ Text => $some_value, # string
+ Message => { # BarnetTypes::RfcException::Message
+ ID => $some_value, # string
+ Number => $some_value, # RfcException.Message.Number
+ },
+ },
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetElements/Z_CRM_SERVICE_ORDER_CREATEResponse.pm b/perllib/BarnetElements/Z_CRM_SERVICE_ORDER_CREATEResponse.pm
new file mode 100644
index 000000000..5755d0b49
--- /dev/null
+++ b/perllib/BarnetElements/Z_CRM_SERVICE_ORDER_CREATEResponse.pm
@@ -0,0 +1,183 @@
+
+package BarnetElements::Z_CRM_SERVICE_ORDER_CREATEResponse;
+use strict;
+use warnings;
+
+{ # BLOCK to scope variables
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions' }
+
+__PACKAGE__->__set_name('Z_CRM_SERVICE_ORDER_CREATEResponse');
+__PACKAGE__->__set_nillable();
+__PACKAGE__->__set_minOccurs();
+__PACKAGE__->__set_maxOccurs();
+__PACKAGE__->__set_ref();
+
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Element
+ SOAP::WSDL::XSD::Typelib::ComplexType
+);
+
+our $XML_ATTRIBUTE_CLASS;
+undef $XML_ATTRIBUTE_CLASS;
+
+sub __get_attr_class {
+ return $XML_ATTRIBUTE_CLASS;
+}
+
+use Class::Std::Fast::Storable constructor => 'none';
+use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
+
+Class::Std::initialize();
+
+{ # BLOCK to scope variables
+
+my %ET_RETURN_of :ATTR(:get<ET_RETURN>);
+my %EV_ORDER_GUID_of :ATTR(:get<EV_ORDER_GUID>);
+my %EV_ORDER_NO_of :ATTR(:get<EV_ORDER_NO>);
+my %IT_PROBLEM_DESC_of :ATTR(:get<IT_PROBLEM_DESC>);
+
+__PACKAGE__->_factory(
+ [ qw( ET_RETURN
+ EV_ORDER_GUID
+ EV_ORDER_NO
+ IT_PROBLEM_DESC
+
+ ) ],
+ {
+ 'ET_RETURN' => \%ET_RETURN_of,
+ 'EV_ORDER_GUID' => \%EV_ORDER_GUID_of,
+ 'EV_ORDER_NO' => \%EV_ORDER_NO_of,
+ 'IT_PROBLEM_DESC' => \%IT_PROBLEM_DESC_of,
+ },
+ {
+ 'ET_RETURN' => 'BarnetTypes::TABLE_OF_BAPIRET2',
+ 'EV_ORDER_GUID' => 'BarnetTypes::char32',
+ 'EV_ORDER_NO' => 'BarnetTypes::char10',
+ 'IT_PROBLEM_DESC' => 'BarnetTypes::TABLE_OF_CRMT_SERVICE_REQUEST_TEXT',
+ },
+ {
+
+ 'ET_RETURN' => 'ET_RETURN',
+ 'EV_ORDER_GUID' => 'EV_ORDER_GUID',
+ 'EV_ORDER_NO' => 'EV_ORDER_NO',
+ 'IT_PROBLEM_DESC' => 'IT_PROBLEM_DESC',
+ }
+);
+
+} # end BLOCK
+
+
+
+
+
+
+} # end of BLOCK
+
+
+
+1;
+
+
+=pod
+
+=head1 NAME
+
+BarnetElements::Z_CRM_SERVICE_ORDER_CREATEResponse
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined element
+Z_CRM_SERVICE_ORDER_CREATEResponse from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+
+
+=head1 PROPERTIES
+
+The following properties may be accessed using get_PROPERTY / set_PROPERTY
+methods:
+
+=over
+
+=item * ET_RETURN
+
+ $element->set_ET_RETURN($data);
+ $element->get_ET_RETURN();
+
+
+
+
+=item * EV_ORDER_GUID
+
+ $element->set_EV_ORDER_GUID($data);
+ $element->get_EV_ORDER_GUID();
+
+
+
+
+=item * EV_ORDER_NO
+
+ $element->set_EV_ORDER_NO($data);
+ $element->get_EV_ORDER_NO();
+
+
+
+
+=item * IT_PROBLEM_DESC
+
+ $element->set_IT_PROBLEM_DESC($data);
+ $element->get_IT_PROBLEM_DESC();
+
+
+
+
+
+=back
+
+
+=head1 METHODS
+
+=head2 new
+
+ my $element = BarnetElements::Z_CRM_SERVICE_ORDER_CREATEResponse->new($data);
+
+Constructor. The following data structure may be passed to new():
+
+ {
+ ET_RETURN => { # BarnetTypes::TABLE_OF_BAPIRET2
+ item => { # BarnetTypes::BAPIRET2
+ TYPE => $some_value, # char1
+ ID => $some_value, # char20
+ NUMBER => $some_value, # numeric3
+ MESSAGE => $some_value, # char220
+ LOG_NO => $some_value, # char20
+ LOG_MSG_NO => $some_value, # numeric6
+ MESSAGE_V1 => $some_value, # char50
+ MESSAGE_V2 => $some_value, # char50
+ MESSAGE_V3 => $some_value, # char50
+ MESSAGE_V4 => $some_value, # char50
+ PARAMETER => $some_value, # char32
+ ROW => $some_value, # int
+ FIELD => $some_value, # char30
+ SYSTEM => $some_value, # char10
+ },
+ },
+ EV_ORDER_GUID => $some_value, # char32
+ EV_ORDER_NO => $some_value, # char10
+ IT_PROBLEM_DESC => { # BarnetTypes::TABLE_OF_CRMT_SERVICE_REQUEST_TEXT
+ item => { # BarnetTypes::CRMT_SERVICE_REQUEST_TEXT
+ TEXT_LINE => $some_value, # char132
+ },
+ },
+ },
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetInterfaces/service/ZLBB_SERVICE_ORDER.pm b/perllib/BarnetInterfaces/service/ZLBB_SERVICE_ORDER.pm
new file mode 100644
index 000000000..94e0cd4db
--- /dev/null
+++ b/perllib/BarnetInterfaces/service/ZLBB_SERVICE_ORDER.pm
@@ -0,0 +1,166 @@
+package BarnetInterfaces::service::ZLBB_SERVICE_ORDER;
+use strict;
+use warnings;
+use Class::Std::Fast::Storable;
+use Scalar::Util qw(blessed);
+use base qw(SOAP::WSDL::Client::Base);
+
+# only load if it hasn't been loaded before
+require BarnetTypemaps::service
+ if not BarnetTypemaps::service->can('get_class');
+
+sub START {
+ $_[0]->set_proxy('http://lbbcrmdev.barnet.gov.uk:8000/sap/bc/srt/rfc/sap/zlbb_service_order/200/zlbb_service_order/zlbb_service_order') if not $_[2]->{proxy};
+ $_[0]->set_class_resolver('BarnetTypemaps::service')
+ if not $_[2]->{class_resolver};
+
+ $_[0]->set_prefix($_[2]->{use_prefix}) if exists $_[2]->{use_prefix};
+}
+
+sub Z_CRM_SERVICE_ORDER_CREATE {
+ my ($self, $body, $header) = @_;
+ die "Z_CRM_SERVICE_ORDER_CREATE must be called as object method (\$self is <$self>)" if not blessed($self);
+ return $self->SUPER::call({
+ operation => 'Z_CRM_SERVICE_ORDER_CREATE',
+ soap_action => '',
+ style => 'document',
+ body => {
+
+
+ 'use' => 'literal',
+ namespace => 'http://schemas.xmlsoap.org/wsdl/soap/',
+ encodingStyle => '',
+ parts => [qw( BarnetElements::Z_CRM_SERVICE_ORDER_CREATE )],
+ },
+ header => {
+
+ },
+ headerfault => {
+
+ }
+ }, $body, $header);
+}
+
+
+
+
+1;
+
+
+
+__END__
+
+=pod
+
+=head1 NAME
+
+BarnetInterfaces::service::ZLBB_SERVICE_ORDER - SOAP Interface for the service Web Service
+
+=head1 SYNOPSIS
+
+ use BarnetInterfaces::service::ZLBB_SERVICE_ORDER;
+ my $interface = BarnetInterfaces::service::ZLBB_SERVICE_ORDER->new();
+
+ my $response;
+ $response = $interface->Z_CRM_SERVICE_ORDER_CREATE();
+
+
+
+=head1 DESCRIPTION
+
+SOAP Interface for the service web service
+located at http://lbbcrmdev.barnet.gov.uk:8000/sap/bc/srt/rfc/sap/zlbb_service_order/200/zlbb_service_order/zlbb_service_order.
+
+=head1 SERVICE service
+
+
+
+=head2 Port ZLBB_SERVICE_ORDER
+
+
+
+=head1 METHODS
+
+=head2 General methods
+
+=head3 new
+
+Constructor.
+
+All arguments are forwarded to L<SOAP::WSDL::Client|SOAP::WSDL::Client>.
+
+=head2 SOAP Service methods
+
+Method synopsis is displayed with hash refs as parameters.
+
+The commented class names in the method's parameters denote that objects
+of the corresponding class can be passed instead of the marked hash ref.
+
+You may pass any combination of objects, hash and list refs to these
+methods, as long as you meet the structure.
+
+List items (i.e. multiple occurences) are not displayed in the synopsis.
+You may generally pass a list ref of hash refs (or objects) instead of a hash
+ref - this may result in invalid XML if used improperly, though. Note that
+SOAP::WSDL always expects list references at maximum depth position.
+
+XML attributes are not displayed in this synopsis and cannot be set using
+hash refs. See the respective class' documentation for additional information.
+
+
+
+=head3 Z_CRM_SERVICE_ORDER_CREATE
+
+
+
+Returns a L<BarnetElements::Z_CRM_SERVICE_ORDER_CREATEResponse|BarnetElements::Z_CRM_SERVICE_ORDER_CREATEResponse> object.
+
+ $response = $interface->Z_CRM_SERVICE_ORDER_CREATE( {
+ ET_RETURN => { # BarnetTypes::TABLE_OF_BAPIRET2
+ item => { # BarnetTypes::BAPIRET2
+ TYPE => $some_value, # char1
+ ID => $some_value, # char20
+ NUMBER => $some_value, # numeric3
+ MESSAGE => $some_value, # char220
+ LOG_NO => $some_value, # char20
+ LOG_MSG_NO => $some_value, # numeric6
+ MESSAGE_V1 => $some_value, # char50
+ MESSAGE_V2 => $some_value, # char50
+ MESSAGE_V3 => $some_value, # char50
+ MESSAGE_V4 => $some_value, # char50
+ PARAMETER => $some_value, # char32
+ ROW => $some_value, # int
+ FIELD => $some_value, # char30
+ SYSTEM => $some_value, # char10
+ },
+ },
+ IT_PROBLEM_DESC => { # BarnetTypes::TABLE_OF_CRMT_SERVICE_REQUEST_TEXT
+ item => { # BarnetTypes::CRMT_SERVICE_REQUEST_TEXT
+ TEXT_LINE => $some_value, # char132
+ },
+ },
+ IV_CUST_EMAIL => $some_value, # char241
+ IV_CUST_NAME => $some_value, # char50
+ IV_KBID => $some_value, # char50
+ IV_PROBLEM_ID => $some_value, # char35
+ IV_PROBLEM_LOC => { # BarnetTypes::BAPI_TTET_ADDRESS_COM
+ COUNTRY2 => $some_value, # char2
+ REGION => $some_value, # char3
+ COUNTY => $some_value, # char30
+ CITY => $some_value, # char30
+ POSTALCODE => $some_value, # char10
+ STREET => $some_value, # char30
+ STREETNUMBER => $some_value, # char5
+ GEOCODE => $some_value, # char32
+ },
+ IV_PROBLEM_SUB => $some_value, # char40
+ },,
+ );
+
+
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL on Fri Apr 8 10:23:03 2011
+
+=cut
diff --git a/perllib/BarnetTypemaps/service.pm b/perllib/BarnetTypemaps/service.pm
new file mode 100644
index 000000000..dd9f98162
--- /dev/null
+++ b/perllib/BarnetTypemaps/service.pm
@@ -0,0 +1,103 @@
+
+package BarnetTypemaps::service;
+use strict;
+use warnings;
+
+our $typemap_1 = {
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/EV_ORDER_NO' => 'BarnetTypes::char10',
+ 'Z_CRM_SERVICE_ORDER_CREATE/IV_PROBLEM_LOC/GEOCODE' => 'BarnetTypes::char32',
+ 'Fault/faultcode' => 'SOAP::WSDL::XSD::Typelib::Builtin::anyURI',
+ 'Z_CRM_SERVICE_ORDER_CREATE/IV_PROBLEM_LOC/COUNTRY2' => 'BarnetTypes::char2',
+ 'Z_CRM_SERVICE_ORDER_CREATE/ET_RETURN/item/NUMBER' => 'BarnetTypes::numeric3',
+ 'Z_CRM_SERVICE_ORDER_CREATE/IT_PROBLEM_DESC/item' => 'BarnetTypes::CRMT_SERVICE_REQUEST_TEXT',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/ET_RETURN/item/MESSAGE_V1' => 'BarnetTypes::char50',
+ 'Z_CRM_SERVICE_ORDER_CREATE/IV_PROBLEM_LOC/POSTALCODE' => 'BarnetTypes::char10',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/ET_RETURN/item/LOG_NO' => 'BarnetTypes::char20',
+ 'Z_CRM_SERVICE_ORDER_CREATE/ET_RETURN/item/MESSAGE_V2' => 'BarnetTypes::char50',
+ 'Z_CRM_SERVICE_ORDER_CREATE/ET_RETURN/item/MESSAGE_V3' => 'BarnetTypes::char50',
+ 'Z_CRM_SERVICE_ORDER_CREATE/IV_PROBLEM_SUB' => 'BarnetTypes::char40',
+ 'Z_CRM_SERVICE_ORDER_CREATE/IT_PROBLEM_DESC/item/TEXT_LINE' => 'BarnetTypes::char132',
+ 'Z_CRM_SERVICE_ORDER_CREATE/ET_RETURN/item/LOG_NO' => 'BarnetTypes::char20',
+ 'Z_CRM_SERVICE_ORDER_CREATE/ET_RETURN' => 'BarnetTypes::TABLE_OF_BAPIRET2',
+ 'Z_CRM_SERVICE_ORDER_CREATE/ET_RETURN/item/ROW' => 'SOAP::WSDL::XSD::Typelib::Builtin::int',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/IT_PROBLEM_DESC/item' => 'BarnetTypes::CRMT_SERVICE_REQUEST_TEXT',
+ 'Fault/faultstring' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
+ 'Z_CRM_SERVICE_ORDER_CREATE/ET_RETURN/item/PARAMETER' => 'BarnetTypes::char32',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/ET_RETURN/item' => 'BarnetTypes::BAPIRET2',
+ 'Z_CRM_SERVICE_ORDER_CREATE/IV_CUST_NAME' => 'BarnetTypes::char50',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/ET_RETURN/item/MESSAGE_V2' => 'BarnetTypes::char50',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/ET_RETURN/item/ROW' => 'SOAP::WSDL::XSD::Typelib::Builtin::int',
+ 'Fault/detail' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
+ 'Z_CRM_SERVICE_ORDER_CREATE.Exception/Message/ID' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/IT_PROBLEM_DESC' => 'BarnetTypes::TABLE_OF_CRMT_SERVICE_REQUEST_TEXT',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/ET_RETURN/item/NUMBER' => 'BarnetTypes::numeric3',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse' => 'BarnetElements::Z_CRM_SERVICE_ORDER_CREATEResponse',
+ 'Z_CRM_SERVICE_ORDER_CREATE.Exception/Text' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
+ 'Z_CRM_SERVICE_ORDER_CREATE/ET_RETURN/item/MESSAGE_V1' => 'BarnetTypes::char50',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/ET_RETURN/item/PARAMETER' => 'BarnetTypes::char32',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/ET_RETURN/item/MESSAGE' => 'BarnetTypes::char220',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/ET_RETURN/item/TYPE' => 'BarnetTypes::char1',
+ 'Z_CRM_SERVICE_ORDER_CREATE/ET_RETURN/item/MESSAGE' => 'BarnetTypes::char220',
+ 'Z_CRM_SERVICE_ORDER_CREATE/IV_PROBLEM_LOC' => 'BarnetTypes::BAPI_TTET_ADDRESS_COM',
+ 'Z_CRM_SERVICE_ORDER_CREATE/ET_RETURN/item/TYPE' => 'BarnetTypes::char1',
+ 'Z_CRM_SERVICE_ORDER_CREATE/IV_CUST_EMAIL' => 'BarnetTypes::char241',
+ 'Z_CRM_SERVICE_ORDER_CREATE/ET_RETURN/item/FIELD' => 'BarnetTypes::char30',
+ 'Z_CRM_SERVICE_ORDER_CREATE.Exception/Name' => 'BarnetTypes::Z_CRM_SERVICE_ORDER_CREATE::RfcExceptions',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/IT_PROBLEM_DESC/item/TEXT_LINE' => 'BarnetTypes::char132',
+ 'Z_CRM_SERVICE_ORDER_CREATE/ET_RETURN/item/ID' => 'BarnetTypes::char20',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/EV_ORDER_GUID' => 'BarnetTypes::char32',
+ 'Z_CRM_SERVICE_ORDER_CREATE/ET_RETURN/item/SYSTEM' => 'BarnetTypes::char10',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/ET_RETURN' => 'BarnetTypes::TABLE_OF_BAPIRET2',
+ 'Z_CRM_SERVICE_ORDER_CREATE/IV_PROBLEM_ID' => 'BarnetTypes::char35',
+ 'Z_CRM_SERVICE_ORDER_CREATE' => 'BarnetElements::Z_CRM_SERVICE_ORDER_CREATE',
+ 'Z_CRM_SERVICE_ORDER_CREATE/IV_PROBLEM_LOC/REGION' => 'BarnetTypes::char3',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/ET_RETURN/item/LOG_MSG_NO' => 'BarnetTypes::numeric6',
+ 'Z_CRM_SERVICE_ORDER_CREATE/ET_RETURN/item/MESSAGE_V4' => 'BarnetTypes::char50',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/ET_RETURN/item/FIELD' => 'BarnetTypes::char30',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/ET_RETURN/item/SYSTEM' => 'BarnetTypes::char10',
+ 'Z_CRM_SERVICE_ORDER_CREATE/IV_PROBLEM_LOC/COUNTY' => 'BarnetTypes::char30',
+ 'Z_CRM_SERVICE_ORDER_CREATE/ET_RETURN/item/LOG_MSG_NO' => 'BarnetTypes::numeric6',
+ 'Z_CRM_SERVICE_ORDER_CREATE.Exception/Message' => 'BarnetTypes::RfcException::Message',
+ 'Z_CRM_SERVICE_ORDER_CREATE/IT_PROBLEM_DESC' => 'BarnetTypes::TABLE_OF_CRMT_SERVICE_REQUEST_TEXT',
+ 'Z_CRM_SERVICE_ORDER_CREATE/ET_RETURN/item' => 'BarnetTypes::BAPIRET2',
+ 'Z_CRM_SERVICE_ORDER_CREATE/IV_PROBLEM_LOC/CITY' => 'BarnetTypes::char30',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/ET_RETURN/item/MESSAGE_V4' => 'BarnetTypes::char50',
+ 'Z_CRM_SERVICE_ORDER_CREATE.Exception' => 'BarnetElements::Z_CRM_SERVICE_ORDER_CREATE::Exception',
+ 'Fault' => 'SOAP::WSDL::SOAP::Typelib::Fault11',
+ 'Z_CRM_SERVICE_ORDER_CREATE/IV_PROBLEM_LOC/STREETNUMBER' => 'BarnetTypes::char5',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/ET_RETURN/item/ID' => 'BarnetTypes::char20',
+ 'Fault/faultactor' => 'SOAP::WSDL::XSD::Typelib::Builtin::token',
+ 'Z_CRM_SERVICE_ORDER_CREATE/IV_PROBLEM_LOC/STREET' => 'BarnetTypes::char30',
+ 'Z_CRM_SERVICE_ORDER_CREATE.Exception/Message/Number' => 'BarnetTypes::RfcException::Message::Number',
+ 'Z_CRM_SERVICE_ORDER_CREATE/IV_KBID' => 'BarnetTypes::char50',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/ET_RETURN/item/MESSAGE_V3' => 'BarnetTypes::char50'
+ };
+;
+
+sub get_class {
+ my $name = join '/', @{ $_[1] };
+ return $typemap_1->{ $name };
+}
+
+sub get_typemap {
+ return $typemap_1;
+}
+
+1;
+
+__END__
+
+__END__
+
+=pod
+
+=head1 NAME
+
+BarnetTypemaps::service - typemap for service
+
+=head1 DESCRIPTION
+
+Typemap created by SOAP::WSDL for map-based SOAP message parsers.
+
+=cut
+
diff --git a/perllib/BarnetTypes/BAPIRET2.pm b/perllib/BarnetTypes/BAPIRET2.pm
new file mode 100644
index 000000000..2ca20894c
--- /dev/null
+++ b/perllib/BarnetTypes/BAPIRET2.pm
@@ -0,0 +1,219 @@
+package BarnetTypes::BAPIRET2;
+use strict;
+use warnings;
+
+
+__PACKAGE__->_set_element_form_qualified(0);
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions' };
+
+our $XML_ATTRIBUTE_CLASS;
+undef $XML_ATTRIBUTE_CLASS;
+
+sub __get_attr_class {
+ return $XML_ATTRIBUTE_CLASS;
+}
+
+use Class::Std::Fast::Storable constructor => 'none';
+use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
+
+Class::Std::initialize();
+
+{ # BLOCK to scope variables
+
+my %TYPE_of :ATTR(:get<TYPE>);
+my %ID_of :ATTR(:get<ID>);
+my %NUMBER_of :ATTR(:get<NUMBER>);
+my %MESSAGE_of :ATTR(:get<MESSAGE>);
+my %LOG_NO_of :ATTR(:get<LOG_NO>);
+my %LOG_MSG_NO_of :ATTR(:get<LOG_MSG_NO>);
+my %MESSAGE_V1_of :ATTR(:get<MESSAGE_V1>);
+my %MESSAGE_V2_of :ATTR(:get<MESSAGE_V2>);
+my %MESSAGE_V3_of :ATTR(:get<MESSAGE_V3>);
+my %MESSAGE_V4_of :ATTR(:get<MESSAGE_V4>);
+my %PARAMETER_of :ATTR(:get<PARAMETER>);
+my %ROW_of :ATTR(:get<ROW>);
+my %FIELD_of :ATTR(:get<FIELD>);
+my %SYSTEM_of :ATTR(:get<SYSTEM>);
+
+__PACKAGE__->_factory(
+ [ qw( TYPE
+ ID
+ NUMBER
+ MESSAGE
+ LOG_NO
+ LOG_MSG_NO
+ MESSAGE_V1
+ MESSAGE_V2
+ MESSAGE_V3
+ MESSAGE_V4
+ PARAMETER
+ ROW
+ FIELD
+ SYSTEM
+
+ ) ],
+ {
+ 'TYPE' => \%TYPE_of,
+ 'ID' => \%ID_of,
+ 'NUMBER' => \%NUMBER_of,
+ 'MESSAGE' => \%MESSAGE_of,
+ 'LOG_NO' => \%LOG_NO_of,
+ 'LOG_MSG_NO' => \%LOG_MSG_NO_of,
+ 'MESSAGE_V1' => \%MESSAGE_V1_of,
+ 'MESSAGE_V2' => \%MESSAGE_V2_of,
+ 'MESSAGE_V3' => \%MESSAGE_V3_of,
+ 'MESSAGE_V4' => \%MESSAGE_V4_of,
+ 'PARAMETER' => \%PARAMETER_of,
+ 'ROW' => \%ROW_of,
+ 'FIELD' => \%FIELD_of,
+ 'SYSTEM' => \%SYSTEM_of,
+ },
+ {
+ 'TYPE' => 'BarnetTypes::char1',
+ 'ID' => 'BarnetTypes::char20',
+ 'NUMBER' => 'BarnetTypes::numeric3',
+ 'MESSAGE' => 'BarnetTypes::char220',
+ 'LOG_NO' => 'BarnetTypes::char20',
+ 'LOG_MSG_NO' => 'BarnetTypes::numeric6',
+ 'MESSAGE_V1' => 'BarnetTypes::char50',
+ 'MESSAGE_V2' => 'BarnetTypes::char50',
+ 'MESSAGE_V3' => 'BarnetTypes::char50',
+ 'MESSAGE_V4' => 'BarnetTypes::char50',
+ 'PARAMETER' => 'BarnetTypes::char32',
+ 'ROW' => 'SOAP::WSDL::XSD::Typelib::Builtin::int',
+ 'FIELD' => 'BarnetTypes::char30',
+ 'SYSTEM' => 'BarnetTypes::char10',
+ },
+ {
+
+ 'TYPE' => 'TYPE',
+ 'ID' => 'ID',
+ 'NUMBER' => 'NUMBER',
+ 'MESSAGE' => 'MESSAGE',
+ 'LOG_NO' => 'LOG_NO',
+ 'LOG_MSG_NO' => 'LOG_MSG_NO',
+ 'MESSAGE_V1' => 'MESSAGE_V1',
+ 'MESSAGE_V2' => 'MESSAGE_V2',
+ 'MESSAGE_V3' => 'MESSAGE_V3',
+ 'MESSAGE_V4' => 'MESSAGE_V4',
+ 'PARAMETER' => 'PARAMETER',
+ 'ROW' => 'ROW',
+ 'FIELD' => 'FIELD',
+ 'SYSTEM' => 'SYSTEM',
+ }
+);
+
+} # end BLOCK
+
+
+
+
+
+
+
+1;
+
+
+=pod
+
+=head1 NAME
+
+BarnetTypes::BAPIRET2
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined complexType
+BAPIRET2 from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+
+=head2 PROPERTIES
+
+The following properties may be accessed using get_PROPERTY / set_PROPERTY
+methods:
+
+=over
+
+=item * TYPE
+
+
+=item * ID
+
+
+=item * NUMBER
+
+
+=item * MESSAGE
+
+
+=item * LOG_NO
+
+
+=item * LOG_MSG_NO
+
+
+=item * MESSAGE_V1
+
+
+=item * MESSAGE_V2
+
+
+=item * MESSAGE_V3
+
+
+=item * MESSAGE_V4
+
+
+=item * PARAMETER
+
+
+=item * ROW
+
+
+=item * FIELD
+
+
+=item * SYSTEM
+
+
+
+
+=back
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor. The following data structure may be passed to new():
+
+ { # BarnetTypes::BAPIRET2
+ TYPE => $some_value, # char1
+ ID => $some_value, # char20
+ NUMBER => $some_value, # numeric3
+ MESSAGE => $some_value, # char220
+ LOG_NO => $some_value, # char20
+ LOG_MSG_NO => $some_value, # numeric6
+ MESSAGE_V1 => $some_value, # char50
+ MESSAGE_V2 => $some_value, # char50
+ MESSAGE_V3 => $some_value, # char50
+ MESSAGE_V4 => $some_value, # char50
+ PARAMETER => $some_value, # char32
+ ROW => $some_value, # int
+ FIELD => $some_value, # char30
+ SYSTEM => $some_value, # char10
+ },
+
+
+
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/BAPI_TTET_ADDRESS_COM.pm b/perllib/BarnetTypes/BAPI_TTET_ADDRESS_COM.pm
new file mode 100644
index 000000000..b4a8b00ca
--- /dev/null
+++ b/perllib/BarnetTypes/BAPI_TTET_ADDRESS_COM.pm
@@ -0,0 +1,165 @@
+package BarnetTypes::BAPI_TTET_ADDRESS_COM;
+use strict;
+use warnings;
+
+
+__PACKAGE__->_set_element_form_qualified(0);
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions' };
+
+our $XML_ATTRIBUTE_CLASS;
+undef $XML_ATTRIBUTE_CLASS;
+
+sub __get_attr_class {
+ return $XML_ATTRIBUTE_CLASS;
+}
+
+use Class::Std::Fast::Storable constructor => 'none';
+use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
+
+Class::Std::initialize();
+
+{ # BLOCK to scope variables
+
+my %COUNTRY2_of :ATTR(:get<COUNTRY2>);
+my %REGION_of :ATTR(:get<REGION>);
+my %COUNTY_of :ATTR(:get<COUNTY>);
+my %CITY_of :ATTR(:get<CITY>);
+my %POSTALCODE_of :ATTR(:get<POSTALCODE>);
+my %STREET_of :ATTR(:get<STREET>);
+my %STREETNUMBER_of :ATTR(:get<STREETNUMBER>);
+my %GEOCODE_of :ATTR(:get<GEOCODE>);
+
+__PACKAGE__->_factory(
+ [ qw( COUNTRY2
+ REGION
+ COUNTY
+ CITY
+ POSTALCODE
+ STREET
+ STREETNUMBER
+ GEOCODE
+
+ ) ],
+ {
+ 'COUNTRY2' => \%COUNTRY2_of,
+ 'REGION' => \%REGION_of,
+ 'COUNTY' => \%COUNTY_of,
+ 'CITY' => \%CITY_of,
+ 'POSTALCODE' => \%POSTALCODE_of,
+ 'STREET' => \%STREET_of,
+ 'STREETNUMBER' => \%STREETNUMBER_of,
+ 'GEOCODE' => \%GEOCODE_of,
+ },
+ {
+ 'COUNTRY2' => 'BarnetTypes::char2',
+ 'REGION' => 'BarnetTypes::char3',
+ 'COUNTY' => 'BarnetTypes::char30',
+ 'CITY' => 'BarnetTypes::char30',
+ 'POSTALCODE' => 'BarnetTypes::char10',
+ 'STREET' => 'BarnetTypes::char30',
+ 'STREETNUMBER' => 'BarnetTypes::char5',
+ 'GEOCODE' => 'BarnetTypes::char32',
+ },
+ {
+
+ 'COUNTRY2' => 'COUNTRY2',
+ 'REGION' => 'REGION',
+ 'COUNTY' => 'COUNTY',
+ 'CITY' => 'CITY',
+ 'POSTALCODE' => 'POSTALCODE',
+ 'STREET' => 'STREET',
+ 'STREETNUMBER' => 'STREETNUMBER',
+ 'GEOCODE' => 'GEOCODE',
+ }
+);
+
+} # end BLOCK
+
+
+
+
+
+
+
+1;
+
+
+=pod
+
+=head1 NAME
+
+BarnetTypes::BAPI_TTET_ADDRESS_COM
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined complexType
+BAPI_TTET_ADDRESS_COM from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+
+=head2 PROPERTIES
+
+The following properties may be accessed using get_PROPERTY / set_PROPERTY
+methods:
+
+=over
+
+=item * COUNTRY2
+
+
+=item * REGION
+
+
+=item * COUNTY
+
+
+=item * CITY
+
+
+=item * POSTALCODE
+
+
+=item * STREET
+
+
+=item * STREETNUMBER
+
+
+=item * GEOCODE
+
+
+
+
+=back
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor. The following data structure may be passed to new():
+
+ { # BarnetTypes::BAPI_TTET_ADDRESS_COM
+ COUNTRY2 => $some_value, # char2
+ REGION => $some_value, # char3
+ COUNTY => $some_value, # char30
+ CITY => $some_value, # char30
+ POSTALCODE => $some_value, # char10
+ STREET => $some_value, # char30
+ STREETNUMBER => $some_value, # char5
+ GEOCODE => $some_value, # char32
+ },
+
+
+
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/CRMT_SERVICE_REQUEST_TEXT.pm b/perllib/BarnetTypes/CRMT_SERVICE_REQUEST_TEXT.pm
new file mode 100644
index 000000000..39e2ad1ce
--- /dev/null
+++ b/perllib/BarnetTypes/CRMT_SERVICE_REQUEST_TEXT.pm
@@ -0,0 +1,102 @@
+package BarnetTypes::CRMT_SERVICE_REQUEST_TEXT;
+use strict;
+use warnings;
+
+
+__PACKAGE__->_set_element_form_qualified(0);
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions' };
+
+our $XML_ATTRIBUTE_CLASS;
+undef $XML_ATTRIBUTE_CLASS;
+
+sub __get_attr_class {
+ return $XML_ATTRIBUTE_CLASS;
+}
+
+use Class::Std::Fast::Storable constructor => 'none';
+use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
+
+Class::Std::initialize();
+
+{ # BLOCK to scope variables
+
+my %TEXT_LINE_of :ATTR(:get<TEXT_LINE>);
+
+__PACKAGE__->_factory(
+ [ qw( TEXT_LINE
+
+ ) ],
+ {
+ 'TEXT_LINE' => \%TEXT_LINE_of,
+ },
+ {
+ 'TEXT_LINE' => 'BarnetTypes::char132',
+ },
+ {
+
+ 'TEXT_LINE' => 'TEXT_LINE',
+ }
+);
+
+} # end BLOCK
+
+
+
+
+
+
+
+1;
+
+
+=pod
+
+=head1 NAME
+
+BarnetTypes::CRMT_SERVICE_REQUEST_TEXT
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined complexType
+CRMT_SERVICE_REQUEST_TEXT from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+
+=head2 PROPERTIES
+
+The following properties may be accessed using get_PROPERTY / set_PROPERTY
+methods:
+
+=over
+
+=item * TEXT_LINE
+
+
+
+
+=back
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor. The following data structure may be passed to new():
+
+ { # BarnetTypes::CRMT_SERVICE_REQUEST_TEXT
+ TEXT_LINE => $some_value, # char132
+ },
+
+
+
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/RfcException/Message.pm b/perllib/BarnetTypes/RfcException/Message.pm
new file mode 100644
index 000000000..71b94bf7c
--- /dev/null
+++ b/perllib/BarnetTypes/RfcException/Message.pm
@@ -0,0 +1,111 @@
+package BarnetTypes::RfcException::Message;
+use strict;
+use warnings;
+
+
+__PACKAGE__->_set_element_form_qualified(0);
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions' };
+
+our $XML_ATTRIBUTE_CLASS;
+undef $XML_ATTRIBUTE_CLASS;
+
+sub __get_attr_class {
+ return $XML_ATTRIBUTE_CLASS;
+}
+
+use Class::Std::Fast::Storable constructor => 'none';
+use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
+
+Class::Std::initialize();
+
+{ # BLOCK to scope variables
+
+my %ID_of :ATTR(:get<ID>);
+my %Number_of :ATTR(:get<Number>);
+
+__PACKAGE__->_factory(
+ [ qw( ID
+ Number
+
+ ) ],
+ {
+ 'ID' => \%ID_of,
+ 'Number' => \%Number_of,
+ },
+ {
+ 'ID' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
+ 'Number' => 'BarnetTypes::RfcException::Message::Number',
+ },
+ {
+
+ 'ID' => 'ID',
+ 'Number' => 'Number',
+ }
+);
+
+} # end BLOCK
+
+
+
+
+
+
+
+1;
+
+
+=pod
+
+=head1 NAME
+
+BarnetTypes::RfcException::Message
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined complexType
+RfcException.Message from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+
+=head2 PROPERTIES
+
+The following properties may be accessed using get_PROPERTY / set_PROPERTY
+methods:
+
+=over
+
+=item * ID
+
+
+=item * Number
+
+
+
+
+=back
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor. The following data structure may be passed to new():
+
+ { # BarnetTypes::RfcException::Message
+ ID => $some_value, # string
+ Number => $some_value, # RfcException.Message.Number
+ },
+
+
+
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/RfcException/Message/Number.pm b/perllib/BarnetTypes/RfcException/Message/Number.pm
new file mode 100644
index 000000000..9353df454
--- /dev/null
+++ b/perllib/BarnetTypes/RfcException/Message/Number.pm
@@ -0,0 +1,65 @@
+package BarnetTypes::RfcException::Message::Number;
+use strict;
+use warnings;
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions'};
+
+# derivation by restriction
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Builtin::string);
+
+
+
+1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined simpleType
+RfcException.Message.Number from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+This clase is derived from
+ SOAP::WSDL::XSD::Typelib::Builtin::string
+. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly
+like it's base type.
+
+# Description of restrictions not implemented yet.
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor.
+
+=head2 get_value / set_value
+
+Getter and setter for the simpleType's value.
+
+=head1 OVERLOADING
+
+Depending on the simple type's base type, the following operations are overloaded
+
+ Stringification
+ Numerification
+ Boolification
+
+Check L<SOAP::WSDL::XSD::Typelib::Builtin> for more information.
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/TABLE_OF_BAPIRET2.pm b/perllib/BarnetTypes/TABLE_OF_BAPIRET2.pm
new file mode 100644
index 000000000..c248bc907
--- /dev/null
+++ b/perllib/BarnetTypes/TABLE_OF_BAPIRET2.pm
@@ -0,0 +1,117 @@
+package BarnetTypes::TABLE_OF_BAPIRET2;
+use strict;
+use warnings;
+
+
+__PACKAGE__->_set_element_form_qualified(0);
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions' };
+
+our $XML_ATTRIBUTE_CLASS;
+undef $XML_ATTRIBUTE_CLASS;
+
+sub __get_attr_class {
+ return $XML_ATTRIBUTE_CLASS;
+}
+
+use Class::Std::Fast::Storable constructor => 'none';
+use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
+
+Class::Std::initialize();
+
+{ # BLOCK to scope variables
+
+my %item_of :ATTR(:get<item>);
+
+__PACKAGE__->_factory(
+ [ qw( item
+
+ ) ],
+ {
+ 'item' => \%item_of,
+ },
+ {
+ 'item' => 'BarnetTypes::BAPIRET2',
+ },
+ {
+
+ 'item' => 'item',
+ }
+);
+
+} # end BLOCK
+
+
+
+
+
+
+
+1;
+
+
+=pod
+
+=head1 NAME
+
+BarnetTypes::TABLE_OF_BAPIRET2
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined complexType
+TABLE_OF_BAPIRET2 from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+
+=head2 PROPERTIES
+
+The following properties may be accessed using get_PROPERTY / set_PROPERTY
+methods:
+
+=over
+
+=item * item
+
+
+
+
+=back
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor. The following data structure may be passed to new():
+
+ { # BarnetTypes::TABLE_OF_BAPIRET2
+ item => { # BarnetTypes::BAPIRET2
+ TYPE => $some_value, # char1
+ ID => $some_value, # char20
+ NUMBER => $some_value, # numeric3
+ MESSAGE => $some_value, # char220
+ LOG_NO => $some_value, # char20
+ LOG_MSG_NO => $some_value, # numeric6
+ MESSAGE_V1 => $some_value, # char50
+ MESSAGE_V2 => $some_value, # char50
+ MESSAGE_V3 => $some_value, # char50
+ MESSAGE_V4 => $some_value, # char50
+ PARAMETER => $some_value, # char32
+ ROW => $some_value, # int
+ FIELD => $some_value, # char30
+ SYSTEM => $some_value, # char10
+ },
+ },
+
+
+
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/TABLE_OF_CRMT_SERVICE_REQUEST_TEXT.pm b/perllib/BarnetTypes/TABLE_OF_CRMT_SERVICE_REQUEST_TEXT.pm
new file mode 100644
index 000000000..62eb7b774
--- /dev/null
+++ b/perllib/BarnetTypes/TABLE_OF_CRMT_SERVICE_REQUEST_TEXT.pm
@@ -0,0 +1,104 @@
+package BarnetTypes::TABLE_OF_CRMT_SERVICE_REQUEST_TEXT;
+use strict;
+use warnings;
+
+
+__PACKAGE__->_set_element_form_qualified(0);
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions' };
+
+our $XML_ATTRIBUTE_CLASS;
+undef $XML_ATTRIBUTE_CLASS;
+
+sub __get_attr_class {
+ return $XML_ATTRIBUTE_CLASS;
+}
+
+use Class::Std::Fast::Storable constructor => 'none';
+use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
+
+Class::Std::initialize();
+
+{ # BLOCK to scope variables
+
+my %item_of :ATTR(:get<item>);
+
+__PACKAGE__->_factory(
+ [ qw( item
+
+ ) ],
+ {
+ 'item' => \%item_of,
+ },
+ {
+ 'item' => 'BarnetTypes::CRMT_SERVICE_REQUEST_TEXT',
+ },
+ {
+
+ 'item' => 'item',
+ }
+);
+
+} # end BLOCK
+
+
+
+
+
+
+
+1;
+
+
+=pod
+
+=head1 NAME
+
+BarnetTypes::TABLE_OF_CRMT_SERVICE_REQUEST_TEXT
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined complexType
+TABLE_OF_CRMT_SERVICE_REQUEST_TEXT from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+
+=head2 PROPERTIES
+
+The following properties may be accessed using get_PROPERTY / set_PROPERTY
+methods:
+
+=over
+
+=item * item
+
+
+
+
+=back
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor. The following data structure may be passed to new():
+
+ { # BarnetTypes::TABLE_OF_CRMT_SERVICE_REQUEST_TEXT
+ item => { # BarnetTypes::CRMT_SERVICE_REQUEST_TEXT
+ TEXT_LINE => $some_value, # char132
+ },
+ },
+
+
+
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/Z_CRM_SERVICE_ORDER_CREATE/RfcException.pm b/perllib/BarnetTypes/Z_CRM_SERVICE_ORDER_CREATE/RfcException.pm
new file mode 100644
index 000000000..8d04adf53
--- /dev/null
+++ b/perllib/BarnetTypes/Z_CRM_SERVICE_ORDER_CREATE/RfcException.pm
@@ -0,0 +1,123 @@
+package BarnetTypes::Z_CRM_SERVICE_ORDER_CREATE::RfcException;
+use strict;
+use warnings;
+
+
+__PACKAGE__->_set_element_form_qualified(0);
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions' };
+
+our $XML_ATTRIBUTE_CLASS;
+undef $XML_ATTRIBUTE_CLASS;
+
+sub __get_attr_class {
+ return $XML_ATTRIBUTE_CLASS;
+}
+
+use Class::Std::Fast::Storable constructor => 'none';
+use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
+
+Class::Std::initialize();
+
+{ # BLOCK to scope variables
+
+my %Name_of :ATTR(:get<Name>);
+my %Text_of :ATTR(:get<Text>);
+my %Message_of :ATTR(:get<Message>);
+
+__PACKAGE__->_factory(
+ [ qw( Name
+ Text
+ Message
+
+ ) ],
+ {
+ 'Name' => \%Name_of,
+ 'Text' => \%Text_of,
+ 'Message' => \%Message_of,
+ },
+ {
+ 'Name' => 'BarnetTypes::Z_CRM_SERVICE_ORDER_CREATE::RfcExceptions',
+ 'Text' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
+ 'Message' => 'BarnetTypes::RfcException::Message',
+ },
+ {
+
+ 'Name' => 'Name',
+ 'Text' => 'Text',
+ 'Message' => 'Message',
+ }
+);
+
+} # end BLOCK
+
+
+
+
+
+
+
+1;
+
+
+=pod
+
+=head1 NAME
+
+BarnetTypes::Z_CRM_SERVICE_ORDER_CREATE::RfcException
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined complexType
+Z_CRM_SERVICE_ORDER_CREATE.RfcException from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+
+=head2 PROPERTIES
+
+The following properties may be accessed using get_PROPERTY / set_PROPERTY
+methods:
+
+=over
+
+=item * Name
+
+
+=item * Text
+
+
+=item * Message
+
+
+
+
+=back
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor. The following data structure may be passed to new():
+
+ { # BarnetTypes::Z_CRM_SERVICE_ORDER_CREATE::RfcException
+ Name => $some_value, # Z_CRM_SERVICE_ORDER_CREATE.RfcExceptions
+ Text => $some_value, # string
+ Message => { # BarnetTypes::RfcException::Message
+ ID => $some_value, # string
+ Number => $some_value, # RfcException.Message.Number
+ },
+ },
+
+
+
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/Z_CRM_SERVICE_ORDER_CREATE/RfcExceptions.pm b/perllib/BarnetTypes/Z_CRM_SERVICE_ORDER_CREATE/RfcExceptions.pm
new file mode 100644
index 000000000..ffc2237bc
--- /dev/null
+++ b/perllib/BarnetTypes/Z_CRM_SERVICE_ORDER_CREATE/RfcExceptions.pm
@@ -0,0 +1,65 @@
+package BarnetTypes::Z_CRM_SERVICE_ORDER_CREATE::RfcExceptions;
+use strict;
+use warnings;
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions'};
+
+# derivation by restriction
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Builtin::string);
+
+
+
+1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined simpleType
+Z_CRM_SERVICE_ORDER_CREATE.RfcExceptions from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+This clase is derived from
+ SOAP::WSDL::XSD::Typelib::Builtin::string
+. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly
+like it's base type.
+
+# Description of restrictions not implemented yet.
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor.
+
+=head2 get_value / set_value
+
+Getter and setter for the simpleType's value.
+
+=head1 OVERLOADING
+
+Depending on the simple type's base type, the following operations are overloaded
+
+ Stringification
+ Numerification
+ Boolification
+
+Check L<SOAP::WSDL::XSD::Typelib::Builtin> for more information.
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/char1.pm b/perllib/BarnetTypes/char1.pm
new file mode 100644
index 000000000..d0bab8e5e
--- /dev/null
+++ b/perllib/BarnetTypes/char1.pm
@@ -0,0 +1,65 @@
+package BarnetTypes::char1;
+use strict;
+use warnings;
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions'};
+
+# derivation by restriction
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Builtin::string);
+
+
+
+1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined simpleType
+char1 from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+This clase is derived from
+ SOAP::WSDL::XSD::Typelib::Builtin::string
+. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly
+like it's base type.
+
+# Description of restrictions not implemented yet.
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor.
+
+=head2 get_value / set_value
+
+Getter and setter for the simpleType's value.
+
+=head1 OVERLOADING
+
+Depending on the simple type's base type, the following operations are overloaded
+
+ Stringification
+ Numerification
+ Boolification
+
+Check L<SOAP::WSDL::XSD::Typelib::Builtin> for more information.
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/char10.pm b/perllib/BarnetTypes/char10.pm
new file mode 100644
index 000000000..6ff454e4b
--- /dev/null
+++ b/perllib/BarnetTypes/char10.pm
@@ -0,0 +1,65 @@
+package BarnetTypes::char10;
+use strict;
+use warnings;
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions'};
+
+# derivation by restriction
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Builtin::string);
+
+
+
+1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined simpleType
+char10 from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+This clase is derived from
+ SOAP::WSDL::XSD::Typelib::Builtin::string
+. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly
+like it's base type.
+
+# Description of restrictions not implemented yet.
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor.
+
+=head2 get_value / set_value
+
+Getter and setter for the simpleType's value.
+
+=head1 OVERLOADING
+
+Depending on the simple type's base type, the following operations are overloaded
+
+ Stringification
+ Numerification
+ Boolification
+
+Check L<SOAP::WSDL::XSD::Typelib::Builtin> for more information.
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/char132.pm b/perllib/BarnetTypes/char132.pm
new file mode 100644
index 000000000..46a41077b
--- /dev/null
+++ b/perllib/BarnetTypes/char132.pm
@@ -0,0 +1,65 @@
+package BarnetTypes::char132;
+use strict;
+use warnings;
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions'};
+
+# derivation by restriction
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Builtin::string);
+
+
+
+1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined simpleType
+char132 from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+This clase is derived from
+ SOAP::WSDL::XSD::Typelib::Builtin::string
+. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly
+like it's base type.
+
+# Description of restrictions not implemented yet.
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor.
+
+=head2 get_value / set_value
+
+Getter and setter for the simpleType's value.
+
+=head1 OVERLOADING
+
+Depending on the simple type's base type, the following operations are overloaded
+
+ Stringification
+ Numerification
+ Boolification
+
+Check L<SOAP::WSDL::XSD::Typelib::Builtin> for more information.
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/char2.pm b/perllib/BarnetTypes/char2.pm
new file mode 100644
index 000000000..35c476fbe
--- /dev/null
+++ b/perllib/BarnetTypes/char2.pm
@@ -0,0 +1,65 @@
+package BarnetTypes::char2;
+use strict;
+use warnings;
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions'};
+
+# derivation by restriction
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Builtin::string);
+
+
+
+1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined simpleType
+char2 from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+This clase is derived from
+ SOAP::WSDL::XSD::Typelib::Builtin::string
+. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly
+like it's base type.
+
+# Description of restrictions not implemented yet.
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor.
+
+=head2 get_value / set_value
+
+Getter and setter for the simpleType's value.
+
+=head1 OVERLOADING
+
+Depending on the simple type's base type, the following operations are overloaded
+
+ Stringification
+ Numerification
+ Boolification
+
+Check L<SOAP::WSDL::XSD::Typelib::Builtin> for more information.
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/char20.pm b/perllib/BarnetTypes/char20.pm
new file mode 100644
index 000000000..1c2df092a
--- /dev/null
+++ b/perllib/BarnetTypes/char20.pm
@@ -0,0 +1,65 @@
+package BarnetTypes::char20;
+use strict;
+use warnings;
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions'};
+
+# derivation by restriction
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Builtin::string);
+
+
+
+1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined simpleType
+char20 from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+This clase is derived from
+ SOAP::WSDL::XSD::Typelib::Builtin::string
+. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly
+like it's base type.
+
+# Description of restrictions not implemented yet.
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor.
+
+=head2 get_value / set_value
+
+Getter and setter for the simpleType's value.
+
+=head1 OVERLOADING
+
+Depending on the simple type's base type, the following operations are overloaded
+
+ Stringification
+ Numerification
+ Boolification
+
+Check L<SOAP::WSDL::XSD::Typelib::Builtin> for more information.
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/char220.pm b/perllib/BarnetTypes/char220.pm
new file mode 100644
index 000000000..7ccde81f8
--- /dev/null
+++ b/perllib/BarnetTypes/char220.pm
@@ -0,0 +1,65 @@
+package BarnetTypes::char220;
+use strict;
+use warnings;
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions'};
+
+# derivation by restriction
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Builtin::string);
+
+
+
+1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined simpleType
+char220 from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+This clase is derived from
+ SOAP::WSDL::XSD::Typelib::Builtin::string
+. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly
+like it's base type.
+
+# Description of restrictions not implemented yet.
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor.
+
+=head2 get_value / set_value
+
+Getter and setter for the simpleType's value.
+
+=head1 OVERLOADING
+
+Depending on the simple type's base type, the following operations are overloaded
+
+ Stringification
+ Numerification
+ Boolification
+
+Check L<SOAP::WSDL::XSD::Typelib::Builtin> for more information.
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/char241.pm b/perllib/BarnetTypes/char241.pm
new file mode 100644
index 000000000..e6567554f
--- /dev/null
+++ b/perllib/BarnetTypes/char241.pm
@@ -0,0 +1,65 @@
+package BarnetTypes::char241;
+use strict;
+use warnings;
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions'};
+
+# derivation by restriction
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Builtin::string);
+
+
+
+1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined simpleType
+char241 from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+This clase is derived from
+ SOAP::WSDL::XSD::Typelib::Builtin::string
+. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly
+like it's base type.
+
+# Description of restrictions not implemented yet.
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor.
+
+=head2 get_value / set_value
+
+Getter and setter for the simpleType's value.
+
+=head1 OVERLOADING
+
+Depending on the simple type's base type, the following operations are overloaded
+
+ Stringification
+ Numerification
+ Boolification
+
+Check L<SOAP::WSDL::XSD::Typelib::Builtin> for more information.
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/char3.pm b/perllib/BarnetTypes/char3.pm
new file mode 100644
index 000000000..f9d001cda
--- /dev/null
+++ b/perllib/BarnetTypes/char3.pm
@@ -0,0 +1,65 @@
+package BarnetTypes::char3;
+use strict;
+use warnings;
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions'};
+
+# derivation by restriction
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Builtin::string);
+
+
+
+1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined simpleType
+char3 from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+This clase is derived from
+ SOAP::WSDL::XSD::Typelib::Builtin::string
+. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly
+like it's base type.
+
+# Description of restrictions not implemented yet.
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor.
+
+=head2 get_value / set_value
+
+Getter and setter for the simpleType's value.
+
+=head1 OVERLOADING
+
+Depending on the simple type's base type, the following operations are overloaded
+
+ Stringification
+ Numerification
+ Boolification
+
+Check L<SOAP::WSDL::XSD::Typelib::Builtin> for more information.
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/char30.pm b/perllib/BarnetTypes/char30.pm
new file mode 100644
index 000000000..91d98eb30
--- /dev/null
+++ b/perllib/BarnetTypes/char30.pm
@@ -0,0 +1,65 @@
+package BarnetTypes::char30;
+use strict;
+use warnings;
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions'};
+
+# derivation by restriction
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Builtin::string);
+
+
+
+1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined simpleType
+char30 from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+This clase is derived from
+ SOAP::WSDL::XSD::Typelib::Builtin::string
+. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly
+like it's base type.
+
+# Description of restrictions not implemented yet.
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor.
+
+=head2 get_value / set_value
+
+Getter and setter for the simpleType's value.
+
+=head1 OVERLOADING
+
+Depending on the simple type's base type, the following operations are overloaded
+
+ Stringification
+ Numerification
+ Boolification
+
+Check L<SOAP::WSDL::XSD::Typelib::Builtin> for more information.
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/char32.pm b/perllib/BarnetTypes/char32.pm
new file mode 100644
index 000000000..c5efdaabd
--- /dev/null
+++ b/perllib/BarnetTypes/char32.pm
@@ -0,0 +1,65 @@
+package BarnetTypes::char32;
+use strict;
+use warnings;
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions'};
+
+# derivation by restriction
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Builtin::string);
+
+
+
+1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined simpleType
+char32 from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+This clase is derived from
+ SOAP::WSDL::XSD::Typelib::Builtin::string
+. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly
+like it's base type.
+
+# Description of restrictions not implemented yet.
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor.
+
+=head2 get_value / set_value
+
+Getter and setter for the simpleType's value.
+
+=head1 OVERLOADING
+
+Depending on the simple type's base type, the following operations are overloaded
+
+ Stringification
+ Numerification
+ Boolification
+
+Check L<SOAP::WSDL::XSD::Typelib::Builtin> for more information.
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/char35.pm b/perllib/BarnetTypes/char35.pm
new file mode 100644
index 000000000..40aef3d7a
--- /dev/null
+++ b/perllib/BarnetTypes/char35.pm
@@ -0,0 +1,65 @@
+package BarnetTypes::char35;
+use strict;
+use warnings;
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions'};
+
+# derivation by restriction
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Builtin::string);
+
+
+
+1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined simpleType
+char35 from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+This clase is derived from
+ SOAP::WSDL::XSD::Typelib::Builtin::string
+. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly
+like it's base type.
+
+# Description of restrictions not implemented yet.
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor.
+
+=head2 get_value / set_value
+
+Getter and setter for the simpleType's value.
+
+=head1 OVERLOADING
+
+Depending on the simple type's base type, the following operations are overloaded
+
+ Stringification
+ Numerification
+ Boolification
+
+Check L<SOAP::WSDL::XSD::Typelib::Builtin> for more information.
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/char40.pm b/perllib/BarnetTypes/char40.pm
new file mode 100644
index 000000000..4402875c1
--- /dev/null
+++ b/perllib/BarnetTypes/char40.pm
@@ -0,0 +1,65 @@
+package BarnetTypes::char40;
+use strict;
+use warnings;
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions'};
+
+# derivation by restriction
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Builtin::string);
+
+
+
+1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined simpleType
+char40 from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+This clase is derived from
+ SOAP::WSDL::XSD::Typelib::Builtin::string
+. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly
+like it's base type.
+
+# Description of restrictions not implemented yet.
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor.
+
+=head2 get_value / set_value
+
+Getter and setter for the simpleType's value.
+
+=head1 OVERLOADING
+
+Depending on the simple type's base type, the following operations are overloaded
+
+ Stringification
+ Numerification
+ Boolification
+
+Check L<SOAP::WSDL::XSD::Typelib::Builtin> for more information.
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/char5.pm b/perllib/BarnetTypes/char5.pm
new file mode 100644
index 000000000..fed108437
--- /dev/null
+++ b/perllib/BarnetTypes/char5.pm
@@ -0,0 +1,65 @@
+package BarnetTypes::char5;
+use strict;
+use warnings;
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions'};
+
+# derivation by restriction
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Builtin::string);
+
+
+
+1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined simpleType
+char5 from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+This clase is derived from
+ SOAP::WSDL::XSD::Typelib::Builtin::string
+. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly
+like it's base type.
+
+# Description of restrictions not implemented yet.
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor.
+
+=head2 get_value / set_value
+
+Getter and setter for the simpleType's value.
+
+=head1 OVERLOADING
+
+Depending on the simple type's base type, the following operations are overloaded
+
+ Stringification
+ Numerification
+ Boolification
+
+Check L<SOAP::WSDL::XSD::Typelib::Builtin> for more information.
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/char50.pm b/perllib/BarnetTypes/char50.pm
new file mode 100644
index 000000000..34e5720d1
--- /dev/null
+++ b/perllib/BarnetTypes/char50.pm
@@ -0,0 +1,65 @@
+package BarnetTypes::char50;
+use strict;
+use warnings;
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions'};
+
+# derivation by restriction
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Builtin::string);
+
+
+
+1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined simpleType
+char50 from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+This clase is derived from
+ SOAP::WSDL::XSD::Typelib::Builtin::string
+. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly
+like it's base type.
+
+# Description of restrictions not implemented yet.
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor.
+
+=head2 get_value / set_value
+
+Getter and setter for the simpleType's value.
+
+=head1 OVERLOADING
+
+Depending on the simple type's base type, the following operations are overloaded
+
+ Stringification
+ Numerification
+ Boolification
+
+Check L<SOAP::WSDL::XSD::Typelib::Builtin> for more information.
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/numeric3.pm b/perllib/BarnetTypes/numeric3.pm
new file mode 100644
index 000000000..c473d2866
--- /dev/null
+++ b/perllib/BarnetTypes/numeric3.pm
@@ -0,0 +1,65 @@
+package BarnetTypes::numeric3;
+use strict;
+use warnings;
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions'};
+
+# derivation by restriction
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Builtin::string);
+
+
+
+1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined simpleType
+numeric3 from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+This clase is derived from
+ SOAP::WSDL::XSD::Typelib::Builtin::string
+. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly
+like it's base type.
+
+# Description of restrictions not implemented yet.
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor.
+
+=head2 get_value / set_value
+
+Getter and setter for the simpleType's value.
+
+=head1 OVERLOADING
+
+Depending on the simple type's base type, the following operations are overloaded
+
+ Stringification
+ Numerification
+ Boolification
+
+Check L<SOAP::WSDL::XSD::Typelib::Builtin> for more information.
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/numeric6.pm b/perllib/BarnetTypes/numeric6.pm
new file mode 100644
index 000000000..b5438c1aa
--- /dev/null
+++ b/perllib/BarnetTypes/numeric6.pm
@@ -0,0 +1,65 @@
+package BarnetTypes::numeric6;
+use strict;
+use warnings;
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions'};
+
+# derivation by restriction
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Builtin::string);
+
+
+
+1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined simpleType
+numeric6 from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+This clase is derived from
+ SOAP::WSDL::XSD::Typelib::Builtin::string
+. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly
+like it's base type.
+
+# Description of restrictions not implemented yet.
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor.
+
+=head2 get_value / set_value
+
+Getter and setter for the simpleType's value.
+
+=head1 OVERLOADING
+
+Depending on the simple type's base type, the following operations are overloaded
+
+ Stringification
+ Numerification
+ Boolification
+
+Check L<SOAP::WSDL::XSD::Typelib::Builtin> for more information.
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/FixMyStreet/App/Controller/Admin.pm b/perllib/FixMyStreet/App/Controller/Admin.pm
index 83f77f401..198acade6 100644
--- a/perllib/FixMyStreet/App/Controller/Admin.pm
+++ b/perllib/FixMyStreet/App/Controller/Admin.pm
@@ -6,6 +6,7 @@ BEGIN { extends 'Catalyst::Controller'; }
use POSIX qw(strftime strcoll);
use Digest::MD5 qw(md5_hex);
+use mySociety::EmailUtil qw(is_valid_email);
=head1 NAME
@@ -473,17 +474,33 @@ sub search_reports : Path('search_reports') {
$c->model('DB')->schema->storage->sql_maker->quote_char( '"' );
$c->model('DB')->schema->storage->sql_maker->name_sep( '.' );
+ my $query;
+ if (is_valid_email($search)) {
+ $query = [
+ 'user.email' => { ilike => $like_search },
+ ];
+ } elsif ($search =~ /^id:(\d+)$/) {
+ $query = [
+ 'me.id' => int($1),
+ ];
+ } elsif ($search =~ /^area:(\d+)$/) {
+ $query = [
+ 'me.areas' => { like => "%,$1,%" }
+ ];
+ } else {
+ $query = [
+ 'me.id' => $search_n,
+ 'user.email' => { ilike => $like_search },
+ 'me.name' => { ilike => $like_search },
+ title => { ilike => $like_search },
+ detail => { ilike => $like_search },
+ council => { like => $like_search },
+ cobrand_data => { like => $like_search },
+ ];
+ }
my $problems = $c->cobrand->problems->search(
{
- -or => [
- 'me.id' => $search_n,
- 'user.email' => { ilike => $like_search },
- 'me.name' => { ilike => $like_search },
- title => { ilike => $like_search },
- detail => { ilike => $like_search },
- council => { like => $like_search },
- cobrand_data => { like => $like_search },
- ]
+ -or => $query,
},
{
prefetch => 'user',
@@ -499,26 +516,44 @@ sub search_reports : Path('search_reports') {
$c->stash->{edit_council_contacts} = 1
if ( grep {$_ eq 'councilcontacts'} keys %{$c->stash->{allowed_pages}});
- my $updates = $c->model('DB::Comment')->search(
- {
- -or => [
- 'me.id' => $search_n,
- 'problem.id' => $search_n,
- 'user.email' => { ilike => $like_search },
- 'me.name' => { ilike => $like_search },
- text => { ilike => $like_search },
- 'me.cobrand_data' => { ilike => $like_search },
- %{ $site_restriction },
- ]
- },
- {
- -select => [ 'me.*', qw/problem.council problem.state/ ],
- prefetch => [qw/user problem/],
- order_by => [\"(me.state='hidden')",\"(problem.state='hidden')",'me.created']
- }
- );
+ if (is_valid_email($search)) {
+ $query = [
+ 'user.email' => { ilike => $like_search },
+ %{ $site_restriction },
+ ];
+ } elsif ($search =~ /^id:(\d+)$/) {
+ $query = [
+ 'me.id' => int($1),
+ 'problem.id' => int($1),
+ %{ $site_restriction },
+ ];
+ } elsif ($search =~ /^area:(\d+)$/) {
+ $query = [];
+ } else {
+ $query = [
+ 'me.id' => $search_n,
+ 'problem.id' => $search_n,
+ 'user.email' => { ilike => $like_search },
+ 'me.name' => { ilike => $like_search },
+ text => { ilike => $like_search },
+ 'me.cobrand_data' => { ilike => $like_search },
+ %{ $site_restriction },
+ ];
+ }
- $c->stash->{updates} = [ $updates->all ];
+ if (@$query) {
+ my $updates = $c->model('DB::Comment')->search(
+ {
+ -or => $query,
+ },
+ {
+ -select => [ 'me.*', qw/problem.council problem.state/ ],
+ prefetch => [qw/user problem/],
+ order_by => [\"(me.state='hidden')",\"(problem.state='hidden')",'me.created']
+ }
+ );
+ $c->stash->{updates} = [ $updates->all ];
+ }
# Switch quoting back off. See above for explanation of this.
$c->model('DB')->schema->storage->sql_maker->quote_char( '' );
diff --git a/perllib/FixMyStreet/App/Controller/Photo.pm b/perllib/FixMyStreet/App/Controller/Photo.pm
index c54bad238..5d5832b08 100644
--- a/perllib/FixMyStreet/App/Controller/Photo.pm
+++ b/perllib/FixMyStreet/App/Controller/Photo.pm
@@ -114,6 +114,7 @@ sub _shrink {
$image->BlobToImage($photo);
my $err = $image->Scale(geometry => "$size>");
throw Error::Simple("resize failed: $err") if "$err";
+ $image->Strip();
my @blobs = $image->ImageToBlob();
undef $image;
return $blobs[0];
@@ -129,6 +130,7 @@ sub _crop {
throw Error::Simple("resize failed: $err") if "$err";
$err = $image->Extent( geometry => '90x60', gravity => 'Center' );
throw Error::Simple("resize failed: $err") if "$err";
+ $image->Strip();
my @blobs = $image->ImageToBlob();
undef $image;
return $blobs[0];
diff --git a/perllib/FixMyStreet/App/Controller/Report/New.pm b/perllib/FixMyStreet/App/Controller/Report/New.pm
index af4cdd5aa..6d22a0556 100644
--- a/perllib/FixMyStreet/App/Controller/Report/New.pm
+++ b/perllib/FixMyStreet/App/Controller/Report/New.pm
@@ -78,6 +78,8 @@ partial
=cut
+use constant COUNCIL_ID_BARNET => 2489;
+
sub report_new : Path : Args(0) {
my ( $self, $c ) = @_;
@@ -545,9 +547,15 @@ sub setup_categories_and_councils : Private {
} elsif ($first_council->{type} eq 'LBO') {
$area_ids_to_list{ $first_council->{id} } = 1;
+ my @local_categories;
+ if ($first_council->{id} == COUNCIL_ID_BARNET) {
+ @local_categories = sort(keys %{ Utils::barnet_categories() }); # removed 'Other' option
+ } else {
+ @local_categories = sort keys %{ Utils::london_categories() }
+ }
@category_options = (
_('-- Pick a category --'),
- sort keys %{ Utils::london_categories() }
+ @local_categories
);
$category_label = _('Category:');
@@ -733,8 +741,15 @@ sub process_report : Private {
$councils = join( ',', @{ $c->stash->{area_ids_to_list} } ) || -1;
$report->council( $councils );
- } elsif ( $first_council->{type} eq 'LBO') {
+ } elsif ( $first_council->{id} == COUNCIL_ID_BARNET ) {
+ unless ( exists Utils::barnet_categories()->{ $report->category } or $report->category eq 'Other') {
+ $c->stash->{field_errors}->{category} = _('Please choose a category');
+ }
+ $report->council( $first_council->{id} );
+
+ } elsif ( $first_council->{type} eq 'LBO') {
+
unless ( Utils::london_categories()->{ $report->category } ) {
$c->stash->{field_errors}->{category} = _('Please choose a category');
}
diff --git a/perllib/FixMyStreet/DB.pm b/perllib/FixMyStreet/DB.pm
index 18c8cc2ca..a1767abe9 100644
--- a/perllib/FixMyStreet/DB.pm
+++ b/perllib/FixMyStreet/DB.pm
@@ -1,3 +1,4 @@
+use utf8;
package FixMyStreet::DB;
# Created by DBIx::Class::Schema::Loader
@@ -10,8 +11,9 @@ use base 'DBIx::Class::Schema';
__PACKAGE__->load_namespaces;
-# Created by DBIx::Class::Schema::Loader v0.07009 @ 2011-03-01 15:43:43
-# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:tJZ+CpaAfZVPrctDXTZTuQ
+
+# Created by DBIx::Class::Schema::Loader v0.07017 @ 2012-03-08 17:19:55
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:CjFpUvon7KggFM7OF7VK/w
# You can replace this text with custom code or comments, and it will be preserved on regeneration
1;
diff --git a/perllib/FixMyStreet/DB/Result/Abuse.pm b/perllib/FixMyStreet/DB/Result/Abuse.pm
index b1cf9c1ed..e8e554afa 100644
--- a/perllib/FixMyStreet/DB/Result/Abuse.pm
+++ b/perllib/FixMyStreet/DB/Result/Abuse.pm
@@ -1,3 +1,4 @@
+use utf8;
package FixMyStreet::DB::Result::Abuse;
# Created by DBIx::Class::Schema::Loader
@@ -7,15 +8,14 @@ use strict;
use warnings;
use base 'DBIx::Class::Core';
-
__PACKAGE__->load_components("FilterColumn", "InflateColumn::DateTime", "EncodedColumn");
__PACKAGE__->table("abuse");
__PACKAGE__->add_columns("email", { data_type => "text", is_nullable => 0 });
__PACKAGE__->set_primary_key("email");
-# Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-06-23 15:49:48
-# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:IuTLiJSDZGLF/WX8q3iKIQ
+# Created by DBIx::Class::Schema::Loader v0.07017 @ 2012-03-08 17:19:55
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:PnQhGMx+ktK++3gWOMJBpQ
# You can replace this text with custom code or comments, and it will be preserved on regeneration
1;
diff --git a/perllib/FixMyStreet/DB/Result/AdminLog.pm b/perllib/FixMyStreet/DB/Result/AdminLog.pm
index da97950a0..ede786871 100644
--- a/perllib/FixMyStreet/DB/Result/AdminLog.pm
+++ b/perllib/FixMyStreet/DB/Result/AdminLog.pm
@@ -1,3 +1,4 @@
+use utf8;
package FixMyStreet::DB::Result::AdminLog;
# Created by DBIx::Class::Schema::Loader
@@ -7,7 +8,6 @@ use strict;
use warnings;
use base 'DBIx::Class::Core';
-
__PACKAGE__->load_components("FilterColumn", "InflateColumn::DateTime", "EncodedColumn");
__PACKAGE__->table("admin_log");
__PACKAGE__->add_columns(
@@ -36,8 +36,8 @@ __PACKAGE__->add_columns(
__PACKAGE__->set_primary_key("id");
-# Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-06-23 15:49:48
-# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:7427CuN3/6IL2GxiQDoWUA
+# Created by DBIx::Class::Schema::Loader v0.07017 @ 2012-03-08 17:19:55
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:+NlSH8U+beRjBZl8CpqK9A
# You can replace this text with custom code or comments, and it will be preserved on regeneration
diff --git a/perllib/FixMyStreet/DB/Result/Alert.pm b/perllib/FixMyStreet/DB/Result/Alert.pm
index eddd98f37..ca9ad45c2 100644
--- a/perllib/FixMyStreet/DB/Result/Alert.pm
+++ b/perllib/FixMyStreet/DB/Result/Alert.pm
@@ -1,3 +1,4 @@
+use utf8;
package FixMyStreet::DB::Result::Alert;
# Created by DBIx::Class::Schema::Loader
@@ -7,7 +8,6 @@ use strict;
use warnings;
use base 'DBIx::Class::Core';
-
__PACKAGE__->load_components("FilterColumn", "InflateColumn::DateTime", "EncodedColumn");
__PACKAGE__->table("alert");
__PACKAGE__->add_columns(
@@ -24,6 +24,8 @@ __PACKAGE__->add_columns(
{ data_type => "text", is_nullable => 1 },
"parameter2",
{ data_type => "text", is_nullable => 1 },
+ "user_id",
+ { data_type => "integer", is_foreign_key => 1, is_nullable => 0 },
"confirmed",
{ data_type => "integer", default_value => 0, is_nullable => 0 },
"lang",
@@ -40,8 +42,6 @@ __PACKAGE__->add_columns(
},
"whendisabled",
{ data_type => "timestamp", is_nullable => 1 },
- "user_id",
- { data_type => "integer", is_foreign_key => 1, is_nullable => 0 },
);
__PACKAGE__->set_primary_key("id");
__PACKAGE__->belongs_to(
@@ -50,22 +50,22 @@ __PACKAGE__->belongs_to(
{ ref => "alert_type" },
{ is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE" },
);
+__PACKAGE__->has_many(
+ "alerts_sent",
+ "FixMyStreet::DB::Result::AlertSent",
+ { "foreign.alert_id" => "self.id" },
+ { cascade_copy => 0, cascade_delete => 0 },
+);
__PACKAGE__->belongs_to(
"user",
"FixMyStreet::DB::Result::User",
{ id => "user_id" },
{ is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE" },
);
-__PACKAGE__->has_many(
- "alert_sents",
- "FixMyStreet::DB::Result::AlertSent",
- { "foreign.alert_id" => "self.id" },
- { cascade_copy => 0, cascade_delete => 0 },
-);
-# Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-06-23 15:49:48
-# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:d2TrE9UIZdXu3eXYJH0Zmw
+# Created by DBIx::Class::Schema::Loader v0.07017 @ 2012-03-08 17:19:55
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:vump36YxUO4FQi5Do6DwvA
# You can replace this text with custom code or comments, and it will be preserved on regeneration
diff --git a/perllib/FixMyStreet/DB/Result/AlertSent.pm b/perllib/FixMyStreet/DB/Result/AlertSent.pm
index a901c2fde..a537c95cd 100644
--- a/perllib/FixMyStreet/DB/Result/AlertSent.pm
+++ b/perllib/FixMyStreet/DB/Result/AlertSent.pm
@@ -1,3 +1,4 @@
+use utf8;
package FixMyStreet::DB::Result::AlertSent;
# Created by DBIx::Class::Schema::Loader
@@ -7,7 +8,6 @@ use strict;
use warnings;
use base 'DBIx::Class::Core';
-
__PACKAGE__->load_components("FilterColumn", "InflateColumn::DateTime", "EncodedColumn");
__PACKAGE__->table("alert_sent");
__PACKAGE__->add_columns(
@@ -30,8 +30,8 @@ __PACKAGE__->belongs_to(
);
-# Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-06-23 15:49:48
-# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:fTiWIoriQUvHpWc9PpFLvA
+# Created by DBIx::Class::Schema::Loader v0.07017 @ 2012-03-08 17:19:55
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:oN+36hDWJuc0hqkCW9BHOw
# You can replace this text with custom code or comments, and it will be preserved on regeneration
diff --git a/perllib/FixMyStreet/DB/Result/AlertType.pm b/perllib/FixMyStreet/DB/Result/AlertType.pm
index d23a2983d..3aa9677e0 100644
--- a/perllib/FixMyStreet/DB/Result/AlertType.pm
+++ b/perllib/FixMyStreet/DB/Result/AlertType.pm
@@ -1,3 +1,4 @@
+use utf8;
package FixMyStreet::DB::Result::AlertType;
# Created by DBIx::Class::Schema::Loader
@@ -7,7 +8,6 @@ use strict;
use warnings;
use base 'DBIx::Class::Core';
-
__PACKAGE__->load_components("FilterColumn", "InflateColumn::DateTime", "EncodedColumn");
__PACKAGE__->table("alert_type");
__PACKAGE__->add_columns(
@@ -47,8 +47,8 @@ __PACKAGE__->has_many(
);
-# Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-06-23 15:49:48
-# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:+PKqo7IZ4MlM9ur4V2P9tA
+# Created by DBIx::Class::Schema::Loader v0.07017 @ 2012-03-08 17:19:55
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:KDBYzNEAM5lPvZjb9cv22g
# You can replace this text with custom code or comments, and it will be preserved on regeneration
diff --git a/perllib/FixMyStreet/DB/Result/Comment.pm b/perllib/FixMyStreet/DB/Result/Comment.pm
index 195fe4019..5b45c63a8 100644
--- a/perllib/FixMyStreet/DB/Result/Comment.pm
+++ b/perllib/FixMyStreet/DB/Result/Comment.pm
@@ -1,3 +1,4 @@
+use utf8;
package FixMyStreet::DB::Result::Comment;
# Created by DBIx::Class::Schema::Loader
@@ -7,7 +8,6 @@ use strict;
use warnings;
use base 'DBIx::Class::Core';
-
__PACKAGE__->load_components("FilterColumn", "InflateColumn::DateTime", "EncodedColumn");
__PACKAGE__->table("comment");
__PACKAGE__->add_columns(
@@ -20,6 +20,10 @@ __PACKAGE__->add_columns(
},
"problem_id",
{ data_type => "integer", is_foreign_key => 1, is_nullable => 0 },
+ "user_id",
+ { data_type => "integer", is_foreign_key => 1, is_nullable => 0 },
+ "anonymous",
+ { data_type => "boolean", is_nullable => 0 },
"name",
{ data_type => "text", is_nullable => 1 },
"website",
@@ -48,30 +52,26 @@ __PACKAGE__->add_columns(
{ data_type => "boolean", is_nullable => 0 },
"mark_open",
{ data_type => "boolean", default_value => \"false", is_nullable => 0 },
- "user_id",
- { data_type => "integer", is_foreign_key => 1, is_nullable => 0 },
- "anonymous",
- { data_type => "boolean", is_nullable => 0 },
"problem_state",
{ data_type => "text", is_nullable => 1 },
);
__PACKAGE__->set_primary_key("id");
__PACKAGE__->belongs_to(
- "user",
- "FixMyStreet::DB::Result::User",
- { id => "user_id" },
- { is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE" },
-);
-__PACKAGE__->belongs_to(
"problem",
"FixMyStreet::DB::Result::Problem",
{ id => "problem_id" },
{ is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE" },
);
+__PACKAGE__->belongs_to(
+ "user",
+ "FixMyStreet::DB::Result::User",
+ { id => "user_id" },
+ { is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE" },
+);
-# Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-06-27 10:07:32
-# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:ilLn3dlagg5COdpZDmzrVQ
+# Created by DBIx::Class::Schema::Loader v0.07017 @ 2012-03-08 17:19:55
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:E+96vo/AB0zz1jAEPj/OKw
use DateTime::TimeZone;
use Image::Size;
diff --git a/perllib/FixMyStreet/DB/Result/Contact.pm b/perllib/FixMyStreet/DB/Result/Contact.pm
index 941e4e1bb..c32b75d0c 100644
--- a/perllib/FixMyStreet/DB/Result/Contact.pm
+++ b/perllib/FixMyStreet/DB/Result/Contact.pm
@@ -1,3 +1,4 @@
+use utf8;
package FixMyStreet::DB::Result::Contact;
# Created by DBIx::Class::Schema::Loader
@@ -7,7 +8,6 @@ use strict;
use warnings;
use base 'DBIx::Class::Core';
-
__PACKAGE__->load_components("FilterColumn", "InflateColumn::DateTime", "EncodedColumn");
__PACKAGE__->table("contacts");
__PACKAGE__->add_columns(
@@ -40,8 +40,9 @@ __PACKAGE__->add_columns(
__PACKAGE__->set_primary_key("id");
__PACKAGE__->add_unique_constraint("contacts_area_id_category_idx", ["area_id", "category"]);
-# Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-08-01 10:07:59
-# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:4y6yRz4rMN66pBpkzfJJhg
+
+# Created by DBIx::Class::Schema::Loader v0.07017 @ 2012-03-08 17:19:55
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:hyvU0bMWSFxEPAJT7wqM/Q
__PACKAGE__->filter_column(
extra => {
diff --git a/perllib/FixMyStreet/DB/Result/ContactsHistory.pm b/perllib/FixMyStreet/DB/Result/ContactsHistory.pm
index 811a06b44..deb00fb95 100644
--- a/perllib/FixMyStreet/DB/Result/ContactsHistory.pm
+++ b/perllib/FixMyStreet/DB/Result/ContactsHistory.pm
@@ -1,3 +1,4 @@
+use utf8;
package FixMyStreet::DB::Result::ContactsHistory;
# Created by DBIx::Class::Schema::Loader
@@ -7,7 +8,6 @@ use strict;
use warnings;
use base 'DBIx::Class::Core';
-
__PACKAGE__->load_components("FilterColumn", "InflateColumn::DateTime", "EncodedColumn");
__PACKAGE__->table("contacts_history");
__PACKAGE__->add_columns(
@@ -40,8 +40,8 @@ __PACKAGE__->add_columns(
__PACKAGE__->set_primary_key("contacts_history_id");
-# Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-06-23 15:49:48
-# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:9APvBwAOebG5g4MGxJuVKQ
+# Created by DBIx::Class::Schema::Loader v0.07017 @ 2012-03-08 17:19:55
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:dN2ueIDoP3d/+Mg1UDqsMw
# You can replace this text with custom code or comments, and it will be preserved on regeneration
diff --git a/perllib/FixMyStreet/DB/Result/Open311conf.pm b/perllib/FixMyStreet/DB/Result/Open311conf.pm
index 0a5784560..742a12ebd 100644
--- a/perllib/FixMyStreet/DB/Result/Open311conf.pm
+++ b/perllib/FixMyStreet/DB/Result/Open311conf.pm
@@ -1,3 +1,4 @@
+use utf8;
package FixMyStreet::DB::Result::Open311conf;
# Created by DBIx::Class::Schema::Loader
@@ -7,7 +8,6 @@ use strict;
use warnings;
use base 'DBIx::Class::Core';
-
__PACKAGE__->load_components("FilterColumn", "InflateColumn::DateTime", "EncodedColumn");
__PACKAGE__->table("open311conf");
__PACKAGE__->add_columns(
@@ -26,13 +26,15 @@ __PACKAGE__->add_columns(
{ data_type => "text", is_nullable => 1 },
"api_key",
{ data_type => "text", is_nullable => 1 },
+ "send_method",
+ { data_type => "text", is_nullable => 1 },
);
__PACKAGE__->set_primary_key("id");
__PACKAGE__->add_unique_constraint("open311conf_area_id_key", ["area_id"]);
-# Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-07-29 18:09:25
-# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:ryqCpvwjNtQrZm4I3s0hxg
+# Created by DBIx::Class::Schema::Loader v0.07017 @ 2012-03-08 17:19:55
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:ClYnPB2gsKapnfHuco5d/w
# You can replace this text with custom code or comments, and it will be preserved on regeneration
diff --git a/perllib/FixMyStreet/DB/Result/Problem.pm b/perllib/FixMyStreet/DB/Result/Problem.pm
index ce7488703..192e539bd 100644
--- a/perllib/FixMyStreet/DB/Result/Problem.pm
+++ b/perllib/FixMyStreet/DB/Result/Problem.pm
@@ -1,3 +1,4 @@
+use utf8;
package FixMyStreet::DB::Result::Problem;
# Created by DBIx::Class::Schema::Loader
@@ -7,7 +8,6 @@ use strict;
use warnings;
use base 'DBIx::Class::Core';
-
__PACKAGE__->load_components("FilterColumn", "InflateColumn::DateTime", "EncodedColumn");
__PACKAGE__->table("problem");
__PACKAGE__->add_columns(
@@ -84,6 +84,14 @@ __PACKAGE__->add_columns(
{ data_type => "boolean", default_value => \"false", is_nullable => 0 },
"geocode",
{ data_type => "bytea", is_nullable => 1 },
+ "send_fail_count",
+ { data_type => "integer", default_value => 0, is_nullable => 0 },
+ "send_fail_reason",
+ { data_type => "text", is_nullable => 1 },
+ "send_fail_timestamp",
+ { data_type => "timestamp", is_nullable => 1 },
+ "send_method_used",
+ { data_type => "text", is_nullable => 1 },
);
__PACKAGE__->set_primary_key("id");
__PACKAGE__->has_many(
@@ -92,22 +100,22 @@ __PACKAGE__->has_many(
{ "foreign.problem_id" => "self.id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
-__PACKAGE__->belongs_to(
- "user",
- "FixMyStreet::DB::Result::User",
- { id => "user_id" },
- { is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE" },
-);
__PACKAGE__->has_many(
"questionnaires",
"FixMyStreet::DB::Result::Questionnaire",
{ "foreign.problem_id" => "self.id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
+__PACKAGE__->belongs_to(
+ "user",
+ "FixMyStreet::DB::Result::User",
+ { id => "user_id" },
+ { is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE" },
+);
-# Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-09-19 14:38:43
-# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:nq8Ufn/SEoDGSrrGlHIxag
+# Created by DBIx::Class::Schema::Loader v0.07017 @ 2012-05-03 16:05:20
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:EvwI91Ot7SioQWqwnXRTBQ
# Add fake relationship to stored procedure table
__PACKAGE__->has_one(
@@ -562,7 +570,50 @@ sub body {
return $body;
}
+# returns true if the external id is the council's ref, i.e., useful to publish it
+# (by way of an example, the barnet send method returns a useful reference when
+# it succeeds, so that is the ref we should show on the problem report page).
+# Future: this is installation-dependent so maybe should be using the contact
+# data to determine if the external id is public on a council-by-council basis.
+# Note: this only makes sense when called on a problem that has been sent!
+sub can_display_external_id {
+ my $self = shift;
+ if ($self->external_id && $self->send_method_used eq 'barnet') {
+ return 1;
+ }
+ return 0;
+}
+
# TODO Some/much of this could be moved to the template
+
+# either:
+# "sent to council 3 mins later"
+# "[Council name] ref: XYZ"
+# or
+# "sent to council 3 mins later, their ref: XYZ"
+#
+# Note: some silliness with pronouns and the adjacent comma mean this is
+# being presented as a single string rather than two
+sub processed_summary_string {
+ my ( $problem, $c ) = @_;
+ my ($duration_clause, $external_ref_clause);
+ if ($problem->whensent) {
+ $duration_clause = $problem->duration_string($c)
+ }
+ if ($problem->can_display_external_id) {
+ if ($duration_clause) {
+ $external_ref_clause = sprintf(_('their ref:&nbsp;%s'), $problem->external_id);
+ } else {
+ $external_ref_clause = sprintf(_('%s ref:&nbsp;%s'), $problem->external_body, $problem->external_id);
+ }
+ }
+ if ($duration_clause and $external_ref_clause) {
+ return "$duration_clause, $external_ref_clause"
+ } else {
+ return $duration_clause || $external_ref_clause
+ }
+}
+
sub duration_string {
my ( $problem, $c ) = @_;
my $body = $problem->body( $c );
diff --git a/perllib/FixMyStreet/DB/Result/Questionnaire.pm b/perllib/FixMyStreet/DB/Result/Questionnaire.pm
index cc4ec300b..b6791603a 100644
--- a/perllib/FixMyStreet/DB/Result/Questionnaire.pm
+++ b/perllib/FixMyStreet/DB/Result/Questionnaire.pm
@@ -1,3 +1,4 @@
+use utf8;
package FixMyStreet::DB::Result::Questionnaire;
# Created by DBIx::Class::Schema::Loader
@@ -7,7 +8,6 @@ use strict;
use warnings;
use base 'DBIx::Class::Core';
-
__PACKAGE__->load_components("FilterColumn", "InflateColumn::DateTime", "EncodedColumn");
__PACKAGE__->table("questionnaire");
__PACKAGE__->add_columns(
@@ -40,8 +40,8 @@ __PACKAGE__->belongs_to(
);
-# Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-06-23 15:49:48
-# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:QNFqqCg6J4SFlg4zwm7TWw
+# Created by DBIx::Class::Schema::Loader v0.07017 @ 2012-03-08 17:19:55
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:NGlSRjoBpDoIvK3EueqN6Q
use DateTime::TimeZone;
diff --git a/perllib/FixMyStreet/DB/Result/Secret.pm b/perllib/FixMyStreet/DB/Result/Secret.pm
index 8a1fa671d..449dfec0e 100644
--- a/perllib/FixMyStreet/DB/Result/Secret.pm
+++ b/perllib/FixMyStreet/DB/Result/Secret.pm
@@ -1,3 +1,4 @@
+use utf8;
package FixMyStreet::DB::Result::Secret;
# Created by DBIx::Class::Schema::Loader
@@ -7,14 +8,13 @@ use strict;
use warnings;
use base 'DBIx::Class::Core';
-
__PACKAGE__->load_components("FilterColumn", "InflateColumn::DateTime", "EncodedColumn");
__PACKAGE__->table("secret");
__PACKAGE__->add_columns("secret", { data_type => "text", is_nullable => 0 });
-# Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-06-23 15:49:48
-# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:MfqW1K0aFtwpa/1c/UwHjg
+# Created by DBIx::Class::Schema::Loader v0.07017 @ 2012-03-08 17:19:55
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:9XiWSKJ1PD3LSYjrSA3drw
# You can replace this text with custom code or comments, and it will be preserved on regeneration
diff --git a/perllib/FixMyStreet/DB/Result/Session.pm b/perllib/FixMyStreet/DB/Result/Session.pm
index 9d5d509dc..4713c99eb 100644
--- a/perllib/FixMyStreet/DB/Result/Session.pm
+++ b/perllib/FixMyStreet/DB/Result/Session.pm
@@ -1,3 +1,4 @@
+use utf8;
package FixMyStreet::DB::Result::Session;
# Created by DBIx::Class::Schema::Loader
@@ -7,7 +8,6 @@ use strict;
use warnings;
use base 'DBIx::Class::Core';
-
__PACKAGE__->load_components("FilterColumn", "InflateColumn::DateTime", "EncodedColumn");
__PACKAGE__->table("sessions");
__PACKAGE__->add_columns(
@@ -21,8 +21,8 @@ __PACKAGE__->add_columns(
__PACKAGE__->set_primary_key("id");
-# Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-06-23 15:49:48
-# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:TagSQOXnDttkwfJ7oDH8Yw
+# Created by DBIx::Class::Schema::Loader v0.07017 @ 2012-03-08 17:19:55
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:MVmCn4gLQWXTDIIaDHiVmA
# You can replace this text with custom code or comments, and it will be preserved on regeneration
1;
diff --git a/perllib/FixMyStreet/DB/Result/Token.pm b/perllib/FixMyStreet/DB/Result/Token.pm
index 3a900858d..b223ada3a 100644
--- a/perllib/FixMyStreet/DB/Result/Token.pm
+++ b/perllib/FixMyStreet/DB/Result/Token.pm
@@ -1,3 +1,4 @@
+use utf8;
package FixMyStreet::DB::Result::Token;
# Created by DBIx::Class::Schema::Loader
@@ -7,7 +8,6 @@ use strict;
use warnings;
use base 'DBIx::Class::Core';
-
__PACKAGE__->load_components("FilterColumn", "InflateColumn::DateTime", "EncodedColumn");
__PACKAGE__->table("token");
__PACKAGE__->add_columns(
@@ -27,8 +27,8 @@ __PACKAGE__->add_columns(
__PACKAGE__->set_primary_key("scope", "token");
-# Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-06-23 15:49:48
-# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:frl+na3HrIzGw9D1t891nA
+# Created by DBIx::Class::Schema::Loader v0.07017 @ 2012-03-08 17:19:55
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:+LLZ8P5GXqPetuGyrra2vw
# Trying not to use this
# use mySociety::DBHandle qw(dbh);
diff --git a/perllib/FixMyStreet/DB/Result/User.pm b/perllib/FixMyStreet/DB/Result/User.pm
index 56d726a8d..e13d88b88 100644
--- a/perllib/FixMyStreet/DB/Result/User.pm
+++ b/perllib/FixMyStreet/DB/Result/User.pm
@@ -1,3 +1,4 @@
+use utf8;
package FixMyStreet::DB::Result::User;
# Created by DBIx::Class::Schema::Loader
@@ -7,7 +8,6 @@ use strict;
use warnings;
use base 'DBIx::Class::Core';
-
__PACKAGE__->load_components("FilterColumn", "InflateColumn::DateTime", "EncodedColumn");
__PACKAGE__->table("users");
__PACKAGE__->add_columns(
@@ -53,8 +53,8 @@ __PACKAGE__->has_many(
);
-# Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-06-27 10:25:21
-# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:9IHuqRTcHZCqJeBAaiQxzw
+# Created by DBIx::Class::Schema::Loader v0.07017 @ 2012-03-08 17:19:55
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:tM1LUGrqDeQnF4BDgnYXGQ
__PACKAGE__->add_columns(
"password" => {
diff --git a/perllib/FixMyStreet/Geocode/Bing.pm b/perllib/FixMyStreet/Geocode/Bing.pm
index 4ba00dbfe..a24f7c102 100644
--- a/perllib/FixMyStreet/Geocode/Bing.pm
+++ b/perllib/FixMyStreet/Geocode/Bing.pm
@@ -69,7 +69,14 @@ sub string {
);
( $latitude, $longitude ) = @{ $_->{point}->{coordinates} };
- push (@$error, { address => $address, latitude => $latitude, longitude => $longitude });
+ # These co-ordinates are output as query parameters in a URL, make sure they have a "."
+ mySociety::Locale::in_gb_locale {
+ push (@$error, {
+ address => $address,
+ latitude => sprintf('%0.6f', $latitude),
+ longitude => sprintf('%0.6f', $longitude)
+ });
+ };
push (@valid_locations, $_);
}
diff --git a/perllib/FixMyStreet/Geocode/Google.pm b/perllib/FixMyStreet/Geocode/Google.pm
index 83b36dbcd..1ab347066 100644
--- a/perllib/FixMyStreet/Geocode/Google.pm
+++ b/perllib/FixMyStreet/Geocode/Google.pm
@@ -75,7 +75,14 @@ sub string {
my $address = $_->{address};
next unless $c->cobrand->geocoded_string_check( $address );
( $longitude, $latitude ) = @{ $_->{Point}->{coordinates} };
- push (@$error, { address => $address, latitude => $latitude, longitude => $longitude });
+ # These co-ordinates are output as query parameters in a URL, make sure they have a "."
+ mySociety::Locale::in_gb_locale {
+ push (@$error, {
+ address => $address,
+ latitude => sprintf('%0.6f', $latitude),
+ longitude => sprintf('%0.6f', $longitude)
+ });
+ };
push (@valid_locations, $_);
}
return { latitude => $latitude, longitude => $longitude } if scalar @valid_locations == 1;
diff --git a/perllib/FixMyStreet/TestMech.pm b/perllib/FixMyStreet/TestMech.pm
index a8cbc98f2..7daf01f56 100644
--- a/perllib/FixMyStreet/TestMech.pm
+++ b/perllib/FixMyStreet/TestMech.pm
@@ -151,7 +151,7 @@ sub delete_user {
ok( $p->delete, "delete problem " . $p->title );
}
for my $a ( $user->alerts ) {
- $a->alert_sents->delete;
+ $a->alerts_sent->delete;
ok( $a->delete, "delete alert " . $a->alert_type );
}
ok( $_->delete, "delete comment " . $_->text ) for $user->comments;
diff --git a/perllib/SOAP/WSDL/Serializer/XSD.pm b/perllib/SOAP/WSDL/Serializer/XSD.pm
new file mode 100644
index 000000000..f233f74e7
--- /dev/null
+++ b/perllib/SOAP/WSDL/Serializer/XSD.pm
@@ -0,0 +1,148 @@
+#!/usr/bin/perl -w
+package SOAP::WSDL::Serializer::XSD;
+use strict;
+use warnings;
+use Class::Std::Fast::Storable;
+use Scalar::Util qw(blessed);
+
+use version; our $VERSION = qv('2.00.10');
+
+use SOAP::WSDL::Factory::Serializer;
+
+my $SOAP_NS = 'http://schemas.xmlsoap.org/soap/envelope/';
+my $XML_INSTANCE_NS = 'http://www.w3.org/2001/XMLSchema-instance';
+
+sub serialize {
+ my ($self, $args_of_ref) = @_;
+
+ my $opt = $args_of_ref->{ options };
+
+ if (not $opt->{ namespace }->{ $SOAP_NS })
+ {
+ $opt->{ namespace }->{ $SOAP_NS } = 'SOAP-ENV';
+ }
+
+ if (not $opt->{ namespace }->{ $XML_INSTANCE_NS })
+ {
+ $opt->{ namespace }->{ $XML_INSTANCE_NS } = 'xsi';
+ }
+
+ my $soap_prefix = $opt->{ namespace }->{ $SOAP_NS };
+
+ # envelope start with namespaces
+ my $xml = "<$soap_prefix\:Envelope ";
+
+ while (my ($uri, $prefix) = each %{ $opt->{ namespace } })
+ {
+ $xml .= "xmlns:$prefix=\"$uri\" ";
+ }
+ #
+ # add namespace for user-supplied prefix if needed
+ $xml .= "xmlns:$opt->{prefix}=\"" . $args_of_ref->{ body }->get_xmlns() . "\" "
+ if $opt->{prefix};
+
+ # TODO insert encoding
+ $xml.='>';
+ $xml .= $self->serialize_header($args_of_ref->{ method }, $args_of_ref->{ header }, $opt);
+ $xml .= $self->serialize_body($args_of_ref->{ method }, $args_of_ref->{ body }, $opt);
+ $xml .= '</' . $soap_prefix .':Envelope>';
+ return $xml;
+}
+
+sub serialize_header {
+ my ($self, $method, $data, $opt) = @_;
+
+ # header is optional. Leave out if there's no header data
+ return q{} if not $data;
+ return join ( q{},
+ "<$opt->{ namespace }->{ $SOAP_NS }\:Header>",
+ blessed $data ? $data->serialize_qualified : (),
+ "</$opt->{ namespace }->{ $SOAP_NS }\:Header>",
+ );
+}
+
+sub serialize_body {
+ my ($self, $method, $data, $opt) = @_;
+
+ # TODO This one wipes out the old class' XML name globally
+ # Fix in some more appropriate place...
+ # $data->__set_name("$opt->{prefix}:" . $data->__get_name() ) if $opt->{prefix};
+ # fix: -------v from https://rt.cpan.org/Public/Bug/Display.html?id=38035
+ if ( $opt->{prefix} ) {
+ my $body_name = $data->__get_name();
+ $body_name =~ s/.+://;
+ $data->__set_name($opt->{prefix} . ":" . $body_name );
+ }
+ # fix end ----^
+
+ # Body is NOT optional. Serialize to empty body
+ # if we have no data.
+ return join ( q{},
+ "<$opt->{ namespace }->{ $SOAP_NS }\:Body>",
+ defined $data
+ ? ref $data eq 'ARRAY'
+ ? join q{}, map { blessed $_ ? $_->serialize_qualified() : () } @{ $data }
+ : blessed $data
+ ? $opt->{prefix}
+ ? $data->serialize()
+ : $data->serialize_qualified()
+ : ()
+ : (),
+ "</$opt->{ namespace }->{ $SOAP_NS }\:Body>",
+ );
+}
+
+__END__
+
+=pod
+
+=head1 NAME
+
+SOAP:WSDL::Serializer::XSD - Serializer for SOAP::WSDL::XSD::Typelib:: objects
+
+=head1 DESCRIPTION
+
+This is the default serializer for SOAP::WSDL::Client and Interface classes
+generated by SOAP::WSDL
+
+It may be used as a template for creating custom serializers.
+
+See L<SOAP::WSDL::Factory::Serializer|SOAP::WSDL::Factory::Serializer> for
+details on that.
+
+=head1 METHODS
+
+=head2 serialize
+
+Creates a SOAP envelope based on the body and header arguments passed.
+
+Sets SOAP namespaces.
+
+=head2 serialize_body
+
+Serializes a message body to XML
+
+=head2 serialize_header
+
+Serializes a message header to XML
+
+=head1 LICENSE AND COPYRIGHT
+
+Copyright (c) 2007 Martin Kutter. All rights reserved.
+
+This file is part of SOAP-WSDL. You may distribute/modify it under
+the same terms as perl itself
+
+=head1 AUTHOR
+
+Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
+
+=head1 REPOSITORY INFORMATION
+
+ $Rev: 851 $
+ $LastChangedBy: kutterma $
+ $Id: XSD.pm 851 2009-05-15 22:45:18Z kutterma $
+ $HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Serializer/XSD.pm $
+
+=cut
+
diff --git a/perllib/Utils.pm b/perllib/Utils.pm
index 4e64836c6..6a47fd17d 100644
--- a/perllib/Utils.pm
+++ b/perllib/Utils.pm
@@ -140,6 +140,47 @@ sub london_categories {
};
}
+sub barnet_categories {
+ # The values here are KBIDs from Barnet's system: see bin/send-reports for formatting
+ if (mySociety::Config::get('STAGING_SITE')) { # note staging site must use different KBIDs
+ return {
+ 'Blocked drain' => 255, # Gullies-Blocked
+ 'Dead animal' => 286, # Animals-Dead-Removal
+ 'Dog fouling' => 288, # Dog Fouling-Clear
+ 'Fly tipping' => 347, # Fly tipping-Clear
+ 'Graffiti' => 292, # Graffiti-Removal
+ 'Litter, accumulated' => 349, # Accumulated Litter
+ 'Litter, overflowing bins' => 205, # Litter Bins-Overflowing
+ 'Pavements' => 195, # Pavements-Damaged/Cracked
+ 'Pothole' => 204, # Pothole
+ 'Roads Signs' => 432, # Roads Signs - Maintenance
+ 'Street Lighting' => 251, # Street Lighting
+ 'Traffic Lights' => 103, # Traffic Lights
+ }
+ } else {
+ return {
+ 'Abandoned Vehicle' => 468,
+ 'Accumulated Litter' => 349,
+ 'Dog Bin' => 203,
+ 'Dog Fouling' => 288,
+ 'Drain or Gully' => 256,
+ 'Fly Posting' => 465,
+ 'Fly Tipping' => 449,
+ 'Graffiti' => 292,
+ 'Gritting' => 200,
+ 'Highways' => 186,
+ 'Litter Bin Overflowing' => 205,
+ 'Manhole Cover' => 417,
+ 'Overhanging Foliage' => 421,
+ 'Pavement Damaged/Cracked' => 195,
+ 'Pothole' => 204,
+ 'Road Sign' => 80,
+ 'Roadworks' => 246,
+ 'Street Lighting' => 251,
+ };
+ }
+}
+
=head2 trim_text
my $text = trim_text( $text_to_trim );
diff --git a/t/app/controller/alert_new.t b/t/app/controller/alert_new.t
index 5ea73625a..3a4c2ef81 100644
--- a/t/app/controller/alert_new.t
+++ b/t/app/controller/alert_new.t
@@ -452,7 +452,7 @@ subtest "Test normal alert signups and that alerts are sent" => sub {
$count++ if $_->body =~ /The following updates have been left on this problem:/;
$count++ if $_->body =~ /The following new problems have been reported to City of\s*Edinburgh Council:/;
$count++ if $_->body =~ /The following nearby problems have been added:/;
- $count++ if $_->body =~ / -\s+Testing, EH1 1BB/;
+ $count++ if $_->body =~ /\s+-\s+Testing,\s+EH1\s+1BB/;
}
is $count, 5, 'Five emails with the right things in them';
diff --git a/t/app/model/alert_type.t b/t/app/model/alert_type.t
index ab129b4e7..67ddc10aa 100644
--- a/t/app/model/alert_type.t
+++ b/t/app/model/alert_type.t
@@ -202,7 +202,7 @@ for my $test (
(my $title = $report->title) =~ s/ /\\s+/;
my $body = $email->body;
- like $body, qr#report/$report_id - $title, $pc#, 'email contains expected postcode';
+ like $body, qr#report/$report_id\s+-\s+$title,\s+$pc#, 'email contains expected postcode';
};
}
diff --git a/templates/web/default/admin/council_contacts.html b/templates/web/default/admin/council_contacts.html
index acfec3ed4..da7223aa6 100644
--- a/templates/web/default/admin/council_contacts.html
+++ b/templates/web/default/admin/council_contacts.html
@@ -10,7 +10,11 @@
[% IF example_pc %]
<a href="[% c.uri_for_email( '/around', { pc => example_pc } ) %]">[% tprintf( loc('Example postcode %s'), example_pc ) | html %]</a> |
[% END %]
+[% IF c.cobrand.moniker == 'emptyhomes' %]
+<a href="[% c.uri_for( 'search_reports', search => 'area:' _ area_id ) %]">[% loc('List all reported problems' ) %]</a>
+[% ELSE %]
<a href="[% c.uri_for_email( '/reports/' _ area_id ) %]">[% loc('List all reported problems' ) %]</a>
+[% END %]
<a href="[% c.uri_for( 'council_contacts', area_id, { text => 1 } ) %]">[% loc('Text only version') %]</a>
</p>
diff --git a/templates/web/default/admin/search_users.html b/templates/web/default/admin/search_users.html
index b4fa2c2da..18c964dfe 100644
--- a/templates/web/default/admin/search_users.html
+++ b/templates/web/default/admin/search_users.html
@@ -18,7 +18,7 @@
[%- FOREACH user IN users %]
<tr>
<td>[% PROCESS value_or_nbsp value=user.name %]</td>
- <td>[% PROCESS value_or_nbsp value=user.email %]</td>
+ <td><a href="[% c.uri_for( 'search_reports', search => user.email ) %]">[% PROCESS value_or_nbsp value=user.email %]</a></td>
<td>[% PROCESS value_or_nbsp value=user.from_council %]</td>
<td>[% user.flagged ? loc('Yes') : '&nbsp;' %]</td>
<td><a href="[% c.uri_for( 'user_edit', user.id ) %]">[% loc('Edit') %]</a></td>
diff --git a/templates/web/default/common_header_tags.html b/templates/web/default/common_header_tags.html
index e74ae7b70..c87f93994 100644
--- a/templates/web/default/common_header_tags.html
+++ b/templates/web/default/common_header_tags.html
@@ -3,7 +3,7 @@
<script type="text/javascript" src="/js/validation_strings.[% lang_code %].js?[% Math.int( date.now / 3600 ) %]"></script>
-<script type="text/javascript" src="/jslib/jquery-1.7.0.min.js"></script>
+<script type="text/javascript" src="/jslib/jquery-1.7.2.min.js"></script>
<script src="[% version('/js/jquery.validate.min.js') %]" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" src="[% version('/js/geo.min.js') %]"></script>
diff --git a/templates/web/default/js/validation_strings.html b/templates/web/default/js/validation_strings.html
index 70a0ed41c..718d10d56 100644
--- a/templates/web/default/js/validation_strings.html
+++ b/templates/web/default/js/validation_strings.html
@@ -1,18 +1,18 @@
validation_strings = {
- update: '[% loc('Please enter a message') %]',
- title: '[% loc('Please enter a subject') %]',
- detail: '[% loc('Please enter some details') %]',
+ update: '[% loc('Please enter a message') | replace("'", "\\'") %]',
+ title: '[% loc('Please enter a subject') | replace("'", "\\'") %]',
+ detail: '[% loc('Please enter some details') | replace("'", "\\'") %]',
name: {
- required: '[% loc('Please enter your name') %]',
- validName: '[% loc('Please enter your full name, councils need this information – if you do not wish your name to be shown on the site, untick the box below') %]'
+ required: '[% loc('Please enter your name') | replace("'", "\\'") %]',
+ validName: '[% loc('Please enter your full name, councils need this information – if you do not wish your name to be shown on the site, untick the box below') | replace("'", "\\'") %]'
},
- category: '[% loc('Please choose a category') %]',
+ category: '[% loc('Please choose a category') | replace("'", "\\'") %]',
rznvy: {
- required: '[% loc('Please enter your email') %]',
- email: '[% loc('Please enter a valid email') %]'
+ required: '[% loc('Please enter your email') | replace("'", "\\'") %]',
+ email: '[% loc('Please enter a valid email') | replace("'", "\\'") %]'
},
email: {
- required: '[% loc('Please enter your email') %]',
- email: '[% loc('Please enter a valid email') %]'
+ required: '[% loc('Please enter your email') | replace("'", "\\'") %]',
+ email: '[% loc('Please enter a valid email') | replace("'", "\\'") %]'
}
};
diff --git a/templates/web/default/report/_main.html b/templates/web/default/report/_main.html
index 8cc1efec2..3a9e60e7b 100644
--- a/templates/web/default/report/_main.html
+++ b/templates/web/default/report/_main.html
@@ -2,9 +2,11 @@
<p><em>[% problem.meta_line(c) | html %]
[% IF problem.council %]
- [% IF problem.whensent %]
- <small class="council_sent_info"><br>[% problem.duration_string(c) %]</small>
- [% END %]
+ [% IF problem.whensent || problem.can_display_external_id %]
+ <small class="council_sent_info"><br>
+ [% problem.processed_summary_string(c) %]
+ </small>
+ [% END %]
[% ELSE %]
<br><small>[% loc('Not reported to council') %]</small>
[% END %]
diff --git a/templates/web/fixmystreet/header.html b/templates/web/fixmystreet/header.html
index cfd13415d..4b1a40f71 100644
--- a/templates/web/fixmystreet/header.html
+++ b/templates/web/fixmystreet/header.html
@@ -13,7 +13,7 @@
<link rel="stylesheet" href="[% version('/cobrands/fixmystreet/base.css') %]">
<link rel="stylesheet" href="[% version('/cobrands/fixmystreet/layout.css') %]" media="(min-width:48em)">
- <link rel="stylesheet" href="[% version('/js/fancybox/jquery.fancybox-1.3.4.css') %]">
+ [% extra_css %]
<!--[if (lt IE 9) & (!IEMobile)]>
<link rel="stylesheet" href="[% version('/cobrands/fixmystreet/layout.css') %]">
<![endif]-->
@@ -21,7 +21,7 @@
<script src="[% version('/js/modernizr.custom.76759.js') %]" charset="utf-8"></script>
<script src="[% version('/cobrands/fixmystreet/position_map.js') %]" charset="utf-8"></script>
[% INCLUDE 'common_header_tags.html', js_override = '/cobrands/fixmystreet/fixmystreet.js' %]
- <script src="[% version('/js/fancybox/jquery.fancybox-1.3.4.pack.js') %]" charset="utf-8"></script>
+ [% extra_js %]
[% IF c.req.uri.host == 'osm.fixmystreet.com' %]
<link rel="canonical" href="http://www.fixmystreet.com[% c.req.uri.path_query %]">
diff --git a/templates/web/fixmystreet/questionnaire/index.html b/templates/web/fixmystreet/questionnaire/index.html
index 3b23c81cd..ded95df04 100644
--- a/templates/web/fixmystreet/questionnaire/index.html
+++ b/templates/web/fixmystreet/questionnaire/index.html
@@ -1,4 +1,5 @@
[%
+ PROCESS "report/photo-js.html";
PROCESS "maps/${map.type}.html";
INCLUDE 'header.html', title = loc('Questionnaire'), bodyclass = 'mappage'
%]
diff --git a/templates/web/fixmystreet/report/_main.html b/templates/web/fixmystreet/report/_main.html
index 762aa10f7..7ceb1f6a5 100644
--- a/templates/web/fixmystreet/report/_main.html
+++ b/templates/web/fixmystreet/report/_main.html
@@ -4,8 +4,10 @@
<p><em>
[% problem.meta_line(c) | html %]
[% IF problem.council %]
- [% IF problem.whensent %]
- <small class="council_sent_info"><br>[% problem.duration_string(c) %]</small>
+ [% IF problem.whensent || problem.can_display_external_id %]
+ <small class="council_sent_info"><br>
+ [% problem.processed_summary_string(c) %]
+ </small>
[% END %]
[% ELSE %]
<br><small>[% loc('Not reported to council') %]</small>
diff --git a/templates/web/fixmystreet/report/display.html b/templates/web/fixmystreet/report/display.html
index 6db70f5ad..c0d89973c 100644
--- a/templates/web/fixmystreet/report/display.html
+++ b/templates/web/fixmystreet/report/display.html
@@ -1,4 +1,5 @@
[%
+ PROCESS "report/photo-js.html";
PROCESS "maps/${map.type}.html";
problem_title = problem.title _ ' - ' _ loc('Viewing a problem');
diff --git a/templates/web/fixmystreet/report/new/councils_text_all.html b/templates/web/fixmystreet/report/new/councils_text_all.html
index fb10ec4fd..fe2d5be12 100644
--- a/templates/web/fixmystreet/report/new/councils_text_all.html
+++ b/templates/web/fixmystreet/report/new/councils_text_all.html
@@ -1,5 +1,5 @@
<p>
-[% IF all_councils.${area_ids_to_list.0}.type == 'LBO' %]
+[% IF area_ids_to_list.0 != 2489 && all_councils.${area_ids_to_list.0}.type == 'LBO' %]
[%
tprintf(
loc('All the information you provide here will be sent to <strong>%s</strong> or a relevant local body such as <strong>TfL</strong>, via the London Report-It system.'),
@@ -16,4 +16,4 @@
[% END %]
[% loc('The subject and details of the problem will be public, plus your name if you give us permission.') %]
-</p> \ No newline at end of file
+</p>
diff --git a/templates/web/fixmystreet/report/photo-js.html b/templates/web/fixmystreet/report/photo-js.html
new file mode 100644
index 000000000..df0e2f92d
--- /dev/null
+++ b/templates/web/fixmystreet/report/photo-js.html
@@ -0,0 +1,8 @@
+[% IF c.cobrand.allow_photo_display %]
+ [% extra_css = BLOCK %]
+ <link rel="stylesheet" href="[% version('/js/fancybox/jquery.fancybox-1.3.4.css') %]">
+ [% END %]
+ [% extra_js = BLOCK %]
+ <script src="[% version('/js/fancybox/jquery.fancybox-1.3.4.pack.js') %]" charset="utf-8"></script>
+ [% END %]
+[% END %]
diff --git a/templates/web/fixmystreet/static/for_councils.html b/templates/web/fixmystreet/static/for_councils.html
index 2e83c7c6c..1e1789df7 100644
--- a/templates/web/fixmystreet/static/for_councils.html
+++ b/templates/web/fixmystreet/static/for_councils.html
@@ -38,8 +38,6 @@ forty local authorities in the UK. We understand the challenges that councils
face in channel shift, and will bring our passion and expertise to support your
journey.
-<p><a href="http://www.mysociety.org/wp/wp-content/uploads/2012/02/FixMyStreet_for_councils_2012.pdf">FixMyStreet for Councils brochure</a>
-
<p>Have questions? Read our <a href="/for-councils/faq">Questions and Answers for Councils</a>
or get in touch at <a href="mailto:hello&#64;mysociety.org">hello&#64;mysociety.org</a>.
diff --git a/templates/web/fixmystreet/static/for_councils_faq.html b/templates/web/fixmystreet/static/for_councils_faq.html
index 16c7d5cfe..d45166ed1 100644
--- a/templates/web/fixmystreet/static/for_councils_faq.html
+++ b/templates/web/fixmystreet/static/for_councils_faq.html
@@ -131,15 +131,22 @@ href="mailto:hello&#64;mysociety.org">let us know</a>.
<dd>
<ul>
-<li>The front end product costs £3,500 in year one, reducing to £1,500 per annum in future years.
-<li>The mobile web version costs £3,000 in year one and £1,000 per annum subsequently.
-<li>Back-end integration costs depend on the complexity of your systems. Prices start at £3,500 in year one, then £1,500 per annum.
+<li>The front end product costs £3,500 in year one, reducing to £2,000 per annum in future years.
+<li>Web and mobile-optimised site together cost £5,500 in year one and £3,000 per annum subsequently.
+<li>Web, mobile-optimised site, and iPhone and Android apps cost £9,500 in year one, then £4,000 per annum.
</ul>
+<p>We also offer fixed price for integration with Microsoft, Oracle and
+Lagan CRM systems, at £5,500 in year one, then £2,000 per annum
+thereafter. Integration with other CRM or back-office systems costs
+£6,500 in year one,
+
+<p>These prices exclude VAT and assume standard FixMyStreet for councils
+product - if you need further customisations please get in touch with
+us for a quote.
+
<p>The prices are all-inclusive, covering installation, updates, unlimited
-problem reports and user training. There are no hidden fees. Please see <a
-href="http://www.mysociety.org/wp/wp-content/uploads/2012/02/FixMyStreet_for_councils_2012.pdf">our
-brochure</a> for more detail on what’s included.
+problem reports and user training. There are no hidden fees.
<p>There’s no commitment beyond the first 12 months, so you won’t be locked
into a lengthy contract.
diff --git a/templates/web/fixmystreet/static/privacy.html b/templates/web/fixmystreet/static/privacy.html
index 17480f68b..933afe1e5 100755
--- a/templates/web/fixmystreet/static/privacy.html
+++ b/templates/web/fixmystreet/static/privacy.html
@@ -3,9 +3,9 @@
<div class="sticky-sidebar">
<aside>
<ul class="plain-list">
- <li><a href="#faq">Frequently Asked Questions</a></li>
- <li><a href="#practical">Practical Questions</a></li>
- <li><a href="#organisation">Organisation Questions</a></li>
+ <li><a href="/faq#faq">Frequently Asked Questions</a></li>
+ <li><a href="/faq#practical">Practical Questions</a></li>
+ <li><a href="/faq#organisation">Organisation Questions</a></li>
<li><strong>Privacy and cookies</strong></li>
</ul>
</aside>
diff --git a/urls.txt b/urls.txt
deleted file mode 100644
index 5c9b25f34..000000000
--- a/urls.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-This is a list of some of the urls currently served:
-
-homepage: /
-postcode search: /?pc=SW1A+1AA
-placename: /?pc=Westminster
-street (ambiguous): /?pc=St+Margaret+St
-street (exact): /?pc=St+Margaret+St%2c+Westminster%2c+London+SW1A+2
-
-all reports: /reports
-council reports: /reports/Aberdeen
-individual report: /report/173526
-
diff --git a/web/cobrands/fixmystreet/_base.scss b/web/cobrands/fixmystreet/_base.scss
index 4202564f7..644b015b5 100644
--- a/web/cobrands/fixmystreet/_base.scss
+++ b/web/cobrands/fixmystreet/_base.scss
@@ -1,7 +1,7 @@
/* HEADINGS and TYPOGRAPHY */
body {
- font-family: 'MuseoSans', 'Helvetica', 'Arial', sans-serif;
+ font-family: MuseoSans, Helmet, Freesans, sans-serif;
margin:0;
font-size:1em;
line-height:1.5;
@@ -17,14 +17,14 @@ p {
}
small{
- font-family: 'helvetica', 'arial',sans-serif;
+ font-family: Helmet, Freesans, sans-serif;
font-style: italic;
font-size: 0.8125em;
line-height: 1.2307em;
}
h1 {
- font-family:'Museo300-display', 'Helvetica', 'Arial', sans-serif;
+ font-family: 'Museo300-display', MuseoSans, Helmet, Freesans, sans-serif;
font-size: 2em;
line-height: 1em;
font-weight: normal;
@@ -43,7 +43,7 @@ h1#reports_heading a {
}
h2 {
- font-family:'Museo300-display', 'Helvetica', 'Arial', sans-serif;
+ font-family:'Museo300-display', MuseoSans, Helmet, Freesans, sans-serif;
font-size: 1.5em; /*24px*/
line-height: 1.3333em; /*32px*/
font-weight: normal;
@@ -56,12 +56,12 @@ h3 {
line-height: 1.20em;
margin-top: 1.2em;
margin-bottom: 0.8em;
- font-weight: bold
+ font-weight: normal;
}
h4 {
font-size: 1em;
- font-weight: bold;
+ font-weight: normal;
margin-bottom: 1em;
}
@@ -105,7 +105,7 @@ ol.big-numbers {
color:#ccc;
line-height:1;
font: {
- family: 'helvetica', 'arial', sans-serif;
+ family: Helmet, Freesans, sans-serif;
weight:bold;
size:2.5em;
}
@@ -151,7 +151,10 @@ select, input, textarea {
font-size: 99%;
max-width: 95%;
}
-
+// To deal with bug from drop-down being wider than holder
+select {
+ width: 100%;
+}
// links
a,
@@ -177,14 +180,14 @@ a:visited {
margin-bottom: 0px;
}
.meta-2{
- font-family: 'helvetica', 'arial',sans-serif;
+ font-family: Helmet, Freesans, sans-serif;
color:#666666;
font-style: italic;
font-size: 0.75em;
}
h4.static{
- font-family: 'helvetica', 'arial',sans-serif;
+ font-family: Helmet, Freesans, sans-serif;
text-transform: uppercase;
font-size: 0.875em;
line-height: 1.71428em;
@@ -256,7 +259,7 @@ textarea {
display: block;
font-size: 1em;
line-height: 1.5em;
- font-family: 'helvetica', 'arial', sans-serif;
+ font-family: Helmet, Freesans, sans-serif;
min-height:8em;
}
@@ -379,7 +382,7 @@ p.label-valid {
// Padding creates page margins on mobile
.container{
- padding: 0 1em;
+ padding: 0 1em 1em;
}
// Use full width to reverse .container margins
@@ -402,7 +405,7 @@ p.label-valid {
width: 175px;
height: 40px;
top: 0.4em;
- background: url('/cobrands/fixmystreet/images/sprite.png') -3px -3px no-repeat;
+ background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAK8AAAAoCAYAAACIJ6oVAAAACW9GRnMAAAADAAAAAwB3k5ejAAAACXBIWXMAAABIAAAASABGyWs+AAAACXZwQWcAAAF5AAAQZgCwCYXlAAAABmJLR0QA/wD/AP+gvaeTAAAag0lEQVR42u1cB1RWx7YeBBW7YAOViL0bNSomdsWADVsQbEHFiAUUMYmiokEUWzQiiQ0VNSC2gFiJmthbiF1jwxaNGr0pKra8t1be3r/frLc99/zwo7nv3rzFWWuv/z9zZs6ZM/PtPd/eM3OUyj1yj9wj98g9co/cI/fIPXKP3MPaYQfJY6Po/LlH7vFvBa09ST6SIiROJM7ZiBPy5kPZXBDnHv8W0OYHGCuSeJB4kniReFsRL+TxQBkngDhPbpPmHv8XRx4AjoFXiaQFSUDXrl2XxMfHp585c+b2nyZHZmbmM742b968gx4eHvO5DElzkgokhXKtcO7xrz7sAbQKAF7AoEGDEk+ePPnznzk8tm3bdhUg7kFSE5QiJ1bY7jXkrxyB/pX5/4o2yD0EcKuQdHdzc5t14MCBm3++5rFy5cqjdL9AKMMbJAWzAbB0DLlODlmIPeSvdBrNnFNr97LmyL4OsOQ97bNoA/nuf1eA/yX1zCOA69uxY8eEhw8f/mEGxrt37z5OS0vLWLZs2QmS4yzr168/d/Xq1V+sAfjKlSu/kjLMpHv7AMD5TCprJ7h2XvDtAqgXS2EhOq0g8jgiv5Z8ooNtbRj5fAfcI5+VexkBlhf5XvXZRsXVz3fEOxrbQL+7I/LlNVFio2Lb/YeBNqt62uXkRvlAFboDuP9lQgOudenSZRmsqI+Js+bj6en58erVq/cT/31uLH/p0qUHAHALUAj7LJzEQuDcpUlcScqRlBfC52VJypCUElEOluIkRdG5OYl4GJ9fVNyrENKlpcsD0DgiulIczy+G/DmNtkjFLYj7lCRxsfL+Lnh3JwC6gEGBHYVS531FZfpXWVppoMzqabOy2aMBmjNHNVrcCxcuPPL29l4D0LYkqQzQlICUhJSB5W5ZtWrV4KNHj14xs8C4T010cB4rIbkycBbrkLyF6EVTIU1IGpHUJ6lFUg31qowoR3nUqbCNIJLALQqleQP3egPnRXHdwQAyZ4CpEp5fAfmLCMDb2QjcfKgzg9Id79YQ7/82yTv49UC71EWblxdALo46lUT/FLeifLZSjFelIXZZjFTaQBQX+HFGGxdA22YLYDvciBs+4NSpUy85ZhcvXnxUtmzZhXTNTzhdjrh5ATxMx3eLocNKIK9fbGzsXiOAU1JSTsKJqyDogx1AUQgdX33RRDX84EqV8G2cWrdzkfpqx0KVzML/dy5WX1H6+n3LVdKsUPUR5W/DFn3BeBV8ap2KS5hmUZBK6NBC2TSGUXHY0tc4s0EtObFWLW3R0HLvGkgvIqhBQbwrP6dB0gwVfixJLY+brIYivwuAmF1H2IkITxGU4/LvvPnmm73IZ1hAo9axe/fu3dBtyP8vX76cnpSUFPPWW291pbyNAXStwNXQBzWggC7oH0dh3ewNw7Y138HeRPKYgNnOCl+3N3B3R9TFBW3H9ayNOruhTQvZAmBtdVtOnz59i9HiAri+JFVFRxhjv+1I2nIHwmLqYZTL+JoBGFGI5riPvei8orB0jffHq9V/nlR/2iLV3dUQKtNrz1K1ls/TE9UKWGU3aLcjGi6PlUbOJxWHFUHfmxUEI051XC8M4DrBOjauV035PU9XmSJ/M1jEElByBxM+Z2diccsAhG0GDx4c/vTp0yfZOcTPnj17PGnSpEjE2LmeLVJTU2fytT/++OPR2rVrxwIc5dAWBcVQbSb5BdfXfkdBIVnxbAcDHSggRPP34qhL7QEDBrz3+PHju1xXUsY0KGEVWOKCot2scl0GYYDkqcx5GzZsuAoWVwL3pTAaNfCqmJiY/dOmTdtepUqVkRjGCgsrymX9jBSCoxiIA1cUw1l+vJgltuzdTI0a5quWaBD17ahS+3dWyQFd1PoAH7V2YFeV9Mte9RtfG9lbxVKZYUsi1PKbX6sf1sxU8zDEVhVDfgHhTDkYnKLCAFpF0BJf/dzf96t/QIGbAqzOqCdb4noknbZ+rjbr/Fti1Rb4BA0wnBcXzzZyZiNVYOvTysvLa/QTOnIS1RkzZswcKtufhQGt02/dunUOxqUOlLm0GKpL4rlaSor3K442KQUr6WrCsx0NQC8oRuNSUMYy4t6l0CZcl3a7du3aIN/Bx8cnCLSokhjlTWlXHjyo6cyZM1PlTRYvXnxWcFMJXEsYjfNLsGdkZPzm7u4+AR1WWHQM/6/JjpzRiYP19YCV1p1YHABi5ehHMlGDgv4vImFQstMXTTLtYqq6xtdG+CkeIUJJRpAMIunJIEAjVUCjlxDOV0HhlDmjgSvAWncK7afmScv+ebj6ktOhnOVxvyp6AufXfS+UiOXgCnUcINLWuhyeXUTwOQfh7GmOXVkrzqFDh743gvO77777nQzFtfnz51/ZvXv3P8Xdjx07dpHKch9EyHTqmwy0ZRu8n6YTtdA+daGEdZFWHe9WFXnrgXc3wm8dXC8HQBaDOKNdKkAJ6+J59fFfP/dNKFP/DRs27JJ1DQkJ+ZzxBT5fDm2W18z62kMTOh0+fPiatLrly5efi8Z3FhaKh/NuNCQdN/Dih+XKlfuCrnVFHkcxdORHx7XcsmXLd7Icz8RhKtlJOEBFAI5GAOAYAd5Z3DEkYSRs5UcBsKMgnBZM8gFGjHehHPXQcFVQP1eA1RXnVdBpDdDB/Yf0VMv5mZmH1XP+ZQtP6e8DrDVQhvN3mT/2Bb3ReS9sVDcofTjA7mHo7BIiMqCpRzncsyksdsiNGzfuybaaM2fObUrn9tpFso1kO1naMzIP9eF1Sud+WCTTf/jhBx7lPibpizq9O3r06BHdu3dn49SN/Y8uXboMjYyMjECaN/qlPeevXbt2/wkTJkSNHz9+6sSJE6d07dr1A1xvjHatiBGpGoDavH79+j2nTJkykekMCyxqJ1CbzlDu8BUrVqTLugYEBKxD27VHm5REW9mbOWqs7YPkDQhk12F1KyNPHoCqyZAhQ5YbeHEm8eI4QS+KoHNc8ELa4lRh6yvL8lQyGspZEPoCsEK1AL4PBHiZuzG37Q1g98RzuSEGX9umLl3dqi6nr1aH331bjYFT6H1vtzpJVOJAYrTFKjUBmGvDAniwk8V5yNFLpvP3GDxMS/iZqTHq1t1v1GP+/8lQtRwK2hSWgYH+/i+wultj1XX+/SFFMVj4+X1C+6pgvvf5FLUWHasjNU5oG1aeeuMDVeC5ZPXt9e2KrecUo1Ul0Nyi9H0kTEk2QFK++OKLi3rka9u27ba4uLhT1mjF7du3f2Jg7N279xudRqBMSEtLO2Ri/UIqVqw4jhTie7N7Xbt27RJhYSzA2Bwc35OBfvz48QNWYv0Z/v7+bIBC33777bnEdZ+Z5SO29DQiIiISylFeWN+XwMuJHrxmwVD5HdCSUoKjcWN7Hjly5KoB6GxlhsG6FMMQyB3Uvm7dur0BwqLoMJ+ff/75kVwLIcCrCb/kvdwofQV4QxgQJB0x7LSBBejC6XKY3xRjsU4DjenEoT/Eu/FzO++Gg8fCXBlKGx7zsdrPafR7Lay/Osv/iaKwUg+G5eBO8x3ZR8XytZ+/VY/oPJn/39+jHtD/8axo4YFqmr7/jkUW2uMhvGp3KJDn5c0qXbxnjNl0/DfffHM/Ojr6LLXrJsqTSLKahEOYrBjsJGY7jc90S57L/tDH8uXLvyfOvd4auCTIevfuPR2+S0CbNm0mZOdg8j3p3mup3Las8q2hg+7ZGlgqjpH/Jb5rAWTfvn1TDaQ5DtalqAAVA8ybAWcSt+0HE18WYPWdPXt2CvG2Y2JCgs1/B+OiHhPwaurgho7uJTo1FEO3D0DbCuIFCxw8O+wFgDZ8qr4BleCw1fBdi9VeTv9tv/oFvHhonw7UkZT29Kh60ruDmg6rzkNWRPwU9T3Ay4DdTdY3E+BfAgBzPYZf2vSCc48frA7R+TpR14mgMcNH9VHzOe3BQXUfitZU8MG27Jjy9SdH1dNypVUMpS0MDw8/klXn3r17N5PXjgwdOnQv5Wc+vpLF19f3W+K+L810Mg08ceLEPZ4JpTyLs7rvo0eP/qhVq9aeS5cuPZTp5PQ9Jyucyb8y/dy5czwicNtFG6kO5X1Gxu4R0ZYnxsmqUqVK7SJl/IfxfkxB2UBWqlTpI1CHqsBpfiN4LYAkLdhqANRwkHZHEX8tExwcHGpFm9nK9AJ/GkpcZ6fgWu2FV+vNDZgFePWzCoMHNpZeP1mnK0wN2ELe3qXOkLU7xUMy7sHgHTm4u1rFedfMVNypH4EDM4gnEhe1DOuJ09UBOp9B97nL53GTLVZ6NMDLYJ+wYor6jq9FjVAXmGdGh6gzfL47TrEjO4mt8wc91ApOozo8BHhWCfBGCD4+lhy6Xzn9owEW3t4FSsejhy+PEnxtzzJ1hs4/ZctLsiwxMTHDligDWc9MomSpXAZA3iyvp6en/waawbQn3lj+/Pnzj4lrniOjdYKu7xk1atRlQ2TomZOTE1M8ph03k5KSXrLWrVu33kUU4qBMO3v2LJfhUZkxcHP16tUvlSHacJrSj82aNeu+TO/Wrdt3lB6LfmiTleW1Bbw6YlCLONV4s8a7fPny79u3b88g/nRw+vTppw2TEZ5iFs57xIgRu3II3l7ZxXhxDw5lhQQCvEkzLPyQKUIQGiK8UW21+PER9Yyvpy1Qly38NNnSuJPxzv0wBH6Ynqgy+HqPdhagby7trLZoh6xBDZVAaZ+TNb/A58sjFY8wbJEXE2e9z2lvuKhpAC5TnbEzQ9VGTj+9wQLQQeDWrPBBGtidW6p4Op9KEgUQx/fo0eMQ04XsAMyRnPbt26dwGZL1higEh/o47LmAJM5YFqBlLr2RncHk5OS78vrmzZufR0VFPWGZOnXqk4SEhKfyOjlkNzZs2HDfUOYZ5X3M+Vm+/PLLpyYO6AkC70vWumfPnvvZsMCPaYoR+J84r1Xa4OHhEYuCxcRkgx87ZmZrHqwd48aNW4uhX8/RdyAivs8G8BYCBWkkLS/9j4Q11U6bDyy7J8Irwwf3UCuF5R2l4574P2POGHVU34/B2LCmZTIjHKDtBiUI5ogB5+n1rtoJbpm0eOIL7rv1c3WtbhW1Rd/DtaQFMBz2m8fOGqcHvWexgiOhOKPdXNT0J0fUU77WvIFlmGXqEhwx5IWy/UijADtqJOPwjmy5OeLD9UvhYXbAgAFn4uPjf6LDlIsePHjwBqxvgkwnHnwPwGWFiDUZOdkqL0UoMsFIO7I7ZsyY8Ss9O0cxaQIvW/H0Tz/99I5M79Wr1y5Qru5wrMsgKmNvk8M2cuTINPDI8rDAvjzTxjNutlbu9OnTd8ELK+LhFodt3bp1P2ThsJmBt6ch2sBg8IfT1RoTEc1wPuSDnjQsUt61s9QeWNNeiEow4KM8PdQmfT/msRiixiCfFxTiA81l+3VSKTr85FJCJT06pJ6T/EFD/U1QjpMY5hmQM86nqB85fUhPC6BDYGXZoR2/ef4Lpwy0hYE65ViSushp00daLN8ETTWaNWs2kxc4YaIoHg7aWljHHdWrVz9u5JIAIoN3hUw7deoU98VnHBdnhTApswD14RFoHoM9J0D8+OOPf2NqkZMykydPvkrP2j937txbMt3f3387RswOwF4JEfHKPlTGAINlY1D4M3B5jYOtFeOlke7u7hGYKXECeDnOGZiRkfG7lVCZGXg5IN5NgDcIw20bALsO4oz1YX0H6fgswDsM+bshijDl6lb1C19/SADk35VR6qgBvMxHA/VQjg7/BMP5fLrveWm5yeouxzUG3ifMW/nauEGWKEAwrD5b9dAmddQXfI2pCysD0w9xPgWdFtKiRYso2Z59+vTZzJQEws9bzzy8Y8eOF02A+E+8FuCdBwX7zKTMVCgajwafkOF5yRrSkK8pQCZ+Lf+jo6MfBgUFsRN6hSzvU0OZ56JM5rRp0zj/A+a4zKlpJGGHOi0mJua6LMdRCPSHF6IyzmbgtTpJwR4nhugxrq6uy2y1uBwGWbNmzV6yCkMBXBfEbS2TFLycMotJCiN4XTEJ4CPA2xtOTj1YdL1MsBomVAJouF4qwDsCjhxTgSCmEnzt+Br1j5qV1F62onze09NiOd8XtCFIPPMjPcTzcEY0I15f+2qOhb9OR2NbuO3qGS9CbKAtwXj+e1CeieeS1S2+Hh6ojiyJeAH01HmWGTkdnQg2zjoxn61fv34SLORCOGXbiGteN+aD5V1mQhsWA8ALTcA7DgrGijaGOO9LsWIC3iM4axxZuEWO2E9jx479NTw8nO/LjteJuLi4+4YyPKrdRpmbVOZHzk+08UcGLRRwQ2xsbIbB8qahPp0RuSopfC/bpod59oa0Ywd5opnWwMr8t1+/filhYWFzQkJCRoF/yo2XeoEOW8dAXg+cxfSwnQl4LVO1AkjdkF+vFtNz7+5Qlr5Dfckh+V/wcARhAIufl5oFa/msThW1lWOys0LVMU67tUPdAfgGIgw2WjxT0xRfXP+IhvjNidHqYNN6lqF4JIDPMlIriADve6A0DOLRYf1VKl/fu0zdvoPJD3YkoQD87KE8cWDmkPEGgKVLl57kqXuz6WFymq+Cty42hr849IaIRKIJeEdj5OFJnaCBAwcmGfOQI/5b48aNf/Lz87vLkQSdHhkZeZnK7CSak25WpnLlyjepzB1ZhrB2AkoWv3DhwvPGrWODBw9eWbNmzYGYCHIFHhyyXJjDIRd9kwcPHvy3fKAZcDt06JCITqklZo2KiEXFhbWzxyDPYmGO2bJIF1hYbwGkjrDG5eAE6kUgOjLhN9xPLcJs11FwZLaaI27vVD9x+vyxlijEIkQHFmlLuG62+panUJvVVzPIKiZx2u1dFqsRAP7VGjN+vrCiQbjWA9d55m3wp2HqK1j3C6P6Wix6Tyh1Z0xbR/OEhn6nQ6ssceRIMaXNEY8xHGbMCYdkgMI68+Kcz+7du2c6WrZq1Wq3CXiHgy55QVF5Zu26Lc/FGhgOE65OSEi4aksZcjq/Rz1jrM0IkqJuxCSVO/o4b46WRNoAXLlU0sGwLE4D1+LsGaMU7CQalkQqAd6CmCLmKdx2ArztkFZGLK4uhHOeqeqqJwREmbCNn6k0/n8pVV0Dt5wEbz6SeaiOAnRppZbqYZ+Fp5phkVpAkd6E5W+NurTCeSP89wv2f8FrxfN7gKO3BzAj5n6oDuvroX0tjloYLHR7WGm2Op8QfThrS3/cuXPncfv27ZOxWIlj7pM2btx43Cxvy5Yt93F+fX7z5s07GJ084fwygAe5ubnNJh77Y3a+TaNGjZYitMfPXrB169ZrWZUhpXrYpEmTzxHhmUQOabzZrhu6z2a0sekkhU2L0c2A6+XltQ4aWh2W1sGwQt5ZL0Y3c/asLEaXi8IdQQe44m8f+VKtYgE1qCrWyOYTnLo6+PD7q6aq5OS5ageDlukATwIQr9zu722ZIBgq+B0P06ETBqsEGub3MB0Y1E0lcoyYZ+j6d7YAvROsvd6dUQHOZzWxa6MygM0dP2DlVJWS8pn6evsXKhUWWYPdYtW83nkxJY3JjSkAT1sMk01gyblukQ0aNEhYsmTJaZ4h41k1uYpv//79t4hiHECYbiIc1AGIrIyLior6+tChQze4T3mkGzZsGFOZhHbt2m2h9Ovp6emXaUifjb7wELtWvDESRJGzuIWfw7F8rSh8v8mTJ+/mDbqgTYNQX6Y+M8jp2sIgNpYhH+cAlZmB0VDXM5wNIQcJOA878VT2KO/EQZtkCd5stwFJKsGai0o2Ewu9C8O0l0JHsvMUyFuHbt++/dTGbUByR0F+0AI3TKN6QOoirZjYjqMXsLshOuENkASAh/bDaqo+GCk6wRK2BA14D40fgvf6EJZwCIb8ZmJNcHE828mwZ64UQNwI1KYPnu2H83aoF9dlPCnVCQZv7DiLUxkm1v7qXRD1Ubf3cT0SK+rmCJmNSMh4gMEfz2gL8PfGO0UgX7SYAIkUDqI/Ro2aYtuTfP4YKNhsPHcWyoehjTujPdviPQaiDbMq0wWWXrfVSNQzCr8jhEJVQJvne60NmGvWrHmAEEckXlqvKHoLvwyMQBoWFhidMxs3YCpBOwrC03wD4KmK/3qFfV6xraQA7ueul+QBMJ5il0crWO76WIdRFZZGfwXIB0D2FTz2HXSq3v5j3KGcXyxkL4nRqyEsrTc6pyM6mOnHcDcXNVPP8vF/dHZLWHO9SLw8/Agdv9bKOAiKHwjL1QdOrCcsdm28W13UXc889jUosb9Q5OZil4Xek2jt+QOFUuqy9TAKVcPo0wLva61MC7HvsB7q2QH16YN8nZFeQ1BEh9fe+s7Wd9OmTTd5Kphn5tgzDQoKWsa/c+fOPbxv376fXmPru3E/WSGAsjTE2bArVy7mkRshK4NG1IBUB1h1eK0UOkkvQK8uFly/BStYB2B0Mdl4adzbpeuqlzjWBpjadG+rAu/vUdenBatFHMb7MU39LNYxhGEmqQHi2kXFAvnSOdiAWRWAKy12PbiLGHgjOLSN8V+/Y23xjsXENh+z5zcRG18bIr2iWORfAv8r2lCmrNgVbqxnQyttb/93+uiIvdhpIPdO5TX5foJxC7qTYVdzCbG1pbDYU6WBUkI0ptlWl+x23UoFchKWq/mCCS9WrklhAL/hahkiB8BKVzVsbM33Clvfi4hvWBRC2RJi0X1Zw/uVMXnHvIKKGZ9fVnxuwEXsoCgk9r4VsqFMcbEH0KyeLugLY9vbvA3+3/25JzvDxzekmH2Uwvjxj/xWNhbmEx1kb9jDVkA0aEHxDQRbvndgBLDeC8cWx4ccv8iv5qidHPudGWpx4sLh4HTEUOtq2GWc04+O5M/Be0kpYPKthOyeb/zYiYNhZ7AtZfKa7CEskEW9cvStif+UD+3l5NNFdla+wmKfxRdZrH1S6VW+NGPcvu6K4a8N+O4QTFoMA//sgOG7AqxRfisjyqt+7slaG2TXJsqG59v6XFvK2NJXr/Rlk7/rJ07tXhH4r/uNLxnqc9JbfOCQdRA7MHTcuAJGI7013i6Hdcuujn/FRwn/6ue+rpF6pQ7J/bi07dZXR0D05soqcI7qiA2LLmJLvIP6z/uW2P+7jsn9rL/tAJYOpLP4LoLx80u5wLXx+B+cTUKEm3GYQAAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxMi0wNS0wMlQxOTo0Njo1MSswMTowMBx1tHgAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTItMDUtMDJUMTk6NDY6NTErMDE6MDBtKAzEAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAABJRU5ErkJggg==') no-repeat;
text-indent: -999999px;
position: absolute;
z-index:2;
@@ -410,11 +413,15 @@ p.label-valid {
.ie6 #site-logo {
background: url('/cobrands/fixmystreet/images/ie_logo.gif') 0 -5px no-repeat;
}
+.ie7 #site-logo {
+ background: url('/cobrands/fixmystreet/images/sprite.png') -3px -3px no-repeat;
+}
+
// this is a skip to nav for mobile users only
#nav-link {
width: 50px;
height: 48px;
- background: url('/cobrands/fixmystreet/images/sprite.png') -5px -916px no-repeat;
+ background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAwCAMAAABkKdmIAAAACW9GRnMAAAAFAAADlACdjNY6AAAACXBIWXMAAABIAAAASABGyWs+AAAACXZwQWcAAAF5AAAQZgCwCYXlAAABEVBMVEUAAAAiIiIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsJAAAAABPQAAAAAAlHgBnVAAAAACSdwAAAAAAAAAaFQAAAAAAAAAAAAAAAACRdgCqigAAAAAAAABHOgDCnwAAAACriwCAaAApIQDOqABIOwCgggBqVwB8ZQDVrgCwkADjuQCafgDftgDetQCqigDrwADHogDGoQDFoAD1yADzxgDyxQDwxAD/0AD///+ZbHkYAAAAWXRSTlMAAAECAwQFBgkLDA0OEBESExQVFxgeHyEkJSkqMTI2Oj0/Q0RHSEpOT1FSVVtmZmxsdX6Kj5ebnp+goaenqKmru7y9vsTY3uPk5OTl5+zs7e7x9PX3+Pr7/fI8qpUAAAABYktHRFoDu6WiAAABMklEQVRIx+3T2VLCMBSA4ZjU1hhpUKgWlaq0VSuutYg7IJuIogKKvv+LSM2AelNOuHCGGf77b7KcBKGwT2AzYej/CIYSPCBEhRKVCILVBJQkVCwIS0NJmglCYhkoycSIINyBEocPiAsl7ljkeypTMhHko9tpD+t0QavUSjcX+bDzy9vSPYj0zg523LDtvaNCD3aWh11ziXMeT64fP0OPX1xbmCVEXdyqwm/sNEWJMr96LXHJb4fLczR1IjWXx83kyv6r3CiLG05VdvpXd9IP5n36XyaStGCiNSS6XYaRsq0LgpnlNyGi6VsMC6IZXlAfLeqBZ2iCIELNbFBpvLQjempUgqxJxb76KdT0/Fw+spzvmVRB6McYlu24ETm2ZfwW/b1pTOeR6Uwj6E8YkxFhjMbuC8zPYpEN6mT7AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEyLTA1LTAyVDE5OjQ2OjUxKzAxOjAwHHW0eAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMi0wNS0wMlQxOTo0Njo1MSswMTowMG0oDMQAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAAElFTkSuQmCC') no-repeat;
display: block;
text-indent: -999999px;
position: absolute;
@@ -443,15 +450,17 @@ p.label-valid {
color:#fff;
text-decoration: none;
}
+ span {
+ background-color: #ccc;
+ }
}
&#mysoc-menu{
li {
a {
background:$primary;
&#mysoc-logo {
- background-image:url('/cobrands/fixmystreet/images/sprite.png');
+ background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIkAAAAyCAMAAABf9whNAAAACW9GRnMAAADwAAAAJgAMZizzAAAACXBIWXMAAABIAAAASABGyWs+AAAACXZwQWcAAAF5AAAQZgCwCYXlAAAANlBMVEUAAAAiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiL///90WH2CAAAAEHRSTlMADx8vP09fb3+Pn6+/z9/v+t8hjgAAAAFiS0dEEeK1PboAAAGqSURBVFjD7ZbNjtwgEAY/oIE2YKj3f9ocPDOZ3eN6FCUKdWsJQ+H+saXNZrPZbDabzf/GovwdIhH8LUzHn/PqI32Jcw1v0fjidQf30EZPqmMURXeT5F5kbYwqSQbeWpAU6xg961pT+mgm+WR4Ke6SzG9JwQRWB6iaTClCzQBLknT0AibZAnCBSx2ALACGQ5JOznsmq1TA82LKIalC6Jwh5seaMGdUWKxiJQpclWVqLNlJsxThUIB6z8Qft3FQgEODrs4qUuj9qoljpAr2euKkmxVIjzrpTBUI90xMGgzJQGrMAEUGrGKQn6c7/HbngT1MMqRO1wdNDA6WpNgW5Ld38s1kuLt7fPbO5Lg7Z76ZaLJoV3WAa6wsxbmiyrMMruyMVxc3SaqvAv+YSQWS1Fs9oAi8jQKmsGB4zwJXgdO9VWnAkaUAHJ81CTAkLYAm5ZbB/QhSmm9d7Ff7Splr5jaI90zMgpQsScHsGmRFUsheH6O1jecR5m5BZlFSzF5NkpJ7lMJ85etDlPWjHdMJ6aMiFdYPdgzw6Q90Yvwo2+fM+3dps9lsNpvNP8gvi7UYry9B6TcAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTItMDUtMDJUMTk6NDY6NTErMDE6MDAcdbR4AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEyLTA1LTAyVDE5OjQ2OjUxKzAxOjAwbSgMxAAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAASUVORK5CYII=');
background-repeat:no-repeat;
- background-position:-240px -38px;
text-indent:-999999px;
}
}
@@ -462,6 +471,10 @@ p.label-valid {
.ie6 #main-nav ul#mysoc-menu li a#mysoc-logo {
background: url('/cobrands/fixmystreet/images/ie_mysoc_logo.gif') center no-repeat;
}
+.ie7 #main-nav ul#mysoc-menu li a#mysoc-logo {
+ background: url('/cobrands/fixmystreet/images/sprite.png') -240px -38px no-repeat;
+}
+
//defines where the table caption is (login stuff on mob, nav menu on desktop)
.wrapper {
width:100%;
@@ -514,7 +527,7 @@ p.label-valid {
text-transform:uppercase;
font: {
size:0.6875em;
- family: 'helvetica', 'arial', sans-serif;
+ family: Helmet, Freesans, sans-serif;
}
&:hover, &.hover, &.active {
text-decoration:none;
@@ -1356,7 +1369,7 @@ table.nicetable {
h2 {
font: {
style:italic;
- family: 'helvetica', 'arial', sans-serif;
+ family: Helmet, Freesans, sans-serif;
size:1.1875em;
}
color:#4d4d4d;
@@ -1366,7 +1379,7 @@ table.nicetable {
padding:1em;
color: $primary_text;
background: $primary;
- font-family: 'helvetica', 'arial', sans-serif;
+ font-family: Helmet, Freesans, sans-serif;
label {
margin:0;
}
@@ -1408,7 +1421,7 @@ table.nicetable {
color:#C8C8C8;
padding:0.5em;
font: {
- family: 'helvetica', 'arial', sans-serif;
+ family: Helmet, Freesans, sans-serif;
size:0.8125em;
}
@include border-radius(0 0 0.25em 0.25em);
@@ -1425,7 +1438,7 @@ table.nicetable {
width:100%;
color: $primary_text;
background: $primary;
- font-family: 'helvetica', 'arial', sans-serif;
+ font-family: Helmet, Freesans, sans-serif;
div {
display:table-cell;
text-align:center;
diff --git a/web/cobrands/fixmystreet/_layout.scss b/web/cobrands/fixmystreet/_layout.scss
index 6d6ad8a78..d9084d928 100644
--- a/web/cobrands/fixmystreet/_layout.scss
+++ b/web/cobrands/fixmystreet/_layout.scss
@@ -176,7 +176,7 @@ h1 {
&#mysoc-logo {
width:84px;
height:16px;
- background-position:-260px -43px;
+ background-position: -20px -5px;
opacity: 0.8;
&:hover {
opacity: 1;
@@ -190,9 +190,9 @@ h1 {
}
}
}
-
-
-
+.ie7 #main-nav ul#mysoc-menu li a#mysoc-logo {
+ background-position: -260px -43px;
+}
// .content Is the white box
@@ -799,7 +799,7 @@ body.frontpage {
top:3em;
width: 300px;
height: 60px;
- background-position:-2px -108px;
+ background: url('/cobrands/fixmystreet/images/sprite.png') -2px -108px no-repeat;
}
#user-meta {
z-index:10;
diff --git a/web/cobrands/fixmystreet/_mixins.scss b/web/cobrands/fixmystreet/_mixins.scss
index f77152dd6..4c7bc5af8 100644
--- a/web/cobrands/fixmystreet/_mixins.scss
+++ b/web/cobrands/fixmystreet/_mixins.scss
@@ -3,7 +3,7 @@
cursor:pointer;
font:{
size: 0.875em;
- family: 'Helvetica', 'Arial', sans-serif;
+ family: Helmet, Freesans, sans-serif;
weight:bold;
}
text-transform:uppercase;
diff --git a/web/cobrands/fixmystreet/base.scss b/web/cobrands/fixmystreet/base.scss
index 55b006b42..21cc16cb4 100644
--- a/web/cobrands/fixmystreet/base.scss
+++ b/web/cobrands/fixmystreet/base.scss
@@ -8,70 +8,5 @@
@import "_colours";
@import "_mixins";
@import "compass";
-
-/* HEADINGS and TYPOGRAPHY */
-
-@font-face {
- font-family: 'MuseoSans';
- src: url('fonts/MuseoSans_300-webfont.eot');
- src: url('fonts/MuseoSans_300-webfont.eot?#iefix') format('embedded-opentype'),
- url('fonts/MuseoSans_300-webfont.woff') format('woff'),
- url('fonts/MuseoSans_300-webfont.ttf') format('truetype'),
- url('fonts/MuseoSans_300-webfont.svg#MuseoSans300') format('svg');
- font-weight: normal;
- font-style: normal;
-}
-
-@font-face {
- font-family: 'MuseoSans';
- src: url('fonts/MuseoSans_300_Italic-webfont.eot');
- src: url('fonts/MuseoSans_300_Italic-webfont.eot?#iefix') format('embedded-opentype'),
- url('fonts/MuseoSans_300_Italic-webfont.woff') format('woff'),
- url('fonts/MuseoSans_300_Italic-webfont.ttf') format('truetype'),
- url('fonts/MuseoSans_300_Italic-webfont.svg#MuseoSans300Italic') format('svg');
- font-weight: normal;
- font-style: italic;
-}
-
-@font-face {
- font-family: 'MuseoSans';
- src: url('fonts/MuseoSans_500-webfont.eot');
- src: url('fonts/MuseoSans_500-webfont.eot?#iefix') format('embedded-opentype'),
- url('fonts/MuseoSans_500-webfont.woff') format('woff'),
- url('fonts/MuseoSans_500-webfont.ttf') format('truetype'),
- url('fonts/MuseoSans_500-webfont.svg#MuseoSans500') format('svg');
- font-weight: bold;
- font-style: normal;
-}
-
-@font-face {
- font-family: 'MuseoSans';
- src: url('fonts/MuseoSans_500_Italic-webfont.eot');
- src: url('fonts/MuseoSans_500_Italic-webfont.eot?#iefix') format('embedded-opentype'),
- url('fonts/MuseoSans_500_Italic-webfont.woff') format('woff'),
- url('fonts/MuseoSans_500_Italic-webfont.ttf') format('truetype'),
- url('fonts/MuseoSans_500_Italic-webfont.svg#MuseoSans500Italic') format('svg');
- font-weight: bold;
- font-style: italic;
-}
-
-@font-face {
- font-family: 'Museo300-display';
- src: url('fonts/Museo300-Regular-webfont.eot');
- src: url('fonts/Museo300-Regular-webfont.eot?#iefix') format('embedded-opentype'),
- url('fonts/Museo300-Regular-webfont.woff') format('woff'),
- url('fonts/Museo300-Regular-webfont.ttf') format('truetype'),
- url('fonts/Museo300-Regular-webfont.svg#Museo300') format('svg');
- font-weight: normal;
- font-style: normal;
-}
-
-
-/* Opera has a bug (from around 10.5 upwards to current 11.6) with showing the
- * table caption *at all* if the header is set to a font-face :( */
-noindex:-o-prefocus, #site-header {
- font-family: sans-serif;
-}
-
@import "_base";
diff --git a/web/cobrands/fixmystreet/fixmystreet.js b/web/cobrands/fixmystreet/fixmystreet.js
index 0be355fe3..085765c75 100644
--- a/web/cobrands/fixmystreet/fixmystreet.js
+++ b/web/cobrands/fixmystreet/fixmystreet.js
@@ -493,6 +493,7 @@ $.fn.drawer = function(id, ajax) {
$('.container').on('click', '#alert_email_button', function(e){
e.preventDefault();
var form = $('<form/>').attr({ method:'post', action:"/alert/subscribe" });
+ form.append($('<input name="alert" value="Subscribe me to an email alert" type="hidden" />'));
$('#alerts input[type=text], #alerts input[type=hidden], #alerts input[type=radio]:checked').each(function() {
var $v = $(this);
$('<input/>').attr({ name:$v.attr('name'), value:$v.val(), type:'hidden' }).appendTo(form);
@@ -550,9 +551,11 @@ $.fn.drawer = function(id, ajax) {
/*
* Fancybox fullscreen images
*/
- $('a[rel=fancy]').fancybox({
- 'overlayColor': '#000000'
- });
+ if (typeof $.fancybox == 'function') {
+ $('a[rel=fancy]').fancybox({
+ 'overlayColor': '#000000'
+ });
+ }
/*
* heightfix the desktop .content div
diff --git a/web/cobrands/fixmystreet/images/sprite.png b/web/cobrands/fixmystreet/images/sprite.png
index cfa2ba098..61c27b32a 100644
--- a/web/cobrands/fixmystreet/images/sprite.png
+++ b/web/cobrands/fixmystreet/images/sprite.png
Binary files differ
diff --git a/web/cobrands/fixmystreet/layout.scss b/web/cobrands/fixmystreet/layout.scss
index f9d5b3930..ff7080c11 100644
--- a/web/cobrands/fixmystreet/layout.scss
+++ b/web/cobrands/fixmystreet/layout.scss
@@ -1,3 +1,68 @@
+@font-face {
+ font-family: 'MuseoSans';
+ src: url('fonts/MuseoSans_300-webfont.eot');
+ src: url('fonts/MuseoSans_300-webfont.eot?#iefix') format('embedded-opentype'),
+ url('fonts/MuseoSans_300-webfont.woff') format('woff'),
+ url('fonts/MuseoSans_300-webfont.ttf') format('truetype'),
+ url('fonts/MuseoSans_300-webfont.svg#MuseoSans300') format('svg');
+ font-weight: normal;
+ font-style: normal;
+}
+
+@font-face {
+ font-family: 'MuseoSans';
+ src: url('fonts/MuseoSans_300_Italic-webfont.eot');
+ src: url('fonts/MuseoSans_300_Italic-webfont.eot?#iefix') format('embedded-opentype'),
+ url('fonts/MuseoSans_300_Italic-webfont.woff') format('woff'),
+ url('fonts/MuseoSans_300_Italic-webfont.ttf') format('truetype'),
+ url('fonts/MuseoSans_300_Italic-webfont.svg#MuseoSans300Italic') format('svg');
+ font-weight: normal;
+ font-style: italic;
+}
+
+@font-face {
+ font-family: 'MuseoSans';
+ src: url('fonts/MuseoSans_500-webfont.eot');
+ src: url('fonts/MuseoSans_500-webfont.eot?#iefix') format('embedded-opentype'),
+ url('fonts/MuseoSans_500-webfont.woff') format('woff'),
+ url('fonts/MuseoSans_500-webfont.ttf') format('truetype'),
+ url('fonts/MuseoSans_500-webfont.svg#MuseoSans500') format('svg');
+ font-weight: bold;
+ font-style: normal;
+}
+
+@font-face {
+ font-family: 'MuseoSans';
+ src: url('fonts/MuseoSans_500_Italic-webfont.eot');
+ src: url('fonts/MuseoSans_500_Italic-webfont.eot?#iefix') format('embedded-opentype'),
+ url('fonts/MuseoSans_500_Italic-webfont.woff') format('woff'),
+ url('fonts/MuseoSans_500_Italic-webfont.ttf') format('truetype'),
+ url('fonts/MuseoSans_500_Italic-webfont.svg#MuseoSans500Italic') format('svg');
+ font-weight: bold;
+ font-style: italic;
+}
+
+@font-face {
+ font-family: 'Museo300-display';
+ src: url('fonts/Museo300-Regular-webfont.eot');
+ src: url('fonts/Museo300-Regular-webfont.eot?#iefix') format('embedded-opentype'),
+ url('fonts/Museo300-Regular-webfont.woff') format('woff'),
+ url('fonts/Museo300-Regular-webfont.ttf') format('truetype'),
+ url('fonts/Museo300-Regular-webfont.svg#Museo300') format('svg');
+ font-weight: normal;
+ font-style: normal;
+}
+
+/* Opera has a bug (from around 10.5 upwards to current 11.6) with showing the
+ * table caption *at all* if the header is set to a font-face :( */
+noindex:-o-prefocus, #site-header {
+ font-family: sans-serif;
+}
+
+h3, h4 {
+ font-weight: bold;
+}
+
@import "_colours";
@import "_layout";
diff --git a/web/js/map-OpenLayers.js b/web/js/map-OpenLayers.js
index a215e923e..20c2ea720 100644
--- a/web/js/map-OpenLayers.js
+++ b/web/js/map-OpenLayers.js
@@ -118,10 +118,10 @@ function fixmystreet_onload() {
var markers = fms_markers_list( fixmystreet.pins, true );
fixmystreet.markers.addFeatures( markers );
if (fixmystreet.page == 'around' || fixmystreet.page == 'reports' || fixmystreet.page == 'my') {
- var select = new OpenLayers.Control.SelectFeature( fixmystreet.markers );
+ fixmystreet.select_feature = new OpenLayers.Control.SelectFeature( fixmystreet.markers );
var selectedFeature;
function onPopupClose(evt) {
- select.unselect(selectedFeature);
+ fixmystreet.select_feature.unselect(selectedFeature);
OpenLayers.Event.stop(evt);
}
fixmystreet.markers.events.register( 'featureunselected', fixmystreet.markers, function(evt) {
@@ -142,8 +142,8 @@ function fixmystreet_onload() {
feature.popup = popup;
fixmystreet.map.addPopup(popup);
});
- fixmystreet.map.addControl( select );
- select.activate();
+ fixmystreet.map.addControl( fixmystreet.select_feature );
+ fixmystreet.select_feature.activate();
} else if (fixmystreet.page == 'new') {
fixmystreet_activate_drag();
}
@@ -164,9 +164,11 @@ function fixmystreet_onload() {
for (var i=0; i<showhide.length; i+=2) {
if (this.innerHTML == showhide[i]) {
fixmystreet.markers.setVisibility(true);
+ fixmystreet.select_feature.activate();
this.innerHTML = showhide[i+1];
} else if (this.innerHTML == showhide[i+1]) {
fixmystreet.markers.setVisibility(false);
+ fixmystreet.select_feature.deactivate();
this.innerHTML = showhide[i];
}
}