コード例 #1
0
ファイル: gallery_theme.php プロジェクト: Joe7/gallery3
 static function head($theme)
 {
     $session = Session::instance();
     $buf = "";
     $buf .= $theme->css("gallery.css");
     if ($session->get("debug")) {
         $buf .= $theme->css("debug.css");
     }
     if (module::is_active("rss")) {
         if ($item = $theme->item()) {
             if ($item->is_album()) {
                 $buf .= rss::feed_link("gallery/album/{$item->id}");
             } else {
                 $buf .= rss::feed_link("gallery/album/{$item->parent()->id}");
             }
         } else {
             if ($tag = $theme->tag()) {
                 $buf .= rss::feed_link("tag/tag/{$tag->id}");
             }
         }
     }
     if (count(locales::installed())) {
         // Needed by the languages block
         $buf .= $theme->script("jquery.cookie.js");
     }
     if ($session->get("l10n_mode", false)) {
         $buf .= $theme->css("l10n_client.css") . $theme->script("jquery.cookie.js") . $theme->script("l10n_client.js");
     }
     $buf .= $theme->css("uploadify/uploadify.css");
     return $buf;
 }
コード例 #2
0
ファイル: gallery_theme.php プロジェクト: hiwilson/gallery3
 static function head($theme)
 {
     $session = Session::instance();
     $buf = "";
     if ($session->get("debug")) {
         $theme->css("modules/gallery/css/debug.css");
     }
     if (($theme->page_type == "album" || $theme->page_type == "photo") && access::can("edit", $theme->item())) {
         $theme->css("modules/gallery/css/quick.css");
         $theme->script("modules/gallery/js/quick.js");
     }
     if (module::is_active("rss")) {
         if ($item = $theme->item()) {
             $buf .= rss::feed_link("gallery/album/{$item->id}");
         } else {
             if ($tag = $theme->tag()) {
                 $buf .= rss::feed_link("tag/tag/{$tag->id}");
             }
         }
     }
     if ($session->get("l10n_mode", false)) {
         $theme->css("modules/gallery/css/l10n_client.css");
         $theme->script("lib/jquery.cookie.js");
         $theme->script("modules/gallery/js/l10n_client.js");
     }
     return $buf;
 }
コード例 #3
0
ファイル: gallery_theme.php プロジェクト: ascseb/gallery3
 static function head($theme)
 {
     $session = Session::instance();
     $buf = "";
     if ($session->get("debug")) {
         $buf .= "<link rel=\"stylesheet\" type=\"text/css\" href=\"" . url::file("modules/gallery/css/debug.css") . "\" />";
     }
     if (($theme->page_type == "album" || $theme->page_type == "photo") && access::can("edit", $theme->item())) {
         $buf .= "<link rel=\"stylesheet\" type=\"text/css\" href=\"" . url::file("modules/gallery/css/quick.css") . "\" />";
         $buf .= html::script("modules/gallery/js/quick.js");
     }
     if ($theme->page_type == "photo" && access::can("view_full", $theme->item())) {
         $buf .= "<script type=\"text/javascript\" >" . "  var fullsize_detail = { " . "    close: \"" . url::file("modules/gallery/images/ico-close.png") . "\", " . "    url: \"" . $theme->item()->file_url() . "\", " . "    width: " . $theme->item()->width . ", " . "    height: " . $theme->item()->height . "};" . "</script>";
         $buf .= html::script("modules/gallery/js/fullsize.js");
     }
     if (module::is_active("rss")) {
         if ($item = $theme->item()) {
             $buf = rss::feed_link("gallery/album/{$item->id}");
         } else {
             if ($tag = $theme->tag()) {
                 $buf = rss::feed_link("tag/tag/{$tag->id}");
             }
         }
     }
     if ($session->get("l10n_mode", false)) {
         $buf .= "<link rel=\"stylesheet\" type=\"text/css\" href=\"" . url::file("modules/gallery/css/l10n_client.css") . "\" />";
         $buf .= html::script("lib/jquery.cookie.js");
         $buf .= html::script("modules/gallery/js/l10n_client.js");
     }
     return $buf;
 }
