]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 351178: WebService needs to be able to provide the server's timezone
authormkanat%bugzilla.org <>
Fri, 29 Sep 2006 08:55:05 +0000 (08:55 +0000)
committermkanat%bugzilla.org <>
Fri, 29 Sep 2006 08:55:05 +0000 (08:55 +0000)
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=wurblzap, a=myk

Bugzilla/WebService.pm
Bugzilla/WebService/Bugzilla.pm

index 9e100c12ac0a9eef14a71c9d86bd34ea692b20a1..edb3bd1f974bce7b2e4434f027b9cf6682f11a74 100755 (executable)
@@ -45,3 +45,33 @@ sub make_response {
 }
 
 1;
+
+__END__
+
+=head1 NAME
+
+Bugzilla::WebSerice - The Web Service interface to Bugzilla
+
+=head1 DESCRIPTION
+
+This is the standard API for external programs that want to interact
+with Bugzilla. It provides various methods in various modules.
+
+=head1 STABLE, EXPERIMENTAL, and UNSTABLE
+
+Methods are marked B<STABLE> if you can expect their parameters and
+return values not to change between versions of Bugzilla. You are 
+best off always using methods marked B<STABLE>. We may add parameters
+and additional items to the return values, but your old code will
+always continue to work with any new changes we make. If we ever break
+a B<STABLE> interface, we'll post a big notice in the Release Notes,
+and it will only happen during a major new release.
+
+Methods (or parts of methods) are marked B<EXPERIMENTAL> if 
+we I<believe> they will be stable, but there's a slight chance that 
+small parts will change in the future.
+
+Certain parts of a method's description may be marked as B<UNSTABLE>,
+in which case those parts are not guaranteed to stay the same between
+Bugzilla versions.
+
index 0caf5fab256fab361b680714923c8089159763a7..dfab698453bd3d94d7a4d991080d6de5c2e796d5 100755 (executable)
@@ -13,6 +13,7 @@
 # The Original Code is the Bugzilla Bug Tracking System.
 #
 # Contributor(s): Marc Schumann <wurblzap@gmail.com>
+#                 Max Kanat-Alexander <mkanat@bugzilla.org>
 
 package Bugzilla::WebService::Bugzilla;
 
@@ -20,8 +21,51 @@ use strict;
 use base qw(Bugzilla::WebService);
 use Bugzilla::Constants;
 
-sub get_version {
+use Time::Zone;
+
+sub version {
     return BUGZILLA_VERSION;
 }
 
+sub timezone {
+    my $offset = tz_offset();
+    $offset = (($offset / 60) / 60) * 100;
+    $offset = sprintf('%+05d', $offset);
+    return 'GMT' . $offset;
+}
+
 1;
+
+__END__
+
+=head1 NAME
+
+Bugzilla::WebService::Bugzilla - Global functions for the webservice interface.
+
+=head1 SYNOPSIS
+
+ my $version = Bugzilla.version;
+ my $tz = Bugzilla.timezone;
+
+=head1 DESCRIPTION
+
+This provides functions that tell you about Bugzilla in general.
+
+=head1 METHODS
+
+See L<Bugzilla::WebService> for a description of what B<STABLE>, B<UNSTABLE>,
+and B<EXPERIMENTAL> mean.
+
+=over
+
+=item C<version>
+
+Returns the current version of Bugzilla, as a string.
+
+=item C<timezone>
+
+Returns the timezone of the server Bugzilla is running on, in GMT(+/-)XXXX 
+format. This is important because all dates/times that the webservice
+interface returns will be in this timezone.
+
+=back