Merge branch 'master' into rawphoto
|
@ -109,7 +109,7 @@ class albumpassword_Controller extends Controller {
|
|||
|
||||
// Display a success message and close the dialog.
|
||||
message::success(t("Password saved."));
|
||||
print "<html>\n<body>\n<script type=\"text/javascript\">\n$(\"#g-dialog\").dialog(\"close\");\nwindow.location.reload();\n</script>\n</body>\n</html>\n";
|
||||
json::reply(array("result" => "success"));
|
||||
}
|
||||
|
||||
public function logout() {
|
||||
|
@ -139,10 +139,10 @@ class albumpassword_Controller extends Controller {
|
|||
cookie::delete("g3_albumpassword_id");
|
||||
cookie::set("g3_albumpassword", $album_password);
|
||||
message::success(t("Password Accepted."));
|
||||
print "<html>\n<body>\n<script type=\"text/javascript\">\n$(\"#g-dialog\").dialog(\"close\");\nwindow.location.reload();\n</script>\n</body>\n</html>\n";
|
||||
json::reply(array("result" => "success"));
|
||||
} else {
|
||||
message::error(t("Password Rejected."));
|
||||
print "<html>\n<body>\n<script type=\"text/javascript\">\n$(\"#g-dialog\").dialog(\"close\");\nwindow.location.reload();\n</script>\n</body>\n</html>\n";
|
||||
json::reply(array("result" => "success"));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
class albumtree_installer {
|
||||
static function install() {
|
||||
module::set_var("albumtree", "style", "select");
|
||||
module::set_version("albumtree", 2);
|
||||
module::set_version("albumtree", 3);
|
||||
}
|
||||
|
||||
static function upgrade($version) {
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
class ContactOwner_Controller extends Controller {
|
||||
static function get_email_form($user_id, $item_id) {
|
||||
static function get_email_form($user_id, $item_id=null) {
|
||||
// Determine name of the person the message is going to.
|
||||
$str_to_name = "";
|
||||
if ($user_id == -1) {
|
||||
|
@ -34,7 +34,7 @@ class ContactOwner_Controller extends Controller {
|
|||
|
||||
// If item_id is set, include a link to the item.
|
||||
$email_body = "";
|
||||
if ($item_id <> "") {
|
||||
if (!empty($item_id)) {
|
||||
$item = ORM::factory("item", $item_id);
|
||||
$email_body = "This message refers to <a href=\"" . url::abs_site("{$item->type}s/{$item->id}") . "\">this page</a>.";
|
||||
}
|
||||
|
@ -83,10 +83,10 @@ class ContactOwner_Controller extends Controller {
|
|||
}
|
||||
|
||||
// Set up and display the actual page.
|
||||
$template = new Theme_View("page.html", "other", "Contact");
|
||||
$template->content = new View("contactowner_emailform.html");
|
||||
$template->content->sendmail_form = $this->get_email_form("-1", $item_id);
|
||||
print $template;
|
||||
$view = new View("contactowner_emailform.html");
|
||||
$view->sendmail_form = $this->get_email_form("-1", $item_id);
|
||||
|
||||
print $view;
|
||||
}
|
||||
|
||||
public function emailid($user_id, $item_id) {
|
||||
|
@ -98,10 +98,11 @@ class ContactOwner_Controller extends Controller {
|
|||
}
|
||||
|
||||
// Set up and display the actual page.
|
||||
$template = new Theme_View("page.html", "other", "Contact");
|
||||
$template->content = new View("contactowner_emailform.html");
|
||||
$template->content->sendmail_form = $this->get_email_form($user_id, $item_id);
|
||||
print $template;
|
||||
// Set up and display the actual page.
|
||||
$view = new View("contactowner_emailform.html");
|
||||
$view->sendmail_form = $this->get_email_form($user_id, $item_id);
|
||||
|
||||
print $view;
|
||||
}
|
||||
|
||||
public function sendemail($user_id) {
|
||||
|
@ -154,18 +155,12 @@ class ContactOwner_Controller extends Controller {
|
|||
->message($str_emailbody)
|
||||
->send();
|
||||
|
||||
// Display a message telling the visitor that their email has been sent.
|
||||
$template = new Theme_View("page.html", "other", "Contact");
|
||||
$template->content = new View("contactowner_emailform.html");
|
||||
$template->content->sendmail_form = t("Your Message Has Been Sent.");
|
||||
print $template;
|
||||
message::info(t("Your Message Has Been Sent."));
|
||||
json::reply(array("result" => "success"));
|
||||
|
||||
} else {
|
||||
// Set up and display the actual page.
|
||||
$template = new Theme_View("page.html", "other", "Contact");
|
||||
$template->content = new View("contactowner_emailform.html");
|
||||
$template->content->sendmail_form = $form;
|
||||
print $template;
|
||||
json::reply(array("result" => "error", "html" => (string) $form));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -53,7 +53,7 @@ class contactowner_block_Core {
|
|||
if ((count($userDetails) > 0) && ($userDetails[0]->email != "") &&
|
||||
(module::get_var("contactowner", "contact_user_link") == true)) {
|
||||
$block->content->userLink = "<a href=\"" . url::site("contactowner/emailid/" .
|
||||
$theme->item->owner_id) . "/" . $theme->item->id . "\">" . t("Contact") . " " .
|
||||
$theme->item->owner_id) . "/" . $theme->item->id . "\" class='g-dialog-link'>" . t("Contact") . " " .
|
||||
$userDetails[0]->name . "</a>";
|
||||
$displayBlock = true;
|
||||
}
|
||||
|
@ -63,10 +63,10 @@ class contactowner_block_Core {
|
|||
if (module::get_var("contactowner", "contact_owner_link")) {
|
||||
if ($theme->item()) {
|
||||
$block->content->ownerLink = "<a href=\"" . url::site("contactowner/emailowner") . "/" . $theme->item->id .
|
||||
"\">" . t(module::get_var("contactowner", "contact_button_text")) . "</a>";
|
||||
"\" class='g-dialog-link'>" . t(module::get_var("contactowner", "contact_button_text")) . "</a>";
|
||||
} else {
|
||||
$block->content->ownerLink = "<a href=\"" . url::site("contactowner/emailowner") .
|
||||
"\">" . t(module::get_var("contactowner", "contact_button_text")) . "</a>";
|
||||
"\" class='g-dialog-link'>" . t(module::get_var("contactowner", "contact_button_text")) . "</a>";
|
||||
}
|
||||
$displayBlock = true;
|
||||
}
|
||||
|
|
254
3.0/modules/custom_menus/controllers/admin_custom_menus.php
Normal file
|
@ -0,0 +1,254 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2011 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 Admin_Custom_Menus_Controller extends Admin_Controller {
|
||||
public function index() {
|
||||
// Display the admin page, which contains a list of existing menu items.
|
||||
$view = new Admin_View("admin.html");
|
||||
$view->page_title = t("Manage menus");
|
||||
$view->content = new View("admin_custom_menus.html");
|
||||
$view->content->menu_list = $this->get_html_list(0);
|
||||
print $view;
|
||||
}
|
||||
|
||||
public function form_create($id) {
|
||||
// Display the create new menu form.
|
||||
print $this->get_new_menu_form($id);
|
||||
}
|
||||
|
||||
public function form_edit($id) {
|
||||
// Display the edit menu form.
|
||||
print $this->get_edit_menu_form($id);
|
||||
}
|
||||
|
||||
static function get_new_menu_form($id) {
|
||||
// Generate the create new menu form.
|
||||
$form = new Forge("admin/custom_menus/create/$id", "", "post", array("id" => "g-create-menu-form"));
|
||||
$group = $form->group("create_menu")
|
||||
->label(t("Add new menu"));
|
||||
$group->input("menu_title")
|
||||
->label(t("Title"));
|
||||
$group->input("menu_url")
|
||||
->label(t("URL (Leave blank if this menu will have sub-menus)"));
|
||||
$group->submit("")->value(t("Create menu"));
|
||||
return $form;
|
||||
}
|
||||
|
||||
static function get_edit_menu_form($id) {
|
||||
// Generate the edit menu form.
|
||||
$existing_menu = ORM::factory("custom_menu", $id);
|
||||
$form = new Forge("admin/custom_menus/edit/$id", "", "post", array("id" => "g-edit-menu-form"));
|
||||
$group = $form->group("edit_menu")
|
||||
->label(t("Edit menu"));
|
||||
$group->input("menu_title")
|
||||
->label(t("Title"))
|
||||
->value($existing_menu->title);
|
||||
$group->input("menu_url")
|
||||
->label(t("URL (Leave blank if this menu will have sub-menus)"))
|
||||
->value($existing_menu->url);
|
||||
$group->submit("")->value(t("Save changes"));
|
||||
return $form;
|
||||
}
|
||||
|
||||
public function create($id) {
|
||||
// Save a new menu to the database.
|
||||
|
||||
access::verify_csrf();
|
||||
|
||||
// Save form variables to the database.
|
||||
$new_menu = ORM::factory("custom_menu");
|
||||
$new_menu->title = Input::instance()->post("menu_title");
|
||||
$new_menu->url = Input::instance()->post("menu_url");
|
||||
$new_menu->parent_id = $id;
|
||||
|
||||
// Set menu's location to the last position.
|
||||
$existing_menu = ORM::factory("custom_menu")
|
||||
->where("parent_id", "=", $id)
|
||||
->order_by("order_by", "DESC")
|
||||
->find_all(1);
|
||||
if (count($existing_menu) > 0) {
|
||||
$int_position = $existing_menu[0]->order_by;
|
||||
$int_position++;
|
||||
$new_menu->order_by = $int_position;
|
||||
} else {
|
||||
$new_menu->order_by = 0;
|
||||
}
|
||||
|
||||
// Save new menu to the database.
|
||||
$new_menu->save();
|
||||
message::success(t("Menu %menu_name created", array("menu_name" => $new_menu->title)));
|
||||
log::success("custom_menus", t("Menu %menu_name created", array("menu_name" => $new_menu->title)));
|
||||
json::reply(array("result" => "success"));
|
||||
}
|
||||
|
||||
public function edit($id) {
|
||||
// Save a new menu to the database.
|
||||
|
||||
access::verify_csrf();
|
||||
|
||||
// Load the existing menu and save changes.
|
||||
$existing_menu = ORM::factory("custom_menu", $id);
|
||||
if ($existing_menu->loaded()) {
|
||||
$existing_menu->title = Input::instance()->post("menu_title");
|
||||
$existing_menu->url = Input::instance()->post("menu_url");
|
||||
$existing_menu->save();
|
||||
message::success(t("Menu %menu_name saved", array("menu_name" => $existing_menu->title)));
|
||||
log::success("custom_menus", t("Menu %menu_name saved", array("menu_name" => $existing_menu->title)));
|
||||
json::reply(array("result" => "success"));
|
||||
} else {
|
||||
message::error(t("Unable to load menu %menu_id", array("menu_id" => $id)));
|
||||
log::success("custom_menus", t("Unable to load menu %menu_id", array("menu_id" => $id)));
|
||||
json::reply(array("result" => "success"));
|
||||
}
|
||||
}
|
||||
|
||||
function get_html_list($parent_id) {
|
||||
// Generate an HTML list of existing menu items.
|
||||
$existing_menu = ORM::factory("custom_menu")
|
||||
->where("parent_id", "=", $parent_id)
|
||||
->order_by("order_by", "ASC")
|
||||
->find_all();
|
||||
$str_html = "";
|
||||
if (count($existing_menu) > 0) {
|
||||
$str_html = "<ul style=\"margin-bottom: 0em; margin-left: 2.5em;\">\n";
|
||||
foreach ($existing_menu as $one_menu) {
|
||||
$str_html .= "<li style=\"list-style:disc outside none; margin: 1em; line-height: 1em;\">" . $one_menu->title .
|
||||
" <a href=\"" . url::site("admin/custom_menus/form_create/" . $one_menu->id) .
|
||||
"\" class=\"g-dialog-link ui-icon-plus g-button ui-icon-left\" title=\"" . t("Add sub menu") .
|
||||
"\"><span class=\"ui-icon ui-icon-plus\"></span></a>" .
|
||||
" <a href=\"" . url::site("admin/custom_menus/form_edit/" . $one_menu->id) .
|
||||
"\" class=\"g-dialog-link ui-icon-pencil g-button ui-icon-left\" title=\"" . t("Edit menu") .
|
||||
"\"><span class=\"ui-icon ui-icon-pencil\"></span></a>" .
|
||||
" <a href=\"" . url::site("admin/custom_menus/form_delete/" . $one_menu->id) .
|
||||
"\" class=\"g-dialog-link ui-icon-trash g-button ui-icon-left\" title=\"" . t("Delete menu") .
|
||||
"\"><span class=\"ui-icon ui-icon-trash\"></span></a>" .
|
||||
" <a href=\"" . url::site("admin/custom_menus/move_menu_up/" . $one_menu->id) .
|
||||
"\" class=\"g-button ui-icon-left\" title=\"" . t("Move menu up") .
|
||||
"\">^</a>" .
|
||||
" <a href=\"" . url::site("admin/custom_menus/move_menu_down/" . $one_menu->id) .
|
||||
"\" class=\"g-button ui-icon-left\" title=\"" . t("Move menu down") .
|
||||
"\">v</a>" .
|
||||
"</li>\n";
|
||||
$str_html .= $this->get_html_list($one_menu->id);
|
||||
}
|
||||
$str_html .= "</ul>\n";
|
||||
}
|
||||
return $str_html;
|
||||
}
|
||||
|
||||
public function form_delete($id) {
|
||||
// Display a form asking the user if they want to delete a menu.
|
||||
$one_menu = ORM::factory("custom_menu", $id);
|
||||
if ($one_menu->loaded()) {
|
||||
print $this->get_delete_form($one_menu);
|
||||
}
|
||||
}
|
||||
|
||||
public function delete($id) {
|
||||
// Delete the specified menu.
|
||||
|
||||
access::verify_csrf();
|
||||
|
||||
// Make sure $id belongs to an actual menu.
|
||||
$one_menu = ORM::factory("custom_menu", $id);
|
||||
if (!$one_menu->loaded()) {
|
||||
throw new Kohana_404_Exception();
|
||||
}
|
||||
|
||||
// If the form validates, delete the specified menu.
|
||||
$form = $this->get_delete_form($one_menu);
|
||||
if ($form->validate()) {
|
||||
$name = $one_menu->title;
|
||||
$this->delete_sub_menus($one_menu->id);
|
||||
$one_menu->delete();
|
||||
message::success(t("Deleted menu %menu_name", array("menu_name" => $name)));
|
||||
log::success("custom_menus", t("Deleted menu %menu_name", array("menu_name" => $name)));
|
||||
json::reply(array("result" => "success", "location" => url::site("admin/custom_menus")));
|
||||
} else {
|
||||
print $form;
|
||||
}
|
||||
}
|
||||
|
||||
function delete_sub_menus($parent_id) {
|
||||
// Delete all sub menus associated with $parent_id.
|
||||
$existing_menu = ORM::factory("custom_menu")
|
||||
->where("parent_id", "=", $parent_id)
|
||||
->order_by("title", "ASC")
|
||||
->find_all();
|
||||
foreach ($existing_menu as $one_menu) {
|
||||
$this->delete_sub_menus($one_menu->id);
|
||||
$one_menu->delete();
|
||||
}
|
||||
}
|
||||
|
||||
static function get_delete_form($one_menu) {
|
||||
// Generate a new form asking the user if they want to delete a menu.
|
||||
$form = new Forge("admin/custom_menus/delete/$one_menu->id", "", "post", array("id" => "g-delete-menu-form"));
|
||||
$group = $form->group("delete_menu")
|
||||
->label(t("Really delete menu %menu_name & sub-menus?", array("menu_name" => $one_menu->title)));
|
||||
$group->submit("")->value(t("Delete Menu"));
|
||||
return $form;
|
||||
}
|
||||
|
||||
public function move_menu_up($id) {
|
||||
// Move the specified menu item up one position.
|
||||
$one_menu = ORM::factory("custom_menu", $id);
|
||||
if ($one_menu->loaded()) {
|
||||
$existing_menu = ORM::factory("custom_menu")
|
||||
->where("parent_id", "=", $one_menu->parent_id)
|
||||
->where("order_by", "<", $one_menu->order_by)
|
||||
->order_by("order_by", "DESC")
|
||||
->find_all(1);
|
||||
if (count($existing_menu) > 0) {
|
||||
$second_menu = ORM::factory("custom_menu", $existing_menu[0]->id);
|
||||
$temp_position = $one_menu->order_by;
|
||||
$one_menu->order_by = $second_menu->order_by;
|
||||
$second_menu->order_by = $temp_position;
|
||||
$one_menu->save();
|
||||
$second_menu->save();
|
||||
message::success(t("Menu %menu_title moved up", array("menu_title" => $one_menu->title)));
|
||||
log::success("custom_menus", t("Menu %menu_title moved up", array("menu_title" => $one_menu->title)));
|
||||
}
|
||||
}
|
||||
url::redirect("admin/custom_menus");
|
||||
}
|
||||
|
||||
public function move_menu_down($id) {
|
||||
// Move the specified menu item down one position.
|
||||
$one_menu = ORM::factory("custom_menu", $id);
|
||||
if ($one_menu->loaded()) {
|
||||
$existing_menu = ORM::factory("custom_menu")
|
||||
->where("parent_id", "=", $one_menu->parent_id)
|
||||
->where("order_by", ">", $one_menu->order_by)
|
||||
->order_by("order_by", "ASC")
|
||||
->find_all(1);
|
||||
if (count($existing_menu) > 0) {
|
||||
$second_menu = ORM::factory("custom_menu", $existing_menu[0]->id);
|
||||
$temp_position = $one_menu->order_by;
|
||||
$one_menu->order_by = $second_menu->order_by;
|
||||
$second_menu->order_by = $temp_position;
|
||||
$one_menu->save();
|
||||
$second_menu->save();
|
||||
message::success(t("Menu %menu_title moved down", array("menu_title" => $one_menu->title)));
|
||||
log::success("custom_menus", t("Menu %menu_title moved down", array("menu_title" => $one_menu->title)));
|
||||
}
|
||||
}
|
||||
url::redirect("admin/custom_menus");
|
||||
}
|
||||
}
|
75
3.0/modules/custom_menus/helpers/custom_menus_event.php
Normal file
|
@ -0,0 +1,75 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2011 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 custom_menus_event_Core {
|
||||
static function admin_menu($menu, $theme) {
|
||||
// Add a settings link to the admin menu.
|
||||
$menu->get("content_menu")
|
||||
->append(Menu::factory("link")
|
||||
->id("custom_menus")
|
||||
->label(t("Custom Menus Manager"))
|
||||
->url(url::site("admin/custom_menus")));
|
||||
}
|
||||
|
||||
static function site_menu($menu, $theme) {
|
||||
// Add user definied menu and sub-menu items to the site menu.
|
||||
$existing_menu = ORM::factory("custom_menu")
|
||||
->where("parent_id", "=", "0")
|
||||
->order_by("order_by", "DESC")
|
||||
->find_all();
|
||||
if (count($existing_menu) > 0) {
|
||||
foreach ($existing_menu as $one_menu) {
|
||||
if ($one_menu->url == "") {
|
||||
$menu->add_after("home", $new_menu = Menu::factory("submenu")
|
||||
->id("custom_menus-" . $one_menu->id)
|
||||
->label(t($one_menu->title)));
|
||||
custom_menus_event::add_sub_menus($one_menu->id, $new_menu);
|
||||
} else {
|
||||
$menu->add_after("home", Menu::factory("link")
|
||||
->id("custom_menus-" . $one_menu->id)
|
||||
->label(t($one_menu->title))
|
||||
->url($one_menu->url));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function add_sub_menus($parent_id, $parent_menu) {
|
||||
// Populate the menu bar with any sub-menu items on the current menu ($parent_menu).
|
||||
$existing_menu = ORM::factory("custom_menu")
|
||||
->where("parent_id", "=", $parent_id)
|
||||
->order_by("order_by", "ASC")
|
||||
->find_all();
|
||||
if (count($existing_menu) > 0) {
|
||||
foreach ($existing_menu as $one_menu) {
|
||||
if ($one_menu->url == "") {
|
||||
$parent_menu->append($new_menu = Menu::factory("submenu")
|
||||
->id("custom_menus-" . $one_menu->id)
|
||||
->label(t($one_menu->title)));
|
||||
custom_menus_event::add_sub_menus($one_menu->id, $new_menu);
|
||||
} else {
|
||||
$parent_menu->append(Menu::factory("link")
|
||||
->id("custom_menus-" . $one_menu->id)
|
||||
->label(t($one_menu->title))
|
||||
->url($one_menu->url));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
37
3.0/modules/custom_menus/helpers/custom_menus_installer.php
Normal file
|
@ -0,0 +1,37 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2011 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 custom_menus_installer {
|
||||
static function install() {
|
||||
// Create a table to store menu info in.
|
||||
$db = Database::instance();
|
||||
$db->query("CREATE TABLE IF NOT EXISTS {custom_menus} (
|
||||
`id` int(9) NOT NULL auto_increment,
|
||||
`title` varchar(255) default NULL,
|
||||
`url` text default NULL,
|
||||
`parent_id` int(9) NOT NULL default 0,
|
||||
`order_by` int(9) NOT NULL default 0,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY(`id`))
|
||||
DEFAULT CHARSET=utf8;");
|
||||
|
||||
// Set the module version number.
|
||||
module::set_version("custom_menus", 1);
|
||||
}
|
||||
}
|
21
3.0/modules/custom_menus/models/custom_menu.php
Normal file
|
@ -0,0 +1,21 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2011 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 Custom_Menu_Model extends ORM {
|
||||
}
|
7
3.0/modules/custom_menus/module.info
Normal file
|
@ -0,0 +1,7 @@
|
|||
name = "Custom Menus"
|
||||
description = "Allows Gallery admins to create additional menu and sub-menu items."
|
||||
version = 1
|
||||
author_name = "rWatcher"
|
||||
author_url = "http://codex.gallery2.org/User:RWatcher"
|
||||
info_url = "http://codex.gallery2.org/Gallery3:Modules:custom_menus"
|
||||
discuss_url = "http://gallery.menalto.com/node/102814"
|
|
@ -0,0 +1,8 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.") ?>
|
||||
<div class="g-block">
|
||||
<h1> <?= t("Manage menus") ?> </h1>
|
||||
<div class="g-block-content">
|
||||
<a href="<?= url::site("admin/custom_menus/form_create/0") ?>" class="g-dialog-link g-create-link"><?= t("Add new menu") ?></a>
|
||||
<?= $menu_list ?>
|
||||
</div>
|
||||
</div>
|
|
@ -25,33 +25,58 @@ class Admin_Dynamic_Controller extends Admin_Controller {
|
|||
access::verify_csrf();
|
||||
|
||||
$form = $this->_get_form();
|
||||
if ($form->validate()) {
|
||||
foreach (array("updates", "popular") as $album) {
|
||||
$album_defn = unserialize(module::get_var("dynamic", $album));
|
||||
$group = $form->inputs[$album];
|
||||
$album_defn->enabled = $group->inputs["{$album}_enabled"]->value;
|
||||
$album_defn->description = $group->inputs["{$album}_description"]->value;
|
||||
$album_defn->limit = $group->inputs["{$album}_limit"] === "" ? null :
|
||||
$group->inputs["{$album}_limit"]->value;
|
||||
module::set_var("dynamic", $album, serialize($album_defn));
|
||||
$errors = array_fill_keys(array_keys($form), "");
|
||||
if ($_POST) {
|
||||
$post = new Validation($_POST);
|
||||
$post->add_rules("updates_enabled", array("valid", "numeric"));
|
||||
$post->add_rules("popular_enabled", array("valid", "numeric"));
|
||||
$post->add_rules("updates_limit", array("valid", "numeric"));
|
||||
$post->add_rules("popular_limit", array("valid", "numeric"));
|
||||
$post->add_rules("updates_description", "length[0,2048]");
|
||||
$post->add_rules("popular_description", "length[0,2048]");
|
||||
if ($post->validate()) {
|
||||
foreach (array("updates", "popular") as $album) {
|
||||
$album_defn = unserialize(module::get_var("dynamic", $album));
|
||||
$album_defn->enabled = $post["{$album}_enabled"];
|
||||
$album_defn->description = $post["{$album}_description"];
|
||||
$album_defn->limit = $post["{$album}_limit"] === "" ? null : $post["{$album}_limit"];
|
||||
module::set_var("dynamic", $album, serialize($album_defn));
|
||||
}
|
||||
|
||||
message::success(t("Dynamic Albums Configured"));
|
||||
|
||||
url::redirect("admin/dynamic");
|
||||
} else {
|
||||
$form = arr::overwrite($form, $post->as_array());
|
||||
$errors = arr::overwrite($errors, $post->errors());
|
||||
}
|
||||
|
||||
message::success(t("Dynamic Albums Configured"));
|
||||
|
||||
url::redirect("admin/dynamic");
|
||||
}
|
||||
|
||||
print $this->_get_view($form);
|
||||
print $this->_get_view($form, $errors);
|
||||
}
|
||||
|
||||
private function _get_view($form=null) {
|
||||
private function _get_view($form=null, $errors=null) {
|
||||
$v = new Admin_View("admin.html");
|
||||
$v->content = new View("admin_dynamic.html");
|
||||
$v->content->form = empty($form) ? $this->_get_form() : $form;
|
||||
$v->content->tabs = array("updates" => t("Recent changes"), "popular" => t("Most viewed"));
|
||||
$v->content->errors = $errors;
|
||||
return $v;
|
||||
}
|
||||
|
||||
private function _get_form() {
|
||||
$form = array();
|
||||
foreach (array("updates", "popular") as $album) {
|
||||
$album_defn = unserialize(module::get_var("dynamic", $album));
|
||||
$form["{$album}_enabled"] = $album_defn->enabled;
|
||||
$form["{$album}_limit"] = $album_defn->limit;
|
||||
$form["{$album}_description"] = $album_defn->description;
|
||||
}
|
||||
|
||||
return $form;
|
||||
}
|
||||
|
||||
private function _get_form2() {
|
||||
|
||||
$form = new Forge("admin/dynamic/handler", "", "post",
|
||||
array("id" => "g-admin-form"));
|
||||
|
|
|
@ -30,17 +30,17 @@ class Dynamic_Controller extends Controller {
|
|||
$page = Input::instance()->get("page", "1");
|
||||
|
||||
$album_defn = unserialize(module::get_var("dynamic", $album));
|
||||
$children_count = $album_defn->limit;
|
||||
if (empty($children_count)) {
|
||||
$children_count = ORM::factory("item")
|
||||
->viewable()
|
||||
->where("type", "!=", "album")
|
||||
->count_all();
|
||||
$display_limit = $album_defn->limit;
|
||||
$children_count = ORM::factory("item")
|
||||
->viewable()
|
||||
->where("type", "!=", "album")
|
||||
->count_all();
|
||||
if (!empty($display_limit)) {
|
||||
$children_count = min($children_count, $display_limit);
|
||||
}
|
||||
|
||||
$offset = ($page-1) * $page_size;
|
||||
|
||||
$max_pages = ceil($children_count / $page_size);
|
||||
$offset = ($page - 1) * $page_size;
|
||||
$max_pages = max(ceil($children_count / $page_size), 1);
|
||||
|
||||
// Make sure that the page references a valid offset
|
||||
if ($page < 1 || ($children_count && $page > ceil($children_count / $page_size))) {
|
||||
|
|
|
@ -1,8 +1,40 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.") ?>
|
||||
<script>
|
||||
$(function() {
|
||||
$( "#tabs" ).tabs();
|
||||
});
|
||||
</script>
|
||||
<div id="g-dyanmic-block" class="g-block ui-helper-clearfix">
|
||||
<h1> <?= t("Dynamic Albums") ?> </h1>
|
||||
|
||||
<div class="g-block-content">
|
||||
<?= $form ?>
|
||||
<?= form::open("admin/dynamic/handler", array("id" => "g-admin-form")) ?>
|
||||
<?= access::csrf_form_field() ?>
|
||||
<div id="tabs">
|
||||
<ul>
|
||||
<? foreach ($tabs as $album => $label): ?>
|
||||
<li><a href="#<?= $album ?>"><?= $label ?></a></li>
|
||||
<? endforeach ?>
|
||||
</ul>
|
||||
<? foreach (array("updates", "popular") as $album): ?>
|
||||
<div id="<?= $album ?>">
|
||||
<ul>
|
||||
<li>
|
||||
<?= form::label("{$album}_enabled", t("Enable")) ?>
|
||||
<?= form::checkbox("{$album}_enabled", 1, $form["{$album}_enabled"], "style='float: none'") ?>
|
||||
</li>
|
||||
<li>
|
||||
<?= form::label("{$album}_limit", t("Limit (leave empty for unlimited)")) ?>
|
||||
<?= form::input("{$album}_limit", $form["{$album}_limit"]) ?>
|
||||
<?= empty($errors["{$album}_limit"]) ? "" : "<span class='g-error'>" . t("Limit must be numeric") ?>
|
||||
</li>
|
||||
<li>
|
||||
<?= form::label("{$album}_description", t("Description")) ?>
|
||||
<?= form::textarea("{$album}_description", $form["{$album}_description"]) ?>
|
||||
<?= empty($errors["{$album}_description"]) ? "" : "<span class='g-error'>" . t("Description must be less than 2048 bytes") ?>
|
||||
</li>
|
||||
<ul>
|
||||
</div>
|
||||
<? endforeach ?>
|
||||
</div>
|
||||
<?= form::submit("submit", t("Submit")) ?>
|
||||
</div>
|
||||
|
|
58
3.0/modules/item_links/helpers/item_links_event.php
Normal file
|
@ -0,0 +1,58 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2011 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 item_links_event_Core {
|
||||
static function item_edit_form($item, $form) {
|
||||
// Create fields on the album edit screen to allow the user to link
|
||||
// the item to another page.
|
||||
|
||||
$item_url = ORM::factory("item_link")
|
||||
->where("item_id", "=", $item->id)
|
||||
->find_all();
|
||||
|
||||
$existing_url = "";
|
||||
if (count($item_url) > 0) {
|
||||
$existing_url = $item_url[0]->url;
|
||||
}
|
||||
$form->edit_item
|
||||
->input("item_links_url")
|
||||
->label(t("Redirect to URL:"))
|
||||
->value($existing_url);
|
||||
}
|
||||
|
||||
static function item_deleted($item) {
|
||||
// Whenever an item is deleted, delete any corresponding data.
|
||||
db::build()->delete("item_links")->where("item_id", "=", $item->id)->execute();
|
||||
}
|
||||
|
||||
static function item_edit_form_completed($item, $form) {
|
||||
// Update the database with any changes to the item_links field.
|
||||
$record = ORM::factory("item_link")->where("item_id", "=", $item->id)->find();
|
||||
|
||||
if ($form->edit_item->item_links_url->value != "") {
|
||||
if (!$record->loaded()) {
|
||||
$record->item_id = $item->id;
|
||||
}
|
||||
$record->url = $form->edit_item->item_links_url->value;
|
||||
$record->save();
|
||||
} else {
|
||||
db::build()->delete("item_links")->where("item_id", "=", $item->id)->execute();
|
||||
}
|
||||
}
|
||||
}
|
34
3.0/modules/item_links/helpers/item_links_installer.php
Normal file
|
@ -0,0 +1,34 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2011 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 item_links_installer {
|
||||
static function install() {
|
||||
$db = Database::instance();
|
||||
$db->query("CREATE TABLE IF NOT EXISTS {item_links} (
|
||||
`id` int(9) NOT NULL auto_increment,
|
||||
`item_id` int(9) NOT NULL,
|
||||
`url` text default NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY(`item_id`, `id`))
|
||||
DEFAULT CHARSET=utf8;");
|
||||
|
||||
// Set the module's version number.
|
||||
module::set_version("item_links", 1);
|
||||
}
|
||||
}
|
34
3.0/modules/item_links/helpers/item_links_theme.php
Normal file
|
@ -0,0 +1,34 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2011 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 item_links_theme_Core {
|
||||
static function head($theme) {
|
||||
// If the current page is an item, and if it's in the item_links table,
|
||||
// then redirect to the specified web page.
|
||||
if ($theme->item()) {
|
||||
$item_url = ORM::factory("item_link")
|
||||
->where("item_id", "=", $theme->item->id)
|
||||
->find_all();
|
||||
if (count($item_url) > 0) {
|
||||
url::redirect($item_url[0]->url);
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
21
3.0/modules/item_links/models/item_link.php
Normal file
|
@ -0,0 +1,21 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2011 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 Item_Link_Model extends ORM {
|
||||
}
|
7
3.0/modules/item_links/module.info
Normal file
|
@ -0,0 +1,7 @@
|
|||
name = "Item Links"
|
||||
description = "Allows users to use Gallery items as links to external URLs."
|
||||
version = 1
|
||||
author_name = "rWatcher"
|
||||
author_url = "http://codex.gallery2.org/User:RWatcher"
|
||||
info_url = "http://codex.gallery2.org/Gallery3:Modules:item_links"
|
||||
discuss_url = "http://gallery.menalto.com/node/102548"
|
|
@ -31,4 +31,10 @@ class metadescription_event_Core {
|
|||
site_status::clear("metadescription_needs_tag");
|
||||
}
|
||||
}
|
||||
|
||||
static function pre_deactivate($data) {
|
||||
if ($data->module == "tag") {
|
||||
$data->messages["warn"][] = t("The MetaDescription module requires the Tags module.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,6 +28,14 @@ class metadescription_installer {
|
|||
site_status::clear("metadescription_needs_tag");
|
||||
}
|
||||
|
||||
static function can_activate() {
|
||||
$messages = array();
|
||||
if (!module::is_active("tag")) {
|
||||
$messages["warn"][] = t("The MetaDescription module requires the Tags module.");
|
||||
}
|
||||
return $messages;
|
||||
}
|
||||
|
||||
static function uninstall() {
|
||||
module::delete("metadescription");
|
||||
}
|
||||
|
|
|
@ -42,7 +42,7 @@ class metadescription_theme_Core {
|
|||
// Load the meta tags into the top of the page.
|
||||
// @todo: metadescription_block.html requires an item so for now, don't render it unless we
|
||||
// have one.
|
||||
if ($theme->item()) {
|
||||
if ($theme->item() || $theme->tag()) {
|
||||
$metaView = new View("metadescription_block.html");
|
||||
$metaView->tags = $tagsItem;
|
||||
return $metaView;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
name = "MetaDescription"
|
||||
description = "Automatically generates and inserts KEYWORD and DESCRIPTION meta tags into any theme."
|
||||
version = 1
|
||||
author_name = ""
|
||||
author_url = ""
|
||||
author_name = "rWatcher"
|
||||
author_url = "http://codex.gallery2.org/User:RWatcher"
|
||||
info_url = "http://codex.gallery2.org/Gallery3:Modules:metadescription"
|
||||
discuss_url = "http://gallery.menalto.com/forum_module_metadescription"
|
||||
discuss_url = "http://gallery.menalto.com/node/102477"
|
||||
|
|
|
@ -76,7 +76,6 @@ class Admin_Minislideshow_Controller extends Admin_Controller {
|
|||
$form = new Forge("admin/minislideshow/saveprefs", "", "post",
|
||||
array("id" => "g-mini-slideshow-admin-form"));
|
||||
|
||||
|
||||
// Get location of slideshow files.
|
||||
$group_slideshow_files = $form->group("Minislideshow");
|
||||
$group_slideshow_files->input("slideshow_url")
|
||||
|
@ -124,4 +123,4 @@ class Admin_Minislideshow_Controller extends Admin_Controller {
|
|||
// Return the newly generated form.
|
||||
return $form;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
#g-view-menu #g-mini-slideshow-link {
|
||||
background-image: url('../images/ico-view-minislideshow.png');
|
||||
}
|
||||
|
||||
|
|
|
@ -41,6 +41,12 @@ class minislideshow_event_Core {
|
|||
}
|
||||
}
|
||||
|
||||
static function pre_deactivate($data) {
|
||||
if ($data->module == "rss") {
|
||||
$data->messages["warn"][] = t("The MiniSlide Show module requires the RSS module.");
|
||||
}
|
||||
}
|
||||
|
||||
static function album_menu($menu, $theme) {
|
||||
// Add an option to access the slideshow from the album view.
|
||||
$menu
|
||||
|
|
|
@ -22,4 +22,12 @@ class minislideshow_installer {
|
|||
static function deactivate() {
|
||||
site_status::clear("minislideshow_needs_rss");
|
||||
}
|
||||
|
||||
static function can_activate() {
|
||||
$messages = array();
|
||||
if (!module::is_active("rss")) {
|
||||
$messages["warn"][] = t("The MiniSlide Show module requires the RSS module.");
|
||||
}
|
||||
return $messages;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,10 +20,6 @@
|
|||
|
||||
class minislideshow_theme_Core {
|
||||
static function head($theme) {
|
||||
if (!$theme->item()) {
|
||||
return;
|
||||
}
|
||||
|
||||
return new View("minislideshow_header_block.html");
|
||||
return $theme->css("minislideshow_menu.css");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
name = "MiniSlide Show"
|
||||
description = "Display MiniSlide Show on your Gallery."
|
||||
version = 1
|
||||
author_name = ""
|
||||
author_url = ""
|
||||
author_name = "rWatcher"
|
||||
author_url = "http://codex.gallery2.org/User:RWatcher"
|
||||
info_url = "http://codex.gallery2.org/Gallery3:Modules:minislideshow"
|
||||
discuss_url = "http://gallery.menalto.com/forum_module_minislideshow"
|
||||
discuss_url = "http://gallery.menalto.com/node/90362"
|
||||
|
|
|
@ -15,4 +15,4 @@ flashvars="xmlUrl=<?= url::site("rss/feed/gallery/album/" . $item_id, "http") ?>
|
|||
<td>Embed:</td>
|
||||
<td><input type="text" onclick="this.focus(); this.select();" value="<embed src="<?= module::get_var("minislideshow", "slideshow_url") ?>" width="485" height="300" align="middle" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" name="minislide" wmode="transparent" allowFullscreen="true" allowScriptAccess="always" quality="high" flashvars="xmlUrl=<?= url::site("rss/feed/gallery/album/" . $item_id, "http") ?><?=$slideshow_params ?>"></embed>" readonly></td>
|
||||
</tr></table>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.") ?>
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="<?= url::file("modules/minislideshow/css/minislideshow_menu.css") ?>" />
|
||||
|
||||
|
|
@ -39,6 +39,9 @@ class Admin_Moduleupdates_Controller extends Admin_Controller {
|
|||
*/
|
||||
public function index() {
|
||||
|
||||
//Start execution timer
|
||||
$bgtime=time();
|
||||
|
||||
$view = new Admin_View("admin.html");
|
||||
$view->page_title = t("Gallery 3 :: Manage Module Updates");
|
||||
$view->content = new View("admin_moduleupdates.html");
|
||||
|
@ -111,10 +114,12 @@ class Admin_Moduleupdates_Controller extends Admin_Controller {
|
|||
$font_color_local = $this->get_local_module_version_color ($module_info->version, $module_info->code_version);
|
||||
list ($core_version, $core_server) = $this->get_remote_module_version($this_module_name, "CORE");
|
||||
$font_color_core = $this->get_module_version_color ($module_info->version, $module_info->code_version, $core_version);
|
||||
list ($contrib_version, $contrib_server) = $this->get_remote_module_version($this_module_name, "CONTRIB");
|
||||
$font_color_contrib = $this->get_module_version_color ($module_info->version, $module_info->code_version, $contrib_version);
|
||||
list ($gh_version, $gh_server) = $this->get_remote_module_version($this_module_name, "GH");
|
||||
$font_color_gh = $this->get_module_version_color ($module_info->version, $module_info->code_version, $gh_version);
|
||||
if(!is_numeric($core_version)) {
|
||||
list ($contrib_version, $contrib_server) = $this->get_remote_module_version($this_module_name, "CONTRIB");
|
||||
$font_color_contrib = $this->get_module_version_color ($module_info->version, $module_info->code_version, $contrib_version);
|
||||
list ($gh_version, $gh_server) = $this->get_remote_module_version($this_module_name, "GH");
|
||||
$font_color_gh = $this->get_module_version_color ($module_info->version, $module_info->code_version, $gh_version);
|
||||
}
|
||||
|
||||
if($font_color_core == "red" or $font_color_contrib == "red" or $font_color_gh == "red"){
|
||||
$update_count++;
|
||||
|
@ -174,6 +179,20 @@ class Admin_Moduleupdates_Controller extends Admin_Controller {
|
|||
$view->content->GitHub = $GitHub;
|
||||
$view->content->Gallery_Version = substr_replace(gallery::VERSION,"",strpos(gallery::VERSION," "));
|
||||
|
||||
//End execution timer
|
||||
$ExecutionTime = (time()-$bgtime);
|
||||
if ($ExecutionTime < 1) {
|
||||
$ExecutionTime = '<font color=green>1</font>';
|
||||
}else if ($ExecutionTime <= 30){
|
||||
$ExecutionTime = '<font color=green>' . $ExecutionTime . '</font>';
|
||||
}else if ($ExecutionTime <= 60){
|
||||
$ExecutionTime = '<font color=orange>' . $ExecutionTime . '</font>';
|
||||
}else{
|
||||
$ExecutionTime = '<font color=red>' . $ExecutionTime . '</font>';
|
||||
}
|
||||
|
||||
|
||||
$view->content->ExecutionTime = $ExecutionTime;
|
||||
|
||||
print $view;
|
||||
}
|
||||
|
@ -252,13 +271,24 @@ class Admin_Moduleupdates_Controller extends Admin_Controller {
|
|||
//Check the Gallery3 Community Contributions GitHub
|
||||
if ($file == null) {
|
||||
try {
|
||||
$thisInstalledVersion = gallery::VERSION;
|
||||
//Gallery versions prior to 3.0.2 contained the codename in the version string
|
||||
if (substr_count($thisInstalledVersion, ' ') > 0 ){
|
||||
$thisInstalledVersion = substr_replace($thisInstalledVersion,"",strpos($thisInstalledVersion," "));
|
||||
}
|
||||
//Truncate the minor version number
|
||||
if (substr_count($thisInstalledVersion, '.') > 1 ){
|
||||
$thisInstalledVersion = substr_replace($thisInstalledVersion,"",strripos($thisInstalledVersion,"."));
|
||||
}
|
||||
$file = fopen ("http://github.com/gallery/gallery3-contrib/raw/master/".
|
||||
substr_replace(gallery::VERSION,"",strpos(gallery::VERSION," "))."/modules/".$module_name."/module.info", "r");
|
||||
$thisInstalledVersion ."/modules/".$module_name."/module.info", "r");
|
||||
|
||||
if ($file != null) {
|
||||
$server = '(GCC)';
|
||||
}
|
||||
}
|
||||
catch (Exception $e) {
|
||||
//echo 'Message: ' .$e->getMessage() . '<br>';
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
@ -303,6 +333,9 @@ class Admin_Moduleupdates_Controller extends Admin_Controller {
|
|||
if($line == "Not entered" or $line == "See git") {
|
||||
$line = "";
|
||||
}
|
||||
if (substr_count($line, '.') > 0) {
|
||||
$line = str_replace('.','',$line);
|
||||
}
|
||||
$version = $line;
|
||||
break;
|
||||
} else {
|
||||
|
|
|
@ -24,7 +24,7 @@ class moduleupdates_installer {
|
|||
|
||||
$version = module::get_version("moduleupdates");
|
||||
if ($version < 1) {
|
||||
module::set_version("moduleupdates", 7);
|
||||
module::set_version("moduleupdates", 8);
|
||||
//Remove the ModuleUpdates cache entry 'JIC'
|
||||
Cache::instance()->delete("ModuleUpdates");
|
||||
//create the blank ModuleUpdates cache entry with an expiration of 0 days
|
||||
|
@ -34,7 +34,7 @@ class moduleupdates_installer {
|
|||
}
|
||||
|
||||
static function upgrade($version) {
|
||||
module::set_version("moduleupdates", 7);
|
||||
module::set_version("moduleupdates", 8);
|
||||
//Remove the ModuleUpdates cache entry 'JIC'
|
||||
Cache::instance()->delete("ModuleUpdates");
|
||||
//Empty the ModuleUpdates cache entry so our new version starts from scratch
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
name = "Module Updates"
|
||||
name = "ModuleUpdates"
|
||||
description = "Compares your installed module version against the ones stored in the GitHub."
|
||||
version = 7
|
||||
author_name = ""
|
||||
author_url = ""
|
||||
version = 8
|
||||
author_name = "brentil"
|
||||
author_url = "http://gallery.menalto.com/user/153736"
|
||||
info_url = "http://codex.gallery2.org/Gallery3:Modules:moduleupdates"
|
||||
discuss_url = "http://gallery.menalto.com/forum_module_moduleupdates"
|
||||
discuss_url = "http://gallery.menalto.com/node/96574"
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
|
||||
<div id="g-admin-moduleupdates" class="g-block">
|
||||
<h1> <?= t("Module Updates v".$mu_version.".0") ?> </h1>
|
||||
<h1> <?= t("ModuleUpdates v".$mu_version) ?> </h1>
|
||||
<?= t("Compares your installed module version against the ones stored in the GitHub and GalleryModules.") ?>
|
||||
|
||||
<div class="g-block-content">
|
||||
|
@ -16,7 +16,7 @@
|
|||
<li><?= t("<font color=green>Green = Your version is newer than the GitHub</font><br>") ?></li>
|
||||
<li><?= t("<font color=orange>Orange = Your file version is newer than the installed version</font><br>") ?></li>
|
||||
<li><?= t("<font color=pink>Pink = Your installed version is newer than file version</font><br>") ?></li>
|
||||
<li><?= t("Outbound Status: " . $Google . " - GitHub Status: " . $GitHub . "<br>") ?></li>
|
||||
<li><?= t("Outbound Status: " . $Google . " - GitHub Status: " . $GitHub . " - Execution Time: " . $ExecutionTime . " s <br>") ?></li>
|
||||
<li><input type="submit" value="<?= t("Check Modules for Updates")?>" class="submit" /> <? if($update_time == ""){ echo " - Last Scan: Unknown";}else{ echo " - Last Scan: ".$update_time;} ?></li>
|
||||
</ul>
|
||||
</fieldset>
|
||||
|
|
271
3.0/modules/pages/controllers/admin_pages.php
Normal file
|
@ -0,0 +1,271 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2011 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 Admin_Pages_Controller extends Admin_Controller {
|
||||
public function index() {
|
||||
// Display the admin page.
|
||||
$view = new Admin_View("admin.html");
|
||||
$view->page_title = t("Manage pages");
|
||||
$view->content = new View("admin_pages.html");
|
||||
$query = ORM::factory("static_page");
|
||||
$view->content->pages = $query->order_by("name", "ASC")->find_all();
|
||||
$view->content->form = $this->get_prefs_form();
|
||||
print $view;
|
||||
}
|
||||
|
||||
public function createpage() {
|
||||
// Display a form for creating a new page.
|
||||
$view = new Admin_View("admin.html");
|
||||
$view->page_title = t("Create page");
|
||||
$view->content = new View("admin_pages_new.html");
|
||||
$view->content->form = $this->get_new_page_form();
|
||||
print $view;
|
||||
}
|
||||
|
||||
public function editpage($id) {
|
||||
// Display a form for editing an existing page.
|
||||
$existing_page = ORM::factory("static_page", $id);
|
||||
$view = new Admin_View("admin.html");
|
||||
$view->page_title = t("Edit page");
|
||||
$view->content = new View("admin_pages_new.html");
|
||||
$view->content->form = $this->get_edit_page_form($existing_page);
|
||||
print $view;
|
||||
}
|
||||
|
||||
public function savepage() {
|
||||
// Save a page to the database.
|
||||
|
||||
access::verify_csrf();
|
||||
|
||||
// Store form values into variables.
|
||||
$page_id = Input::instance()->post("page_id");
|
||||
$page_name = urlencode(trim(Input::instance()->post("page_name")));
|
||||
$page_title = Input::instance()->post("page_title");
|
||||
$page_code = Input::instance()->post("page_code");
|
||||
$display_menu = Input::instance()->post("display_menu");
|
||||
|
||||
// If $page_id is set, update an existing page.
|
||||
if (isset($page_id)) {
|
||||
$update_page = ORM::factory("static_page", $page_id);
|
||||
$update_page->title = $page_title;
|
||||
$update_page->html_code = $page_code;
|
||||
$update_page->display_menu = $display_menu;
|
||||
$update_page->save();
|
||||
message::success(t("Page %page_name updated", array("page_name" => $update_page->name)));
|
||||
log::success("pages", t("Page %page_name updated", array("page_name" => $update_page->name)));
|
||||
url::redirect("admin/pages");
|
||||
} else {
|
||||
|
||||
// If $page_id is not set, we are dealing with a new page.
|
||||
// Check and make sure a page with the same names doesn't already exist.
|
||||
$existing_page = ORM::factory("static_page")
|
||||
->where("name", "=", $page_name)
|
||||
->find_all();
|
||||
|
||||
// If the page doesn't exist, save it to the database.
|
||||
if (count($existing_page) == 0) {
|
||||
$new_page = ORM::factory("static_page");
|
||||
$new_page->name = $page_name;
|
||||
$new_page->title = $page_title;
|
||||
$new_page->html_code = $page_code;
|
||||
$new_page->display_menu = $display_menu;
|
||||
$new_page->save();
|
||||
message::success(t("Page %page_name created", array("page_name" => $page_name)));
|
||||
log::success("pages", t("Page %page_name created", array("page_name" => $page_name)));
|
||||
url::redirect("admin/pages");
|
||||
} else {
|
||||
|
||||
// If the page does exist, ask the user if they want to overwrite the old page with the new one.
|
||||
message::error(t("Page %page_name already exists, press Save again to overwrite.", array("page_name" => $page_name)));
|
||||
$view = new Admin_View("admin.html");
|
||||
$view->page_title = t("Edit page");
|
||||
$view->content = new View("admin_pages_new.html");
|
||||
$view->content->form = $this->get_overwrite_page_form($existing_page[0]->id, $page_name, $page_title, $page_code, $display_menu);
|
||||
print $view;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function form_delete($id) {
|
||||
// Display a form asking the user if they want to delete a page.
|
||||
$one_page = ORM::factory("static_page", $id);
|
||||
if ($one_page->loaded()) {
|
||||
print $this->get_delete_form($one_page);
|
||||
}
|
||||
}
|
||||
|
||||
public function delete($id) {
|
||||
// Delete the specified page.
|
||||
|
||||
access::verify_csrf();
|
||||
|
||||
// Make sure $id belongs to an actual page.
|
||||
$one_page = ORM::factory("static_page", $id);
|
||||
if (!$one_page->loaded()) {
|
||||
throw new Kohana_404_Exception();
|
||||
}
|
||||
|
||||
// If the form validates, delete the specified page.
|
||||
$form = $this->get_delete_form($one_page);
|
||||
if ($form->validate()) {
|
||||
$name = $one_page->name;
|
||||
$one_page->delete();
|
||||
message::success(t("Deleted page %page_name", array("page_name" => $name)));
|
||||
log::success("pages", t("Deleted page %page_name", array("page_name" => $name)));
|
||||
json::reply(array("result" => "success", "location" => url::site("admin/pages")));
|
||||
} else {
|
||||
print $form;
|
||||
}
|
||||
}
|
||||
|
||||
public function form_rename($id) {
|
||||
// Display a form to allow the user to rename a page.
|
||||
$one_page = ORM::factory("static_page", $id);
|
||||
if ($one_page->loaded()) {
|
||||
print InPlaceEdit::factory(urldecode($one_page->name))
|
||||
->action("admin/pages/rename/$id")
|
||||
->render();
|
||||
}
|
||||
}
|
||||
|
||||
public function rename($id) {
|
||||
// Rename an existing page.
|
||||
access::verify_csrf();
|
||||
|
||||
// Make sure the page specified by $id exists.
|
||||
$one_page = ORM::factory("static_page", $id);
|
||||
if (!$one_page->loaded()) {
|
||||
throw new Kohana_404_Exception();
|
||||
}
|
||||
|
||||
$in_place_edit = InPlaceEdit::factory($one_page->name)
|
||||
->action("admin/pages/rename/$one_page->id")
|
||||
->rules(array("required", "length[1,64]"));
|
||||
|
||||
// If the form validates, and if the new name doesn't already exist, rename the page.
|
||||
if ($in_place_edit->validate()) {
|
||||
$old_name = $one_page->name;
|
||||
$new_name = urlencode(trim($in_place_edit->value()));
|
||||
$new_name_exists = ORM::factory("static_page")->where("name", "=", $new_name)->find_all();
|
||||
if (count($new_name_exists) == 0) {
|
||||
$one_page->name = $new_name;
|
||||
$one_page->save();
|
||||
$message = t("Renamed page <i>%old_name</i> to <i>%new_name</i>",
|
||||
array("old_name" => $old_name, "new_name" => $new_name));
|
||||
message::success($message);
|
||||
log::success("pages", $message);
|
||||
json::reply(array("result" => "success", "location" => url::site("admin/pages")));
|
||||
} else {
|
||||
json::reply(array("result" => "error", "form" => (string)$in_place_edit->render()));
|
||||
}
|
||||
} else {
|
||||
json::reply(array("result" => "error", "form" => (string)$in_place_edit->render()));
|
||||
}
|
||||
}
|
||||
|
||||
static function get_delete_form($one_page) {
|
||||
// Generate a new form asking the user if they want to delete a page.
|
||||
$form = new Forge("admin/pages/delete/$one_page->id", "", "post", array("id" => "g-delete-pages-form"));
|
||||
$group = $form->group("delete_page")
|
||||
->label(t("Really delete page %page_name?", array("page_name" => $one_page->name)));
|
||||
$group->submit("")->value(t("Delete Page"));
|
||||
return $form;
|
||||
}
|
||||
|
||||
private function get_new_page_form() {
|
||||
// Generate a form for creating a new page.
|
||||
$form = new Forge("admin/pages/savepage", "", "post",
|
||||
array("id" => "g-pages-admin-form"));
|
||||
|
||||
$pages_group = $form->group("new_page");
|
||||
$pages_group->input("page_name")
|
||||
->label(t("Name"));
|
||||
$pages_group->input("page_title")
|
||||
->label(t("Title"));
|
||||
$pages_group->textarea("page_code")
|
||||
->label(t("HTML Code"));
|
||||
$pages_group->checkbox("display_menu")
|
||||
->label(t("Display in menu?"))
|
||||
->checked(false);
|
||||
$pages_group->submit("save_page")
|
||||
->value(t("Save"));
|
||||
|
||||
return $form;
|
||||
}
|
||||
|
||||
private function get_overwrite_page_form($id, $name, $title, $html_code, $display_menu) {
|
||||
// Generate a form for overwriting an existing page.
|
||||
$form = new Forge("admin/pages/savepage", "", "post",
|
||||
array("id" => "g-pages-admin-form"));
|
||||
|
||||
$pages_group = $form->group("new_page");
|
||||
$pages_group->hidden("page_id")
|
||||
->value($id);
|
||||
$pages_group->input("page_name")
|
||||
->label(t("Name"))
|
||||
->readonly()
|
||||
->value($name);
|
||||
$pages_group->input("page_title")
|
||||
->label(t("Title"))
|
||||
->value($title);
|
||||
$pages_group->textarea("page_code")
|
||||
->label(t("HTML Code"))
|
||||
->value($html_code);
|
||||
$pages_group->checkbox("display_menu")
|
||||
->label(t("Display in menu?"))
|
||||
->checked($display_menu);
|
||||
$pages_group->submit("save_page")
|
||||
->value(t("Save"));
|
||||
|
||||
return $form;
|
||||
}
|
||||
|
||||
private function get_edit_page_form($existing_page) {
|
||||
// Generate a form for editing an existing page. Reuse the overwrite form for as it's basically the same thing.
|
||||
return ($this->get_overwrite_page_form($existing_page->id, $existing_page->name, $existing_page->title, $existing_page->html_code, $existing_page->display_menu));
|
||||
}
|
||||
|
||||
private function get_prefs_form() {
|
||||
// Generate a form for global preferences.
|
||||
$form = new Forge("admin/pages/saveprefs", "", "post",
|
||||
array("id" => "g-pages-admin-form"));
|
||||
|
||||
$pages_group = $form->group("preferences")->label(t("Settings"));
|
||||
$pages_group->checkbox("display_sidebar")
|
||||
->label(t("Hide sidebar on Pages?"))
|
||||
->checked(module::get_var("pages", "show_sidebar"));
|
||||
$pages_group->submit("save_prefs")
|
||||
->value(t("Save"));
|
||||
|
||||
return $form;
|
||||
}
|
||||
|
||||
public function saveprefs() {
|
||||
// Save a preferences to the database.
|
||||
|
||||
access::verify_csrf();
|
||||
|
||||
// Save form variables.
|
||||
module::set_var("pages", "show_sidebar", Input::instance()->post("display_sidebar"));
|
||||
|
||||
// Display message and load main pages admin screen.
|
||||
message::success(t("Your settings have been saved."));
|
||||
url::redirect("admin/pages");
|
||||
}
|
||||
}
|
42
3.0/modules/pages/controllers/pages.php
Normal file
|
@ -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-2011 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 Pages_Controller extends Controller {
|
||||
public function show($page_name) {
|
||||
// Display the page specified by $page_name, or a 404 error if it doesn't exist.
|
||||
|
||||
// Run a database search to look up the page.
|
||||
$existing_page = ORM::factory("static_page")
|
||||
->where("name", "=", $page_name)
|
||||
->find_all();
|
||||
|
||||
// If it doesn't exist, display a 404 error.
|
||||
if (count($existing_page) == 0) {
|
||||
throw new Kohana_404_Exception();
|
||||
}
|
||||
|
||||
// Display the page.
|
||||
$template = new Theme_View("page.html", "other", "Pages");
|
||||
$template->page_title = t("Gallery :: ") . t($existing_page[0]->title);
|
||||
$template->content = new View("pages_display.html");
|
||||
$template->content->title = $existing_page[0]->title;
|
||||
$template->content->body = $existing_page[0]->html_code;
|
||||
print $template;
|
||||
}
|
||||
}
|
48
3.0/modules/pages/css/jHtmlArea.css
Normal file
|
@ -0,0 +1,48 @@
|
|||
div.jHtmlArea { display: inline block; border: solid 1px #ccc; }
|
||||
div.jHtmlArea div { padding: 0px; margin: 0px; }
|
||||
div.jHtmlArea .ToolBar { }
|
||||
div.jHtmlArea .ToolBar ul { border: solid 0px #ccc; margin: 1px; padding: 1px; position:relative; display: inline; background: #fff url(../images/jHtmlArea_Toolbar_Group_BG.png) repeat-x;}
|
||||
div.jHtmlArea .ToolBar ul li { list-style-type: none; float: left; border: none; padding: 1px; margin: 1px; }
|
||||
div.jHtmlArea .ToolBar ul li:hover { border: solid 1px #ccc; background: #ddd url(../images/jHtmlArea_Toolbar_Group__Btn_Select_BG.png); padding: 0; }
|
||||
div.jHtmlArea .ToolBar ul li a { display: block; width: 16px; height: 16px; background: url(../images/jHtmlArea.png) no-repeat -16px -500px; border: none; cursor: pointer; padding: 0px; }
|
||||
div.jHtmlArea .ToolBar ul li a.highlighted { border: solid 1px #aaa; background-color: #bbb; padding: 0; }
|
||||
div.jHtmlArea .ToolBar ul li.separator {height: 16px; margin: 0 2px 0 3px; border-left: 1px solid #ccc;}
|
||||
div.jHtmlArea .ToolBar ul li.separator:hover { padding: 1px; background-color: #fff; border-top:none; border-bottom:none; border-right:none;}
|
||||
|
||||
div.jHtmlArea .ToolBar ul li a:hover { }
|
||||
div.jHtmlArea .ToolBar ul li a.bold { background-position: 0 0; }
|
||||
div.jHtmlArea .ToolBar ul li a.italic { background-position: -16px 0; }
|
||||
div.jHtmlArea .ToolBar ul li a.underline { background-position: -32px 0; }
|
||||
div.jHtmlArea .ToolBar ul li a.strikethrough { background-position: -48px 0; }
|
||||
div.jHtmlArea .ToolBar ul li a.link { background-position: -64px 0; }
|
||||
div.jHtmlArea .ToolBar ul li a.unlink { background-position: -80px 0; }
|
||||
div.jHtmlArea .ToolBar ul li a.orderedlist { background-position: -96px 0; }
|
||||
div.jHtmlArea .ToolBar ul li a.unorderedlist { background-position: -112px 0; }
|
||||
div.jHtmlArea .ToolBar ul li a.image { background-position: -128px 0; }
|
||||
div.jHtmlArea .ToolBar ul li a.cut { background-position: -144px 0; }
|
||||
div.jHtmlArea .ToolBar ul li a.copy { background-position: -160px 0; }
|
||||
div.jHtmlArea .ToolBar ul li a.paste { background-position: -176px 0; }
|
||||
|
||||
div.jHtmlArea .ToolBar ul li a.html { background-position: -192px 0; opacity:0.6; filter:alpha(opacity=60);}
|
||||
div.jHtmlArea .ToolBar ul li a.html.highlighted { opacity:1.0; filter:alpha(opacity=100);}
|
||||
|
||||
div.jHtmlArea .ToolBar ul li a.h1 { background-position: 0 -16px;}
|
||||
div.jHtmlArea .ToolBar ul li a.h2 { background-position: -16px -16px;}
|
||||
div.jHtmlArea .ToolBar ul li a.h3 { background-position: -32px -16px;}
|
||||
div.jHtmlArea .ToolBar ul li a.h4 { background-position: -48px -16px;}
|
||||
div.jHtmlArea .ToolBar ul li a.h5 { background-position: -64px -16px;}
|
||||
div.jHtmlArea .ToolBar ul li a.h6 { background-position: -80px -16px;}
|
||||
div.jHtmlArea .ToolBar ul li a.subscript { background-position: -96px -16px;}
|
||||
div.jHtmlArea .ToolBar ul li a.superscript { background-position: -112px -16px;}
|
||||
div.jHtmlArea .ToolBar ul li a.indent { background-position: -128px -16px;}
|
||||
div.jHtmlArea .ToolBar ul li a.outdent { background-position: -144px -16px;}
|
||||
div.jHtmlArea .ToolBar ul li a.horizontalrule { background-position: -160px -16px;}
|
||||
div.jHtmlArea .ToolBar ul li a.p { background-position: -176px -16px;}
|
||||
|
||||
|
||||
div.jHtmlArea .ToolBar ul li a.justifyleft { background-position: 0 -32px;}
|
||||
div.jHtmlArea .ToolBar ul li a.justifycenter { background-position: -16px -32px;}
|
||||
div.jHtmlArea .ToolBar ul li a.justifyright { background-position: -32px -32px;}
|
||||
div.jHtmlArea .ToolBar ul li a.increasefontsize { background-position: -48px -32px;}
|
||||
div.jHtmlArea .ToolBar ul li a.decreasefontsize { background-position: -64px -32px;}
|
||||
div.jHtmlArea .ToolBar ul li a.forecolor { background-position: -80px -32px;}
|
57
3.0/modules/pages/helpers/pages_block.php
Normal file
|
@ -0,0 +1,57 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2011 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 pages_block_Core {
|
||||
static function get_site_list() {
|
||||
return array("pages_block" => t("Pages Links"));
|
||||
}
|
||||
|
||||
static function get($block_id, $theme) {
|
||||
$block = "";
|
||||
|
||||
switch ($block_id) {
|
||||
case "pages_block":
|
||||
|
||||
// Create a new block with a list of all Pages and their links.
|
||||
|
||||
// Query the database for all existing pages.
|
||||
// If at least one page exists, display the sidebar block.
|
||||
$query = ORM::factory("static_page");
|
||||
$pages = $query->order_by("title", "ASC")->find_all();
|
||||
if (count($pages) > 0) {
|
||||
|
||||
// Loop through each page and generate an HTML list of their links and titles.
|
||||
$content = "<ul id=\"g-pages-list\">";
|
||||
foreach ($pages as $one_page) {
|
||||
$content .= "<li style=\"clear: both;\"><a href=\"" . url::site("pages/show/" . $one_page->name) . "\">" . t($one_page->title) . "</a></li>";
|
||||
}
|
||||
$content .= "</ul>";
|
||||
|
||||
// Make a new sidebar block.
|
||||
$block = new Block();
|
||||
$block->css_id = "g-pages";
|
||||
$block->title = t("Pages");
|
||||
$block->content = new View("pages_sidebar.html");
|
||||
$block->content->links = $content;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return $block;
|
||||
}
|
||||
}
|
44
3.0/modules/pages/helpers/pages_event.php
Normal file
|
@ -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-2011 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 pages_event_Core {
|
||||
static function admin_menu($menu, $theme) {
|
||||
// Add a settings link to the admin menu.
|
||||
$menu->get("content_menu")
|
||||
->append(Menu::factory("link")
|
||||
->id("pages")
|
||||
->label(t("Pages Settings"))
|
||||
->url(url::site("admin/pages")));
|
||||
}
|
||||
|
||||
static function site_menu($menu, $theme) {
|
||||
$menu_pages = ORM::factory("static_page")
|
||||
->where("display_menu", "=", true)
|
||||
->order_by("title", "DESC")
|
||||
->find_all();
|
||||
if (count($menu_pages) > 0) {
|
||||
foreach ($menu_pages as $one_page) {
|
||||
$menu->add_after("home", Menu::factory("link")
|
||||
->id("pages-" . $one_page->id)
|
||||
->label(t($one_page->title))
|
||||
->url(url::site("pages/show/" . $one_page->name)));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
44
3.0/modules/pages/helpers/pages_installer.php
Normal file
|
@ -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-2011 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 pages_installer {
|
||||
static function install() {
|
||||
// Create a table to store pages in.
|
||||
$db = Database::instance();
|
||||
$db->query("CREATE TABLE IF NOT EXISTS {static_pages} (
|
||||
`id` int(9) NOT NULL auto_increment,
|
||||
`name` varchar(255) default NULL,
|
||||
`title` varchar(255) default NULL,
|
||||
`html_code` text default NULL,
|
||||
`display_menu` boolean default 0,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY(`name`))
|
||||
DEFAULT CHARSET=utf8;");
|
||||
|
||||
// Set the module version number.
|
||||
module::set_version("pages", 2);
|
||||
}
|
||||
static function upgrade($version) {
|
||||
$db = Database::instance();
|
||||
if ($version == 1) {
|
||||
$db->query("ALTER TABLE {static_pages} ADD COLUMN `display_menu` boolean default 0");
|
||||
module::set_version("pages", $version = 2);
|
||||
}
|
||||
}
|
||||
}
|
27
3.0/modules/pages/helpers/pages_theme.php
Normal file
|
@ -0,0 +1,27 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2011 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 pages_theme_Core {
|
||||
static function admin_head($theme) {
|
||||
// Load jHtmlArea js and css.
|
||||
return $theme->script("jHtmlArea-0.7.0.js") .
|
||||
$theme->css("jHtmlArea.css");
|
||||
}
|
||||
}
|
||||
|
BIN
3.0/modules/pages/images/jHtmlArea.png
Normal file
After Width: | Height: | Size: 8.2 KiB |
BIN
3.0/modules/pages/images/jHtmlArea_Toolbar_Group_BG.png
Normal file
After Width: | Height: | Size: 964 B |
After Width: | Height: | Size: 942 B |
403
3.0/modules/pages/js/jHtmlArea-0.7.0.js
Normal file
|
@ -0,0 +1,403 @@
|
|||
/*
|
||||
* jHtmlArea 0.7.0 - WYSIWYG Html Editor jQuery Plugin
|
||||
* Copyright (c) 2009 Chris Pietschmann
|
||||
* http://jhtmlarea.codeplex.com
|
||||
* Licensed under the Microsoft Reciprocal License (Ms-RL)
|
||||
* http://jhtmlarea.codeplex.com/license
|
||||
*/
|
||||
(function($) {
|
||||
$.fn.htmlarea = function(opts) {
|
||||
if (opts && typeof (opts) === "string") {
|
||||
var args = [];
|
||||
for (var i = 1; i < arguments.length; i++) { args.push(arguments[i]); }
|
||||
var htmlarea = jHtmlArea(this[0]);
|
||||
var f = htmlarea[opts];
|
||||
if (f) { return f.apply(htmlarea, args); }
|
||||
}
|
||||
return this.each(function() { jHtmlArea(this, opts); });
|
||||
};
|
||||
var jHtmlArea = window.jHtmlArea = function(elem, options) {
|
||||
if (elem.jquery) {
|
||||
return jHtmlArea(elem[0]);
|
||||
}
|
||||
if (elem.jhtmlareaObject) {
|
||||
return elem.jhtmlareaObject;
|
||||
} else {
|
||||
return new jHtmlArea.fn.init(elem, options);
|
||||
}
|
||||
};
|
||||
jHtmlArea.fn = jHtmlArea.prototype = {
|
||||
|
||||
// The current version of jHtmlArea being used
|
||||
jhtmlarea: "0.7.0",
|
||||
|
||||
init: function(elem, options) {
|
||||
if (elem.nodeName.toLowerCase() === "textarea") {
|
||||
var opts = $.extend({}, jHtmlArea.defaultOptions, options);
|
||||
elem.jhtmlareaObject = this;
|
||||
|
||||
var textarea = this.textarea = $(elem);
|
||||
var container = this.container = $("<div/>").addClass("jHtmlArea").width(textarea.width()).insertAfter(textarea);
|
||||
|
||||
var toolbar = this.toolbar = $("<div/>").addClass("ToolBar").appendTo(container);
|
||||
priv.initToolBar.call(this, opts);
|
||||
|
||||
var iframe = this.iframe = $("<iframe/>").height(textarea.height());
|
||||
iframe.width(textarea.width() - ($.browser.msie ? 0 : 4));
|
||||
var htmlarea = this.htmlarea = $("<div/>").append(iframe);
|
||||
|
||||
container.append(htmlarea).append(textarea.hide());
|
||||
|
||||
priv.initEditor.call(this, opts);
|
||||
priv.attachEditorEvents.call(this);
|
||||
|
||||
// Fix total height to match TextArea
|
||||
iframe.height(iframe.height() - toolbar.height());
|
||||
toolbar.width(textarea.width() - 2);
|
||||
|
||||
if (opts.loaded) { opts.loaded.call(this); }
|
||||
}
|
||||
},
|
||||
dispose: function() {
|
||||
this.textarea.show().insertAfter(this.container);
|
||||
this.container.remove();
|
||||
this.textarea[0].jhtmlareaObject = null;
|
||||
},
|
||||
execCommand: function(a, b, c) {
|
||||
this.iframe[0].contentWindow.focus();
|
||||
this.editor.execCommand(a, b || false, c || null);
|
||||
this.updateTextArea();
|
||||
},
|
||||
ec: function(a, b, c) {
|
||||
this.execCommand(a, b, c);
|
||||
},
|
||||
queryCommandValue: function(a) {
|
||||
this.iframe[0].contentWindow.focus();
|
||||
return this.editor.queryCommandValue(a);
|
||||
},
|
||||
qc: function(a) {
|
||||
return this.queryCommandValue(a);
|
||||
},
|
||||
getSelectedHTML: function() {
|
||||
if ($.browser.msie) {
|
||||
return this.getRange().htmlText;
|
||||
} else {
|
||||
var elem = this.getRange().cloneContents();
|
||||
return $("<p/>").append($(elem)).html();
|
||||
}
|
||||
},
|
||||
getSelection: function() {
|
||||
if ($.browser.msie) {
|
||||
//return (this.editor.parentWindow.getSelection) ? this.editor.parentWindow.getSelection() : this.editor.selection;
|
||||
return this.editor.selection;
|
||||
} else {
|
||||
return this.iframe[0].contentDocument.defaultView.getSelection();
|
||||
}
|
||||
},
|
||||
getRange: function() {
|
||||
var s = this.getSelection();
|
||||
if (!s) { return null; }
|
||||
//return (s.rangeCount > 0) ? s.getRangeAt(0) : s.createRange();
|
||||
return (s.getRangeAt) ? s.getRangeAt(0) : s.createRange();
|
||||
},
|
||||
html: function(v) {
|
||||
if (v) {
|
||||
this.pastHTML(v);
|
||||
} else {
|
||||
return toHtmlString();
|
||||
}
|
||||
},
|
||||
pasteHTML: function(html) {
|
||||
this.iframe[0].contentWindow.focus();
|
||||
var r = this.getRange();
|
||||
if ($.browser.msie) {
|
||||
r.pasteHTML(html);
|
||||
} else if ($.browser.mozilla) {
|
||||
r.deleteContents();
|
||||
r.insertNode($((html.indexOf("<") != 0) ? $("<span/>").append(html) : html)[0]);
|
||||
} else { // Safari
|
||||
r.deleteContents();
|
||||
r.insertNode($(this.iframe[0].contentWindow.document.createElement("span")).append($((html.indexOf("<") != 0) ? "<span>" + html + "</span>" : html))[0]);
|
||||
}
|
||||
r.collapse(false);
|
||||
r.select();
|
||||
},
|
||||
cut: function() {
|
||||
this.ec("cut");
|
||||
},
|
||||
copy: function() {
|
||||
this.ec("copy");
|
||||
},
|
||||
paste: function() {
|
||||
this.ec("paste");
|
||||
},
|
||||
bold: function() { this.ec("bold"); },
|
||||
italic: function() { this.ec("italic"); },
|
||||
underline: function() { this.ec("underline"); },
|
||||
strikeThrough: function() { this.ec("strikethrough"); },
|
||||
image: function(url) {
|
||||
if ($.browser.msie && !url) {
|
||||
this.ec("insertImage", true);
|
||||
} else {
|
||||
this.ec("insertImage", false, (url || prompt("Image URL:", "http://")));
|
||||
}
|
||||
},
|
||||
removeFormat: function() {
|
||||
this.ec("removeFormat", false, []);
|
||||
this.unlink();
|
||||
},
|
||||
link: function() {
|
||||
if ($.browser.msie) {
|
||||
this.ec("createLink", true);
|
||||
} else {
|
||||
this.ec("createLink", false, prompt("Link URL:", "http://"));
|
||||
}
|
||||
},
|
||||
unlink: function() { this.ec("unlink", false, []); },
|
||||
orderedList: function() { this.ec("insertorderedlist"); },
|
||||
unorderedList: function() { this.ec("insertunorderedlist"); },
|
||||
superscript: function() { this.ec("superscript"); },
|
||||
subscript: function() { this.ec("subscript"); },
|
||||
|
||||
p: function() {
|
||||
this.formatBlock("<p>");
|
||||
},
|
||||
h1: function() {
|
||||
this.heading(1);
|
||||
},
|
||||
h2: function() {
|
||||
this.heading(2);
|
||||
},
|
||||
h3: function() {
|
||||
this.heading(3);
|
||||
},
|
||||
h4: function() {
|
||||
this.heading(4);
|
||||
},
|
||||
h5: function() {
|
||||
this.heading(5);
|
||||
},
|
||||
h6: function() {
|
||||
this.heading(6);
|
||||
},
|
||||
heading: function(h) {
|
||||
this.formatBlock($.browser.msie ? "Heading " + h : "h" + h);
|
||||
},
|
||||
|
||||
indent: function() {
|
||||
this.ec("indent");
|
||||
},
|
||||
outdent: function() {
|
||||
this.ec("outdent");
|
||||
},
|
||||
|
||||
insertHorizontalRule: function() {
|
||||
this.ec("insertHorizontalRule", false, "ht");
|
||||
},
|
||||
|
||||
justifyLeft: function() {
|
||||
this.ec("justifyLeft");
|
||||
},
|
||||
justifyCenter: function() {
|
||||
this.ec("justifyCenter");
|
||||
},
|
||||
justifyRight: function() {
|
||||
this.ec("justifyRight");
|
||||
},
|
||||
|
||||
increaseFontSize: function() {
|
||||
if ($.browser.msie) {
|
||||
this.ec("fontSize", false, this.qc("fontSize") + 1);
|
||||
} else if ($.browser.safari) {
|
||||
this.getRange().surroundContents($(this.iframe[0].contentWindow.document.createElement("span")).css("font-size", "larger")[0]);
|
||||
} else {
|
||||
this.ec("increaseFontSize", false, "big");
|
||||
}
|
||||
},
|
||||
decreaseFontSize: function() {
|
||||
if ($.browser.msie) {
|
||||
this.ec("fontSize", false, this.qc("fontSize") - 1);
|
||||
} else if ($.browser.safari) {
|
||||
this.getRange().surroundContents($(this.iframe[0].contentWindow.document.createElement("span")).css("font-size", "smaller")[0]);
|
||||
} else {
|
||||
this.ec("decreaseFontSize", false, "small");
|
||||
}
|
||||
},
|
||||
|
||||
forecolor: function(c) {
|
||||
this.ec("foreColor", false, c || prompt("Enter HTML Color:", "#"));
|
||||
},
|
||||
|
||||
formatBlock: function(v) {
|
||||
this.ec("formatblock", false, v || null);
|
||||
},
|
||||
|
||||
showHTMLView: function() {
|
||||
this.updateTextArea();
|
||||
this.textarea.show();
|
||||
this.htmlarea.hide();
|
||||
$("ul li:not(li:has(a.html))", this.toolbar).hide();
|
||||
$("ul:not(:has(:visible))", this.toolbar).hide();
|
||||
$("ul li a.html", this.toolbar).addClass("highlighted");
|
||||
},
|
||||
hideHTMLView: function() {
|
||||
this.updateHtmlArea();
|
||||
this.textarea.hide();
|
||||
this.htmlarea.show();
|
||||
$("ul", this.toolbar).show();
|
||||
$("ul li", this.toolbar).show().find("a.html").removeClass("highlighted");
|
||||
},
|
||||
toggleHTMLView: function() {
|
||||
(this.textarea.is(":hidden")) ? this.showHTMLView() : this.hideHTMLView();
|
||||
},
|
||||
|
||||
toHtmlString: function() {
|
||||
return this.editor.body.innerHTML;
|
||||
},
|
||||
toString: function() {
|
||||
return this.editor.body.innerText;
|
||||
},
|
||||
|
||||
updateTextArea: function() {
|
||||
this.textarea.val(this.toHtmlString());
|
||||
},
|
||||
updateHtmlArea: function() {
|
||||
this.editor.body.innerHTML = this.textarea.val();
|
||||
}
|
||||
};
|
||||
jHtmlArea.fn.init.prototype = jHtmlArea.fn;
|
||||
|
||||
jHtmlArea.defaultOptions = {
|
||||
toolbar: [
|
||||
["html"], ["bold", "italic", "underline", "strikethrough", "|", "subscript", "superscript"],
|
||||
["increasefontsize", "decreasefontsize"],
|
||||
["orderedlist", "unorderedlist"],
|
||||
["indent", "outdent"],
|
||||
["justifyleft", "justifycenter", "justifyright"],
|
||||
["link", "unlink", "image", "horizontalrule"],
|
||||
["p", "h1", "h2", "h3", "h4", "h5", "h6"],
|
||||
["cut", "copy", "paste"]
|
||||
],
|
||||
css: null,
|
||||
toolbarText: {
|
||||
bold: "Bold", italic: "Italic", underline: "Underline", strikethrough: "Strike-Through",
|
||||
cut: "Cut", copy: "Copy", paste: "Paste",
|
||||
h1: "Heading 1", h2: "Heading 2", h3: "Heading 3", h4: "Heading 4", h5: "Heading 5", h6: "Heading 6", p: "Paragraph",
|
||||
indent: "Indent", outdent: "Outdent", horizontalrule: "Insert Horizontal Rule",
|
||||
justifyleft: "Left Justify", justifycenter: "Center Justify", justifyright: "Right Justify",
|
||||
increasefontsize: "Increase Font Size", decreasefontsize: "Decrease Font Size", forecolor: "Text Color",
|
||||
link: "Insert Link", unlink: "Remove Link", image: "Insert Image",
|
||||
orderedlist: "Insert Ordered List", unorderedlist: "Insert Unordered List",
|
||||
subscript: "Subscript", superscript: "Superscript",
|
||||
html: "Show/Hide HTML Source View"
|
||||
}
|
||||
};
|
||||
var priv = {
|
||||
toolbarButtons: {
|
||||
strikethrough: "strikeThrough", orderedlist: "orderedList", unorderedlist: "unorderedList",
|
||||
horizontalrule: "insertHorizontalRule",
|
||||
justifyleft: "justifyLeft", justifycenter: "justifyCenter", justifyright: "justifyRight",
|
||||
increasefontsize: "increaseFontSize", decreasefontsize: "decreaseFontSize",
|
||||
html: function(btn) {
|
||||
this.toggleHTMLView();
|
||||
}
|
||||
},
|
||||
initEditor: function(options) {
|
||||
var edit = this.editor = this.iframe[0].contentWindow.document;
|
||||
edit.designMode = 'on';
|
||||
edit.open();
|
||||
edit.write(this.textarea.val());
|
||||
edit.close();
|
||||
if (options.css) {
|
||||
var e = edit.createElement('link'); e.rel = 'stylesheet'; e.type = 'text/css'; e.href = options.css; edit.getElementsByTagName('head')[0].appendChild(e);
|
||||
}
|
||||
},
|
||||
initToolBar: function(options) {
|
||||
var that = this;
|
||||
|
||||
var menuItem = function(className, altText, action) {
|
||||
return $("<li/>").append($("<a href='javascript:void(0);'/>").addClass(className).attr("title", altText).click(function() { action.call(that, $(this)); }));
|
||||
};
|
||||
|
||||
function addButtons(arr) {
|
||||
var ul = $("<ul/>").appendTo(that.toolbar);
|
||||
for (var i = 0; i < arr.length; i++) {
|
||||
var e = arr[i];
|
||||
if ((typeof (e)).toLowerCase() === "string") {
|
||||
if (e === "|") {
|
||||
ul.append($('<li class="separator"/>'));
|
||||
} else {
|
||||
var f = (function(e) {
|
||||
// If button name exists in priv.toolbarButtons then call the "method" defined there, otherwise call the method with the same name
|
||||
var m = priv.toolbarButtons[e] || e;
|
||||
if ((typeof (m)).toLowerCase() === "function") {
|
||||
return function(btn) { m.call(this, btn); };
|
||||
} else {
|
||||
return function() { this[m](); this.editor.body.focus(); };
|
||||
}
|
||||
})(e.toLowerCase());
|
||||
var t = options.toolbarText[e.toLowerCase()];
|
||||
ul.append(menuItem(e.toLowerCase(), t || e, f));
|
||||
}
|
||||
} else {
|
||||
ul.append(menuItem(e.css, e.text, e.action));
|
||||
}
|
||||
}
|
||||
};
|
||||
if (options.toolbar.length !== 0 && priv.isArray(options.toolbar[0])) {
|
||||
for (var i = 0; i < options.toolbar.length; i++) {
|
||||
addButtons(options.toolbar[i]);
|
||||
}
|
||||
} else {
|
||||
addButtons(options.toolbar);
|
||||
}
|
||||
},
|
||||
attachEditorEvents: function() {
|
||||
var t = this;
|
||||
|
||||
var fnHA = function() {
|
||||
t.updateHtmlArea();
|
||||
};
|
||||
|
||||
this.textarea.click(fnHA).
|
||||
keyup(fnHA).
|
||||
keydown(fnHA).
|
||||
mousedown(fnHA).
|
||||
blur(fnHA);
|
||||
|
||||
|
||||
|
||||
var fnTA = function() {
|
||||
t.updateTextArea();
|
||||
};
|
||||
|
||||
$(this.editor.body).click(fnTA).
|
||||
keyup(fnTA).
|
||||
keydown(fnTA).
|
||||
mousedown(fnTA).
|
||||
blur(fnTA);
|
||||
|
||||
$('form').submit(function() { t.toggleHTMLView(); t.toggleHTMLView(); });
|
||||
//$(this.textarea[0].form).submit(function() { //this.textarea.closest("form").submit(function() {
|
||||
|
||||
|
||||
// Fix for ASP.NET Postback Model
|
||||
if (window.__doPostBack) {
|
||||
var old__doPostBack = __doPostBack;
|
||||
window.__doPostBack = function() {
|
||||
if (t) {
|
||||
if (t.toggleHTMLView) {
|
||||
t.toggleHTMLView();
|
||||
t.toggleHTMLView();
|
||||
}
|
||||
}
|
||||
return old__doPostBack.apply(window, arguments);
|
||||
};
|
||||
}
|
||||
|
||||
},
|
||||
isArray: function(v) {
|
||||
return v && typeof v === 'object' && typeof v.length === 'number' && typeof v.splice === 'function' && !(v.propertyIsEnumerable('length'));
|
||||
}
|
||||
};
|
||||
})(jQuery);
|
21
3.0/modules/pages/models/static_page.php
Normal file
|
@ -0,0 +1,21 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2011 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 Static_Page_Model extends ORM {
|
||||
}
|
7
3.0/modules/pages/module.info
Normal file
|
@ -0,0 +1,7 @@
|
|||
name = "Pages"
|
||||
description = "Allows Gallery admins to create static pages."
|
||||
version = 2
|
||||
author_name = "rWatcher"
|
||||
author_url = "http://codex.gallery2.org/User:RWatcher"
|
||||
info_url = "http://codex.gallery2.org/Gallery3:Modules:Pages"
|
||||
discuss_url = "http://gallery.menalto.com/node/102534"
|
59
3.0/modules/pages/views/admin_pages.html.php
Normal file
|
@ -0,0 +1,59 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.") ?>
|
||||
<script type="text/javascript">
|
||||
$("document").ready(function() {
|
||||
// using JS for adding link titles to avoid running t() for each tag
|
||||
$("#g-page-admin .g-page-name").attr("title", <?= t("Click to edit this page")->for_js() ?>);
|
||||
$("#g-page-admin .g-delete-link").attr("title", $(".g-delete-link:first span").html());
|
||||
|
||||
// In-place editing for tag admin
|
||||
$(".g-editable").gallery_in_place_edit({
|
||||
form_url: <?= html::js_string(url::site("admin/pages/form_rename/__ID__")) ?>
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<? $pages_per_column = $pages->count()/5 ?>
|
||||
<? $column_page_count = 0 ?>
|
||||
|
||||
<div class="g-block">
|
||||
<h1> <?= t("Manage pages") ?> </h1>
|
||||
<?= $form; ?>
|
||||
<div class="g-block-content">
|
||||
<table id="g-page-admin">
|
||||
<caption>
|
||||
<?= t2("There is one page", "There are %count pages", $pages->count()) ?><br />
|
||||
<a href="<?=url::site("admin/pages/createpage") ?>"><?=t("Add new page") ?></a>
|
||||
</caption>
|
||||
<tr>
|
||||
<td>
|
||||
<? foreach ($pages as $i => $one_page): ?>
|
||||
<? $current_letter = strtoupper(mb_substr($one_page->name, 0, 1)) ?>
|
||||
|
||||
<? if ($i == 0): /* first letter */ ?>
|
||||
<strong><?= html::clean($current_letter) ?></strong>
|
||||
<ul>
|
||||
<? elseif ($last_letter != $current_letter): /* new letter */ ?>
|
||||
</ul>
|
||||
<? if ($column_page_count > $pages_per_column): /* new column */ ?>
|
||||
<? $column_page_count = 0 ?>
|
||||
</td>
|
||||
<td>
|
||||
<? endif ?>
|
||||
<strong><?= html::clean($current_letter) ?></strong>
|
||||
<ul>
|
||||
<? endif ?>
|
||||
<li>
|
||||
<span class="g-editable g-page-name" rel="<?= $one_page->id ?>"><?= html::clean($one_page->name) ?></span>
|
||||
<a href="<?= url::site("admin/pages/editpage/$one_page->id") ?>" class="g-edit-link g-button" title="<?= t("Edit this page") ?>"><span class="ui-icon ui-icon-pencil"><?= t("Edit this page") ?></span></a>
|
||||
<a href="<?= url::site("pages/show/" . $one_page->name) ?>" class="g-view-link g-button" title="<?= t("View this page") ?>" target="_blank"><span class="ui-icon ui-icon-info"><?= t("View this page") ?></span></a>
|
||||
<a href="<?= url::site("admin/pages/form_delete/$one_page->id") ?>" class="g-dialog-link g-delete-link g-button"><span class="ui-icon ui-icon-trash"><?= t("Delete this page") ?></span></a>
|
||||
</li>
|
||||
<? $column_page_count++ ?>
|
||||
<? $last_letter = $current_letter ?>
|
||||
<? endforeach ?>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
20
3.0/modules/pages/views/admin_pages_new.html.php
Normal file
|
@ -0,0 +1,20 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.") ?>
|
||||
<body>
|
||||
<style type="text/css">
|
||||
textarea {
|
||||
height: 35em;
|
||||
width: 97%;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(function() {
|
||||
$("textarea").htmlarea(); // Initialize all TextArea's as jHtmlArea's with default values
|
||||
});
|
||||
</script>
|
||||
<div class="g-block">
|
||||
<h1> <?= $theme->page_title ?> </h1>
|
||||
<div class="g-block-content">
|
||||
<?=$form ?>
|
||||
</div>
|
||||
</div>
|
26
3.0/modules/pages/views/pages_display.html.php
Normal file
|
@ -0,0 +1,26 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.") ?>
|
||||
<? if (module::get_var("pages", "show_sidebar")) : ?>
|
||||
<style type="text/css">
|
||||
<? if (module::get_var("gallery", "active_site_theme") == "greydragon") : ?>
|
||||
#g-column-right {
|
||||
display: none;
|
||||
}
|
||||
.g-page-block-content {
|
||||
width: 99%;
|
||||
}
|
||||
<? else: ?>
|
||||
#g-sidebar {
|
||||
display: none;
|
||||
}
|
||||
#g-content {
|
||||
width: 950px;
|
||||
}
|
||||
<? endif ?>
|
||||
</style>
|
||||
<? endif ?>
|
||||
<div class="g-page-block">
|
||||
<h1> <?= t($title) ?> </h1>
|
||||
<div class="g-page-block-content">
|
||||
<?=t($body) ?>
|
||||
</div>
|
||||
</div>
|
2
3.0/modules/pages/views/pages_sidebar.html.php
Normal file
|
@ -0,0 +1,2 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.") ?>
|
||||
<?= $links ?>
|
|
@ -97,12 +97,19 @@ class Sendmail_Core {
|
|||
// Gallery Sendmail script. Outside of this function,
|
||||
// no other changes were made.
|
||||
|
||||
require(module::get_var("phpmailer", "phpmailer_path"));
|
||||
// Make sure phpmailer_path is valid.
|
||||
if(!file_exists(module::get_var("phpmailer", "phpmailer_path"))) {
|
||||
Kohana_Log::add("error", wordwrap("File Not Found: " . module::get_var("phpmailer", "phpmailer_path")));
|
||||
return false;
|
||||
}
|
||||
|
||||
require_once(module::get_var("phpmailer", "phpmailer_path"));
|
||||
$mail = new PHPMailer();
|
||||
|
||||
$mail->IsSMTP();
|
||||
$mail->Host = module::get_var("phpmailer", "smtp_server");
|
||||
$mail->Port = module::get_var("phpmailer", "smtp_port");
|
||||
$mail->SMTPDebug = 1;
|
||||
|
||||
if (module::get_var("phpmailer", "smtp_login") != "") {
|
||||
$mail->SMTPAuth = true;
|
||||
|
@ -133,6 +140,12 @@ class Sendmail_Core {
|
|||
$mail->Subject = $subject;
|
||||
$mail->Body = $message;
|
||||
|
||||
return $mail->Send();
|
||||
// Log any errors.
|
||||
if (!$mail->Send()) {
|
||||
Kohana_Log::add("error", wordwrap($mail->ErrorInfo));
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -68,7 +68,7 @@ class tag_albums_Controller extends Controller {
|
|||
$index = $this->_get_position($child->$sort_page_field, $child->id, $tag_ids, "items." . $sort_page_field, $sort_page_direction, $album_tags_search_type, true);
|
||||
if ($index) {
|
||||
$page = ceil($index / $page_size);
|
||||
url::redirect("tag_albums/album/" . $id . "?page=$page");
|
||||
url::redirect("tag_albums/album/" . $id . "/" . urlencode($album->name) . "?page=$page");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -97,7 +97,7 @@ class tag_albums_Controller extends Controller {
|
|||
$tag_children = $this->_get_records($tag_ids, $page_size, $offset, "items." . $sort_page_field, $sort_page_direction, $album_tags_search_type, true);
|
||||
$children = Array();
|
||||
foreach ($tag_children as $one_child) {
|
||||
$child_tag = new Tag_Albums_Item($one_child->title, url::site("tag_albums/show/" . $one_child->id . "/0/" . $id), $one_child->type);
|
||||
$child_tag = new Tag_Albums_Item($one_child->title, url::site("tag_albums/show/" . $one_child->id . "/0/" . $id . "/" . urlencode($one_child->name)), $one_child->type);
|
||||
$child_tag->id = $one_child->id;
|
||||
$child_tag->view_count = $one_child->view_count;
|
||||
$child_tag->owner = identity::lookup_user($one_child->owner_id);
|
||||
|
@ -132,7 +132,7 @@ class tag_albums_Controller extends Controller {
|
|||
|
||||
// Set up and display the actual page.
|
||||
$parent_album = ORM::factory("item", $album->parent_id);
|
||||
$template = new Theme_View("calpage.html", "collection", "Tag Albums");
|
||||
$template = new Theme_View("calpage.html", "other", "Tag Albums");
|
||||
$template->page_title = $page_title;
|
||||
$template->set_global("page", $page);
|
||||
$template->set_global("page_size", $page_size);
|
||||
|
@ -161,10 +161,18 @@ class tag_albums_Controller extends Controller {
|
|||
if ((module::get_var("tag_albums", "tag_index_scope", "false")) || ($id == "")) {
|
||||
$tag_album_index_type = module::get_var("tag_albums", "tag_index", "default");
|
||||
if (($tag_album_index_type == "tagcloudpage") && (module::is_active("tag_cloud_page"))) {
|
||||
url::redirect("tag_cloud_page/");
|
||||
$redirect_url = "tag_cloud_page/";
|
||||
if ($id) {
|
||||
$redirect_url .= "?album={$id}";
|
||||
}
|
||||
url::redirect($redirect_url);
|
||||
return;
|
||||
} elseif (($tag_album_index_type == "alltags") && (module::is_active("all_tags"))) {
|
||||
url::redirect("all_tags/");
|
||||
$redirect_url = "all_tags/";
|
||||
if ($id) {
|
||||
$redirect_url .= "?album={$id}";
|
||||
}
|
||||
url::redirect($redirect_url);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -228,7 +236,7 @@ class tag_albums_Controller extends Controller {
|
|||
if ($id == "") {
|
||||
url::redirect("tag_albums/?page=$page");
|
||||
} else {
|
||||
url::redirect("tag_albums/album/" . $id . "?page=$page");
|
||||
url::redirect("tag_albums/album/" . $id . "/" . urlencode($album->title) . "?page=$page");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -307,7 +315,7 @@ class tag_albums_Controller extends Controller {
|
|||
->where("items_tags.tag_id", "=", $one_tag->id)
|
||||
->order_by("items.id", "DESC")
|
||||
->find_all(1, 0);
|
||||
$child_tag = new Tag_Albums_Item($one_tag->name, url::site("tag_albums/tag/" . $one_tag->id . "/" . $id), "album");
|
||||
$child_tag = new Tag_Albums_Item($one_tag->name, url::site("tag_albums/tag/" . $one_tag->id . "/" . $id . "/" . urlencode($one_tag->name)), "album");
|
||||
if (count($tag_item) > 0) {
|
||||
if ($tag_item[0]->has_thumb()) {
|
||||
$child_tag->set_thumb($tag_item[0]->thumb_url(), $tag_item[0]->thumb_width, $tag_item[0]->thumb_height);
|
||||
|
@ -338,7 +346,7 @@ class tag_albums_Controller extends Controller {
|
|||
}
|
||||
|
||||
// Set up and display the actual page.
|
||||
$template = new Theme_View("calpage.html", "collection", "Tag Albums");
|
||||
$template = new Theme_View("calpage.html", "other", "Tag Albums");
|
||||
$template->page_title = $page_title;
|
||||
$template->set_global("page", $page);
|
||||
$template->set_global("page_size", $page_size);
|
||||
|
@ -414,7 +422,7 @@ class tag_albums_Controller extends Controller {
|
|||
// Create an array of "fake" items to display on the page.
|
||||
$children = Array();
|
||||
foreach ($tag_children as $one_child) {
|
||||
$child_tag = new Tag_Albums_Item($one_child->title, url::site("tag_albums/show/" . $one_child->id . "/" . $id . "/" . $album_id), $one_child->type);
|
||||
$child_tag = new Tag_Albums_Item($one_child->title, url::site("tag_albums/show/" . $one_child->id . "/" . $id . "/" . $album_id . "/" . urlencode($one_child->name)), $one_child->type);
|
||||
$child_tag->id = $one_child->id;
|
||||
$child_tag->view_count = $one_child->view_count;
|
||||
$child_tag->owner = identity::lookup_user($one_child->owner_id);
|
||||
|
@ -453,10 +461,11 @@ class tag_albums_Controller extends Controller {
|
|||
$parent_item = ORM::factory("item", $parent_item->parent_id);
|
||||
}
|
||||
$tag_album_breadcrumbs[$counter++] = new Tag_Albums_Breadcrumb($parent_item->title, $parent_item->url());
|
||||
$parent_item = ORM::factory("item", $album_tags[0]->album_id);
|
||||
if ((module::get_var("tag_albums", "tag_index_scope", "false")) && (module::get_var("tag_albums", "tag_index", "default") != "default")) {
|
||||
$tag_album_breadcrumbs[1]->url = url::site("tag_albums/album/" . $album_id);
|
||||
$tag_album_breadcrumbs[1]->url = url::site("tag_albums/album/" . $album_id . "/" . urlencode($parent_item->name));
|
||||
} else {
|
||||
$tag_album_breadcrumbs[1]->url = url::site("tag_albums/album/" . $album_id) . "?show=" . $id;
|
||||
$tag_album_breadcrumbs[1]->url = url::site("tag_albums/album/" . $album_id . "/" . urlencode($parent_item->name)) . "?show=" . $id;
|
||||
}
|
||||
$tag_album_breadcrumbs = array_reverse($tag_album_breadcrumbs, true);
|
||||
} else {
|
||||
|
@ -471,7 +480,7 @@ class tag_albums_Controller extends Controller {
|
|||
}
|
||||
|
||||
// Set up and display the actual page.
|
||||
$template = new Theme_View("calpage.html", "collection", "Tag Albums");
|
||||
$template = new Theme_View("calpage.html", "other", "Tag Albums");
|
||||
$template->page_title = $display_tag->name;
|
||||
$template->set_global("page", $page);
|
||||
$template->set_global("page_size", $page_size);
|
||||
|
|
|
@ -26,7 +26,7 @@ class tag_albums_theme_Core {
|
|||
->where("album_id", "=", $theme->item->id)
|
||||
->find_all();
|
||||
if (count($album_tags) > 0) {
|
||||
url::redirect(url::abs_site("tag_albums/album/" . $album_tags[0]->id));
|
||||
url::redirect(url::abs_site("tag_albums/album/" . $album_tags[0]->id . "/" . urlencode($theme->item->name)));
|
||||
}
|
||||
}
|
||||
return;
|
||||
|
|
|
@ -132,7 +132,11 @@ class Tag_Model_Core extends ORM {
|
|||
* @param string $query the query string (eg "page=3")
|
||||
*/
|
||||
public function url($query=null) {
|
||||
$url = url::site("/tag_albums/tag/{$this->id}/" . urlencode($this->name));
|
||||
$album_id = Input::instance()->get("album");
|
||||
if (!($album_id)) {
|
||||
$album_id = 0;
|
||||
}
|
||||
$url = url::site("/tag_albums/tag/{$this->id}/{$album_id}/" . urlencode($this->name));
|
||||
if ($query) {
|
||||
$url .= "?$query";
|
||||
}
|
||||
|
|
|
@ -29,12 +29,26 @@ class tagsinalbum_block_Core {
|
|||
case "tagsinalbum":
|
||||
if (($theme->item) && ($theme->item->is_album())) {
|
||||
$item = $theme->item;
|
||||
$all_tags = ORM::factory("tag")
|
||||
|
||||
// Create an ORM query for finding one instance of each tag
|
||||
// used by children in the current album.
|
||||
$tags_model = ORM::factory("tag")
|
||||
->join("items_tags", "items_tags.tag_id", "tags.id")
|
||||
->join("items", "items.id", "items_tags.item_id", "LEFT")
|
||||
->where("items.parent_id", "=", $item->id)
|
||||
->order_by("tags.id", "ASC")
|
||||
->find_all();
|
||||
->order_by("tags.name", "ASC")
|
||||
->group_by("tags.id");
|
||||
|
||||
// Limit $all_tags to the first X tags if max_display_tags is set,
|
||||
// else populate it with all tags used by this album's children.
|
||||
$all_tags = "";
|
||||
if (module::get_var("tagsinalbum", "max_display_tags") > 0) {
|
||||
$all_tags = $tags_model->find_all(module::get_var("tagsinalbum", "max_display_tags"));
|
||||
} else {
|
||||
$all_tags = $tags_model->find_all();
|
||||
}
|
||||
|
||||
// If this album has children that are tagged, display those tags.
|
||||
if (count($all_tags) > 0) {
|
||||
$block = new Block();
|
||||
$block->css_id = "g-tags-in-album-block";
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
name = "Tags In Album"
|
||||
description = "Creates a sidebar block to display tags used by photos and videos in the current album."
|
||||
version = 2
|
||||
author_name = ""
|
||||
author_url = ""
|
||||
author_name = "rWatcher"
|
||||
author_url = "http://codex.gallery2.org/User:RWatcher"
|
||||
info_url = "http://codex.gallery2.org/Gallery3:Modules:tagsinalbum"
|
||||
discuss_url = "http://gallery.menalto.com/forum_module_tagsinalbum"
|
||||
discuss_url = "http://gallery.menalto.com/node/99171"
|
||||
|
|
|
@ -1,33 +1,11 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.") ?>
|
||||
<?
|
||||
// Create an array to store the tag names and urls in.
|
||||
$display_tags = array();
|
||||
|
||||
// Loop through all tags in the album, copying their
|
||||
// names and urls into the array and skipping duplicates.
|
||||
$last_tagid = "";
|
||||
foreach ($all_tags as $one_tag) {
|
||||
if ($last_tagid != $one_tag->id) {
|
||||
$tag = ORM::factory("tag", $one_tag->id);
|
||||
$display_tags[] = array(html::clean($tag->name), $tag->url());
|
||||
$last_tagid = $one_tag->id;
|
||||
}
|
||||
if (module::get_var("tagsinalbum", "max_display_tags") > 0) {
|
||||
if (count($display_tags) == module::get_var("tagsinalbum", "max_display_tags")) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Sort the array.
|
||||
asort($display_tags);
|
||||
|
||||
// Print out the list of tags as clickable links.
|
||||
// Loop through each tag in $all_tags, and display it as a link.
|
||||
$not_first = 0;
|
||||
foreach ($display_tags as $one_tag) {
|
||||
foreach ($all_tags as $one_tag) {
|
||||
if ($not_first++ > 0) {
|
||||
print ", ";
|
||||
}
|
||||
print "<a href=\"" . $one_tag[1] . "\">" . $one_tag[0] . "</a>";
|
||||
print "<a href=\"" . $one_tag->url() . "\">" . html::clean($one_tag->name) . "</a>";
|
||||
}
|
||||
?>
|
||||
|
|
|
@ -32,6 +32,12 @@ class tagsmap_event_Core {
|
|||
}
|
||||
}
|
||||
|
||||
static function pre_deactivate($data) {
|
||||
if ($data->module == "tag") {
|
||||
$data->messages["warn"][] = t("The TagsMap module requires the Tags module.");
|
||||
}
|
||||
}
|
||||
|
||||
static function admin_menu($menu, $theme) {
|
||||
// Add a link to the TagsMap admin page to the Content menu.
|
||||
$menu->get("content_menu")
|
||||
|
|
|
@ -43,6 +43,14 @@ class tagsmap_installer {
|
|||
site_status::clear("tagsmap_needs_tag");
|
||||
}
|
||||
|
||||
static function can_activate() {
|
||||
$messages = array();
|
||||
if (!module::is_active("tag")) {
|
||||
$messages["warn"][] = t("The TagsMap module requires the Tags module.");
|
||||
}
|
||||
return $messages;
|
||||
}
|
||||
|
||||
static function uninstall() {
|
||||
// Delete the GPS table before uninstalling.
|
||||
$db = Database::instance();
|
||||
|
|
|
@ -84,12 +84,16 @@ class Admin_Themeroller_Controller extends Admin_Controller {
|
|||
->name(t("Generate theme"));
|
||||
|
||||
$v->task = task::create($task_def,
|
||||
array("path" => $extract_path,
|
||||
"original_name" => $form->theme->original->value,
|
||||
"theme_name" => $form->theme->theme_name->value,
|
||||
"display_name" => $form->theme->display_name->value,
|
||||
"description" => $form->theme->description->value,
|
||||
"is_admin" => $session->get("themeroller_is_admin")));
|
||||
array("path" => $extract_path,
|
||||
"user_name" => SafeString::purify(identity::active_user()->name),
|
||||
"original_name" => SafeString::purify($form->theme->original->value),
|
||||
"theme_name" => SafeString::purify($form->theme->theme_name->value),
|
||||
"display_name" => SafeString::purify($form->theme->display_name->value),
|
||||
"description" => SafeString::purify($form->theme->description->value),
|
||||
"author_url" => SafeString::purify($form->theme->author_url->value),
|
||||
"info_url" => SafeString::purify($form->theme->info_url->value),
|
||||
"discuss_url" => SafeString::purify($form->theme->discuss_url->value),
|
||||
"is_admin" => $session->get("themeroller_is_admin")));
|
||||
|
||||
json::reply(array("html" => (string) $v));
|
||||
} else {
|
||||
|
@ -169,9 +173,13 @@ class Admin_Themeroller_Controller extends Admin_Controller {
|
|||
}
|
||||
$form_group->textarea("description")->label(t("Description"))
|
||||
->id("g-description")
|
||||
->value(t("A generated theme based on the ui themeroller '%name' styling", array("name" => str_replace("admin_", "", $theme_name))))
|
||||
->value(t("A generated theme based on the ui themeroller '%name' styling",
|
||||
array("name" => str_replace("admin_", "", $theme_name))))
|
||||
->rules("required")
|
||||
->error_messages("required", t("You must enter a theme description name"));
|
||||
$form_group->input("author_url")->label(t("Author url"))->id("g-author-url");
|
||||
$form_group->input("info_url")->label(t("Info url"))->id("g-info-url");
|
||||
$form_group->input("discuss_url")->label(t("Theme Name"))->id("g-discuss-url");
|
||||
$form_group->submit("")->value(t("Create"));
|
||||
|
||||
return $form;
|
||||
|
|
|
@ -4,47 +4,40 @@
|
|||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
|
||||
<? $theme->start_combining("script,css") ?>
|
||||
<title>
|
||||
<? if ($page_title): ?>
|
||||
<?= $page_title ?>
|
||||
<? else: ?>
|
||||
<? if ($theme->item()): ?>
|
||||
<? if ($theme->item()->is_album()): ?>
|
||||
<?= t("Browse Album :: %album_title", array("album_title" => $theme->item()->title)) ?>
|
||||
<? elseif ($theme->item()->is_photo()): ?>
|
||||
<?= t("Photo :: %photo_title", array("photo_title" => $theme->item()->title)) ?>
|
||||
<? else: ?>
|
||||
<?= t("Movie :: %movie_title", array("movie_title" => $theme->item()->title)) ?>
|
||||
<? endif ?>
|
||||
<?= $theme->item()->title ?>
|
||||
<? elseif ($theme->tag()): ?>
|
||||
<?= t("Browse Tag :: %tag_title", array("tag_title" => $theme->tag()->name)) ?>
|
||||
<?= t("Photos tagged with %tag_title", array("tag_title" => $theme->tag()->name)) ?>
|
||||
<? else: /* Not an item, not a tag, no page_title specified. Help! */ ?>
|
||||
<?= t("Gallery") ?>
|
||||
<?= item::root()->title ?>
|
||||
<? endif ?>
|
||||
<? endif ?>
|
||||
</title>
|
||||
<link rel="shortcut icon" href="<?= url::file("lib/images/favicon.ico") ?>" type="image/x-icon" />
|
||||
<?= $theme->css("yui/reset-fonts-grids.css") ?>
|
||||
<?= $theme->css("superfish/css/superfish.css") ?>
|
||||
<?= $theme->css("themeroller/ui.base.css") ?>
|
||||
<?= $theme->css("screen.css") ?>
|
||||
<!--[if lte IE 8]>
|
||||
<link rel="stylesheet" type="text/css" href="<?= $theme->url("css/fix-ie.css") ?>"
|
||||
media="screen,print,projection" />
|
||||
<![endif]-->
|
||||
<link rel="shortcut icon"
|
||||
href="<?= url::file(module::get_var("gallery", "favicon_url")) ?>"
|
||||
type="image/x-icon" />
|
||||
<link rel="apple-touch-icon-precomposed"
|
||||
href="<?= url::file(module::get_var("gallery", "apple_touch_icon_url")) ?>" />
|
||||
<? if ($theme->page_type == "collection"): ?>
|
||||
<? if ($thumb_proportion != 1): ?>
|
||||
<? $new_width = round($thumb_proportion * 213) ?>
|
||||
<? $new_height = round($thumb_proportion * 240) ?>
|
||||
<style type="text/css">
|
||||
.g-view #g-content #g-album-grid .g-item {
|
||||
width: <?= $new_width ?>px;
|
||||
height: <?= $new_height ?>px;
|
||||
/* <?= $thumb_proportion ?> */
|
||||
}
|
||||
</style>
|
||||
<style type="text/css">
|
||||
.g-view #g-content #g-album-grid .g-item {
|
||||
width: <?= $new_width ?>px;
|
||||
height: <?= $new_height ?>px;
|
||||
/* <?= $thumb_proportion ?> */
|
||||
}
|
||||
</style>
|
||||
<? endif ?>
|
||||
<? endif ?>
|
||||
|
||||
<?= $theme->script("json2-min.js") ?>
|
||||
<?= $theme->script("jquery.js") ?>
|
||||
<?= $theme->script("jquery.form.js") ?>
|
||||
<?= $theme->script("jquery-ui.js") ?>
|
||||
|
@ -57,7 +50,6 @@
|
|||
<?= $theme->script("gallery.dialog.js") ?>
|
||||
<?= $theme->script("superfish/js/superfish.js") ?>
|
||||
<?= $theme->script("jquery.localscroll.js") ?>
|
||||
<?= $theme->script("ui.init.js") ?>
|
||||
|
||||
<? /* These are page specific, but if we put them before $theme->head() they get combined */ ?>
|
||||
<? if ($theme->page_subtype == "photo"): ?>
|
||||
|
@ -68,6 +60,26 @@
|
|||
<? endif ?>
|
||||
|
||||
<?= $theme->head() ?>
|
||||
|
||||
<? /* Theme specific CSS/JS goes last so that it can override module CSS/JS */ ?>
|
||||
<?= $theme->script("ui.init.js") ?>
|
||||
<?= $theme->css("yui/reset-fonts-grids.css") ?>
|
||||
<?= $theme->css("superfish/css/superfish.css") ?>
|
||||
<?= $theme->css("themeroller/ui.base.css") ?>
|
||||
<?= $theme->css("screen.css") ?>
|
||||
<? if (locales::is_rtl()): ?>
|
||||
<?= $theme->css("screen-rtl.css") ?>
|
||||
<? endif; ?>
|
||||
<!--[if lte IE 8]>
|
||||
<link rel="stylesheet" type="text/css" href="<?= $theme->url("css/fix-ie.css") ?>"
|
||||
media="screen,print,projection" />
|
||||
<![endif]-->
|
||||
|
||||
<!-- LOOKING FOR YOUR CSS? It's all been combined into the link below -->
|
||||
<?= $theme->get_combined("css") ?>
|
||||
|
||||
<!-- LOOKING FOR YOUR JAVASCRIPT? It's all been combined into the link below -->
|
||||
<?= $theme->get_combined("script") ?>
|
||||
</head>
|
||||
|
||||
<body <?= $theme->body_attributes() ?>>
|
||||
|
@ -100,19 +112,22 @@
|
|||
<? $i = 0 ?>
|
||||
<? foreach ($parents as $parent): ?>
|
||||
<li<? if ($i == 0) print " class=\"g-first\"" ?>>
|
||||
<!-- Adding ?show=<id> causes Gallery3 to display the page
|
||||
containing that photo. For now, we just do it for
|
||||
the immediate parent so that when you go back up a
|
||||
level you're on the right page. -->
|
||||
<? // Adding ?show=<id> causes Gallery3 to display the page
|
||||
// containing that photo. For now, we just do it for
|
||||
// the immediate parent so that when you go back up a
|
||||
// level you're on the right page. ?>
|
||||
<a href="<?= $parent->url($parent == $theme->item()->parent() ?
|
||||
"show={$theme->item()->id}" : null) ?>">
|
||||
<?= html::purify(text::limit_chars($parent->title, 15)) ?>
|
||||
<? // limit the title length to something reasonable (defaults to 15) ?>
|
||||
<?= html::purify(text::limit_chars($parent->title,
|
||||
module::get_var("gallery", "visible_title_length"))) ?>
|
||||
</a>
|
||||
</li>
|
||||
<? $i++ ?>
|
||||
<? endforeach ?>
|
||||
<li class="g-active<? if ($i == 0) print " g-first" ?>">
|
||||
<?= html::purify(text::limit_chars($theme->item()->title, 15)) ?>
|
||||
<?= html::purify(text::limit_chars($theme->item()->title,
|
||||
module::get_var("gallery", "visible_title_length"))) ?>
|
||||
</li>
|
||||
</ul>
|
||||
<? endif ?>
|
||||
|
|
|
@ -208,15 +208,18 @@ class themeroller_task_Core {
|
|||
break;
|
||||
case "generate_screen_css":
|
||||
$file = "{$theme_path}/css/screen.css";
|
||||
$v = new View(($is_admin ? "admin" : "site") . "_screen.css");
|
||||
$v->display_name = $task->get("display_name");
|
||||
foreach ($parameters["colors"] as $color => $value) {
|
||||
$v->$color = $value;
|
||||
foreach (array("screen", "screen-rtl") as $file) {
|
||||
$css_file = "{$theme_path}/css/$file.css";
|
||||
$v = new View(($is_admin ? "admin" : "site") . "_{$file}.css");
|
||||
$v->display_name = $task->get("display_name");
|
||||
foreach ($parameters["colors"] as $color => $value) {
|
||||
$v->$color = $value;
|
||||
}
|
||||
ob_start();
|
||||
print $v->render();
|
||||
file_put_contents($css_file, ob_get_contents());
|
||||
ob_end_clean();
|
||||
}
|
||||
ob_start();
|
||||
print $v->render();
|
||||
file_put_contents($file, ob_get_contents());
|
||||
ob_end_clean();
|
||||
$completed++;
|
||||
$task->log(t("Generated screen css: %path", array("path" => $file)));
|
||||
$task->status = t("Screen css generated");
|
||||
|
@ -229,14 +232,18 @@ class themeroller_task_Core {
|
|||
$task->status = t("Thumbnail generated");
|
||||
$task->set("mode", "generate_theme_info");
|
||||
$completed++;
|
||||
$task->log(t("Generated theme thumbnail: %path", array("path" => "{$theme_path}thumbnail.png")));
|
||||
$task->log(t("Generated theme thumbnail: %path",
|
||||
array("path" => "{$theme_path}thumbnail.png")));
|
||||
break;
|
||||
case "generate_theme_info":
|
||||
$file = "{$theme_path}/theme.info";
|
||||
$v = new View("theme.info");
|
||||
$v->display_name = $task->get("display_name");
|
||||
$v->description = $task->get("description");
|
||||
$v->user_name = identity::active_user()->name;
|
||||
$v->user_name = $task->get("user_name");
|
||||
$v->author_url = $task->get("author_url");
|
||||
$v->info_url = $task->get("info_url");
|
||||
$v->discuss_url = $task->get("discuss_url");
|
||||
$v->is_admin = $is_admin;
|
||||
$v->definition = json_encode($parameters["colors"]);
|
||||
ob_start();
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
name = "Theme generator"
|
||||
name = "Theme Roller"
|
||||
description = "Use a JQuery UI theme to create a Gallery3 Theme"
|
||||
version = 1
|
||||
author_name = ""
|
||||
|
|
375
3.0/modules/themeroller/views/admin_screen-rtl.css.php
Normal file
|
@ -0,0 +1,375 @@
|
|||
/**
|
||||
* Gallery 3 Admin Right to left language styles
|
||||
*/
|
||||
|
||||
.rtl {
|
||||
direction: rtl;
|
||||
}
|
||||
|
||||
#g-header,
|
||||
#g-content,
|
||||
#g-sidebar,
|
||||
#g-footer,
|
||||
caption,
|
||||
th,
|
||||
#g-dialog,
|
||||
.g-context-menu li a,
|
||||
.g-message-box li,
|
||||
#g-site-status li {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.g-text-right {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.g-error,
|
||||
.g-info,
|
||||
.g-success,
|
||||
.g-warning,
|
||||
#g-add-photos-status .g-success,
|
||||
#g-add-photos-status .g-error {
|
||||
background-position: center right;
|
||||
padding-right: 30px !important;
|
||||
}
|
||||
|
||||
form li.g-error,
|
||||
form li.g-info,
|
||||
form li.g-success,
|
||||
form li.g-warning {
|
||||
padding-right: 0 !important;
|
||||
}
|
||||
|
||||
.g-left,
|
||||
.g-inline li,
|
||||
#g-content #g-album-grid .g-item,
|
||||
.sf-menu li,
|
||||
.g-breadcrumbs li,
|
||||
.g-paginator li,
|
||||
.g-buttonset li,
|
||||
.ui-icon-left .ui-icon,
|
||||
.g-short-form li,
|
||||
form ul ul li,
|
||||
input[type="submit"],
|
||||
input[type="reset"],
|
||||
input.checkbox,
|
||||
input[type=checkbox],
|
||||
input.radio,
|
||||
input[type=radio] {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.g-right,
|
||||
.ui-icon-right .ui-icon {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.g-inline li {
|
||||
margin-right: 1em;
|
||||
}
|
||||
|
||||
.g-inline li.g-first {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.g-breadcrumbs li {
|
||||
background: transparent url('../images/ico-separator-rtl.png') no-repeat scroll right center;
|
||||
padding: 1em 18px 1em 8px;
|
||||
}
|
||||
|
||||
.g-breadcrumbs .g-first {
|
||||
background: none;
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
input.checkbox,
|
||||
input[type="checkbox"],
|
||||
input.radio,
|
||||
input[type="radio"] {
|
||||
margin-right: 0;
|
||||
margin-left: .4em;
|
||||
}
|
||||
|
||||
#g-add-comment {
|
||||
right: inherit;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.ui-icon-left .ui-icon {
|
||||
margin-left: .2em;
|
||||
}
|
||||
|
||||
.ui-icon-right .ui-icon {
|
||||
margin-right: .2em;
|
||||
}
|
||||
|
||||
.g-group h4 {
|
||||
padding: .5em .5em .5em 0;
|
||||
}
|
||||
|
||||
.g-group .g-user {
|
||||
padding: .2em .5em 0 0;
|
||||
}
|
||||
|
||||
/* RTL Corner radius ~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
.g-buttonset .ui-corner-tl {
|
||||
-moz-border-radius-topleft: 0;
|
||||
-webkit-border-top-left-radius: 0;
|
||||
border-top-left-radius: 0;
|
||||
-moz-border-radius-topright: 5px !important;
|
||||
-webkit-border-top-right-radius: 5px !important;
|
||||
border-top-right-radius: 5px !important;
|
||||
}
|
||||
|
||||
.g-buttonset .ui-corner-tr {
|
||||
-moz-border-radius-topright: 0;
|
||||
-webkit-border-top-right-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
-moz-border-radius-topleft: 5px !important;
|
||||
-webkit-border-top-left-radius: 5px !important;
|
||||
border-top-left-radius: 5px !important;
|
||||
}
|
||||
|
||||
.g-buttonset .ui-corner-bl {
|
||||
-moz-border-radius-bottomleft: 0;
|
||||
-webkit-border-bottom-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
-moz-border-radius-bottomright: 5px !important;
|
||||
-webkit-border-bottom-right-radius: 5px !important;
|
||||
border-bottom-right-radius: 5px !important;
|
||||
}
|
||||
|
||||
.g-buttonset .ui-corner-br {
|
||||
-moz-border-radius-bottomright: 0;
|
||||
-webkit-border-bottom-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
-moz-border-radius-bottomleft: 5px !important;
|
||||
-webkit-border-bottom-left-radius: 5px !important;
|
||||
border-bottom-left-radius: 5px !important;
|
||||
}
|
||||
|
||||
.g-buttonset .ui-corner-right,
|
||||
.ui-progressbar .ui-corner-right {
|
||||
-moz-border-radius-topright: 0;
|
||||
-webkit-border-top-right-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
-moz-border-radius-topleft: 5px !important;
|
||||
-webkit-border-top-left-radius: 5px !important;
|
||||
border-top-left-radius: 5px !important;
|
||||
-moz-border-radius-bottomright: 0;
|
||||
-webkit-border-bottom-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
-moz-border-radius-bottomleft: 5px !important;
|
||||
-webkit-border-bottom-left-radius: 5px !important;
|
||||
border-bottom-left-radius: 5px !important;
|
||||
}
|
||||
|
||||
.g-buttonset .ui-corner-left,
|
||||
.ui-progressbar .ui-corner-left {
|
||||
-moz-border-radius-topleft: 0;
|
||||
-webkit-border-top-left-radius: 0;
|
||||
border-top-left-radius: 0;
|
||||
-moz-border-radius-topright: 5px !important;
|
||||
-webkit-border-top-right-radius: 5px !important;
|
||||
border-top-right-radius: 5px !important;
|
||||
-moz-border-radius-bottomleft: 0;
|
||||
-webkit-border-bottom-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
-moz-border-radius-bottomright: 5px !important;
|
||||
-webkit-border-bottom-right-radius: 5px !important;
|
||||
border-bottom-right-radius: 5px !important;
|
||||
}
|
||||
|
||||
/* RTL Superfish ~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.sf-menu a {
|
||||
border-left: none;
|
||||
border-right:1px solid #<?= $borderColorContent ?>;
|
||||
}
|
||||
|
||||
.sf-menu a.sf-with-ul {
|
||||
padding-left: 2.25em;
|
||||
padding-right: 1em;
|
||||
}
|
||||
|
||||
.sf-sub-indicator {
|
||||
background: url("themeroller/images/ui-icons_<?= $fcDefault ?>_256x240.png") no-repeat -96px -16px; /* 8-bit indexed alpha png. IE6 gets solid image only */
|
||||
left: .75em !important;
|
||||
right: auto;
|
||||
}
|
||||
|
||||
a > .sf-sub-indicator { /* give all except IE6 the correct values */
|
||||
top: .8em;
|
||||
background-position: -10px -100px; /* use translucent arrow for modern browsers*/
|
||||
}
|
||||
/* apply hovers to modern browsers */
|
||||
a:focus > .sf-sub-indicator,
|
||||
a:hover > .sf-sub-indicator,
|
||||
a:active > .sf-sub-indicator,
|
||||
li:hover > a > .sf-sub-indicator,
|
||||
li.sfHover > a > .sf-sub-indicator {
|
||||
background-position: 0 -100px; /* arrow hovers for modern browsers*/
|
||||
}
|
||||
|
||||
/* point right for anchors in subs */
|
||||
.sf-menu ul .sf-sub-indicator { background-position: 0 0; }
|
||||
.sf-menu ul a > .sf-sub-indicator { background-position: -10px 0; }
|
||||
/* apply hovers to modern browsers */
|
||||
.sf-menu ul a:focus > .sf-sub-indicator,
|
||||
.sf-menu ul a:hover > .sf-sub-indicator,
|
||||
.sf-menu ul a:active > .sf-sub-indicator,
|
||||
.sf-menu ul li:hover > a > .sf-sub-indicator,
|
||||
.sf-menu ul li.sfHover > a > .sf-sub-indicator {
|
||||
background-position: 0 0; /* arrow hovers for modern browsers*/
|
||||
}
|
||||
|
||||
.sf-menu li:hover ul,
|
||||
.sf-menu li.sfHover ul {
|
||||
right: 0;
|
||||
left: auto;
|
||||
}
|
||||
|
||||
ul.sf-menu li li:hover ul,
|
||||
ul.sf-menu li li.sfHover ul {
|
||||
right: 12em; /* match ul width */
|
||||
left: auto;
|
||||
}
|
||||
ul.sf-menu li li li:hover ul,
|
||||
ul.sf-menu li li li.sfHover ul {
|
||||
right: 12em; /* match ul width */
|
||||
left: auto;
|
||||
}
|
||||
|
||||
/*** shadows for all but IE6 ***/
|
||||
.sf-shadow ul {
|
||||
background: url('../images/superfish-shadow.png') no-repeat bottom left;
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
-moz-border-radius-topright: 0;
|
||||
-moz-border-radius-bottomleft: 0;
|
||||
-webkit-border-top-right-radius: 0;
|
||||
-webkit-border-bottom-left-radius: 0;
|
||||
-moz-border-radius-topleft: 17px;
|
||||
-moz-border-radius-bottomright: 17px;
|
||||
-webkit-border-top-left-radius: 17px;
|
||||
-webkit-border-bottom-right-radius: 17px;
|
||||
border-top-left-radius: 17px;
|
||||
border-bottom-right-radius: 17px;
|
||||
}
|
||||
|
||||
/* RTL ThemeRoller ~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.ui-dialog .ui-dialog-titlebar {
|
||||
padding: 0.5em 1em 0.3em 0.3em;
|
||||
}
|
||||
|
||||
.ui-dialog .ui-dialog-title {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.ui-dialog .ui-dialog-titlebar-close {
|
||||
left: 0.3em;
|
||||
right: auto;
|
||||
}
|
||||
|
||||
.ui-tabs .ui-tabs-nav li {
|
||||
float: right;
|
||||
}
|
||||
|
||||
#g-content #g-album-grid .g-item,
|
||||
#g-site-theme,
|
||||
#g-admin-theme,
|
||||
.g-selected img,
|
||||
.g-available .g-block img,
|
||||
#g-content #g-photo-stream .g-item,
|
||||
li.g-group,
|
||||
#g-server-add-admin {
|
||||
float: right;
|
||||
}
|
||||
|
||||
#g-admin-graphics .g-available .g-block {
|
||||
float: right;
|
||||
margin-left: 1em;
|
||||
margin-right: 0em;
|
||||
}
|
||||
|
||||
#g-site-admin-menu {
|
||||
left: auto;
|
||||
right: 150px;
|
||||
}
|
||||
|
||||
#g-header #g-login-menu {
|
||||
float: left;
|
||||
}
|
||||
|
||||
#g-header #g-login-menu li {
|
||||
margin-left: 0;
|
||||
padding-left: 0;
|
||||
padding-right: 1.2em;
|
||||
}
|
||||
|
||||
.g-selected img,
|
||||
.g-available .g-block img {
|
||||
margin: 0 0 1em 1em;
|
||||
}
|
||||
|
||||
.g-button {
|
||||
margin: 0 0 0 4px;
|
||||
}
|
||||
|
||||
/* RTL paginator ~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.g-paginator .g-info {
|
||||
width: 35%;
|
||||
}
|
||||
|
||||
.g-paginator .g-text-right {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.g-paginator .ui-icon-seek-end {
|
||||
background-position: -80px -160px;
|
||||
}
|
||||
|
||||
.g-paginator .ui-icon-seek-next {
|
||||
background-position: -48px -160px;
|
||||
}
|
||||
|
||||
.g-paginator .ui-icon-seek-prev {
|
||||
background-position: -32px -160px;
|
||||
}
|
||||
|
||||
.g-paginator .ui-icon-seek-first {
|
||||
background-position: -64px -160px;
|
||||
}
|
||||
|
||||
#g-header #g-login-menu,
|
||||
#g-header #g-quick-search-form {
|
||||
clear: left;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#g-header #g-login-menu li {
|
||||
margin-left: 0;
|
||||
padding-left: 0;
|
||||
padding-right: 1.2em;
|
||||
}
|
||||
|
||||
#g-site-menu {
|
||||
left: auto;
|
||||
right: 240px;
|
||||
}
|
||||
|
||||
#g-view-menu #g-slideshow-link {
|
||||
background-image: url('../images/ico-view-slideshow-rtl.png');
|
||||
}
|
||||
|
||||
#g-sidebar .g-block-content {
|
||||
padding-right: 1em;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
#g-footer #g-credits li {
|
||||
padding-left: 1.2em !important;
|
||||
padding-right: 0;
|
||||
}
|
|
@ -13,7 +13,6 @@
|
|||
* 7) Navigation and menus
|
||||
* 8) jQuery and jQuery UI
|
||||
* 9) Module color overrides
|
||||
* 10) Right-to-left language styles
|
||||
*
|
||||
* @todo Review g-buttonset-vertical
|
||||
*/
|
||||
|
@ -98,7 +97,16 @@ a:hover,
|
|||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* Lists ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
ul.g-text li,
|
||||
.g-text ul li {
|
||||
list-style-type: disc;
|
||||
margin-left: 1em;
|
||||
}
|
||||
|
||||
/* Forms ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
form {
|
||||
margin: 0;
|
||||
}
|
||||
|
@ -415,11 +423,6 @@ th {
|
|||
background-color: #<?= $bgColorContent ?>;
|
||||
}
|
||||
|
||||
ul.enumeration li {
|
||||
list-style-type: disc;
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
/*** ******************************************************************
|
||||
* 3) Page layout containers
|
||||
*********************************************************************/
|
||||
|
@ -1126,303 +1129,3 @@ a > .sf-sub-indicator {
|
|||
.g-default-group .g-user {
|
||||
color: #<?= $fcDefault ?> !important;
|
||||
}
|
||||
|
||||
/** *******************************************************************
|
||||
* 10) Right to left styles
|
||||
*********************************************************************/
|
||||
|
||||
.rtl {
|
||||
direction: rtl;
|
||||
}
|
||||
|
||||
.rtl #g-header,
|
||||
.rtl #g-content,
|
||||
.rtl #g-sidebar,
|
||||
.rtl #g-footer,
|
||||
.rtl caption,
|
||||
.rtl th,
|
||||
.rtl #g-dialog,
|
||||
.rtl .g-context-menu li a,
|
||||
.rtl .g-message-box li,
|
||||
.rtl #g-site-status li {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.rtl .g-text-right {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.rtl .g-error,
|
||||
.rtl .g-info,
|
||||
.rtl .g-success,
|
||||
.rtl .g-warning,
|
||||
.rtl #g-add-photos-status .g-success,
|
||||
.rtl #g-add-photos-status .g-error {
|
||||
background-position: center right;
|
||||
padding-right: 30px !important;
|
||||
}
|
||||
|
||||
.rtl form li.g-error,
|
||||
.rtl form li.g-info,
|
||||
.rtl form li.g-success,
|
||||
.rtl form li.g-warning {
|
||||
padding-right: 0 !important;
|
||||
}
|
||||
|
||||
.rtl .g-left,
|
||||
.rtl .g-inline li,
|
||||
.rtl #g-content #g-album-grid .g-item,
|
||||
.rtl .sf-menu li,
|
||||
.rtl .g-breadcrumbs li,
|
||||
.rtl .g-paginator li,
|
||||
.rtl .g-buttonset li,
|
||||
.rtl .ui-icon-left .ui-icon,
|
||||
.rtl .g-short-form li,
|
||||
.rtl form ul ul li,
|
||||
.rtl input[type="submit"],
|
||||
.rtl input[type="reset"],
|
||||
.rtl input.checkbox,
|
||||
.rtl input[type=checkbox],
|
||||
.rtl input.radio,
|
||||
.rtl input[type=radio] {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.rtl .g-right,
|
||||
.rtl .ui-icon-right .ui-icon {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.rtl .g-inline li {
|
||||
margin-right: 1em;
|
||||
}
|
||||
|
||||
.rtl .g-inline li.g-first {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.rtl .g-breadcrumbs li {
|
||||
background: transparent url('../images/ico-separator-rtl.png') no-repeat scroll right center;
|
||||
padding: 1em 18px 1em 8px;
|
||||
}
|
||||
|
||||
.rtl .g-breadcrumbs .g-first {
|
||||
background: none;
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
.rtl input.checkbox {
|
||||
margin-left: .4em;
|
||||
}
|
||||
|
||||
.rtl #g-add-comment {
|
||||
right: inherit;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.rtl .ui-icon-left .ui-icon {
|
||||
margin-left: .2em;
|
||||
}
|
||||
|
||||
.rtl .ui-icon-right .ui-icon {
|
||||
margin-right: .2em;
|
||||
}
|
||||
|
||||
/* RTL Corner radius ~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
.rtl .g-buttonset .ui-corner-tl {
|
||||
-moz-border-radius-topleft: 0;
|
||||
-webkit-border-top-left-radius: 0;
|
||||
border-top-left-radius: 0;
|
||||
-moz-border-radius-topright: 5px !important;
|
||||
-webkit-border-top-right-radius: 5px !important;
|
||||
border-top-right-radius: 5px !important;
|
||||
}
|
||||
|
||||
.rtl .g-buttonset .ui-corner-tr {
|
||||
-moz-border-radius-topright: 0;
|
||||
-webkit-border-top-right-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
-moz-border-radius-topleft: 5px !important;
|
||||
-webkit-border-top-left-radius: 5px !important;
|
||||
border-top-left-radius: 5px !important;
|
||||
}
|
||||
|
||||
.rtl .g-buttonset .ui-corner-bl {
|
||||
-moz-border-radius-bottomleft: 0;
|
||||
-webkit-border-bottom-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
-moz-border-radius-bottomright: 5px !important;
|
||||
-webkit-border-bottom-right-radius: 5px !important;
|
||||
border-bottom-right-radius: 5px !important;
|
||||
}
|
||||
|
||||
.rtl .g-buttonset .ui-corner-br {
|
||||
-moz-border-radius-bottomright: 0;
|
||||
-webkit-border-bottom-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
-moz-border-radius-bottomleft: 5px !important;
|
||||
-webkit-border-bottom-left-radius: 5px !important;
|
||||
border-bottom-left-radius: 5px !important;
|
||||
}
|
||||
|
||||
.rtl .g-buttonset .ui-corner-right,
|
||||
.rtl .ui-progressbar .ui-corner-right {
|
||||
-moz-border-radius-topright: 0;
|
||||
-webkit-border-top-right-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
-moz-border-radius-topleft: 5px !important;
|
||||
-webkit-border-top-left-radius: 5px !important;
|
||||
border-top-left-radius: 5px !important;
|
||||
-moz-border-radius-bottomright: 0;
|
||||
-webkit-border-bottom-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
-moz-border-radius-bottomleft: 5px !important;
|
||||
-webkit-border-bottom-left-radius: 5px !important;
|
||||
border-bottom-left-radius: 5px !important;
|
||||
}
|
||||
|
||||
.rtl .g-buttonset .ui-corner-left,
|
||||
.rtl .ui-progressbar .ui-corner-left {
|
||||
-moz-border-radius-topleft: 0;
|
||||
-webkit-border-top-left-radius: 0;
|
||||
border-top-left-radius: 0;
|
||||
-moz-border-radius-topright: 5px !important;
|
||||
-webkit-border-top-right-radius: 5px !important;
|
||||
border-top-right-radius: 5px !important;
|
||||
-moz-border-radius-bottomleft: 0;
|
||||
-webkit-border-bottom-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
-moz-border-radius-bottomright: 5px !important;
|
||||
-webkit-border-bottom-right-radius: 5px !important;
|
||||
border-bottom-right-radius: 5px !important;
|
||||
}
|
||||
|
||||
/* RTL Superfish ~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.rtl .sf-menu a {
|
||||
border-left: none;
|
||||
border-right:1px solid #<?= $borderColorContent ?>;
|
||||
}
|
||||
|
||||
.rtl .sf-menu a.sf-with-ul {
|
||||
padding-left: 2.25em;
|
||||
padding-right: 1em;
|
||||
}
|
||||
|
||||
.rtl .sf-sub-indicator {
|
||||
background: url("themeroller/images/ui-icons_<?= $fcDefault ?>_256x240.png") no-repeat -96px -16px; /* 8-bit indexed alpha png. IE6 gets solid image only */
|
||||
left: .75em !important;
|
||||
right: auto;
|
||||
}
|
||||
|
||||
.rtl a > .sf-sub-indicator { /* give all except IE6 the correct values */
|
||||
top: .8em;
|
||||
background-position: -10px -100px; /* use translucent arrow for modern browsers*/
|
||||
}
|
||||
/* apply hovers to modern browsers */
|
||||
.rtl a:focus > .sf-sub-indicator,
|
||||
.rtl a:hover > .sf-sub-indicator,
|
||||
.rtl a:active > .sf-sub-indicator,
|
||||
.rtl li:hover > a > .sf-sub-indicator,
|
||||
.rtl li.sfHover > a > .sf-sub-indicator {
|
||||
background-position: 0 -100px; /* arrow hovers for modern browsers*/
|
||||
}
|
||||
|
||||
/* point right for anchors in subs */
|
||||
.rtl .sf-menu ul .sf-sub-indicator { background-position: 0 0; }
|
||||
.rtl .sf-menu ul a > .sf-sub-indicator { background-position: -10px 0; }
|
||||
/* apply hovers to modern browsers */
|
||||
.rtl .sf-menu ul a:focus > .sf-sub-indicator,
|
||||
.rtl .sf-menu ul a:hover > .sf-sub-indicator,
|
||||
.rtl .sf-menu ul a:active > .sf-sub-indicator,
|
||||
.rtl .sf-menu ul li:hover > a > .sf-sub-indicator,
|
||||
.rtl .sf-menu ul li.sfHover > a > .sf-sub-indicator {
|
||||
background-position: 0 0; /* arrow hovers for modern browsers*/
|
||||
}
|
||||
|
||||
.rtl .sf-menu li:hover ul,
|
||||
.rtl .sf-menu li.sfHover ul {
|
||||
right: 0;
|
||||
left: auto;
|
||||
}
|
||||
|
||||
.rtl ul.sf-menu li li:hover ul,
|
||||
.rtl ul.sf-menu li li.sfHover ul {
|
||||
right: 12em; /* match ul width */
|
||||
left: auto;
|
||||
}
|
||||
.rtl ul.sf-menu li li li:hover ul,
|
||||
.rtl ul.sf-menu li li li.sfHover ul {
|
||||
right: 12em; /* match ul width */
|
||||
left: auto;
|
||||
}
|
||||
|
||||
/*** shadows for all but IE6 ***/
|
||||
.rtl .sf-shadow ul {
|
||||
background: url('../images/superfish-shadow.png') no-repeat bottom left;
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
-moz-border-radius-topright: 0;
|
||||
-moz-border-radius-bottomleft: 0;
|
||||
-webkit-border-top-right-radius: 0;
|
||||
-webkit-border-bottom-left-radius: 0;
|
||||
-moz-border-radius-topleft: 17px;
|
||||
-moz-border-radius-bottomright: 17px;
|
||||
-webkit-border-top-left-radius: 17px;
|
||||
-webkit-border-bottom-right-radius: 17px;
|
||||
border-top-left-radius: 17px;
|
||||
border-bottom-right-radius: 17px;
|
||||
}
|
||||
|
||||
/* RTL ThemeRoller ~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.rtl .ui-dialog .ui-dialog-titlebar {
|
||||
padding: 0.5em 1em 0.3em 0.3em;
|
||||
}
|
||||
|
||||
.rtl .ui-dialog .ui-dialog-title {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.rtl .ui-dialog .ui-dialog-titlebar-close {
|
||||
left: 0.3em;
|
||||
right: auto;
|
||||
}
|
||||
|
||||
.rtl #g-content #g-album-grid .g-item,
|
||||
.rtl #g-site-theme,
|
||||
.rtl #g-admin-theme,
|
||||
.rtl .g-selected img,
|
||||
.rtl .g-available .g-block img,
|
||||
.rtl #g-content #g-photo-stream .g-item,
|
||||
.rtl li.g-group,
|
||||
.rtl #g-server-add-admin {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.rtl #g-admin-graphics .g-available .g-block {
|
||||
float: right;
|
||||
margin-left: 1em;
|
||||
margin-right: 0em;
|
||||
}
|
||||
|
||||
.rtl #g-site-admin-menu {
|
||||
left: auto;
|
||||
right: 150px;
|
||||
}
|
||||
|
||||
.rtl #g-header #g-login-menu {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.rtl #g-header #g-login-menu li {
|
||||
margin-left: 0;
|
||||
padding-left: 0;
|
||||
padding-right: 1.2em;
|
||||
}
|
||||
|
||||
.rtl .g-selected img,
|
||||
.rtl .g-available .g-block img {
|
||||
margin: 0 0 1em 1em;
|
||||
}
|
||||
|
||||
|
|
320
3.0/modules/themeroller/views/site_screen-rtl.css.php
Normal file
|
@ -0,0 +1,320 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.") ?>
|
||||
/**
|
||||
* Gallery 3 <?= $display_name ?> right to left language styles
|
||||
*/
|
||||
|
||||
.rtl {
|
||||
direction: rtl;
|
||||
}
|
||||
|
||||
#g-header,
|
||||
#g-content,
|
||||
#g-sidebar,
|
||||
#g-footer,
|
||||
caption,
|
||||
th,
|
||||
#g-dialog,
|
||||
.g-context-menu li a,
|
||||
.g-message-box li,
|
||||
#g-site-status li {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.g-text-right {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.g-error,
|
||||
.g-info,
|
||||
.g-success,
|
||||
.g-warning,
|
||||
#g-add-photos-status .g-success,
|
||||
#g-add-photos-status .g-error {
|
||||
background-position: center right;
|
||||
padding-right: 30px !important;
|
||||
}
|
||||
|
||||
form li.g-error,
|
||||
form li.g-info,
|
||||
form li.g-success,
|
||||
form li.g-warning {
|
||||
padding-right: 0 !important;
|
||||
}
|
||||
|
||||
.g-left,
|
||||
.g-inline li,
|
||||
#g-content #g-album-grid .g-item,
|
||||
.sf-menu li,
|
||||
.g-breadcrumbs li,
|
||||
.g-paginator li,
|
||||
.g-buttonset li,
|
||||
.ui-icon-left .ui-icon,
|
||||
.g-short-form li,
|
||||
form ul ul li,
|
||||
input[type="submit"],
|
||||
input[type="reset"],
|
||||
input.checkbox,
|
||||
input[type=checkbox],
|
||||
input.radio,
|
||||
input[type=radio] {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.g-right,
|
||||
.ui-icon-right .ui-icon {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.g-inline li {
|
||||
margin-right: 1em;
|
||||
}
|
||||
|
||||
.g-inline li.g-first {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.g-breadcrumbs li {
|
||||
background: transparent url('../images/ico-separator-rtl.png') no-repeat scroll right center;
|
||||
padding: 1em 18px 1em 8px;
|
||||
}
|
||||
|
||||
.g-breadcrumbs .g-first {
|
||||
background: none;
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
input.checkbox {
|
||||
margin-left: .4em;
|
||||
}
|
||||
|
||||
#g-add-comment {
|
||||
right: inherit;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.ui-icon-left .ui-icon {
|
||||
margin-left: .2em;
|
||||
}
|
||||
|
||||
.ui-icon-right .ui-icon {
|
||||
margin-right: .2em;
|
||||
}
|
||||
|
||||
/* RTL Corner radius ~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
.g-buttonset .ui-corner-tl {
|
||||
-moz-border-radius-topleft: 0;
|
||||
-webkit-border-top-left-radius: 0;
|
||||
border-top-left-radius: 0;
|
||||
-moz-border-radius-topright: 5px !important;
|
||||
-webkit-border-top-right-radius: 5px !important;
|
||||
border-top-right-radius: 5px !important;
|
||||
}
|
||||
|
||||
.g-buttonset .ui-corner-tr {
|
||||
-moz-border-radius-topright: 0;
|
||||
-webkit-border-top-right-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
-moz-border-radius-topleft: 5px !important;
|
||||
-webkit-border-top-left-radius: 5px !important;
|
||||
border-top-left-radius: 5px !important;
|
||||
}
|
||||
|
||||
.g-buttonset .ui-corner-bl {
|
||||
-moz-border-radius-bottomleft: 0;
|
||||
-webkit-border-bottom-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
-moz-border-radius-bottomright: 5px !important;
|
||||
-webkit-border-bottom-right-radius: 5px !important;
|
||||
border-bottom-right-radius: 5px !important;
|
||||
}
|
||||
|
||||
.g-buttonset .ui-corner-br {
|
||||
-moz-border-radius-bottomright: 0;
|
||||
-webkit-border-bottom-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
-moz-border-radius-bottomleft: 5px !important;
|
||||
-webkit-border-bottom-left-radius: 5px !important;
|
||||
border-bottom-left-radius: 5px !important;
|
||||
}
|
||||
|
||||
.g-buttonset .ui-corner-right,
|
||||
.ui-progressbar .ui-corner-right {
|
||||
-moz-border-radius-topright: 0;
|
||||
-webkit-border-top-right-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
-moz-border-radius-topleft: 5px !important;
|
||||
-webkit-border-top-left-radius: 5px !important;
|
||||
border-top-left-radius: 5px !important;
|
||||
-moz-border-radius-bottomright: 0;
|
||||
-webkit-border-bottom-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
-moz-border-radius-bottomleft: 5px !important;
|
||||
-webkit-border-bottom-left-radius: 5px !important;
|
||||
border-bottom-left-radius: 5px !important;
|
||||
}
|
||||
|
||||
.g-buttonset .ui-corner-left,
|
||||
.ui-progressbar .ui-corner-left {
|
||||
-moz-border-radius-topleft: 0;
|
||||
-webkit-border-top-left-radius: 0;
|
||||
border-top-left-radius: 0;
|
||||
-moz-border-radius-topright: 5px !important;
|
||||
-webkit-border-top-right-radius: 5px !important;
|
||||
border-top-right-radius: 5px !important;
|
||||
-moz-border-radius-bottomleft: 0;
|
||||
-webkit-border-bottom-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
-moz-border-radius-bottomright: 5px !important;
|
||||
-webkit-border-bottom-right-radius: 5px !important;
|
||||
border-bottom-right-radius: 5px !important;
|
||||
}
|
||||
|
||||
/* RTL Superfish ~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.sf-menu a {
|
||||
border-left: none;
|
||||
border-right:1px solid #<?= $borderColorHighlight ?>;
|
||||
}
|
||||
|
||||
.sf-menu a.sf-with-ul {
|
||||
padding-left: 2.25em;
|
||||
padding-right: 1em;
|
||||
}
|
||||
|
||||
.sf-sub-indicator {
|
||||
left: .75em !important;
|
||||
right: auto;
|
||||
background: url("themeroller/images/ui-icons_<?= $iconColorHighlight ?>_256x240.png") no-repeat -10px -100px; /* 8-bit indexed alpha png. IE6 gets solid image only */
|
||||
}
|
||||
|
||||
a > .sf-sub-indicator { /* give all except IE6 the correct values */
|
||||
top: .8em;
|
||||
background-position: -10px -100px; /* use translucent arrow for modern browsers*/
|
||||
}
|
||||
/* apply hovers to modern browsers */
|
||||
a:focus > .sf-sub-indicator,
|
||||
a:hover > .sf-sub-indicator,
|
||||
a:active > .sf-sub-indicator,
|
||||
li:hover > a > .sf-sub-indicator,
|
||||
li.sfHover > a > .sf-sub-indicator {
|
||||
background-position: 0 -100px; /* arrow hovers for modern browsers*/
|
||||
}
|
||||
|
||||
/* point right for anchors in subs */
|
||||
.sf-menu ul .sf-sub-indicator { background-position: 0 0; }
|
||||
.sf-menu ul a > .sf-sub-indicator { background-position: -10px 0; }
|
||||
/* apply hovers to modern browsers */
|
||||
.sf-menu ul a:focus > .sf-sub-indicator,
|
||||
.sf-menu ul a:hover > .sf-sub-indicator,
|
||||
.sf-menu ul a:active > .sf-sub-indicator,
|
||||
.sf-menu ul li:hover > a > .sf-sub-indicator,
|
||||
.sf-menu ul li.sfHover > a > .sf-sub-indicator {
|
||||
background-position: 0 0; /* arrow hovers for modern browsers*/
|
||||
}
|
||||
|
||||
.sf-menu li:hover ul,
|
||||
.sf-menu li.sfHover ul {
|
||||
right: 0;
|
||||
left: auto;
|
||||
}
|
||||
|
||||
ul.sf-menu li li:hover ul,
|
||||
ul.sf-menu li li.sfHover ul {
|
||||
right: 12em; /* match ul width */
|
||||
left: auto;
|
||||
}
|
||||
ul.sf-menu li li li:hover ul,
|
||||
ul.sf-menu li li li.sfHover ul {
|
||||
right: 12em; /* match ul width */
|
||||
left: auto;
|
||||
}
|
||||
|
||||
/*** shadows for all but IE6 ***/
|
||||
.sf-shadow ul {
|
||||
background: url('../../../lib/superfish/images/shadow.png') no-repeat bottom left;
|
||||
padding: 0 0 9px 8px;
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
-moz-border-radius-topright: 0;
|
||||
-moz-border-radius-bottomleft: 0;
|
||||
-webkit-border-top-right-radius: 0;
|
||||
-webkit-border-bottom-left-radius: 0;
|
||||
-moz-border-radius-topleft: 17px;
|
||||
-moz-border-radius-bottomright: 17px;
|
||||
-webkit-border-top-left-radius: 17px;
|
||||
-webkit-border-bottom-right-radius: 17px;
|
||||
border-top-left-radius: 17px;
|
||||
border-bottom-right-radius: 17px;
|
||||
}
|
||||
|
||||
/* RTL ThemeRoller ~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.ui-dialog .ui-dialog-titlebar {
|
||||
padding: 0.5em 1em 0.3em 0.3em;
|
||||
}
|
||||
|
||||
.ui-dialog .ui-dialog-title {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.ui-dialog .ui-dialog-titlebar-close {
|
||||
left: 0.3em;
|
||||
right: auto;
|
||||
}
|
||||
|
||||
/* RTL paginator ~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.g-paginator .g-info {
|
||||
width: 35%;
|
||||
}
|
||||
|
||||
.g-paginator .g-text-right {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.g-paginator .ui-icon-seek-end {
|
||||
background-position: -80px -160px;
|
||||
}
|
||||
|
||||
.g-paginator .ui-icon-seek-next {
|
||||
background-position: -48px -160px;
|
||||
}
|
||||
|
||||
.g-paginator .ui-icon-seek-prev {
|
||||
background-position: -32px -160px;
|
||||
}
|
||||
|
||||
.g-paginator .ui-icon-seek-first {
|
||||
background-position: -64px -160px;
|
||||
}
|
||||
|
||||
#g-header #g-login-menu,
|
||||
#g-header #g-quick-search-form {
|
||||
clear: left;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#g-header #g-login-menu li {
|
||||
margin-left: 0;
|
||||
padding-left: 0;
|
||||
padding-right: 1.2em;
|
||||
}
|
||||
|
||||
#g-site-menu {
|
||||
left: auto;
|
||||
right: 150px;
|
||||
}
|
||||
|
||||
#g-view-menu #g-slideshow-link {
|
||||
background-image: url('../images/ico-view-slideshow-rtl.png');
|
||||
}
|
||||
|
||||
#g-sidebar .g-block-content {
|
||||
padding-right: 1em;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
#g-footer #g-credits li {
|
||||
padding-left: 1.2em !important;
|
||||
padding-right: 0;
|
||||
}
|
|
@ -15,7 +15,6 @@
|
|||
* 8) jQuery and jQuery UI
|
||||
* 9) Organize module style
|
||||
* 10) Tag module styles
|
||||
* 11) Right-to-left language styles
|
||||
*/
|
||||
|
||||
/** *******************************************************************
|
||||
|
@ -1217,323 +1216,3 @@ div#g-action-status {
|
|||
color: #f30;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
/** *******************************************************************
|
||||
* 11) Right to left language styles
|
||||
*********************************************************************/
|
||||
|
||||
.rtl {
|
||||
direction: rtl;
|
||||
}
|
||||
|
||||
.rtl #g-header,
|
||||
.rtl #g-content,
|
||||
.rtl #g-sidebar,
|
||||
.rtl #g-footer,
|
||||
.rtl caption,
|
||||
.rtl th,
|
||||
.rtl #g-dialog,
|
||||
.rtl .g-context-menu li a,
|
||||
.rtl .g-message-box li,
|
||||
.rtl #g-site-status li {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.rtl .g-text-right {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.rtl .g-error,
|
||||
.rtl .g-info,
|
||||
.rtl .g-success,
|
||||
.rtl .g-warning,
|
||||
.rtl #g-add-photos-status .g-success,
|
||||
.rtl #g-add-photos-status .g-error {
|
||||
background-position: center right;
|
||||
padding-right: 30px !important;
|
||||
}
|
||||
|
||||
.rtl form li.g-error,
|
||||
.rtl form li.g-info,
|
||||
.rtl form li.g-success,
|
||||
.rtl form li.g-warning {
|
||||
padding-right: 0 !important;
|
||||
}
|
||||
|
||||
.rtl .g-left,
|
||||
.rtl .g-inline li,
|
||||
.rtl #g-content #g-album-grid .g-item,
|
||||
.rtl .sf-menu li,
|
||||
.rtl .g-breadcrumbs li,
|
||||
.rtl .g-paginator li,
|
||||
.rtl .g-buttonset li,
|
||||
.rtl .ui-icon-left .ui-icon,
|
||||
.rtl .g-short-form li,
|
||||
.rtl form ul ul li,
|
||||
.rtl input[type="submit"],
|
||||
.rtl input[type="reset"],
|
||||
.rtl input.checkbox,
|
||||
.rtl input[type=checkbox],
|
||||
.rtl input.radio,
|
||||
.rtl input[type=radio] {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.rtl .g-right,
|
||||
.rtl .ui-icon-right .ui-icon {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.rtl .g-inline li {
|
||||
margin-right: 1em;
|
||||
}
|
||||
|
||||
.rtl .g-inline li.g-first {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.rtl .g-breadcrumbs li {
|
||||
background: transparent url('../images/ico-separator-rtl.png') no-repeat scroll right center;
|
||||
padding: 1em 18px 1em 8px;
|
||||
}
|
||||
|
||||
.rtl .g-breadcrumbs .g-first {
|
||||
background: none;
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
.rtl input.checkbox {
|
||||
margin-left: .4em;
|
||||
}
|
||||
|
||||
.rtl #g-add-comment {
|
||||
right: inherit;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.rtl .ui-icon-left .ui-icon {
|
||||
margin-left: .2em;
|
||||
}
|
||||
|
||||
.rtl .ui-icon-right .ui-icon {
|
||||
margin-right: .2em;
|
||||
}
|
||||
|
||||
/* RTL Corner radius ~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
.rtl .g-buttonset .ui-corner-tl {
|
||||
-moz-border-radius-topleft: 0;
|
||||
-webkit-border-top-left-radius: 0;
|
||||
border-top-left-radius: 0;
|
||||
-moz-border-radius-topright: 5px !important;
|
||||
-webkit-border-top-right-radius: 5px !important;
|
||||
border-top-right-radius: 5px !important;
|
||||
}
|
||||
|
||||
.rtl .g-buttonset .ui-corner-tr {
|
||||
-moz-border-radius-topright: 0;
|
||||
-webkit-border-top-right-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
-moz-border-radius-topleft: 5px !important;
|
||||
-webkit-border-top-left-radius: 5px !important;
|
||||
border-top-left-radius: 5px !important;
|
||||
}
|
||||
|
||||
.rtl .g-buttonset .ui-corner-bl {
|
||||
-moz-border-radius-bottomleft: 0;
|
||||
-webkit-border-bottom-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
-moz-border-radius-bottomright: 5px !important;
|
||||
-webkit-border-bottom-right-radius: 5px !important;
|
||||
border-bottom-right-radius: 5px !important;
|
||||
}
|
||||
|
||||
.rtl .g-buttonset .ui-corner-br {
|
||||
-moz-border-radius-bottomright: 0;
|
||||
-webkit-border-bottom-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
-moz-border-radius-bottomleft: 5px !important;
|
||||
-webkit-border-bottom-left-radius: 5px !important;
|
||||
border-bottom-left-radius: 5px !important;
|
||||
}
|
||||
|
||||
.rtl .g-buttonset .ui-corner-right,
|
||||
.rtl .ui-progressbar .ui-corner-right {
|
||||
-moz-border-radius-topright: 0;
|
||||
-webkit-border-top-right-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
-moz-border-radius-topleft: 5px !important;
|
||||
-webkit-border-top-left-radius: 5px !important;
|
||||
border-top-left-radius: 5px !important;
|
||||
-moz-border-radius-bottomright: 0;
|
||||
-webkit-border-bottom-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
-moz-border-radius-bottomleft: 5px !important;
|
||||
-webkit-border-bottom-left-radius: 5px !important;
|
||||
border-bottom-left-radius: 5px !important;
|
||||
}
|
||||
|
||||
.rtl .g-buttonset .ui-corner-left,
|
||||
.rtl .ui-progressbar .ui-corner-left {
|
||||
-moz-border-radius-topleft: 0;
|
||||
-webkit-border-top-left-radius: 0;
|
||||
border-top-left-radius: 0;
|
||||
-moz-border-radius-topright: 5px !important;
|
||||
-webkit-border-top-right-radius: 5px !important;
|
||||
border-top-right-radius: 5px !important;
|
||||
-moz-border-radius-bottomleft: 0;
|
||||
-webkit-border-bottom-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
-moz-border-radius-bottomright: 5px !important;
|
||||
-webkit-border-bottom-right-radius: 5px !important;
|
||||
border-bottom-right-radius: 5px !important;
|
||||
}
|
||||
|
||||
/* RTL Superfish ~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.rtl .sf-menu a {
|
||||
border-left: none;
|
||||
border-right:1px solid #<?= $borderColorHighlight ?>;
|
||||
}
|
||||
|
||||
.rtl .sf-menu a.sf-with-ul {
|
||||
padding-left: 2.25em;
|
||||
padding-right: 1em;
|
||||
}
|
||||
|
||||
.rtl .sf-sub-indicator {
|
||||
left: .75em !important;
|
||||
right: auto;
|
||||
background: url("themeroller/images/ui-icons_<?= $iconColorHighlight ?>_256x240.png") no-repeat -10px -100px; /* 8-bit indexed alpha png. IE6 gets solid image only */
|
||||
}
|
||||
|
||||
.rtl a > .sf-sub-indicator { /* give all except IE6 the correct values */
|
||||
top: .8em;
|
||||
background-position: -10px -100px; /* use translucent arrow for modern browsers*/
|
||||
}
|
||||
/* apply hovers to modern browsers */
|
||||
.rtl a:focus > .sf-sub-indicator,
|
||||
.rtl a:hover > .sf-sub-indicator,
|
||||
.rtl a:active > .sf-sub-indicator,
|
||||
.rtl li:hover > a > .sf-sub-indicator,
|
||||
.rtl li.sfHover > a > .sf-sub-indicator {
|
||||
background-position: 0 -100px; /* arrow hovers for modern browsers*/
|
||||
}
|
||||
|
||||
/* point right for anchors in subs */
|
||||
.rtl .sf-menu ul .sf-sub-indicator { background-position: 0 0; }
|
||||
.rtl .sf-menu ul a > .sf-sub-indicator { background-position: -10px 0; }
|
||||
/* apply hovers to modern browsers */
|
||||
.rtl .sf-menu ul a:focus > .sf-sub-indicator,
|
||||
.rtl .sf-menu ul a:hover > .sf-sub-indicator,
|
||||
.rtl .sf-menu ul a:active > .sf-sub-indicator,
|
||||
.rtl .sf-menu ul li:hover > a > .sf-sub-indicator,
|
||||
.rtl .sf-menu ul li.sfHover > a > .sf-sub-indicator {
|
||||
background-position: 0 0; /* arrow hovers for modern browsers*/
|
||||
}
|
||||
|
||||
.rtl .sf-menu li:hover ul,
|
||||
.rtl .sf-menu li.sfHover ul {
|
||||
right: 0;
|
||||
left: auto;
|
||||
}
|
||||
|
||||
.rtl ul.sf-menu li li:hover ul,
|
||||
.rtl ul.sf-menu li li.sfHover ul {
|
||||
right: 12em; /* match ul width */
|
||||
left: auto;
|
||||
}
|
||||
.rtl ul.sf-menu li li li:hover ul,
|
||||
.rtl ul.sf-menu li li li.sfHover ul {
|
||||
right: 12em; /* match ul width */
|
||||
left: auto;
|
||||
}
|
||||
|
||||
/*** shadows for all but IE6 ***/
|
||||
.rtl .sf-shadow ul {
|
||||
background: url('../../../lib/superfish/images/shadow.png') no-repeat bottom left;
|
||||
padding: 0 0 9px 8px;
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
-moz-border-radius-topright: 0;
|
||||
-moz-border-radius-bottomleft: 0;
|
||||
-webkit-border-top-right-radius: 0;
|
||||
-webkit-border-bottom-left-radius: 0;
|
||||
-moz-border-radius-topleft: 17px;
|
||||
-moz-border-radius-bottomright: 17px;
|
||||
-webkit-border-top-left-radius: 17px;
|
||||
-webkit-border-bottom-right-radius: 17px;
|
||||
border-top-left-radius: 17px;
|
||||
border-bottom-right-radius: 17px;
|
||||
}
|
||||
|
||||
/* RTL ThemeRoller ~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.rtl .ui-dialog .ui-dialog-titlebar {
|
||||
padding: 0.5em 1em 0.3em 0.3em;
|
||||
}
|
||||
|
||||
.rtl .ui-dialog .ui-dialog-title {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.rtl .ui-dialog .ui-dialog-titlebar-close {
|
||||
left: 0.3em;
|
||||
right: auto;
|
||||
}
|
||||
|
||||
/* RTL paginator ~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.rtl .g-paginator .g-info {
|
||||
width: 35%;
|
||||
}
|
||||
|
||||
.rtl .g-paginator .g-text-right {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.rtl .g-paginator .ui-icon-seek-end {
|
||||
background-position: -80px -160px;
|
||||
}
|
||||
|
||||
.rtl .g-paginator .ui-icon-seek-next {
|
||||
background-position: -48px -160px;
|
||||
}
|
||||
|
||||
.rtl .g-paginator .ui-icon-seek-prev {
|
||||
background-position: -32px -160px;
|
||||
}
|
||||
|
||||
.rtl .g-paginator .ui-icon-seek-first {
|
||||
background-position: -64px -160px;
|
||||
}
|
||||
|
||||
.rtl #g-header #g-login-menu,
|
||||
.rtl #g-header #g-quick-search-form {
|
||||
clear: left;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.rtl #g-header #g-login-menu li {
|
||||
margin-left: 0;
|
||||
padding-left: 0;
|
||||
padding-right: 1.2em;
|
||||
}
|
||||
|
||||
.rtl #g-site-menu {
|
||||
left: auto;
|
||||
right: 150px;
|
||||
}
|
||||
|
||||
.rtl #g-view-menu #g-slideshow-link {
|
||||
background-image: url('../images/ico-view-slideshow-rtl.png');
|
||||
}
|
||||
|
||||
.rtl #g-sidebar .g-block-content {
|
||||
padding-right: 1em;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.rtl #g-footer #g-credits li {
|
||||
padding-left: 1.2em !important;
|
||||
padding-right: 0;
|
||||
}
|
||||
|
|
|
@ -1,9 +1,12 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.") ?>
|
||||
name = "<?= $display_name ?>"
|
||||
description = "<?= $description ?>"
|
||||
name = <?= $display_name->for_js() . "\n" ?>
|
||||
description = <?= $description->for_js() . "\n" ?>
|
||||
version = 1
|
||||
author = "<?= $user_name ?>"
|
||||
site = "<?= !$is_admin ? 1 : 0?>"
|
||||
admin = "<?= $is_admin ? 1 : 0?>"
|
||||
author = <?= $user_name->for_js() . "\n" ?>
|
||||
site = <?= (!$is_admin ? 1 : 0) . "\n"?>
|
||||
admin = <?= ($is_admin ? 1 : 0) . "\n"?>
|
||||
author_url = <?= $user_name->for_js() . "\n" ?>
|
||||
info_url = <?= $info_url->for_js() . "\n" ?>
|
||||
discuss_url = <?= $discuss_url->for_js() . "\n" ?>
|
||||
; definition = <?= $definition ?>
|
||||
|
||||
|
|
7
3.0/modules/win_platform/module.info
Normal file
|
@ -0,0 +1,7 @@
|
|||
name = "Win Platform"
|
||||
description = "An alternate version of Gallery's admin dashboard platform information block for unsupported configurations."
|
||||
version = 1
|
||||
author_name = "rWatcher"
|
||||
author_url = "http://codex.gallery2.org/User:RWatcher"
|
||||
info_url = "http://codex.gallery2.org/Gallery3:Modules:win_platform"
|
||||
discuss_url = "http://gallery.menalto.com/node/102809"
|
28
3.0/modules/win_platform/views/admin_block_platform.html.php
Normal file
|
@ -0,0 +1,28 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.") ?>
|
||||
<ul>
|
||||
<li>
|
||||
<?= t("Host name: %host_name", array("host_name" => php_uname("n"))) ?>
|
||||
</li>
|
||||
<li>
|
||||
<?= t("Operating system: %os %version", array("os" => php_uname("s"), "version" => php_uname("r"))) ?>
|
||||
</li>
|
||||
<li>
|
||||
<?php if (function_exists("apache_get_version")): ?>
|
||||
<?= t("Apache: %apache_version", array("apache_version" => function_exists("apache_get_version") ? apache_get_version() : t("Unknown"))) ?>
|
||||
<?php else: ?>
|
||||
<?= t("Server software: %apache_version", array("apache_version" => getenv("SERVER_SOFTWARE") != "" ? getenv("SERVER_SOFTWARE") : t("Unknown"))) ?>
|
||||
<?php endif; ?>
|
||||
</li>
|
||||
<li>
|
||||
<?= t("PHP: %php_version", array("php_version" => phpversion())) ?>
|
||||
</li>
|
||||
<li>
|
||||
<?= t("MySQL: %mysql_version", array("mysql_version" => Database::instance()->query("SELECT version() as v")->current()->v)) ?>
|
||||
</li>
|
||||
<li>
|
||||
<?= t("Server load: %load_average", array("load_average" => function_exists("sys_getloadavg") ? sys_getloadavg() : t("Unknown"))) ?>
|
||||
</li>
|
||||
<li>
|
||||
<?= t("Graphics toolkit: %toolkit", array("toolkit" => module::get_var("gallery", "graphics_toolkit"))) ?>
|
||||
</li>
|
||||
</ul>
|
401
3.0/themes/browny_admin_wind/css/screen-rtl.css
Normal file
|
@ -0,0 +1,401 @@
|
|||
/**
|
||||
* Gallery 3 Browny Admin Wind Theme Right-to-Left Screen Styles
|
||||
*/
|
||||
|
||||
.rtl {
|
||||
direction: rtl;
|
||||
}
|
||||
|
||||
#g-header,
|
||||
#g-content,
|
||||
#g-sidebar,
|
||||
#g-footer,
|
||||
caption,
|
||||
th,
|
||||
#g-dialog,
|
||||
.g-context-menu li a,
|
||||
.g-message-box li,
|
||||
#g-site-status li {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.g-text-right {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
/* Lists ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.g-text li,
|
||||
.g-text li {
|
||||
margin-left: 0;
|
||||
margin-right: 1em;
|
||||
}
|
||||
|
||||
/* Messages ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.g-error,
|
||||
.g-info,
|
||||
.g-success,
|
||||
.g-warning,
|
||||
#g-add-photos-status .g-success,
|
||||
#g-add-photos-status .g-error {
|
||||
background-position: center right;
|
||||
padding-right: 30px !important;
|
||||
}
|
||||
|
||||
form li.g-error,
|
||||
form li.g-info,
|
||||
form li.g-success,
|
||||
form li.g-warning {
|
||||
padding-right: 0 !important;
|
||||
}
|
||||
|
||||
.g-left,
|
||||
.g-inline li,
|
||||
#g-content #g-album-grid .g-item,
|
||||
.sf-menu li,
|
||||
.g-breadcrumbs li,
|
||||
.g-paginator li,
|
||||
.g-buttonset li,
|
||||
.ui-icon-left .ui-icon,
|
||||
.g-short-form li,
|
||||
form ul ul li,
|
||||
input[type="submit"],
|
||||
input[type="reset"],
|
||||
input.checkbox,
|
||||
input[type=checkbox],
|
||||
input.radio,
|
||||
input[type=radio] {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.g-right,
|
||||
.ui-icon-right .ui-icon {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.g-inline li {
|
||||
margin-right: 1em;
|
||||
}
|
||||
|
||||
.g-inline li.g-first {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.g-breadcrumbs li {
|
||||
background: transparent url('../images/ico-separator-rtl.gif') no-repeat scroll right center;
|
||||
padding: 1em 18px 1em 8px;
|
||||
}
|
||||
|
||||
.g-breadcrumbs .g-first {
|
||||
background: none;
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
input.checkbox,
|
||||
input[type="checkbox"],
|
||||
input.radio,
|
||||
input[type="radio"] {
|
||||
margin-right: 0;
|
||||
margin-left: .4em;
|
||||
}
|
||||
|
||||
#g-add-comment {
|
||||
right: inherit;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.ui-icon-left .ui-icon {
|
||||
margin-left: .2em;
|
||||
}
|
||||
|
||||
.ui-icon-right .ui-icon {
|
||||
margin-right: .2em;
|
||||
}
|
||||
|
||||
.g-group h4 {
|
||||
padding: .5em .5em .5em 0;
|
||||
}
|
||||
|
||||
.g-group .g-user {
|
||||
padding: .2em .5em 0 0;
|
||||
}
|
||||
|
||||
/* RTL Corner radius ~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.g-buttonset .ui-corner-tl {
|
||||
-moz-border-radius-topleft: 0;
|
||||
-webkit-border-top-left-radius: 0;
|
||||
border-top-left-radius: 0;
|
||||
-moz-border-radius-topright: 5px !important;
|
||||
-webkit-border-top-right-radius: 5px !important;
|
||||
border-top-right-radius: 5px !important;
|
||||
}
|
||||
|
||||
.g-buttonset .ui-corner-tr {
|
||||
-moz-border-radius-topright: 0;
|
||||
-webkit-border-top-right-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
-moz-border-radius-topleft: 5px !important;
|
||||
-webkit-border-top-left-radius: 5px !important;
|
||||
border-top-left-radius: 5px !important;
|
||||
}
|
||||
|
||||
.g-buttonset .ui-corner-bl {
|
||||
-moz-border-radius-bottomleft: 0;
|
||||
-webkit-border-bottom-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
-moz-border-radius-bottomright: 5px !important;
|
||||
-webkit-border-bottom-right-radius: 5px !important;
|
||||
border-bottom-right-radius: 5px !important;
|
||||
}
|
||||
|
||||
.g-buttonset .ui-corner-br {
|
||||
-moz-border-radius-bottomright: 0;
|
||||
-webkit-border-bottom-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
-moz-border-radius-bottomleft: 5px !important;
|
||||
-webkit-border-bottom-left-radius: 5px !important;
|
||||
border-bottom-left-radius: 5px !important;
|
||||
}
|
||||
|
||||
.g-buttonset .ui-corner-right,
|
||||
.ui-progressbar .ui-corner-right {
|
||||
-moz-border-radius-topright: 0;
|
||||
-webkit-border-top-right-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
-moz-border-radius-topleft: 5px !important;
|
||||
-webkit-border-top-left-radius: 5px !important;
|
||||
border-top-left-radius: 5px !important;
|
||||
-moz-border-radius-bottomright: 0;
|
||||
-webkit-border-bottom-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
-moz-border-radius-bottomleft: 5px !important;
|
||||
-webkit-border-bottom-left-radius: 5px !important;
|
||||
border-bottom-left-radius: 5px !important;
|
||||
}
|
||||
|
||||
.g-buttonset .ui-corner-left,
|
||||
.ui-progressbar .ui-corner-left {
|
||||
-moz-border-radius-topleft: 0;
|
||||
-webkit-border-top-left-radius: 0;
|
||||
border-top-left-radius: 0;
|
||||
-moz-border-radius-topright: 5px !important;
|
||||
-webkit-border-top-right-radius: 5px !important;
|
||||
border-top-right-radius: 5px !important;
|
||||
-moz-border-radius-bottomleft: 0;
|
||||
-webkit-border-bottom-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
-moz-border-radius-bottomright: 5px !important;
|
||||
-webkit-border-bottom-right-radius: 5px !important;
|
||||
border-bottom-right-radius: 5px !important;
|
||||
}
|
||||
|
||||
/* RTL Superfish ~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.sf-menu a {
|
||||
border-left: none;
|
||||
border-right:1px solid #fff;
|
||||
}
|
||||
|
||||
.sf-menu a.sf-with-ul {
|
||||
padding-left: 2.25em;
|
||||
padding-right: 1em;
|
||||
}
|
||||
|
||||
.sf-sub-indicator {
|
||||
left: .75em !important;
|
||||
right: auto;
|
||||
background: url('../../../lib/superfish/images/arrows-ffffff-rtl.png') no-repeat -10px -100px;
|
||||
}
|
||||
|
||||
a > .sf-sub-indicator {
|
||||
top: .8em;
|
||||
background-position: -10px -100px;
|
||||
}
|
||||
|
||||
a:focus > .sf-sub-indicator,
|
||||
a:hover > .sf-sub-indicator,
|
||||
a:active > .sf-sub-indicator,
|
||||
li:hover > a > .sf-sub-indicator,
|
||||
li.sfHover > a > .sf-sub-indicator {
|
||||
background-position: 0 -100px;
|
||||
}
|
||||
|
||||
.sf-menu ul .sf-sub-indicator {
|
||||
background-position: 0 0;
|
||||
}
|
||||
|
||||
.sf-menu ul a > .sf-sub-indicator {
|
||||
background-position: -10px 0;
|
||||
}
|
||||
|
||||
.sf-menu ul a:focus > .sf-sub-indicator,
|
||||
.sf-menu ul a:hover > .sf-sub-indicator,
|
||||
.sf-menu ul a:active > .sf-sub-indicator,
|
||||
.sf-menu ul li:hover > a > .sf-sub-indicator,
|
||||
.sf-menu ul li.sfHover > a > .sf-sub-indicator {
|
||||
background-position: 0 0;
|
||||
}
|
||||
|
||||
.sf-menu li:hover ul,
|
||||
.sf-menu li.sfHover ul {
|
||||
right: 0;
|
||||
left: auto;
|
||||
}
|
||||
|
||||
ul.sf-menu li li:hover ul,
|
||||
ul.sf-menu li li.sfHover ul {
|
||||
right: 12em;
|
||||
left: auto;
|
||||
}
|
||||
ul.sf-menu li li li:hover ul,
|
||||
ul.sf-menu li li li.sfHover ul {
|
||||
right: 12em;
|
||||
left: auto;
|
||||
}
|
||||
|
||||
.sf-shadow ul {
|
||||
background: url('../../../lib/superfish/images/shadow.png') no-repeat bottom left;
|
||||
padding: 0 0 9px 8px;
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
-moz-border-radius-topright: 0;
|
||||
-moz-border-radius-bottomleft: 0;
|
||||
-webkit-border-top-right-radius: 0;
|
||||
-webkit-border-bottom-left-radius: 0;
|
||||
-moz-border-radius-topleft: 17px;
|
||||
-moz-border-radius-bottomright: 17px;
|
||||
-webkit-border-top-left-radius: 17px;
|
||||
-webkit-border-bottom-right-radius: 17px;
|
||||
border-top-left-radius: 17px;
|
||||
border-bottom-right-radius: 17px;
|
||||
}
|
||||
|
||||
/* RTL ThemeRoller ~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.ui-dialog .ui-dialog-titlebar {
|
||||
padding: 0.5em 1em 0.3em 0.3em;
|
||||
}
|
||||
|
||||
.ui-dialog .ui-dialog-title {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.ui-dialog .ui-dialog-titlebar-close {
|
||||
left: 0.3em;
|
||||
right: auto;
|
||||
}
|
||||
|
||||
.ui-tabs .ui-tabs-nav li {
|
||||
float: right;
|
||||
}
|
||||
|
||||
#g-content #g-album-grid .g-item,
|
||||
#g-site-theme,
|
||||
#g-admin-theme,
|
||||
.g-selected img,
|
||||
.g-available .g-block img,
|
||||
#g-content #g-photo-stream .g-item,
|
||||
li.g-group,
|
||||
#g-server-add-admin {
|
||||
float: right;
|
||||
}
|
||||
|
||||
#g-site-theme {
|
||||
margin-right: 0;
|
||||
margin-left: 1em;
|
||||
}
|
||||
|
||||
#g-admin-graphics .g-available .g-block {
|
||||
float: right;
|
||||
margin-left: 1em;
|
||||
margin-right: 0em;
|
||||
}
|
||||
|
||||
#g-site-admin-menu {
|
||||
left: auto;
|
||||
right: 240px;
|
||||
}
|
||||
|
||||
#g-header #g-login-menu {
|
||||
float: left;
|
||||
}
|
||||
|
||||
#g-header #g-login-menu li {
|
||||
margin-left: 0;
|
||||
padding-left: 0;
|
||||
padding-right: 1.2em;
|
||||
}
|
||||
|
||||
|
||||
#g-sidebar .g-block-content {
|
||||
padding-left: 0em;
|
||||
padding-right: 1em;
|
||||
}
|
||||
|
||||
.g-selected img,
|
||||
.g-available .g-block img {
|
||||
margin: 0 0 1em 1em;
|
||||
}
|
||||
|
||||
.g-button {
|
||||
margin: 0 0 0 4px;
|
||||
}
|
||||
|
||||
/* RTL paginator ~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.g-paginator .g-info {
|
||||
width: 35%;
|
||||
}
|
||||
|
||||
.g-paginator .g-text-right {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.g-paginator .ui-icon-seek-end {
|
||||
background-position: -80px -160px;
|
||||
}
|
||||
|
||||
.g-paginator .ui-icon-seek-next {
|
||||
background-position: -48px -160px;
|
||||
}
|
||||
|
||||
.g-paginator .ui-icon-seek-prev {
|
||||
background-position: -32px -160px;
|
||||
}
|
||||
|
||||
.g-paginator .ui-icon-seek-first {
|
||||
background-position: -64px -160px;
|
||||
}
|
||||
|
||||
#g-header #g-login-menu,
|
||||
#g-header #g-quick-search-form {
|
||||
clear: left;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#g-header #g-login-menu li {
|
||||
margin-left: 0;
|
||||
padding-left: 0;
|
||||
padding-right: 1.2em;
|
||||
}
|
||||
|
||||
#g-site-menu {
|
||||
left: auto;
|
||||
right: 240px;
|
||||
}
|
||||
|
||||
#g-view-menu #g-slideshow-link {
|
||||
background-image: url('../images/ico-view-slideshow-rtl.png');
|
||||
}
|
||||
|
||||
#g-sidebar .g-block-content {
|
||||
padding-right: 1em;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
#g-footer #g-credits li {
|
||||
padding-left: 1.2em !important;
|
||||
padding-right: 0;
|
||||
}
|
|
@ -4,23 +4,30 @@
|
|||
* @requires YUI reset, font, grids CSS
|
||||
*
|
||||
* Sheet organization:
|
||||
* 1) Basic HTML elements
|
||||
* 2) Reusable content blocks
|
||||
* 3) Page layout containers
|
||||
* 4) Content blocks in specific layout containers
|
||||
* 5) States and interactions
|
||||
* 6) Positioning and order
|
||||
* 7) Navigation and menus
|
||||
* 8) ThemeRoller
|
||||
* 9) jQuery and jQuery UI
|
||||
* 10) Right-to-left language styles
|
||||
* 11) More Browny
|
||||
* 0) Pre Overrides
|
||||
* 1) Basic HTML elements
|
||||
* 2) Reusable content blocks
|
||||
* 3) Page layout containers
|
||||
* 4) Content blocks in specific layout containers
|
||||
* 5) States and interactions
|
||||
* 6) Positioning and order
|
||||
* 7) Navigation and menus
|
||||
* 8) jQuery and jQuery UI
|
||||
* 9) More Browny
|
||||
*
|
||||
* @todo Review g-buttonset-vertical
|
||||
*/
|
||||
|
||||
/** *******************************************************************
|
||||
* 1) Basic HTML elements
|
||||
* 0) Pre Overrides
|
||||
**********************************************************************/
|
||||
|
||||
/* ThemeRoller overrides ~~~~~~~~~~~~~~ */
|
||||
|
||||
@import "themeroller/ui.tabs.css";
|
||||
|
||||
/** *******************************************************************
|
||||
* 1) Basic HTML elements
|
||||
**********************************************************************/
|
||||
|
||||
/* ~browny~ */
|
||||
|
@ -29,6 +36,21 @@ body, html {
|
|||
font-family: 'Century gothic', Verdana, 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
|
||||
}
|
||||
|
||||
.ui-widget {
|
||||
font-family: 'Century gothic', Verdana, 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
|
||||
}
|
||||
|
||||
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button {
|
||||
font-family: 'Century gothic', Verdana, 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
|
||||
}
|
||||
|
||||
select,
|
||||
input,
|
||||
button,
|
||||
textarea {
|
||||
font: 99% 'Century gothic', Verdana, Arial, Helvetica, Clean, sans-serif;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-bottom: 1em;
|
||||
text-shadow: 0px 1px 1px #F7F5F0;
|
||||
|
@ -67,13 +89,6 @@ h3 {
|
|||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
select,
|
||||
input,
|
||||
button,
|
||||
textarea {
|
||||
font: 99% 'Century gothic', Verdana, Arial, Helvetica, Clean, sans-serif;
|
||||
}
|
||||
|
||||
#l10n-client h2 {
|
||||
text-shadow: none;
|
||||
}
|
||||
|
@ -104,7 +119,25 @@ a:hover,
|
|||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* Lists ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
ul.g-text li,
|
||||
.g-text ul li {
|
||||
list-style-type: disc;
|
||||
}
|
||||
|
||||
ol.g-text li,
|
||||
.g-text ol li {
|
||||
list-style-type: decimal;
|
||||
}
|
||||
|
||||
.g-text li,
|
||||
.g-text li {
|
||||
margin-left: 1em;
|
||||
}
|
||||
|
||||
/* Forms ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
form {
|
||||
margin: 0;
|
||||
}
|
||||
|
@ -284,22 +317,6 @@ fieldset {
|
|||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
fieldset {
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
#g-content form ul li {
|
||||
padding: .4em 0;
|
||||
}
|
||||
|
||||
#g-dialog form {
|
||||
width: 270px;
|
||||
}
|
||||
|
||||
#g-dialog fieldset {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
/* Tables ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
table {
|
||||
|
@ -328,8 +345,22 @@ th {
|
|||
white-space: nowrap;
|
||||
}
|
||||
|
||||
/* Text ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.g-text-small {
|
||||
font-size: .8em;
|
||||
}
|
||||
|
||||
.g-text-big {
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
.g-text-right {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
/** *******************************************************************
|
||||
* 2) Reusable content blocks
|
||||
* 2) Reusable content blocks
|
||||
*********************************************************************/
|
||||
|
||||
.g-block,
|
||||
|
@ -393,7 +424,8 @@ th {
|
|||
|
||||
.g-unavailable {
|
||||
border-color: #999;
|
||||
opacity: 0.4;
|
||||
color: black;
|
||||
opacity: .6;
|
||||
}
|
||||
|
||||
.g-info td {
|
||||
|
@ -401,10 +433,6 @@ th {
|
|||
background-image: none;
|
||||
}
|
||||
|
||||
#g-maintenance-mode ul.g-message-block {
|
||||
margin-top: .5em;
|
||||
}
|
||||
|
||||
.g-success td {
|
||||
background-color: transparent;
|
||||
background-image: none;
|
||||
|
@ -427,15 +455,12 @@ th {
|
|||
background-color: #fff;
|
||||
}
|
||||
|
||||
ul.enumeration li {
|
||||
list-style-type: disc;
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
/*** ******************************************************************
|
||||
* 3) Page layout containers
|
||||
* 3) Page layout containers
|
||||
*********************************************************************/
|
||||
|
||||
/* Dimension and scale ~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.g-one-quarter {
|
||||
width: 25%;
|
||||
}
|
||||
|
@ -512,7 +537,7 @@ ul.enumeration li {
|
|||
}
|
||||
|
||||
/** *******************************************************************
|
||||
* 4) Content blocks in specific layout containers
|
||||
* 4) Content blocks in specific layout containers
|
||||
*********************************************************************/
|
||||
|
||||
/* Header ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
@ -607,7 +632,7 @@ ul.enumeration li {
|
|||
margin-right: 1em;
|
||||
}
|
||||
|
||||
/* Block admin ~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
/* Block admin ~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.g-admin-blocks-list {
|
||||
float: left;
|
||||
|
@ -633,12 +658,14 @@ ul.enumeration li {
|
|||
padding: .3em .8em;
|
||||
}
|
||||
|
||||
/* In-line editing ~~~~~~~~~~~~~~~~~~~~ */
|
||||
/* In-line editing ~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
#g-in-place-edit-message {
|
||||
background-color: #FFF;
|
||||
}
|
||||
|
||||
/* Language options ~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
/* Language options ~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
#g-share-translations-form fieldset {
|
||||
border: 0px;
|
||||
margin: 0px;
|
||||
|
@ -823,7 +850,7 @@ form .g-error {
|
|||
}
|
||||
|
||||
/** *******************************************************************
|
||||
* 7) Navigation and menus
|
||||
* 7) Navigation and menus
|
||||
*********************************************************************/
|
||||
|
||||
/* Site Menu ~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
@ -840,16 +867,9 @@ form .g-error {
|
|||
}
|
||||
|
||||
/** *******************************************************************
|
||||
* 8) ThemeRoller Theme
|
||||
**********************************************************************/
|
||||
/* ~browny~ */
|
||||
|
||||
/* ThemeRoller overrides ~~~~~~~~~~~~~~ */
|
||||
@import "themeroller/ui.tabs.css";
|
||||
|
||||
/** *******************************************************************
|
||||
* 9) jQuery and jQuery UI
|
||||
* 8) jQuery and jQuery UI
|
||||
*********************************************************************/
|
||||
|
||||
/* Generic block container ~~~~~~~~~~~~~~~ */
|
||||
|
||||
.g-block {
|
||||
|
@ -923,16 +943,16 @@ button {
|
|||
display: inline-block;
|
||||
}
|
||||
|
||||
/* Status and validation messages ~~~~ */
|
||||
/* Status and validation messages ~~~~~~~~~ */
|
||||
|
||||
.g-message-block {
|
||||
background-position: .4em .3em;
|
||||
border: 1px solid #ccc;
|
||||
padding: 0;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
#g-action-status {
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
#g-action-status li,
|
||||
|
@ -1002,7 +1022,7 @@ div#g-action-status {
|
|||
width: 40%;
|
||||
}
|
||||
|
||||
/* Dialogs and panels ~~~~~~~~~~~~~~~~~~ */
|
||||
/* Dialogs and panels ~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
#g-dialog {
|
||||
text-align: left;
|
||||
|
@ -1021,7 +1041,7 @@ div#g-action-status {
|
|||
padding: 1em;
|
||||
}
|
||||
|
||||
/* Inline layout ~~~~~~~~~~ */
|
||||
/* Inline layout ~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.g-inline li {
|
||||
float: left;
|
||||
|
@ -1033,19 +1053,20 @@ div#g-action-status {
|
|||
margin-left: 0;
|
||||
}
|
||||
|
||||
/* Superfish menu overrides ~~~~~~~~~~~ */
|
||||
/* Superfish menu overrides ~~~~~~~~~~~~~~ */
|
||||
|
||||
.sf-menu ul {
|
||||
width: 12em;
|
||||
width: 12em;
|
||||
}
|
||||
|
||||
ul.sf-menu li li:hover ul,
|
||||
ul.sf-menu li li.sfHover ul {
|
||||
left: 12em;
|
||||
left: 12em;
|
||||
}
|
||||
|
||||
ul.sf-menu li li li:hover ul,
|
||||
ul.sf-menu li li li.sfHover ul {
|
||||
left: 12em;
|
||||
left: 12em;
|
||||
}
|
||||
|
||||
/* ~browny~ */
|
||||
|
@ -1061,13 +1082,13 @@ ul.sf-menu li li li.sfHover ul {
|
|||
|
||||
/* ~browny~ */
|
||||
.sf-menu a {
|
||||
border-top: 1px solid #e0cbae;
|
||||
border-top: 1px solid #e0cbae;
|
||||
}
|
||||
|
||||
/* ~browny~ */
|
||||
.sf-menu li {
|
||||
background: #d3b07e url('../images/ui-bg_highlight-soft_45_d3b07e_1x100.png') 50% 50% repeat-x;
|
||||
text-shadow: 0px 1px 1px #fff;
|
||||
background: #d3b07e url('../images/ui-bg_highlight-soft_45_d3b07e_1x100.png') 50% 50% repeat-x;
|
||||
text-shadow: 0px 1px 1px #fff;
|
||||
}
|
||||
|
||||
/* ~browny~ */
|
||||
|
@ -1076,11 +1097,16 @@ ul.sf-menu li li li.sfHover ul {
|
|||
.sf-menu a:focus,
|
||||
.sf-menu a:hover,
|
||||
.sf-menu a:active {
|
||||
background: #e0cbae;
|
||||
background: #e0cbae;
|
||||
}
|
||||
|
||||
/* jQuery UI Dialog ~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.ui-widget-overlay {
|
||||
background: #000;
|
||||
opacity: .7;
|
||||
}
|
||||
|
||||
#g-admin-dashboard .ui-state-highlight,
|
||||
#g-sidebar .ui-state-highlight {
|
||||
height: 2em;
|
||||
|
@ -1100,326 +1126,18 @@ ul.sf-menu li li li.sfHover ul {
|
|||
text-shadow: 0px 1px 1px #fff;
|
||||
}
|
||||
|
||||
.ui-widget {
|
||||
font-family: 'Century gothic', Verdana, 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
|
||||
}
|
||||
|
||||
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button {
|
||||
font-family: 'Century gothic', Verdana, 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
|
||||
}
|
||||
|
||||
/** *******************************************************************
|
||||
* 10) Right to left styles
|
||||
*********************************************************************/
|
||||
|
||||
.rtl {
|
||||
direction: rtl;
|
||||
}
|
||||
|
||||
.rtl #g-header,
|
||||
.rtl #g-content,
|
||||
.rtl #g-sidebar,
|
||||
.rtl #g-footer,
|
||||
.rtl caption,
|
||||
.rtl th,
|
||||
.rtl #g-dialog,
|
||||
.rtl .g-context-menu li a,
|
||||
.rtl .g-message-box li,
|
||||
.rtl #g-site-status li {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.rtl .g-text-right {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.rtl .g-error,
|
||||
.rtl .g-info,
|
||||
.rtl .g-success,
|
||||
.rtl .g-warning,
|
||||
.rtl #g-add-photos-status .g-success,
|
||||
.rtl #g-add-photos-status .g-error {
|
||||
background-position: center right;
|
||||
padding-right: 30px !important;
|
||||
}
|
||||
|
||||
.rtl form li.g-error,
|
||||
.rtl form li.g-info,
|
||||
.rtl form li.g-success,
|
||||
.rtl form li.g-warning {
|
||||
padding-right: 0 !important;
|
||||
}
|
||||
|
||||
.rtl .g-left,
|
||||
.rtl .g-inline li,
|
||||
.rtl #g-content #g-album-grid .g-item,
|
||||
.rtl .sf-menu li,
|
||||
.rtl .g-breadcrumbs li,
|
||||
.rtl .g-paginator li,
|
||||
.rtl .g-buttonset li,
|
||||
.rtl .ui-icon-left .ui-icon,
|
||||
.rtl .g-short-form li,
|
||||
.rtl form ul ul li,
|
||||
.rtl input[type="submit"],
|
||||
.rtl input[type="reset"],
|
||||
.rtl input.checkbox,
|
||||
.rtl input[type=checkbox],
|
||||
.rtl input.radio,
|
||||
.rtl input[type=radio] {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.rtl .g-right,
|
||||
.rtl .ui-icon-right .ui-icon {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.rtl .g-inline li {
|
||||
margin-right: 1em;
|
||||
}
|
||||
|
||||
.rtl .g-inline li.g-first {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.rtl .g-breadcrumbs li {
|
||||
background: transparent url('../images/ico-separator-rtl.gif') no-repeat scroll right center;
|
||||
padding: 1em 18px 1em 8px;
|
||||
}
|
||||
|
||||
.rtl .g-breadcrumbs .g-first {
|
||||
background: none;
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
.rtl input.checkbox {
|
||||
margin-left: .4em;
|
||||
}
|
||||
|
||||
.rtl #g-add-comment {
|
||||
right: inherit;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.rtl .ui-icon-left .ui-icon {
|
||||
margin-left: .2em;
|
||||
}
|
||||
|
||||
.rtl .ui-icon-right .ui-icon {
|
||||
margin-right: .2em;
|
||||
}
|
||||
|
||||
/* RTL Corner radius ~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
.rtl .g-buttonset .ui-corner-tl {
|
||||
-moz-border-radius-topleft: 0;
|
||||
-webkit-border-top-left-radius: 0;
|
||||
border-top-left-radius: 0;
|
||||
-moz-border-radius-topright: 5px !important;
|
||||
-webkit-border-top-right-radius: 5px !important;
|
||||
border-top-right-radius: 5px !important;
|
||||
}
|
||||
|
||||
.rtl .g-buttonset .ui-corner-tr {
|
||||
-moz-border-radius-topright: 0;
|
||||
-webkit-border-top-right-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
-moz-border-radius-topleft: 5px !important;
|
||||
-webkit-border-top-left-radius: 5px !important;
|
||||
border-top-left-radius: 5px !important;
|
||||
}
|
||||
|
||||
.rtl .g-buttonset .ui-corner-bl {
|
||||
-moz-border-radius-bottomleft: 0;
|
||||
-webkit-border-bottom-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
-moz-border-radius-bottomright: 5px !important;
|
||||
-webkit-border-bottom-right-radius: 5px !important;
|
||||
border-bottom-right-radius: 5px !important;
|
||||
}
|
||||
|
||||
.rtl .g-buttonset .ui-corner-br {
|
||||
-moz-border-radius-bottomright: 0;
|
||||
-webkit-border-bottom-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
-moz-border-radius-bottomleft: 5px !important;
|
||||
-webkit-border-bottom-left-radius: 5px !important;
|
||||
border-bottom-left-radius: 5px !important;
|
||||
}
|
||||
|
||||
.rtl .g-buttonset .ui-corner-right,
|
||||
.rtl .ui-progressbar .ui-corner-right {
|
||||
-moz-border-radius-topright: 0;
|
||||
-webkit-border-top-right-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
-moz-border-radius-topleft: 5px !important;
|
||||
-webkit-border-top-left-radius: 5px !important;
|
||||
border-top-left-radius: 5px !important;
|
||||
-moz-border-radius-bottomright: 0;
|
||||
-webkit-border-bottom-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
-moz-border-radius-bottomleft: 5px !important;
|
||||
-webkit-border-bottom-left-radius: 5px !important;
|
||||
border-bottom-left-radius: 5px !important;
|
||||
}
|
||||
|
||||
.rtl .g-buttonset .ui-corner-left,
|
||||
.rtl .ui-progressbar .ui-corner-left {
|
||||
-moz-border-radius-topleft: 0;
|
||||
-webkit-border-top-left-radius: 0;
|
||||
border-top-left-radius: 0;
|
||||
-moz-border-radius-topright: 5px !important;
|
||||
-webkit-border-top-right-radius: 5px !important;
|
||||
border-top-right-radius: 5px !important;
|
||||
-moz-border-radius-bottomleft: 0;
|
||||
-webkit-border-bottom-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
-moz-border-radius-bottomright: 5px !important;
|
||||
-webkit-border-bottom-right-radius: 5px !important;
|
||||
border-bottom-right-radius: 5px !important;
|
||||
}
|
||||
|
||||
/* RTL Superfish ~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.rtl .sf-menu a {
|
||||
border-left: none;
|
||||
border-right:1px solid #fff;
|
||||
}
|
||||
|
||||
.rtl .sf-menu a.sf-with-ul {
|
||||
padding-left: 2.25em;
|
||||
padding-right: 1em;
|
||||
}
|
||||
|
||||
.rtl .sf-sub-indicator {
|
||||
left: .75em !important;
|
||||
right: auto;
|
||||
background: url('../../../lib/superfish/images/arrows-ffffff-rtl.png') no-repeat -10px -100px; /* 8-bit indexed alpha png. IE6 gets solid image only */
|
||||
}
|
||||
.rtl a > .sf-sub-indicator { /* give all except IE6 the correct values */
|
||||
top: .8em;
|
||||
background-position: -10px -100px; /* use translucent arrow for modern browsers*/
|
||||
}
|
||||
/* apply hovers to modern browsers */
|
||||
.rtl a:focus > .sf-sub-indicator,
|
||||
.rtl a:hover > .sf-sub-indicator,
|
||||
.rtl a:active > .sf-sub-indicator,
|
||||
.rtl li:hover > a > .sf-sub-indicator,
|
||||
.rtl li.sfHover > a > .sf-sub-indicator {
|
||||
background-position: 0 -100px; /* arrow hovers for modern browsers*/
|
||||
}
|
||||
|
||||
/* point right for anchors in subs */
|
||||
.rtl .sf-menu ul .sf-sub-indicator { background-position: 0 0; }
|
||||
.rtl .sf-menu ul a > .sf-sub-indicator { background-position: -10px 0; }
|
||||
/* apply hovers to modern browsers */
|
||||
.rtl .sf-menu ul a:focus > .sf-sub-indicator,
|
||||
.rtl .sf-menu ul a:hover > .sf-sub-indicator,
|
||||
.rtl .sf-menu ul a:active > .sf-sub-indicator,
|
||||
.rtl .sf-menu ul li:hover > a > .sf-sub-indicator,
|
||||
.rtl .sf-menu ul li.sfHover > a > .sf-sub-indicator {
|
||||
background-position: 0 0; /* arrow hovers for modern browsers*/
|
||||
}
|
||||
|
||||
.rtl .sf-menu li:hover ul,
|
||||
.rtl .sf-menu li.sfHover ul {
|
||||
right: 0;
|
||||
left: auto;
|
||||
}
|
||||
|
||||
.rtl ul.sf-menu li li:hover ul,
|
||||
.rtl ul.sf-menu li li.sfHover ul {
|
||||
right: 12em; /* match ul width */
|
||||
left: auto;
|
||||
}
|
||||
.rtl ul.sf-menu li li li:hover ul,
|
||||
.rtl ul.sf-menu li li li.sfHover ul {
|
||||
right: 12em; /* match ul width */
|
||||
left: auto;
|
||||
}
|
||||
|
||||
/*** shadows for all but IE6 ***/
|
||||
.rtl .sf-shadow ul {
|
||||
background: url('../../../lib/superfish/images/shadow.png') no-repeat bottom left;
|
||||
padding: 0 0 9px 8px;
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
-moz-border-radius-topright: 0;
|
||||
-moz-border-radius-bottomleft: 0;
|
||||
-webkit-border-top-right-radius: 0;
|
||||
-webkit-border-bottom-left-radius: 0;
|
||||
-moz-border-radius-topleft: 17px;
|
||||
-moz-border-radius-bottomright: 17px;
|
||||
-webkit-border-top-left-radius: 17px;
|
||||
-webkit-border-bottom-right-radius: 17px;
|
||||
border-top-left-radius: 17px;
|
||||
border-bottom-right-radius: 17px;
|
||||
}
|
||||
|
||||
/* RTL ThemeRoller ~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.rtl .ui-dialog .ui-dialog-titlebar {
|
||||
padding: 0.5em 1em 0.3em 0.3em;
|
||||
}
|
||||
|
||||
.rtl .ui-dialog .ui-dialog-title {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.rtl .ui-dialog .ui-dialog-titlebar-close {
|
||||
left: 0.3em;
|
||||
right: auto;
|
||||
}
|
||||
|
||||
.rtl #g-content #g-album-grid .g-item,
|
||||
.rtl #g-site-theme,
|
||||
.rtl #g-admin-theme,
|
||||
.rtl .g-selected img,
|
||||
.rtl .g-available .g-block img,
|
||||
.rtl #g-content #g-photo-stream .g-item,
|
||||
.rtl li.g-group,
|
||||
.rtl #g-server-add-admin {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.rtl #g-admin-graphics .g-available .g-block {
|
||||
float: right;
|
||||
margin-left: 1em;
|
||||
margin-right: 0em;
|
||||
}
|
||||
|
||||
.rtl #g-site-admin-menu {
|
||||
left: auto;
|
||||
right: 240px;
|
||||
}
|
||||
|
||||
.rtl #g-header #g-login-menu {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.rtl #g-header #g-login-menu li {
|
||||
margin-left: 0;
|
||||
padding-left: 0;
|
||||
padding-right: 1.2em;
|
||||
}
|
||||
|
||||
/* ~browny~ */
|
||||
.rtl .g-selected img,
|
||||
.rtl .g-available .g-block img {
|
||||
margin: 0 0 1em 1em;
|
||||
}
|
||||
|
||||
/** *******************************************************************
|
||||
* 11) More Browny (Extra overrides for better Browny look)
|
||||
* 9) More Browny (Extra overrides for better Browny look)
|
||||
*********************************************************************/
|
||||
|
||||
/* /lib/gallery.common.css ~~~~~~~~~~~~ */
|
||||
|
||||
.g-success {
|
||||
background: #fcf9ce url('../images/ico-success.png') no-repeat .4em 50%
|
||||
background: #fcf9ce url('../images/ico-success.png') no-repeat .4em 50%
|
||||
}
|
||||
|
||||
.g-even {
|
||||
background: transparent;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.g-odd {
|
||||
|
|
BIN
3.0/themes/browny_admin_wind/images/ico-denied-inactive.png
Normal file
After Width: | Height: | Size: 604 B |
BIN
3.0/themes/browny_admin_wind/images/ico-denied-passive.png
Normal file
After Width: | Height: | Size: 916 B |
BIN
3.0/themes/browny_admin_wind/images/ico-denied.png
Normal file
After Width: | Height: | Size: 715 B |
BIN
3.0/themes/browny_admin_wind/images/ico-lock.png
Normal file
After Width: | Height: | Size: 749 B |
BIN
3.0/themes/browny_admin_wind/images/ico-success-passive.png
Normal file
After Width: | Height: | Size: 473 B |
Before Width: | Height: | Size: 63 KiB After Width: | Height: | Size: 64 KiB |
|
@ -1,10 +1,10 @@
|
|||
name = "Browny Wind"
|
||||
description = "The default Wind Admin theme with a browny style."
|
||||
version = 1
|
||||
author = "Ma'moun M. Diraneyya"
|
||||
author = "Mamouneyya"
|
||||
admin = 1
|
||||
site = 0
|
||||
author_name = ""
|
||||
author_name = "Ma'moun Diraneyya"
|
||||
author_url = ""
|
||||
info_url = "http://codex.gallery2.org/Gallery3:Themes:browny_admin_wind"
|
||||
discuss_url = "http://gallery.menalto.com/forum_theme_browny_admin_wind"
|
||||
discuss_url = "http://gallery.menalto.com/node/95007"
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.") ?>
|
||||
<!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" xml:lang="en" lang="en">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" <?= $theme->html_attributes() ?> xml:lang="en" lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
|
||||
<? $theme->start_combining("script,css") ?>
|
||||
<title>
|
||||
<? if ($page_title): ?>
|
||||
<?= t("Gallery Admin: %page_title", array("page_title" => $page_title)) ?>
|
||||
|
@ -11,31 +12,46 @@
|
|||
<?= t("Admin dashboard") ?>
|
||||
<? endif ?>
|
||||
</title>
|
||||
<link rel="shortcut icon" href="<?= url::file(module::get_var("gallery", "favicon_url")) ?>" type="image/x-icon" />
|
||||
<link rel="shortcut icon"
|
||||
href="<?= url::file(module::get_var("gallery", "favicon_url")) ?>"
|
||||
type="image/x-icon" />
|
||||
<link rel="apple-touch-icon-precomposed"
|
||||
href="<?= url::file(module::get_var("gallery", "apple_touch_icon_url")) ?>" />
|
||||
|
||||
<?= $theme->script("jquery.js") ?>
|
||||
<?= $theme->script("jquery.form.js") ?>
|
||||
<?= $theme->script("jquery-ui.js") ?>
|
||||
<?= $theme->script("gallery.common.js") ?>
|
||||
<? /* MSG_CANCEL is required by gallery.dialog.js */ ?>
|
||||
<script type="text/javascript">
|
||||
var MSG_CANCEL = <?= t("Cancel")->for_js() ?>;
|
||||
</script>
|
||||
<?= $theme->script("gallery.ajax.js") ?>
|
||||
<?= $theme->script("gallery.dialog.js") ?>
|
||||
<?= $theme->script("superfish/js/superfish.js") ?>
|
||||
<?= $theme->script("jquery.scrollTo.js") ?>
|
||||
|
||||
<?= $theme->admin_head() ?>
|
||||
|
||||
<? /* Theme specific CSS/JS goes last so that it can override module CSS/JS */ ?>
|
||||
<?= $theme->script("ui.init.js") ?>
|
||||
<?= $theme->css("yui/reset-fonts-grids.css") ?>
|
||||
<?= $theme->css("themeroller/ui.base.css") ?>
|
||||
<?= $theme->css("superfish/css/superfish.css") ?>
|
||||
<?= $theme->css("screen.css") ?>
|
||||
<? if (locales::is_rtl()): ?>
|
||||
<?= $theme->css("screen-rtl.css") ?>
|
||||
<? endif; ?>
|
||||
<!--[if lt IE 8]>
|
||||
<link rel="stylesheet" type="text/css" href="<?= $theme->url("fix-ie.css") ?>"
|
||||
<link rel="stylesheet" type="text/css" href="<?= $theme->url("css/fix-ie.css") ?>"
|
||||
media="screen,print,projection" />
|
||||
<![endif]-->
|
||||
|
||||
<?= $theme->script("jquery.js") ?>
|
||||
<?= $theme->script("jquery.form.js") ?>
|
||||
<?= $theme->script("jquery-ui.js") ?>
|
||||
<?= $theme->script("gallery.common.js") ?>
|
||||
<? /* MSG_CANCEL is required by gallery.dialog.js */ ?>
|
||||
<script type="text/javascript">
|
||||
var MSG_CANCEL = <?= t("Cancel")->for_js() ?>;
|
||||
</script>
|
||||
<?= $theme->script("gallery.ajax.js") ?>
|
||||
<?= $theme->script("gallery.dialog.js") ?>
|
||||
<?= $theme->script("superfish/js/superfish.js") ?>
|
||||
<?= $theme->script("ui.init.js") ?>
|
||||
<!-- LOOKING FOR YOUR CSS? It's all been combined into the link below -->
|
||||
<?= $theme->get_combined("css") ?>
|
||||
|
||||
<?= $theme->admin_head() ?>
|
||||
<!-- LOOKING FOR YOUR JAVASCRIPT? It's all been combined into the link below -->
|
||||
<?= $theme->get_combined("script") ?>
|
||||
</head>
|
||||
|
||||
<body <?= $theme->body_attributes() ?>>
|
||||
|
|
|
@ -1,44 +0,0 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.") ?>
|
||||
<? // See http://docs.kohanaphp.com/libraries/pagination ?>
|
||||
<ul class="g-paginator">
|
||||
<? /* @todo This message isn't easily localizable */
|
||||
$from_to_msg = t2("Item %from_number of %count",
|
||||
"Items %from_number - %to_number of %count",
|
||||
$total_items,
|
||||
array("from_number" => $current_first_item,
|
||||
"to_number" => $current_last_item,
|
||||
"count" => $total_items)) ?>
|
||||
<li>
|
||||
<? if ($first_page): ?>
|
||||
<a href="<?= str_replace('{page}', 1, $url) ?>" class="g-button ui-icon-left ui-state-default ui-corner-all">
|
||||
<span class="ui-icon ui-icon-seek-first"></span><?= t("First") ?></a>
|
||||
<? else: ?>
|
||||
<a class="g-button ui-icon-left ui-state-disabled ui-corner-all">
|
||||
<span class="ui-icon ui-icon-seek-first"></span><?= t("First") ?></a>
|
||||
<? endif ?>
|
||||
<? if ($previous_page): ?>
|
||||
<a href="<?= str_replace('{page}', $previous_page, $url) ?>" class="g-button ui-icon-left ui-state-default ui-corner-all">
|
||||
<span class="ui-icon ui-icon-seek-prev"></span><?= t("Previous") ?></a>
|
||||
<? else: ?>
|
||||
<a class="g-button ui-icon-left ui-state-disabled ui-corner-all">
|
||||
<span class="ui-icon ui-icon-seek-prev"></span><?= t("Previous") ?></a>
|
||||
<? endif ?>
|
||||
</li>
|
||||
<li class="g-info"><?= $from_to_msg ?></li>
|
||||
<li class="g-text-right">
|
||||
<? if ($next_page): ?>
|
||||
<a href="<?= str_replace('{page}', $next_page, $url) ?>" class="g-button ui-icon-right ui-state-default ui-corner-all">
|
||||
<span class="ui-icon ui-icon-seek-next"></span><?= t("Next") ?></a>
|
||||
<? else: ?>
|
||||
<a class="g-button ui-state-disabled ui-icon-right ui-corner-all">
|
||||
<span class="ui-icon ui-icon-seek-next"></span><?= t("Next") ?></a>
|
||||
<? endif ?>
|
||||
<? if ($last_page): ?>
|
||||
<a href="<?= str_replace('{page}', $last_page, $url) ?>" class="g-button ui-icon-right ui-state-default ui-corner-all">
|
||||
<span class="ui-icon ui-icon-seek-end"></span><?= t("Last") ?></a>
|
||||
<? else: ?>
|
||||
<a class="g-button ui-state-disabled ui-icon-right ui-corner-all">
|
||||
<span class="ui-icon ui-icon-seek-end"></span><?= t("Last") ?></a>
|
||||
<? endif ?>
|
||||
</li>
|
||||
</ul>
|
88
3.0/themes/browny_admin_wind/views/paginator.html.php
Normal file
|
@ -0,0 +1,88 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.") ?>
|
||||
<?
|
||||
// This is a generic paginator for admin collections. Depending on the page type, there are
|
||||
// different sets of variables available. With this data, you can make a paginator that
|
||||
// lets you say "You're viewing photo 5 of 35", or "You're viewing photos 10 - 18 of 37"
|
||||
// for album views.
|
||||
|
||||
//
|
||||
// Available variables for all page types:
|
||||
// $page_type - "collection", "item", or "other"
|
||||
// $page_subtype - "album", "movie", "photo", "tag", etc.
|
||||
// $previous_page_url - the url to the previous page, if there is one
|
||||
// $next_page_url - the url to the next page, if there is one
|
||||
// $total - the total number of photos in this album
|
||||
//
|
||||
// Available for the "collection" page types:
|
||||
// $page - what page number we're on
|
||||
// $max_pages - the maximum page number
|
||||
// $page_size - the page size
|
||||
// $first_page_url - the url to the first page, or null if we're on the first page
|
||||
// $last_page_url - the url to the last page, or null if we're on the last page
|
||||
// $first_visible_position - the position number of the first visible photo on this page
|
||||
// $last_visible_position - the position number of the last visible photo on this page
|
||||
//
|
||||
// Available for "item" page types:
|
||||
// $position - the position number of this photo
|
||||
//
|
||||
?>
|
||||
|
||||
<? if ($total): ?>
|
||||
<ul class="g-paginator ui-helper-clearfix">
|
||||
<li class="g-first">
|
||||
<? if ($page_type == "collection"): ?>
|
||||
<? if (isset($first_page_url)): ?>
|
||||
<a href="<?= $first_page_url ?>" class="g-button ui-icon-left ui-state-default ui-corner-all">
|
||||
<span class="ui-icon ui-icon-seek-first"></span><?= t("First") ?></a>
|
||||
<? else: ?>
|
||||
<a class="g-button ui-icon-left ui-state-disabled ui-corner-all">
|
||||
<span class="ui-icon ui-icon-seek-first"></span><?= t("First") ?></a>
|
||||
<? endif ?>
|
||||
<? endif ?>
|
||||
|
||||
<? if (isset($previous_page_url)): ?>
|
||||
<a href="<?= $previous_page_url ?>" class="g-button ui-icon-left ui-state-default ui-corner-all">
|
||||
<span class="ui-icon ui-icon-seek-prev"></span><?= t("Previous") ?></a>
|
||||
<? else: ?>
|
||||
<a class="g-button ui-icon-left ui-state-disabled ui-corner-all">
|
||||
<span class="ui-icon ui-icon-seek-prev"></span><?= t("Previous") ?></a>
|
||||
<? endif ?>
|
||||
</li>
|
||||
|
||||
<li class="g-info">
|
||||
<? if ($total): ?>
|
||||
<? if ($page_type == "collection"): ?>
|
||||
<?= /* @todo This message isn't easily localizable */
|
||||
t2("Viewing %from_number of %count",
|
||||
"Viewing %from_number - %to_number of %count",
|
||||
$total,
|
||||
array("from_number" => $first_visible_position,
|
||||
"to_number" => $last_visible_position,
|
||||
"count" => $total)) ?>
|
||||
<? else: ?>
|
||||
<?= t("%position of %total", array("position" => $position, "total" => $total)) ?>
|
||||
<? endif ?>
|
||||
<? endif ?>
|
||||
</li>
|
||||
|
||||
<li class="g-text-right">
|
||||
<? if (isset($next_page_url)): ?>
|
||||
<a href="<?= $next_page_url ?>" class="g-button ui-icon-right ui-state-default ui-corner-all">
|
||||
<span class="ui-icon ui-icon-seek-next"></span><?= t("Next") ?></a>
|
||||
<? else: ?>
|
||||
<a class="g-button ui-state-disabled ui-icon-right ui-corner-all">
|
||||
<span class="ui-icon ui-icon-seek-next"></span><?= t("Next") ?></a>
|
||||
<? endif ?>
|
||||
|
||||
<? if ($page_type == "collection"): ?>
|
||||
<? if (isset($last_page_url)): ?>
|
||||
<a href="<?= $last_page_url ?>" class="g-button ui-icon-right ui-state-default ui-corner-all">
|
||||
<span class="ui-icon ui-icon-seek-end"></span><?= t("Last") ?></a>
|
||||
<? else: ?>
|
||||
<a class="g-button ui-state-disabled ui-icon-right ui-corner-all">
|
||||
<span class="ui-icon ui-icon-seek-end"></span><?= t("Last") ?></a>
|
||||
<? endif ?>
|
||||
<? endif ?>
|
||||
</li>
|
||||
</ul>
|
||||
<? endif ?>
|
393
3.0/themes/browny_wind/css/screen-rtl.css
Normal file
|
@ -0,0 +1,393 @@
|
|||
/**
|
||||
* Gallery 3 Browny Wind Theme Right-to-Left Screen Styles
|
||||
*/
|
||||
|
||||
.rtl {
|
||||
direction: rtl;
|
||||
}
|
||||
|
||||
#g-header,
|
||||
#g-content,
|
||||
#g-sidebar,
|
||||
#g-footer,
|
||||
caption,
|
||||
th,
|
||||
#g-dialog,
|
||||
.g-context-menu li a,
|
||||
.g-message-box li,
|
||||
#g-site-status li {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.g-text-right {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
/* Lists ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.g-text li,
|
||||
.g-text li {
|
||||
margin-left: 0;
|
||||
margin-right: 1em;
|
||||
}
|
||||
|
||||
/* Messages ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.g-error,
|
||||
.g-info,
|
||||
.g-success,
|
||||
.g-warning,
|
||||
#g-add-photos-status .g-success,
|
||||
#g-add-photos-status .g-error {
|
||||
background-position: center right;
|
||||
padding-right: 30px !important;
|
||||
}
|
||||
|
||||
form li.g-error,
|
||||
form li.g-info,
|
||||
form li.g-success,
|
||||
form li.g-warning {
|
||||
padding-right: 0 !important;
|
||||
}
|
||||
|
||||
.g-left,
|
||||
.g-inline li,
|
||||
#g-content #g-album-grid .g-item,
|
||||
.sf-menu li,
|
||||
.g-breadcrumbs li,
|
||||
.g-paginator li,
|
||||
.g-buttonset li,
|
||||
.ui-icon-left .ui-icon,
|
||||
.g-short-form li,
|
||||
form ul ul li,
|
||||
input[type="submit"],
|
||||
input[type="reset"],
|
||||
input.checkbox,
|
||||
input[type=checkbox],
|
||||
input.radio,
|
||||
input[type=radio] {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.g-right,
|
||||
.ui-icon-right .ui-icon {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.g-inline li {
|
||||
margin-right: 1em;
|
||||
}
|
||||
|
||||
.g-inline li.g-first {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
/* ~browny~ */
|
||||
.g-breadcrumbs li {
|
||||
background: transparent url('../images/ico-separator-rtl.gif') no-repeat scroll right center;
|
||||
padding: .5em 18px .5em 8px;
|
||||
}
|
||||
|
||||
.g-breadcrumbs .g-first {
|
||||
background: none;
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
input.checkbox {
|
||||
margin-left: .4em;
|
||||
}
|
||||
|
||||
#g-add-comment {
|
||||
right: inherit;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.ui-icon-left .ui-icon {
|
||||
margin-left: .2em;
|
||||
}
|
||||
|
||||
.ui-icon-right .ui-icon {
|
||||
margin-right: .2em;
|
||||
}
|
||||
|
||||
/* RTL Corner radius ~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.g-buttonset .ui-corner-tl {
|
||||
-moz-border-radius-topleft: 0;
|
||||
-webkit-border-top-left-radius: 0;
|
||||
border-top-left-radius: 0;
|
||||
-moz-border-radius-topright: 5px !important;
|
||||
-webkit-border-top-right-radius: 5px !important;
|
||||
border-top-right-radius: 5px !important;
|
||||
}
|
||||
|
||||
.g-buttonset .ui-corner-tr {
|
||||
-moz-border-radius-topright: 0;
|
||||
-webkit-border-top-right-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
-moz-border-radius-topleft: 5px !important;
|
||||
-webkit-border-top-left-radius: 5px !important;
|
||||
border-top-left-radius: 5px !important;
|
||||
}
|
||||
|
||||
.g-buttonset .ui-corner-bl {
|
||||
-moz-border-radius-bottomleft: 0;
|
||||
-webkit-border-bottom-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
-moz-border-radius-bottomright: 5px !important;
|
||||
-webkit-border-bottom-right-radius: 5px !important;
|
||||
border-bottom-right-radius: 5px !important;
|
||||
}
|
||||
|
||||
.g-buttonset .ui-corner-br {
|
||||
-moz-border-radius-bottomright: 0;
|
||||
-webkit-border-bottom-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
-moz-border-radius-bottomleft: 5px !important;
|
||||
-webkit-border-bottom-left-radius: 5px !important;
|
||||
border-bottom-left-radius: 5px !important;
|
||||
}
|
||||
|
||||
.g-buttonset .ui-corner-right,
|
||||
.ui-progressbar .ui-corner-right {
|
||||
-moz-border-radius-topright: 0;
|
||||
-webkit-border-top-right-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
-moz-border-radius-topleft: 5px !important;
|
||||
-webkit-border-top-left-radius: 5px !important;
|
||||
border-top-left-radius: 5px !important;
|
||||
-moz-border-radius-bottomright: 0;
|
||||
-webkit-border-bottom-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
-moz-border-radius-bottomleft: 5px !important;
|
||||
-webkit-border-bottom-left-radius: 5px !important;
|
||||
border-bottom-left-radius: 5px !important;
|
||||
}
|
||||
|
||||
.g-buttonset .ui-corner-left,
|
||||
.ui-progressbar .ui-corner-left {
|
||||
-moz-border-radius-topleft: 0;
|
||||
-webkit-border-top-left-radius: 0;
|
||||
border-top-left-radius: 0;
|
||||
-moz-border-radius-topright: 5px !important;
|
||||
-webkit-border-top-right-radius: 5px !important;
|
||||
border-top-right-radius: 5px !important;
|
||||
-moz-border-radius-bottomleft: 0;
|
||||
-webkit-border-bottom-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
-moz-border-radius-bottomright: 5px !important;
|
||||
-webkit-border-bottom-right-radius: 5px !important;
|
||||
border-bottom-right-radius: 5px !important;
|
||||
}
|
||||
|
||||
/* RTL Superfish ~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.sf-menu a {
|
||||
border-left: none;
|
||||
border-right:1px solid #fff;
|
||||
}
|
||||
|
||||
.sf-menu a.sf-with-ul {
|
||||
padding-left: 2.25em;
|
||||
padding-right: 1em;
|
||||
}
|
||||
|
||||
.sf-sub-indicator {
|
||||
left: .75em !important;
|
||||
right: auto;
|
||||
background: url('../../../lib/superfish/images/arrows-ffffff-rtl.png') no-repeat -10px -100px;
|
||||
}
|
||||
|
||||
a > .sf-sub-indicator {
|
||||
top: .8em;
|
||||
background-position: -10px -100px;
|
||||
}
|
||||
|
||||
a:focus > .sf-sub-indicator,
|
||||
a:hover > .sf-sub-indicator,
|
||||
a:active > .sf-sub-indicator,
|
||||
li:hover > a > .sf-sub-indicator,
|
||||
li.sfHover > a > .sf-sub-indicator {
|
||||
background-position: 0 -100px;
|
||||
}
|
||||
|
||||
.sf-menu ul .sf-sub-indicator {
|
||||
background-position: 0 0;
|
||||
}
|
||||
|
||||
.sf-menu ul a > .sf-sub-indicator {
|
||||
background-position: -10px 0;
|
||||
}
|
||||
|
||||
.sf-menu ul a:focus > .sf-sub-indicator,
|
||||
.sf-menu ul a:hover > .sf-sub-indicator,
|
||||
.sf-menu ul a:active > .sf-sub-indicator,
|
||||
.sf-menu ul li:hover > a > .sf-sub-indicator,
|
||||
.sf-menu ul li.sfHover > a > .sf-sub-indicator {
|
||||
background-position: 0 0;
|
||||
}
|
||||
|
||||
.sf-menu li:hover ul,
|
||||
.sf-menu li.sfHover ul {
|
||||
right: 0;
|
||||
left: auto;
|
||||
}
|
||||
|
||||
ul.sf-menu li li:hover ul,
|
||||
ul.sf-menu li li.sfHover ul {
|
||||
right: 12em;
|
||||
left: auto;
|
||||
}
|
||||
ul.sf-menu li li li:hover ul,
|
||||
ul.sf-menu li li li.sfHover ul {
|
||||
right: 12em;
|
||||
left: auto;
|
||||
}
|
||||
|
||||
.sf-shadow ul {
|
||||
background: url('../../../lib/superfish/images/shadow.png') no-repeat bottom left;
|
||||
padding: 0 0 9px 8px;
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
-moz-border-radius-topright: 0;
|
||||
-moz-border-radius-bottomleft: 0;
|
||||
-webkit-border-top-right-radius: 0;
|
||||
-webkit-border-bottom-left-radius: 0;
|
||||
-moz-border-radius-topleft: 17px;
|
||||
-moz-border-radius-bottomright: 17px;
|
||||
-webkit-border-top-left-radius: 17px;
|
||||
-webkit-border-bottom-right-radius: 17px;
|
||||
border-top-left-radius: 17px;
|
||||
border-bottom-right-radius: 17px;
|
||||
}
|
||||
|
||||
/* RTL ThemeRoller ~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.ui-dialog .ui-dialog-titlebar {
|
||||
padding: 0.5em 1em 0.3em 0.3em;
|
||||
}
|
||||
|
||||
.ui-dialog .ui-dialog-title {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.ui-dialog .ui-dialog-titlebar-close {
|
||||
left: 0.3em;
|
||||
right: auto;
|
||||
}
|
||||
|
||||
.ui-tabs .ui-tabs-nav li {
|
||||
float: right;
|
||||
}
|
||||
|
||||
/* RTL paginator ~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.g-paginator .g-info {
|
||||
width: 35%;
|
||||
}
|
||||
|
||||
.g-paginator .g-text-right {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.g-paginator .ui-icon-seek-end {
|
||||
background-position: -80px -160px;
|
||||
}
|
||||
|
||||
.g-paginator .ui-icon-seek-next {
|
||||
background-position: -48px -160px;
|
||||
}
|
||||
|
||||
.g-paginator .ui-icon-seek-prev {
|
||||
background-position: -32px -160px;
|
||||
}
|
||||
|
||||
.g-paginator .ui-icon-seek-first {
|
||||
background-position: -64px -160px;
|
||||
}
|
||||
|
||||
#g-header #g-login-menu,
|
||||
#g-header #g-quick-search-form {
|
||||
clear: left;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#g-header #g-login-menu li {
|
||||
margin-left: 0;
|
||||
padding-left: 0;
|
||||
padding-right: 1.2em;
|
||||
}
|
||||
|
||||
#g-site-menu {
|
||||
left: auto;
|
||||
right: 240px;
|
||||
}
|
||||
|
||||
#g-view-menu #g-slideshow-link {
|
||||
background-image: url('../images/ico-view-slideshow-rtl.png');
|
||||
}
|
||||
|
||||
#g-sidebar .g-block-content {
|
||||
padding-right: 1em;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
#g-footer #g-credits li {
|
||||
padding-left: 1.2em !important;
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
/* Browny ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.g-even {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.g-odd {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.uploadifyQueueItem .cancel {
|
||||
float: left;
|
||||
}
|
||||
|
||||
#g-user-profile .g-block h2 {
|
||||
padding-right: .8em;
|
||||
padding-left: auto;
|
||||
}
|
||||
|
||||
#g-user-profile .g-avatar {
|
||||
float: right;
|
||||
right: 0em;
|
||||
left: auto;
|
||||
margin: 0em .6em 0em 0em;
|
||||
}
|
||||
|
||||
#g-user-profile #g-comment-detail .g-author a {
|
||||
float: right;
|
||||
right: 0em;
|
||||
left: auto;
|
||||
margin-left: .6em;
|
||||
margin-right: 0em;
|
||||
}
|
||||
|
||||
#g-user-profile #g-comment-detail div {
|
||||
margin-right: 5em;
|
||||
margin-left: 0em;
|
||||
}
|
||||
|
||||
#g-user-profile h1 {
|
||||
margin: 1.25em 4.4em 2em 0em;
|
||||
}
|
||||
|
||||
#g-content #g-comments .g-avatar {
|
||||
float: right;
|
||||
margin-left: .4em;
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
#g-calendar-grid {
|
||||
padding-right: 8px;
|
||||
padding-left: 0px;
|
||||
}
|
||||
|
|
@ -4,21 +4,28 @@
|
|||
* @requires YUI reset, font, grids CSS
|
||||
*
|
||||
* Sheet organization:
|
||||
* 1) Font sizes, base HTML elements
|
||||
* 2) Reusable content blocks
|
||||
* 3) Page layout containers
|
||||
* 4) Content blocks in specific layout containers
|
||||
* 5) States and interactions
|
||||
* 6) Positioning and order
|
||||
* 7) Navigation and menus
|
||||
* 8) ThemeRoller
|
||||
* 9) jQuery and jQuery UI
|
||||
* 10) Right-to-left language styles
|
||||
* 11) More Browny
|
||||
* 0) Pre Overrides
|
||||
* 1) Font sizes, base HTML elements
|
||||
* 2) Reusable content blocks
|
||||
* 3) Page layout containers
|
||||
* 4) Content blocks in specific layout containers
|
||||
* 5) States and interactions
|
||||
* 6) Positioning and order
|
||||
* 7) Navigation and menus
|
||||
* 8) jQuery and jQuery UI
|
||||
* 9) More Browny
|
||||
*/
|
||||
|
||||
/** *******************************************************************
|
||||
* 1) Font sizes, base HTML elements
|
||||
* 0) Pre Overrides
|
||||
**********************************************************************/
|
||||
|
||||
/* ThemeRoller overrides ~~~~~~~~~~~~~~ */
|
||||
|
||||
@import "themeroller/ui.tabs.css";
|
||||
|
||||
/** *******************************************************************
|
||||
* 1) Font sizes, base HTML elements
|
||||
**********************************************************************/
|
||||
|
||||
/* ~browny~ */
|
||||
|
@ -39,6 +46,13 @@ body, html {
|
|||
font-family: Cursive, Serif;
|
||||
}
|
||||
|
||||
select,
|
||||
input,
|
||||
button,
|
||||
textarea {
|
||||
font: 99% 'Century gothic', Verdana, Arial, Helvetica, Clean, sans-serif;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-bottom: 1em;
|
||||
text-shadow: 0px 1px 1px #F7F5F0;
|
||||
|
@ -100,13 +114,6 @@ h3 {
|
|||
font-size: .7em;
|
||||
}
|
||||
|
||||
select,
|
||||
input,
|
||||
button,
|
||||
textarea {
|
||||
font: 99% 'Century gothic', Verdana, Arial, Helvetica, Clean, sans-serif;
|
||||
}
|
||||
|
||||
#l10n-client h2 {
|
||||
text-shadow: none;
|
||||
}
|
||||
|
@ -144,7 +151,25 @@ a:hover,
|
|||
padding-left: 32px;
|
||||
}
|
||||
|
||||
/* Lists ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
ul.g-text li,
|
||||
.g-text ul li {
|
||||
list-style-type: disc;
|
||||
}
|
||||
|
||||
ol.g-text li,
|
||||
.g-text ol li {
|
||||
list-style-type: decimal;
|
||||
}
|
||||
|
||||
.g-text li,
|
||||
.g-text li {
|
||||
margin-left: 1em;
|
||||
}
|
||||
|
||||
/* Forms ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
form {
|
||||
margin: 0;
|
||||
}
|
||||
|
@ -335,6 +360,7 @@ td {
|
|||
}
|
||||
|
||||
/* Text ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.g-text-small {
|
||||
font-size: .8em;
|
||||
}
|
||||
|
@ -348,7 +374,7 @@ td {
|
|||
}
|
||||
|
||||
/** *******************************************************************
|
||||
* 2) Reusable content blocks
|
||||
* 2) Reusable content blocks
|
||||
*********************************************************************/
|
||||
|
||||
/* ~browny~ */
|
||||
|
@ -362,10 +388,11 @@ td {
|
|||
}
|
||||
|
||||
/*** ******************************************************************
|
||||
* 3) Page layout containers
|
||||
* 3) Page layout containers
|
||||
*********************************************************************/
|
||||
|
||||
/* Dimension and scale ~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.g-one-quarter {
|
||||
width: 25%;
|
||||
}
|
||||
|
@ -434,7 +461,7 @@ td {
|
|||
}
|
||||
|
||||
/** *******************************************************************
|
||||
* 4) Content blocks in specific layout containers
|
||||
* 4) Content blocks in specific layout containers
|
||||
*********************************************************************/
|
||||
|
||||
/* Header ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
@ -562,7 +589,8 @@ td {
|
|||
background-color: #fff;
|
||||
}
|
||||
|
||||
/* Permissions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
/* Permissions ~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
#g-edit-permissions-form td {
|
||||
background-image: none;
|
||||
}
|
||||
|
@ -675,11 +703,11 @@ tr.g-error td.g-error,
|
|||
}
|
||||
|
||||
tr.g-success {
|
||||
background-image: none;
|
||||
background-image: none;
|
||||
}
|
||||
|
||||
tr.g-success td.g-success {
|
||||
background-image: url('../images/ico-success.png');
|
||||
background-image: url('../images/ico-success.png');
|
||||
}
|
||||
|
||||
.g-warning,
|
||||
|
@ -767,7 +795,7 @@ form .g-error {
|
|||
}
|
||||
|
||||
/** *******************************************************************
|
||||
* 7) Navigation and menus
|
||||
* 7) Navigation and menus
|
||||
*********************************************************************/
|
||||
|
||||
/* Login menu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
@ -869,16 +897,7 @@ form .g-error {
|
|||
}
|
||||
|
||||
/** *******************************************************************
|
||||
* 8) ThemeRoller Theme
|
||||
**********************************************************************/
|
||||
/* ~browny~ */
|
||||
|
||||
/* ThemeRoller overrides ~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
@import "themeroller/ui.tabs.css";
|
||||
|
||||
/** *******************************************************************
|
||||
* 9) jQuery and jQuery UI
|
||||
* 8) jQuery and jQuery UI
|
||||
*********************************************************************/
|
||||
|
||||
/* Generic block container ~~~~~~~~~~~~~~~ */
|
||||
|
@ -893,18 +912,19 @@ form .g-error {
|
|||
}
|
||||
|
||||
/* Superfish menu overrides ~~~~~~~~~~~~~~ */
|
||||
|
||||
.sf-menu ul {
|
||||
width: 12em;
|
||||
width: 12em;
|
||||
}
|
||||
|
||||
ul.sf-menu li li:hover ul,
|
||||
ul.sf-menu li li.sfHover ul {
|
||||
left: 12em;
|
||||
left: 12em;
|
||||
}
|
||||
|
||||
ul.sf-menu li li li:hover ul,
|
||||
ul.sf-menu li li li.sfHover ul {
|
||||
left: 12em;
|
||||
left: 12em;
|
||||
}
|
||||
|
||||
/* ~browny~ */
|
||||
|
@ -915,13 +935,13 @@ ul.sf-menu li li li.sfHover ul {
|
|||
|
||||
/* ~browny~ */
|
||||
.sf-menu li {
|
||||
background: #d3b07e url('../images/ui-bg_highlight-soft_45_d3b07e_1x100.png') 50% 50% repeat-x;
|
||||
text-shadow: 0px 1px 1px #fff;
|
||||
background: #d3b07e url('../images/ui-bg_highlight-soft_45_d3b07e_1x100.png') 50% 50% repeat-x;
|
||||
text-shadow: 0px 1px 1px #fff;
|
||||
}
|
||||
|
||||
/* ~browny~ */
|
||||
.sf-menu a {
|
||||
border-top: 1px solid #e0cbae;
|
||||
border-top: 1px solid #e0cbae;
|
||||
}
|
||||
|
||||
/* ~browny~ */
|
||||
|
@ -932,7 +952,7 @@ ul.sf-menu li li li.sfHover ul {
|
|||
/* ~browny~ */
|
||||
.sf-menu li:hover, .sf-menu li.sfHover,
|
||||
.sf-menu a:focus, .sf-menu a:hover, .sf-menu a:active {
|
||||
background: #e0cbae;
|
||||
background: #e0cbae;
|
||||
}
|
||||
|
||||
/* jQuery UI Dialog ~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
@ -1005,11 +1025,11 @@ button {
|
|||
.g-progress-bar {
|
||||
height: 1em;
|
||||
width: 100%;
|
||||
margin-top: .5em;
|
||||
margin: .5em 0;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
/* Status and validation messages ~~~~ */
|
||||
/* Status and validation messages ~~~~~~~~ */
|
||||
|
||||
.g-message-block {
|
||||
background-position: .4em .3em;
|
||||
|
@ -1089,7 +1109,7 @@ div#g-action-status {
|
|||
width: 40%;
|
||||
}
|
||||
|
||||
/* Dialogs and panels ~~~~~~~~~~~~~~~~~~ */
|
||||
/* Dialogs and panels ~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
#g-dialog {
|
||||
text-align: left;
|
||||
|
@ -1108,7 +1128,7 @@ div#g-action-status {
|
|||
padding: 1em;
|
||||
}
|
||||
|
||||
/* Inline layout ~~~~~~~~~~ */
|
||||
/* Inline layout ~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.g-inline li {
|
||||
float: left;
|
||||
|
@ -1120,338 +1140,13 @@ div#g-action-status {
|
|||
margin-left: 0;
|
||||
}
|
||||
|
||||
/** *******************************************************************
|
||||
* 10) Right to left language styles
|
||||
*********************************************************************/
|
||||
.rtl {
|
||||
direction: rtl;
|
||||
}
|
||||
|
||||
.rtl #g-header,
|
||||
.rtl #g-content,
|
||||
.rtl #g-sidebar,
|
||||
.rtl #g-footer,
|
||||
.rtl caption,
|
||||
.rtl th,
|
||||
.rtl #g-dialog,
|
||||
.rtl .g-context-menu li a,
|
||||
.rtl .g-message-box li,
|
||||
.rtl #g-site-status li {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.rtl .g-text-right {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.rtl .g-error,
|
||||
.rtl .g-info,
|
||||
.rtl .g-success,
|
||||
.rtl .g-warning,
|
||||
.rtl #g-add-photos-status .g-success,
|
||||
.rtl #g-add-photos-status .g-error {
|
||||
background-position: center right;
|
||||
padding-right: 30px !important;
|
||||
}
|
||||
|
||||
.rtl form li.g-error,
|
||||
.rtl form li.g-info,
|
||||
.rtl form li.g-success,
|
||||
.rtl form li.g-warning {
|
||||
padding-right: 0 !important;
|
||||
}
|
||||
|
||||
.rtl .g-left,
|
||||
.rtl .g-inline li,
|
||||
.rtl #g-content #g-album-grid .g-item,
|
||||
.rtl .sf-menu li,
|
||||
.rtl .g-breadcrumbs li,
|
||||
.rtl .g-paginator li,
|
||||
.rtl .g-buttonset li,
|
||||
.rtl .ui-icon-left .ui-icon,
|
||||
.rtl .g-short-form li,
|
||||
.rtl form ul ul li,
|
||||
.rtl input[type="submit"],
|
||||
.rtl input[type="reset"],
|
||||
.rtl input.checkbox,
|
||||
.rtl input[type=checkbox],
|
||||
.rtl input.radio,
|
||||
.rtl input[type=radio] {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.rtl .g-right,
|
||||
.rtl .ui-icon-right .ui-icon {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.rtl .g-inline li {
|
||||
margin-right: 1em;
|
||||
}
|
||||
|
||||
.rtl .g-inline li.g-first {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
/* ~browny~ */
|
||||
.rtl .g-breadcrumbs li {
|
||||
background: transparent url('../images/ico-separator-rtl.gif') no-repeat scroll right center;
|
||||
padding: .5em 18px .5em 8px;
|
||||
}
|
||||
|
||||
.rtl .g-breadcrumbs .g-first {
|
||||
background: none;
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
.rtl input.checkbox {
|
||||
margin-left: .4em;
|
||||
}
|
||||
|
||||
.rtl #g-add-comment {
|
||||
right: inherit;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.rtl .ui-icon-left .ui-icon {
|
||||
margin-left: .2em;
|
||||
}
|
||||
|
||||
.rtl .ui-icon-right .ui-icon {
|
||||
margin-right: .2em;
|
||||
}
|
||||
|
||||
/* RTL Corner radius ~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
.rtl .g-buttonset .ui-corner-tl {
|
||||
-moz-border-radius-topleft: 0;
|
||||
-webkit-border-top-left-radius: 0;
|
||||
border-top-left-radius: 0;
|
||||
-moz-border-radius-topright: 5px !important;
|
||||
-webkit-border-top-right-radius: 5px !important;
|
||||
border-top-right-radius: 5px !important;
|
||||
}
|
||||
|
||||
.rtl .g-buttonset .ui-corner-tr {
|
||||
-moz-border-radius-topright: 0;
|
||||
-webkit-border-top-right-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
-moz-border-radius-topleft: 5px !important;
|
||||
-webkit-border-top-left-radius: 5px !important;
|
||||
border-top-left-radius: 5px !important;
|
||||
}
|
||||
|
||||
.rtl .g-buttonset .ui-corner-bl {
|
||||
-moz-border-radius-bottomleft: 0;
|
||||
-webkit-border-bottom-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
-moz-border-radius-bottomright: 5px !important;
|
||||
-webkit-border-bottom-right-radius: 5px !important;
|
||||
border-bottom-right-radius: 5px !important;
|
||||
}
|
||||
|
||||
.rtl .g-buttonset .ui-corner-br {
|
||||
-moz-border-radius-bottomright: 0;
|
||||
-webkit-border-bottom-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
-moz-border-radius-bottomleft: 5px !important;
|
||||
-webkit-border-bottom-left-radius: 5px !important;
|
||||
border-bottom-left-radius: 5px !important;
|
||||
}
|
||||
|
||||
.rtl .g-buttonset .ui-corner-right,
|
||||
.rtl .ui-progressbar .ui-corner-right {
|
||||
-moz-border-radius-topright: 0;
|
||||
-webkit-border-top-right-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
-moz-border-radius-topleft: 5px !important;
|
||||
-webkit-border-top-left-radius: 5px !important;
|
||||
border-top-left-radius: 5px !important;
|
||||
-moz-border-radius-bottomright: 0;
|
||||
-webkit-border-bottom-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
-moz-border-radius-bottomleft: 5px !important;
|
||||
-webkit-border-bottom-left-radius: 5px !important;
|
||||
border-bottom-left-radius: 5px !important;
|
||||
}
|
||||
|
||||
.rtl .g-buttonset .ui-corner-left,
|
||||
.rtl .ui-progressbar .ui-corner-left {
|
||||
-moz-border-radius-topleft: 0;
|
||||
-webkit-border-top-left-radius: 0;
|
||||
border-top-left-radius: 0;
|
||||
-moz-border-radius-topright: 5px !important;
|
||||
-webkit-border-top-right-radius: 5px !important;
|
||||
border-top-right-radius: 5px !important;
|
||||
-moz-border-radius-bottomleft: 0;
|
||||
-webkit-border-bottom-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
-moz-border-radius-bottomright: 5px !important;
|
||||
-webkit-border-bottom-right-radius: 5px !important;
|
||||
border-bottom-right-radius: 5px !important;
|
||||
}
|
||||
|
||||
/* RTL Superfish ~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.rtl .sf-menu a {
|
||||
border-left: none;
|
||||
border-right:1px solid #fff;
|
||||
}
|
||||
|
||||
.rtl .sf-menu a.sf-with-ul {
|
||||
padding-left: 2.25em;
|
||||
padding-right: 1em;
|
||||
}
|
||||
|
||||
.rtl .sf-sub-indicator {
|
||||
left: .75em !important;
|
||||
right: auto;
|
||||
background: url('../../../lib/superfish/images/arrows-ffffff-rtl.png') no-repeat -10px -100px; /* 8-bit indexed alpha png. IE6 gets solid image only */
|
||||
}
|
||||
.rtl a > .sf-sub-indicator { /* give all except IE6 the correct values */
|
||||
top: .8em;
|
||||
background-position: -10px -100px; /* use translucent arrow for modern browsers*/
|
||||
}
|
||||
/* apply hovers to modern browsers */
|
||||
.rtl a:focus > .sf-sub-indicator,
|
||||
.rtl a:hover > .sf-sub-indicator,
|
||||
.rtl a:active > .sf-sub-indicator,
|
||||
.rtl li:hover > a > .sf-sub-indicator,
|
||||
.rtl li.sfHover > a > .sf-sub-indicator {
|
||||
background-position: 0 -100px; /* arrow hovers for modern browsers*/
|
||||
}
|
||||
|
||||
/* point right for anchors in subs */
|
||||
.rtl .sf-menu ul .sf-sub-indicator { background-position: 0 0; }
|
||||
.rtl .sf-menu ul a > .sf-sub-indicator { background-position: -10px 0; }
|
||||
/* apply hovers to modern browsers */
|
||||
.rtl .sf-menu ul a:focus > .sf-sub-indicator,
|
||||
.rtl .sf-menu ul a:hover > .sf-sub-indicator,
|
||||
.rtl .sf-menu ul a:active > .sf-sub-indicator,
|
||||
.rtl .sf-menu ul li:hover > a > .sf-sub-indicator,
|
||||
.rtl .sf-menu ul li.sfHover > a > .sf-sub-indicator {
|
||||
background-position: 0 0; /* arrow hovers for modern browsers*/
|
||||
}
|
||||
|
||||
.rtl .sf-menu li:hover ul,
|
||||
.rtl .sf-menu li.sfHover ul {
|
||||
right: 0;
|
||||
left: auto;
|
||||
}
|
||||
|
||||
.rtl ul.sf-menu li li:hover ul,
|
||||
.rtl ul.sf-menu li li.sfHover ul {
|
||||
right: 12em; /* match ul width */
|
||||
left: auto;
|
||||
}
|
||||
.rtl ul.sf-menu li li li:hover ul,
|
||||
.rtl ul.sf-menu li li li.sfHover ul {
|
||||
right: 12em; /* match ul width */
|
||||
left: auto;
|
||||
}
|
||||
|
||||
/*** shadows for all but IE6 ***/
|
||||
.rtl .sf-shadow ul {
|
||||
background: url('../../../lib/superfish/images/shadow.png') no-repeat bottom left;
|
||||
padding: 0 0 9px 8px;
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
-moz-border-radius-topright: 0;
|
||||
-moz-border-radius-bottomleft: 0;
|
||||
-webkit-border-top-right-radius: 0;
|
||||
-webkit-border-bottom-left-radius: 0;
|
||||
-moz-border-radius-topleft: 17px;
|
||||
-moz-border-radius-bottomright: 17px;
|
||||
-webkit-border-top-left-radius: 17px;
|
||||
-webkit-border-bottom-right-radius: 17px;
|
||||
border-top-left-radius: 17px;
|
||||
border-bottom-right-radius: 17px;
|
||||
}
|
||||
|
||||
/* RTL ThemeRoller ~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.rtl .ui-dialog .ui-dialog-titlebar {
|
||||
padding: 0.5em 1em 0.3em 0.3em;
|
||||
}
|
||||
|
||||
.rtl .ui-dialog .ui-dialog-title {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.rtl .ui-dialog .ui-dialog-titlebar-close {
|
||||
left: 0.3em;
|
||||
right: auto;
|
||||
}
|
||||
|
||||
|
||||
/* RTL paginator ~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.rtl .g-paginator .g-info {
|
||||
width: 35%;
|
||||
}
|
||||
|
||||
.rtl .g-paginator .g-text-right {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.rtl .g-paginator .ui-icon-seek-end {
|
||||
background-position: -80px -160px;
|
||||
}
|
||||
|
||||
.rtl .g-paginator .ui-icon-seek-next {
|
||||
background-position: -48px -160px;
|
||||
}
|
||||
|
||||
.rtl .g-paginator .ui-icon-seek-prev {
|
||||
background-position: -32px -160px;
|
||||
}
|
||||
|
||||
.rtl .g-paginator .ui-icon-seek-first {
|
||||
background-position: -64px -160px;
|
||||
}
|
||||
|
||||
.rtl #g-header #g-login-menu,
|
||||
.rtl #g-header #g-quick-search-form {
|
||||
clear: left;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.rtl #g-header #g-login-menu li {
|
||||
margin-left: 0;
|
||||
padding-left: 0;
|
||||
padding-right: 1.2em;
|
||||
}
|
||||
|
||||
.rtl #g-site-menu {
|
||||
left: auto;
|
||||
right: 240px;
|
||||
}
|
||||
|
||||
.rtl #g-view-menu #g-slideshow-link {
|
||||
background-image: url('../images/ico-view-slideshow-rtl.png');
|
||||
}
|
||||
|
||||
.rtl #g-sidebar .g-block-content {
|
||||
padding-right: 1em;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.rtl #g-footer #g-credits li {
|
||||
padding-left: 1.2em !important;
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
/* ~browny~ */
|
||||
.rtl .g-even {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
/* ~browny~ */
|
||||
.rtl .g-odd {
|
||||
text-align: right;
|
||||
/* Autocomplete ~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
.ac_loading {
|
||||
background: white url('../images/loading-small.gif') right center no-repeat !important;
|
||||
}
|
||||
|
||||
/** *******************************************************************
|
||||
* 11) More Browny (Extra overrides for better Browny look)
|
||||
* 9) More Browny (Extra overrides for better Browny look)
|
||||
*********************************************************************/
|
||||
/* ~browny~ */
|
||||
|
||||
|
@ -1478,10 +1173,6 @@ div#g-action-status {
|
|||
background-color: #FAFAEB !important;
|
||||
}
|
||||
|
||||
.rtl .uploadifyQueueItem .cancel {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.uploadifyQueue {
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
@ -1533,35 +1224,6 @@ div#g-action-status {
|
|||
margin-bottom: .5em;
|
||||
}
|
||||
|
||||
.rtl #g-user-profile .g-block h2 {
|
||||
padding-right: .8em;
|
||||
padding-left: auto;
|
||||
}
|
||||
|
||||
.rtl #g-user-profile .g-avatar {
|
||||
float: right;
|
||||
right: 0em;
|
||||
left: auto;
|
||||
margin: 0em .6em 0em 0em;
|
||||
}
|
||||
|
||||
.rtl #g-user-profile #g-comment-detail .g-author a {
|
||||
float: right;
|
||||
right: 0em;
|
||||
left: auto;
|
||||
margin-left: .6em;
|
||||
margin-right: 0em;
|
||||
}
|
||||
|
||||
.rtl #g-user-profile #g-comment-detail div {
|
||||
margin-right: 5em;
|
||||
margin-left: 0em;
|
||||
}
|
||||
|
||||
.rtl #g-user-profile h1 {
|
||||
margin: 1.25em 4.4em 2em 0em;
|
||||
}
|
||||
|
||||
/* Comments ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
#g-content #g-comments .g-avatar {
|
||||
|
@ -1570,12 +1232,6 @@ div#g-action-status {
|
|||
margin-left: 0;
|
||||
}
|
||||
|
||||
.rtl #g-content #g-comments .g-avatar {
|
||||
float: right;
|
||||
margin-left: .4em;
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
/* Organize ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
#g-organize {
|
||||
|
@ -1609,11 +1265,6 @@ table.calendar td:hover {
|
|||
background: #EDE4D5 !important;
|
||||
}
|
||||
|
||||
.rtl #g-calendar-grid {
|
||||
padding-right: 8px;
|
||||
padding-left: 0px;
|
||||
}
|
||||
|
||||
#g-view-menu #g-calendarview-link {
|
||||
background-image: url('../images/ico-view-calendarview.png') !important;
|
||||
}
|
||||
|
|
|
@ -82,7 +82,7 @@ $(document).ready(function() {
|
|||
} else {
|
||||
var sib_height = $(this).prev().height();
|
||||
}
|
||||
if ($.browser.msie && $.browser.version >= 8) {
|
||||
if ($.browser.msie && $.browser.version <= 8) {
|
||||
sib_height = sib_height + 1;
|
||||
}
|
||||
$(this).css("height", sib_height);
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
name = "Browny Wind"
|
||||
description = "The default Wind theme with a browny style."
|
||||
version = 1
|
||||
author = "Ma'moun M. Diraneyya"
|
||||
author = "Mamouneyya"
|
||||
site = 1
|
||||
admin = 0
|
||||
author_name = ""
|
||||
author_name = "Ma'moun Diraneyya"
|
||||
author_url = ""
|
||||
info_url = "http://codex.gallery2.org/Gallery3:Themes:browny_wind"
|
||||
discuss_url = "http://gallery.menalto.com/forum_theme_browny_wind"
|
||||
discuss_url = "http://gallery.menalto.com/node/95007"
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -1,50 +1,43 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.") ?>
|
||||
<!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" xml:lang="en" lang="en">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" <?= $theme->html_attributes() ?> xml:lang="en" lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
|
||||
<? $theme->start_combining("script,css") ?>
|
||||
<title>
|
||||
<? if ($page_title): ?>
|
||||
<?= $page_title ?>
|
||||
<? else: ?>
|
||||
<? if ($theme->item()): ?>
|
||||
<? if ($theme->item()->is_album()): ?>
|
||||
<?= t("Browse Album :: %album_title", array("album_title" => $theme->item()->title)) ?>
|
||||
<? elseif ($theme->item()->is_photo()): ?>
|
||||
<?= t("Photo :: %photo_title", array("photo_title" => $theme->item()->title)) ?>
|
||||
<? else: ?>
|
||||
<?= t("Movie :: %movie_title", array("movie_title" => $theme->item()->title)) ?>
|
||||
<? endif ?>
|
||||
<?= $theme->item()->title ?>
|
||||
<? elseif ($theme->tag()): ?>
|
||||
<?= t("Browse Tag :: %tag_title", array("tag_title" => $theme->tag()->name)) ?>
|
||||
<?= t("Photos tagged with %tag_title", array("tag_title" => $theme->tag()->name)) ?>
|
||||
<? else: /* Not an item, not a tag, no page_title specified. Help! */ ?>
|
||||
<?= t("Gallery") ?>
|
||||
<?= item::root()->title ?>
|
||||
<? endif ?>
|
||||
<? endif ?>
|
||||
</title>
|
||||
<link rel="shortcut icon" href="<?= url::file(module::get_var("gallery", "favicon_url")) ?>" type="image/x-icon" />
|
||||
<?= $theme->css("yui/reset-fonts-grids.css") ?>
|
||||
<?= $theme->css("superfish/css/superfish.css") ?>
|
||||
<?= $theme->css("themeroller/ui.base.css") ?>
|
||||
<?= $theme->css("screen.css") ?>
|
||||
<!--[if lte IE 8]>
|
||||
<link rel="stylesheet" type="text/css" href="<?= $theme->url("css/fix-ie.css") ?>"
|
||||
media="screen,print,projection" />
|
||||
<![endif]-->
|
||||
<link rel="shortcut icon"
|
||||
href="<?= url::file(module::get_var("gallery", "favicon_url")) ?>"
|
||||
type="image/x-icon" />
|
||||
<link rel="apple-touch-icon-precomposed"
|
||||
href="<?= url::file(module::get_var("gallery", "apple_touch_icon_url")) ?>" />
|
||||
<? if ($theme->page_type == "collection"): ?>
|
||||
<? if ($thumb_proportion != 1): ?>
|
||||
<? $new_width = round($thumb_proportion * 213) ?>
|
||||
<? $new_height = round($thumb_proportion * 240) ?>
|
||||
<style type="text/css">
|
||||
.g-view #g-content #g-album-grid .g-item {
|
||||
width: <?= $new_width ?>px;
|
||||
height: <?= $new_height ?>px;
|
||||
/* <?= $thumb_proportion ?> */
|
||||
}
|
||||
</style>
|
||||
<style type="text/css">
|
||||
.g-view #g-content #g-album-grid .g-item {
|
||||
width: <?= $new_width ?>px;
|
||||
height: <?= $new_height ?>px;
|
||||
/* <?= $thumb_proportion ?> */
|
||||
}
|
||||
</style>
|
||||
<? endif ?>
|
||||
<? endif ?>
|
||||
|
||||
<?= $theme->script("json2-min.js") ?>
|
||||
<?= $theme->script("jquery.js") ?>
|
||||
<?= $theme->script("jquery.form.js") ?>
|
||||
<?= $theme->script("jquery-ui.js") ?>
|
||||
|
@ -57,9 +50,8 @@
|
|||
<?= $theme->script("gallery.dialog.js") ?>
|
||||
<?= $theme->script("superfish/js/superfish.js") ?>
|
||||
<?= $theme->script("jquery.localscroll.js") ?>
|
||||
<?= $theme->script("ui.init.js") ?>
|
||||
|
||||
<? /* These are page specific, but if we put them before $theme->head() they get combined */ ?>
|
||||
<? /* These are page specific but they get combined */ ?>
|
||||
<? if ($theme->page_subtype == "photo"): ?>
|
||||
<?= $theme->script("jquery.scrollTo.js") ?>
|
||||
<?= $theme->script("gallery.show_full_size.js") ?>
|
||||
|
@ -68,6 +60,26 @@
|
|||
<? endif ?>
|
||||
|
||||
<?= $theme->head() ?>
|
||||
|
||||
<? /* Theme specific CSS/JS goes last so that it can override module CSS/JS */ ?>
|
||||
<?= $theme->script("ui.init.js") ?>
|
||||
<?= $theme->css("yui/reset-fonts-grids.css") ?>
|
||||
<?= $theme->css("superfish/css/superfish.css") ?>
|
||||
<?= $theme->css("themeroller/ui.base.css") ?>
|
||||
<?= $theme->css("screen.css") ?>
|
||||
<? if (locales::is_rtl()): ?>
|
||||
<?= $theme->css("screen-rtl.css") ?>
|
||||
<? endif; ?>
|
||||
<!--[if lte IE 8]>
|
||||
<link rel="stylesheet" type="text/css" href="<?= $theme->url("css/fix-ie.css") ?>"
|
||||
media="screen,print,projection" />
|
||||
<![endif]-->
|
||||
|
||||
<!-- LOOKING FOR YOUR CSS? It's all been combined into the link below -->
|
||||
<?= $theme->get_combined("css") ?>
|
||||
|
||||
<!-- LOOKING FOR YOUR JAVASCRIPT? It's all been combined into the link below -->
|
||||
<?= $theme->get_combined("script") ?>
|
||||
</head>
|
||||
|
||||
<body <?= $theme->body_attributes() ?>>
|
||||
|
@ -80,7 +92,7 @@
|
|||
<?= $header_text ?>
|
||||
<? else: ?>
|
||||
<a id="g-logo" class="g-left" href="<?= item::root()->url() ?>" title="<?= t("go back to the Gallery home")->for_html_attr() ?>">
|
||||
<img alt="<?= t("Gallery logo: Your photos on your web site")->for_html_attr() ?>" src="<?= $theme->url("images/logo.png") ?>" />
|
||||
<img alt="<?= t("Gallery logo: Your photos on your web site")->for_html_attr() ?>" src="<?= url::file("lib/images/logo.png") ?>" />
|
||||
</a>
|
||||
<? endif ?>
|
||||
<?= $theme->user_menu() ?>
|
||||
|
|
2
3.0/themes/pear4gallery3/.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
icons/depricated
|
||||
temp/
|
|
@ -0,0 +1,327 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
|
||||
/*
|
||||
*/
|
||||
?>
|
||||
<?
|
||||
class Admin_Theme_Options_Controller extends Admin_Controller {
|
||||
|
||||
protected $min_gallery_ver = 46;
|
||||
|
||||
private function load_theme_info() {
|
||||
$theme_id = module::get_var("gallery", "active_site_theme");
|
||||
$file = THEMEPATH . "$theme_id/theme.info";
|
||||
$theme_info = new ArrayObject(parse_ini_file($file), ArrayObject::ARRAY_AS_PROPS);
|
||||
return $theme_info;
|
||||
}
|
||||
|
||||
private function get_theme_version() {
|
||||
$theme_info = $this->load_theme_info();
|
||||
return ($theme_info->version);
|
||||
}
|
||||
|
||||
private function get_theme_name() {
|
||||
$theme_info = $this->load_theme_info();
|
||||
return ($theme_info->name);
|
||||
}
|
||||
|
||||
private function prerequisite_check($group, $id, $is_ok, $caption, $caption_ok, $caption_failed, $iswarning, $msg_error) {
|
||||
$confirmation_caption = ($is_ok)? $caption_ok : $caption_failed;
|
||||
$checkbox = $group->checkbox($id)
|
||||
->label($caption . " " . $confirmation_caption)
|
||||
->checked($is_ok)
|
||||
->disabled(true);
|
||||
if ($is_ok):
|
||||
$checkbox->class("g-success");
|
||||
elseif ($iswarning):
|
||||
$checkbox->class("g-prerequisite g-warning")->error_messages("failed", $msg_error)->add_error("failed", 1);
|
||||
else:
|
||||
$checkbox->class("g-error")->error_messages("failed", $msg_error)->add_error("failed", 1);
|
||||
endif;
|
||||
}
|
||||
|
||||
/* Convert old values ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
protected function upgrade_settings() {
|
||||
if (module::get_var("th_pear4gallery3", "show_logo")):
|
||||
module::clear_var("th_pear4gallery3", "show_logo");
|
||||
module::set_var("th_pear4gallery3", "hide_logo", FALSE);
|
||||
endif;
|
||||
}
|
||||
|
||||
protected function get_edit_form_admin() {
|
||||
$this->upgrade_settings();
|
||||
|
||||
$form = new Forge("admin/theme_options/save/", "", null, array("id" =>"g-theme-options-form"));
|
||||
|
||||
// Just commenting out, we might want rssmodule in future versions.
|
||||
// $rssmodulecheck = (module::is_active("rss") && module::info("rss"));
|
||||
|
||||
/* Prerequisites ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
$group = $form->group("requirements")->label(t("Prerequisites"));
|
||||
$gallery_ver = module::get_version("gallery");
|
||||
$this->prerequisite_check($group, "vercheck", $gallery_ver >= $this->min_gallery_ver,
|
||||
t("Gallery 3 Core v.") . $this->min_gallery_ver . "+", t("Installed"), t("Required"), FALSE, sprintf(t("Check Failed. Minimum Required Version is %s. Found %s."), $this->min_gallery_ver, $gallery_ver));
|
||||
$this->prerequisite_check($group, "square_thumbs", (module::is_active("square_thumbs") and module::info("square_thumbs")),
|
||||
t("Square Thumbnails"), t("Found"), t("Required"), FALSE, t("Install <a href=\"http://codex.gallery2.org/Gallery3:Modules:square_thumbs\">Square Thumbnails</a> to display Thumbs correctly."));
|
||||
if (!module::get_var("th_pear4gallery3", "hide_thumbmeta")):
|
||||
$this->prerequisite_check($group, "info", (module::is_active("info") and module::info("info")),
|
||||
t("Info Module"), t("Found"), t("Required"), FALSE, t("Check Failed. Module is required to display Thumb metadata."));
|
||||
endif;
|
||||
|
||||
/* General Settings ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
$group = $form->group("edit_theme")->label(t("General Settings"));
|
||||
$group->input("favicon")
|
||||
->label(t("URL (or relative path) to your favicon.ico"))
|
||||
->value(module::get_var("gallery", "favicon_url"));
|
||||
$group->input("appletouchicon")
|
||||
->label(t("URL (or relative path) to your apple-touch-icon.png"))
|
||||
->value(module::get_var("gallery", "appletouchicon_url"));
|
||||
|
||||
/* Advanced Options - General ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
$group = $form->group("edit_theme_adv_main")->label(t("Advanced Options - General"));
|
||||
$group->checkbox("hide_logo")
|
||||
->label(t("Hide Bottom Pear Logo"))
|
||||
->checked(module::get_var("th_pear4gallery3", "hide_logo"));
|
||||
$group->dropdown("mainmenu_view")
|
||||
->label(t("Main page View"))
|
||||
->options(array("grid" => t("Grid (Default)"), "mosaic" => t("Mosaic")))
|
||||
->selected(module::get_var("th_pear4gallery3", "mainmenu_view"));
|
||||
$group->checkbox("show_guest_menu")
|
||||
->label(t("Show Main Menu for Guest Users"))
|
||||
->checked(module::get_var("th_pear4gallery3", "show_guest_menu"));
|
||||
$group->dropdown("background")
|
||||
->label(t("Background color"))
|
||||
->options(array("black" => t("Black (Default)"), "dkgrey" => t("Dark-Grey"), "ltgrey" => t("Light-Grey"), "white" => t("White")))
|
||||
->selected(module::get_var("th_pear4gallery3", "background"));
|
||||
$group->input("ga_code")
|
||||
->label(t("<a href=\"http://www.google.com/analytics/\">Google analytics</a> code."))
|
||||
->value(module::get_var("th_pear4gallery3", "ga_code"));
|
||||
|
||||
/* Advanced Options - Photo page ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
/*
|
||||
$group = $form->group("edit_theme_adv_photo")->label(t("Advanced Options - Photo Page"));
|
||||
$group->dropdown("photo_popupbox")
|
||||
->label(t($sb_fb_caption) . " " . t("Mode"))
|
||||
->options(array("default" => t("Default (Slideshow/Preview)"), "preview" => t("Preview Only"), "none" => t("Disable")))
|
||||
->selected(module::get_var("th_pear4gallery3", "photo_popupbox"));
|
||||
$group->dropdown("photo_descmode")
|
||||
->label(t("Description Display Mode"))
|
||||
->options(array("overlay_top" => t("Overlay Top"), "overlay_bottom" => t("Overlay Bottom"), "bottom" => t("Bottom"), "top" => t("Top"), "hide" => t("Hide")))
|
||||
->selected(module::get_var("th_pear4gallery3", "photo_descmode"));
|
||||
$group->checkbox("thumb_inpage")
|
||||
->label(t("Keep Thumb Nav Block on the side"))
|
||||
->checked(module::get_var("th_pear4gallery3", "thumb_inpage"));
|
||||
if (!$thumbnavcheck):
|
||||
$group->thumb_inpage->disabled(true);
|
||||
endif;
|
||||
$group->checkbox("hide_photometa")
|
||||
->label(t("Hide Item Meta Data"))
|
||||
->checked(module::get_var("th_pear4gallery3", "hide_photometa", TRUE));
|
||||
$group->checkbox("desc_allowbbcode")
|
||||
->label(t("Allow BBCode/HTML in Descriptions"))
|
||||
->checked(module::get_var("th_pear4gallery3", "desc_allowbbcode"));
|
||||
*/
|
||||
/* Maintenance ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
$group = $form->group("maintenance")->label(t("Maintenance"));
|
||||
$group->checkbox("build_resize")->label(t("Mark all Image Resizes for Rebuild"))->checked(false);
|
||||
$group->checkbox("build_thumbs")->label(t("Mark all Thumbnails for Rebuild"))->checked(false);
|
||||
$group->checkbox("build_exif")->label(t("Mark Exif Info data for reload"))->checked(false);
|
||||
if ($iptccheck):
|
||||
$group->checkbox("build_iptc")->label(t("Mark IPTC Info data for reload"))->checked(false);
|
||||
endif;
|
||||
$group->checkbox("purge_cache")->label(t("Purge cache data"))->checked(false);
|
||||
$group->checkbox("reset_theme")->label(t("Reset Theme to a Default State"))->checked(false);
|
||||
|
||||
module::event("theme_edit_form", $form);
|
||||
|
||||
$form->submit("g-theme-options-save")->value(t("Save Changes"));
|
||||
|
||||
return $form;
|
||||
}
|
||||
|
||||
protected function get_edit_form_help() {
|
||||
$help = '<fieldset>';
|
||||
$help .= '<legend>Help</legend><ul>';
|
||||
$help .= '<li><h3>Prerequisites</h3>
|
||||
<p style="color: red;">Requirements need to be met for theme to function properly.
|
||||
</li>';
|
||||
|
||||
$help .= '<li><h3>General Settings</h3>
|
||||
</li>';
|
||||
|
||||
$help .= '<li><h3>Advanced Options - General</h3>
|
||||
</li>';
|
||||
$help .= '<li><h3>Advanced Options - Photo Page</h3>
|
||||
</li>';
|
||||
$help .= '<li><h3>Maintenance</h3>
|
||||
<p>Without changing image size, you can <b>Mark all Resizes for Rebuild</b>.
|
||||
Then you need to visit Admin\Maintenance to initiate the process.
|
||||
<p>Same can be done for image thumbs with <b>Mark all Thumbnails for Rebuild</b>.
|
||||
<p><b>Mark Exif/IPTC Info for reload</b> would mark all Exif or IPTC records as "Dirty" allowing it to be repopulated.
|
||||
<p>And just in case you think that something is not right, you can always <b>Reset Theme to a Default State</b>.
|
||||
</li>';
|
||||
$help .= '</ul></fieldset>';
|
||||
return t($help);
|
||||
}
|
||||
|
||||
private function save_item_state($statename, $state, $value) {
|
||||
if ($state):
|
||||
module::set_var("th_pear4gallery3", $statename, $value);
|
||||
else:
|
||||
module::clear_var("th_pear4gallery3", $statename);
|
||||
endif;
|
||||
}
|
||||
|
||||
protected function legacy() {
|
||||
module::clear_var("th_pear4gallery3", "hide_logo");
|
||||
module::clear_var("th_pear4gallery3", "mainmenu_view");
|
||||
module::clear_var("th_pear4gallery3", "show_guest_menu");
|
||||
module::clear_var("th_pear4gallery3", "background");
|
||||
module::clear_var("th_pear4gallery3", "ga_code");
|
||||
}
|
||||
|
||||
protected function reset_theme() {
|
||||
// Default core theme settings
|
||||
module::set_var("gallery", "page_size", 9);
|
||||
module::set_var("gallery", "resize_size", 640);
|
||||
module::set_var("gallery", "thumb_size", 200);
|
||||
module::set_var("gallery", "header_text", "");
|
||||
module::set_var("gallery", "footer_text", "");
|
||||
module::set_var("gallery", "show_credits", FALSE);
|
||||
module::clear_all_vars("th_pear4gallery3");
|
||||
module::clear_var("th_pear4gallery3", "hide_logo");
|
||||
}
|
||||
|
||||
public function save() {
|
||||
site_status::clear("gd_init_configuration");
|
||||
access::verify_csrf();
|
||||
|
||||
$form = self::get_edit_form_admin();
|
||||
|
||||
if ($form->validate()):
|
||||
$this->legacy();
|
||||
|
||||
if ($form->maintenance->reset_theme->value):
|
||||
$this->reset_theme();
|
||||
module::event("theme_edit_form_completed", $form);
|
||||
message::success(t("Theme details are reset"));
|
||||
else:
|
||||
// * General Settings ****************************************************
|
||||
|
||||
$resize_size = 800;
|
||||
|
||||
$build_resize = $form->maintenance->build_resize->value;
|
||||
$build_thumbs = $form->maintenance->build_thumbs->value;
|
||||
$build_exif = $form->maintenance->build_exif->value;
|
||||
if (module::is_active("iptc") and module::info("iptc")):
|
||||
$build_iptc = $form->maintenance->build_iptc->value;
|
||||
else:
|
||||
$build_iptc = FALSE;
|
||||
endif;
|
||||
$purge_cache = $form->maintenance->purge_cache->value;
|
||||
|
||||
$thumb_descmode_a = $form->edit_theme_adv_thumb->thumb_descmode_a->value;
|
||||
$thumb_descmode = $form->edit_theme_adv_thumb->thumb_descmode->value;
|
||||
$thumb_metamode = $form->edit_theme_adv_thumb->thumb_metamode->value;
|
||||
$photo_descmode = $form->edit_theme_adv_photo->photo_descmode->value;
|
||||
$photo_popupbox = $form->edit_theme_adv_photo->photo_popupbox->value;
|
||||
|
||||
if ($build_resize):
|
||||
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);
|
||||
endif;
|
||||
|
||||
if (module::get_var("gallery", "resize_size") != $resize_size):
|
||||
module::set_var("gallery", "resize_size", $resize_size);
|
||||
endif;
|
||||
|
||||
$thumb_size = 200;
|
||||
$rule = Image::AUTO;
|
||||
|
||||
if ($build_thumbs):
|
||||
graphics::remove_rule("gallery", "thumb", "gallery_graphics::resize");
|
||||
graphics::add_rule("gallery", "thumb", "gallery_graphics::resize",
|
||||
array("width" => $thumb_size, "height" => $thumb_size, "master" => $rule), 100);
|
||||
endif;
|
||||
|
||||
if (module::get_var("gallery", "thumb_size") != $thumb_size):
|
||||
module::set_var("gallery", "thumb_size", $thumb_size);
|
||||
endif;
|
||||
|
||||
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);
|
||||
|
||||
$this->save_item_state("logo_path", $form->edit_theme->logo_path->value, $form->edit_theme->logo_path->value);
|
||||
|
||||
// * Advanced Options - General ******************************************
|
||||
|
||||
$this->save_item_state("hide_logo", $form->edit_theme_adv_main->hide_logo->value, TRUE);
|
||||
$this->save_item_state("mainmenu_view", $form->edit_theme_adv_main->mainmenu_view->value != "grid", $form->edit_theme_adv_main->mainmenu_view->value);
|
||||
$this->save_item_state("show_guest_menu",$form->edit_theme_adv_main->show_guest_menu->value, TRUE);
|
||||
$this->save_item_state("background", $form->edit_theme_adv_main->background->value != "black", $form->edit_theme_adv_main->background->value);
|
||||
$this->save_item_state("ga_code", $form->edit_theme_adv_main->ga_code->value, $form->edit_theme_adv_main->ga_code->value);
|
||||
|
||||
// * Advanced Options - Photo page ***************************************
|
||||
/*
|
||||
$this->save_item_state("photo_descmode", $photo_descmode != "overlay_top", $photo_descmode);
|
||||
$this->save_item_state("photo_popupbox", $photo_popupbox != "default", $photo_popupbox);
|
||||
$this->save_item_state("thumb_inpage", $form->edit_theme_adv_photo->thumb_inpage->value, TRUE);
|
||||
$this->save_item_state("hide_photometa", !$form->edit_theme_adv_photo->hide_photometa->value, FALSE);
|
||||
$this->save_item_state("desc_allowbbcode", $form->edit_theme_adv_photo->desc_allowbbcode->value, TRUE);
|
||||
*/
|
||||
|
||||
module::event("theme_edit_form_completed", $form);
|
||||
|
||||
if ($_priorratio != $thumb_ratio):
|
||||
message::warning(t("Thumb aspect ratio has been changed. Consider rebuilding thumbs if needed."));
|
||||
endif;
|
||||
|
||||
message::success(t("Updated theme details"));
|
||||
|
||||
if ($build_exif):
|
||||
db::update('exif_records')
|
||||
->set(array('dirty'=>'1'))
|
||||
->execute();
|
||||
endif;
|
||||
|
||||
if ($build_iptc):
|
||||
db::update('iptc_records')
|
||||
->set(array('dirty'=>'1'))
|
||||
->execute();
|
||||
endif;
|
||||
|
||||
if ($purge_cache):
|
||||
db::build()
|
||||
->delete("caches")
|
||||
->execute();
|
||||
endif;
|
||||
endif;
|
||||
url::redirect("admin/theme_options");
|
||||
else:
|
||||
print $this->get_admin_view();
|
||||
endif;
|
||||
}
|
||||
|
||||
protected function get_admin_view() {
|
||||
$view = new Admin_View("admin.html");
|
||||
$view->page_title = t(".Pear Theme");
|
||||
$view->content = new View("admin_theme_options.html");
|
||||
$view->content->name = self::get_theme_name();
|
||||
$view->content->version = self::get_theme_version();
|
||||
$view->content->form = self::get_edit_form_admin();
|
||||
$view->content->help = self::get_edit_form_help();
|
||||
return $view;
|
||||
}
|
||||
|
||||
public function index() {
|
||||
site_status::clear("gd_init_configuration");
|
||||
print $this->get_admin_view();
|
||||
}
|
||||
}
|
||||
?>
|
90
3.0/themes/pear4gallery3/admin/views/admin_include.html.php
Normal file
|
@ -0,0 +1,90 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Grey Dragon Theme - a custom theme for Gallery 3
|
||||
* This theme was designed and built by Serguei Dosyukov, whose blog you will find at http://blog.dragonsoft.us
|
||||
* Copyright (C) 2009-2011 Serguei Dosyukov
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
?>
|
||||
<style>
|
||||
#g-header { margin-bottom: 10px; }
|
||||
#gd-admin { position: relative; font-size: 0.9em; }
|
||||
#gd-admin legend { width: 99.5%; padding: 0.4em 0.8em; margin-left: -11px; background: url(/themes/greydragon/images/blue-grad.png) #d5e6f2 repeat-x left top; border: #dfdfdf 1px solid;}
|
||||
|
||||
.g-admin-left { float: left; width: 53%; }
|
||||
.g-admin-right { float: left; width: 46%; margin-left: 1%; margin-top: 1em; }
|
||||
.g-admin-right h3 { border-bottom: #a2bdbf 1px solid; margin-top: 0.3em; margin-bottom: 0.3em; }
|
||||
|
||||
#gd-admin-head { position: relative; height: auto; clear: both; display: block; overflow: auto; font-size: 11px; padding: 0.4em 0.8em; background-color: #b7c9d6; border: #a2bdbf 1px solid; }
|
||||
#gd-admin-title { float: left; color: #333v42; font-weight: bold; font-size: 1.6em; text-shadow: #deeefa 0 1px 0; }
|
||||
#gd-admin-hlinks ul { float: right; margin-top: 0.4em; font-size: 11px; }
|
||||
#gd-admin-hlinks li { list-style-type: none; float: left; color: #618299; display: inline; }
|
||||
#gd-admin-hlinks a { font-weight: bold; font-size: 13px; }
|
||||
|
||||
#gd-admin form { border: none; }
|
||||
#gd-admin fieldset { border: #ccc 1px solid; }
|
||||
#gd-admin input.g-error { padding-left: 30px; border: none; }
|
||||
#gd-admin input.g-success { background-color: transparent; }
|
||||
#gd-admin input.g-warning { background-color: transparent; border: none; }
|
||||
#gd-admin p.g-error { padding-left: 30px; border: none; margin-bottom: 0; background-image: none; }
|
||||
|
||||
#g-content { padding: 0 1em; width: 97%; font-size: 1em; }
|
||||
#g-content form ul li input { display: inline; float: left; margin-right: 0.8em; }
|
||||
#g-content form ul li select { display: inline; float: left; margin-right: 0.8em; width: 50.6%; padding: 0 0 0 .2em; }
|
||||
#g-content form ul li input[type='text'] { width: 50%; }
|
||||
#g-content form ul li textarea { height: 6em; }
|
||||
#g-content form input[type="submit"] { border: #5b86ab 2px solid; padding: 0.3em; color: #fff; background: url(/themes/greydragon/images/button-grad-vs.png) #5580a6 repeat-x left top; }
|
||||
#g-content form input[type="submit"]:hover,
|
||||
input.ui-state-hover { background-image: url(/themes/greydragon/images/button-grad-active-vs.png); border-color: #2e5475; color: #eaf2fa !important; }
|
||||
#g-content form #vercheck, #g-content form #shadowbox, #g-content form #organizecheck { display: none; }
|
||||
</style>
|
||||
|
||||
<script>
|
||||
$(document).ready( function() {
|
||||
$('form').submit( function() {
|
||||
$('input[type=submit]', this).attr('disabled', 'disabled');
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<?
|
||||
if ($is_module):
|
||||
$admin_info = new ArrayObject(parse_ini_file(MODPATH . $name . "/module.info"), ArrayObject::ARRAY_AS_PROPS);
|
||||
$version = number_format($admin_info->version / 10, 1, '.', '');
|
||||
else:
|
||||
$admin_info = new ArrayObject(parse_ini_file(THEMEPATH . $name . "/theme.info"), ArrayObject::ARRAY_AS_PROPS);
|
||||
$version = $admin_info->version;
|
||||
endif;
|
||||
?>
|
||||
|
||||
<div id="gd-admin" class="g-block">
|
||||
<div id="gd-admin-head">
|
||||
<div id="gd-admin-title"><?= t($admin_info->name) ?> - <?= $version ?></div>
|
||||
<div id="gd-admin-hlinks">
|
||||
<ul><li><a href="http://codex.gallery2.org/Gallery3:Themes:pear4gallery3" target="_blank"><?= t("Home") ?></a> | </li>
|
||||
<? if (isset($admin_info->support)): ?>
|
||||
<li><a href="<?= $admin_info->support; ?>" target="_blank"><?= t("Support") ?></a> | </li>
|
||||
<? endif; ?>
|
||||
<? if (isset($admin_info->download)): ?>
|
||||
<li><a href="<?= $admin_info->download; ?>" target="_blank"><?= t("Download") ?></a> | </li>
|
||||
<? endif; ?>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="g-block-content g-admin-left">
|
||||
<?= $form ?>
|
||||
</div>
|
||||
<div class="g-admin-right">
|
||||
<?= $help ?>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,14 @@
|
|||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
*/
|
||||
?>
|
||||
<?
|
||||
$view = new View("admin_include.html");
|
||||
|
||||
$view->is_module = FALSE;
|
||||
$view->name = module::get_var("gallery", "active_site_theme");
|
||||
$view->form = $form;
|
||||
$view->help = $help;
|
||||
print $view;
|
||||
?>
|
||||
|
59
3.0/themes/pear4gallery3/css/fix-ie.css
Normal file
|
@ -0,0 +1,59 @@
|
|||
/**
|
||||
* Fix display in IE 6, 7, and 8
|
||||
*/
|
||||
|
||||
#g-banner {
|
||||
z-index: 2;
|
||||
zoom: 1;
|
||||
}
|
||||
|
||||
#g-sidebar {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#g-photo,
|
||||
#g-movie {
|
||||
zoom: 1;
|
||||
}
|
||||
|
||||
#g-photo .g-context-menu,
|
||||
#g-movie .g-context-menu {
|
||||
width: 240px;
|
||||
}
|
||||
|
||||
input.submit {
|
||||
clear: none !important;
|
||||
display: inline !important;
|
||||
}
|
||||
|
||||
.g-short-form input.text,
|
||||
.g-short-form input.submit {
|
||||
font-size: 1em;
|
||||
line-height: 1em;
|
||||
padding: .38em .3em;
|
||||
}
|
||||
|
||||
#g-search-form input#q {
|
||||
width: 300px;
|
||||
}
|
||||
|
||||
#g-add-tag-form input.textbox {
|
||||
width: 110px !important;
|
||||
}
|
||||
|
||||
#g-add-tag-form input[type='submit'] {
|
||||
padding: .3em 0 !important;
|
||||
}
|
||||
|
||||
#g-dialog .g-cancel {
|
||||
display: inline-block !important;
|
||||
float: none !important;
|
||||
}
|
||||
|
||||
.g-paginator .g-text-right {
|
||||
width: 29%;
|
||||
}
|
||||
|
||||
.g-paginator .ui-icon-right {
|
||||
width: 60px;
|
||||
}
|
1
3.0/themes/pear4gallery3/css/imageflow.packed.css
Normal file
|
@ -0,0 +1 @@
|
|||
@charset "utf-8"; @media screen, projection{.imageflow{overflow:hidden; position:relative; text-align:left; visibility:hidden; width:100%}.imageflow img{border:none; position:absolute; top:0px; visibility:hidden; -ms-interpolation-mode:bicubic}.imageflow p{margin:0 auto; text-align:center}.imageflow .loading{border:1px solid white; height:15px; left:50%; margin-left:-106px; padding:5px; position:relative; visibility:visible; width:200px}.imageflow .loading_bar{background:#fff; height:15px; visibility:visible; width:1%}.imageflow .navigation{z-index:10000}.imageflow .caption{font-weight:bold; position:relative; text-align:center; z-index:10001}.imageflow .scrollbar{border-bottom:1px solid #b3b3b3; position:relative; visibility:hidden; z-index:10002; height:1px}.imageflow .slider{background:url(../icons/slider.png) no-repeat; height:14px; margin:-6px 0 0 -7px; position:absolute; width:14px; z-index:10003}.imageflow .slideshow{cursor:pointer; height:14px; margin:20px 0 0 20px; position:absolute; width:14px; z-index:10003}.imageflow .slideshow.pause{background:url(../icons/button_pause.png) no-repeat}.imageflow .slideshow.play{background:url(../icons/button_play.png) no-repeat}.imageflow .images{overflow:hidden; white-space:nowrap}.imageflow .button{cursor:pointer; height:17px; position:relative; width:17px}.imageflow .previous{background:url(../icons/button_left.png) top left no-repeat; float:left; margin:-7px 0 0 -30px}.imageflow .next{background:url(../icons/button_right.png) top left no-repeat; float:right; margin:-7px -30px 0 30px}}
|
145
3.0/themes/pear4gallery3/css/pear.css
Normal file
|
@ -0,0 +1,145 @@
|
|||
.gallery-thumb {
|
||||
float: left;
|
||||
margin-bottom: 5px;
|
||||
margin-left: 5px;
|
||||
margin-right: 5px;
|
||||
position: relative;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.gallery-album {
|
||||
display: block;
|
||||
height: 400px;
|
||||
overflow: auto;
|
||||
padding-bottom: 10px;
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
||||
th, td {
|
||||
padding: 0;
|
||||
border-width: 0;
|
||||
}
|
||||
|
||||
.giInfo {
|
||||
color: #888888;
|
||||
font-family: Verdana, Arial, Helvetica, sans-serif;
|
||||
font-size: 9px;
|
||||
height: 11px;
|
||||
margin-bottom: 0px;
|
||||
margin-left: 12px;
|
||||
margin-right: 0px;
|
||||
text-align: left;
|
||||
}
|
||||
.pear {
|
||||
font-family: Verdana, Arial, Helvetica, sans-serif;
|
||||
font-size: 10px;
|
||||
color: #999 !important;
|
||||
background-color: #000;
|
||||
}
|
||||
.giTitle {
|
||||
font-size: 1.1em;
|
||||
font-weight: bold;
|
||||
margin: 3px 10px !important;
|
||||
padding: 0 0;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#gsNavBar div {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 1.1em;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.center {
|
||||
text-align: center !important;
|
||||
}
|
||||
|
||||
#g-header {
|
||||
margin-top: -2px;
|
||||
position: fixed;
|
||||
top: 44px;
|
||||
width: 100%;
|
||||
z-index: 50;
|
||||
}
|
||||
/*Menu*/
|
||||
.sf-menu li:hover, .sf-menu li.sfHover, .sf-menu a:focus, .sf-menu a:hover, .sf-menu a:active {
|
||||
background: none repeat scroll 0 0 #333333;
|
||||
outline: 0 none;
|
||||
}
|
||||
.sf-menu li {
|
||||
background: none repeat scroll 0 0 #000000;
|
||||
float: left;
|
||||
position: relative;
|
||||
}
|
||||
.sf-menu li li, .sf-menu li li ul li {
|
||||
background-color: #000;
|
||||
}
|
||||
.sf-menu ul {
|
||||
background: none repeat scroll 0 0 #000000;
|
||||
}
|
||||
.sf-menu, .sf-menu * {
|
||||
list-style: none outside none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
a, .g-menu a, #g-dialog a, .g-button, .g-button:hover, .g-button:active, a.ui-state-hover, input.ui-state-hover, button.ui-state-hover {
|
||||
color: #777777 !important;
|
||||
cursor: pointer !important;
|
||||
text-decoration: none;
|
||||
}
|
||||
.sf-menu a, .sf-menu a:visited {
|
||||
color: #555555;
|
||||
}
|
||||
.sf-menu a {
|
||||
border-left: 1px solid #333;
|
||||
border-top: 1px solid #222;
|
||||
padding: 0.75em 1em;
|
||||
text-decoration: none;
|
||||
display: block;
|
||||
position: relative;
|
||||
}
|
||||
.ui-state-default, .ui-widget-content .ui-state-default {
|
||||
background: #ccc;
|
||||
border: 1px solid #C5DBEC;
|
||||
color: #555
|
||||
font-weight: bold;
|
||||
outline: medium none;
|
||||
}
|
||||
#g-banner {
|
||||
background-color: #555;
|
||||
border-bottom: 1px solid #333333;
|
||||
min-height: 5em;
|
||||
padding: 1em 20px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.g-paginator {
|
||||
margin-bottom: 5px;
|
||||
margin-left: 15px;
|
||||
margin-right: 15px;
|
||||
padding-top: 6px;
|
||||
}
|
||||
|
||||
a.buttonFirst { background-position: 0px 0px !important; }
|
||||
a.buttonFirst:hover { background-position: -15px 0px !important; }
|
||||
a.buttonPrev { background-position: 0px -15px !important; }
|
||||
a.buttonPrev:hover { background-position: -15px -15px !important; }
|
||||
a.buttonNext { background-position: 0px -30px !important;}
|
||||
a.buttonNext:hover { background-position: -15px -30px !important;}
|
||||
a.buttonLast { background-position: 0px -45px !important; }
|
||||
a.buttonLast:hover { background-position: -15px -45px !important; }
|
||||
|
||||
a.buttonNext, a.buttonLast { float: right; }
|
||||
a.buttonFirst, a.buttonPrev { float: left; }
|
||||
|
||||
.g-paginator .buttonAction {
|
||||
background: url("../icons/paginator.gif") no-repeat 0 0;
|
||||
height: 15px;
|
||||
width: 15px;
|
||||
margin-left: 0;
|
||||
display: block;
|
||||
}
|
1358
3.0/themes/pear4gallery3/css/screen.css
Normal file
After Width: | Height: | Size: 180 B |
After Width: | Height: | Size: 182 B |
After Width: | Height: | Size: 124 B |