コード例 #4
0
ファイル: rss.php プロジェクト: kandsten/gallery3
 public function feed($module_id, $feed_id, $id = null)
 {
     $page = (int) Input::instance()->get("page", 1);
     if ($page < 1) {
         url::redirect(url::merge(array("page" => 1)));
     }
     // Configurable page size between 1 and 100, default 20
     $page_size = max(1, min(100, (int) Input::instance()->get("page_size", self::$page_size)));
     // Run the appropriate feed callback
     if (module::is_active($module_id)) {
         $class_name = "{$module_id}_rss";
         if (method_exists($class_name, "feed")) {
             $feed = call_user_func(array($class_name, "feed"), $feed_id, ($page - 1) * $page_size, $page_size, $id);
         }
     }
     if (empty($feed)) {
         throw new Kohana_404_Exception();
     }
     if ($feed->max_pages && $page > $feed->max_pages) {
         url::redirect(url::merge(array("page" => $feed->max_pages)));
     }
     $view = new View(empty($feed->view) ? "feed.mrss" : $feed->view);
     unset($feed->view);
     $view->feed = $feed;
     $view->pub_date = date("D, d M Y H:i:s T");
     $feed->uri = url::abs_site(url::merge($_GET));
     if ($page > 1) {
         $feed->previous_page_uri = url::abs_site(url::merge(array("page" => $page - 1)));
     }
     if ($page < $feed->max_pages) {
         $feed->next_page_uri = url::abs_site(url::merge(array("page" => $page + 1)));
     }
     header("Content-Type: application/rss+xml");
     print $view;
 }
コード例 #5
0
ファイル: gallery_theme.php プロジェクト: scarygary/gallery3
 static function head($theme)
 {
     $session = Session::instance();
     $buf = "";
     if ($session->get("debug")) {
         $theme->css("debug.css");
     }
     if (module::is_active("rss")) {
         if ($item = $theme->item()) {
             if ($item->is_album()) {
                 $buf .= rss::feed_link("gallery/album/{$item->id}");
             } else {
                 $buf .= rss::feed_link("gallery/album/{$item->parent()->id}");
             }
         } else {
             if ($tag = $theme->tag()) {
                 $buf .= rss::feed_link("tag/tag/{$tag->id}");
             }
         }
     }
     if ($session->get("l10n_mode", false)) {
         $theme->css("l10n_client.css");
         $theme->script("jquery.cookie.js");
         $theme->script("l10n_client.js");
     }
     return $buf;
 }
コード例 #6
0
ファイル: admin_modules.php プロジェクト: xafr/gallery3
 public function save()
 {
     access::verify_csrf();
     $changes->activate = array();
     $changes->deactivate = array();
     $activated_names = array();
     $deactivated_names = array();
     foreach (module::available() as $module_name => $info) {
         if ($info->locked) {
             continue;
         }
         $desired = $this->input->post($module_name) == 1;
         if ($info->active && !$desired && module::is_active($module_name)) {
             $changes->deactivate[] = $module_name;
             $deactivated_names[] = $info->name;
             module::deactivate($module_name);
         } else {
             if (!$info->active && $desired && !module::is_active($module_name)) {
                 $changes->activate[] = $module_name;
                 $activated_names[] = $info->name;
                 module::install($module_name);
                 module::activate($module_name);
             }
         }
     }
     module::event("module_change", $changes);
     // @todo this type of collation is questionable from a i18n perspective
     if ($activated_names) {
         message::success(t("Activated: %names", array("names" => join(", ", $activated_names))));
     }
     if ($deactivated_names) {
         message::success(t("Deactivated: %names", array("names" => join(", ", $deactivated_names))));
     }
     url::redirect("admin/modules");
 }
