summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/gallery.in_place_edit.js62
-rw-r--r--modules/gallery/config/upload.php2
-rw-r--r--modules/gallery/controllers/movies.php9
-rw-r--r--modules/gallery/controllers/photos.php9
-rw-r--r--modules/gallery/css/gallery.css39
-rw-r--r--modules/gallery/helpers/gallery_theme.php1
-rw-r--r--modules/gallery/libraries/InPlaceEdit.php88
-rw-r--r--modules/gallery/models/item.php34
-rw-r--r--modules/gallery/views/in_place_edit.html.php16
-rw-r--r--modules/tag/controllers/admin_tags.php46
-rw-r--r--modules/tag/helpers/tag.php15
-rw-r--r--modules/tag/helpers/tag_theme.php8
-rw-r--r--modules/tag/js/tag.js71
-rw-r--r--modules/tag/views/admin_tags.html.php9
-rw-r--r--themes/admin_wind/css/screen.css5
-rw-r--r--themes/night_wind/css/screen.css5
-rw-r--r--themes/wind/css/screen.css5
17 files changed, 254 insertions, 170 deletions
diff --git a/lib/gallery.in_place_edit.js b/lib/gallery.in_place_edit.js
new file mode 100644
index 00000000..38c4efb1
--- /dev/null
+++ b/lib/gallery.in_place_edit.js
@@ -0,0 +1,62 @@
+(function($) {
+ $.widget("ui.gallery_in_place_edit", {
+ _init: function() {
+ var self = this;
+ $(self).data("parent", self.element.parent());
+ this.element.click(function(event) {
+ event.preventDefault();
+ self._show(event.currentTarget);
+ return false;
+ });
+ },
+
+ _show: function(target) {
+ var self = this;
+ var tag_width = $(target).width();
+ $(self).data("tag_width", tag_width);
+
+ $.get(self.options.form_url.replace("__ID__", $(target).attr('rel')), function(data) {
+ var parent = $(target).parent();
+ parent.children().hide();
+ parent.append(data);
+ parent.find("form :text")
+ .width(tag_width)
+ .focus();
+ $(".g-short-form").gallery_short_form();
+ parent.find("form .g-cancel").click(function(event) {
+ parent.find("form").remove();
+ parent.children().show();
+ event.preventDefault();
+ return false;
+ });
+ self._ajaxify_edit();
+ });
+
+ },
+
+ _ajaxify_edit: function() {
+ var self = this;
+ var form = $($(self).data("parent")).find("form");
+ $(form).ajaxForm({
+ dataType: "json",
+ success: function(data) {
+ if (data.result == "success") {
+ window.location.reload();
+ } else {
+ $(form).replaceWith(data.form);
+ var width = $(self).data("tag_width");
+ $($(self).data("parent")).find("form :text")
+ .width(width)
+ .focus();
+ $(".g-short-form").gallery_short_form();
+ self._ajaxify_edit();
+ }
+ }
+ });
+ }
+ });
+
+ $.extend($.ui.gallery_in_place_edit, {
+ defaults: {}
+ });
+})(jQuery);
diff --git a/modules/gallery/config/upload.php b/modules/gallery/config/upload.php
index 897ecacf..69ea7768 100644
--- a/modules/gallery/config/upload.php
+++ b/modules/gallery/config/upload.php
@@ -33,4 +33,4 @@ $config['create_directories'] = FALSE;
/**
* Remove spaces from uploaded filenames.
*/
-$config['remove_spaces'] = TRUE; \ No newline at end of file
+$config['remove_spaces'] = FALSE; \ No newline at end of file
diff --git a/modules/gallery/controllers/movies.php b/modules/gallery/controllers/movies.php
index 01a9fc8b..6200e8b4 100644
--- a/modules/gallery/controllers/movies.php
+++ b/modules/gallery/controllers/movies.php
@@ -25,13 +25,14 @@ class Movies_Controller extends Items_Controller {
public function _show($movie) {
access::required("view", $movie);
- $position = $movie->parent()->get_position($movie);
+ $where = array("type != " => "album");
+ $position = $movie->parent()->get_position($movie, $where);
if ($position > 1) {
list ($previous_item, $ignore, $next_item) =
- $movie->parent()->children(3, $position - 2);
+ $movie->parent()->children(3, $position - 2, $where);
} else {
$previous_item = null;
- list ($next_item) = $movie->parent()->viewable()->children(1, $position);
+ list ($next_item) = $movie->parent()->viewable()->children(1, $position, $where);
}
$template = new Theme_View("page.html", "movie");
@@ -41,7 +42,7 @@ class Movies_Controller extends Items_Controller {
$template->set_global("parents", $movie->parents());
$template->set_global("next_item", $next_item);
$template->set_global("previous_item", $previous_item);
- $template->set_global("sibling_count", $movie->parent()->viewable()->children_count());
+ $template->set_global("sibling_count", $movie->parent()->viewable()->children_count($where));
$template->set_global("position", $position);
$template->content = new View("movie.html");
diff --git a/modules/gallery/controllers/photos.php b/modules/gallery/controllers/photos.php
index 54cd63c6..b9adfd90 100644
--- a/modules/gallery/controllers/photos.php
+++ b/modules/gallery/controllers/photos.php
@@ -25,13 +25,14 @@ class Photos_Controller extends Items_Controller {
public function _show($photo) {
access::required("view", $photo);
- $position = $photo->parent()->get_position($photo);
+ $where = array("type != " => "album");
+ $position = $photo->parent()->get_position($photo, $where);
if ($position > 1) {
list ($previous_item, $ignore, $next_item) =
- $photo->parent()->children(3, $position - 2);
+ $photo->parent()->children(3, $position - 2, $where);
} else {
$previous_item = null;
- list ($next_item) = $photo->parent()->viewable()->children(1, $position);
+ list ($next_item) = $photo->parent()->viewable()->children(1, $position, $where);
}
$template = new Theme_View("page.html", "photo");
@@ -41,7 +42,7 @@ class Photos_Controller extends Items_Controller {
$template->set_global("parents", $photo->parents());
$template->set_global("next_item", $next_item);
$template->set_global("previous_item", $previous_item);
- $template->set_global("sibling_count", $photo->parent()->viewable()->children_count());
+ $template->set_global("sibling_count", $photo->parent()->viewable()->children_count($where));
$template->set_global("position", $position);
$template->content = new View("photo.html");
diff --git a/modules/gallery/css/gallery.css b/modules/gallery/css/gallery.css
index a4a52155..724c50d3 100644
--- a/modules/gallery/css/gallery.css
+++ b/modules/gallery/css/gallery.css
@@ -1,8 +1,3 @@
-/**
- * @todo Make #g-welcome-message p unecessary
- * @todo Review permissions dialog, find home
- */
-
/* Permissions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
#g-edit-permissions-form {
@@ -15,7 +10,6 @@
#g-edit-permissions-form fieldset {
border: 1px solid #ccc;
- padding: 0;
}
#g-permissions .g-denied,
@@ -42,59 +36,52 @@
background: #999;
}
+/* In-place edit ~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+#g-inplace-edit-form ul {
+ margin: 0;
+}
+
/* Simple uploader ~~~~~~~~~~~~~~~~~~~~~~~ */
#g-add-photos #SWFUpload_0 {
+ left: 134px;
position: relative;
top: -200px;
- left: 134px;
-}
-
-#g-add-photos .g-breadcrumbs {
- border: 0;
- margin: 0;
- padding-left:10px;
}
#g-add-photos-canvas {
border: 1px solid #ccc;
- margin: .5em 0 .5em 0;
- width: 469px;
height: 325px;
+ margin: .5em 0;
overflow: auto;
+ width: 469px;
}
#g-add-photos button {
- margin-bottom: .5em;
float: right;
+ margin-bottom: .5em;
}
+
#g-uploadqueue-infobar {
clear: both;
}
#g-uploadqueue-infobar #g-cancelupload {
- display: none;
cursor: pointer;
-}
-
-#g-add-photos-canvas {
+ display: none;
}
#g-add-photos-queue .progressbar {
height: 4px;
}
-#g-add-photos-queue .title {
- font-size: 1.25em;
-}
-
#g-add-photos-queue .status {
font-size: .75em;
}
#g-add-photos-queue .box {
- margin-bottom: 8px;
- padding: 4px;
+ padding: .2em;
}
#g-add-photos-queue .pending {
diff --git a/modules/gallery/helpers/gallery_theme.php b/modules/gallery/helpers/gallery_theme.php
index 3fcaca67..0682d4ae 100644
--- a/modules/gallery/helpers/gallery_theme.php
+++ b/modules/gallery/helpers/gallery_theme.php
@@ -61,6 +61,7 @@ class gallery_theme_Core {
}
static function admin_head($theme) {
+ $theme->css("gallery.css");
$theme->script("gallery.panel.js");
$session = Session::instance();
if ($session->get("debug")) {
diff --git a/modules/gallery/libraries/InPlaceEdit.php b/modules/gallery/libraries/InPlaceEdit.php
new file mode 100644
index 00000000..057874e3
--- /dev/null
+++ b/modules/gallery/libraries/InPlaceEdit.php
@@ -0,0 +1,88 @@
+<?php defined("SYSPATH") or die("No direct script access.");
+/**
+ * Gallery - a web based photo album viewer and editor
+ * Copyright (C) 2000-2009 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 InPlaceEdit_Core {
+ private $rules = array();
+ private $messages = array();
+ private $callback = array();
+ private $initial_value;
+ private $action = "";
+ private $errors;
+ private $form;
+
+ static function factory($initial_value) {
+ $instance = new InPlaceEdit();
+ $instance->initial_value = $initial_value;
+ $instance->form = array("input" => $initial_value);
+ $instance->errors = array("input" => "");
+
+ return $instance;
+ }
+
+ public function add_action($action) {
+ $this->action = $action;
+ return $this;
+ }
+
+ public function add_rules($rules) {
+ $this->rules += $rules;
+ return $this;
+ }
+
+ public function add_messages($messages) {
+ $this->messages += $messages;
+ return $this;
+ }
+
+ public function add_callback($callback) {
+ $this->callback = $callback;
+ return $this;
+ }
+
+ public function validate() {
+ $post = Validation::factory($_POST)
+ ->add_callbacks("input", $this->callback);
+ foreach ($this->rules as $rule) {
+ $post->add_rules("input", $rule);
+ }
+
+ $valid = $post->validate();
+ $this->form = array_merge($this->form, $post->as_array());
+ $this->errors = array_merge($this->errors, $post->errors());
+ return $valid;
+ }
+
+ public function render() {
+ $v = new View("in_place_edit.html");
+ $v->hidden = array("csrf" => access::csrf_token());
+ $v->action = url::site($this->action);
+ $v->form = $this->form;
+ $v->errors = $this->errors;
+ foreach ($v->errors as $key => $error) {
+ if (!empty($error)) {
+ $v->errors[$key] = $this->messages[$error];
+ }
+ }
+ return $v->render();
+ }
+
+ public function value() {
+ return $this->form["input"];
+ }
+} \ No newline at end of file
diff --git a/modules/gallery/models/item.php b/modules/gallery/models/item.php
index fc0f0193..9735ed62 100644
--- a/modules/gallery/models/item.php
+++ b/modules/gallery/models/item.php
@@ -422,7 +422,7 @@ class Item_Model extends ORM_MPTT {
* Find the position of the given child id in this album. The resulting value is 1-indexed, so
* the first child in the album is at position 1.
*/
- public function get_position($child) {
+ public function get_position($child, $where=array()) {
if ($this->sort_order == "DESC") {
$comp = ">";
} else {
@@ -435,18 +435,20 @@ class Item_Model extends ORM_MPTT {
$count = $db->from("items")
->where("parent_id", $this->id)
->where($this->sort_column, NULL)
+ ->where($where)
->count_records();
if (empty($count)) {
// There are no NULLs in the sort column, so we can just use it directly.
- $position = $db->query("
- SELECT COUNT(*) AS position FROM {items}
- WHERE `parent_id` = {$this->id}
- AND `{$this->sort_column}` $comp (SELECT `{$this->sort_column}`
- FROM {items} WHERE `id` = $child->id)")
- ->current()->position;
-
- // We stopped short of our target value in the sort (notice that we're using a < comparator
+ $sort_column = $this->sort_column;
+
+ $position = $db->from("items")
+ ->where("parent_id", $this->id)
+ ->where("$sort_column < ", $child->$sort_column)
+ ->where($where)
+ ->count_records();
+
+ // We stopped short of our target value in the sort (notice that we're using a < comparator
// above) because it's possible that we have duplicate values in the sort column. An
// equality check would just arbitrarily pick one of those multiple possible equivalent
// columns, which would mean that if you choose a sort order that has duplicates, it'd pick
@@ -454,13 +456,12 @@ class Item_Model extends ORM_MPTT {
//
// Fix this by doing a 2nd query where we iterate over the equivalent columns and add them to
// our base value.
- $result = $db->query("
- SELECT id FROM {items}
- WHERE `parent_id` = {$this->id}
- AND `{$this->sort_column}` = (SELECT `{$this->sort_column}`
- FROM {items} WHERE `id` = $child->id)
- ORDER BY `id` ASC");
- foreach ($result as $row) {
+ foreach ($db->from("items")
+ ->where("parent_id", $this->id)
+ ->where($sort_column, $child->$sort_column)
+ ->where($where)
+ ->orderby(array("id" => "ASC"))
+ ->get() as $row) {
$position++;
if ($row->id == $child->id) {
break;
@@ -484,6 +485,7 @@ class Item_Model extends ORM_MPTT {
foreach ($db->select("id")
->from("items")
->where("parent_id", $this->id)
+ ->where($where)
->orderby($orderby)
->get() as $row) {
$position++;
diff --git a/modules/gallery/views/in_place_edit.html.php b/modules/gallery/views/in_place_edit.html.php
new file mode 100644
index 00000000..64671d57
--- /dev/null
+++ b/modules/gallery/views/in_place_edit.html.php
@@ -0,0 +1,16 @@
+<?php defined("SYSPATH") or die("No direct script access.") ?>
+<?= form::open($action, array("method" => "post", "id" => "g-inplace-edit-form", "class" => "g-short-form"), $hidden) ?>
+ <ul>
+ <li <? if (!empty($errors["input"])): ?> class="g-error"<? endif ?>>
+ <?= form::input("input", $form["input"], " class='textbox'") ?>
+ </li>
+ <li>
+ <?= form::submit(array("class" => "submit ui-state-default"), t("Save")) ?>
+ </li>
+ <li><a href="#" class="g-cancel"><?= t("Cancel") ?></a></li>
+ </ul>
+<?= form::close() ?>
+<? if (!empty($errors["input"])): ?>
+<div id="g-inplace-edit-message" class="g-error"><?= $errors["input"] ?></div>
+<? endif ?>
+
diff --git a/modules/tag/controllers/admin_tags.php b/modules/tag/controllers/admin_tags.php
index 63f7957c..d79f697c 100644
--- a/modules/tag/controllers/admin_tags.php
+++ b/modules/tag/controllers/admin_tags.php
@@ -69,7 +69,9 @@ class Admin_Tags_Controller extends Admin_Controller {
public function form_rename($id) {
$tag = ORM::factory("tag", $id);
if ($tag->loaded) {
- print tag::get_rename_form($tag);
+ print InPlaceEdit::factory($tag->name)
+ ->add_action("admin/tags/rename/$id")
+ ->render();
}
}
@@ -81,25 +83,15 @@ class Admin_Tags_Controller extends Admin_Controller {
kohana::show_404();
}
- // Don't use a form as the form is dynamically created in the js
- $post = new Validation($_POST);
- $post->add_rules("name", "required", "length[1,64]");
- $valid = $post->validate();
- if ($valid) {
- $new_name = $this->input->post("name");
- $new_tag = ORM::factory("tag")->where("name", $new_name)->find();
- if ($new_tag->loaded) {
- $error_msg = t("There is already a tag with that name");
- $valid = false;
- }
- } else {
- $error_msg = $post->errors();
- $error_msg = $error_msg[0];
- }
+ $inplaceedit = InPlaceEdit::factory($tag->name)
+ ->add_action("admin/tags/rename/$tag->id")
+ ->add_rules(array("required", "length[1,64]"))
+ ->add_messages(array("in_use" => t("There is already a tag with that name")))
+ ->add_callback(array($this, "check_for_duplicate"));
- if ($valid) {
+ if ($inplaceedit->validate()) {
$old_name = $tag->name;
- $tag->name = $new_name;
+ $tag->name = $inplaceedit->value();
$tag->save();
$message = t("Renamed tag %old_name to %new_name",
@@ -107,16 +99,18 @@ class Admin_Tags_Controller extends Admin_Controller {
message::success($message);
log::success("tags", $message);
- print json_encode(
- array("result" => "success",
- "location" => url::site("admin/tags"),
- "tag_id" => $tag->id,
- "new_tagname" => html::clean($tag->name)));
+ print json_encode(array("result" => "success"));
} else {
- print json_encode(
- array("result" => "error",
- "message" => (string) $error_msg));
+ print json_encode(array("result" => "error", "form" => $inplaceedit->render()));
}
}
+
+ public function check_for_duplicate(Validation $post_data, $field) {
+ $tag_exists = ORM::factory("tag")->where("name", $post_data[$field])->count_all();
+ if ($tag_exists) {
+ $post_data->add_error($field, "in_use");
+ }
+ }
+
}
diff --git a/modules/tag/helpers/tag.php b/modules/tag/helpers/tag.php
index 01972a65..feaf40c5 100644
--- a/modules/tag/helpers/tag.php
+++ b/modules/tag/helpers/tag.php
@@ -73,12 +73,16 @@ class tag_Core {
if ($tags) {
$cloud = new View("tag_cloud.html");
$cloud->max_count = $tags[0]->count;
- usort($tags, array("tag_theme", "sort_by_name"));
+ usort($tags, array("tag", "sort_by_name"));
$cloud->tags = $tags;
return $cloud;
}
}
+ static function sort_by_name($tag1, $tag2) {
+ return strcasecmp($tag1->name, $tag2->name);
+ }
+
/**
* Return all the tags for a given item.
* @return array
@@ -109,15 +113,6 @@ class tag_Core {
return $form;
}
- static function get_rename_form($tag) {
- $form = new Forge("admin/tags/rename/$tag->id", "", "post", array("id" => "g-rename-tag-form", "class" => "g-short-form"));
- $group = $form->group("rename_tag")->label(t("Rename Tag"));
- $group->input("name")->label(t("Tag name"))->value($tag->name)->rules("required|length[1,64]");
- $group->inputs["name"]->error_messages("in_use", t("There is already a tag with that name"));
- $group->submit("")->value(t("Save"));
- return $form;
- }
-
static function get_delete_form($tag) {
$form = new Forge("admin/tags/delete/$tag->id", "", "post", array("id" => "g-delete-tag-form"));
$group = $form->group("delete_tag")
diff --git a/modules/tag/helpers/tag_theme.php b/modules/tag/helpers/tag_theme.php
index ac0dd016..76c0ea6b 100644
--- a/modules/tag/helpers/tag_theme.php
+++ b/modules/tag/helpers/tag_theme.php
@@ -21,16 +21,12 @@ class tag_theme_Core {
static function head($theme) {
$theme->css("jquery.autocomplete.css");
$theme->script("jquery.autocomplete.js");
- $theme->css("tag.css");
$theme->script("tag.js");
+ $theme->css("tag.css");
}
static function admin_head($theme) {
$theme->css("tag.css");
- $theme->script("tag.js");
- }
-
- static function sort_by_name($tag1, $tag2) {
- return strcasecmp($tag1->name, $tag2->name);
+ $theme->script("gallery.in_place_edit.js");
}
} \ No newline at end of file
diff --git a/modules/tag/js/tag.js b/modules/tag/js/tag.js
index 8cb4e571..4760084d 100644
--- a/modules/tag/js/tag.js
+++ b/modules/tag/js/tag.js
@@ -1,7 +1,3 @@
-$("document").ready(function() {
- ajaxify_tag_form();
-});
-
function ajaxify_tag_form() {
$("#g-tag form").ajaxForm({
dataType: "json",
@@ -15,70 +11,3 @@ function ajaxify_tag_form() {
}
});
}
-
-function closeEditInPlaceForms() {
- // closes currently open inplace edit forms
- if ($("#g-rename-tag-form").length) {
- $("#g-action-status").remove();
- var li = $("#g-rename-tag-form").parent();
- $("#g-rename-tag-form").parent().html($("#g-rename-tag-form").parent().data("revert"));
- li.height("");
- $(".g-editable", li).bind("click", editInPlace);
- $(".g-dialog-link", li).gallery_dialog();
- }
-}
-
-function str_replace(search_term, replacement, string) {
- var temp = string.split(search_term);
- return temp.join(replacement);
-}
-
-function editInPlace(element) {
- closeEditInPlaceForms();
-
- // create edit form
- var tag_id = $(this).attr('rel');
- var tag_name = $(this).html();
- var tag_width = $(this).width();
- $(this).parent().data("revert", $(this).parent().html());
- var form = '<form id="g-rename-tag-form" method="post" class="g-short-form" ';
- form += 'action="' + TAG_RENAME_URL.replace('__ID__', tag_id) + '">';
- form += '<input name="csrf" type="hidden" value="' + csrf_token + '" />';
- form += '<ul>';
- form += '<li><input id="name" name="name" type="text" class="textbox" value="' +
- str_replace('"', "&quot;", tag_name) + '" /></li>';
- form += '<li><input type="submit" class="submit ui-state-default" value="' + save_i18n + '" /></li>';
- form += '<li><a href="#" class="g-cancel">' + cancel_i18n + '</a></li>';
- form += '</ul>';
- form += '</form>';
-
- // add edit form
- $(this).parent().html(form);
- $("#g-rename-tag-form #name")
- .width(tag_width)
- .focus();
- $(".g-short-form").gallery_short_form();
- $("#g-rename-tag-form .g-cancel").bind("click", closeEditInPlaceForms);
-
- ajaxify_editInPlaceForm = function() {
- $("#g-rename-tag-form").ajaxForm({
- dataType: "json",
- success: function(data) {
- if (data.result == "success") {
- closeEditInPlaceForms(); // close form
- $(".g-tag[rel=" + data.tag_id + "]").text(data.new_tagname); // update tagname
- window.location.reload();
- } else if (data.result == "error") {
- $("#g-rename-tag-form #name")
- .addClass("g-error")
- .focus();
- var message = "<ul id=\"g-action-status\" class=\"g-message-block\">";
- message += "<li class=\"g-error\">" + data.message + "</li>";
- message += "</ul>";
- $("#g-tag-admin").before(message);
- }
- }
- });
- };
- ajaxify_editInPlaceForm();
-}
diff --git a/modules/tag/views/admin_tags.html.php b/modules/tag/views/admin_tags.html.php
index 10d7921a..b637a7f1 100644
--- a/modules/tag/views/admin_tags.html.php
+++ b/modules/tag/views/admin_tags.html.php
@@ -1,18 +1,15 @@
<?php defined("SYSPATH") or die("No direct script access.") ?>
<script type="text/javascript">
- var TAG_RENAME_URL = <?= html::js_string(url::site("admin/tags/rename/__ID__")) ?>;
$("document").ready(function() {
// using JS for adding link titles to avoid running t() for each tag
$("#g-tag-admin .g-tag-name").attr("title", <?= t("Click to edit this tag")->for_js() ?>);
$("#g-tag-admin .g-delete-link").attr("title", $(".g-delete-link:first span").html());
// In-place editing for tag admin
- $(".g-editable").bind("click", editInPlace);
+ $(".g-editable").gallery_in_place_edit({
+ form_url: <?= html::js_string(url::site("admin/tags/form_rename/__ID__")) ?>
+ });
});
- // make some values available within tag.js
- var csrf_token = "<?= $csrf ?>";
- var save_i18n = <?= html::js_string(t("save")->for_html_attr()) ?>;
- var cancel_i18n = <?= html::js_string(t("cancel")->for_html_attr()) ?>;
</script>
<? $tags_per_column = $tags->count()/5 ?>
diff --git a/themes/admin_wind/css/screen.css b/themes/admin_wind/css/screen.css
index 87879ecb..cd83b110 100644
--- a/themes/admin_wind/css/screen.css
+++ b/themes/admin_wind/css/screen.css
@@ -368,6 +368,11 @@ th {
padding: .3em .8em;
}
+/* In-line editting ~~~~~~~~~~~~~~~~~~~~~ */
+#g-inplace-edit-message {
+ background-color: #FFF;
+}
+
/** *******************************************************************
* 5) Navigation and menus
*********************************************************************/
diff --git a/themes/night_wind/css/screen.css b/themes/night_wind/css/screen.css
index b95cfc72..2286b26e 100644
--- a/themes/night_wind/css/screen.css
+++ b/themes/night_wind/css/screen.css
@@ -455,6 +455,11 @@ li.g-error select {
padding-top: 1em;
}
+/* In-line editting ~~~~~~~~~~~~~~~~~~~~~ */
+#g-inplace-edit-message {
+ background-color: #FFF;
+}
+
/** *******************************************************************
* 5) Navigation and menus
*********************************************************************/
diff --git a/themes/wind/css/screen.css b/themes/wind/css/screen.css
index 1fc5fa65..8c466bd8 100644
--- a/themes/wind/css/screen.css
+++ b/themes/wind/css/screen.css
@@ -299,6 +299,11 @@ td {
padding-top: 1em;
}
+/* In-line editting ~~~~~~~~~~~~~~~~~~~~~ */
+#g-inplace-edit-message {
+ background-color: #FFF;
+}
+
/** *******************************************************************
* 5) Navigation and menus
*********************************************************************/