Merge branch 'master' of github.com:gallery/gallery3-contrib
@ -21,7 +21,7 @@ class Basket_Controller extends Controller {
|
||||
|
||||
public function view_basket() {
|
||||
|
||||
$template = new Theme_View("page.html", "basket");
|
||||
$template = new Theme_View("page.html", "other", "basket");
|
||||
|
||||
$view = new View("view_basket.html");
|
||||
$view->basket = Session_Basket::get();
|
||||
@ -48,7 +48,7 @@ class Basket_Controller extends Controller {
|
||||
|
||||
public function checkout () {
|
||||
|
||||
$template = new Theme_View("page.html", "basket");
|
||||
$template = new Theme_View("page.html", "other", "basket");
|
||||
|
||||
$view = new View("checkout.html");
|
||||
|
||||
@ -89,7 +89,7 @@ class Basket_Controller extends Controller {
|
||||
$basket->email = $form->contact->email->value;
|
||||
$basket->phone = $form->contact->phone->value;
|
||||
|
||||
$template = new Theme_View("page.html", "basket");
|
||||
$template = new Theme_View("page.html", "other", "basket");
|
||||
|
||||
$form = new Forge("basket/complete", "", "post", array("id" => "confirm", "name" =>"confirm"));
|
||||
$view = new View("confirm_order.html");
|
||||
@ -149,7 +149,7 @@ Items Ordered:
|
||||
|
||||
$basket->clear();
|
||||
|
||||
$template = new Theme_View("page.html", "basket");
|
||||
$template = new Theme_View("page.html", "other", "basket");
|
||||
$view = new View("order_complete.html");
|
||||
$template->content = $view;
|
||||
print $template;
|
||||
|
@ -18,7 +18,7 @@
|
||||
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
?>
|
||||
<? if ($theme->page_type != 'basket'): ?>
|
||||
<? if ($theme->page_subtype != 'basket'): ?>
|
||||
<? if (isset($basket) && isset($basket->contents) && ($basket->size() > 0)): ?>
|
||||
<div id="basket">
|
||||
<a href="<?= url::site("basket/view_basket") ?>"
|
||||
|
@ -25,11 +25,11 @@ class batchtag_block_Core {
|
||||
static function get($block_id, $theme) {
|
||||
$block = "";
|
||||
|
||||
// Only display on album pages that the user can edit.
|
||||
$item = $theme->item();
|
||||
if (!$item->is_album() || !access::can("edit", $item)) {
|
||||
return;
|
||||
}
|
||||
// Only display on album pages that the user can edit.
|
||||
$item = $theme->item();
|
||||
if (!$item || !$item->is_album() || !access::can("edit", $item)) {
|
||||
return;
|
||||
}
|
||||
|
||||
switch ($block_id) {
|
||||
case "batch_tag":
|
||||
|
179
modules/calendarview/controllers/calendarview.php
Normal file
@ -0,0 +1,179 @@
|
||||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2009 Bharat Mediratta
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or (at
|
||||
* your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
class CalendarView_Controller extends Controller {
|
||||
public function calendar($display_year, $display_user) {
|
||||
// Draw a calendar for the year specified by $display_year.
|
||||
|
||||
// Make sure the function parameters aren't null,
|
||||
// give them default values if they are.
|
||||
if ($display_year == "") {
|
||||
$display_year = date('Y');
|
||||
}
|
||||
if ($display_user == "") {
|
||||
$display_user = "-1";
|
||||
}
|
||||
|
||||
// Draw the page.
|
||||
$template = new Theme_View("page.html", "other", "CalendarView");
|
||||
$template->css("calendarview_calendar.css");
|
||||
$template->page_title = t("Gallery :: Calendar");
|
||||
$template->content = new View("calendarview_year.html");
|
||||
$template->content->calendar_year = $display_year;
|
||||
$template->content->calendar_user = $display_user;
|
||||
$template->content->calendar_user_year_form = $this->_get_calenderprefs_form($display_year, $display_user);
|
||||
print $template;
|
||||
}
|
||||
|
||||
public function day($display_year, $display_user, $display_month, $display_day) {
|
||||
// Display all images for the specified day.
|
||||
|
||||
// Figure out the total number of photos to display.
|
||||
if ($display_user == "-1") {
|
||||
$day_count = ORM::factory("item")
|
||||
->viewable()
|
||||
->where("type !=", "album")
|
||||
->where("captured >=", mktime(0, 0, 0, $display_month, $display_day, $display_year))
|
||||
->where("captured <", mktime(0, 0, 0, $display_month, ($display_day + 1), $display_year))
|
||||
->find_all()
|
||||
->count();
|
||||
} else {
|
||||
$day_count = ORM::factory("item")
|
||||
->viewable()
|
||||
->where("owner_id", $display_user)
|
||||
->where("type !=", "album")
|
||||
->where("captured >=", mktime(0, 0, 0, $display_month, $display_day, $display_year))
|
||||
->where("captured <", mktime(0, 0, 0, $display_month, ($display_day + 1), $display_year))
|
||||
->find_all()
|
||||
->count();
|
||||
}
|
||||
|
||||
// Figure out paging stuff.
|
||||
$page_size = module::get_var("gallery", "page_size", 9);
|
||||
$page = $this->input->get("page", "1");
|
||||
$offset = ($page-1) * $page_size;
|
||||
$max_pages = ceil($day_count / $page_size);
|
||||
|
||||
// Make sure that the page references a valid offset
|
||||
if ($page < 1 || ($day_count && $page > ceil($day_count / $page_size))) {
|
||||
Kohana::show_404();
|
||||
}
|
||||
|
||||
// Set up the page.
|
||||
$template = new Theme_View("page.html", "other", "CalendarDayView");
|
||||
$template->page_title = t("Gallery :: Calendar");
|
||||
$template->set_global("page_size", $page_size);
|
||||
|
||||
// Figure out which photos go on this page.
|
||||
if ($display_user == "-1") {
|
||||
$template->set_global("children", ORM::factory("item")
|
||||
->viewable()
|
||||
->where("type !=", "album")
|
||||
->where("captured >=", mktime(0, 0, 0, $display_month, $display_day, $display_year))
|
||||
->where("captured <", mktime(0, 0, 0, $display_month, ($display_day + 1), $display_year))
|
||||
->orderby("captured", "ASC")
|
||||
->find_all($page_size, $offset));
|
||||
} else {
|
||||
$template->set_global("children", ORM::factory("item")
|
||||
->viewable()
|
||||
->where("owner_id", $display_user)
|
||||
->where("type !=", "album")
|
||||
->where("captured >=", mktime(0, 0, 0, $display_month, $display_day, $display_year))
|
||||
->where("captured <", mktime(0, 0, 0, $display_month, ($display_day + 1), $display_year))
|
||||
->orderby("captured", "ASC")
|
||||
->find_all($page_size, $offset));
|
||||
}
|
||||
|
||||
// Finish setting up and then display the page.
|
||||
$template->set_global("children_count", $day_count);
|
||||
$template->content = new View("dynamic.html");
|
||||
$template->content->title = t("Photos From ") . date("d F Y", mktime(0, 0, 0, $display_month, $display_day, $display_year));
|
||||
print $template;
|
||||
}
|
||||
|
||||
private function _get_calenderprefs_form($display_year, $display_user) {
|
||||
// Generate a form to allow the visitor to select a year and a gallery photo owner.
|
||||
$form = new Forge("calendarview/setprefs", "", "post",
|
||||
array("id" => "g-view-calendar-form"));
|
||||
|
||||
// Generate a list of all Gallery users who have uploaded photos.
|
||||
$valid_users[-1] = "(All Users)";
|
||||
$gallery_users = ORM::factory("user")->find_all();
|
||||
foreach ($gallery_users as $one_user) {
|
||||
$count = ORM::factory("item")
|
||||
->viewable()
|
||||
->where("owner_id", $one_user->id)
|
||||
->where("type !=", "album")
|
||||
->where("captured !=", "")
|
||||
->find_all()
|
||||
->count();
|
||||
if ($count > 0) {
|
||||
$valid_users[$one_user->id] = $one_user->full_name;
|
||||
}
|
||||
}
|
||||
|
||||
// Generate a list of years, starting with the year the earliest photo was
|
||||
// taken, and ending with the year of the most recent photo.
|
||||
$valid_years = Array();
|
||||
$all_photos = ORM::factory("item")
|
||||
->viewable()
|
||||
//->where("owner_id", $one_user->id)
|
||||
->where("type !=", "album")
|
||||
->where("captured !=", "")
|
||||
->orderby("captured", "DESC")
|
||||
->find_all();
|
||||
$counter = date('Y', $all_photos[count($all_photos)-1]->captured);
|
||||
while ($counter <= date('Y', $all_photos[0]->captured)) {
|
||||
$valid_years[$counter] = $counter;
|
||||
$counter++;
|
||||
}
|
||||
|
||||
// Create the form.
|
||||
$calendar_group = $form->group("CalendarPrefs");
|
||||
$calendar_group->dropdown('cal_user')
|
||||
->label(t("Display Photos From User: "))
|
||||
->options($valid_users)
|
||||
->selected($display_user);
|
||||
$calendar_group->dropdown('cal_year')
|
||||
->label(t("For Year: "))
|
||||
->options($valid_years)
|
||||
->selected($display_year);
|
||||
|
||||
// Add a save button to the form.
|
||||
$calendar_group->submit("SaveSettings")->value(t("Go"));
|
||||
|
||||
// Return the newly generated form.
|
||||
return $form;
|
||||
}
|
||||
|
||||
public function setprefs() {
|
||||
// Change the calendar year and / or user.
|
||||
|
||||
// Prevent Cross Site Request Forgery
|
||||
access::verify_csrf();
|
||||
|
||||
// Get user specified settings.
|
||||
$str_user_id = Input::instance()->post("cal_user");
|
||||
$str_year_id = Input::instance()->post("cal_year");
|
||||
|
||||
// redirect to the currect page.
|
||||
url::redirect(url::site("calendarview/calendar/" . $str_year_id . "/" . $str_user_id));
|
||||
|
||||
}
|
||||
}
|
8
modules/calendarview/css/calendarview_calendar.css
Normal file
@ -0,0 +1,8 @@
|
||||
table.calendar { text-align: center; width:100px; }
|
||||
table.calendar caption { font-size: 1.5em; padding: 0.2em; }
|
||||
table.calendar th, table.calendar td { padding: 0.2em; background: #fff; border: 0; }
|
||||
table.calendar td:hover { background: #ddf; }
|
||||
table.calendar td.prev-next { background: #ccc; color: #999; }
|
||||
table.calendar td.today { color: #800; }
|
||||
#cal_user, #cal_year, #g-view-calendar-form li { display: inline; }
|
||||
#SaveSettings { float: right; }
|
3
modules/calendarview/css/calendarview_menu.css
Normal file
@ -0,0 +1,3 @@
|
||||
#g-view-menu #g-calendarview-link {
|
||||
background-image: url('../images/ico-view-calendarview.png');
|
||||
}
|
44
modules/calendarview/helpers/calendarview_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-2009 Bharat Mediratta
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or (at
|
||||
* your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
class calendarview_event_Core {
|
||||
static function photo_menu($menu, $theme) {
|
||||
$menu->append(Menu::factory("link")
|
||||
->id("calendarview")
|
||||
->label(t("View Calendar"))
|
||||
->url(url::site("calendarview/calendar/"))
|
||||
->css_id("g-calendarview-link"));
|
||||
}
|
||||
|
||||
static function movie_menu($menu, $theme) {
|
||||
$menu->append(Menu::factory("link")
|
||||
->id("calendarview")
|
||||
->label(t("View Calendar"))
|
||||
->url(url::site("calendarview/calendar/"))
|
||||
->css_id("g-calendarview-link"));
|
||||
}
|
||||
|
||||
static function album_menu($menu, $theme) {
|
||||
$menu->append(Menu::factory("link")
|
||||
->id("calendarview")
|
||||
->label(t("View Calendar"))
|
||||
->url(url::site("calendarview/calendar/"))
|
||||
->css_id("g-calendarview-link"));
|
||||
}
|
||||
}
|
@ -17,23 +17,9 @@
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
class latestupdates_theme_Core {
|
||||
class calendarview_theme_Core {
|
||||
|
||||
static function sidebar_blocks($theme) {
|
||||
if (!$theme->item()) {
|
||||
return;
|
||||
}
|
||||
$albumID = $theme->item->is_album() ? $theme->item->id : $theme->item->parent_id;
|
||||
|
||||
$block = new Block();
|
||||
$block->css_id = "g-updates-block";
|
||||
$block->title = t("Updates");
|
||||
$block->content = new View("latestupdates_block.html");
|
||||
$block->content->update_links = array(
|
||||
"Entire Gallery" => url::site("latestupdates/updates"),
|
||||
"This Album" => url::site("latestupdates/albums/$albumID")
|
||||
);
|
||||
|
||||
return $block;
|
||||
static function head($theme) {
|
||||
$theme->css("calendarview_menu.css");
|
||||
}
|
||||
}
|
BIN
modules/calendarview/images/ico-view-calendarview.png
Normal file
After Width: | Height: | Size: 4.1 KiB |
362
modules/calendarview/libraries/Calendar.php
Normal file
@ -0,0 +1,362 @@
|
||||
<?php defined('SYSPATH') OR die('No direct access allowed.');
|
||||
/**
|
||||
* Calendar creation library.
|
||||
*
|
||||
* $Id: Calendar.php 3769 2008-12-15 00:48:56Z zombor $
|
||||
*
|
||||
* @package Calendar
|
||||
* @author Kohana Team
|
||||
* @copyright (c) 2007-2008 Kohana Team
|
||||
* @license http://kohanaphp.com/license.html
|
||||
*/
|
||||
class Calendar_Core extends Event_Subject {
|
||||
|
||||
// Start the calendar on Sunday by default
|
||||
public static $start_monday = FALSE;
|
||||
|
||||
// Month and year to use for calendaring
|
||||
protected $month;
|
||||
protected $year;
|
||||
|
||||
// Week starts on Sunday
|
||||
protected $week_start = 0;
|
||||
|
||||
// Observed data
|
||||
protected $observed_data;
|
||||
|
||||
/**
|
||||
* Returns an array of the names of the days, using the current locale.
|
||||
*
|
||||
* @param integer left of day names
|
||||
* @return array
|
||||
*/
|
||||
public static function days($length = TRUE)
|
||||
{
|
||||
// strftime day format
|
||||
$format = ($length > 3) ? '%A' : '%a';
|
||||
|
||||
// Days of the week
|
||||
$days = array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday');
|
||||
|
||||
if (Calendar::$start_monday === TRUE)
|
||||
{
|
||||
// Push Sunday to the end of the days
|
||||
array_push($days, array_shift($days));
|
||||
}
|
||||
|
||||
if (strpos(Kohana::config('locale.language.0'), 'en') !== 0)
|
||||
{
|
||||
// This is a bit awkward, but it works properly and is reliable
|
||||
foreach ($days as $i => $day)
|
||||
{
|
||||
// Convert the English names to i18n names
|
||||
$days[$i] = strftime($format, strtotime($day));
|
||||
}
|
||||
}
|
||||
|
||||
if (is_int($length) OR ctype_digit($length))
|
||||
{
|
||||
foreach ($days as $i => $day)
|
||||
{
|
||||
// Shorten the days to the expected length
|
||||
$days[$i] = utf8::substr($day, 0, $length);
|
||||
}
|
||||
}
|
||||
|
||||
return $days;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new Calendar instance. A month and year can be specified.
|
||||
* By default, the current month and year are used.
|
||||
*
|
||||
* @param integer month number
|
||||
* @param integer year number
|
||||
* @return object
|
||||
*/
|
||||
public static function factory($month = NULL, $year = NULL)
|
||||
{
|
||||
return new Calendar($month, $year);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new Calendar instance. A month and year can be specified.
|
||||
* By default, the current month and year are used.
|
||||
*
|
||||
* @param integer month number
|
||||
* @param integer year number
|
||||
* @return void
|
||||
*/
|
||||
public function __construct($month = NULL, $year = NULL)
|
||||
{
|
||||
empty($month) and $month = date('n'); // Current month
|
||||
empty($year) and $year = date('Y'); // Current year
|
||||
|
||||
// Set the month and year
|
||||
$this->month = (int) $month;
|
||||
$this->year = (int) $year;
|
||||
|
||||
if (Calendar::$start_monday === TRUE)
|
||||
{
|
||||
// Week starts on Monday
|
||||
$this->week_start = 1;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Allows fetching the current month and year.
|
||||
*
|
||||
* @param string key to get
|
||||
* @return mixed
|
||||
*/
|
||||
public function __get($key)
|
||||
{
|
||||
if ($key === 'month' OR $key === 'year')
|
||||
{
|
||||
return $this->$key;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Calendar_Event factory method.
|
||||
*
|
||||
* @param string unique name for the event
|
||||
* @return object Calendar_Event
|
||||
*/
|
||||
public function event($name = NULL)
|
||||
{
|
||||
return new Calendar_Event($this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Calendar_Event factory method.
|
||||
*
|
||||
* @chainable
|
||||
* @param string standard event type
|
||||
* @return object
|
||||
*/
|
||||
public function standard($name)
|
||||
{
|
||||
switch ($name)
|
||||
{
|
||||
case 'today':
|
||||
// Add an event for the current day
|
||||
$this->attach($this->event()->condition('timestamp', strtotime('today'))->add_class('today'));
|
||||
break;
|
||||
case 'prev-next':
|
||||
// Add an event for padding days
|
||||
$this->attach($this->event()->condition('current', FALSE)->add_class('prev-next'));
|
||||
break;
|
||||
case 'holidays':
|
||||
// Base event
|
||||
$event = $this->event()->condition('current', TRUE)->add_class('holiday');
|
||||
|
||||
// Attach New Years
|
||||
$holiday = clone $event;
|
||||
$this->attach($holiday->condition('month', 1)->condition('day', 1));
|
||||
|
||||
// Attach Valentine's Day
|
||||
$holiday = clone $event;
|
||||
$this->attach($holiday->condition('month', 2)->condition('day', 14));
|
||||
|
||||
// Attach St. Patrick's Day
|
||||
$holiday = clone $event;
|
||||
$this->attach($holiday->condition('month', 3)->condition('day', 17));
|
||||
|
||||
// Attach Easter
|
||||
$holiday = clone $event;
|
||||
$this->attach($holiday->condition('easter', TRUE));
|
||||
|
||||
// Attach Memorial Day
|
||||
$holiday = clone $event;
|
||||
$this->attach($holiday->condition('month', 5)->condition('day_of_week', 1)->condition('last_occurrence', TRUE));
|
||||
|
||||
// Attach Independance Day
|
||||
$holiday = clone $event;
|
||||
$this->attach($holiday->condition('month', 7)->condition('day', 4));
|
||||
|
||||
// Attach Labor Day
|
||||
$holiday = clone $event;
|
||||
$this->attach($holiday->condition('month', 9)->condition('day_of_week', 1)->condition('occurrence', 1));
|
||||
|
||||
// Attach Halloween
|
||||
$holiday = clone $event;
|
||||
$this->attach($holiday->condition('month', 10)->condition('day', 31));
|
||||
|
||||
// Attach Thanksgiving
|
||||
$holiday = clone $event;
|
||||
$this->attach($holiday->condition('month', 11)->condition('day_of_week', 4)->condition('occurrence', 4));
|
||||
|
||||
// Attach Christmas
|
||||
$holiday = clone $event;
|
||||
$this->attach($holiday->condition('month', 12)->condition('day', 25));
|
||||
break;
|
||||
case 'weekends':
|
||||
// Weekend events
|
||||
$this->attach($this->event()->condition('weekend', TRUE)->add_class('weekend'));
|
||||
break;
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an array for use with a view. The array contains an array for
|
||||
* each week. Each week contains 7 arrays, with a day number and status:
|
||||
* TRUE if the day is in the month, FALSE if it is padding.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function weeks()
|
||||
{
|
||||
// First day of the month as a timestamp
|
||||
$first = mktime(1, 0, 0, $this->month, 1, $this->year);
|
||||
|
||||
// Total number of days in this month
|
||||
$total = (int) date('t', $first);
|
||||
|
||||
// Last day of the month as a timestamp
|
||||
$last = mktime(1, 0, 0, $this->month, $total, $this->year);
|
||||
|
||||
// Make the month and week empty arrays
|
||||
$month = $week = array();
|
||||
|
||||
// Number of days added. When this reaches 7, start a new week
|
||||
$days = 0;
|
||||
$week_number = 1;
|
||||
|
||||
if (($w = (int) date('w', $first) - $this->week_start) < 0)
|
||||
{
|
||||
$w = 6;
|
||||
}
|
||||
|
||||
if ($w > 0)
|
||||
{
|
||||
// Number of days in the previous month
|
||||
$n = (int) date('t', mktime(1, 0, 0, $this->month - 1, 1, $this->year));
|
||||
|
||||
// i = number of day, t = number of days to pad
|
||||
for ($i = $n - $w + 1, $t = $w; $t > 0; $t--, $i++)
|
||||
{
|
||||
// Notify the listeners
|
||||
$this->notify(array($this->month - 1, $i, $this->year, $week_number, FALSE));
|
||||
|
||||
// Add previous month padding days
|
||||
$week[] = array($i, FALSE, $this->observed_data);
|
||||
$days++;
|
||||
}
|
||||
}
|
||||
|
||||
// i = number of day
|
||||
for ($i = 1; $i <= $total; $i++)
|
||||
{
|
||||
if ($days % 7 === 0)
|
||||
{
|
||||
// Start a new week
|
||||
$month[] = $week;
|
||||
$week = array();
|
||||
|
||||
$week_number++;
|
||||
}
|
||||
|
||||
// Notify the listeners
|
||||
$this->notify(array($this->month, $i, $this->year, $week_number, TRUE));
|
||||
|
||||
// Add days to this month
|
||||
$week[] = array($i, TRUE, $this->observed_data);
|
||||
$days++;
|
||||
}
|
||||
|
||||
if (($w = (int) date('w', $last) - $this->week_start) < 0)
|
||||
{
|
||||
$w = 6;
|
||||
}
|
||||
|
||||
if ($w >= 0)
|
||||
{
|
||||
// i = number of day, t = number of days to pad
|
||||
for ($i = 1, $t = 6 - $w; $t > 0; $t--, $i++)
|
||||
{
|
||||
// Notify the listeners
|
||||
$this->notify(array($this->month + 1, $i, $this->year, $week_number, FALSE));
|
||||
|
||||
// Add next month padding days
|
||||
$week[] = array($i, FALSE, $this->observed_data);
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! empty($week))
|
||||
{
|
||||
// Append the remaining days
|
||||
$month[] = $week;
|
||||
}
|
||||
|
||||
return $month;
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds new data from an observer. All event data contains and array of CSS
|
||||
* classes and an array of output messages.
|
||||
*
|
||||
* @param array observer data.
|
||||
* @return void
|
||||
*/
|
||||
public function add_data(array $data)
|
||||
{
|
||||
// Add new classes
|
||||
$this->observed_data['classes'] += $data['classes'];
|
||||
|
||||
if ( ! empty($data['output']))
|
||||
{
|
||||
// Only add output if it's not empty
|
||||
$this->observed_data['output'][] = $data['output'];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Resets the observed data and sends a notify to all attached events.
|
||||
*
|
||||
* @param array UNIX timestamp
|
||||
* @return void
|
||||
*/
|
||||
public function notify($data)
|
||||
{
|
||||
// Reset observed data
|
||||
$this->observed_data = array
|
||||
(
|
||||
'classes' => array(),
|
||||
'output' => array(),
|
||||
);
|
||||
|
||||
// Send a notify
|
||||
parent::notify($data);
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert the calendar to HTML using the kohana_calendar view.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function render()
|
||||
{
|
||||
$view = new View('kohana_calendar', array
|
||||
(
|
||||
'month' => $this->month,
|
||||
'year' => $this->year,
|
||||
'weeks' => $this->weeks(),
|
||||
));
|
||||
|
||||
return $view->render();
|
||||
}
|
||||
|
||||
/**
|
||||
* Magically convert this object to a string, the rendered calendar.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function __toString()
|
||||
{
|
||||
return $this->render();
|
||||
}
|
||||
|
||||
} // End Calendar
|
307
modules/calendarview/libraries/Calendar_Event.php
Normal file
@ -0,0 +1,307 @@
|
||||
<?php defined('SYSPATH') OR die('No direct access allowed.');
|
||||
/**
|
||||
* Calendar event observer class.
|
||||
*
|
||||
* $Id: Calendar_Event.php 4129 2009-03-27 17:47:03Z zombor $
|
||||
*
|
||||
* @package Calendar
|
||||
* @author Kohana Team
|
||||
* @copyright (c) 2007-2008 Kohana Team
|
||||
* @license http://kohanaphp.com/license.html
|
||||
*/
|
||||
class Calendar_Event_Core extends Event_Observer {
|
||||
|
||||
// Boolean conditions
|
||||
protected $booleans = array
|
||||
(
|
||||
'current',
|
||||
'weekend',
|
||||
'first_day',
|
||||
'last_day',
|
||||
'last_occurrence',
|
||||
'easter',
|
||||
);
|
||||
|
||||
// Rendering conditions
|
||||
protected $conditions = array();
|
||||
|
||||
// Cell classes
|
||||
protected $classes = array();
|
||||
|
||||
// Cell output
|
||||
protected $output = '';
|
||||
|
||||
/**
|
||||
* Adds a condition to the event. The condition can be one of the following:
|
||||
*
|
||||
* timestamp - UNIX timestamp
|
||||
* day - day number (1-31)
|
||||
* week - week number (1-5)
|
||||
* month - month number (1-12)
|
||||
* year - year number (4 digits)
|
||||
* day_of_week - day of week (1-7)
|
||||
* current - active month (boolean) (only show data for the month being rendered)
|
||||
* weekend - weekend day (boolean)
|
||||
* first_day - first day of month (boolean)
|
||||
* last_day - last day of month (boolean)
|
||||
* occurrence - occurrence of the week day (1-5) (use with "day_of_week")
|
||||
* last_occurrence - last occurrence of week day (boolean) (use with "day_of_week")
|
||||
* easter - Easter day (boolean)
|
||||
* callback - callback test (boolean)
|
||||
*
|
||||
* To unset a condition, call condition with a value of NULL.
|
||||
*
|
||||
* @chainable
|
||||
* @param string condition key
|
||||
* @param mixed condition value
|
||||
* @return object
|
||||
*/
|
||||
public function condition($key, $value)
|
||||
{
|
||||
if ($value === NULL)
|
||||
{
|
||||
unset($this->conditions[$key]);
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($key === 'callback')
|
||||
{
|
||||
// Do nothing
|
||||
}
|
||||
elseif (in_array($key, $this->booleans))
|
||||
{
|
||||
// Make the value boolean
|
||||
$value = (bool) $value;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Make the value an int
|
||||
$value = (int) $value;
|
||||
}
|
||||
|
||||
$this->conditions[$key] = $value;
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a CSS class for this event. This can be called multiple times.
|
||||
*
|
||||
* @chainable
|
||||
* @param string CSS class name
|
||||
* @return object
|
||||
*/
|
||||
public function add_class($class)
|
||||
{
|
||||
$this->classes[$class] = $class;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove a CSS class for this event. This can be called multiple times.
|
||||
*
|
||||
* @chainable
|
||||
* @param string CSS class name
|
||||
* @return object
|
||||
*/
|
||||
public function remove_class($class)
|
||||
{
|
||||
unset($this->classes[$class]);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set HTML output for this event.
|
||||
*
|
||||
* @chainable
|
||||
* @param string HTML output
|
||||
* @return object
|
||||
*/
|
||||
public function output($str)
|
||||
{
|
||||
$this->output = $str;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a CSS class for this event. This can be called multiple times.
|
||||
*
|
||||
* @chainable
|
||||
* @param string CSS class name
|
||||
* @return object
|
||||
*/
|
||||
public function notify($data)
|
||||
{
|
||||
// Split the date and current status
|
||||
list ($month, $day, $year, $week, $current) = $data;
|
||||
|
||||
// Get a timestamp for the day
|
||||
$timestamp = mktime(0, 0, 0, $month, $day, $year);
|
||||
|
||||
// Date conditionals
|
||||
$condition = array
|
||||
(
|
||||
'timestamp' => (int) $timestamp,
|
||||
'day' => (int) date('j', $timestamp),
|
||||
'week' => (int) $week,
|
||||
'month' => (int) date('n', $timestamp),
|
||||
'year' => (int) date('Y', $timestamp),
|
||||
'day_of_week' => (int) date('w', $timestamp),
|
||||
'current' => (bool) $current,
|
||||
);
|
||||
|
||||
// Tested conditions
|
||||
$tested = array();
|
||||
|
||||
foreach ($condition as $key => $value)
|
||||
{
|
||||
// Timestamps need to be handled carefully
|
||||
if($key === 'timestamp' AND isset($this->conditions['timestamp']))
|
||||
{
|
||||
// This adds 23 hours, 59 minutes and 59 seconds to today's timestamp, as 24 hours
|
||||
// is classed as a new day
|
||||
$next_day = $timestamp + 86399;
|
||||
|
||||
if($this->conditions['timestamp'] < $timestamp OR $this->conditions['timestamp'] > $next_day)
|
||||
return FALSE;
|
||||
}
|
||||
// Test basic conditions first
|
||||
elseif (isset($this->conditions[$key]) AND $this->conditions[$key] !== $value)
|
||||
return FALSE;
|
||||
|
||||
// Condition has been tested
|
||||
$tested[$key] = TRUE;
|
||||
}
|
||||
|
||||
if (isset($this->conditions['weekend']))
|
||||
{
|
||||
// Weekday vs Weekend
|
||||
$condition['weekend'] = ($condition['day_of_week'] === 0 OR $condition['day_of_week'] === 6);
|
||||
}
|
||||
|
||||
if (isset($this->conditions['first_day']))
|
||||
{
|
||||
// First day of month
|
||||
$condition['first_day'] = ($condition['day'] === 1);
|
||||
}
|
||||
|
||||
if (isset($this->conditions['last_day']))
|
||||
{
|
||||
// Last day of month
|
||||
$condition['last_day'] = ($condition['day'] === (int) date('t', $timestamp));
|
||||
}
|
||||
|
||||
if (isset($this->conditions['occurrence']))
|
||||
{
|
||||
// Get the occurance of the current day
|
||||
$condition['occurrence'] = $this->day_occurrence($timestamp);
|
||||
}
|
||||
|
||||
if (isset($this->conditions['last_occurrence']))
|
||||
{
|
||||
// Test if the next occurance of this date is next month
|
||||
$condition['last_occurrence'] = ((int) date('n', $timestamp + 604800) !== $condition['month']);
|
||||
}
|
||||
|
||||
if (isset($this->conditions['easter']))
|
||||
{
|
||||
if ($condition['month'] === 3 OR $condition['month'] === 4)
|
||||
{
|
||||
// This algorithm is from Practical Astronomy With Your Calculator, 2nd Edition by Peter
|
||||
// Duffett-Smith. It was originally from Butcher's Ecclesiastical Calendar, published in
|
||||
// 1876. This algorithm has also been published in the 1922 book General Astronomy by
|
||||
// Spencer Jones; in The Journal of the British Astronomical Association (Vol.88, page
|
||||
// 91, December 1977); and in Astronomical Algorithms (1991) by Jean Meeus.
|
||||
|
||||
$a = $condition['year'] % 19;
|
||||
$b = (int) ($condition['year'] / 100);
|
||||
$c = $condition['year'] % 100;
|
||||
$d = (int) ($b / 4);
|
||||
$e = $b % 4;
|
||||
$f = (int) (($b + 8) / 25);
|
||||
$g = (int) (($b - $f + 1) / 3);
|
||||
$h = (19 * $a + $b - $d - $g + 15) % 30;
|
||||
$i = (int) ($c / 4);
|
||||
$k = $c % 4;
|
||||
$l = (32 + 2 * $e + 2 * $i - $h - $k) % 7;
|
||||
$m = (int) (($a + 11 * $h + 22 * $l) / 451);
|
||||
$p = ($h + $l - 7 * $m + 114) % 31;
|
||||
|
||||
$month = (int) (($h + $l - 7 * $m + 114) / 31);
|
||||
$day = $p + 1;
|
||||
|
||||
$condition['easter'] = ($condition['month'] === $month AND $condition['day'] === $day);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Easter can only happen in March or April
|
||||
$condition['easter'] = FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($this->conditions['callback']))
|
||||
{
|
||||
// Use a callback to determine validity
|
||||
$condition['callback'] = call_user_func($this->conditions['callback'], $condition, $this);
|
||||
}
|
||||
|
||||
$conditions = array_diff_key($this->conditions, $tested);
|
||||
|
||||
foreach ($conditions as $key => $value)
|
||||
{
|
||||
if ($key === 'callback')
|
||||
{
|
||||
// Callbacks are tested on a TRUE/FALSE basis
|
||||
$value = TRUE;
|
||||
}
|
||||
|
||||
// Test advanced conditions
|
||||
if ($condition[$key] !== $value)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
$this->caller->add_data(array
|
||||
(
|
||||
'classes' => $this->classes,
|
||||
'output' => $this->output,
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* Find the week day occurrence for a specific timestamp. The occurrence is
|
||||
* relative to the current month. For example, the second Saturday of any
|
||||
* given month will return "2" as the occurrence. This is used in combination
|
||||
* with the "occurrence" condition.
|
||||
*
|
||||
* @param integer UNIX timestamp
|
||||
* @return integer
|
||||
*/
|
||||
protected function day_occurrence($timestamp)
|
||||
{
|
||||
// Get the current month for the timestamp
|
||||
$month = date('m', $timestamp);
|
||||
|
||||
// Default occurrence is one
|
||||
$occurrence = 1;
|
||||
|
||||
// Reduce the timestamp by one week for each loop. This has the added
|
||||
// benefit of preventing an infinite loop.
|
||||
while ($timestamp -= 604800)
|
||||
{
|
||||
if (date('m', $timestamp) !== $month)
|
||||
{
|
||||
// Once the timestamp has gone into the previous month, the
|
||||
// proper occurrence has been found.
|
||||
return $occurrence;
|
||||
}
|
||||
|
||||
// Increment the occurrence
|
||||
$occurrence++;
|
||||
}
|
||||
}
|
||||
|
||||
} // End Calendar Event
|
3
modules/calendarview/module.info
Normal file
@ -0,0 +1,3 @@
|
||||
name = "CalendarView"
|
||||
description = "View your photos by the date they were taken."
|
||||
version = 1
|
184
modules/calendarview/views/calendarview_year.html.php
Normal file
@ -0,0 +1,184 @@
|
||||
<?php defined("SYSPATH") or die("No direct script access.") ?>
|
||||
|
||||
<h1 align="center"><?=$calendar_year ?></h1>
|
||||
<?= $calendar_user_year_form ?>
|
||||
|
||||
<?
|
||||
print "<table><tr>";
|
||||
$counter_months = 1;
|
||||
// Loop through each month in the current year.
|
||||
while ($counter_months <12) {
|
||||
print "<td>";
|
||||
$calendar = new Calendar($counter_months, $calendar_year);
|
||||
|
||||
// Figure out if any photos were taken for the current month.
|
||||
if ($calendar_user == "-1") {
|
||||
$month_count = ORM::factory("item")
|
||||
->viewable()
|
||||
->where("type !=", "album")
|
||||
->where("captured >=", mktime(0, 0, 0, $counter_months, 1, $calendar_year))
|
||||
->where("captured <", mktime(0, 0, 0, $counter_months+1, 1, $calendar_year))
|
||||
->find_all()
|
||||
->count();
|
||||
} else {
|
||||
$month_count = ORM::factory("item")
|
||||
->viewable()
|
||||
->where("owner_id", $calendar_user)
|
||||
->where("type !=", "album")
|
||||
->where("captured >=", mktime(0, 0, 0, $counter_months, 1, $calendar_year))
|
||||
->where("captured <", mktime(0, 0, 0, $counter_months+1, 1, $calendar_year))
|
||||
->find_all()
|
||||
->count();
|
||||
}
|
||||
|
||||
// If there are photos, loop through each day in the month and display links on the correct dates.
|
||||
if ($month_count > 0) {
|
||||
$curr_day = 1;
|
||||
$MAX_DAYS = date('t', mktime(00, 00, 00, $counter_months, 1, $calendar_year));
|
||||
while ($curr_day < $MAX_DAYS) {
|
||||
if ($calendar_user == "-1") {
|
||||
$day_count = ORM::factory("item")
|
||||
->viewable()
|
||||
->where("type !=", "album")
|
||||
->where("captured >=", mktime(0, 0, 0, $counter_months, $curr_day, $calendar_year))
|
||||
->where("captured <", mktime(0, 0, 0, $counter_months, ($curr_day + 1), $calendar_year))
|
||||
->find_all()
|
||||
->count();
|
||||
} else {
|
||||
$day_count = ORM::factory("item")
|
||||
->viewable()
|
||||
->where("owner_id", $calendar_user)
|
||||
->where("type !=", "album")
|
||||
->where("captured >=", mktime(0, 0, 0, $counter_months, $curr_day, $calendar_year))
|
||||
->where("captured <", mktime(0, 0, 0, $counter_months, ($curr_day + 1), $calendar_year))
|
||||
->find_all()
|
||||
->count();
|
||||
}
|
||||
if ($day_count > 0) {
|
||||
$calendar -> attach($calendar -> event()
|
||||
-> condition('year', $calendar_year)
|
||||
-> condition('month', $counter_months)
|
||||
-> condition('day', $curr_day)
|
||||
-> output(html::anchor(url::site("calendarview/day/" . $calendar_year . "/" . $calendar_user . "/" . $counter_months . "/" . $curr_day), $day_count)));
|
||||
}
|
||||
$curr_day++;
|
||||
}
|
||||
|
||||
// Do the last day of the month seperately, because the mktime code is different.
|
||||
if ($calendar_user == "-1") {
|
||||
$day_count = ORM::factory("item")
|
||||
->viewable()
|
||||
->where("type !=", "album")
|
||||
->where("captured >=", mktime(0, 0, 0, $counter_months, $MAX_DAYS, $calendar_year))
|
||||
->where("captured <", mktime(0, 0, 0, ($counter_months + 1), 1, $calendar_year))
|
||||
->find_all()
|
||||
->count();
|
||||
} else {
|
||||
$day_count = ORM::factory("item")
|
||||
->viewable()
|
||||
->where("owner_id", $calendar_user)
|
||||
->where("type !=", "album")
|
||||
->where("captured >=", mktime(0, 0, 0, $counter_months, $MAX_DAYS, $calendar_year))
|
||||
->where("captured <", mktime(0, 0, 0, ($counter_months + 1), 1, $calendar_year))
|
||||
->find_all()
|
||||
->count();
|
||||
}
|
||||
if ($day_count > 0) {
|
||||
$calendar -> attach($calendar -> event()
|
||||
-> condition('year', $calendar_year)
|
||||
-> condition('month', $counter_months)
|
||||
-> condition('day', $MAX_DAYS)
|
||||
-> output(html::anchor(url::site("calendarview/day/" . $calendar_year . "/" . $calendar_user . "/" . $counter_months . "/" . $MAX_DAYS), $day_count)));
|
||||
}
|
||||
}
|
||||
echo $calendar->render();
|
||||
print "</td>";
|
||||
if (($counter_months == 3) || ($counter_months == 6) || ($counter_months == 9)) {
|
||||
print "</tr><tr>";
|
||||
}
|
||||
$counter_months++;
|
||||
}
|
||||
|
||||
// Do December seperately, because the mktime code is different.
|
||||
print "<td>";
|
||||
$calendar = new Calendar($counter_months, $calendar_year);
|
||||
if ($calendar_user == "-1") {
|
||||
$month_count = ORM::factory("item")
|
||||
->viewable()
|
||||
->where("type !=", "album")
|
||||
->where("captured >=", mktime(0, 0, 0, $counter_months, 1, $calendar_year))
|
||||
->where("captured <", mktime(0, 0, 0, 1, 1, ($calendar_year + 1)))
|
||||
->find_all()
|
||||
->count();
|
||||
} else {
|
||||
$month_count = ORM::factory("item")
|
||||
->viewable()
|
||||
->where("owner_id", $calendar_user)
|
||||
->where("type !=", "album")
|
||||
->where("captured >=", mktime(0, 0, 0, $counter_months, 1, $calendar_year))
|
||||
->where("captured <", mktime(0, 0, 0, 1, 1, ($calendar_year + 1)))
|
||||
->find_all()
|
||||
->count();
|
||||
}
|
||||
if ($month_count > 0) {
|
||||
$curr_day = 1;
|
||||
$MAX_DAYS = date('t', mktime(00, 00, 00, $counter_months, 1, $calendar_year));
|
||||
while ($curr_day < $MAX_DAYS) {
|
||||
if ($calendar_user == "-1") {
|
||||
$day_count = ORM::factory("item")
|
||||
->viewable()
|
||||
->where("type !=", "album")
|
||||
->where("captured >=", mktime(0, 0, 0, $counter_months, $curr_day, $calendar_year))
|
||||
->where("captured <", mktime(0, 0, 0, $counter_months, ($curr_day + 1), $calendar_year))
|
||||
->find_all()
|
||||
->count();
|
||||
} else {
|
||||
$day_count = ORM::factory("item")
|
||||
->viewable()
|
||||
->where("owner_id", $calendar_user)
|
||||
->where("type !=", "album")
|
||||
->where("captured >=", mktime(0, 0, 0, $counter_months, $curr_day, $calendar_year))
|
||||
->where("captured <", mktime(0, 0, 0, $counter_months, ($curr_day + 1), $calendar_year))
|
||||
->find_all()
|
||||
->count();
|
||||
}
|
||||
if ($day_count > 0) {
|
||||
$calendar -> attach($calendar -> event()
|
||||
-> condition('year', $calendar_year)
|
||||
-> condition('month', $counter_months)
|
||||
-> condition('day', $curr_day)
|
||||
-> output(html::anchor(url::site("calendarview/day/" . $calendar_year . "/" . $calendar_user . "/" . $counter_months . "/" . $curr_day), $day_count)));
|
||||
}
|
||||
$curr_day++;
|
||||
}
|
||||
if ($calendar_user == "-1") {
|
||||
$day_count = ORM::factory("item")
|
||||
->viewable()
|
||||
->where("type !=", "album")
|
||||
->where("captured >=", mktime(0, 0, 0, $counter_months, $MAX_DAYS, $calendar_year))
|
||||
->where("captured <", mktime(0, 0, 0, 1, 1, $calendar_year+1))
|
||||
->find_all()
|
||||
->count();
|
||||
} else {
|
||||
$day_count = ORM::factory("item")
|
||||
->viewable()
|
||||
->where("owner_id", $calendar_user)
|
||||
->where("type !=", "album")
|
||||
->where("captured >=", mktime(0, 0, 0, $counter_months, $MAX_DAYS, $calendar_year))
|
||||
->where("captured <", mktime(0, 0, 0, 1, 1, $calendar_year+1))
|
||||
->find_all()
|
||||
->count();
|
||||
}
|
||||
if ($day_count > 0) {
|
||||
$calendar -> attach($calendar -> event()
|
||||
-> condition('year', $calendar_year)
|
||||
-> condition('month', $counter_months)
|
||||
-> condition('day', $MAX_DAYS)
|
||||
-> output(html::anchor(url::site("calendarview/day/" . $calendar_year . "/" . $calendar_user . "/" . $counter_months . "/" . $MAX_DAYS), $day_count)));
|
||||
|
||||
}
|
||||
}
|
||||
$counter_months++;
|
||||
echo $calendar->render();
|
||||
print "</td></tr></table>";
|
||||
?>
|
54
modules/calendarview/views/kohana_calendar.php
Normal file
@ -0,0 +1,54 @@
|
||||
<?php defined('SYSPATH') OR die('No direct access allowed.');
|
||||
|
||||
// Get the day names
|
||||
$days = Calendar::days(2);
|
||||
|
||||
// Previous and next month timestamps
|
||||
$next = mktime(0, 0, 0, $month + 1, 1, $year);
|
||||
$prev = mktime(0, 0, 0, $month - 1, 1, $year);
|
||||
|
||||
// Import the GET query array locally and remove the day
|
||||
$qs = $_GET;
|
||||
unset($qs['day']);
|
||||
|
||||
// Previous and next month query URIs
|
||||
$prev = Router::$current_uri.'?'.http_build_query(array_merge($qs, array('month' => date('n', $prev), 'year' => date('Y', $prev))));
|
||||
$next = Router::$current_uri.'?'.http_build_query(array_merge($qs, array('month' => date('n', $next), 'year' => date('Y', $next))));
|
||||
|
||||
?>
|
||||
<table class="calendar">
|
||||
<tr class="controls">
|
||||
<td class="title" colspan="7" align="center"><?php echo strftime('%B %Y', mktime(0, 0, 0, $month, 1, $year)) ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<?php foreach ($days as $day): ?>
|
||||
<th><?php echo $day ?></th>
|
||||
<?php endforeach ?>
|
||||
</tr>
|
||||
<?php foreach ($weeks as $week): ?>
|
||||
<tr>
|
||||
<?php foreach ($week as $day):
|
||||
|
||||
list ($number, $current, $data) = $day;
|
||||
|
||||
if (is_array($data))
|
||||
{
|
||||
$classes = $data['classes'];
|
||||
$output = empty($data['output']) ? '' : '<ul class="output"><li>'.implode('</li><li>', $data['output']).'</li></ul>';
|
||||
}
|
||||
else
|
||||
{
|
||||
$classes = array();
|
||||
$output = '';
|
||||
}
|
||||
|
||||
?>
|
||||
<? if ($day[1] == true) { ?>
|
||||
<td class="<?php echo implode(' ', $classes) ?>"><span class="day"><?php echo $day[0] ?></span><?php echo $output ?></td>
|
||||
<? } else { ?>
|
||||
<td></td>
|
||||
<? } ?>
|
||||
<?php endforeach ?>
|
||||
</tr>
|
||||
<?php endforeach ?>
|
||||
</table>
|
@ -31,7 +31,8 @@ class ContactOwner_Controller extends Controller {
|
||||
array("id" => "g-contact-owner-send-form"));
|
||||
$sendmail_fields = $form->group("contactOwner");
|
||||
$sendmail_fields->input("email_to")->label(t("To:"))->value(module::get_var("contactowner", "contact_owner_name"));
|
||||
$sendmail_fields->input("email_from")->label(t("From:"))->value(user::active()->email);
|
||||
$sendmail_fields->input("email_from")->label(t("From:"))->value(identity::active_user()->email);
|
||||
|
||||
$sendmail_fields->input("email_subject")->label(t("Subject:"))->value("");
|
||||
$sendmail_fields->textarea("email_body")->label(t("Message:"))->value("");
|
||||
$sendmail_fields->hidden("email_to_id")->value("-1");
|
||||
@ -40,7 +41,7 @@ class ContactOwner_Controller extends Controller {
|
||||
$sendmail_fields->submit("SendMessage")->value(t("Send"));
|
||||
|
||||
// Set up and display the actual page.
|
||||
$template = new Theme_View("page.html", "Contact");
|
||||
$template = new Theme_View("page.html", "other", "Contact");
|
||||
$template->content = new View("contactowner_emailform.html");
|
||||
$template->content->sendmail_form = $form;
|
||||
print $template;
|
||||
@ -65,7 +66,7 @@ class ContactOwner_Controller extends Controller {
|
||||
array("id" => "g-contact-owner-send-form"));
|
||||
$sendmail_fields = $form->group("contactOwner");
|
||||
$sendmail_fields->input("email_to")->label(t("To:"))->value($userDetails[0]->name);
|
||||
$sendmail_fields->input("email_from")->label(t("From:"))->value(user::active()->email);
|
||||
$sendmail_fields->input("email_from")->label(t("From:"))->value(identity::active_user()->email);
|
||||
$sendmail_fields->input("email_subject")->label(t("Subject:"))->value("");
|
||||
$sendmail_fields->textarea("email_body")->label(t("Message:"))->value("");
|
||||
$sendmail_fields->hidden("email_to_id")->value($user_id);
|
||||
@ -74,7 +75,7 @@ class ContactOwner_Controller extends Controller {
|
||||
$sendmail_fields->submit("SendMessage")->value(t("Send"));
|
||||
|
||||
// Set up and display the actual page.
|
||||
$template = new Theme_View("page.html", "Contact");
|
||||
$template = new Theme_View("page.html", "other", "Contact");
|
||||
$template->content = new View("contactowner_emailform.html");
|
||||
$template->content->sendmail_form = $form;
|
||||
print $template;
|
||||
@ -121,7 +122,7 @@ class ContactOwner_Controller extends Controller {
|
||||
->send();
|
||||
|
||||
// Display a message telling the visitor that their email has been sent.
|
||||
$template = new Theme_View("page.html", "Contact");
|
||||
$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;
|
||||
|
@ -54,7 +54,7 @@
|
||||
<? if (!empty($errors["photos"]) && $errors["photos"] == "numeric"): ?>
|
||||
<p class="g-error"><?= t("Number to create must be numeric") ?></p>
|
||||
<? endif ?>
|
||||
</li
|
||||
</li>
|
||||
<? if(!empty($comment_installed)): ?>
|
||||
<li <? if (!empty($errors["comments"])): ?> class="g-error"<? endif ?>>
|
||||
<fieldset>
|
||||
|
@ -47,7 +47,7 @@ class Dynamic_Controller extends Controller {
|
||||
Kohana::show_404();
|
||||
}
|
||||
|
||||
$template = new Theme_View("page.html", "dynamic");
|
||||
$template = new Theme_View("page.html", "other", "dynamic");
|
||||
$template->set_global("page_size", $page_size);
|
||||
$template->set_global("children", ORM::factory("item")
|
||||
->viewable()
|
||||
|
@ -25,6 +25,10 @@ class embedlinks_block_Core {
|
||||
static function get($block_id, $theme) {
|
||||
$block = "";
|
||||
|
||||
if (!$theme->item()) {
|
||||
return;
|
||||
}
|
||||
|
||||
switch ($block_id) {
|
||||
case "embed_links_dialog":
|
||||
// If displaying links in a dialog box is enabled then
|
||||
|
@ -113,18 +113,18 @@ class keeporiginal_event_Core {
|
||||
|
||||
static function site_menu($menu, $theme) {
|
||||
// Create a menu option to restore the original photo.
|
||||
$item = $theme->item();
|
||||
if ($item = $theme->item()) {
|
||||
if ((access::can("view", $item)) && (access::can("edit", $item))) {
|
||||
$original_image = VARPATH . "original/" . str_replace(VARPATH . "albums/", "", $item->file_path());
|
||||
|
||||
if ((access::can("view", $item)) && (access::can("edit", $item))) {
|
||||
$original_image = VARPATH . "original/" . str_replace(VARPATH . "albums/", "", $item->file_path());
|
||||
|
||||
if ($item->is_photo() && file_exists($original_image)) {
|
||||
$menu->get("options_menu")
|
||||
->append(Menu::factory("link")
|
||||
->id("restore")
|
||||
->label(t("Restore original"))
|
||||
->css_id("g-keep-originals-link")
|
||||
->url(url::site("keeporiginal/restore/" . $item->id)));
|
||||
if ($item->is_photo() && file_exists($original_image)) {
|
||||
$menu->get("options_menu")
|
||||
->append(Menu::factory("link")
|
||||
->id("restore")
|
||||
->label(t("Restore original"))
|
||||
->css_id("g-keep-originals-link")
|
||||
->url(url::site("keeporiginal/restore/" . $item->id)));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
47
modules/latestalbums/helpers/latestalbums_rss.php
Normal file
@ -0,0 +1,47 @@
|
||||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2009 Bharat Mediratta
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or (at
|
||||
* your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
class latestalbums_rss_Core {
|
||||
static function available_feeds($item, $tag) {
|
||||
$feeds["latestalbums/latest"] = t("Latest albums");
|
||||
return $feeds;
|
||||
}
|
||||
|
||||
static function feed($feed_id, $offset, $limit, $id) {
|
||||
switch ($feed_id) {
|
||||
case "latest":
|
||||
$feed->children = ORM::factory("item")
|
||||
->viewable()
|
||||
->where("type", "album")
|
||||
->orderby("created", "DESC")
|
||||
->find_all($limit, $offset);
|
||||
|
||||
$all_children = ORM::factory("item")
|
||||
->viewable()
|
||||
->where("type", "album")
|
||||
->orderby("created", "DESC");
|
||||
|
||||
$feed->max_pages = ceil($all_children->find_all()->count() / $limit);
|
||||
$feed->title = t("Latest albums");
|
||||
$feed->description = t("Most recently created albums");
|
||||
return $feed;
|
||||
}
|
||||
}
|
||||
}
|
3
modules/latestalbums/module.info
Normal file
@ -0,0 +1,3 @@
|
||||
name = "Latest Albums"
|
||||
description = "Display recently created albums."
|
||||
version = 1
|
@ -70,12 +70,13 @@ class latestupdates_Controller extends Controller {
|
||||
}
|
||||
|
||||
// Set up and display the actual page.
|
||||
$template = new Theme_View("page.html", "updates");
|
||||
$template = new Theme_View("page.html", "other", "LatestUpdates");
|
||||
$template->page_title = t("Gallery :: Latest Updates");
|
||||
$template->set_global("page_size", $itemsPerPage);
|
||||
$template->set_global("children", $children);
|
||||
$template->set_global("children_count", $count);
|
||||
$template->content = new View("updates.html");
|
||||
$template->content->items = $children;
|
||||
$template->content->q = count($children);
|
||||
$template->content = new View("dynamic.html");
|
||||
$template->content->title = t("Latest Updates");
|
||||
print $template;
|
||||
}
|
||||
|
||||
@ -127,12 +128,13 @@ class latestupdates_Controller extends Controller {
|
||||
}
|
||||
|
||||
// Set up and display the actual page.
|
||||
$template = new Theme_View("page.html", "updates");
|
||||
$template = new Theme_View("page.html", "other", "LatestUpdates");
|
||||
$template->page_title = t("Gallery :: Latest Updates");
|
||||
$template->set_global("page_size", $itemsPerPage);
|
||||
$template->set_global("children", $items);
|
||||
$template->set_global("children_count", $count);
|
||||
$template->content = new View("updates.html");
|
||||
$template->content->items = $items;
|
||||
$template->content->q = count($items);
|
||||
$template->content = new View ("dynamic.html");
|
||||
$template->content->title = t("Latest Updates");
|
||||
print $template;
|
||||
}
|
||||
|
||||
|
50
modules/latestupdates/helpers/latestupdates_block.php
Normal file
@ -0,0 +1,50 @@
|
||||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2009 Bharat Mediratta
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or (at
|
||||
* your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
class latestupdates_block_Core {
|
||||
static function get_site_list() {
|
||||
return array("latestupdates" => t("Latest Updates"));
|
||||
}
|
||||
|
||||
static function get($block_id, $theme) {
|
||||
$block = "";
|
||||
|
||||
if (!$theme->item()) {
|
||||
return;
|
||||
}
|
||||
|
||||
switch ($block_id) {
|
||||
case "latestupdates":
|
||||
// Determine the ID# of the current album.
|
||||
$albumID = $theme->item->is_album() ? $theme->item->id : $theme->item->parent_id;
|
||||
|
||||
// Make a new sidebar block.
|
||||
$block = new Block();
|
||||
$block->css_id = "g-latest-updates";
|
||||
$block->title = t("Latest Updates");
|
||||
$block->content = new View("latestupdates_block.html");
|
||||
$block->content->update_links = array(
|
||||
"Entire Gallery" => url::site("latestupdates/updates"),
|
||||
"This Album" => url::site("latestupdates/albums/$albumID")
|
||||
);
|
||||
break;
|
||||
}
|
||||
return $block;
|
||||
}
|
||||
}
|
@ -1,3 +1,3 @@
|
||||
name = LatestUpdates
|
||||
description = Display recently uploaded photos and videos.
|
||||
name = "LatestUpdates"
|
||||
description = "Display recently uploaded photos and videos."
|
||||
version = 1
|
||||
|
@ -1,33 +0,0 @@
|
||||
<?php defined("SYSPATH") or die("No direct script access.") ?>
|
||||
<? // @todo Set hover on AlbumGrid list items ?>
|
||||
|
||||
<div id="g-latest-updates">
|
||||
<h1><?= t("Latest Updates") ?></h1>
|
||||
<? array("term" => html::clean($q)) ?>
|
||||
<? if (count($items)): ?>
|
||||
<ul id="g-album-grid">
|
||||
<? foreach ($items as $item): ?>
|
||||
<? $item_class = "g-photo"; ?>
|
||||
<? if ($item->is_album()): ?>
|
||||
<? $item_class = "g-album"; ?>
|
||||
<? endif ?>
|
||||
<li class="g-item <?= $item_class ?>">
|
||||
<a href="<?= url::site("items/$item->id") ?>">
|
||||
<?= $item->thumb_img() ?>
|
||||
<p>
|
||||
<?= html::clean($item->title) ?>
|
||||
</p>
|
||||
<div>
|
||||
<?= html::clean($item->description) ?>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<? endforeach ?>
|
||||
</ul>
|
||||
<?= $theme->pager() ?>
|
||||
|
||||
<? else: ?>
|
||||
<p><?= t("There are no items to display.") ?></p>
|
||||
|
||||
<? endif; ?>
|
||||
</div>
|
@ -26,7 +26,7 @@ class metadescription_theme_Core {
|
||||
->where("id", $theme->tag())
|
||||
->find_all();
|
||||
|
||||
}elseif ($theme->item()) {
|
||||
} elseif ($theme->item()) {
|
||||
// If the current page belongs to an item (album, photo, etc.),
|
||||
// look up any tags that have been applied to that item.
|
||||
$tagsItem = ORM::factory("tag")
|
||||
@ -40,8 +40,12 @@ class metadescription_theme_Core {
|
||||
}
|
||||
|
||||
// Load the meta tags into the top of the page.
|
||||
$metaView = new View("metadescription_block.html");
|
||||
$metaView->tags = $tagsItem;
|
||||
return $metaView;
|
||||
// @todo: metadescription_block.html requires an item so for now, don't render it unless we
|
||||
// have one.
|
||||
if ($theme->item()) {
|
||||
$metaView = new View("metadescription_block.html");
|
||||
$metaView->tags = $tagsItem;
|
||||
return $metaView;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -27,7 +27,7 @@ class register_event {
|
||||
|
||||
static function user_menu($menu, $theme) {
|
||||
$user = identity::active_user();
|
||||
if ($theme->page_type != "login" && $user->guest) {
|
||||
if ($theme->page_subtype != "login" && $user->guest) {
|
||||
$menu->append(Menu::factory("dialog")
|
||||
->id("user_menu_register")
|
||||
->css_id("g-register-menu")
|
||||
|
@ -1,3 +1,3 @@
|
||||
name = User Registration
|
||||
name = "User Registration"
|
||||
description = "Allow guests to register as users."
|
||||
version = 1
|
||||
|
@ -58,7 +58,7 @@ class tag_cloud_block {
|
||||
$block->content->cloud = tag::cloud(30);
|
||||
$block->content->options = $options;
|
||||
|
||||
if ($theme->item() && $theme->page_type() != "tag" && access::can("edit", $theme->item())) {
|
||||
if ($theme->item() && $theme->page_subtype() != "tag" && access::can("edit", $theme->item())) {
|
||||
$controller = new Tags_Controller();
|
||||
$block->content->form = tag::get_add_form($theme->item());
|
||||
} else {
|
||||
|
@ -27,10 +27,11 @@ class tagfaces_Controller extends Controller {
|
||||
access::required("edit", $item);
|
||||
|
||||
// Create the page.
|
||||
$template = new Theme_View("page.html", "drawfaces");
|
||||
$template = new Theme_View("page.html", "other", "drawfaces");
|
||||
$template->set_global("item_id", $id);
|
||||
$template->set_global("page_title", t("Draw Faces"));
|
||||
$template->set_global("page_type", "photoface");
|
||||
$template->set_global("page_type", "other");
|
||||
$template->set_global("page_subtype", "photoface");
|
||||
$template->content = new View("drawfaces.html");
|
||||
$template->content->title = t("Tag Faces");
|
||||
$template->content->form = $this->_get_faces_form($id);
|
||||
|
@ -41,7 +41,7 @@ class TagsMap_Controller extends Controller {
|
||||
|
||||
print $view;
|
||||
} else {
|
||||
$template = new Theme_View("page.html", "TagsMap");
|
||||
$template = new Theme_View("page.html", "other", "TagsMap");
|
||||
$template->page_title = t("Gallery :: Map");
|
||||
$template->content = new View("tagsmap_googlemap.html");
|
||||
|
||||
|
3
modules/tagsmap/css/tagsmap_menu.css
Normal file
@ -0,0 +1,3 @@
|
||||
#g-view-menu #g-tagsmap-link {
|
||||
background-image: url('../images/ico-view-tagsmap.png');
|
||||
}
|
BIN
modules/tagsmap/images/ico-view-tagsmap.png
Normal file
After Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 604 B |
Before Width: | Height: | Size: 916 B |
Before Width: | Height: | Size: 715 B |
Before Width: | Height: | Size: 701 B |
Before Width: | Height: | Size: 778 B |
Before Width: | Height: | Size: 749 B |
Before Width: | Height: | Size: 106 B |
Before Width: | Height: | Size: 476 B |
Before Width: | Height: | Size: 617 B |
Before Width: | Height: | Size: 537 B |
Before Width: | Height: | Size: 494 B |
Before Width: | Height: | Size: 666 B |
@ -1,139 +0,0 @@
|
||||
/**
|
||||
* Initialize jQuery UI and Gallery Plugin elements
|
||||
*/
|
||||
|
||||
var short_forms = new Array(
|
||||
"#gQuickSearchForm",
|
||||
"#gAddTagForm",
|
||||
"#gSearchForm"
|
||||
);
|
||||
|
||||
$(document).ready(function() {
|
||||
$(".fancyclass").fancybox();
|
||||
|
||||
// Initialize Superfish menus
|
||||
$("ul.gMenu").addClass("sf-menu");
|
||||
$('ul.sf-menu').superfish({
|
||||
delay: 500,
|
||||
animation: {
|
||||
opacity:'show',
|
||||
height:'show'
|
||||
},
|
||||
speed: 'fast'
|
||||
});
|
||||
$("#gSiteMenu").css("display", "block");
|
||||
|
||||
// Initialize status message effects
|
||||
$("#gMessage li").gallery_show_message();
|
||||
|
||||
// Initialize dialogs
|
||||
$("#gLoginLink").addClass("gDialogLink");
|
||||
$(".gDialogLink").gallery_dialog();
|
||||
|
||||
// Initialize view menu
|
||||
if ($("#gViewMenu").length) {
|
||||
$("#gViewMenu ul").removeClass("gMenu").removeClass("sf-menu");
|
||||
$("#gViewMenu a").addClass("ui-icon");
|
||||
}
|
||||
|
||||
// Initialize short forms
|
||||
for (var i in short_forms) {
|
||||
short_form_init(short_forms[i]);
|
||||
$(short_forms[i]).addClass("gShortForm");
|
||||
}
|
||||
$(".gShortForm input[type=text]").addClass("ui-corner-left");
|
||||
$(".gShortForm input[type=submit]").addClass("ui-state-default ui-corner-right");
|
||||
|
||||
// Apply jQuery UI button css to submit inputs
|
||||
$("input[type=submit]:not(.gShortForm input)").addClass("ui-state-default ui-corner-all");
|
||||
|
||||
// Apply styles and icon classes to gContextMenu
|
||||
if ($(".gContextMenu").length) {
|
||||
$(".gContextMenu li").addClass("ui-state-default");
|
||||
$(".gContextMenu a").addClass("gButtonLink ui-icon-left");
|
||||
$(".gContextMenu a").prepend("<span class=\"ui-icon\"></span>");
|
||||
$(".gContextMenu a span").each(function() {
|
||||
var iconClass = $(this).parent().attr("class").match(/ui-icon-.[^\s]+/).toString();
|
||||
$(this).addClass(iconClass);
|
||||
});
|
||||
}
|
||||
|
||||
// Album view only
|
||||
if ($("#gAlbumGrid").length) {
|
||||
// Vertical align thumbnails/metadata in album grid
|
||||
$(".gItem").gallery_valign();
|
||||
|
||||
// Initialize context menus
|
||||
$(".gItem").hover(
|
||||
function(){
|
||||
// Insert invisible placeholder to hold the item's position in the grid
|
||||
var placeHolder = $(this).clone();
|
||||
$(placeHolder).attr("id", "gPlaceHolder");
|
||||
$(placeHolder).css("visibility", "hidden");
|
||||
$(this).after($(placeHolder));
|
||||
// Style and position the item
|
||||
$(this).addClass("gHoverItem");
|
||||
var position = $(this).position();
|
||||
$(this).css("position", "absolute");
|
||||
$(this).css("top", position.top);
|
||||
$(this).css("left", position.left);
|
||||
$(this).css("z-index", "1000");
|
||||
// Initialize the contextual menu
|
||||
$(this).gallery_context_menu();
|
||||
// Set height based on height of descendents
|
||||
var title = $(this).find("h2");
|
||||
var meta = $(this).find(".gMetadata");
|
||||
var context_label = $(this).find(".gContextMenu li:first");
|
||||
var item_ht = $(this).height();
|
||||
var title_ht = $(title).gallery_height();
|
||||
var meta_ht = $(meta).gallery_height();
|
||||
var context_label_ht = $(context_label).gallery_height();
|
||||
$(this).height(item_ht + title_ht + meta_ht + context_label_ht);
|
||||
$(".fancyclass").fancybox();
|
||||
},
|
||||
function() {
|
||||
// Reset item height, position, and z-index
|
||||
if ($(this).next().height()) {
|
||||
var sib_height = $(this).next().height();
|
||||
} else {
|
||||
var sib_height = $(this).prev().height();
|
||||
}
|
||||
if ($.browser.msie && $.browser.version >= 8) {
|
||||
sib_height = sib_height + 1;
|
||||
}
|
||||
$(this).css("height", sib_height);
|
||||
$(this).css("position", "relative");
|
||||
$(this).css("top", null);
|
||||
$(this).css("left", null);
|
||||
$(this).css("z-index", 1);
|
||||
// Remove the placeholder and hover class from the item
|
||||
$("#gPlaceHolder").remove();
|
||||
$(this).removeClass("gHoverItem");
|
||||
$(".fancyclass").fancybox();
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
// Photo/Item item view
|
||||
if ($("#gItem").length) {
|
||||
// Ensure the resized image fits within its container
|
||||
$("#gItem").gallery_fit_photo();
|
||||
|
||||
// Initialize context menus
|
||||
var resize = $("#gItem").gallery_get_photo();
|
||||
$(resize).hover(function(){
|
||||
$(this).gallery_context_menu();
|
||||
});
|
||||
|
||||
// Add scroll effect for links to named anchors
|
||||
$.localScroll({
|
||||
queue: true,
|
||||
duration: 1000,
|
||||
hash: true
|
||||
});
|
||||
}
|
||||
|
||||
// Initialize button hover effect
|
||||
$.fn.gallery_hover_init();
|
||||
|
||||
});
|
@ -1,76 +0,0 @@
|
||||
<?php defined("SYSPATH") or die("No direct script access.") ?>
|
||||
<? // @todo Set hover on AlbumGrid list items for guest users ?>
|
||||
<div id="gInfo">
|
||||
<?= $theme->album_top() ?>
|
||||
<h1><?= html::purify($item->title) ?></h1>
|
||||
<div class="gDescription"><?= nl2br(html::purify($item->description)) ?></div>
|
||||
</div>
|
||||
<? $children_all = $item->viewable()->children();
|
||||
$theme->pagination = new Pagination();
|
||||
$theme->pagination->initialize(array("query_string" => "page","total_items" => $children_count,"items_per_page" => $page_size,"style" => "classic"));
|
||||
$children_offset = ($theme->pagination->current_page -1) * $page_size ; ?>
|
||||
|
||||
<ul id="gAlbumGrid">
|
||||
<? if (count($children)): ?>
|
||||
<? for($i=0;$i<$children_offset;$i++): ?>
|
||||
<? $child = $children_all[$i] ?>
|
||||
<? if ($child->is_photo()): ?>
|
||||
<? $fancymodule = ""; ?>
|
||||
<? if (module::is_active("exif")){$fancymodule .= "exif::" . url::site("exif/show/{$child->id}") . ";;";} ?>
|
||||
<? if (module::is_active("comment") && module::is_active("comment_3nids")){$fancymodule .= "comment::" . url::site("comments_3nids?item_id={$child->id}") . ";;comment_count::" . comment_3nids::count($child) . ";;" ;} ?>
|
||||
<a href="<?=$child->file_url()?>" rel="fancygroup" class="fancyclass" title="<?= $child->parent()->title ?>, <?=$child->parent()->description?>" name="<?=$fancymodule ?>"></a>
|
||||
<? endif ?>
|
||||
<? endfor ?>
|
||||
<? foreach ($children as $i => $child): ?>
|
||||
<? $item_class = "gPhoto"; ?>
|
||||
<? if ($child->is_album()): ?>
|
||||
<? $item_class = "gAlbum"; ?>
|
||||
<? endif ?>
|
||||
<li id="gItemId-<?= $child->id ?>" class="gItem <?= $item_class ?>">
|
||||
<?= $theme->thumb_top($child) ?>
|
||||
<? if ($child->is_photo()): ?>
|
||||
<? $fancymodule = ""; ?>
|
||||
<? if (module::is_active("exif")){$fancymodule .= "exif::" . url::site("exif/show/{$child->id}") . ";;";} ?>
|
||||
<? if (module::is_active("comment") && module::is_active("comment_3nids")){$fancymodule .= "comment::" . url::site("comments_3nids?item_id={$child->id}") . ";;comment_count::" . comment_3nids::count($child) . ";;" ;} ?>
|
||||
<a href="<?=$child->file_url()?>" rel="fancygroup" class="fancyclass" title="<?= $child->parent()->title ?>, <?=$child->parent()->description?>" name="<?=$fancymodule ?>">
|
||||
<?= $child->thumb_img(array("class" => "gThumbnail")) ?></a>
|
||||
<? if ($user->admin): ?>
|
||||
<br><a href="<?=$child->url()?>">view/edit</a>
|
||||
<? endif ?>
|
||||
<? else: ?>
|
||||
<a href="<?= $child->url() ?>">
|
||||
<?= $child->thumb_img(array("class" => "gThumbnail")) ?>
|
||||
<h2><span></span><?= html::clean($child->title) ?></h2>
|
||||
</a>
|
||||
<? endif ?>
|
||||
<?= $theme->thumb_bottom($child) ?>
|
||||
<?= $theme->context_menu($child, "#gItemId-{$child->id} .gThumbnail") ?>
|
||||
<? if ($child->is_photo() && module::is_active("comment") && module::is_active("comment_3nids")) :?>
|
||||
<ul class="gMetadata">
|
||||
<li><a href="<?=url::site("comments_3nids?item_id={$child->id}")?>" class="iframe fancyclass"><?=comment_3nids::count($child) ?> <?=t("comments")?></a></li>
|
||||
</ul>
|
||||
<? endif ?>
|
||||
</li>
|
||||
<? endforeach ?>
|
||||
<? for($i=$children_offset+$page_size;$i<$children_count;$i++): ?>
|
||||
<? $child = $children_all[$i] ?>
|
||||
<? if ($child->is_photo()): ?>
|
||||
<? $fancymodule = ""; ?>
|
||||
<? if (module::is_active("exif")){$fancymodule .= "exif::" . url::site("exif/show/{$child->id}") . ";;";} ?>
|
||||
<? if (module::is_active("comment") && module::is_active("comment_3nids")){$fancymodule .= "comment::" . url::site("comments_3nids?item_id={$child->id}") . ";;comment_count::" . comment_3nids::count($child) . ";;" ;} ?>
|
||||
<a href="<?=$child->file_url()?>" rel="fancygroup" class="fancyclass" title="<?= $child->parent()->title ?>, <?=$child->parent()->description?>" name="<?=$fancymodule ?>"></a>
|
||||
<? endif ?>
|
||||
<? endfor ?>
|
||||
<? else: ?>
|
||||
<? if ($user->admin || access::can("add", $item)): ?>
|
||||
<? $addurl = url::file("index.php/simple_uploader/app/$item->id") ?>
|
||||
<li><?= t("There aren't any photos here yet! <a %attrs>Add some</a>.",
|
||||
array("attrs" => html::mark_clean("href=\"$addurl\" class=\"gDialogLink\""))) ?></li>
|
||||
<? else: ?>
|
||||
<li><?= t("There aren't any photos here yet!") ?></li>
|
||||
<? endif; ?>
|
||||
<? endif; ?>
|
||||
</ul>
|
||||
<?= $theme->album_bottom() ?>
|
||||
|
||||
<?= $theme->pager() ?>
|
@ -1,78 +0,0 @@
|
||||
<?php defined("SYSPATH") or die("No direct script access.") ?>
|
||||
<div id="gAlbumHeader">
|
||||
<div id="gAlbumHeaderButtons">
|
||||
<?= $theme->dynamic_top() ?>
|
||||
</div>
|
||||
<h1><?= html::clean($title) ?></h1>
|
||||
</div>
|
||||
<? $children_all = $tag->items();
|
||||
$theme->pagination = new Pagination();
|
||||
$theme->pagination->initialize(array("query_string" => "page","total_items" => $children_count,"items_per_page" => $page_size,"style" => "classic"));
|
||||
$children_offset = ($theme->pagination->current_page -1) * $page_size ; ?>
|
||||
|
||||
|
||||
<ul id="gAlbumGrid">
|
||||
<? for($i=0;$i<$children_offset;$i++): ?>
|
||||
<? $child = $children_all[$i] ?>
|
||||
<? if ($child->is_photo()): ?>
|
||||
<? $fancymodule = ""; ?>
|
||||
<? if (module::is_active("exif")){$fancymodule .= "exif::" . url::site("exif/show/{$child->id}") . ";;";} ?>
|
||||
<? if (module::is_active("comment") && module::is_active("comment_3nids")){$fancymodule .= "comment::" . url::site("comments_3nids?item_id={$child->id}") . ";;comment_count::" . comment_3nids::count($child) . ";;" ;} ?>
|
||||
<a href="<?=$child->file_url()?>" rel="fancygroup" class="fancyclass" title="<?= $child->parent()->title ?>, <?=$child->parent()->description?>" name="<?=$fancymodule ?>"></a>
|
||||
<? endif ?>
|
||||
<? endfor ?>
|
||||
|
||||
<? foreach ($children as $i => $child): ?>
|
||||
|
||||
<!--<li class="gItem <?= $child->is_album() ? "gAlbum" : "" ?>">!-->
|
||||
<li id="gItemId-<?= $child->id ?>" class="gItem gAlbum">
|
||||
<?= $theme->thumb_top($child) ?>
|
||||
<? if (!($child->is_album())): ?>
|
||||
<? if ($child->is_photo()): ?>
|
||||
<? $fancymodule = ""; ?>
|
||||
<? if (module::is_active("exif")){$fancymodule .= "exif::" . url::site("exif/show/{$child->id}") . ";;";} ?>
|
||||
<? if (module::is_active("comment") && module::is_active("comment_3nids")){$fancymodule .= "comment::" . url::site("comments_3nids?item_id={$child->id}") . ";;comment_count::" . comment_3nids::count($child) . ";;" ;} ?>
|
||||
<a href="<?=$child->file_url()?>" rel="fancygroup" class="fancyclass" title="<?= $child->parent()->title ?>, <?=$child->parent()->description?>" name="<?=$fancymodule ?>">
|
||||
<? else: ?>
|
||||
<a href="<?= $child->url() ?>">
|
||||
<? endif ?>
|
||||
<img id="gPhotoId-<?= $child->id ?>" class="gThumbnail"
|
||||
alt="photo" src="<?= $child->thumb_url() ?>"
|
||||
width="<?= $child->thumb_width ?>"
|
||||
height="<?= $child->thumb_height ?>" />
|
||||
</a>
|
||||
<a href="<?= $child->parent()->url() ?>?show=<?= $child->id?>"><h2><span></span><?= $child->parent()->title ?></h2></a>
|
||||
<? if ($user->admin): ?>
|
||||
<a href="<?=$child->url()?>">view</a>
|
||||
<? endif ?>
|
||||
<? else: ?>
|
||||
<a href="<?= $child->url() ?>">
|
||||
<img id="gPhotoId-<?= $child->id ?>" class="gThumbnail"
|
||||
alt="photo" src="<?= $child->thumb_url() ?>"
|
||||
width="<?= $child->thumb_width ?>"
|
||||
height="<?= $child->thumb_height ?>" />
|
||||
<h2><span></span><?= html::clean($child->title) ?></h2>
|
||||
</a>
|
||||
<? endif ?>
|
||||
<?= $theme->thumb_bottom($child) ?>
|
||||
<?= $theme->context_menu($child, "#gItemId-{$child->id} .gThumbnail") ?>
|
||||
<? if ($child->is_photo() && module::is_active("comment") && module::is_active("comment_3nids")) :?>
|
||||
<ul class="gMetadata">
|
||||
<li><a href="<?=url::site("comments_3nids?item_id={$child->id}")?>" class="iframe fancyclass"><?=comment_3nids::count($child) ?> <?=t("comments")?></a></li>
|
||||
</ul>
|
||||
<? endif ?>
|
||||
</li>
|
||||
<? endforeach ?>
|
||||
<? for($i=$children_offset+$page_size;$i<$children_count;$i++): ?>
|
||||
<? $child = $children_all[$i] ?>
|
||||
<? if ($child->is_photo()): ?>
|
||||
<? $fancymodule = ""; ?>
|
||||
<? if (module::is_active("exif")){$fancymodule .= "exif::" . url::site("exif/show/{$child->id}") . ";;";} ?>
|
||||
<? if (module::is_active("comment") && module::is_active("comment_3nids")){$fancymodule .= "comment::" . url::site("comments_3nids?item_id={$child->id}") . ";;comment_count::" . comment_3nids::count($child) . ";;" ;} ?>
|
||||
<a href="<?=$child->file_url()?>" rel="fancygroup" class="fancyclass" title="<?= $child->parent()->title ?>, <?=$child->parent()->description?>" name="<?=$fancymodule ?>"></a>
|
||||
<? endif ?>
|
||||
<? endfor ?>
|
||||
</ul>
|
||||
<?= $theme->dynamic_bottom() ?>
|
||||
|
||||
<?= $theme->pager() ?>
|
@ -1,17 +0,0 @@
|
||||
<?php defined("SYSPATH") or die("No direct script access.") ?>
|
||||
|
||||
<? $fancymodule = ""; ?>
|
||||
<? if (module::is_active("exif")){$fancymodule .= "exif::" . url::site("exif/show/{$item->id}") . ";;";} ?>
|
||||
<? if (module::is_active("comment") && module::is_active("comment_3nids")){$fancymodule .= "comment::" . url::site("comments_3nids?item_id={$item->id}") . ";;comment_count::" . comment_3nids::count($item) . ";;" ;} ?>
|
||||
|
||||
<div class="gImageBlock">
|
||||
<a href="<?= $item->file_url() ?>" class="fancyclass" title="<?= $item->parent()->title ?>, <?=$item->parent()->description?>" name="<?=$fancymodule?>">
|
||||
<?= $item->thumb_img(array("class" => "gThumbnail")) ?>
|
||||
</a>
|
||||
|
||||
|
||||
<div class="gParentAlbum">
|
||||
<a href="<?= $item->parent()->url() ?>?show=<?= $item->id?>"><h4><span></span><?= $item->parent()->title ?></h4></a>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1,37 +0,0 @@
|
||||
<?php defined("SYSPATH") or die("No direct script access.") ?>
|
||||
<div id="gItem">
|
||||
<?= $theme->photo_top() ?>
|
||||
|
||||
<? /*
|
||||
<ul class="gPager">
|
||||
<li>
|
||||
<? if ($previous_item): ?>
|
||||
<a href="<?= $previous_item->url() ?>" class="gButtonLink ui-icon-left ui-state-default ui-corner-all">
|
||||
<span class="ui-icon ui-icon-triangle-1-w"></span><?= t("previous") ?></a>
|
||||
<? else: ?>
|
||||
<a class="gButtonLink ui-icon-left ui-state-disabled ui-corner-all">
|
||||
<span class="ui-icon ui-icon-triangle-1-w"></span><?= t("previous") ?></a>
|
||||
<? endif; ?>
|
||||
</li>
|
||||
<li class="gInfo"><?= t("%position of %total", array("position" => $position, "total" => $sibling_count)) ?></li>
|
||||
<li class="txtright">
|
||||
<? if ($next_item): ?>
|
||||
<a href="<?= $next_item->url() ?>" class="gButtonLink ui-icon-right ui-state-default ui-corner-all">
|
||||
<span class="ui-icon ui-icon-triangle-1-e"></span><?= t("next") ?></a>
|
||||
<? else: ?>
|
||||
<a class="gButtonLink ui-icon-right ui-state-disabled ui-corner-all">
|
||||
<span class="ui-icon ui-icon-triangle-1-e"></span><?= t("next") ?></a>
|
||||
<? endif ?>
|
||||
</li>
|
||||
</ul>
|
||||
*/ ?>
|
||||
|
||||
<?= $item->movie_img(array("class" => "gMovie", "id" => "gMovieId-{$item->id}")) ?>
|
||||
|
||||
<div id="gInfo">
|
||||
<h1><?= html::purify($item->title) ?></h1>
|
||||
<div><?= nl2br(html::purify($item->description)) ?></div>
|
||||
</div>
|
||||
|
||||
<?= $theme->context_menu($item, "#gMovieId-{$item->id}") ?>
|
||||
</div>
|
@ -1,80 +0,0 @@
|
||||
<?php defined("SYSPATH") or die("No direct script access.") ?>
|
||||
<? // @todo Set hover on AlbumGrid list items ?>
|
||||
|
||||
<? list($children_count_true, $children_all) = search::search($q,1000,0);
|
||||
$theme->pagination = new Pagination();
|
||||
$theme->pagination->initialize(array("query_string" => "page","total_items" => $children_count_true,"items_per_page" => $page_size,"style" => "classic"));
|
||||
$children_offset = ($theme->pagination->current_page -1) * $page_size ; ?>
|
||||
|
||||
<div id="gSearchResults">
|
||||
<h2><?= t("Results for <b>%term</b>", array("term" => $q)) ?></h2>
|
||||
|
||||
<? if (count($items)): ?>
|
||||
<ul id="gAlbumGrid">
|
||||
<? for($i=0;$i<$children_offset;$i++): ?>
|
||||
<? $child = $children_all[$i] ?>
|
||||
<? if ($child->is_photo()): ?>
|
||||
<? $fancymodule = ""; ?>
|
||||
<? if (module::is_active("exif")){$fancymodule .= "exif::" . url::site("exif/show/{$child->id}") . ";;";} ?>
|
||||
<? if (module::is_active("comment") && module::is_active("comment_3nids")){$fancymodule .= "comment::" . url::site("comments_3nids?item_id={$child->id}") . ";;comment_count::" . comment_3nids::count($child) . ";;" ;} ?>
|
||||
<a href="<?=$child->file_url()?>" rel="fancygroup" class="fancyclass" title="<?= $child->parent()->title ?>, <?=$child->parent()->description?>" name="<?=$fancymodule ?>"></a>
|
||||
<? endif ?>
|
||||
<? endfor ?>
|
||||
<? foreach ($items as $child): ?>
|
||||
<li id="gItemId-<?= $child->id ?>" class="gItem gAlbum">
|
||||
<?= $theme->thumb_top($child) ?>
|
||||
<? if (!($child->is_album())): ?>
|
||||
<? if ($child->is_photo()): ?>
|
||||
<? $fancymodule = ""; ?>
|
||||
<? if (module::is_active("exif")){$fancymodule .= "exif::" . url::site("exif/show/{$child->id}") . ";;";} ?>
|
||||
<? if (module::is_active("comment") && module::is_active("comment_3nids")){$fancymodule .= "comment::" . url::site("comments_3nids?item_id={$child->id}") . ";;comment_count::" . comment_3nids::count($child) . ";;" ;} ?>
|
||||
<a href="<?=$child->file_url()?>" rel="fancygroup" class="fancyclass" title="<?= $child->parent()->title ?>, <?=$child->parent()->description?>" name="<?=$fancymodule ?>">
|
||||
<? else: ?>
|
||||
<a href="<?= $child->url() ?>">
|
||||
<? endif ?>
|
||||
<img id="gPhotoId-<?= $child->id ?>" class="gThumbnail"
|
||||
alt="photo" src="<?= $child->thumb_url() ?>"
|
||||
width="<?= $child->thumb_width ?>"
|
||||
height="<?= $child->thumb_height ?>" />
|
||||
</a>
|
||||
<a href="<?= $child->parent()->url() ?>?show=<?= $child->id?>"><h2><span></span><?= $child->parent()->title ?></h2></a>
|
||||
<? if ($user->admin): ?>
|
||||
<a href="<?=$child->url()?>">view</a>
|
||||
<? endif ?>
|
||||
<? else: ?>
|
||||
<a href="<?= $child->url() ?>">
|
||||
<img id="gPhotoId-<?= $child->id ?>" class="gThumbnail"
|
||||
alt="photo" src="<?= $child->thumb_url() ?>"
|
||||
width="<?= $child->thumb_width ?>"
|
||||
height="<?= $child->thumb_height ?>" />
|
||||
<h2><span></span><?= html::clean($child->title) ?></h2>
|
||||
</a>
|
||||
<? endif ?>
|
||||
<?= $theme->thumb_bottom($child) ?>
|
||||
<?= $theme->context_menu($child, "#gItemId-{$child->id} .gThumbnail") ?>
|
||||
<? if ($child->is_photo() && module::is_active("comment") && module::is_active("comment_3nids")) :?>
|
||||
<ul class="gMetadata">
|
||||
<li><a href="<?=url::site("comments_3nids?item_id={$child->id}")?>" class="iframe fancyclass"><?=comment_3nids::count($child) ?> <?=t("comments")?></a></li>
|
||||
</ul>
|
||||
<? endif ?>
|
||||
</li>
|
||||
<? endforeach ?>
|
||||
<? for($i=$children_offset+$page_size;$i<$children_count;$i++): ?>
|
||||
<? $child = $children_all[$i] ?>
|
||||
<? if ($child->is_photo()): ?>
|
||||
<? $fancymodule = ""; ?>
|
||||
<? if (module::is_active("exif")){$fancymodule .= "exif::" . url::site("exif/show/{$child->id}") . ";;";} ?>
|
||||
<? if (module::is_active("comment") && module::is_active("comment_3nids")){$fancymodule .= "comment::" . url::site("comments_3nids?item_id={$child->id}") . ";;comment_count::" . comment_3nids::count($child) . ";;" ;} ?>
|
||||
<a href="<?=$child->file_url()?>" rel="fancygroup" class="fancyclass" title="<?= $child->parent()->title ?>, <?=$child->parent()->description?>" name="<?=$fancymodule ?>"></a>
|
||||
<? endif ?>
|
||||
<? endfor ?>
|
||||
</ul>
|
||||
<?= $theme->pager() ?>
|
||||
|
||||
<? else: ?>
|
||||
<p>
|
||||
<?= t("No results found for <b>%term</b>", array("term" => $q)) ?>
|
||||
</p>
|
||||
|
||||
<? endif; ?>
|
||||
</div>
|
@ -1,16 +0,0 @@
|
||||
<?php defined("SYSPATH") or die("No direct script access.") ?>
|
||||
<?= $theme->sidebar_top() ?>
|
||||
<div class="gToolbar">
|
||||
<div id="gViewMenu" class="gButtonSet">
|
||||
<? if ($page_type == "album"):?>
|
||||
<?= $theme->album_menu() ?>
|
||||
<? elseif ($page_type == "photo") : ?>
|
||||
<?= $theme->photo_menu() ?>
|
||||
<? elseif ($page_type == "tag") : ?>
|
||||
<?= $theme->tag_menu() ?>
|
||||
<? endif ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?= $theme->sidebar_blocks() ?>
|
||||
<?= $theme->sidebar_bottom() ?>
|
@ -1,3 +0,0 @@
|
||||
name = "Comments for 3nids theme"
|
||||
description = "Allows the use of comments within 3nids theme"
|
||||
version = 1
|
54
themes/3nids_theme/3nids/css/3nids.css
Executable file
@ -0,0 +1,54 @@
|
||||
/* 3nids specific */
|
||||
.g-movie {
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
||||
.g-map-head img {
|
||||
display: block;
|
||||
margin: 3px;
|
||||
}
|
||||
|
||||
.g-map-head a {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.g-comment-thumb{
|
||||
padding: 5px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.g-fancy-iframe-body{
|
||||
background-color: #333333;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
#mod_frame{
|
||||
background-color: #333333;
|
||||
}
|
||||
|
||||
.g-comment-box {
|
||||
border-bottom: 1px solid #555;
|
||||
}
|
||||
|
||||
.g-comment-box:hover{
|
||||
background-color: black;
|
||||
color: #ffffcc;
|
||||
}
|
||||
|
||||
#g-comment-detail {
|
||||
width: 360px;
|
||||
height: 100%;
|
||||
background-color: #333333;
|
||||
padding: 10px;
|
||||
text-align: left;
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
.g-block-content .g-parent-album h4 span {
|
||||
background: transparent url('../images/ico-album.png') no-repeat top left;
|
||||
display: inline-block;
|
||||
height: 16px;
|
||||
margin-right: 5px;
|
||||
width: 16px;
|
||||
}
|
||||
|
@ -2,15 +2,7 @@
|
||||
* Fix display in IE 6, 7
|
||||
*/
|
||||
|
||||
#gBanner,
|
||||
.gBreadcrumbs,
|
||||
#gAlbumGrid,
|
||||
#gPager,
|
||||
#gViewMenu {
|
||||
zoom: 1;
|
||||
}
|
||||
|
||||
#gBanner {
|
||||
#g-banner {
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
@ -19,19 +11,19 @@ input.submit {
|
||||
display: inline !important;
|
||||
}
|
||||
|
||||
#gAddTagForm input.textbox {
|
||||
#g-add-tag-form input.textbox {
|
||||
width: 110px;
|
||||
}
|
||||
|
||||
#gDialog a.gCancel {
|
||||
#g-dialog .g-cancel {
|
||||
display: inline-block !important;
|
||||
float: none !important;
|
||||
}
|
||||
|
||||
.gPager .txtright {
|
||||
.g-pager .g-text-right {
|
||||
width: 29%;
|
||||
}
|
||||
|
||||
.gPager .ui-icon-right {
|
||||
.g-pager .ui-icon-right {
|
||||
width: 60px;
|
||||
}
|
@ -48,14 +48,6 @@ div#fancy_loading_overlay {
|
||||
z-index: 30;
|
||||
}
|
||||
|
||||
div#fancy_loading_icon {
|
||||
position: absolute;
|
||||
background: url('../images/fancy_loading.gif') no-repeat;
|
||||
z-index: 35;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
|
||||
div#fancy_outer {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
@ -129,13 +121,13 @@ div#fancy_close {
|
||||
|
||||
a#fancy_left, a#fancy_right {
|
||||
position: absolute;
|
||||
bottom: 0px;
|
||||
height: 100%;
|
||||
width: 35%;
|
||||
top: 15px;
|
||||
height: 50px;
|
||||
width: 30%;
|
||||
cursor: pointer;
|
||||
z-index: 111;
|
||||
display: none;
|
||||
background-image: url(data:image/gif;base64,AAAA);
|
||||
background-image: url('data:image/gif;base64,AAAA');
|
||||
outline: none;
|
||||
}
|
||||
|
||||
@ -406,14 +398,6 @@ div#mod_loading_overlay {
|
||||
z-index: 1030;
|
||||
}
|
||||
|
||||
div#mod_loading_icon {
|
||||
position: absolute;
|
||||
background: url('../images/fancy_loading.gif') no-repeat;
|
||||
z-index: 1035;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
|
||||
div#mod_outer {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
@ -493,7 +477,7 @@ a#mod_left, a#mod_right {
|
||||
cursor: pointer;
|
||||
z-index: 10111;
|
||||
display: none;
|
||||
background-image: url(data:image/gif;base64,AAAA);
|
||||
background-image: url('data:image/gif;base64,AAAA');
|
||||
outline: none;
|
||||
}
|
||||
|
||||
@ -671,3 +655,4 @@ td#mod_title_right {
|
||||
background: transparent url('../images/fancy_title_right.png') repeat-x;
|
||||
}
|
||||
|
||||
|
831
themes/3nids_theme/3nids/css/screen.css
Executable file
@ -0,0 +1,831 @@
|
||||
/**
|
||||
* Gallery 3 Default Theme Screen Styles
|
||||
*
|
||||
* @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) Navigation and menus
|
||||
* 6) Browser hacks
|
||||
* 7) jQuery and jQuery UI
|
||||
* 8) Right-to-left language styles
|
||||
*/
|
||||
|
||||
/** *******************************************************************
|
||||
* 1) Basic HTML elements
|
||||
**********************************************************************/
|
||||
|
||||
body, html {
|
||||
background-color: #ccc;
|
||||
font-family: 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
|
||||
color: #e8e8e8;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
em {
|
||||
font-style: oblique;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, strong, th {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 1.5em;
|
||||
}
|
||||
|
||||
#g-search-results h1 {
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
#g-progress h1 {
|
||||
font-size: 1.1em;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
#g-sidebar .g-block h2 {
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
#g-sidebar .g-block li {
|
||||
margin-bottom: .6em;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 1.2em;
|
||||
}
|
||||
h4 {
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
/* Links ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
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: #ffffcc !important;
|
||||
cursor: pointer !important;
|
||||
text-decoration: none;
|
||||
-moz-outline-style: none;
|
||||
}
|
||||
|
||||
a:hover,
|
||||
#g-dialog a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.g-menu a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#g-dialog #g-action-status li {
|
||||
width: 400px;
|
||||
white-space: normal;
|
||||
padding-left: 32px;
|
||||
}
|
||||
|
||||
/* Tables ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#g-content table {
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
caption,
|
||||
th {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
th,
|
||||
td {
|
||||
border: none;
|
||||
border-bottom: 1px solid #ccc;
|
||||
padding: .5em;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
/* Forms ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
fieldset {
|
||||
border: 1px solid #ccc;
|
||||
padding-bottom: .8em;
|
||||
}
|
||||
|
||||
#g-banner fieldset,
|
||||
#g-sidebar fieldset,
|
||||
.g-short-form fieldset {
|
||||
border: none;
|
||||
}
|
||||
|
||||
legend {
|
||||
font-weight: bold;
|
||||
margin-left: 1em;
|
||||
color: #e8e8e8;
|
||||
}
|
||||
|
||||
#g-banner legend,
|
||||
#g-sidebar legend,
|
||||
#g-content #g-search-form legend,
|
||||
input[type="hidden"],
|
||||
.g-short-form label {
|
||||
display: none;
|
||||
}
|
||||
|
||||
label {
|
||||
cursor: help;
|
||||
}
|
||||
|
||||
input[type="text"],
|
||||
input[type="password"] {
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
input[type="text"],
|
||||
input[type="password"],
|
||||
textarea {
|
||||
border: 1px solid #e8e8e8;
|
||||
border-top-color: #ccc;
|
||||
border-left-color: #ccc;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
textarea {
|
||||
width: 90%;
|
||||
height: 12em;
|
||||
}
|
||||
|
||||
input:focus,
|
||||
textarea:focus,
|
||||
option:focus {
|
||||
background-color: #ffc;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
/* Form layout ~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
form li {
|
||||
margin: 0 !important;
|
||||
padding: .3em 1.5em .3em 1em;
|
||||
}
|
||||
|
||||
form ul ul {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
form ul ul li {
|
||||
float: left;
|
||||
}
|
||||
|
||||
input,
|
||||
select,
|
||||
textarea {
|
||||
display: block;
|
||||
clear: both;
|
||||
padding: .2em;
|
||||
}
|
||||
|
||||
input[type="submit"],
|
||||
input[type="reset"] {
|
||||
display: inline;
|
||||
clear: none;
|
||||
float: left;
|
||||
}
|
||||
|
||||
/* Form validation ~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
form.g-error input[type="text"],
|
||||
li.g-error input[type="text"],
|
||||
form.g-error input[type="password"],
|
||||
li.g-error input[type="password"],
|
||||
form.g-error input[type="checkbox"],
|
||||
li.g-error input[type="checkbox"],
|
||||
form.g-error input[type="radio"],
|
||||
li.g-error input[type="radio"],
|
||||
form.g-error textarea,
|
||||
li.g-error textarea,
|
||||
form.g-error select,
|
||||
li.g-error select {
|
||||
border: 2px solid red;
|
||||
}
|
||||
|
||||
/** *******************************************************************
|
||||
* 2) Reusable content blocks
|
||||
*********************************************************************/
|
||||
|
||||
.g-block h2 {
|
||||
background-color: #333;
|
||||
padding: .3em .8em;
|
||||
}
|
||||
|
||||
.g-block-content {
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
||||
/* Status messages ~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
/* Inline layout (forms, lists) ~~~~~~~~~~ */
|
||||
|
||||
.g-short-form li {
|
||||
float: left;
|
||||
padding: .4em 0;
|
||||
}
|
||||
|
||||
.g-short-form input[type="text"] {
|
||||
color: #666;
|
||||
padding: .3em .6em;
|
||||
width: 11em;
|
||||
}
|
||||
|
||||
/*** ******************************************************************
|
||||
* 3) Page layout containers
|
||||
*********************************************************************/
|
||||
|
||||
/* View container ~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.g-view {
|
||||
background-color: #333333;
|
||||
border: 1px solid #e8e8e8;
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
/* Layout containers ~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
#g-header {
|
||||
margin-bottom: 1em;
|
||||
background-color: #484848;
|
||||
border-bottom: 1px solid #e8e8e8;
|
||||
}
|
||||
|
||||
#g-banner {
|
||||
background-color: #333333;
|
||||
border-bottom: 1px solid #e8e8e8;
|
||||
font-size: .8em;
|
||||
min-height: 5em;
|
||||
padding: 1em 20px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
#g-content {
|
||||
font-size: 1.2em;
|
||||
padding-left: 20px;
|
||||
position: relative;
|
||||
width: 600px;
|
||||
}
|
||||
|
||||
#g-sidebar {
|
||||
background-color: #333333;
|
||||
font-size: .9em;
|
||||
padding: 0 20px;
|
||||
width: 220px;
|
||||
}
|
||||
|
||||
#g-footer {
|
||||
background-color: #484848;
|
||||
border-top: 1px solid #ccc;
|
||||
font-size: .8em;
|
||||
margin-top: 20px;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
/** *******************************************************************
|
||||
* 4) Content blocks in specific layout containers
|
||||
*********************************************************************/
|
||||
|
||||
/* Header ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
#g-banner #g-logo img {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#g-banner #g-quick-search-form {
|
||||
clear: right;
|
||||
float: right;
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
||||
#g-banner #g-quick-search-form input[type='text'] {
|
||||
width: 17em;
|
||||
}
|
||||
|
||||
#g-content .g-block h2 {
|
||||
background-color: transparent;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
#g-sidebar .g-block-content {
|
||||
padding-left: 1em;
|
||||
}
|
||||
|
||||
/* Album content ~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
#g-content #g-album-grid {
|
||||
margin: 1em 0;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
#g-content #g-album-grid .g-item {
|
||||
background-color: #484848;
|
||||
border: 1px solid #e8e8e8;
|
||||
float: left;
|
||||
font-size: .7em;
|
||||
padding: .6em 8px;
|
||||
position: relative;
|
||||
text-align: center;
|
||||
width: 180px;
|
||||
height: 210px;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
#g-content #g-album-grid .g-item h2 {
|
||||
margin: 5px 0;
|
||||
}
|
||||
|
||||
#g-content .g-photo h2,
|
||||
#g-content .g-item .g-metadata {
|
||||
color: #ffffcc;
|
||||
display: none;
|
||||
margin-bottom: .6em;
|
||||
}
|
||||
|
||||
#g-content #g-album-grid .g-album {
|
||||
background-color: #484848;
|
||||
}
|
||||
|
||||
#g-content #g-album-grid .g-album h2 span {
|
||||
background: transparent url('../images/ico-album.png') no-repeat top left;
|
||||
display: inline-block;
|
||||
height: 16px;
|
||||
margin-right: 5px;
|
||||
width: 16px;
|
||||
}
|
||||
|
||||
#g-content #g-album-grid .g-hover-item {
|
||||
background-color: #000;
|
||||
position: absolute !important;
|
||||
z-index: 1000 !important;
|
||||
border: 1px solid #f9bd01;
|
||||
}
|
||||
|
||||
#g-content .g-hover-item h2,
|
||||
#g-content .g-hover-item .g-metadata {
|
||||
display: block;
|
||||
}
|
||||
|
||||
#g-content #g-album-grid #g-place-holder {
|
||||
position: relative;
|
||||
visibility: hidden;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
/* Individual photo content ~~~~~~~~~~~~~~ */
|
||||
|
||||
#g-content #g-item {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#g-content #g-photo {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
#g-content #g-item .g-fullsize-link img {
|
||||
display: block;
|
||||
margin: 1em auto !important;
|
||||
}
|
||||
|
||||
#g-comments {
|
||||
margin-top: 2em;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
#g-comments ul li {
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
#g-comments .g-author {
|
||||
border-bottom: 1px solid #ccc;
|
||||
color: #999;
|
||||
height: 32px;
|
||||
line-height: 32px;
|
||||
}
|
||||
|
||||
#g-comments ul li div {
|
||||
padding: 0 8px 8px 43px;
|
||||
}
|
||||
|
||||
#g-comments ul li #g-recaptcha {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#g-comments ul li #g-recaptcha div {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#g-comments .g-avatar {
|
||||
height: 32px;
|
||||
margin-right: .4em;
|
||||
width: 32px;
|
||||
}
|
||||
|
||||
#g-admin-comment-button {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 2px;
|
||||
}
|
||||
|
||||
#g-content #g-comment-form {
|
||||
margin-top: 2em;
|
||||
}
|
||||
|
||||
/* Footer content ~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
#g-footer #g-credits li {
|
||||
padding-right: 1.2em;
|
||||
}
|
||||
|
||||
#g-content #g-search-results {
|
||||
margin-top: 1em;
|
||||
padding-top: 1em;
|
||||
}
|
||||
|
||||
/* In-line editing ~~~~~~~~~~~~~~~~~~~~~ */
|
||||
#g-in-place-edit-message {
|
||||
background-color: #FFF;
|
||||
}
|
||||
|
||||
/** *******************************************************************
|
||||
* 5) Navigation and menus
|
||||
*********************************************************************/
|
||||
|
||||
#g-site-menu,
|
||||
#g-tag-cloud ul {
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
/* Login menu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
#g-banner #g-login-menu {
|
||||
color: #999;
|
||||
float: right;
|
||||
}
|
||||
|
||||
#g-banner #g-login-menu li {
|
||||
padding-left: 1.2em;
|
||||
}
|
||||
|
||||
/* Site Menu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
#g-site-menu {
|
||||
bottom: 0;
|
||||
display: none;
|
||||
left: 300px;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
#g-site-menu ul {
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
|
||||
/* Context Menu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.g-context-menu {
|
||||
background-color: #fff;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.g-item .g-context-menu {
|
||||
display: none;
|
||||
margin-top: 2em;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#g-item .g-context-menu {
|
||||
font-size: .7em;
|
||||
}
|
||||
|
||||
#g-item .g-context-menu ul {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.g-context-menu li {
|
||||
border-left: none;
|
||||
border-right: none;
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.g-context-menu li a {
|
||||
display: block;
|
||||
line-height: 1.6em;
|
||||
}
|
||||
|
||||
.g-hover-item .g-context-menu {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.g-hover-item .g-context-menu li {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.g-hover-item .g-context-menu a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* View Menu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
#g-view-menu {
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
#g-view-menu a {
|
||||
background-repeat: no-repeat;
|
||||
background-position: 50% 50%;
|
||||
height: 28px !important;
|
||||
width: 43px !important;
|
||||
}
|
||||
|
||||
#g-view-menu #g-slideshow-link {
|
||||
background-image: url('../images/ico-view-slideshow.png');
|
||||
}
|
||||
|
||||
#g-view-menu .g-fullsize-link {
|
||||
background-image: url('../images/ico-view-fullsize.png');
|
||||
}
|
||||
|
||||
#g-view-menu #g-comments-link {
|
||||
background-image: url('../images/ico-view-comments.png');
|
||||
}
|
||||
|
||||
#g-view-menu #g-print-digibug-link {
|
||||
background-image: url('../images/ico-print.png');
|
||||
}
|
||||
|
||||
/* Tags and cloud ~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
#g-tag-cloud ul {
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
#g-tag-cloud ul li {
|
||||
display: inline;
|
||||
line-height: 1.5em;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
#g-tag-cloud ul li a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#g-tag-cloud ul li span {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#g-tag-cloud ul li.size1 a {
|
||||
color: #9cf;
|
||||
font-size: 80%;
|
||||
font-weight: 100;
|
||||
}
|
||||
|
||||
#g-tag-cloud ul li.size2 a {
|
||||
color: #69f;
|
||||
font-size: 90%;
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
#g-tag-cloud ul li.size3 a {
|
||||
color: #69c;
|
||||
font-size: 100%;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
#g-tag-cloud ul li.size4 a {
|
||||
color: #369;
|
||||
font-size: 110%;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
#g-tag-cloud ul li.size5 a {
|
||||
color: #0e2b52;
|
||||
font-size: 120%;
|
||||
font-weight: 900;
|
||||
}
|
||||
|
||||
#g-tag-cloud ul li.size6 a {
|
||||
color: #0e2b52;
|
||||
font-size: 130%;
|
||||
font-weight: 900;
|
||||
}
|
||||
|
||||
#g-tag-cloud ul li.size7 a {
|
||||
color: #0e2b52;
|
||||
font-size: 140%;
|
||||
font-weight: 900;
|
||||
}
|
||||
|
||||
#g-tag-cloud ul li a:hover {
|
||||
color: #f30;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#g-welcome-message p {
|
||||
padding-bottom: 1em;
|
||||
}
|
||||
|
||||
/** *******************************************************************
|
||||
* 6) jQuery and jQuery UI
|
||||
*********************************************************************/
|
||||
|
||||
/* Superfish menu overrides ~~~~~~~~~~~~~~ */
|
||||
|
||||
.sf-menu a {
|
||||
border-left: 1px solid #e8e8e8;
|
||||
border-top: 1px solid #e8e8e8;
|
||||
}
|
||||
|
||||
.sf-menu li {
|
||||
color: #fff;
|
||||
background-color: #333;
|
||||
}
|
||||
|
||||
.sf-menu li li, .sf-menu li li ul li {
|
||||
color: #fff;
|
||||
background-color: #333;
|
||||
}
|
||||
|
||||
.sf-menu li:hover {
|
||||
color: #fff;
|
||||
background-color: #777;
|
||||
}
|
||||
|
||||
.sf-menu li:hover, .sf-menu li.sfHover,
|
||||
.sf-menu a:focus, .sf-menu a:hover, .sf-menu a:active {
|
||||
background: #777;
|
||||
}
|
||||
|
||||
/* jQuery UI Dialog ~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.ui-widget-overlay {
|
||||
background: #000;
|
||||
opacity: .7;
|
||||
}
|
||||
|
||||
/* jQuery UI ThemeRoller buttons */
|
||||
|
||||
.g-buttonset {
|
||||
padding-left: 1px;
|
||||
}
|
||||
|
||||
.g-buttonset li {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.g-buttonset .g-button {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.ui-icon-left .ui-icon {
|
||||
float: left;
|
||||
margin-right: .2em;
|
||||
}
|
||||
|
||||
.ui-icon-right .ui-icon {
|
||||
float: right;
|
||||
margin-left: .2em;
|
||||
}
|
||||
|
||||
.ui-icon-rotate-ccw {
|
||||
background-position: -192px -64px;
|
||||
}
|
||||
|
||||
.ui-icon-rotate-cw {
|
||||
background-position: -208px -64px;
|
||||
}
|
||||
|
||||
/* STUFF THAT NEEDS A HOME */
|
||||
|
||||
#g-move ul {
|
||||
padding-left: 1em;
|
||||
}
|
||||
|
||||
#g-move .selected {
|
||||
background: #999;
|
||||
}
|
||||
|
||||
|
||||
/* Permissions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
#g-edit-permissions-form {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
#g-edit-permissions-form td {
|
||||
background-image: none;
|
||||
}
|
||||
|
||||
#g-edit-permissions-form fieldset {
|
||||
border: 1px solid #ccc;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#g-permissions .g-denied,
|
||||
#g-permissions .g-allowed {
|
||||
text-align: center;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
#g-permissions .g-denied {
|
||||
background-color: #fcc;
|
||||
}
|
||||
|
||||
#g-permissions .g-allowed {
|
||||
background-color: #cfc;
|
||||
}
|
||||
|
||||
/*************** STUFF THAT NEEDS A HOME ****************/
|
||||
|
||||
#g-admin-g2-import-notes {
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
|
||||
#g-admin-g2-import-details {
|
||||
padding-top: 20px;
|
||||
}
|
||||
|
||||
#g-admin-g2-import-details .g-warning {
|
||||
margin-top: 4px;
|
||||
}
|
||||
|
||||
#g-admin-g2-import-details .g-info {
|
||||
padding: 2px;
|
||||
border: 1px solid #999;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
#g-admin-g2-import-notes p,
|
||||
#g-admin-g2-import-details .g-info p {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#g-admin-g2-import-notes ul li,
|
||||
#g-admin-g2-import .g-info ul li {
|
||||
padding-left: 0;
|
||||
margin-left: 20px;
|
||||
list-style-type: disc;
|
||||
}
|
||||
|
||||
/* Right to left styles ~~~~~~~~~~~~~~~~~~~~ */
|
||||
|
||||
.rtl {
|
||||
direction: rtl;
|
||||
}
|
||||
|
||||
.rtl caption,
|
||||
.rtl th,
|
||||
.rtl #g-dialog {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.rtl .g-right,
|
||||
.rtl #g-header #g-quick-search-form,
|
||||
.rtl #g-header #g-login-menu,
|
||||
.rtl .ui-icon-right .ui-icon {
|
||||
clear: left;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.rtl .g-left,
|
||||
.rtl #g-dialog .g-cancel,
|
||||
.rtl form ul ul li,
|
||||
.rtl input[type="submit"],
|
||||
.rtl input[type="reset"],
|
||||
.rtl .g-short-form li,
|
||||
.rtl #g-header #g-logo img,
|
||||
.rtl #g-content #g-album-grid .g-item,
|
||||
.rtl #g-site-menu,
|
||||
.rtl .g-breadcrumbs li,
|
||||
.rtl .g-pager li,
|
||||
.rtl .g-buttonset li,
|
||||
.rtl .ui-icon-left .ui-icon {
|
||||
float: right;
|
||||
}
|
Before Width: | Height: | Size: 180 B After Width: | Height: | Size: 180 B |
Before Width: | Height: | Size: 211 B After Width: | Height: | Size: 211 B |
Before Width: | Height: | Size: 180 B After Width: | Height: | Size: 180 B |
Before Width: | Height: | Size: 178 B After Width: | Height: | Size: 178 B |
Before Width: | Height: | Size: 180 B After Width: | Height: | Size: 180 B |
Before Width: | Height: | Size: 211 B After Width: | Height: | Size: 211 B |
Before Width: | Height: | Size: 180 B After Width: | Height: | Size: 180 B |
Before Width: | Height: | Size: 182 B After Width: | Height: | Size: 182 B |
BIN
themes/3nids_theme/3nids/css/themeroller/images/ui-bg_glass_95_fef1ec_1x400.png
Executable file
After Width: | Height: | Size: 119 B |
After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 122 B After Width: | Height: | Size: 122 B |
After Width: | Height: | Size: 95 B |
After Width: | Height: | Size: 115 B |
After Width: | Height: | Size: 145 B |
After Width: | Height: | Size: 106 B |
After Width: | Height: | Size: 140 B |
BIN
themes/3nids_theme/3nids/css/themeroller/images/ui-icons_222222_256x240.png
Executable file
After Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.3 KiB |
BIN
themes/3nids_theme/3nids/css/themeroller/images/ui-icons_444444_256x240.png
Executable file
After Width: | Height: | Size: 8.5 KiB |
BIN
themes/3nids_theme/3nids/css/themeroller/images/ui-icons_666666_256x240.png
Executable file
After Width: | Height: | Size: 8.6 KiB |
BIN
themes/3nids_theme/3nids/css/themeroller/images/ui-icons_aaaaaa_256x240.png
Executable file
After Width: | Height: | Size: 4.3 KiB |
BIN
themes/3nids_theme/3nids/css/themeroller/images/ui-icons_bbbbbb_256x240.png
Executable file
After Width: | Height: | Size: 8.5 KiB |
BIN
themes/3nids_theme/3nids/css/themeroller/images/ui-icons_cccccc_256x240.png
Executable file
After Width: | Height: | Size: 8.5 KiB |
BIN
themes/3nids_theme/3nids/css/themeroller/images/ui-icons_cd0a0a_256x240.png
Executable file
After Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 5.2 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 146 B After Width: | Height: | Size: 146 B |
Before Width: | Height: | Size: 129 B After Width: | Height: | Size: 129 B |
Before Width: | Height: | Size: 245 B After Width: | Height: | Size: 245 B |
Before Width: | Height: | Size: 207 B After Width: | Height: | Size: 207 B |
Before Width: | Height: | Size: 136 B After Width: | Height: | Size: 136 B |
Before Width: | Height: | Size: 239 B After Width: | Height: | Size: 239 B |
Before Width: | Height: | Size: 221 B After Width: | Height: | Size: 221 B |
Before Width: | Height: | Size: 140 B After Width: | Height: | Size: 140 B |
Before Width: | Height: | Size: 556 B After Width: | Height: | Size: 556 B |
Before Width: | Height: | Size: 149 B After Width: | Height: | Size: 149 B |