コード例 #7
0
 public function export_fb($a)
 {
     if ($_GET['a'] == "albums") {
         // Generate an array of albums in the items table,
         //   skip id=1 as its the root album.
         $albums = ORM::factory("item")->where("type", "=", "album")->where("id", "!=", "1")->viewable()->find_all();
         // Loop through each album and output the necessary information.
         foreach ($albums as $album) {
             $album_contents = ORM::factory("item")->where("parent_id", "=", $album->id)->where("type", "=", "photo")->viewable()->find_all();
             print $album->level - 2 . "\t" . $album->id . "\t" . $album->name . "\t" . count($album_contents) . "\n";
         }
     } else {
         if ($_GET['a'] == "photos") {
             // Generate an array of photo's in the specified album.
             $photos = ORM::factory("item")->where("type", "=", "photo")->where("parent_id", "=", $_GET['id'])->viewable()->find_all();
             // Loop through each photo, generate a list of tags (if available) and then output the necessary information.
             foreach ($photos as $photo) {
                 $photo_keywords = "";
                 if (module::is_active("tag")) {
                     $photo_tags = ORM::factory("tag")->join("items_tags", "tags.id", "items_tags.tag_id")->where("items_tags.item_id", "=", $photo->id)->find_all();
                     foreach ($photo_tags as $tag) {
                         $photo_keywords = $photo_keywords . $tag->name . ", ";
                     }
                     // Cut off the ", " from the end of the string.
                     if ($photo_keywords != "") {
                         $photo_keywords = substr($photo_keywords, 0, -2);
                     }
                 }
                 print $photo->id . "\t" . $photo->title . "\t" . stristr($photo->resize_url(false), "/var/") . "\t" . stristr($photo->thumb_url(false), "/var/") . "\t\t" . $photo->description . "\t" . $photo_keywords . "\n";
             }
         }
     }
 }
コード例 #8
0
 function save($album_id)
 {
     access::verify_csrf();
     $album = ORM::factory("item", $album_id);
     access::required("edit", $album);
     if (Input::instance()->post("save")) {
         $titles = Input::instance()->post("title");
         $descriptions = Input::instance()->post("description");
         $filenames = Input::instance()->post("filename");
         $internetaddresses = Input::instance()->post("internetaddress");
         $tags = Input::instance()->post("tags");
         $enable_tags = module::is_active("tag");
         foreach (array_keys($titles) as $id) {
             $item = ORM::factory("item", $id);
             if ($item->loaded() && access::can("edit", $item)) {
                 $item->title = $titles[$id];
                 $item->description = $descriptions[$id];
                 $item->name = $filenames[$id];
                 $item->slug = $internetaddresses[$id];
                 $item->save();
                 if ($enable_tags) {
                     tag::clear_all($item);
                     foreach (explode(",", $tags[$id]) as $tag_name) {
                         if ($tag_name) {
                             tag::add($item, trim($tag_name));
                         }
                     }
                     tag::compact();
                 }
             }
         }
         message::success(t("Captions saved"));
     }
     url::redirect($album->abs_url());
 }
