summaryrefslogtreecommitdiffstats
path: root/extensions/TellUsMore/Extension.pm
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/TellUsMore/Extension.pm')
-rw-r--r--extensions/TellUsMore/Extension.pm140
1 files changed, 0 insertions, 140 deletions
diff --git a/extensions/TellUsMore/Extension.pm b/extensions/TellUsMore/Extension.pm
deleted file mode 100644
index deffec9fe..000000000
--- a/extensions/TellUsMore/Extension.pm
+++ /dev/null
@@ -1,140 +0,0 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
-
-package Bugzilla::Extension::TellUsMore;
-use strict;
-use base qw(Bugzilla::Extension);
-
-use Bugzilla::Extension::TellUsMore::Constants;
-use Bugzilla::Extension::TellUsMore::VersionMirror qw(update_versions);
-use Bugzilla::Extension::TellUsMore::Process;
-
-use Scalar::Util;
-use Bugzilla::Util qw(url_quote);
-
-our $VERSION = '1';
-
-#
-# initialisation
-#
-
-sub db_schema_abstract_schema {
- my ($self, $args) = @_;
- $args->{'schema'}->{'tell_us_more'} = {
- FIELDS => [
- id => {
- TYPE => 'MEDIUMSERIAL',
- NOTNULL => 1,
- PRIMARYKEY => 1,
- },
- token => {
- TYPE => 'varchar(16)',
- NOTNULL => 1,
- },
- mail => {
- TYPE => 'varchar(255)',
- NOTNULL => 1,
- },
- creation_ts => {
- TYPE => 'DATETIME',
- NOTNULL => 1,
- },
- content => {
- TYPE => 'LONGBLOB',
- NOTNULL => 1,
- },
- ],
- };
-}
-
-sub install_before_final_checks {
- my ($self, $args) = @_;
- # trigger a version sync during checksetup
- my $mirror = Bugzilla::Extension::TellUsMore::VersionMirror->new();
- if (!$mirror->check_setup(1)) {
- print $mirror->setup_error, "\n";
- return;
- }
- $mirror->refresh();
-}
-
-#
-# version mirror hooks
-#
-
-sub object_end_of_create {
- my ($self, $args) = @_;
- my $object = $args->{'object'};
-
- if ($self->is_version($object)) {
- $self->_mirror->created($object);
- }
-}
-
-sub object_end_of_update {
- my ($self, $args) = @_;
- my $object = $args->{'object'};
-
- if ($self->is_version($object)) {
- $self->_mirror->updated($args->{'old_object'}, $object);
- }
-}
-
-sub object_before_delete {
- my ($self, $args) = @_;
- my $object = $args->{'object'};
-
- if ($self->is_version($object)) {
- $self->_mirror->deleted($object);
- }
-}
-
-sub is_version {
- my ($self, $object) = @_;
- my $class = Scalar::Util::blessed($object);
- return $class eq 'Bugzilla::Version';
-}
-
-sub _mirror {
- my ($self) = @_;
- $self->{'mirror'} ||= Bugzilla::Extension::TellUsMore::VersionMirror->new();
- return $self->{'mirror'};
-}
-
-#
-# token validation page
-#
-
-sub page_before_template {
- my ($self, $args) = @_;
- my $page = $args->{'page_id'};
-
- if ($page eq 'tellusmore.html') {
- my $process = Bugzilla::Extension::TellUsMore::Process->new();
- my ($bug, $is_new_user) = $process->execute(Bugzilla->input_params->{'token'});
- my $url;
- if ($bug) {
- $url = sprintf(RESULT_URL_SUCCESS, url_quote($bug->id), ($is_new_user ? '1' : '0'));
- } else {
- $url = sprintf(RESULT_URL_FAILURE, url_quote($process->error));
- }
- print Bugzilla->cgi->redirect($url);
- exit;
- }
-}
-
-#
-# web service
-#
-
-sub webservice {
- my ($self, $args) = @_;
- my $dispatch = $args->{dispatch};
- $dispatch->{TellUsMore} = "Bugzilla::Extension::TellUsMore::WebService";
-}
-
-__PACKAGE__->NAME;