diff options
author | Bharat Mediratta <bharat@menalto.com> | 2013-02-15 12:55:16 -0500 |
---|---|---|
committer | Bharat Mediratta <bharat@menalto.com> | 2013-02-15 12:57:42 -0500 |
commit | 264e1e82b23f622e9a79f7834cfcbfb536eac4f6 (patch) | |
tree | f77d0a923761d0a1d34ec4856ea91a9ab951c19c /modules/digibug/controllers | |
parent | 6089374891407dda5da27bbceb9aa774004737b6 (diff) |
Digibug up and vanished. Move the module to contrib for now. This
will leave the module active in any existing installs that had it
active, but that shouldn't cause any negative impact. Fixes #2002.
Diffstat (limited to 'modules/digibug/controllers')
-rw-r--r-- | modules/digibug/controllers/admin_digibug.php | 27 | ||||
-rw-r--r-- | modules/digibug/controllers/digibug.php | 121 |
2 files changed, 0 insertions, 148 deletions
diff --git a/modules/digibug/controllers/admin_digibug.php b/modules/digibug/controllers/admin_digibug.php deleted file mode 100644 index 50f6f832..00000000 --- a/modules/digibug/controllers/admin_digibug.php +++ /dev/null @@ -1,27 +0,0 @@ -<?php defined("SYSPATH") or die("No direct script access."); -/** - * Gallery - a web based photo album viewer and editor - * Copyright (C) 2000-2013 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_Digibug_Controller extends Admin_Controller { - public function index() { - $v = new Admin_View("admin.html"); - $v->page_title = t("Digibug"); - $v->content = new View("admin_digibug.html"); - print $v; - } -}
\ No newline at end of file diff --git a/modules/digibug/controllers/digibug.php b/modules/digibug/controllers/digibug.php deleted file mode 100644 index 19199188..00000000 --- a/modules/digibug/controllers/digibug.php +++ /dev/null @@ -1,121 +0,0 @@ -<?php defined("SYSPATH") or die("No direct script access."); -/** - * Gallery - a web based photo album viewer and editor - * Copyright (C) 2000-2013 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 Digibug_Controller extends Controller { - const ALLOW_PRIVATE_GALLERY = true; - - public function print_photo($id) { - access::verify_csrf(); - $item = ORM::factory("item", $id); - access::required("view", $item); - - if (access::group_can(identity::everybody(), "view_full", $item)) { - $full_url = $item->file_url(true); - $thumb_url = $item->thumb_url(true); - } else { - $proxy = ORM::factory("digibug_proxy"); - $proxy->uuid = random::hash(); - $proxy->item_id = $item->id; - $proxy->save(); - $full_url = url::abs_site("digibug/print_proxy/full/$proxy->uuid/$item->id"); - $thumb_url = url::abs_site("digibug/print_proxy/thumb/$proxy->uuid/$item->id"); - } - - $v = new View("digibug_form.html"); - $v->order_params = array( - "digibug_api_version" => "100", - "company_id" => module::get_var("digibug", "company_id"), - "event_id" => module::get_var("digibug", "event_id"), - "cmd" => "addimg", - "partner_code" => "69", - "return_url" => url::abs_site("digibug/close_window"), - "num_images" => "1", - "image_1" => $full_url, - "thumb_1" => $thumb_url, - "image_height_1" => $item->height, - "image_width_1" => $item->width, - "thumb_height_1" => $item->thumb_height, - "thumb_width_1" => $item->thumb_width, - "title_1" => html::purify($item->title)); - - print $v; - } - - public function print_proxy($type, $uuid) { - // If its a request for the full size then make sure we are coming from an - // authorized address - if ($type == "full") { - $remote_addr = ip2long(Input::instance()->server("REMOTE_ADDR")); - if ($remote_addr === false) { - throw new Kohana_404_Exception(); - } - $config = Kohana::config("digibug"); - - $authorized = false; - foreach ($config["ranges"] as $ip_range) { - $low = ip2long($ip_range["low"]); - $high = ip2long($ip_range["high"]); - $authorized = $low !== false && $high !== false && - $low <= $remote_addr && $remote_addr <= $high; - if ($authorized) { - break; - } - } - if (!$authorized) { - throw new Kohana_404_Exception(); - } - } - - $proxy = ORM::factory("digibug_proxy")->where("uuid", "=", $uuid)->find(); - if (!$proxy->loaded() || !$proxy->item->loaded()) { - throw new Kohana_404_Exception(); - } - - $file = $type == "full" ? $proxy->item->file_path() : $proxy->item->thumb_path(); - if (!file_exists($file)) { - throw new Kohana_404_Exception(); - } - - // We don't need to save the session for this request - Session::instance()->abort_save(); - - if (!TEST_MODE) { - // Dump out the image - header("Content-Type: {$proxy->item->mime_type}"); - Kohana::close_buffers(false); - $fd = fopen($file, "rb"); - fpassthru($fd); - fclose($fd); - } - - $this->_clean_expired(); - } - - public function close_window() { - print "<script type=\"text/javascript\">window.close();</script>"; - } - - private function _clean_expired() { - db::build() - ->delete("digibug_proxies") - ->where("request_date", "<=", db::expr("(CURDATE() - INTERVAL 90 DAY)")) - ->limit(20) - ->execute(); - } -}
\ No newline at end of file |