コード例 #9
0
 static function get_edit_form_admin()
 {
     $form = new Forge("admin/theme_options/save/", "", null, array("id" => "g-theme-options-form"));
     $group = $form->group("requirements")->label("Prerequisites checklist");
     $group->checkbox("shadowbox")->label(t("Shadowbox module"))->checked(module::is_active("shadowbox"))->disabled(true);
     $file = THEMEPATH . "greydragon/theme.info";
     $theme_info = new ArrayObject(parse_ini_file($file), ArrayObject::ARRAY_AS_PROPS);
     $group = $form->group("edit_theme")->label(t("Grey Dragon Theme") . " - " . t("v.") . $theme_info->version);
     $group->input("row_count")->label(t("Rows per album page"))->id("g-page-size")->rules("required|valid_digit")->value(module::get_var("gallery", "page_size") / 3);
     $group->input("resize_size")->label(t("Resized image size (in pixels)"))->id("g-resize-size")->rules("required|valid_digit")->value(module::get_var("gallery", "resize_size"));
     $group->checkbox("build_resize")->label(t("Mark to build all resizes (from Maintenace page)"))->id("g-build-resize")->value(false);
     $group->checkbox("build_thumbs")->label(t("Mark to build all thumbnails (200x200) (from Maintenace page)"))->id("g-build-thumb")->value(false);
     $group->checkbox("photonav_top")->label(t("Show top photo navigator"))->checked(module::get_var("th_greydragon", "photonav_top"));
     $group->checkbox("photonav_bottom")->label(t("Show bottom photo navigator"))->checked(module::get_var("th_greydragon", "photonav_bottom"));
     $group->dropdown("sidebar_allowed")->label(t("Allowed SideBar Positions"))->options(array("any" => t("Any"), "left" => t("Left"), "right" => t("Right"), "none" => t("None")))->selected(module::get_var("th_greydragon", "sidebar_allowed"));
     $group->dropdown("sidebar_visible")->label(t("Default SideBar Position"))->options(array("right" => t("Right"), "left" => t("Left"), "none" => t("None")))->selected(module::get_var("th_greydragon", "sidebar_visible"));
     $group->input("header_text")->label(t("Header text"))->id("g-header-text")->value(module::get_var("gallery", "header_text"));
     $group->input("footer_text")->label(t("Footer text"))->id("g-footer-text")->value(module::get_var("gallery", "footer_text"));
     $group->checkbox("show_credits")->label(t("Show site credits"))->id("g-footer-text")->checked(module::get_var("gallery", "show_credits"));
     $group->input("copyright")->label(t("Copyright message to display on footer"))->id("g-theme-copyright")->value(module::get_var("th_greydragon", "copyright"));
     $group->input("logo_path")->label(t("URL or path to alternate logo image"))->id("g-site-logo")->value(module::get_var("th_greydragon", "logo_path"));
     module::event("theme_edit_form", $form);
     $group = $form->group("buttons");
     $group->submit("")->value(t("Save"));
     return $form;
 }
コード例 #10
0
ファイル: rss.php プロジェクト: Okat/gallery3
 public function feed($module_id, $feed_id, $id = null)
 {
     $page = $this->input->get("page", 1);
     if ($page < 1) {
         url::redirect(url::merge(array("page" => 1)));
     }
     // Configurable page size between 1 and 100, default 20
     $page_size = max(1, min(100, $this->input->get("page_size", self::$page_size)));
     // Run the appropriate feed callback
     if (module::is_active($module_id)) {
         $class_name = "{$module_id}_rss";
         if (method_exists($class_name, "feed")) {
             $feed = call_user_func(array($class_name, "feed"), $feed_id, ($page - 1) * $page_size, $page_size, $id);
         }
     }
     if (empty($feed)) {
         Kohana::show_404();
     }
     if ($feed->max_pages && $page > $feed->max_pages) {
         url::redirect(url::merge(array("page" => $feed->max_pages)));
     }
     $view = new View(empty($feed->view) ? "feed.mrss" : $feed->view);
     unset($feed->view);
     $view->feed = $feed;
     $view->pub_date = date("D, d M Y H:i:s T");
     $feed->uri = url::abs_site(Router::$current_uri);
     if ($page > 1) {
         $feed->previous_page_uri = url::abs_site(url::merge(array("page" => $page - 1)));
     }
     if ($page < $feed->max_pages) {
         $feed->next_page_uri = url::abs_site(url::merge(array("page" => $page + 1)));
     }
     rest::http_content_type(rest::RSS);
     print $view;
 }
