summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--installer/install.sql4
-rw-r--r--modules/gallery/controllers/albums.php22
-rw-r--r--modules/gallery/controllers/movies.php20
-rw-r--r--modules/gallery/controllers/photos.php20
-rw-r--r--modules/gallery/helpers/gallery_installer.php11
-rw-r--r--modules/gallery/libraries/Admin_View.php10
-rw-r--r--modules/gallery/libraries/MY_View.php10
-rw-r--r--modules/gallery/libraries/Theme_View.php10
-rw-r--r--modules/gallery/models/item.php10
-rw-r--r--modules/gallery/module.info2
-rw-r--r--modules/search/controllers/search.php8
-rw-r--r--modules/tag/controllers/tag.php12
-rw-r--r--themes/wind/views/no_sidebar.html.php9
13 files changed, 86 insertions, 62 deletions
diff --git a/installer/install.sql b/installer/install.sql
index baee2b9d..6aae8014 100644
--- a/installer/install.sql
+++ b/installer/install.sql
@@ -152,7 +152,7 @@ CREATE TABLE {items} (
`album_cover_item_id` int(9) DEFAULT NULL,
`captured` int(9) DEFAULT NULL,
`created` int(9) DEFAULT NULL,
- `description` varchar(2048) DEFAULT NULL,
+ `description` text,
`height` int(9) DEFAULT NULL,
`left_ptr` int(9) NOT NULL,
`level` int(9) NOT NULL,
@@ -244,7 +244,7 @@ CREATE TABLE {modules} (
KEY `weight` (`weight`)
) AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
-INSERT INTO {modules} VALUES (1,1,'gallery',41,1);
+INSERT INTO {modules} VALUES (1,1,'gallery',43,1);
INSERT INTO {modules} VALUES (2,1,'user',3,2);
INSERT INTO {modules} VALUES (3,1,'comment',3,3);
INSERT INTO {modules} VALUES (4,1,'organize',2,4);
diff --git a/modules/gallery/controllers/albums.php b/modules/gallery/controllers/albums.php
index b0887195..25df0da7 100644
--- a/modules/gallery/controllers/albums.php
+++ b/modules/gallery/controllers/albums.php
@@ -61,20 +61,18 @@ class Albums_Controller extends Items_Controller {
}
$template = new Theme_View("page.html", "collection", "album");
- $template->set_global("page", $page);
- $template->set_global("page_title", null);
- $template->set_global("max_pages", $max_pages);
- $template->set_global("page_size", $page_size);
- $template->set_global("item", $album);
- $template->set_global("children", $album->viewable()->children($page_size, $offset));
- $template->set_global("children_count", $children_count);
- $template->set_global("parents", $album->parents()->as_array()); // view calls empty() on this
+ $template->set_global(
+ array("page" => $page,
+ "page_title" => null,
+ "max_pages" => $max_pages,
+ "page_size" => $page_size,
+ "item" => $album,
+ "children" => $album->viewable()->children($page_size, $offset),
+ "parents" => $album->parents()->as_array(), // view calls empty() on this
+ "children_count" => $children_count));
$template->content = new View("album.html");
- // We can't use math in ORM or the query builder, so do this by hand. It's important
- // that we do this with math, otherwise concurrent accesses will damage accuracy.
- db::query("UPDATE {items} SET `view_count` = `view_count` + 1 WHERE `id` = $album->id")
- ->execute();
+ $album->increment_view_count();
print $template;
}
diff --git a/modules/gallery/controllers/movies.php b/modules/gallery/controllers/movies.php
index 717eb8aa..bf50abd5 100644
--- a/modules/gallery/controllers/movies.php
+++ b/modules/gallery/controllers/movies.php
@@ -38,19 +38,19 @@ class Movies_Controller extends Items_Controller {
}
$template = new Theme_View("page.html", "item", "movie");
- $template->set_global("item", $movie);
- $template->set_global("children", array());
- $template->set_global("children_count", 0);
- $template->set_global("parents", $movie->parents()->as_array());
- $template->set_global("next_item", $next_item);
- $template->set_global("previous_item", $previous_item);
- $template->set_global("sibling_count", $movie->parent()->viewable()->children_count($where));
- $template->set_global("position", $position);
+ $template->set_global(
+ array("item" => $movie,
+ "children" => array(),
+ "children_count" => 0,
+ "parents" => $movie->parents()->as_array(),
+ "next_item" => $next_item,
+ "previous_item" => $previous_item,
+ "sibling_count" => $movie->parent()->viewable()->children_count($where),
+ "position" => $position));
$template->content = new View("movie.html");
- $movie->view_count++;
- $movie->save();
+ $movie->increment_view_count();
print $template;
}
diff --git a/modules/gallery/controllers/photos.php b/modules/gallery/controllers/photos.php
index b22ac8e5..d500a92e 100644
--- a/modules/gallery/controllers/photos.php
+++ b/modules/gallery/controllers/photos.php
@@ -38,19 +38,19 @@ class Photos_Controller extends Items_Controller {
}
$template = new Theme_View("page.html", "item", "photo");
- $template->set_global("item", $photo);
- $template->set_global("children", array());
- $template->set_global("children_count", 0);
- $template->set_global("parents", $photo->parents()->as_array());
- $template->set_global("next_item", $next_item);
- $template->set_global("previous_item", $previous_item);
- $template->set_global("sibling_count", $photo->parent()->viewable()->children_count($where));
- $template->set_global("position", $position);
+ $template->set_global(
+ array("item" => $photo,
+ "children" => array(),
+ "children_count" => 0,
+ "parents" => $photo->parents()->as_array(),
+ "next_item" => $next_item,
+ "previous_item" => $previous_item,
+ "sibling_count" => $photo->parent()->viewable()->children_count($where),
+ "position" => $position));
$template->content = new View("photo.html");
- $photo->view_count++;
- $photo->save();
+ $photo->increment_view_count();
print $template;
}
diff --git a/modules/gallery/helpers/gallery_installer.php b/modules/gallery/helpers/gallery_installer.php
index cb314527..f7b8da5f 100644
--- a/modules/gallery/helpers/gallery_installer.php
+++ b/modules/gallery/helpers/gallery_installer.php
@@ -44,7 +44,7 @@ class gallery_installer {
`expiration` int(9) NOT NULL,
`cache` longblob,
PRIMARY KEY (`id`),
- KEY (`key`),
+ UNIQUE KEY (`key`),
KEY (`tags`))
DEFAULT CHARSET=utf8;");
@@ -84,7 +84,7 @@ class gallery_installer {
`album_cover_item_id` int(9) default NULL,
`captured` int(9) default NULL,
`created` int(9) default NULL,
- `description` varchar(2048) default NULL,
+ `description` text default NULL,
`height` int(9) default NULL,
`left_ptr` int(9) NOT NULL,
`level` int(9) NOT NULL,
@@ -309,7 +309,7 @@ class gallery_installer {
module::set_var("gallery", "show_user_profiles_to", "registered_users");
module::set_var("gallery", "extra_binary_paths", "/usr/local/bin:/opt/local/bin:/opt/bin");
- module::set_version("gallery", 42);
+ module::set_version("gallery", 43);
}
static function upgrade($version) {
@@ -648,6 +648,11 @@ class gallery_installer {
$db->query("ALTER TABLE {caches} DROP INDEX `key`, ADD UNIQUE `key` (`key`)");
module::set_version("gallery", $version = 42);
}
+
+ if ($version == 42) {
+ $db->query("ALTER TABLE {items} CHANGE `description` `description` text DEFAULT NULL");
+ module::set_version("gallery", $version = 43);
+ }
}
static function uninstall() {
diff --git a/modules/gallery/libraries/Admin_View.php b/modules/gallery/libraries/Admin_View.php
index bff13ace..28a003cc 100644
--- a/modules/gallery/libraries/Admin_View.php
+++ b/modules/gallery/libraries/Admin_View.php
@@ -34,11 +34,11 @@ class Admin_View_Core extends Gallery_View {
$this->theme_name = Input::instance()->get("theme", $this->theme_name);
}
$this->sidebar = "";
- $this->set_global("theme", $this);
- $this->set_global("user", identity::active_user());
- $this->set_global("page_type", "admin");
- $this->set_global("page_subtype", $name);
- $this->set_global("page_title", null);
+ $this->set_global(array("theme" => $this,
+ "user" => identity::active_user(),
+ "page_type" => "admin",
+ "page_subtype" => $name,
+ "page_title" => null));
}
public function admin_menu() {
diff --git a/modules/gallery/libraries/MY_View.php b/modules/gallery/libraries/MY_View.php
index ded77792..2230203a 100644
--- a/modules/gallery/libraries/MY_View.php
+++ b/modules/gallery/libraries/MY_View.php
@@ -23,8 +23,14 @@ class View extends View_Core {
/**
* Reimplement Kohana 2.3's View::set_global() functionality.
*/
- public function set_global($key, $value) {
- View::$global_data[$key] = $value;
+ public function set_global($key, $value = NULL) {
+ if (is_array($key)) {
+ foreach ($key as $key2 => $value) {
+ View::$global_data[$key2] = $value;
+ }
+ } else {
+ View::$global_data[$key] = $value;
+ }
}
public function is_set($key=null) {
diff --git a/modules/gallery/libraries/Theme_View.php b/modules/gallery/libraries/Theme_View.php
index d22bb03a..ba1862c0 100644
--- a/modules/gallery/libraries/Theme_View.php
+++ b/modules/gallery/libraries/Theme_View.php
@@ -37,11 +37,11 @@ class Theme_View_Core extends Gallery_View {
}
$this->item = null;
$this->tag = null;
- $this->set_global("theme", $this);
- $this->set_global("user", identity::active_user());
- $this->set_global("page_type", $page_type);
- $this->set_global("page_subtype", $page_subtype);
- $this->set_global("page_title", null);
+ $this->set_global(array("theme" => $this,
+ "user" => identity::active_user(),
+ "page_type" => $page_type,
+ "page_subtype" => $page_subtype,
+ "page_title" => null));
if ($page_type == "collection") {
$this->set_global("thumb_proportion", $this->thumb_proportion());
}
diff --git a/modules/gallery/models/item.php b/modules/gallery/models/item.php
index fc5c3ff9..7ddcb4c2 100644
--- a/modules/gallery/models/item.php
+++ b/modules/gallery/models/item.php
@@ -1078,6 +1078,16 @@ class Item_Model_Core extends ORM_MPTT {
return $data;
}
+ /**
+ * Increments the view counter of this item
+ * We can't use math in ORM or the query builder, so do this by hand. It's important
+ * that we do this with math, otherwise concurrent accesses will damage accuracy.
+ */
+ public function increment_view_count() {
+ db::query("UPDATE {items} SET `view_count` = `view_count` + 1 WHERE `id` = $this->id")
+ ->execute();
+ }
+
private function _cache_buster($path) {
return "?m=" . (string)(file_exists($path) ? filemtime($path) : 0);
}
diff --git a/modules/gallery/module.info b/modules/gallery/module.info
index 0cc3f6d1..eb579ab6 100644
--- a/modules/gallery/module.info
+++ b/modules/gallery/module.info
@@ -1,3 +1,3 @@
name = "Gallery 3"
description = "Gallery core application"
-version = 42
+version = 43
diff --git a/modules/search/controllers/search.php b/modules/search/controllers/search.php
index e5894f30..733bc9f7 100644
--- a/modules/search/controllers/search.php
+++ b/modules/search/controllers/search.php
@@ -34,10 +34,10 @@ class Search_Controller extends Controller {
$max_pages = max(ceil($count / $page_size), 1);
$template = new Theme_View("page.html", "collection", "search");
- $template->set_global("page", $page);
- $template->set_global("max_pages", $max_pages);
- $template->set_global("page_size", $page_size);
- $template->set_global("children_count", $count);
+ $template->set_global(array("page" => $page,
+ "max_pages" => $max_pages,
+ "page_size" => $page_size,
+ "children_count" => $count));
$template->content = new View("search.html");
$template->content->items = $result;
diff --git a/modules/tag/controllers/tag.php b/modules/tag/controllers/tag.php
index 0e924f3d..7bfa7d58 100644
--- a/modules/tag/controllers/tag.php
+++ b/modules/tag/controllers/tag.php
@@ -35,12 +35,12 @@ class Tag_Controller extends Controller {
}
$template = new Theme_View("page.html", "collection", "tag");
- $template->set_global("page", $page);
- $template->set_global("max_pages", $max_pages);
- $template->set_global("page_size", $page_size);
- $template->set_global("tag", $tag);
- $template->set_global("children", $tag->items($page_size, $offset));
- $template->set_global("children_count", $children_count);
+ $template->set_global(array("page" => $page,
+ "max_pages" => $max_pages,
+ "page_size" => $page_size,
+ "tag" => $tag,
+ "children" => $tag->items($page_size, $offset),
+ "children_count" => $children_count));
$template->content = new View("dynamic.html");
$template->content->title = t("Tag: %tag_name", array("tag_name" => $tag->name));
diff --git a/themes/wind/views/no_sidebar.html.php b/themes/wind/views/no_sidebar.html.php
index a9eb0e3e..58c57256 100644
--- a/themes/wind/views/no_sidebar.html.php
+++ b/themes/wind/views/no_sidebar.html.php
@@ -1,6 +1,11 @@
<?php defined("SYSPATH") or die("No direct script access.") ?>
<ul class="g-message-block">
- <li class="g-warning"><?= t("No active sidebar blocks.") ?>
- <br/><a href="<?= url::site("admin/sidebar") ?>"><?= t("Add blocks") ?></a>
+ <li class="g-warning">
+ <? if (block_manager::get_active("site_sidebar")): ?>
+ <?= t("Active sidebar blocks have no content.") ?>
+ <? else: ?>
+ <?= t("No active sidebar blocks.") ?>
+ <? endif ?>
+ <a href="<?= url::site("admin/sidebar") ?>"><?= t("configure blocks") ?></a>
</li>
</ul>