Merge branch 'master' of git://github.com/rWatcher/gallery3-contrib
This commit is contained in:
commit
6022bc45d4
@ -40,7 +40,7 @@ class Admin_Albumpassword_Controller extends Admin_Controller {
|
||||
// Should protected items be hidden, or completely in-accessable?
|
||||
$albumpassword_group = $form->group("album_password_group");
|
||||
$albumpassword_group->checkbox("hideonly")
|
||||
->label("Only hide protected albums?")
|
||||
->label(t("Do not require passwords"))
|
||||
->checked(module::get_var("albumpassword", "hideonly"));
|
||||
|
||||
// Add a save button to the form.
|
||||
|
@ -115,6 +115,7 @@ class albumpassword_Controller extends Controller {
|
||||
public function logout() {
|
||||
// Delete a stored password cookie.
|
||||
cookie::delete("g3_albumpassword");
|
||||
cookie::delete("g3_albumpassword_id");
|
||||
url::redirect(url::abs_site("albums/1"));
|
||||
}
|
||||
|
||||
@ -135,6 +136,7 @@ class albumpassword_Controller extends Controller {
|
||||
if (count($existing_password) > 0) {
|
||||
// If the password if valid, then store it, and display a success message.
|
||||
// If not, close the dialog and display a rejected message.
|
||||
cookie::delete("g3_albumpassword_id");
|
||||
cookie::set("g3_albumpassword", $album_password);
|
||||
message::success(t("Password Accepted."));
|
||||
print "<html>\n<body>\n<script type=\"text/javascript\">\n$(\"#g-dialog\").dialog(\"close\");\nwindow.location.reload();\n</script>\n</body>\n</html>\n";
|
||||
|
@ -34,11 +34,31 @@ class item extends item_Core {
|
||||
$model->and_open()->join("albumpassword_idcaches", "items.id", "albumpassword_idcaches.item_id", "LEFT OUTER")
|
||||
->and_where("albumpassword_idcaches.item_id", "IS", NULL);
|
||||
|
||||
// If in hide only mode, check and see if the current item is protected.
|
||||
// If it is, log the user in with the password to view it.
|
||||
if (module::get_var("albumpassword", "hideonly") == true) {
|
||||
$existing_cacheditem = ORM::factory("albumpassword_idcache")->where("item_id", "=", $model->id)->order_by("cache_id")->find_all();
|
||||
if (count($existing_cacheditem) > 0) {
|
||||
$existing_cacheditem_password = ORM::factory("items_albumpassword")->where("id", "=", $existing_cacheditem[0]->password_id)->find_all();
|
||||
if (cookie::get("g3_albumpassword") != $existing_cacheditem_password[0]->password) {
|
||||
cookie::set("g3_albumpassword", $existing_cacheditem_password[0]->password);
|
||||
cookie::set("g3_albumpassword_id", $existing_cacheditem_password[0]->id);
|
||||
$model->or_where("albumpassword_idcaches.password_id", "=", $existing_cacheditem_password[0]->id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ... Unless their password id corresponds with a valid password.
|
||||
$existing_password = ORM::factory("items_albumpassword")->where("password", "=", cookie::get("g3_albumpassword"))->find_all();
|
||||
if (count($existing_password) > 0) {
|
||||
foreach ($existing_password as $one_password) {
|
||||
$model->or_where("albumpassword_idcaches.password_id", "=", $one_password->id);
|
||||
if (cookie::get("g3_albumpassword_id") != "") {
|
||||
if (cookie::get("g3_albumpassword_id") == $one_password->id) {
|
||||
$model->or_where("albumpassword_idcaches.password_id", "=", $one_password->id);
|
||||
}
|
||||
} else {
|
||||
$model->or_where("albumpassword_idcaches.password_id", "=", $one_password->id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -48,9 +48,17 @@ class albumpassword_event_Core {
|
||||
->css_id("g-album-password-logout")
|
||||
->url(url::site("albumpassword/logout"))
|
||||
->label(t("Clear password")));
|
||||
$existing_password = ORM::factory("items_albumpassword")
|
||||
$existing_password = "";
|
||||
if (cookie::get("g3_albumpassword_id") != "") {
|
||||
$existing_password = ORM::factory("items_albumpassword")
|
||||
->where("password", "=", cookie::get("g3_albumpassword"))
|
||||
->where("id", "=", cookie::get("g3_albumpassword_id"))
|
||||
->find_all();
|
||||
} else {
|
||||
$existing_password = ORM::factory("items_albumpassword")
|
||||
->where("password", "=", cookie::get("g3_albumpassword"))
|
||||
->find_all();
|
||||
}
|
||||
if (count($existing_password) > 0) {
|
||||
$counter = 0;
|
||||
while ($counter < count($existing_password)) {
|
||||
|
@ -4,6 +4,6 @@
|
||||
</h2>
|
||||
<br />
|
||||
<div class="g-block">
|
||||
<?= t("If this box is checked, protected albums will only be hidden. Anyone with the URL to either the album or it's contents will be able to access it without a password.") ?><br /><br />
|
||||
<?= $albumpassword_form ?>
|
||||
<?= t("If this box is checked, accessing a protected album/photo/video will automatically log the visitor in with that items password.") ?><br /><br />
|
||||
</div>
|
||||
|
@ -18,6 +18,12 @@
|
||||
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
class batchtag_event_Core {
|
||||
static function pre_deactivate($data) {
|
||||
if ($data->module == "tag") {
|
||||
$data->messages["warn"][] = t("The BatchTag module requires the Tags module.");
|
||||
}
|
||||
}
|
||||
|
||||
static function module_change($changes) {
|
||||
// See if the Tags module is installed,
|
||||
// tell the user to install it if it isn't.
|
||||
|
@ -24,10 +24,17 @@ class batchtag_installer {
|
||||
}
|
||||
|
||||
static function deactivate() {
|
||||
// Clear the require tags message when metadescription is deactivated.
|
||||
site_status::clear("batchtag_needs_tag");
|
||||
}
|
||||
|
||||
static function can_activate() {
|
||||
$messages = array();
|
||||
if (!module::is_active("tag")) {
|
||||
$messages["warn"][] = t("The BatchTag module requires the Tags module.");
|
||||
}
|
||||
return $messages;
|
||||
}
|
||||
|
||||
static function uninstall() {
|
||||
module::delete("batchtag");
|
||||
}
|
||||
|
@ -1,2 +1,15 @@
|
||||
<?php defined("SYSPATH") or die("No direct script access.") ?>
|
||||
<script type="text/javascript">
|
||||
$("#g-batch-tag-form").ready(function() {
|
||||
var url = "<?= url::site("tags") ?>" + "/autocomplete";
|
||||
$("#g-batch-tag-form input:text").autocomplete(
|
||||
url, {
|
||||
max: 30,
|
||||
multiple: true,
|
||||
multipleSeparator: ',',
|
||||
cacheLength: 1
|
||||
}
|
||||
);
|
||||
});
|
||||
</script>
|
||||
<?= $batch_tag_form ?>
|
@ -32,7 +32,6 @@ class CalendarView_Controller extends Controller {
|
||||
|
||||
// Draw the page.
|
||||
$template = new Theme_View("calpage.html", "other", "CalendarView");
|
||||
$template->css("calendarview_calendar.css");
|
||||
$template->set_global("calendar_user", $display_user);
|
||||
$template->page_title = t("Gallery :: Calendar");
|
||||
$template->content = new View("calendarview_year.html");
|
||||
|
@ -26,6 +26,14 @@ class calendarview_installer {
|
||||
site_status::clear("calendarview_needs_exif");
|
||||
}
|
||||
|
||||
static function can_activate() {
|
||||
$messages = array();
|
||||
if (!module::is_active("exif")) {
|
||||
$messages["warn"][] = t("The CalendarView module requires the EXIF module.");
|
||||
}
|
||||
return $messages;
|
||||
}
|
||||
|
||||
static function uninstall() {
|
||||
module::delete("calendarview");
|
||||
}
|
||||
|
@ -20,6 +20,7 @@
|
||||
class calendarview_theme_Core {
|
||||
|
||||
static function head($theme) {
|
||||
return $theme->css("calendarview_menu.css");
|
||||
$theme->css("calendarview_menu.css");
|
||||
return $theme->css("calendarview_calendar.css");
|
||||
}
|
||||
}
|
||||
|
@ -9,170 +9,87 @@
|
||||
<br/><?= $calendar_user_year_form ?><br /><br />
|
||||
|
||||
<?
|
||||
$counter_months = 1;
|
||||
// Loop through January to November in the current year.
|
||||
while ($counter_months <12) {
|
||||
print "<div id=\"g-calendar-grid\">";
|
||||
|
||||
// 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 ($month_count > 0) {
|
||||
$month_url = url::site("calendarview/month/" . $calendar_year . "/" . $calendar_user . "/" . $counter_months . "/");
|
||||
} else {
|
||||
$month_url = "";
|
||||
}
|
||||
$calendar = new PHPCalendar($counter_months, $calendar_year, $month_url);
|
||||
|
||||
// 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->event($curr_day, url::site("calendarview/day/" . $calendar_year . "/" . $calendar_user . "/" . $counter_months . "/" . $curr_day));
|
||||
}
|
||||
$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->event($MAX_DAYS, url::site("calendarview/day/" . $calendar_year . "/" . $calendar_user . "/" . $counter_months . "/" . $MAX_DAYS));
|
||||
}
|
||||
}
|
||||
echo $calendar->render();
|
||||
print "</div>";
|
||||
$counter_months++;
|
||||
}
|
||||
|
||||
// Do December seperately, because the mktime code is different.
|
||||
print "<div id=\"g-calendar-grid\">";
|
||||
// Search the db for all photos that were taken during the selected year.
|
||||
if ($calendar_user == "-1") {
|
||||
$month_count = ORM::factory("item")
|
||||
$items_for_year = 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))
|
||||
->where("captured", "<", mktime(0, 0, 0, 1, 1, ($calendar_year + 1)))
|
||||
->find_all()
|
||||
->count();
|
||||
->order_by("captured")
|
||||
->find_all();
|
||||
} else {
|
||||
$month_count = ORM::factory("item")
|
||||
$items_for_year = 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))
|
||||
->where("captured", "<", mktime(0, 0, 0, 1, 1, ($calendar_year + 1)))
|
||||
->find_all()
|
||||
->count();
|
||||
->order_by("captured")
|
||||
->find_all();
|
||||
}
|
||||
if ($month_count > 0) {
|
||||
|
||||
// Set up some initial variables.
|
||||
$counter_months = 1;
|
||||
$counter_days = 0;
|
||||
$counter = 0;
|
||||
|
||||
// Set up the January Calendar.
|
||||
// Check and see if any photos were taken in January,
|
||||
// If so, make the month title into a clickable link.
|
||||
print "<div id=\"g-calendar-grid\">";
|
||||
if (date("n", $items_for_year[$counter]->captured) == 1) {
|
||||
$month_url = url::site("calendarview/month/" . $calendar_year . "/" . $calendar_user . "/" . $counter_months . "/");
|
||||
} else {
|
||||
$month_url = "";
|
||||
}
|
||||
$calendar = new PHPCalendar($counter_months, $calendar_year, $month_url);
|
||||
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();
|
||||
|
||||
// Loop through each photo taken during this year, and see what month and day they were taken on.
|
||||
// Make the corresponding dates on the calendars into clickable links.
|
||||
while ($counter < (count($items_for_year))) {
|
||||
|
||||
// Check and see if we've switched to a new month.
|
||||
// If so, render the current calendar and set up a new one.
|
||||
while (date("n", $items_for_year[$counter]->captured) > $counter_months) {
|
||||
echo $calendar->render();
|
||||
print "</div>";
|
||||
$counter_months++;
|
||||
$counter_days = 0;
|
||||
print "<div id=\"g-calendar-grid\">";
|
||||
if (date("n", $items_for_year[$counter]->captured) == $counter_months) {
|
||||
$month_url = url::site("calendarview/month/" . $calendar_year . "/" . $calendar_user . "/" . $counter_months . "/");
|
||||
} 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();
|
||||
$month_url = "";
|
||||
}
|
||||
if ($day_count > 0) {
|
||||
$calendar->event($curr_day, url::site("calendarview/day/" . $calendar_year . "/" . $calendar_user . "/" . $counter_months . "/" . $curr_day));
|
||||
}
|
||||
$curr_day++;
|
||||
$calendar = new PHPCalendar($counter_months, $calendar_year, $month_url);
|
||||
}
|
||||
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->event($MAX_DAYS, url::site("calendarview/day/" . $calendar_year . "/" . $calendar_user . "/" . $counter_months . "/" . $MAX_DAYS));
|
||||
|
||||
// If the day of the current photo is different then the day of the previous photo,
|
||||
// then add a link to the calendar for this date and set the current day to this day.
|
||||
if (date("j", $items_for_year[$counter]->captured) > $counter_days) {
|
||||
$counter_days = date("j", $items_for_year[$counter]->captured);
|
||||
$calendar->event($counter_days, url::site("calendarview/day/" . $calendar_year . "/" . $calendar_user . "/" . $counter_months . "/" . $counter_days));
|
||||
}
|
||||
|
||||
// Move onto the next photo.
|
||||
$counter++;
|
||||
}
|
||||
$counter_months++;
|
||||
|
||||
// Print out the last calendar to be generated.
|
||||
echo $calendar->render();
|
||||
print "</div>";
|
||||
$counter_months++;
|
||||
|
||||
// If the calendar that was previously rendered was not December,
|
||||
// then print out a few empty months for the rest of the year.
|
||||
while ($counter_months < 13) {
|
||||
print "<div id=\"g-calendar-grid\">";
|
||||
$month_url = "";
|
||||
$calendar = new PHPCalendar($counter_months, $calendar_year, $month_url);
|
||||
echo $calendar->render();
|
||||
print "</div>";
|
||||
$counter_months++;
|
||||
}
|
||||
?>
|
||||
<?= $theme->dynamic_bottom() ?>
|
||||
|
@ -1,51 +1,42 @@
|
||||
<?php defined("SYSPATH") or die("No direct script access.") ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" <?= $theme->html_attributes() ?> xml:lang="en" lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
|
||||
<? $theme->start_combining("script,css") ?>
|
||||
<title>
|
||||
<? if ($page_title): ?>
|
||||
<?= $page_title ?>
|
||||
<? else: ?>
|
||||
<? if ($theme->item()): ?>
|
||||
<? if ($theme->item()->is_album()): ?>
|
||||
<?= t("Browse Album :: %album_title", array("album_title" => $theme->item()->title)) ?>
|
||||
<? elseif ($theme->item()->is_photo()): ?>
|
||||
<?= t("Photo :: %photo_title", array("photo_title" => $theme->item()->title)) ?>
|
||||
<? else: ?>
|
||||
<?= t("Movie :: %movie_title", array("movie_title" => $theme->item()->title)) ?>
|
||||
<? endif ?>
|
||||
<?= $theme->item()->title ?>
|
||||
<? elseif ($theme->tag()): ?>
|
||||
<?= t("Browse Tag :: %tag_title", array("tag_title" => $theme->tag()->name)) ?>
|
||||
<?= t("Photos tagged with %tag_title", array("tag_title" => $theme->tag()->name)) ?>
|
||||
<? else: /* Not an item, not a tag, no page_title specified. Help! */ ?>
|
||||
<?= t("Gallery") ?>
|
||||
<?= item::root()->title ?>
|
||||
<? endif ?>
|
||||
<? endif ?>
|
||||
</title>
|
||||
<link rel="shortcut icon" href="<?= url::file("lib/images/favicon.ico") ?>" type="image/x-icon" />
|
||||
<?= $theme->css("yui/reset-fonts-grids.css") ?>
|
||||
<?= $theme->css("superfish/css/superfish.css") ?>
|
||||
<?= $theme->css("themeroller/ui.base.css") ?>
|
||||
<?= $theme->css("gallery.common.css") ?>
|
||||
<?= $theme->css("screen.css") ?>
|
||||
<!--[if lt IE 8]>
|
||||
<link rel="stylesheet" type="text/css" href="<?= $theme->url("css/fix-ie.css") ?>"
|
||||
media="screen,print,projection" />
|
||||
<![endif]-->
|
||||
<link rel="shortcut icon"
|
||||
href="<?= url::file(module::get_var("gallery", "favicon_url")) ?>"
|
||||
type="image/x-icon" />
|
||||
|
||||
<? if ($theme->page_type == "collection"): ?>
|
||||
<? if ($thumb_proportion != 1): ?>
|
||||
<? $new_width = $thumb_proportion * 213 ?>
|
||||
<? $new_height = $thumb_proportion * 240 ?>
|
||||
<style type="text/css">
|
||||
#g-content #g-album-grid .g-item {
|
||||
width: <?= $new_width ?>px;
|
||||
height: <?= $new_height ?>px;
|
||||
/* <?= $thumb_proportion ?> */
|
||||
}
|
||||
</style>
|
||||
<? $new_width = round($thumb_proportion * 213) ?>
|
||||
<? $new_height = round($thumb_proportion * 240) ?>
|
||||
<style type="text/css">
|
||||
.g-view #g-content #g-album-grid .g-item {
|
||||
width: <?= $new_width ?>px;
|
||||
height: <?= $new_height ?>px;
|
||||
/* <?= $thumb_proportion ?> */
|
||||
}
|
||||
</style>
|
||||
<? endif ?>
|
||||
<? endif ?>
|
||||
|
||||
<?= $theme->script("json2-min.js") ?>
|
||||
<?= $theme->script("jquery.js") ?>
|
||||
<?= $theme->script("jquery.form.js") ?>
|
||||
<?= $theme->script("jquery-ui.js") ?>
|
||||
@ -58,9 +49,8 @@
|
||||
<?= $theme->script("gallery.dialog.js") ?>
|
||||
<?= $theme->script("superfish/js/superfish.js") ?>
|
||||
<?= $theme->script("jquery.localscroll.js") ?>
|
||||
<?= $theme->script("ui.init.js") ?>
|
||||
|
||||
<? /* These are page specific, but if we put them before $theme->head() they get combined */ ?>
|
||||
<? /* These are page specific but they get combined */ ?>
|
||||
<? if ($theme->page_subtype == "photo"): ?>
|
||||
<?= $theme->script("jquery.scrollTo.js") ?>
|
||||
<?= $theme->script("gallery.show_full_size.js") ?>
|
||||
@ -69,6 +59,23 @@
|
||||
<? endif ?>
|
||||
|
||||
<?= $theme->head() ?>
|
||||
|
||||
<? /* Theme specific CSS/JS goes last so that it can override module CSS/JS */ ?>
|
||||
<?= $theme->script("ui.init.js") ?>
|
||||
<?= $theme->css("yui/reset-fonts-grids.css") ?>
|
||||
<?= $theme->css("superfish/css/superfish.css") ?>
|
||||
<?= $theme->css("themeroller/ui.base.css") ?>
|
||||
<?= $theme->css("screen.css") ?>
|
||||
<!--[if lte IE 8]>
|
||||
<link rel="stylesheet" type="text/css" href="<?= $theme->url("css/fix-ie.css") ?>"
|
||||
media="screen,print,projection" />
|
||||
<![endif]-->
|
||||
|
||||
<!-- LOOKING FOR YOUR JAVASCRIPT? It's all been combined into the link below -->
|
||||
<?= $theme->get_combined("script") ?>
|
||||
|
||||
<!-- LOOKING FOR YOUR CSS? It's all been combined into the link below -->
|
||||
<?= $theme->get_combined("css") ?>
|
||||
</head>
|
||||
|
||||
<body <?= $theme->body_attributes() ?>>
|
||||
@ -87,15 +94,16 @@
|
||||
<?= $theme->user_menu() ?>
|
||||
<?= $theme->header_top() ?>
|
||||
|
||||
<!-- hide the menu and make it visible after the page has loaded, to minimize menu flicker -->
|
||||
<!-- hide the menu until after the page has loaded, to minimize menu flicker -->
|
||||
<div id="g-site-menu" style="visibility: hidden">
|
||||
<?= $theme->site_menu() ?>
|
||||
<?= $theme->site_menu($theme->item() ? "#g-item-id-{$theme->item()->id}" : "") ?>
|
||||
</div>
|
||||
<script type="text/javascript"> $(document).ready(function() { $("#g-site-menu").css("visibility", "visible"); }) </script>
|
||||
|
||||
<?= $theme->header_bottom() ?>
|
||||
</div>
|
||||
|
||||
|
||||
<? // The following code was modifed to allow module-defined breadcrumbs.
|
||||
// Everything else in this file is a copy of the default page.html.php file.
|
||||
?>
|
||||
@ -120,6 +128,8 @@
|
||||
<? endif ?>
|
||||
<? // End modified code ?>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="bd">
|
||||
<div id="yui-main">
|
||||
|
@ -40,7 +40,7 @@ class Admin_Albumpassword_Controller extends Admin_Controller {
|
||||
// Should protected items be hidden, or completely in-accessable?
|
||||
$albumpassword_group = $form->group("album_password_group");
|
||||
$albumpassword_group->checkbox("hideonly")
|
||||
->label("Only hide protected albums?")
|
||||
->label(t("Do not require passwords"))
|
||||
->checked(module::get_var("albumpassword", "hideonly"));
|
||||
|
||||
// Add a save button to the form.
|
||||
|
@ -115,6 +115,7 @@ class albumpassword_Controller extends Controller {
|
||||
public function logout() {
|
||||
// Delete a stored password cookie.
|
||||
cookie::delete("g3_albumpassword");
|
||||
cookie::delete("g3_albumpassword_id");
|
||||
url::redirect(url::abs_site("albums/1"));
|
||||
}
|
||||
|
||||
@ -135,6 +136,7 @@ class albumpassword_Controller extends Controller {
|
||||
if (count($existing_password) > 0) {
|
||||
// If the password if valid, then store it, and display a success message.
|
||||
// If not, close the dialog and display a rejected message.
|
||||
cookie::delete("g3_albumpassword_id");
|
||||
cookie::set("g3_albumpassword", $album_password);
|
||||
message::success(t("Password Accepted."));
|
||||
print "<html>\n<body>\n<script type=\"text/javascript\">\n$(\"#g-dialog\").dialog(\"close\");\nwindow.location.reload();\n</script>\n</body>\n</html>\n";
|
||||
|
@ -34,11 +34,31 @@ class item extends item_Core {
|
||||
$model->and_open()->join("albumpassword_idcaches", "items.id", "albumpassword_idcaches.item_id", "LEFT OUTER")
|
||||
->and_where("albumpassword_idcaches.item_id", "IS", NULL);
|
||||
|
||||
// If in hide only mode, check and see if the current item is protected.
|
||||
// If it is, log the user in with the password to view it.
|
||||
if (module::get_var("albumpassword", "hideonly") == true) {
|
||||
$existing_cacheditem = ORM::factory("albumpassword_idcache")->where("item_id", "=", $model->id)->order_by("cache_id")->find_all();
|
||||
if (count($existing_cacheditem) > 0) {
|
||||
$existing_cacheditem_password = ORM::factory("items_albumpassword")->where("id", "=", $existing_cacheditem[0]->password_id)->find_all();
|
||||
if (cookie::get("g3_albumpassword") != $existing_cacheditem_password[0]->password) {
|
||||
cookie::set("g3_albumpassword", $existing_cacheditem_password[0]->password);
|
||||
cookie::set("g3_albumpassword_id", $existing_cacheditem_password[0]->id);
|
||||
$model->or_where("albumpassword_idcaches.password_id", "=", $existing_cacheditem_password[0]->id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ... Unless their password id corresponds with a valid password.
|
||||
$existing_password = ORM::factory("items_albumpassword")->where("password", "=", cookie::get("g3_albumpassword"))->find_all();
|
||||
if (count($existing_password) > 0) {
|
||||
foreach ($existing_password as $one_password) {
|
||||
$model->or_where("albumpassword_idcaches.password_id", "=", $one_password->id);
|
||||
if (cookie::get("g3_albumpassword_id") != "") {
|
||||
if (cookie::get("g3_albumpassword_id") == $one_password->id) {
|
||||
$model->or_where("albumpassword_idcaches.password_id", "=", $one_password->id);
|
||||
}
|
||||
} else {
|
||||
$model->or_where("albumpassword_idcaches.password_id", "=", $one_password->id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -48,9 +48,17 @@ class albumpassword_event_Core {
|
||||
->css_id("g-album-password-logout")
|
||||
->url(url::site("albumpassword/logout"))
|
||||
->label(t("Clear password")));
|
||||
$existing_password = ORM::factory("items_albumpassword")
|
||||
$existing_password = "";
|
||||
if (cookie::get("g3_albumpassword_id") != "") {
|
||||
$existing_password = ORM::factory("items_albumpassword")
|
||||
->where("password", "=", cookie::get("g3_albumpassword"))
|
||||
->where("id", "=", cookie::get("g3_albumpassword_id"))
|
||||
->find_all();
|
||||
} else {
|
||||
$existing_password = ORM::factory("items_albumpassword")
|
||||
->where("password", "=", cookie::get("g3_albumpassword"))
|
||||
->find_all();
|
||||
}
|
||||
if (count($existing_password) > 0) {
|
||||
$counter = 0;
|
||||
while ($counter < count($existing_password)) {
|
||||
|
@ -4,6 +4,6 @@
|
||||
</h2>
|
||||
<br />
|
||||
<div class="g-block">
|
||||
<?= t("If this box is checked, protected albums will only be hidden. Anyone with the URL to either the album or it's contents will be able to access it without a password.") ?><br /><br />
|
||||
<?= $albumpassword_form ?>
|
||||
<?= t("If this box is checked, accessing a protected album/photo/video will automatically log the visitor in with that items password.") ?><br /><br />
|
||||
</div>
|
||||
|
@ -25,42 +25,93 @@ class BatchTag_Controller extends Controller {
|
||||
access::verify_csrf();
|
||||
|
||||
$input = Input::instance();
|
||||
url::redirect(url::abs_site("batchtag/tagitems2?name={$input->post('name')}&item_id={$input->post('item_id')}&tag_subitems={$input->post('tag_subitems')}&csrf={$input->post('csrf')}"));
|
||||
|
||||
}
|
||||
|
||||
public function tagitems2() {
|
||||
// Tag all non-album items in the current album with the specified tags.
|
||||
|
||||
// Prevent Cross Site Request Forgery
|
||||
access::verify_csrf();
|
||||
|
||||
$input = Input::instance();
|
||||
|
||||
// Variables
|
||||
if (($input->get("batchtag_max") == false) || ($input->get("batchtag_max") == "0")) {
|
||||
$batchtag_max = "50";
|
||||
} else {
|
||||
$batchtag_max = $input->get("batchtag_max");
|
||||
}
|
||||
if ($input->get("batchtag_items_processed") == false) {
|
||||
$batchtag_items_processed = "0";
|
||||
} else {
|
||||
$batchtag_items_processed = $input->get("batchtag_items_processed");
|
||||
}
|
||||
|
||||
// Figure out if the contents of sub-albums should also be tagged
|
||||
$str_tag_subitems = $input->post("tag_subitems");
|
||||
$str_tag_subitems = $input->get("tag_subitems");
|
||||
|
||||
$children = "";
|
||||
if ($str_tag_subitems == false) {
|
||||
// Generate an array of all non-album items in the current album.
|
||||
$children = ORM::factory("item")
|
||||
->where("parent_id", "=", $input->post("item_id"))
|
||||
->where("parent_id", "=", $input->get("item_id"))
|
||||
->where("type", "!=", "album")
|
||||
->find_all();
|
||||
} else {
|
||||
// Generate an array of all non-album items in the current album
|
||||
// and any sub albums.
|
||||
$item = ORM::factory("item", $input->post("item_id"));
|
||||
$item = ORM::factory("item", $input->get("item_id"));
|
||||
$children = $item->descendants();
|
||||
}
|
||||
|
||||
// Loop through each item in the album and make sure the user has
|
||||
// access to view and edit it.
|
||||
foreach ($children as $child) {
|
||||
if (access::can("view", $child) && access::can("edit", $child) && !$child->is_album()) {
|
||||
$children_count = "0";
|
||||
$tag_count = "0";
|
||||
|
||||
// Assuming the user can view/edit the current item, loop
|
||||
// through each tag that was submitted and apply it to
|
||||
// the current item.
|
||||
foreach (explode(",", $input->post("name")) as $tag_name) {
|
||||
$tag_name = trim($tag_name);
|
||||
if ($tag_name) {
|
||||
tag::add($child, $tag_name);
|
||||
//echo Kohana::debug($children);
|
||||
|
||||
echo '<style>.continue { margin: 5em auto; text-align: center; }</style>';
|
||||
|
||||
foreach ($children as $child) {
|
||||
|
||||
if ($tag_count < $batchtag_max) {
|
||||
|
||||
if ($children_count >= $batchtag_items_processed) {
|
||||
if (access::can("view", $child) && access::can("edit", $child) && !$child->is_album()) {
|
||||
|
||||
// Assuming the user can view/edit the current item, loop
|
||||
// through each tag that was submitted and apply it to
|
||||
// the current item.
|
||||
foreach (explode(",", $input->get("name")) as $tag_name) {
|
||||
$tag_name = trim($tag_name);
|
||||
if ($tag_name) {
|
||||
tag::add($child, $tag_name);
|
||||
}
|
||||
// $tag_count should be inside the foreach loop as it is depending on the number of time tag:add is run
|
||||
$tag_count++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
echo '<style>.c' . $children_count . ' { display:none; }</style>' . "\n";
|
||||
$children_count++;
|
||||
$batchtag_max_new = $tag_count;
|
||||
echo '<div class="continue c' . $children_count . '"><a href="' . url::abs_site("batchtag/tagitems2?name={$input->get('name')}&item_id={$input->get('item_id')}&tag_subitems={$input->get('tag_subitems')}&batchtag_items_processed=$children_count&batchtag_max=$batchtag_max_new&csrf={$input->get('csrf')}") . '">Continue</a></div>';
|
||||
} else { $children_count++; }
|
||||
|
||||
} else { break; }
|
||||
|
||||
}
|
||||
|
||||
// Redirect back to the album.
|
||||
$item = ORM::factory("item", $input->post("item_id"));
|
||||
url::redirect(url::abs_site("{$item->type}s/{$item->id}"));
|
||||
if ($tag_count < $batchtag_max) {
|
||||
// Redirect back to the album.
|
||||
$item = ORM::factory("item", $input->get("item_id"));
|
||||
url::redirect(url::abs_site("{$item->type}s/{$item->id}"));
|
||||
//echo url::abs_site("{$item->type}s/{$item->id}");
|
||||
} else {
|
||||
url::redirect(url::abs_site("batchtag/tagitems2?name={$input->get('name')}&item_id={$input->get('item_id')}&tag_subitems={$input->get('tag_subitems')}&batchtag_items_processed=$children_count&batchtag_max=$batchtag_max&csrf={$input->get('csrf')}"));
|
||||
//echo url::abs_site("batchtag/tagitems2?name={$input->get('name')}&item_id={$input->get('item_id')}&tag_subitems={$input->get('tag_subitems')}&batchtag_items_processed=$children_count&batchtag_max=$batchtag_max&csrf={$input->get('csrf')}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -18,6 +18,12 @@
|
||||
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
class batchtag_event_Core {
|
||||
static function pre_deactivate($data) {
|
||||
if ($data->module == "tag") {
|
||||
$data->messages["warn"][] = t("The BatchTag module requires the Tags module.");
|
||||
}
|
||||
}
|
||||
|
||||
static function module_change($changes) {
|
||||
// See if the Tags module is installed,
|
||||
// tell the user to install it if it isn't.
|
||||
|
@ -24,10 +24,17 @@ class batchtag_installer {
|
||||
}
|
||||
|
||||
static function deactivate() {
|
||||
// Clear the require tags message when metadescription is deactivated.
|
||||
site_status::clear("batchtag_needs_tag");
|
||||
}
|
||||
|
||||
static function can_activate() {
|
||||
$messages = array();
|
||||
if (!module::is_active("tag")) {
|
||||
$messages["warn"][] = t("The BatchTag module requires the Tags module.");
|
||||
}
|
||||
return $messages;
|
||||
}
|
||||
|
||||
static function uninstall() {
|
||||
module::delete("batchtag");
|
||||
}
|
||||
|
@ -1,2 +1,15 @@
|
||||
<?php defined("SYSPATH") or die("No direct script access.") ?>
|
||||
<script type="text/javascript">
|
||||
$("#g-batch-tag-form").ready(function() {
|
||||
var url = "<?= url::site("tags") ?>" + "/autocomplete";
|
||||
$("#g-batch-tag-form input:text").autocomplete(
|
||||
url, {
|
||||
max: 30,
|
||||
multiple: true,
|
||||
multipleSeparator: ',',
|
||||
cacheLength: 1
|
||||
}
|
||||
);
|
||||
});
|
||||
</script>
|
||||
<?= $batch_tag_form ?>
|
@ -32,7 +32,6 @@ class CalendarView_Controller extends Controller {
|
||||
|
||||
// Draw the page.
|
||||
$template = new Theme_View("calpage.html", "other", "CalendarView");
|
||||
$template->css("calendarview_calendar.css");
|
||||
$template->set_global("calendar_user", $display_user);
|
||||
$template->page_title = t("Gallery :: Calendar");
|
||||
$template->content = new View("calendarview_year.html");
|
||||
|
@ -26,6 +26,14 @@ class calendarview_installer {
|
||||
site_status::clear("calendarview_needs_exif");
|
||||
}
|
||||
|
||||
static function can_activate() {
|
||||
$messages = array();
|
||||
if (!module::is_active("exif")) {
|
||||
$messages["warn"][] = t("The CalendarView module requires the EXIF module.");
|
||||
}
|
||||
return $messages;
|
||||
}
|
||||
|
||||
static function uninstall() {
|
||||
module::delete("calendarview");
|
||||
}
|
||||
|
@ -20,6 +20,7 @@
|
||||
class calendarview_theme_Core {
|
||||
|
||||
static function head($theme) {
|
||||
return $theme->css("calendarview_menu.css");
|
||||
$theme->css("calendarview_menu.css");
|
||||
return $theme->css("calendarview_calendar.css");
|
||||
}
|
||||
}
|
||||
|
@ -9,170 +9,87 @@
|
||||
<br/><?= $calendar_user_year_form ?><br /><br />
|
||||
|
||||
<?
|
||||
$counter_months = 1;
|
||||
// Loop through January to November in the current year.
|
||||
while ($counter_months <12) {
|
||||
print "<div id=\"g-calendar-grid\">";
|
||||
|
||||
// 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 ($month_count > 0) {
|
||||
$month_url = url::site("calendarview/month/" . $calendar_year . "/" . $calendar_user . "/" . $counter_months . "/");
|
||||
} else {
|
||||
$month_url = "";
|
||||
}
|
||||
$calendar = new PHPCalendar($counter_months, $calendar_year, $month_url);
|
||||
|
||||
// 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->event($curr_day, url::site("calendarview/day/" . $calendar_year . "/" . $calendar_user . "/" . $counter_months . "/" . $curr_day));
|
||||
}
|
||||
$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->event($MAX_DAYS, url::site("calendarview/day/" . $calendar_year . "/" . $calendar_user . "/" . $counter_months . "/" . $MAX_DAYS));
|
||||
}
|
||||
}
|
||||
echo $calendar->render();
|
||||
print "</div>";
|
||||
$counter_months++;
|
||||
}
|
||||
|
||||
// Do December seperately, because the mktime code is different.
|
||||
print "<div id=\"g-calendar-grid\">";
|
||||
// Search the db for all photos that were taken during the selected year.
|
||||
if ($calendar_user == "-1") {
|
||||
$month_count = ORM::factory("item")
|
||||
$items_for_year = 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))
|
||||
->where("captured", "<", mktime(0, 0, 0, 1, 1, ($calendar_year + 1)))
|
||||
->find_all()
|
||||
->count();
|
||||
->order_by("captured")
|
||||
->find_all();
|
||||
} else {
|
||||
$month_count = ORM::factory("item")
|
||||
$items_for_year = 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))
|
||||
->where("captured", "<", mktime(0, 0, 0, 1, 1, ($calendar_year + 1)))
|
||||
->find_all()
|
||||
->count();
|
||||
->order_by("captured")
|
||||
->find_all();
|
||||
}
|
||||
if ($month_count > 0) {
|
||||
|
||||
// Set up some initial variables.
|
||||
$counter_months = 1;
|
||||
$counter_days = 0;
|
||||
$counter = 0;
|
||||
|
||||
// Set up the January Calendar.
|
||||
// Check and see if any photos were taken in January,
|
||||
// If so, make the month title into a clickable link.
|
||||
print "<div id=\"g-calendar-grid\">";
|
||||
if (date("n", $items_for_year[$counter]->captured) == 1) {
|
||||
$month_url = url::site("calendarview/month/" . $calendar_year . "/" . $calendar_user . "/" . $counter_months . "/");
|
||||
} else {
|
||||
$month_url = "";
|
||||
}
|
||||
$calendar = new PHPCalendar($counter_months, $calendar_year, $month_url);
|
||||
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();
|
||||
|
||||
// Loop through each photo taken during this year, and see what month and day they were taken on.
|
||||
// Make the corresponding dates on the calendars into clickable links.
|
||||
while ($counter < (count($items_for_year))) {
|
||||
|
||||
// Check and see if we've switched to a new month.
|
||||
// If so, render the current calendar and set up a new one.
|
||||
while (date("n", $items_for_year[$counter]->captured) > $counter_months) {
|
||||
echo $calendar->render();
|
||||
print "</div>";
|
||||
$counter_months++;
|
||||
$counter_days = 0;
|
||||
print "<div id=\"g-calendar-grid\">";
|
||||
if (date("n", $items_for_year[$counter]->captured) == $counter_months) {
|
||||
$month_url = url::site("calendarview/month/" . $calendar_year . "/" . $calendar_user . "/" . $counter_months . "/");
|
||||
} 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();
|
||||
$month_url = "";
|
||||
}
|
||||
if ($day_count > 0) {
|
||||
$calendar->event($curr_day, url::site("calendarview/day/" . $calendar_year . "/" . $calendar_user . "/" . $counter_months . "/" . $curr_day));
|
||||
}
|
||||
$curr_day++;
|
||||
$calendar = new PHPCalendar($counter_months, $calendar_year, $month_url);
|
||||
}
|
||||
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->event($MAX_DAYS, url::site("calendarview/day/" . $calendar_year . "/" . $calendar_user . "/" . $counter_months . "/" . $MAX_DAYS));
|
||||
|
||||
// If the day of the current photo is different then the day of the previous photo,
|
||||
// then add a link to the calendar for this date and set the current day to this day.
|
||||
if (date("j", $items_for_year[$counter]->captured) > $counter_days) {
|
||||
$counter_days = date("j", $items_for_year[$counter]->captured);
|
||||
$calendar->event($counter_days, url::site("calendarview/day/" . $calendar_year . "/" . $calendar_user . "/" . $counter_months . "/" . $counter_days));
|
||||
}
|
||||
|
||||
// Move onto the next photo.
|
||||
$counter++;
|
||||
}
|
||||
$counter_months++;
|
||||
|
||||
// Print out the last calendar to be generated.
|
||||
echo $calendar->render();
|
||||
print "</div>";
|
||||
$counter_months++;
|
||||
|
||||
// If the calendar that was previously rendered was not December,
|
||||
// then print out a few empty months for the rest of the year.
|
||||
while ($counter_months < 13) {
|
||||
print "<div id=\"g-calendar-grid\">";
|
||||
$month_url = "";
|
||||
$calendar = new PHPCalendar($counter_months, $calendar_year, $month_url);
|
||||
echo $calendar->render();
|
||||
print "</div>";
|
||||
$counter_months++;
|
||||
}
|
||||
?>
|
||||
<?= $theme->dynamic_bottom() ?>
|
||||
|
@ -1,51 +1,42 @@
|
||||
<?php defined("SYSPATH") or die("No direct script access.") ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" <?= $theme->html_attributes() ?> xml:lang="en" lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
|
||||
<? $theme->start_combining("script,css") ?>
|
||||
<title>
|
||||
<? if ($page_title): ?>
|
||||
<?= $page_title ?>
|
||||
<? else: ?>
|
||||
<? if ($theme->item()): ?>
|
||||
<? if ($theme->item()->is_album()): ?>
|
||||
<?= t("Browse Album :: %album_title", array("album_title" => $theme->item()->title)) ?>
|
||||
<? elseif ($theme->item()->is_photo()): ?>
|
||||
<?= t("Photo :: %photo_title", array("photo_title" => $theme->item()->title)) ?>
|
||||
<? else: ?>
|
||||
<?= t("Movie :: %movie_title", array("movie_title" => $theme->item()->title)) ?>
|
||||
<? endif ?>
|
||||
<?= $theme->item()->title ?>
|
||||
<? elseif ($theme->tag()): ?>
|
||||
<?= t("Browse Tag :: %tag_title", array("tag_title" => $theme->tag()->name)) ?>
|
||||
<?= t("Photos tagged with %tag_title", array("tag_title" => $theme->tag()->name)) ?>
|
||||
<? else: /* Not an item, not a tag, no page_title specified. Help! */ ?>
|
||||
<?= t("Gallery") ?>
|
||||
<?= item::root()->title ?>
|
||||
<? endif ?>
|
||||
<? endif ?>
|
||||
</title>
|
||||
<link rel="shortcut icon" href="<?= url::file("lib/images/favicon.ico") ?>" type="image/x-icon" />
|
||||
<?= $theme->css("yui/reset-fonts-grids.css") ?>
|
||||
<?= $theme->css("superfish/css/superfish.css") ?>
|
||||
<?= $theme->css("themeroller/ui.base.css") ?>
|
||||
<?= $theme->css("gallery.common.css") ?>
|
||||
<?= $theme->css("screen.css") ?>
|
||||
<!--[if lt IE 8]>
|
||||
<link rel="stylesheet" type="text/css" href="<?= $theme->url("css/fix-ie.css") ?>"
|
||||
media="screen,print,projection" />
|
||||
<![endif]-->
|
||||
<link rel="shortcut icon"
|
||||
href="<?= url::file(module::get_var("gallery", "favicon_url")) ?>"
|
||||
type="image/x-icon" />
|
||||
|
||||
<? if ($theme->page_type == "collection"): ?>
|
||||
<? if ($thumb_proportion != 1): ?>
|
||||
<? $new_width = $thumb_proportion * 213 ?>
|
||||
<? $new_height = $thumb_proportion * 240 ?>
|
||||
<style type="text/css">
|
||||
#g-content #g-album-grid .g-item {
|
||||
width: <?= $new_width ?>px;
|
||||
height: <?= $new_height ?>px;
|
||||
/* <?= $thumb_proportion ?> */
|
||||
}
|
||||
</style>
|
||||
<? $new_width = round($thumb_proportion * 213) ?>
|
||||
<? $new_height = round($thumb_proportion * 240) ?>
|
||||
<style type="text/css">
|
||||
.g-view #g-content #g-album-grid .g-item {
|
||||
width: <?= $new_width ?>px;
|
||||
height: <?= $new_height ?>px;
|
||||
/* <?= $thumb_proportion ?> */
|
||||
}
|
||||
</style>
|
||||
<? endif ?>
|
||||
<? endif ?>
|
||||
|
||||
<?= $theme->script("json2-min.js") ?>
|
||||
<?= $theme->script("jquery.js") ?>
|
||||
<?= $theme->script("jquery.form.js") ?>
|
||||
<?= $theme->script("jquery-ui.js") ?>
|
||||
@ -58,9 +49,8 @@
|
||||
<?= $theme->script("gallery.dialog.js") ?>
|
||||
<?= $theme->script("superfish/js/superfish.js") ?>
|
||||
<?= $theme->script("jquery.localscroll.js") ?>
|
||||
<?= $theme->script("ui.init.js") ?>
|
||||
|
||||
<? /* These are page specific, but if we put them before $theme->head() they get combined */ ?>
|
||||
<? /* These are page specific but they get combined */ ?>
|
||||
<? if ($theme->page_subtype == "photo"): ?>
|
||||
<?= $theme->script("jquery.scrollTo.js") ?>
|
||||
<?= $theme->script("gallery.show_full_size.js") ?>
|
||||
@ -69,6 +59,23 @@
|
||||
<? endif ?>
|
||||
|
||||
<?= $theme->head() ?>
|
||||
|
||||
<? /* Theme specific CSS/JS goes last so that it can override module CSS/JS */ ?>
|
||||
<?= $theme->script("ui.init.js") ?>
|
||||
<?= $theme->css("yui/reset-fonts-grids.css") ?>
|
||||
<?= $theme->css("superfish/css/superfish.css") ?>
|
||||
<?= $theme->css("themeroller/ui.base.css") ?>
|
||||
<?= $theme->css("screen.css") ?>
|
||||
<!--[if lte IE 8]>
|
||||
<link rel="stylesheet" type="text/css" href="<?= $theme->url("css/fix-ie.css") ?>"
|
||||
media="screen,print,projection" />
|
||||
<![endif]-->
|
||||
|
||||
<!-- LOOKING FOR YOUR JAVASCRIPT? It's all been combined into the link below -->
|
||||
<?= $theme->get_combined("script") ?>
|
||||
|
||||
<!-- LOOKING FOR YOUR CSS? It's all been combined into the link below -->
|
||||
<?= $theme->get_combined("css") ?>
|
||||
</head>
|
||||
|
||||
<body <?= $theme->body_attributes() ?>>
|
||||
@ -87,15 +94,16 @@
|
||||
<?= $theme->user_menu() ?>
|
||||
<?= $theme->header_top() ?>
|
||||
|
||||
<!-- hide the menu and make it visible after the page has loaded, to minimize menu flicker -->
|
||||
<!-- hide the menu until after the page has loaded, to minimize menu flicker -->
|
||||
<div id="g-site-menu" style="visibility: hidden">
|
||||
<?= $theme->site_menu() ?>
|
||||
<?= $theme->site_menu($theme->item() ? "#g-item-id-{$theme->item()->id}" : "") ?>
|
||||
</div>
|
||||
<script type="text/javascript"> $(document).ready(function() { $("#g-site-menu").css("visibility", "visible"); }) </script>
|
||||
|
||||
<?= $theme->header_bottom() ?>
|
||||
</div>
|
||||
|
||||
|
||||
<? // The following code was modifed to allow module-defined breadcrumbs.
|
||||
// Everything else in this file is a copy of the default page.html.php file.
|
||||
?>
|
||||
@ -120,6 +128,8 @@
|
||||
<? endif ?>
|
||||
<? // End modified code ?>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="bd">
|
||||
<div id="yui-main">
|
||||
|
Reference in New Issue
Block a user