コード例 #11
0
 static function thumb_info($theme, $item)
 {
     $results = "";
     if ($item->view_count) {
         $results .= "<li>";
         $results .= t("Views: %view_count", array("view_count" => $item->view_count));
         $results .= "</li>";
     }
     // rWatcher Edit:  Display Tags
     if (module::is_active("tag")) {
         $tags = ORM::factory("tag")->join("items_tags", "tags.id", "items_tags.tag_id")->where("items_tags.item_id", "=", $item->id)->find_all();
         if (count($tags) > 0) {
             $results .= "<li>";
             $results .= t("Tags:") . " ";
             $anchors = array();
             foreach ($tags as $tag) {
                 $anchors[] = "<a href=" . $tag->url() . ">" . html::clean($tag->name) . "</a>";
             }
             $results .= join(", ", $anchors) . "</li>";
         }
     }
     // rWatcher End Edit
     if ($item->owner) {
         $results .= "<li>";
         if ($item->owner->url) {
             $results .= t("By: <a href=\"%owner_url\">%owner_name</a>", array("owner_name" => $item->owner->display_name(), "owner_url" => $item->owner->url));
         } else {
             $results .= t("By: %owner_name", array("owner_name" => $item->owner->display_name()));
         }
         $results .= "</li>";
     }
     return $results;
 }
コード例 #12
0
 static function thumb_info($theme, $item)
 {
     $results = "";
     if ($item->view_count) {
         $results .= "<li>";
         $results .= t("Views: %view_count", array("view_count" => $item->view_count));
         $results .= "</li>";
     }
     if (module::is_active("tag")) {
         $tagsItem = ORM::factory("tag")->join("items_tags", "tags.id", "items_tags.tag_id")->where("items_tags.item_id", $item->id)->find_all();
         if (count($tagsItem) > 0) {
             $results .= "<li>";
             $results .= t("Tags:") . " ";
             for ($counter = 0; $counter < count($tagsItem); $counter++) {
                 if ($counter < count($tagsItem) - 1) {
                     $results .= "<a href=" . url::site("tags/{$tagsItem[$counter]}") . ">" . html::clean($tagsItem[$counter]->name) . "</a>, ";
                 } else {
                     $results .= "<a href=" . url::site("tags/{$tagsItem[$counter]}") . ">" . html::clean($tagsItem[$counter]->name) . "</a>";
                 }
             }
             $results .= "</li>";
         }
     }
     if ($item->owner) {
         $results .= "<li>";
         if ($item->owner->url) {
             $results .= t("By: %owner_name", array("owner_name" => "<a href=\"{$item->owner->url}\">{$item->owner->full_name}</a>"));
         } else {
             $results .= t("By: %owner_name", array("owner_name" => "{$item->owner->full_name}"));
         }
         $results .= "</li>";
     }
     return $results;
 }
コード例 #13
0
ファイル: slideshow_installer.php プロジェクト: Joe7/gallery3
 static function can_activate()
 {
     $messages = array();
     if (!module::is_active("rss")) {
         $messages["warn"][] = t("The Slideshow module requires the RSS module.");
     }
     return $messages;
 }
コード例 #14
0
 static function can_activate()
 {
     $messages = array();
     if (!module::is_active("tag")) {
         $messages["warn"][] = t("The Tag Albums module requires the Tags module.");
     }
     return $messages;
 }
コード例 #15
0
ファイル: slideshow_event.php プロジェクト: JasonWiki/docs
 static function module_change($changes)
 {
     if (!module::is_active("rss") || in_array("rss", $changes->deactivate)) {
         site_status::warning(t("The Slideshow module requires the RSS module.  <a href=\"%url\">Activate the RSS module now</a>", array("url" => html::mark_clean(url::site("admin/modules")))), "slideshow_needs_rss");
     } else {
         site_status::clear("slideshow_needs_rss");
     }
 }
コード例 #16
0
 static function can_activate()
 {
     $messages = array();
     if (!module::is_active("exif")) {
         $messages["warn"][] = t("The autorotate module requires the EXIF module.");
     }
     return $messages;
 }
コード例 #17
0
 static function module_change($changes)
 {
     if (!module::is_active("tag") || in_array("tag", $changes->deactivate)) {
         site_status::warning(t("The DisplayTags module requires the Tags module.  <a href=\"%url\">Activate the Tags module now</a>", array("url" => html::mark_clean(url::site("admin/modules")))), "displaytags_needs_tag");
     } else {
         site_status::clear("displaytags_needs_tag");
     }
 }
