aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/phpbb/textformatter/cache_interface.php
diff options
context:
space:
mode:
authorMarc Alexander <admin@m-a-styles.de>2015-04-15 11:33:13 +0200
committerMarc Alexander <admin@m-a-styles.de>2015-04-24 13:33:17 +0200
commit31bcdb23a2a00f704efcd58877802ed5ac4507a9 (patch)
treea5393d84ebd2ddb54c622d6473a3c43a8469e030 /phpBB/phpbb/textformatter/cache_interface.php
parent2665e68592a8d1061de6d8d06043c6bed7220d88 (diff)
downloadforums-31bcdb23a2a00f704efcd58877802ed5ac4507a9.tar
forums-31bcdb23a2a00f704efcd58877802ed5ac4507a9.tar.gz
forums-31bcdb23a2a00f704efcd58877802ed5ac4507a9.tar.bz2
forums-31bcdb23a2a00f704efcd58877802ed5ac4507a9.tar.xz
forums-31bcdb23a2a00f704efcd58877802ed5ac4507a9.zip
[ticket/8672] Remove unnecessary lines from clean-vendor-dir
The new version of fastImageSize already makes sure that these files and/or folders do not exist. PHPBB3-8672
Diffstat (limited to 'phpBB/phpbb/textformatter/cache_interface.php')
0 files changed, 0 insertions, 0 deletions
' href='#n148'>148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236
#!/usr/bin/perl -wT
# -*- Mode: perl; indent-tabs-mode: nil; cperl-indent-level: 4 -*-
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Albert Ting
#
# Contributor(s): Albert Ting <alt@sonic.net>
#                 Max Kanat-Alexander <mkanat@bugzilla.org>
#                 Frédéric Buclin <LpSolit@gmail.com>


use strict;
use lib qw(. lib);

use Bugzilla;
use Bugzilla::Constants;
use Bugzilla::Util;
use Bugzilla::Error;
use Bugzilla::Classification;
use Bugzilla::Token;

my $dbh = Bugzilla->dbh;
my $cgi = Bugzilla->cgi;
my $template = Bugzilla->template;
local our $vars = {};

sub LoadTemplate {
    my $action = shift;
    my $cgi = Bugzilla->cgi;
    my $template = Bugzilla->template;

    $vars->{'classifications'} = [Bugzilla::Classification->get_all]
      if ($action eq 'select');
    # There is currently only one section about classifications,
    # so all pages point to it. Let's define it here.
    $vars->{'doc_section'} = 'classifications.html';

    $action =~ /(\w+)/;
    $action = $1;
    print $cgi->header();
    $template->process("admin/classifications/$action.html.tmpl", $vars)
      || ThrowTemplateError($template->error());
    exit;
}

#
# Preliminary checks:
#

my $user = Bugzilla->login(LOGIN_REQUIRED);

print $cgi->header();

$user->in_group('editclassifications')
  || ThrowUserError("auth_failure", {group  => "editclassifications",
                                     action => "edit",
                                     object => "classifications"});

ThrowUserError("auth_classification_not_enabled") 
    unless Bugzilla->params->{"useclassification"};

#
# often used variables
#
my $action     = trim($cgi->param('action')         || '');
my $class_name = trim($cgi->param('classification') || '');
my $token      = $cgi->param('token');

#
# action='' -> Show nice list of classifications
#
LoadTemplate('select') unless $action;

#
# action='add' -> present form for parameters for new classification
#
# (next action will be 'new')
#

if ($action eq 'add') {
    $vars->{'token'} = issue_session_token('add_classification');
    LoadTemplate($action);
}

#
# action='new' -> add classification entered in the 'action=add' screen
#

if ($action eq 'new') {
    check_token_data($token, 'add_classification');

    my $classification =
      Bugzilla::Classification->create({name        => $class_name,
                                        description => scalar $cgi->param('description'),
                                        sortkey     => scalar $cgi->param('sortkey')});

    delete_token($token);

    $vars->{'message'} = 'classification_created';
    $vars->{'classification'} = $classification;
    $vars->{'classifications'} = [Bugzilla::Classification->get_all];
    $vars->{'token'} = issue_session_token('reclassify_classifications');
    LoadTemplate('reclassify');
}

#
# action='del' -> ask if user really wants to delete
#
# (next action would be 'delete')
#

if ($action eq 'del') {

    my $classification = Bugzilla::Classification->check($class_name);

    if ($classification->id == 1) {
        ThrowUserError("classification_not_deletable");
    }

    if ($classification->product_count()) {
        ThrowUserError("classification_has_products");
    }

    $vars->{'classification'} = $classification;
    $vars->{'token'} = issue_session_token('delete_classification');

    LoadTemplate($action);
}

#
# action='delete' -> really delete the classification
#

if ($action eq 'delete') {
    check_token_data($token, 'delete_classification');

    my $classification = Bugzilla::Classification->check($class_name);
    $classification->remove_from_db;
    delete_token($token);

    $vars->{'message'} = 'classification_deleted';
    $vars->{'classification'} = $classification;
    LoadTemplate('select');
}

#
# action='edit' -> present the edit classifications from
#
# (next action would be 'update')
#

if ($action eq 'edit') {
    my $classification = Bugzilla::Classification->check($class_name);

    $vars->{'classification'} = $classification;
    $vars->{'token'} = issue_session_token('edit_classification');

    LoadTemplate($action);
}

#
# action='update' -> update the classification
#

if ($action eq 'update') {
    check_token_data($token, 'edit_classification');

    my $class_old_name = trim($cgi->param('classificationold') || '');
    my $classification = Bugzilla::Classification->check($class_old_name);

    $classification->set_name($class_name);
    $classification->set_description(scalar $cgi->param('description'));
    $classification->set_sortkey(scalar $cgi->param('sortkey'));

    my $changes = $classification->update;
    delete_token($token);

    $vars->{'message'} = 'classification_updated';
    $vars->{'classification'} = $classification;
    $vars->{'changes'} = $changes;
    LoadTemplate('select');
}

#
# action='reclassify' -> reclassify products for the classification
#

if ($action eq 'reclassify') {
    my $classification = Bugzilla::Classification->check($class_name);
   
    my $sth = $dbh->prepare("UPDATE products SET classification_id = ?
                             WHERE name = ?");

    if (defined $cgi->param('add_products')) {
        check_token_data($token, 'reclassify_classifications');
        if (defined $cgi->param('prodlist')) {
            foreach my $prod ($cgi->param("prodlist")) {
                trick_taint($prod);
                $sth->execute($classification->id, $prod);
            }
        }
        delete_token($token);