diff options
Diffstat (limited to 'modules/local_import/helpers')
-rw-r--r-- | modules/local_import/helpers/local_import.php | 42 | ||||
-rw-r--r-- | modules/local_import/helpers/local_import_block.php | 30 | ||||
-rw-r--r-- | modules/local_import/helpers/local_import_installer.php | 43 | ||||
-rw-r--r-- | modules/local_import/helpers/local_import_menu.php | 42 | ||||
-rw-r--r-- | modules/local_import/helpers/local_import_theme.php | 44 |
5 files changed, 201 insertions, 0 deletions
diff --git a/modules/local_import/helpers/local_import.php b/modules/local_import/helpers/local_import.php new file mode 100644 index 00000000..ca7d01e4 --- /dev/null +++ b/modules/local_import/helpers/local_import.php @@ -0,0 +1,42 @@ +<?php defined("SYSPATH") or die("No direct script access."); +/** + * Gallery - a web based photo album viewer and editor + * Copyright (C) 2000-2008 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 local_import { + public static function get_admin_page() { + $template = new View("local_import_admin.html"); + + $paths = unserialize(module::get_var("local_import", "authorized_paths", "a:0:{}")); + $path_list = new View("local_import_dir_list.html"); + $path_list->paths = array_keys($paths); + $template->path_list = $path_list->render(); + $template->add_form = self::get_admin_form()->render(); + + return $template; + } + + public static function get_admin_form() { + $form = new Forge("admin/local_import/add_path", "", "post", array("id" => "gLocalImportAdminForm")); + $add_path = $form->group("add_path"); + $add_path->input("path")->label(t("Path"))->rules("required") + ->error_messages("not_readable", t("The directory is not readable by the webserver")); + $add_path->submit("add")->value(t("Add Path")); + + return $form; + } +} diff --git a/modules/local_import/helpers/local_import_block.php b/modules/local_import/helpers/local_import_block.php new file mode 100644 index 00000000..c337af41 --- /dev/null +++ b/modules/local_import/helpers/local_import_block.php @@ -0,0 +1,30 @@ +<?php defined("SYSPATH") or die("No direct script access."); +/** + * Gallery - a web based photo album viewer and editor + * Copyright (C) 2000-2008 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 local_import_block_Core { + public static function head($theme) { + $head[] = html::script("modules/local_import/js/local_import.js"); + + $url = url::file("modules/local_import/css/local_import.css"); + $head[] = "<link rel=\"stylesheet\" type=\"text/css\" href=\"$url\" " . + "media=\"screen,print,projection\" />"; + + return implode("\n", $head); + } +} diff --git a/modules/local_import/helpers/local_import_installer.php b/modules/local_import/helpers/local_import_installer.php new file mode 100644 index 00000000..0af35669 --- /dev/null +++ b/modules/local_import/helpers/local_import_installer.php @@ -0,0 +1,43 @@ +<?php defined("SYSPATH") or die("No direct script access."); +/** + * Gallery - a web based photo album viewer and editor + * Copyright (C) 2000-2008 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 local_import_installer { + public static function install() { + $db = Database::instance(); + $version = module::get_version("local_import"); + if ($version == 0) { + access::register_permission("local_import", t("Import Local Files")); + + access::allow(user::lookup(2), "view", ORM::factory("item", 1)); + + module::set_version("local_import", 1); + module::set_var("local_import", "authorized_paths", serialize(array())); + } + } + + public static function uninstall() { + access::delete_permission("local_import"); + $module = module::get("local_import"); + + $db = Database::instance(); + $db->delete("vars", array("module_name" => $module->name)); + + module::delete("local_import"); + } +} diff --git a/modules/local_import/helpers/local_import_menu.php b/modules/local_import/helpers/local_import_menu.php new file mode 100644 index 00000000..cb3029a2 --- /dev/null +++ b/modules/local_import/helpers/local_import_menu.php @@ -0,0 +1,42 @@ +<?php defined("SYSPATH") or die("No direct script access."); +/** + * Gallery - a web based photo album viewer and editor + * Copyright (C) 2000-2008 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 local_import_menu_Core { + static function admin($menu, $theme) { + $menu->get("content_menu") + ->append(Menu::factory("link") + ->id("local_import") + ->label(t("Local Import")) + ->url(url::site("admin/local_import"))); + } + + static function site($menu, $theme) { + $item = $theme->item(); + + $paths = unserialize(module::get_var("local_import", "authorized_paths")); + + if ($item && access::can("local_import", $item) && $item->is_album() &&!empty($paths)) { + $menu->get("options_menu") + ->append(Menu::factory("dialog") + ->id("local_import") + ->label(t("Import from server")) + ->url(url::site("local_import/index/$item->id"))); + } + } +} diff --git a/modules/local_import/helpers/local_import_theme.php b/modules/local_import/helpers/local_import_theme.php new file mode 100644 index 00000000..d37b8ad3 --- /dev/null +++ b/modules/local_import/helpers/local_import_theme.php @@ -0,0 +1,44 @@ +<?php defined("SYSPATH") or die("No direct script access."); +/** + * Gallery - a web based photo album viewer and editor + * Copyright (C) 2000-2008 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 local_import_theme_Core { + static function admin_head($theme) { + $head[] = "<link media=\"screen, projection\" rel=\"stylesheet\" type=\"text/css\" href=\"" . + url::file("modules/local_import/css/jquery.autocomplete.css") . "\" />"; + $head[] = "<link media=\"screen, projection\" rel=\"stylesheet\" type=\"text/css\" href=\"" . + url::file("modules/local_import/css/admin.css") . "\" />"; + $base = url::base(true); + $csrf = access::csrf_token(); + $head[] = "<script> var base_url = \"$base\"; var csrf = \"$csrf\";</script>"; + + $head[] = html::script("modules/local_import/js/jquery.autocomplete.pack.js"); + $head[] = html::script("modules/local_import/js/admin.js"); + + return implode("\n", $head); + } + + static function head($theme) { + $head[] = "<link media=\"screen, projection\" rel=\"stylesheet\" type=\"text/css\" href=\"" . + url::file("modules/local_import/css/local_import.css") . "\" />"; + + $head[] = html::script("modules/local_import/js/local_import.js"); + + return implode("\n", $head); + } +}
\ No newline at end of file |