コード例 #18
0
 static function module_change($changes)
 {
     // Display a warning message if the RSS module is not installed.
     if (!module::is_active("rss") || in_array("rss", $changes->deactivate)) {
         site_status::warning(t("The MiniSlide Show module requires the RSS module.  " . "<a href=\"%url\">Activate the RSS module now</a>", array("url" => url::site("admin/modules"))), "minislideshow_needs_rss");
     } else {
         site_status::clear("minislideshow_needs_rss");
     }
 }
コード例 #19
0
 static function head($theme)
 {
     // If the tag cloud module is active, load additional javascript code.
     if (module::is_active("tag_cloud")) {
         $theme->script("tag_cloud_page.js");
     }
     // Load the tag cloud page's css code.
     return $theme->css("tag_cloud_page.css");
 }
コード例 #20
0
 static function module_change($changes)
 {
     // If EXIF is deactivated, display a warning that it is required for this module to function properly.
     if (!module::is_active("exif") || in_array("exif", $changes->deactivate)) {
         site_status::warning(t("The EXIF_GPS module requires the EXIF module.  " . "<a href=\"%url\">Activate the EXIF module now</a>", array("url" => html::mark_clean(url::site("admin/modules")))), "exif_gps_needs_exif");
     } else {
         site_status::clear("exif_gps_needs_exif");
     }
 }
コード例 #21
0
 static function module_change($changes)
 {
     // See if the Tags module is installed,
     //   tell the user to install it if it isn't.
     if (!module::is_active("tag") || in_array("tag", $changes->deactivate)) {
         site_status::warning(t("The TagsMap module requires the Tags module.  " . "<a href=\"%url\">Activate the Tags module now</a>", array("url" => url::site("admin/modules"))), "tagsmap_needs_tag");
     } else {
         site_status::clear("tagsmap_needs_tag");
     }
 }
コード例 #22
0
 static function module_change($changes)
 {
     // See if the Photo Annotation module is installed,
     // tell the user to install it if it isn't.
     if (!module::is_active("photoannotation") || in_array("photoannotation", $changes->deactivate)) {
         site_status::warning(t("The Picasa Faces module requires the Photo Annotation module.  " . "<a href=\"%url\">Activate the Photo Annotation module now</a>", array("url" => url::site("admin/modules"))), "picasa_faces_needs_photoannotation");
     } else {
         site_status::clear("picasa_faces_needs_photoannotation");
     }
 }
コード例 #23
0
 static function module_change($changes)
 {
     // See if the Tags module is installed,
     //   tell the user to install it if it isn't.
     if (!module::is_active("tag") || in_array("tag", $changes->deactivate)) {
         site_status::warning(t("The Photo Annotation module requires the Tags module.  " . "<a href=\"%url\">Activate the Tags module now</a>", array("url" => url::site("admin/modules"))), "photoannotation_needs_tag");
     } else {
         site_status::clear("photoannotation_needs_tag");
     }
     if (module::is_active("tagfaces") || in_array("tagfaces", $changes->activate)) {
         site_status::warning(t("The Photo Annotation module cannot be used together with the TagFaces module.  " . "<a href=\"%url\">Dectivate the TagFaces module now</a>", array("url" => url::site("admin/modules"))), "photoannotation_incompatibility_tagfaces");
     } else {
         site_status::clear("photoannotation_incompatibility_tagfaces");
     }
 }
コード例 #24
0
 static function upgrade($version)
 {
     if ($version == 1) {
         // If tagsmap is installed, copy the API key over.
         if (module::is_active("tagsmap")) {
             module::set_var("exif_gps", "googlemap_api_key", module::get_var("tagsmap", "googlemap_api_key"));
         }
         // Set some default values.
         module::set_var("exif_gps", "sidebar_zoom", "14");
         module::set_var("exif_gps", "sidebar_mapformat", "1");
         module::set_var("exif_gps", "sidebar_maptype", "1");
         module::set_var("exif_gps", "largemap_maptype", "2");
         module::set_version("exif_gps", 2);
     }
 }
