-------- Overview -----------------
This MOD will let guests add picture to their lightbox, based on sessions + cookies.
u can see it an action
here-------- Known issue -------------
"GUESTs" lightbox is separate from "USERs", that means, that if u add some images to the lightbox, while u are not logged in and then do login, u wont have those images in the lightbox, untill u logged out.
-------- Installation ---------------
1.Open
/includes/functions.phpFind:
if ($user_info['user_level'] != GUEST) {
Replace with:
if ($user_info['user_level'] >= GUEST) {
1.2.Find next:
function add_to_lightbox($id) {
global $user_info, $site_db;
$id = intval($id);
if (!$id) {
return false;
}
$lightbox_ids = $user_info['lightbox_image_ids'];
$lightbox_array = explode(" ", $lightbox_ids);
if (!in_array($id, $lightbox_array)) {
$lightbox_ids .= " ".$id;
}
$user_info['lightbox_image_ids'] = trim($lightbox_ids);
$user_info['lightbox_lastaction'] = time();
Replace with:
function add_to_lightbox($id) {
global $user_info, $site_db, $site_sess;
$id = intval($id);
if (!$id) {
return false;
}
if ($user_info['user_level'] == GUEST) {
$lightbox = $site_sess->get_session_var('lightbox');
$user_info['lightbox_image_ids'] = ($lightbox) ? $lightbox : $site_sess->read_cookie_data("lightbox");
}
$lightbox_ids = $user_info['lightbox_image_ids'];
$lightbox_array = explode(" ", $lightbox_ids);
if (!in_array($id, $lightbox_array)) {
$lightbox_ids .= " ".$id;
}
$user_info['lightbox_image_ids'] = trim($lightbox_ids);
$user_info['lightbox_lastaction'] = time();
if ($user_info['user_level'] == GUEST) {
$site_sess->set_cookie_data("lightbox", $user_info['lightbox_image_ids'], 1);
$site_sess->set_cookie_data("lightbox_lastaction", $user_info['lightbox_lastaction'], 1);
$site_sess->set_session_var("lightbox", $user_info['lightbox_image_ids']);
$site_sess->set_session_var("lightbox_lastaction", $user_info['lightbox_lastaction']);
return 1;
}
1.3.Find next:
function remove_from_lightbox($id) {
global $user_info, $site_db;
$lightbox_array = explode(" ",$user_info['lightbox_image_ids']);
foreach ($lightbox_array as $key => $val) {
if ($val == $id) {
unset($lightbox_array[$key]);
}
}
$user_info['lightbox_image_ids'] = trim(implode(" ", $lightbox_array));
$user_info['lightbox_lastaction'] = time();
Replace with:
function remove_from_lightbox($id) {
global $user_info, $site_db, $site_sess;
if ($user_info['user_level'] == GUEST) {
$lightbox = $site_sess->get_session_var('lightbox');
$user_info['lightbox_image_ids'] = ($lightbox) ? $lightbox : $site_sess->read_cookie_data("lightbox");
}
$lightbox_array = explode(" ",$user_info['lightbox_image_ids']);
foreach ($lightbox_array as $key => $val) {
if ($val == $id) {
unset($lightbox_array[$key]);
}
}
$user_info['lightbox_image_ids'] = trim(implode(" ", $lightbox_array));
$user_info['lightbox_lastaction'] = time();
if ($user_info['user_level'] == GUEST) {
$site_sess->set_cookie_data("lightbox", $user_info['lightbox_image_ids'], 1);
$site_sess->set_cookie_data("lightbox_lastaction", $user_info['lightbox_lastaction'], 1);
$site_sess->set_session_var("lightbox", $user_info['lightbox_image_ids']);
$site_sess->set_session_var("lightbox_lastaction", $user_info['lightbox_lastaction']);
return 1;
}
1.4.Find next:
function clear_lightbox() {
global $user_info, $site_db;
$current_time = time();
Replace with:
function clear_lightbox() {
global $user_info, $site_db, $site_sess;
$current_time = time();
if ($user_info['user_level'] == GUEST) {
$user_info['lightbox_image_ids'] = "";
$user_info['lightbox_lastaction'] = $current_time;
$site_sess->set_cookie_data("lightbox", "");
$site_sess->drop_session_var("lightbox");
$site_sess->set_cookie_data("lightbox_lastaction", $current_time, 1);
$site_sess->set_session_var("lightbox_lastaction", $current_time);
return true;
}
1.5.Find next:
function check_lightbox($id) {
global $user_info;
Replace with:
function check_lightbox($id) {
global $user_info, $site_sess;
if ($user_info['user_level'] == GUEST) {
$lightbox = $site_sess->get_session_var('lightbox');
$user_info['lightbox_image_ids'] = ($lightbox) ? $lightbox : $site_sess->read_cookie_data("lightbox");
}
2.Open
/lightbox.phpFind and remove (or comment):
if ($user_info['user_level'] == GUEST || $user_info['user_level'] == USER_AWAITING) {
show_error_page($lang['lightbox_register']);
}
2.1.Find next:
if (!empty($user_info['lightbox_image_ids'])) {
Add before:
if ($user_info['user_level'] == GUEST) {
$lightbox = $site_sess->get_session_var('lightbox');
$user_info['lightbox_image_ids'] = ($lightbox) ? $lightbox : $site_sess->read_cookie_data("lightbox");
$lightbox = $site_sess->get_session_var('lightbox_lastaction');
$user_info['lightbox_lastaction'] = ($lightbox) ? $lightbox : $site_sess->read_cookie_data("lightbox_lastaction");
}
2.2a. (4images v1.7 - 1.7.3)
Find next:
if (!empty($user_info['lightbox_image_ids'])) {
$download_button = "<a href=\"".$site_sess->url(ROOT_PATH."download.php?action=lightbox")."\"><img src=\"".get_gallery_image("download_zip.gif")."\" border=\"0\" alt=\"\" /></a>";
Replace with:
if (!empty($user_info['lightbox_image_ids']) && $user_info['user_level'] != GUEST) {
$download_button = "<a href=\"".$site_sess->url(ROOT_PATH."download.php?action=lightbox")."\"><img src=\"".get_gallery_image("download_zip.gif")."\" border=\"0\" alt=\"\" /></a>";
2.2b. (4images v1.7.4 and newer)
Find:
if ($download_allowed && !empty($user_info['lightbox_image_ids'])) {
$download_button = "<a href=\"".$site_sess->url(ROOT_PATH."download.php?action=lightbox")."\"><img src=\"".get_gallery_image("download_zip.gif")."\" border=\"0\" alt=\"\" /></a>";
Replace with:
if ($download_allowed && !empty($user_info['lightbox_image_ids']) && $user_info['user_level'] != GUEST) {
$download_button = "<a href=\"".$site_sess->url(ROOT_PATH."download.php?action=lightbox")."\"><img src=\"".get_gallery_image("download_zip.gif")."\" border=\"0\" alt=\"\" /></a>";
3.Open
/templates/<yourtemplate>/user_loginform.htmlInsert:
<a href="{url_lightbox}">{lang_lightbox}</a>
4. * FixOpen
/includes/page_header.phpFind:
//-----------------------------------------------------
//--- Add & Delete from Lists -------------------------
//-----------------------------------------------------
if ($action == "addtolightbox" && $id) {
if ($user_info['user_level'] >= USER) {
$msg = (add_to_lightbox($id)) ? $lang['lightbox_add_success'] : $lang['lightbox_add_error'];
}
else {
$msg = $lang['lightbox_register'];
}
}
if ($action == "removefromlightbox" && $id) {
if ($user_info['user_level'] >= USER) {
$msg = (remove_from_lightbox($id)) ? $lang['lightbox_remove_success'] : $lang['lightbox_remove_error'];
}
else {
$msg = $lang['lightbox_register'];
}
}
if ($action == "clearlightbox") {
if ($user_info['user_level'] >= USER) {
$msg = (clear_lightbox()) ? $lang['lightbox_delete_success'] : $lang['lightbox_delete_error'];
}
else {
$msg = $lang['lightbox_register'];
}
}
Replace with:
//-----------------------------------------------------
//--- Add & Delete from Lists -------------------------
//-----------------------------------------------------
if ($action == "addtolightbox" && $id) {
if ($user_info['user_level'] >= GUEST) {
$msg = (add_to_lightbox($id)) ? $lang['lightbox_add_success'] : $lang['lightbox_add_error'];
}
else {
$msg = $lang['lightbox_register'];
}
}
if ($action == "removefromlightbox" && $id) {
if ($user_info['user_level'] >= GUEST) {
$msg = (remove_from_lightbox($id)) ? $lang['lightbox_remove_success'] : $lang['lightbox_remove_error'];
}
else {
$msg = $lang['lightbox_register'];
}
}
if ($action == "clearlightbox") {
if ($user_info['user_level'] >= GUEST) {
$msg = (clear_lightbox()) ? $lang['lightbox_delete_success'] : $lang['lightbox_delete_error'];
}
else {
$msg = $lang['lightbox_register'];
}
}
5. Added 9-23-2003 *optional, only if u want let your guests download the lightbox
Open
download.php Find:
if ($action == "lightbox") {
Add after:
if ($user_info['user_level'] == GUEST) {
$lightbox = $site_sess->get_session_var('lightbox');
$user_info['lightbox_image_ids'] = ($lightbox) ? $lightbox : $site_sess->read_cookie_data("lightbox");
}