summaryrefslogtreecommitdiff
path: root/modules/downloadfullsize/controllers/admin_downloadfullsize.php
blob: 6836c9c8eea80428a9047382f22ce545a16e13c6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<?php defined("SYSPATH") or die("No direct script access.");
/**
 * Gallery - a web based photo album viewer and editor
 * Copyright (C) 2000-2011 Bharat Mediratta
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or (at
 * your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA  02110-1301, USA.
 */

class Admin_DownloadFullsize_Controller extends Admin_Controller {
  public function index() {
    // Generate a new admin page.
    $view = new Admin_View("admin.html");
    $view->content = new View("admin_downloadfullsize.html");
    $view->content->downloadlinks_form = $this->_get_admin_form();
    print $view;
  }

  public function saveprefs() {
    // Prevent Cross Site Request Forgery
    access::verify_csrf();

    // Figure out which boxes where checked
    $dlLinks_array = Input::instance()->post("DownloadLinkOptions");
    $fButton = false;
    $download_original_button = false;
    for ($i = 0; $i < count($dlLinks_array); $i++) {
      if ($dlLinks_array[$i] == "fButton") {
        $fButton = true;
      }
    }

    if (module::is_active("keeporiginal")) {
      $keeporiginal_array = Input::instance()->post("DownloadOriginalOptions");
      for ($i = 0; $i < count($keeporiginal_array); $i++) {
        if ($keeporiginal_array[$i] == "DownloadOriginalImage") {
          $download_original_button = true;
        }
      }
      module::set_var("downloadfullsize", "DownloadOriginalImage", $download_original_button);
    }

    // Save Settings.
    module::set_var("downloadfullsize", "fButton", $fButton);
    message::success(t("Your Selection Has Been Saved."));

    // Load Admin page.
    $view = new Admin_View("admin.html");
    $view->content = new View("admin_downloadfullsize.html");
    $view->content->downloadlinks_form = $this->_get_admin_form();
    print $view;

  }

  private function _get_admin_form() {
    // Make a new Form.
    $form = new Forge("admin/downloadfullsize/saveprefs", "", "post",
                      array("id" => "g-download-fullsize-adminForm"));

    // Make an array for the different types of download links.
    $linkOptions["fButton"] = array(t("Show Floppy Disk Picture Link"), module::get_var("downloadfullsize", "fButton"));

    // Setup a few checkboxes on the form.
    $add_links = $form->group("DownloadLinks");
    $add_links->checklist("DownloadLinkOptions")
      ->options($linkOptions);

    if (module::is_active("keeporiginal")) {
      $KeepOriginalOptions["DownloadOriginalImage"] = array(t("Allow visitors to download the original image when available?"), module::get_var("downloadfullsize", "DownloadOriginalImage"));
      $keeporiginal_group = $form->group("KeepOriginalPrefs")
                               ->label(t("KeepOriginal Preferences"));
      $keeporiginal_group->checklist("DownloadOriginalOptions")
                       ->options($KeepOriginalOptions);
    }

    // Add a save button to the form.
    $form->submit("SaveLinks")->value(t("Save"));

    // Return the newly generated form.
    return $form;
  }
}