コード例 #25
0
 public function send($id)
 {
     $item = ORM::factory("item", $id);
     access::required("view_full", $item);
     if (module::is_active("keeporiginal") && $item->is_photo() && module::get_var("downloadfullsize", "DownloadOriginalImage")) {
         $original_image = VARPATH . "original/" . str_replace(VARPATH . "albums/", "", $item->file_path());
         if (file_exists($original_image)) {
             download::force($original_image);
         } else {
             download::force($item->file_path());
         }
     } else {
         download::force($item->file_path());
     }
 }
コード例 #26
0
 private function _get_view($errors = array(), $icc_path = null)
 {
     $dcraw = rawphoto_graphics::detect_dcraw();
     rawphoto_graphics::report_dcraw_support($dcraw);
     $view = new Admin_View("admin.html");
     $view->content = new View("admin_rawphoto.html");
     $view->content->is_keeporiginal_active = module::is_active("keeporiginal");
     $view->content->dcraw = $dcraw;
     $toolkit_names = array("imagemagick" => "ImageMagick", "graphicsmagick" => "GraphicsMagick");
     $toolkit_id = module::get_var("gallery", "graphics_toolkit");
     $toolkit_names = rawphoto_graphics::get_supported_toolkits();
     $view->content->toolkit_name = array_key_exists($toolkit_id, $toolkit_names) ? $toolkit_names[$toolkit_id] : "none";
     $view->content->icc_path = isset($icc_path) ? $icc_path : module::get_var("rawphoto", "icc_path");
     $view->content->errors = $errors;
     return $view;
 }
コード例 #27
0
 private function _get_admin_form()
 {
     $form = new Forge("admin/ecard/save", "", "post", array("id" => "g-ecard-admin-form"));
     $ecard_settings = $form->group("ecard")->label(t("eCard settings"));
     $ecard_settings->input("sender")->label(t("E-mail sender (leave blank for a user-defined address)"))->value(module::get_var("ecard", "sender", ""));
     $ecard_settings->input("bcc")->label(t("BCC (optional)"))->value(module::get_var("ecard", "bcc", ""));
     $ecard_settings->input("subject")->label(t("E-mail subject"))->value(module::get_var("ecard", "subject"));
     $ecard_settings->textarea("message")->label(t("E-mail message. Valid keywords are \"%fromname\" (sender's name))"))->value(module::get_var("ecard", "message"));
     $ecard_settings->input("max_length")->label(t("Maximum message length"))->value(module::get_var("ecard", "max_length"));
     if (module::is_active("watermark")) {
         $ecard_settings->checkbox("send_plain")->label(t("Allow users to send non-watermarked versions"))->value(true)->checked(module::get_var("ecard", "send_plain"));
     }
     $ecard_settings->dropdown("access_permissions")->label(t("Who can send eCards?"))->options(array("everybody" => t("Everybody"), "registered_users" => t("Only registered users")))->selected(module::get_var("ecard", "access_permissions"));
     $ecard_settings->dropdown("location")->label(t("Where should the eCard link be displayed?"))->options(array("top" => t("At the top of the sidebar as an icon"), "sidebar" => t("In the sidebar as a button")))->selected(module::get_var("ecard", "location"));
     $ecard_settings->submit("save")->value(t("Save"));
     return $form;
 }
