Squashed '3.0/themes/pear4gallery3/' changes from f9f9805..f6e42a9
f6e42a9 Support for custom size of photo resizes. Version up to 3.5.2 639cc53 fixes #27, support for image count re-enabled fe33691 Merge pull request #32 from oneoftwo/patch-3 9790a15 Update views/thumbs.html.php 77408dc Merge pull request #30 from oneoftwo/patch-1 62f7886 Update views/thumbs.html.php 25145c0 b3.4 + threaded thumbLoad 32ddbcc Merge branch 'b3.4' 5db2a89 new attempt for custom logo 1b18764 full url to custom logo stored in var cd067e4 stupid pear logo.. d64bdbf Attempt to fix custom logo issues, version up 9e8ea7f minor fixes for the FB-comment module support 9af348f version 3.4.3.1 0e6db7c fix for problematic Tag-Cloud module a7b0a70 Fixes issues with facebook plugins when the user is commenting on a photo and FB links to the album image version 3.4.3 900b94c minor errors 7954cf4 version up d307b65 attempt to fix #17, image prefetch 015ceca various fixed thanks to e-nando/chris@2243c91c40 4971e20 closes #21, no longer have a discontinuous slideshowImages array ac86dec fixes for facebook-comments, now we are using the full url efb4fde closes #20, support for the search module in a good way 7a12558 minor fixes to eleminate some debug errors git-subtree-dir: 3.0/themes/pear4gallery3 git-subtree-split: f6e42a99776267d39c074f8c6b4c3ed606e280f7
This commit is contained in:
parent
081d2d1b0d
commit
25ae7f02cd
@ -84,7 +84,7 @@ class Admin_Theme_Options_Controller extends Admin_Controller {
|
||||
->value(module::get_var("gallery", "appletouchicon_url"));
|
||||
$group->input("logo_path")
|
||||
->label(t("URL (relative path) to custom logo"))
|
||||
->value(module::get_var("gallery", "logo_path"));
|
||||
->value(module::get_var("th_pear4gallery3", "logo_path"));
|
||||
$group->input("slideshow_time")
|
||||
->label(t("Slideshow timeout (in ms)"))
|
||||
->value(module::get_var("th_pear4gallery3", "slideshow_time", "5000"));
|
||||
@ -140,6 +140,13 @@ class Admin_Theme_Options_Controller extends Admin_Controller {
|
||||
"scale" => t("Shrink and grow an element"),
|
||||
"none" => t("Disable effects (faster switching)")))
|
||||
->selected(module::get_var("th_pear4gallery3", "mosaic_effect", "blind"));
|
||||
|
||||
/* Advanced Options - Photo settings ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
$group = $form->group("edit_theme_adv_photo")->label(t("Advanced Options - Photo settings"));
|
||||
$group->input("resize_size")
|
||||
->label(t("Photo resize size (800 is default)"))
|
||||
->value(module::get_var("gallery", "resize_size", "800"));
|
||||
/*
|
||||
$group->dropdown("photo_descmode")
|
||||
->label(t("Description Display Mode"))
|
||||
@ -258,8 +265,10 @@ class Admin_Theme_Options_Controller extends Admin_Controller {
|
||||
message::success(t("Theme details are reset"));
|
||||
else:
|
||||
// * General Settings ****************************************************
|
||||
$old_resize_size = module::get_var("gallery", "resize_size", 800);
|
||||
module::set_var("gallery", "resize_size", filter_var($form->edit_theme_adv_photo->resize_size->value, FILTER_VALIDATE_INT, array('options' => array('default' => 800, 'min_range' => 640))));
|
||||
|
||||
$resize_size = 800;
|
||||
$resize_size = module::get_var("gallery", "resize_size", 800);
|
||||
|
||||
$build_resize = $form->maintenance->build_resize->value;
|
||||
$build_thumbs = $form->maintenance->build_thumbs->value;
|
||||
@ -271,7 +280,7 @@ class Admin_Theme_Options_Controller extends Admin_Controller {
|
||||
endif;
|
||||
$purge_cache = $form->maintenance->purge_cache->value;
|
||||
|
||||
if ($build_resize):
|
||||
if ($build_resize || $old_resize_size != $resize_size):
|
||||
graphics::remove_rule("gallery", "resize", "gallery_graphics::resize");
|
||||
graphics::add_rule("gallery", "resize", "gallery_graphics::resize",
|
||||
array("width" => $resize_size, "height" => $resize_size, "master" => Image::AUTO), 100);
|
||||
@ -297,7 +306,7 @@ class Admin_Theme_Options_Controller extends Admin_Controller {
|
||||
module::set_var("gallery", "page_size", 50);
|
||||
module::set_var("gallery", "favicon_url", $form->edit_theme->favicon->value);
|
||||
module::set_var("gallery", "appletouchicon_url", $form->edit_theme->appletouchicon->value);
|
||||
module::set_var("gallery", "logo_path", $form->edit_theme->logo_path->value);
|
||||
$this->save_item_state("logo_path", $form->edit_theme->logo_path->value, $form->edit_theme->logo_path->value);
|
||||
|
||||
$this->save_item_state("slideshow_time", $form->edit_theme->slideshow_time->value != 5000, filter_var($form->edit_theme->slideshow_time->value, FILTER_VALIDATE_INT, array('options' => array('default' => 5000, 'min_range' => 1000))));
|
||||
|
||||
|
@ -24,7 +24,8 @@ class Pear_Controller extends Controller {
|
||||
|
||||
if(module::is_active("facebook_comment")) {
|
||||
$v = new Theme_View("facebook_comment.html", "other", "comment-fragment");
|
||||
$v->url = $item->url();
|
||||
$v->url = $item->abs_url();
|
||||
$v->title = $item->title;
|
||||
print $v;
|
||||
} else {
|
||||
$comments = ORM::factory("comment")
|
||||
@ -42,7 +43,7 @@ class Pear_Controller extends Controller {
|
||||
public function about($id){
|
||||
$item = ORM::factory("item", $id);
|
||||
access::required("view", $item);
|
||||
$v = new Theme_View("about.html");
|
||||
$v = new Theme_View("about.html","","");
|
||||
$v->item = $item;
|
||||
$details = array(array("caption" => "Title", "value" => $item->title));
|
||||
if ( $item->description != $item->title) {
|
||||
|
@ -204,6 +204,7 @@ outline: medium none;
|
||||
}
|
||||
|
||||
#sidebarContainer {
|
||||
width: 221px;
|
||||
position: fixed;
|
||||
right: 0;
|
||||
overflow: none;
|
||||
@ -313,7 +314,7 @@ bottom: 0;
|
||||
#logoButton {
|
||||
display: block;
|
||||
z-index: 100;
|
||||
background: transparent url('../icons/pear_logo_sml.png') no-repeat center center;
|
||||
background: transparent no-repeat center center;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border: 0;
|
||||
|
25
js/pear.js
25
js/pear.js
@ -9,6 +9,7 @@ var pear = {defaultView: "grid",
|
||||
slideshowTimeout: 5000,
|
||||
currentImg: 0,
|
||||
hovering: false,
|
||||
redirected: false,
|
||||
mosaicEffect: "" };
|
||||
|
||||
function thumbPadding() {
|
||||
@ -49,6 +50,9 @@ function scaleIt(v, sliding) {
|
||||
}
|
||||
|
||||
function thumbLoad(index) {
|
||||
//Reindex the slideshowImages array.
|
||||
slideshowImages = slideshowImages.filter(function (i) { return i != undefined});
|
||||
|
||||
//Load non skimming thumbs
|
||||
$('.g-thumbnail').each( function() { $(this).attr('src', thumbImages[$(this).attr('id')]); });
|
||||
//Load skimming thumbs
|
||||
@ -57,7 +61,12 @@ function thumbLoad(index) {
|
||||
//Re-initiate all fancyness.
|
||||
if (pear.currentView === 'mosaic') { $('p.giTitle,div.giInfo').hide(); } else { $('p.giTitle,div.giInfo').show(); }
|
||||
scaleIt($('#imgSlider').slider('value'));
|
||||
$('.g-item:not(.g-hover-item)').each(function (index) { $(this).unbind('click'); if ($(this).is('.g-photo')) { $(this).click(function () { if (pear.currentView === 'mosaic') { swatchImg(index); } else { focusImage(index); } }); }});
|
||||
$('.g-photo:not(.g-hover-item)').each(function (index) {
|
||||
$(this).unbind('click');
|
||||
$(this).click(function () {
|
||||
if (pear.currentView === 'mosaic') { swatchImg(index); }
|
||||
else { focusImage(index); } });
|
||||
});
|
||||
// Apply jQuery UI icon and hover styles to context menus
|
||||
if ($(".g-context-menu").length) {
|
||||
$(".g-context-menu li").addClass("ui-state-default");
|
||||
@ -308,6 +317,8 @@ function swatchImg(imageId) {
|
||||
}
|
||||
|
||||
pear.currentImg = imageId;
|
||||
//Image count.
|
||||
if (!pear.redirected) { $.get(slideshowImages[pear.currentImg][6]); pear.redirected = false;}
|
||||
|
||||
if (pear.currentView === 'mosaic') {
|
||||
$('#imageTitle').each(function (i) {$(this).html("<h2></h2>"); $(this).attr("savedH", $(this).height()); });
|
||||
@ -362,7 +373,7 @@ function showHoverView() {
|
||||
pear.hideHoverViewHandler = setTimeout(hideHoverView, 3000);
|
||||
}
|
||||
|
||||
function focusImage(id, redirected) {
|
||||
function focusImage(id) {
|
||||
if (id < 0 || id >= slideshowImages.length) {
|
||||
if ( navigation.next !== '') {
|
||||
$.get(navigation.next,{ ajax: '1'},function (data) {
|
||||
@ -377,10 +388,9 @@ function focusImage(id, redirected) {
|
||||
pear.detailView = true;
|
||||
swatchImg(id);
|
||||
$('#play_detail,#pause_detail').addClass('hidden');
|
||||
$('.g-block-content').hide();
|
||||
$('#detailView').fadeIn('slow');
|
||||
showHoverView();
|
||||
//Image count.
|
||||
//if (!redirected) { $.get(slideshowImages[pear.currentImg][6]); }
|
||||
}
|
||||
|
||||
function checkCookie() {
|
||||
@ -440,6 +450,7 @@ function startSlideshow() {
|
||||
slideShowMode = true;
|
||||
$('#play_detail').addClass('hidden');
|
||||
$('#pause_detail').removeClass('hidden');
|
||||
$('.g-block-content').hide();
|
||||
$('#detailView').fadeIn('slow');
|
||||
showHoverView();
|
||||
pear.slideShowId = pear.currentImg;
|
||||
@ -510,6 +521,7 @@ function startImageFlow() {
|
||||
|
||||
function hideDetailView() {
|
||||
$('#detailView').hide();
|
||||
$('.g-block-content').show();
|
||||
pear.slideShowMode = pear.detailView = false;
|
||||
if (pear.slideShowHandler !== null) { clearTimeout(pear.slideShowHandler); }
|
||||
pear.slideShowHandler = null;
|
||||
@ -563,10 +575,11 @@ function pearInit(options) {
|
||||
if (h.bgcolor !== undefined) {
|
||||
pear.currentBg = h.bgcolor;
|
||||
}
|
||||
pear.redirected = (h.redirected === 'true');
|
||||
if (h.viewMode !== undefined) {
|
||||
if (h.viewMode === 'detail') {
|
||||
pear.currentView = pear.defaultView;
|
||||
focusImage(pear.currentImg, h.redirected);
|
||||
focusImage(pear.currentImg);
|
||||
}
|
||||
pear.currentView = h.viewMode;
|
||||
}
|
||||
@ -594,7 +607,7 @@ function pearInit(options) {
|
||||
}
|
||||
|
||||
setKeys();
|
||||
thumbLoad();
|
||||
setTimeout(thumbLoad, 1);
|
||||
$('#gridContainer').endlessScroll({ fireOnce: true, bottomPixels: 200, callback: function(p) { loadMore(); } });
|
||||
$('#gridContainer').trigger('scroll');
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
name = ".Pear Theme"
|
||||
description = "A theme with the intention to mimic Apples mobile me gallery."
|
||||
version = 3.4.1
|
||||
version = 3.5.2
|
||||
author = "Fredrik Erlandsson <fredrik.e@gmail.com>"
|
||||
site = 1
|
||||
admin = 0
|
||||
|
@ -56,5 +56,7 @@ $(window).load(function () {
|
||||
</div>
|
||||
</div>
|
||||
<? endif ?>
|
||||
<? if(($theme->item())): ?>
|
||||
<?= $theme->album_bottom() ?>
|
||||
<? endif ?>
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
<?php defined("SYSPATH") or die("No direct script access.") ?>
|
||||
<div class="g-facebook-comment-block">
|
||||
<h1>Facebook comments for <?= $title?></h1>
|
||||
<div id="fb-root"></div>
|
||||
<script>
|
||||
(function(d, s, id) {
|
||||
@ -10,7 +11,15 @@
|
||||
fjs.parentNode.insertBefore(js, fjs);
|
||||
}(document, 'script', 'facebook-jssdk'));
|
||||
</script>
|
||||
<fb:comments href="<?=$url?>" num_posts="5" width="478" colorscheme="dark"> </fb:comments>
|
||||
<fb:comments href="<?if(isset($url)) { print $url; } else { print url::abs_current(); }?>"
|
||||
num_posts="5" width="478" colorscheme="dark"> </fb:comments>
|
||||
</div>
|
||||
|
||||
<script>FB.XFBML.parse(document.getElementById('g-dialog'));</script>
|
||||
<script>
|
||||
if (typeof(FB) != 'undefined') {
|
||||
FB.XFBML.parse(document.getElementById('g-dialog'));
|
||||
}
|
||||
setTimeout(function () {
|
||||
$("#g-dialog").removeClass("g-loading-small");
|
||||
}, 10);
|
||||
</script>
|
||||
|
@ -1,6 +1,12 @@
|
||||
<?php defined("SYSPATH") or die("No direct script access.") ?>
|
||||
<?
|
||||
if (isset($_GET['ajax'])) {
|
||||
if ($theme->page_subtype == "search") {
|
||||
$v = new View("thumbs.html");
|
||||
$v->children = $content->items;
|
||||
print $v;
|
||||
die(0);
|
||||
}
|
||||
echo new View("thumbs.html");
|
||||
die(0);
|
||||
}
|
||||
@ -9,8 +15,19 @@ if (isset($_GET['ajax'])) {
|
||||
foreach (end($parents)->viewable()->children() as $i => $child)
|
||||
if(!($child->is_album() || $child->is_movie()))
|
||||
if($child->url() == $_SERVER['REQUEST_URI']) {
|
||||
header("HTTP/1.1 302 Found");
|
||||
header("Location: ".end($parents)->url()."#img=$i&viewMode=detail&redirected=true");
|
||||
?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" <?= $theme->html_attributes() ?> xml:lang="en" lang="en">
|
||||
<head>
|
||||
<title>Photo page</title>
|
||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
|
||||
<meta http-equiv="refresh" content="1;url=<?=end($parents)->url()?>#img=<?=$i?>&viewMode=detail&redirected=true" />
|
||||
<?= $theme->head() ?>
|
||||
</head>
|
||||
<body>Page moved <a href="<?=end($parents)->url()?>#img=<?=$i?>&viewMode=detail&redirected=true">here</a>.</body>
|
||||
</html>
|
||||
<?
|
||||
die(0);
|
||||
}?>
|
||||
<? endif ?>
|
||||
@ -131,7 +148,7 @@ if (isset($_GET['ajax'])) {
|
||||
<? if (!module::get_var("th_pear4gallery3", "show_breadcrumbs")) break; ?>
|
||||
<? endforeach ?>
|
||||
<? elseif (!($theme->item() && $theme->item()->id == item::root()->id)): ?>
|
||||
<button class="ui-button ui-button-text-only ui-widget ui-state-default ui-corner-all" onclick="window.location='<?= item::root()->url() ?>' + getAlbumHash(0);"> <span class="ui-button-text"><?= html::purify(text::limit_chars($parent->title, module::get_var("gallery", "visible_title_length"))) ?></span> </button>
|
||||
<button class="ui-button ui-button-text-only ui-widget ui-state-default ui-corner-all" onclick="window.location='<?= item::root()->url() ?>' + getAlbumHash(0);"> <span class="ui-button-text"><?= html::purify(text::limit_chars(item::root()->title, module::get_var("gallery", "visible_title_length"))) ?></span> </button>
|
||||
<? endif ?>
|
||||
</div>
|
||||
<? if ($theme->item()): ?>
|
||||
@ -208,10 +225,14 @@ if (isset($_GET['ajax'])) {
|
||||
<div class="clear"></div>
|
||||
<? endif ?>
|
||||
</div>
|
||||
<? if (module::get_var("gallery", "logo_path")): ?>
|
||||
<style type="text/css">#logoButton { background-image: url("<?= module::get_var("gallery", "logo_path") ?>"); }</style>
|
||||
<? if (!module::get_var("th_pear4gallery3", "hide_logo")): ?>
|
||||
<? if (module::get_var("gallery", "logo_path")) {
|
||||
$logo_url = url::file(module::get_var("th_pear4gallery3", "logo_path"));
|
||||
} else {
|
||||
$logo_url = $theme->url("icons/pear_logo_sml.png");
|
||||
} ?>
|
||||
<button id="logoButton" style="background-image: url('<?= $logo_url ?>') !important"></button>
|
||||
<? endif ?>
|
||||
<? if (!module::get_var("th_pear4gallery3", "hide_logo")): ?><button id="logoButton"></button><? endif ?>
|
||||
</div>
|
||||
<? endif ?>
|
||||
</body>
|
||||
|
@ -1,48 +1,18 @@
|
||||
<?php defined("SYSPATH") or die("No direct script access.") ?>
|
||||
<? // @todo Set hover on AlbumGrid list items ?>
|
||||
<form action="<?= url::site("/search") ?>" id="g-search-form" class="g-short-form">
|
||||
<fieldset>
|
||||
<legend>
|
||||
<?= t("Search") ?>
|
||||
</legend>
|
||||
<ul>
|
||||
<li>
|
||||
<label for="q"><?= t("Search the gallery") ?></label>
|
||||
<input name="q" id="q" type="text" value="<?= html::clean_attribute($q) ?>" class="text" />
|
||||
</li>
|
||||
<li>
|
||||
<input type="submit" value="<?= t("Search")->for_html_attr() ?>" class="submit" />
|
||||
</li>
|
||||
</ul>
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
<div id="g-search-results">
|
||||
<h1><?= t("Search results") ?></h1>
|
||||
|
||||
<? if (count($items)): ?>
|
||||
<ul id="g-album-grid" class="ui-helper-clearfix">
|
||||
<? foreach ($items as $item): ?>
|
||||
<? $item_class = $item->is_album() ? "g-album" : "g-photo" ?>
|
||||
<li class="g-item <?= $item_class ?>">
|
||||
<a href="<?= $item->url() ?>">
|
||||
<?= $item->thumb_img() ?>
|
||||
<p>
|
||||
<?= html::purify(text::limit_chars($item->title, 32, "…")) ?>
|
||||
</p>
|
||||
<div>
|
||||
<?= nl2br(html::purify(text::limit_chars($item->description, 64, "…"))) ?>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<? endforeach ?>
|
||||
</ul>
|
||||
<?= $theme->paginator() ?>
|
||||
|
||||
<? else: ?>
|
||||
<script>
|
||||
$(function() {
|
||||
$('#g-search').attr('value', '<?=$q?>');
|
||||
$('.pearTitle').html("Search results for \"<?=$q?>\"");
|
||||
});
|
||||
</script>
|
||||
<? if (count($items)): ?>
|
||||
<?/* Treat dynamic pages just lite album pages. */ ?>
|
||||
<? $children = $items ?>
|
||||
<? $v = new View("album.html");
|
||||
$v->set_global("children", $items);// = $items;
|
||||
print $v;?>
|
||||
<? else: ?>
|
||||
<p>
|
||||
<?= t("No results found for <b>%term</b>", array("term" => $q)) ?>
|
||||
</p>
|
||||
|
||||
<? endif; ?>
|
||||
</div>
|
||||
<? endif; ?>
|
||||
|
@ -6,7 +6,7 @@
|
||||
<? if ($i > 50) break; ?>
|
||||
<? $item_class = "g-photo"; ?>
|
||||
<? if ($child->is_album()): ?>
|
||||
<? $item_class = "g-album\" onclick=\"window.location='".$child->url()."/'+getAlbumHash(skimimg);"; ?>
|
||||
<? $item_class = "g-album\" onclick=\"window.location='".$child->url()."/'+getAlbumHash((typeof skimimg === 'undefined') ? 0 : skimimg);"; ?>
|
||||
<? endif ?>
|
||||
<? $img_class = "g-thumbnail"; ?>
|
||||
<? if ($child->is_photo()): ?>
|
||||
@ -55,9 +55,7 @@ endif;
|
||||
<? $item_no = ($page*$page_size)-$page_size; ?>
|
||||
<? foreach ($children as $i => $child): ?>
|
||||
<? if(!($child->is_album() || $child->is_movie())): ?>
|
||||
slideshowImages[<?= $item_no++ ?>] = (['<?= $child->resize_url() ?>', '<?= $child->id ?>', '<?= $child->width ?>','<?= $child->height ?>', '<?= htmlentities($child->title, ENT_QUOTES) ?>', '<? if (access::can("view_full", $child)) print "true" ?>', '<?= $child->url() ?>']);
|
||||
<? else: ?>
|
||||
<? $item_no++ ?>
|
||||
slideshowImages[<?= $item_no++ ?>] = (['<?= $child->resize_url() ?>', '<?= $child->id ?>', '<?= $child->resize_width ?>','<?= $child->resize_height ?>', '<?= htmlentities($child->title, ENT_QUOTES) ?>', '<? if (access::can("view_full", $child)) print "true" ?>', '<?= $child->url() ?>']);
|
||||
<? endif ?>
|
||||
<? endforeach ?>
|
||||
<?= $javaScript ?>
|
||||
|
Reference in New Issue
Block a user