[Mod] Show original image in new window by clicking on image taką orginalną nazwę nosi ten MOD.
Stworzony przez ...
V@no Źródło ................
Forum 4images Nim przystąpię do omawiania tego MOD-u pragnę nadmienić że pierwszą ważną sprawą,
jest zainstalowanie MOD-u
Sprawdzanie nowych zdjęć w APC Instalacja tego MOD-u jest na tyle ważna, że pozwoli on nam na sprawne zarządzanie
naszymi orginalnymi zdjęciami dodanymi przez FTP, które automatycznie kopiowane zostaną do folderu
big.Folder
big zostanie równiż stworzony automatycznie przez MOD
Sprawdzanie nowych zdjęć w APC,
dodatkowo w każdym folderze, odpowiadającym danej kategorii lub podkategorii:
np. zdjęcie
test.jpg zostało dodane do kategorii "
X" o "
ID:1", której odpowiednikiem jest folder "
1" ścieżka
/data/media/1/test.jpg.Po zaznaczeniu opcji
Zapisz orginał w MOD
Sprawdzanie nowych zdjęć w APC, zostanie automatycznie stworzony folder
big, a w nim kopia orginału
test.jpg:
/data/media/1/big/test.jpg UWAGA!!! w przypadku kiedy opcja
safe_mode=on (jest aktywan) w PHP.INI, foldery nie zostaną stworzone.
Wówczas należy dodawać je manualnie i każdemu nadać nowe prawo dostępu (zapisu)
chmod 777 Drugą sprawą jest to, że MOD ten nie działa z poziomu użytkownika uprawnionego do dodawania zdjęć.
Dodanie takiego zdjęcia do folderu
big, może i musi być przeprowadzone manualnie, za pomocą klienta
FTP, a następnie użycie MOD-u
Sprawdzanie nowych zdjęć w APC.
MOD
Przegląd orginalnych zdjęć w nowym oknie, kożysta z folderu
big i w przypadku kiedy dane zdjęci nie posiada swojej orginalnej kopi w tym folderze, odpowiedni kod PHP nie uruchomi pełnoekranowego okna.
Kliknięcie na miniaturę otworzy nam okno przeglądarki, natomias kliknięcie na zdjęcie w przeglądarce otworzy okno pełnoekranowe z oryginałem. Ponowne kliknięcie na okno pełnoekranowe, zamknie je i powrócimy do okna przeglądarki.
Demo tutajZostaną zmienioen 3 pliki:
- /includes/functions.php
- /templates/twoj_szablon/details.html
- /details.php
Zabezpiecz kopię orginalnych plików Instalacja: 1.0 Otwórz plik
/includes/functions.php 1.1 odszukaj następujący kod
$path = (($image_type == "media") ? (($cat_id) ? MEDIA_PATH."/".$cat_id : MEDIA_TEMP_PATH) : (($cat_id) ? THUMB_PATH."/".$cat_id : THUMB_TEMP_PATH))."/".$file_name;return ($check_handle($file_name) && file_exists($path)) ? (($in_admin && !preg_match("#(gif|jpg|jpeg|png)$#is", $file_name)) ? ICON_PATH."/".get_file_extension($file_name).".gif" : $path) : $return_code;
zamień go na
$path = (($image_type == "media") ? (($cat_id) ? MEDIA_PATH."/".$cat_id : MEDIA_TEMP_PATH) : (($image_type == "big") ? MEDIA_PATH."/".$cat_id."/big" : (($cat_id) ? THUMB_PATH."/".$cat_id : THUMB_TEMP_PATH)))."/".$file_name;return ($check_handle($file_name) && file_exists($path)) ? (($in_admin && !preg_match("#(gif|jpg|jpeg|png)$#is", $file_name)) ? ICON_PATH."/".get_file_extension($file_name).".gif" : $path) : (($image_type != "big") ? $return_code : "");
1.2 odszukaj następujący kod
"image_file_name" => $image_row['image_media_file'],
pod nim wpisz
"media_src_big" => get_media_code($image_row['image_media_file'], $image_row['image_id'], $image_row['cat_id'], $image_row['image_name'], $mode, $show_link, $detailed_view, 1),
1.3 odszukaj następujący kod
function get_media_code($media_file_name, $image_id = 0, $cat_id = 0, $image_name = "", $mode = "", $show_link = 0, $detailed_view = 0) {
zamień go na
function get_media_code($media_file_name, $image_id = 0, $cat_id = 0, $image_name = "", $mode = "", $show_link = 0, $detailed_view = 0, $big = 0) {
1.4 odszukaj następujący kod
$media_src = get_file_path($media_file_name, "media", $cat_id, 0, 1);
pod nim wpisz
$media_src_big = get_file_path($media_file_name, "big", $cat_id, 0, 1);
1.5 odszukaj następujący kod
$media = $site_template->parse_template("media/".$file_extension);
zamień go na
$media = ((!$big) ? ($site_template->parse_template("media/".$file_extension)) : $media_src_big);
1.6 odszukaj następujący kod (znajduje się na samym końcu)
?>
przed nim wpisz
function check_remote_big($remote_media_file) {
global $config;
return (preg_match("#^(https?:\/\/[a-z0-9\-]+?\.([a-z0-9\-]+\.)*[a-z]+(:[0-9]+)*\/.*?\.(".$config['allowed_mediatypes_match'].")$)#is", $remote_media_file)) ? 1 : 0;
}
function check_local_big($local_media_file) {
global $config;
return (preg_match("#^((\.)*\/.*?\.(".$config['allowed_mediatypes_match'].")$)#is", $local_media_file)) ? 1 : 0;
}
function check_big_type($file_name) {
global $config;
return (in_array(get_file_extension($file_name), $config['allowed_mediatypes_array'])) ? 1 : 0;
}
2.0 Otwórz plik
/templates/twoj_szablon/details.html 2.1 odszukaj następujący kod
{image}
zamień go na
{if media_src_big}
<script type="text/javascript">function openpopupbig(big){var popurl="details.php?image_id={image_id2}&big=1";settings='fullscreen,location=no,directories=no,menubar=no,toolbar=no,status=no,scrollbars=yes,resizable=yes,dependent=no';winpopsbigWindow=window.open(popurl,big,settings);winpopsbigWindow.focus();}</script>
<a href="javascript:openpopupbig('big')">{endif media_src_big}
{image}{if media_src_big}</a>{endif media_src_big}
3.0 Otwórz plik
/details.php 3.1 odszukaj następujący kod
$main_template = 'details';
zamień go na
if (isset($HTTP_GET_VARS['big']) || isset($HTTP_POST_VARS['big'])) {
$templates_used = 'big,header';
$main_template = 'big';
}else{
$templates_used = 'details,header';
$main_template = 'details';
}
3.2 odszukaj następujący kod
"msg" => $msg,
pod nim wpisz
"image_id2" => $image_id,
4.0 Stwórz nowy plik
/templates/twoj_szablon/big.html {header}
<script language="JavaScript">
<!--//
if (window.Event) document.captureEvents(Event.ONCLICK);
document.onclick = window.close;
function clickIE4(){
if (event.button){
window.close();
return false;
}
}
function clickNS4(e){
if (document.layers||document.getElementById&&!document.all){
if (e.which){
window.close();
return false;
}
}
}
if (document.layers){
document.captureEvents(Event.MOUSEDOWN);
document.onclick = window.close;
document.onmousedown=clickNS4;
}
else if (document.all&&!document.getElementById){
document.onclick = window.close;
document.onmousedown=clickIE4;
}
document.oncontextmenu=new Function("window.close(); return false")
//-->
</script>
<center>
<img src="{media_src_big}" onClick="window.close()" alt="{image_name}">
</center>
</body>
</html>
Gotowe, przetestuj