コード例 #28
0
ファイル: ecard.php プロジェクト: webmatter/gallery3-contrib
 static function get_send_form($item_id)
 {
     $form = new Forge("ecard/send/{$item_id}", "", "post", array("id" => "g-ecard-form"));
     $group = $form->group("send_ecard")->label(t("Send eCard"));
     $group->input("from_name")->label(t("Your name"))->id("g-author")->rules("required")->error_messages("required", t("You must enter a name for yourself"));
     $group->input("from_email")->label(t("Your e-mail"))->id("g-email")->rules("required|valid_email")->error_messages("required", t("You must enter a valid email address"))->error_messages("invalid", t("You must enter a valid email address"));
     $group->input("to_email")->label(t("Recipient's e-mail. Separate multiple recipients with a comma."))->id("g-recip-email")->rules("required")->error_messages("required", t("You must enter a valid email address"));
     $group->textarea("text")->label(t("Message (" . module::get_var("ecard", "max_length") . " chars max)"))->id("g-text")->maxlength(module::get_var("ecard", "max_length"))->rules("required")->error_messages("required", t("You must enter a message"));
     $group->checkbox("send_to_self")->label(t("Send yourself a copy"))->value(true)->checked(false);
     $group->checkbox("send_thumbnail")->label(t("Send thumbnail image, instead of resized image."))->value(true)->checked(false);
     if (module::get_var("ecard", "send_plain") == true && module::is_active("watermark")) {
         $group->checkbox("send_fresh")->label(t("Send non-watermarked image."))->value(true)->checked(false);
     }
     $group->hidden("item_id")->value($item_id);
     module::event("ecard_send_form", $form);
     module::event("captcha_protect_form", $form);
     $group->submit("")->value(t("Send"))->class("ui-state-default ui-corner-all");
     return $form;
 }
コード例 #29
0
 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;
 }
コード例 #30
0
ファイル: admin_g2_import.php プロジェクト: JasonWiki/docs
 public function index()
 {
     g2_import::lower_error_reporting();
     if (g2_import::is_configured()) {
         g2_import::init();
     }
     $view = new Admin_View("admin.html");
     $view->page_title = t("Gallery 2 import");
     $view->content = new View("admin_g2_import.html");
     if (class_exists("GalleryCoreApi")) {
         $view->content->g2_stats = $g2_stats = g2_import::g2_stats();
         $view->content->g3_stats = $g3_stats = g2_import::g3_stats();
         $view->content->g2_sizes = g2_import::common_sizes();
         $view->content->g2_version = g2_import::version();
         // Don't count tags because we don't track them in g2_map
         $view->content->g2_resource_count = $g2_stats["users"] + $g2_stats["groups"] + $g2_stats["albums"] + $g2_stats["photos"] + $g2_stats["movies"] + $g2_stats["comments"];
         $view->content->g3_resource_count = $g3_stats["user"] + $g3_stats["group"] + $g3_stats["album"] + $g3_stats["item"] + $g3_stats["comment"] + $g3_stats["tag"];
     }
     $view->content->form = $this->_get_import_form();
     $view->content->version = "";
     $view->content->thumb_size = module::get_var("gallery", "thumb_size");
     $view->content->resize_size = module::get_var("gallery", "resize_size");
     if (g2_import::is_initialized()) {
         if ((bool) ini_get("eaccelerator.enable") || (bool) ini_get("xcache.cacher")) {
             message::warning(t("The eAccelerator and XCache PHP performance extensions are known to cause issues.  If you're using either of those and are having problems, please disable them while you do your import.  Add the following lines: <pre>%lines</pre> to gallery3/.htaccess and remove them when the import is done.", array("lines" => "\n\n  php_value eaccelerator.enable 0\n  php_value xcache.cacher off\n  php_value xcache.optimizer off\n\n")));
         }
         foreach (array("notification", "search", "exif") as $module_id) {
             if (module::is_active($module_id)) {
                 message::warning(t("<a href=\"%url\">Deactivating</a> the <b>%module_id</b> module during your import will make it faster", array("url" => url::site("admin/modules"), "module_id" => $module_id)));
             }
         }
         if (module::is_active("akismet")) {
             message::warning(t("The Akismet module may mark some or all of your imported comments as spam.  <a href=\"%url\">Deactivate</a> it to avoid that outcome.", array("url" => url::site("admin/modules"))));
         }
     } else {
         if (g2_import::is_configured()) {
             $view->content->form->configure_g2_import->embed_path->add_error("invalid", 1);
         }
     }
     g2_import::restore_error_reporting();
     print $view;
 }