PunBB + PE

это не просто форум

05.06.2007 14:10:54 #1: artoodetoo ↓ 

Administrator
MArt Keepers
bmw-club
Откуда: Россия
Здесь с: 14.03.2007
Сообщений: 715
Вебсайт

Галерея к моду File Upload

Стоит выделить этот вопрос в отдельную тему.

тестовый полигон: _http://master.1wd.ru/fileup101/gallery_test.php

Имеем мод загрузки файлов. Добавляю к нему просмотр картинок.
Режимы вывода:
- последние загруженные картинки
- картинки с определенного форума
- картинки определенного пользователя
- одна картинка в исходном размере

Что хотелось бы уметь:
- выводить по страницам
- иметь ссылку на тему для обсуждения картинки
- иметь такую ссылку на карту файлов чтобы отображалось на нужной странице. у этих двух скриптов формат параметров должен совпадать. они - два представления одной и той же сущности
- компактный формат только с ноготками - чтобы вызывать как popup-окно из редактора сообщений - можно будет не покидая редактор подставлять теги ::thumb:: из общего списка картинок

воюю в-основном с дизайном. хочется сделать с небольшим объемом страницы, красиво и кросс-браузерно smile
высказывайтесь!

Неактивен

 

08.06.2007 18:00:12 #2: RuRu ↓ 

Опытный
first-team
Здесь с: 28.05.2007
Сообщений: 72

Re: Галерея к моду File Upload

комменты нужны обязательно
и возможность устанавливать пароль на просмотр отдельных фото


никогда не жалей о том чего не можешь изменить

Неактивен

 

09.06.2007 05:30:14 #3: artoodetoo ↓ 

Administrator
MArt Keepers
bmw-club
Откуда: Россия
Здесь с: 14.03.2007
Сообщений: 715
Вебсайт

Re: Галерея к моду File Upload

RuRu, похоже ты "не в теме". не надо других комментов, кроме самого форума.
фотография прикреплена к посту (теме), вот эта тема — и есть нужные комменты. конечно в скрипте "галерея" должна быть ссылка типа "Обсудить фотографию" - на viewtopic.php откуда эта картинка.

вместо пароля есть управление доступом на базе форума. фотографии "не для всех" выкладываются в приватный форум. если нет доступа на чтение форума - нет и картинок.
можно запретить download файлов — тогда рядовой посетитель сможет видеть только превьюшки, без полной версии.
если очень хочется именно пароль - на punres есть моды "пароль на форум". этот мод будет действовать и на форум с картинками!

то есть мы не создаем новых сущностей, по возможности, а используем готовые механизмы. это главная идея! читай про "суперкатегории"

Неактивен

 

09.06.2007 06:34:33 #4: RuRu ↓ 

Опытный
first-team
Здесь с: 28.05.2007
Сообщений: 72

Re: Галерея к моду File Upload

artoodetoo пишет:

вместо пароля есть управление доступом на базе форума. фотографии "не для всех" выкладываются в приватный форум. если нет доступа на чтение форума - нет и картинок.
можно запретить download файлов — тогда рядовой посетитель сможет видеть только превьюшки, без полной версии.
если очень хочется именно пароль - на punres есть моды "пароль на форум". этот мод будет действовать и на форум с картинками!

На сколько я понял это может делать только админ или нет?


никогда не жалей о том чего не можешь изменить

Неактивен

 

15.06.2007 02:58:00 #5: artoodetoo ↓ 

Administrator
MArt Keepers
bmw-club
Откуда: Россия
Здесь с: 14.03.2007
Сообщений: 715
Вебсайт

Re: Галерея к моду File Upload

Чтобы не возникало путаницы с галереей в Power Edition я обозвал скрипт slideshow
http://punbb-pe.org.ru/fileup101/slideshow.php - версия для File Upload
http://punbb-pe.org.ru/slideshow.php - версия для Power Edition (в PE 0.0.5 таблица attachments меньше на пару полей - приходится усложнять запросы)
прошу попробовать и высказаться

скачать Slideshow для File Upload можно здесь: slideshow_001.zip
update: вышла улучшенная версия slideshow slideshow_002.zip

Неактивен

 

18.06.2007 08:57:38 #6: artoodetoo ↓ 

Administrator
MArt Keepers
bmw-club
Откуда: Россия
Здесь с: 14.03.2007
Сообщений: 715
Вебсайт

Re: Галерея к моду File Upload

RuRu пишет:

artoodetoo пишет:

вместо пароля есть управление доступом на базе форума. фотографии "не для всех" выкладываются в приватный форум. если нет доступа на чтение форума - нет и картинок.
можно запретить download файлов — тогда рядовой посетитель сможет видеть только превьюшки, без полной версии.
если очень хочется именно пароль - на punres есть моды "пароль на форум". этот мод будет действовать и на форум с картинками!

На сколько я понял это может делать только админ или нет?

естественно, правами управляет Админ!
ты хочешь как рядовой пользователь выложить картинку и закрыть ее паролем? не получится. и думаю, что Админ был бы против такой возможности smile форум  - место коллективного общения, а не личная файловая свалка для любого случайного посетителя.

с другой стороны, Админ может завести специальную группу доверенных пользователей и дать этой группе права на "приватный" форум - вот это будет место не для всех! кто будет входить в эту группу решает Админ.

Неактивен

 

21.06.2007 08:23:27 #7: artoodetoo ↓ 

Administrator
MArt Keepers
bmw-club
Откуда: Россия
Здесь с: 14.03.2007
Сообщений: 715
Вебсайт

Re: Галерея к моду File Upload

слайдшоу по мелочи модифицируется каждый день. сегодня самая свежая версия - на photocross74.net
заточена под PE, причем PE там тоже не тот, что в архиве smile

niikto, как я писал здесь самый быстрый путь в светлое будущее - дать мне твой пак как он есть на сегодня.
в перспективе надо на SVN-хостинге работать

Неактивен

 

10.07.2007 22:47:02 #8: niikto ↓ 

Administrator
MArt Keepers
bmw-club
jaga-jaga
Откуда: Омск
Здесь с: 25.03.2007
Сообщений: 177
Вебсайт

Re: Галерея к моду File Upload

посмотри это: http://orangoo.com/labs/GreyBox/
афигеть как красиво! (правда там иконок нету, тоесть они в посте получаются),
да и не думаю что на смартфоне нормально будет показывать...

Неактивен

 

11.07.2007 10:15:40 #9: niikto ↓ 

Administrator
MArt Keepers
bmw-club
jaga-jaga
Откуда: Омск
Здесь с: 25.03.2007
Сообщений: 177
Вебсайт

Re: Галерея к моду File Upload

напрягает то что она показывает последние 100, а не последние из последнего поста например - всмысле - очень долго ждать, да и ненужно, чтобы фотки пляжа на гаити были вместе с схамными-платами усилителя звука: http://fouroom.ru/slideshow.php

это неочень страшно, но както неправильно

Неактивен

 

11.07.2007 18:52:50 #10: artoodetoo ↓ 

Administrator
MArt Keepers
bmw-club
Откуда: Россия
Здесь с: 14.03.2007
Сообщений: 715
Вебсайт

Re: Галерея к моду File Upload

про GreyBox: уже видел и скачивал. изучать буду после отпуска. вся суть lightbox|greybox в том, что не порождается новое окно. если тебя заинтересовал только внешний вид, можешь поиграть со стилями.

про последние фотки: это организационный вопрос, а не программерский. там где нужно гаити давай ссылку на слайдшоу вида slideshow.php?fid=M, а где схемы - slideshow.php?fid=X
а на просто последние можешь ссыль не давать, раз у тебя такой разноплановый форум.

P.S. я завтра уезжаю на иссык-куль с группой тайзцицуань smile на две недели всякая цивилизация останется "где-то там". надеюсь форум будет полезен народу и в мое отсутствие.

Неактивен

 

11.07.2007 21:52:42 #11: Grace ↓ 

Опытный
Здесь с: 22.06.2007
Сообщений: 40

Re: Галерея к моду File Upload

конечно будет )
хорошо отдохнуть! cool


пример подписи

Неактивен

 

13.07.2007 18:23:50 #12: niikto ↓ 

Administrator
MArt Keepers
bmw-club
jaga-jaga
Откуда: Омск
Здесь с: 25.03.2007
Сообщений: 177
Вебсайт

Re: Галерея к моду File Upload

цюань

у кого занимаешься, если не секрет?
что за направление - ян скорее всего?

счастливо отдохнуть smile


вот еще интересно: http://images.world.ru/search.php?p=%CF … amp;page=8

Отредактированно niikto (14.07.2007 17:20:14)

Неактивен

 

12.08.2007 21:28:38 #13: artoodetoo ↓ 

Administrator
MArt Keepers
bmw-club
Откуда: Россия
Здесь с: 14.03.2007
Сообщений: 715
Вебсайт

Re: Галерея к моду File Upload

более-менее освоил 24 формы ян, начал 24 чэнь + чэньский меч. это какбы вторая ступень у нас.
учитель макен исаков

Неактивен

 

16.08.2007 13:48:31 #14: RuRu ↓ 

Опытный
first-team
Здесь с: 28.05.2007
Сообщений: 72

Re: Галерея к моду File Upload

У меня вопрос по отображению фоток:
Например, для фоток у меня   предусмотрен один форум, если я выбиру отображать его, то все они будут на одной странице или на нескольких?
И еще как я понял позицию last (сколько отображать ) менять нельзя или можно? если нельзя то сколько по умолчанию?


никогда не жалей о том чего не можешь изменить

Неактивен

 

16.08.2007 13:57:44 #15: artoodetoo ↓ 

Administrator
MArt Keepers
bmw-club
Откуда: Россия
Здесь с: 14.03.2007
Сообщений: 715
Вебсайт

Re: Галерея к моду File Upload

да, пока все именно так - одна страница и фикс. кол-во "последних". вроде бы 33 последний раз делал.
в планах развить этот скрипт и сделать еще пару аналогичных по назначению, но иных по дизайну и мелким фишкам. сроки боюсь называть.

imho, трудно добиться слишком тяжелой slideshow. пусть картинок будут многие десятки - они же все крошечные и браузеры хорошо кешируют картинки, в отличие от страниц форума или выдачи download.php

страницы я конечно добавлю... пока и так неплохо.

Неактивен

 

16.08.2007 18:44:53 #16: RuRu ↓ 

Опытный
first-team
Здесь с: 28.05.2007
Сообщений: 72

Re: Галерея к моду File Upload

вообще на мой взгляд логичнее пользователю предоставить выбирать вид отображения (имею ввиду дизайн).


никогда не жалей о том чего не можешь изменить

Неактивен

 

17.08.2007 05:15:42 #17: artoodetoo ↓ 

Administrator
MArt Keepers
bmw-club
Откуда: Россия
Здесь с: 14.03.2007
Сообщений: 715
Вебсайт

Re: Галерея к моду File Upload

я сделаю по-науке. разделю данные и представление. будет модуль с функциями для slideshow, будут template-файлы и css.

Неактивен

 

18.08.2007 09:45:55 #18: artoodetoo ↓ 

Administrator
MArt Keepers
bmw-club
Откуда: Россия
Здесь с: 14.03.2007
Сообщений: 715
Вебсайт

Re: Галерея к моду File Upload

есть нерешенная задачка по CSS. в режиме просмотра полной картинки (fullsize) если картинка меньше экрана, после выбора цвета внизу остается полоска дефолтового цвета. если кто-то перепишет javascript и/или css чтобы этого избежать - буду благодарен

Неактивен

 

07.09.2007 16:20:47 #19: Baltazar ↓ 

Участник
Здесь с: 07.09.2007
Сообщений: 11

Re: Галерея к моду File Upload

artoodetoo, для начала огромный респектище за галерею, юзаю ее все нравится, но вот есть вопрос  можно ли сделать так, чтобы в строке перехода по форумам в галерее, были доступны не все форумы, а только те, в которых загружены фото через EFU, либо возможность добавить только эти форумы на усмотрение админа.?

Заранее благодарен за ответ.

Отредактированно Baltazar (07.09.2007 17:18:45)

Неактивен

 

07.09.2007 17:01:47 #20: artoodetoo ↓ 

Administrator
MArt Keepers
bmw-club
Откуда: Россия
Здесь с: 14.03.2007
Сообщений: 715
Вебсайт

Re: Галерея к моду File Upload

желания материализуются smile для начала скажи  - у тебя сборка с "суперкатегориями" или с punbb.ru?

если второе, приходит в голову назначить ограничение на те форумы, куда рядовым мемберам разрешена загрузка, то есть наложить фильтр на поле forum_perms.file_download

Неактивен

 

07.09.2007 17:16:02 #21: Baltazar ↓ 

Участник
Здесь с: 07.09.2007
Сообщений: 11

Re: Галерея к моду File Upload

второй вариант

это здесь я так понимаю?

Код:

// get available forum list
    $result = $db->query('SELECT f.id AS fid, f.forum_name, f.moderators, fp.file_download
        FROM
        '.$db->prefix.'forums AS f LEFT JOIN
        '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].')
        WHERE (f.id='.$fid.') AND (fp.read_forum IS NULL OR fp.read_forum=1)') or
        error('Unable to fetch forum', __FILE__, __LINE__, $db->error());

Неактивен

 

08.09.2007 07:41:44 #22: artoodetoo ↓ 

Administrator
MArt Keepers
bmw-club
Откуда: Россия
Здесь с: 14.03.2007
Сообщений: 715
Вебсайт

Re: Галерея к моду File Upload

этот фрагмент относится к добыванию самих картинок. за список форумов отвечает функция generate_gallery_quickjump() - вот туда и загляни

приведу полный slideshow.php

Код:

<?php
/***********************************************************************

  View attached images as slideshow.
  There are 3 kind of view: slideshow, thumbnail picker, fullsize image

  This file is part of Elektra File Upload mod for PunBB.

  Copyright (C) 2002-2005  Rickard Andersson (rickard@punbb.org)
  Copyright (C) 2007       artoodetoo (master@punbb-pe.org.ru)

  Possible GET parameters:
    last    - view last N images
    aid     - attachment
    fid     - forum/gallery
    user_id - forum member

************************************************************************/

define('PUN_ROOT', './');
require PUN_ROOT.'include/common.php';
require PUN_ROOT.'include/file_upload.php';

$page_title = pun_htmlspecialchars($pun_config['o_board_title'].' / sample slideshow');

$aid = isset($_GET['aid'])? $_GET['aid']: 0;
$fid = isset($_GET['fid'])? $_GET['fid']: 0;
$user_id = isset($_GET['user_id'])? $_GET['user_id']: 0;
$last = (isset($_GET['last']) && intval($_GET['last'])!=0)? intval($_GET['last']): 100;

$view_as = 'slideshow';
if ($aid != 0 && $fid == 0 && $user_id == 0)
    $view_as = 'fullsize';

function make_img_ref($aid, $is_preview)
{
    global $pun_config;

    if ($is_preview)
    {
        $width = $pun_config['file_preview_width'];
        $height = $pun_config['file_preview_height'];
        $do_cut = false;
    }
    else
    {
        $width = $pun_config['file_thumb_width'];
        $height = $pun_config['file_thumb_height'];
        $do_cut = true;
    }

    return require_thumb_name($aid, $width, $height, $do_cut);
}

function generate_gallery_quickjump($forum_id)
{
    global $db, $lang_common, $pun_user, $is_admmod;

    $output = "\t\t\t\t".'<form id="qjump" method="get" action="slideshow.php">'."\n\t\t\t\t\t".'<div><label>'.$lang_common['Jump to']."\n\n\t\t\t\t\t".'<br /><select name="fid" onchange="window.location=(\'slideshow.php?\'+this.options[this.selectedIndex].value)">'."\n";

    $output .= "\t\t\t\t\t\t".'<optgroup label="All categories">'."\n";
    $output .= "\t\t\t\t\t\t\t".'<option value="last=100">last</option>'."\n";
    $output .= "\t\t\t\t\t".'</optgroup>'."\n";

    $result = $db->query('SELECT c.id AS cid, c.cat_name, f.id AS fid, f.forum_name, f.redirect_url, fp.file_download FROM '.$db->prefix.'categories AS c INNER JOIN '.$db->prefix.'forums AS f ON c.id=f.cat_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].') WHERE fp.read_forum IS NULL OR fp.read_forum=1 ORDER BY c.disp_position, c.id, f.disp_position', true) or error('Unable to fetch category/forum list', __FILE__, __LINE__, $db->error());

    $cur_category = 0;
    while ($cur_forum = $db->fetch_assoc($result))
    {
        $can_download = $is_admmod ||
            ($cur_forum['file_download'] == '' && $pun_user['g_file_download'] == '1') ||
             $cur_forum['file_download'] == '1';
        if (!$can_download)
            continue;

        if ($cur_forum['cid'] != $cur_category)    // A new category since last iteration?
        {
            if ($cur_category)
                $output .= "\t\t\t\t\t\t".'</optgroup>'."\n";

            $output .= "\t\t\t\t\t\t".'<optgroup label="'.pun_htmlspecialchars($cur_forum['cat_name']).'">'."\n";
            $cur_category = $cur_forum['cid'];
        }

        $redirect_tag = ($cur_forum['redirect_url'] != '') ? ' &gt;&gt;&gt;' : '';
        $output .= "\t\t\t\t\t\t\t".'<option value="fid='.$cur_forum['fid'].'"'.(($forum_id == $cur_forum['fid']) ? ' selected="selected">' : '>').pun_htmlspecialchars($cur_forum['forum_name']).$redirect_tag.'</option>'."\n";
    }

    $output .= "\t\t\t\t\t".'</optgroup>'."\n\t\t\t\t\t".'</select>'."\n\t\t\t\t\t\n\t\t\t\t\t".'</label></div>'."\n\t\t\t\t".'</form>'."\n";

    return $output;
}


$attachments = array();
$fid_list = array();
$categories = array();
$forums = array();

// get category list for cache
$result = $db->query('SELECT id, cat_name FROM '.$db->prefix.'categories') or error('Unable to fetch category list', __FILE__, __LINE__, $db->error());
while ($cur_category = $db->fetch_assoc($result))
{
    $categories[$cur_category['id']] = $cur_category['cat_name'];
}

if ($last != 0)
{
    $last = min($last, 100);
    $subtitle = 'last '.$last;

    // get available forum list
    $result = $db->query('SELECT f.id AS fid, f.forum_name, f.moderators, fp.file_download
        FROM
        '.$db->prefix.'forums AS f LEFT JOIN
        '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].')
        WHERE (fp.read_forum IS NULL OR fp.read_forum=1)
        ORDER BY f.id') or
        error('Unable to fetch forum list', __FILE__, __LINE__, $db->error());

    while ($cur_forum = $db->fetch_assoc($result))
    {
        // we have to calculate download rights for every forum
        $mods_array = ($cur_forum['moderators'] != '') ? unserialize($cur_forum['moderators']) : array();
        $is_admmod = ($pun_user['g_id'] == PUN_ADMIN || ($pun_user['g_id'] == PUN_MOD && array_key_exists($pun_user['username'], $mods_array))) ? true : false;
        $can_download = $is_admmod ||
        ($cur_forum['file_download'] == '' && $pun_user['g_file_download'] == '1') ||
         $cur_forum['file_download'] == '1';

        if ($can_download)
        {
            $forums[$cur_forum['fid']] = array(
                'forum_name'   => $cur_forum['forum_name'],
                'can_download' => $can_download);
            $fid_list[] = $cur_forum['fid'];
        }
    }
    $fid_list = implode(',', $fid_list);
    unset($can_download);

    $order_and_limit = "\n\tORDER BY t.posted DESC\n\tLIMIT ".$last;
}
else if ($fid != 0)
{
    // get available forum list
    $result = $db->query('SELECT f.id AS fid, f.forum_name, f.moderators, fp.file_download
        FROM
        '.$db->prefix.'forums AS f LEFT JOIN
        '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].')
        WHERE (f.id='.$fid.') AND (fp.read_forum IS NULL OR fp.read_forum=1)') or
        error('Unable to fetch forum', __FILE__, __LINE__, $db->error());

    if (!$db->num_rows($result))
        message($lang_common['Bad request']);

    $cur_forum = $db->fetch_assoc($result);

    $mods_array = ($cur_forum['moderators'] != '') ? unserialize($cur_forum['moderators']) : array();
    $is_admmod = ($pun_user['g_id'] == PUN_ADMIN || ($pun_user['g_id'] == PUN_MOD && array_key_exists($pun_user['username'], $mods_array))) ? true : false;

    $subtitle = pun_htmlspecialchars($cur_forum['forum_name']);

    $p = (!isset($_GET['p']) || $_GET['p'] <= 1 || $_GET['p'] > $num_pages) ? 1 : $_GET['p'];
    $start_from = $pun_user['disp_posts'] * ($p - 1);

    $order_and_limit = "\n\tORDER BY t.posted DESC\n\tLIMIT ".$start_from.','.$pun_user['disp_posts'];
}

$forum_cond = ($fid != 0)? ('f.id='.$fid.' AND ') : ('f.id in ('.$fid_list.') AND');
$user_cond = ($user_id!=0)? ('(a.poster_id='.$user_id.') AND '): '';

$result = $db->query('SELECT
    f.id AS fid, f.forum_name, t.id AS tid, t.subject, t.last_post, t.poster, t.posted,
    a.id AS id, a.mime, a.uploaded, a.image_dim, a.filename, a.downloads, a.location, a.size, a.poster_id, u.username
    FROM
    '.$db->prefix.'attachments AS a INNER JOIN
    '.$db->prefix.'users  AS u ON a.poster_id=u.id INNER JOIN
    '.$db->prefix.'topics AS t ON a.topic_id=t.id INNER JOIN
    '.$db->prefix.'forums AS f ON f.id = t.forum_id
    WHERE ' . $forum_cond . $user_cond . '
          (image_dim<>\'\')'.$order_and_limit) or
    error('Unable to fetch topic list', __FILE__, __LINE__, $db->error());

while ($row = $db->fetch_assoc($result))
{
    // can user download this attachment? it depends on per-forum permissions
    $row['can_download'] = $forums[$row['fid']]['can_download'];
    // prepare all previews
    require_thumb($row['id'], $row['location'], $pun_config['file_preview_width'], $pun_config['file_preview_height'], false);
    $attachments[] = $row;
}



// Send no-cache headers
header('Expires: Thu, 21 Jul 1977 07:30:00 GMT');    // When yours truly first set eyes on this world! :)
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');        // For HTTP/1.0 compability

switch ($view_as) {
  case 'slideshow':
?>
<!-- IE into quirks mode -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $lang_common['lang_encoding'] ?>" />
<title><?php echo $page_title ?></title>
<link rel="stylesheet" type="text/css" href="style/imports/slideshow.css" />
<script language='JavaScript' type="text/javascript">
<!--
var browser={isKHTML: false, isGecko: false, isIE: false, isMac : false, isIE5: false, isIE55: false, isWin: false, isOpera: false, isOpera75: false, isSafe:null, hasXMLHttp : false};
with (browser) {
    isKHTML = navigator.userAgent.indexOf("KHTML")>=0;
    isGecko = (!isKHTML) && navigator.product == "Gecko";
    isIE = (!isGecko) && navigator.cpuClass != undefined && navigator.appName == "Microsoft Internet Explorer";
    isIE5 = isIE && (!Function.apply);
    isIE55 = isIE && (document.onmousewheel == undefined);
    isOpera = (!(isIE || isGecko || isKHTML)) && document.attachEvent != undefined;
    isMac = (navigator.appVersion.indexOf("Mac") >= 0);
    if (isOpera){
        isOpera75 = (!/Opera[^0-9]*(?:[1-6]|[7\.[1-4]])/.test(navigator.userAgent));
    }
    if (isOpera){
        var r = new XMLHttpRequest;
        hasXMLHttp = r.setRequestHeader ? true : false;
        delete r;
    }else{
        hasXMLHttp = browser.isIE || window.XMLHttpRequest;
    }
    isWin = (navigator.appVersion.indexOf("Windows") != -1) ? true : false;
    if (isWin) {
        browser.isWin2k = (navigator.userAgent.indexOf("Windows NT 5.0") > 0) ? true : false;
    }
    isSafe = document.getElementById != undefined && (!isIE5) && (document.addEventListener != undefined || document.attachEvent != undefined);
}
var
<?php
if (count($attachments))
{
    $tmp = array();
    foreach ($attachments as $row)
    {
        $filesize = ($row['size']>=1048576)? (round($row['size']/1048576,0).'m'): (round($row['size']/1024,0).'k');
        $format = (eregi('^image/(.*)$', $row['mime'], $regs))? (' ('. $row['image_dim'].' '.$regs[1].')'): '';

        $tmp[] = "'".$row['id']."': [".
             "'".format_time($row['uploaded'])."',".
             "'".$row['poster_id']."',".
             "'".$row['username']."',".
             "'".$row['fid']."',".
             "'".pun_htmlspecialchars($row['forum_name'])."',".
             "'".$row['tid']."',".
             "'".pun_htmlspecialchars($row['subject'])."',".
             "'".$filesize.$format."']";
    }
    echo "\tATTACH_DATA={\n\t" . implode(",\n\t", $tmp) . "};\n";
    unset($tmp);
}
?>

function changeBg(o)
{
    div = document.getElementById("content");
    div.style.backgroundColor = o.style.backgroundColor;
    return false;
}
function LoadImg(id)
{
    // document onload event calls this with no arguments
    if (null == id) {
        var h = document.location.href;
        if (h.indexOf('#')!=-1)
            // if there is an anchor like #aNN use it as id
            id = h.substring(h.indexOf('#')+2);
        else
            // fetch first element id. opera has reverse elements order!
            for (var i in ATTACH_DATA) {id = i; if(!browser.isOpera) break;}
    }
    var img = document.getElementById('photo');
    var img_ref = document.getElementById('photo_ref');
    img.src = "<? echo make_img_ref('" + id + "', true) ?>";
    img_ref.href = "slideshow.php?aid=" + id;

    var data  = ATTACH_DATA[id];
    var user  = document.getElementById('user_info');
    var forum = document.getElementById('forum_info');
    var topic = document.getElementById('topic_info');

    if (data[1] == 1)
        user.innerHTML  = data[0] +   ':&nbsp;<strong>'+data[2]+'</strong>: '+data[7];
    else
        user.innerHTML  = data[0] +   ':&nbsp;<a href="profile.php?id='  +data[1]+'">'+data[2]+'</a>: '+data[7];
    forum.innerHTML = '&nbsp;&raquo;&nbsp;<a href="viewforum.php?id='+data[3]+'">'+data[4]+'</a>';
    topic.innerHTML = '&nbsp;&raquo;&nbsp;<a href="viewtopic.php?id='+data[5]+'">'+data[6]+'</a>';

    return true;
}

//-->
</script>
</head>

<body <?php if (count($attachments)) { echo 'onload="javascript:LoadImg()"';} ?>>

<div id="punwrap">
<div id="punslideshow" class="pun">

<div id="left">
<UL class=topic>
<?php
foreach ($attachments as $row)
{
?>
    <LI><A class=hor href="#a<?php echo $row['id'] ?>" onclick="return LoadImg('<?php echo $row['id'] ?>')"><IMG title="" alt="" src="<?php echo make_img_ref($row['id'], false)?>" ></A> </LI>
<?php
}
?>
</UL>
<div class="clearer"></div>
</div> <!-- #left -->


<div id="content">

    <h2>
        <span id="color_palette" class="conr">
            <a href=# style="background-color:#FFFFFF" onclick="return changeBg(this);">&nbsp; &nbsp;</a>
            <a href=# style="background-color:#E5E5E5" onclick="return changeBg(this);">&nbsp; &nbsp;</a>
            <a href=# style="background-color:#CCCCCC" onclick="return changeBg(this);">&nbsp; &nbsp;</a>
            <a href=# style="background-color:#B3B3B3" onclick="return changeBg(this);">&nbsp; &nbsp;</a>
            <a href=# style="background-color:#999999" onclick="return changeBg(this);">&nbsp; &nbsp;</a>
            <a href=# style="background-color:#808080" onclick="return changeBg(this);">&nbsp; &nbsp;</a>
            <a href=# style="background-color:#666666" onclick="return changeBg(this);">&nbsp; &nbsp;</a>
            <a href=# style="background-color:#4D4D4D" onclick="return changeBg(this);">&nbsp; &nbsp;</a>
            <a href=# style="background-color:#333333" onclick="return changeBg(this);">&nbsp; &nbsp;</a>
            <a href=# style="background-color:#1A1A1A" onclick="return changeBg(this);">&nbsp; &nbsp;</a>
            <a href=# style="background-color:#000000" onclick="return changeBg(this);">&nbsp; &nbsp;</a>
                </span>
                <span id="user_info">date:&nbsp;<a href="">user</a>:&nbsp;size</span>
    </h2>

    <table id="image_preview"><tr><td>
        <p><a id="photo_ref" href="" target="_blank"><img id="photo" src=""></a></p>
    </td></tr></table>
</div>


<div id="brdheader" class="block">
    <div class="box">
        <div id="brdtitle" class="inbox">
            <h1><span><?php echo pun_htmlspecialchars($pun_config['o_board_title']) ?></span></h1>
            <p><span>sample slideshow</span></p>
        </div>
    </div>

    <div id="brdmenu" class="inbox">
        <?php echo generate_navlinks() ?>
    </div>

    <div id="top_link" class="postlink">
    <ul><li><a href="index.php"><?php echo $lang_common['Index'] ?></a></li><li id="forum_info">forum</li><li id="topic_info">&nbsp;&raquo;&nbsp;topic</li></ul>
    </div>
</div>

<div id="brdfooter" class="block">
    <div class="box">
        <div class="inbox conr">
        <p>&copy; forum engine: <a href="http://punbb.org/">PunBB</a></p>
        <p>&copy; CSS tricks: <a href="http://cssplay.co.uk/">Stuart A Nicholls</a><p>
        <p>&copy; gallery mod: <a href="http://master.1wd.ru/">artoodetoo</a></p>
    </div>
    <div id="quickjump" class="inbox"><?php echo generate_gallery_quickjump($fid) ?></div>
    </div>
</div>

</div> <!-- #punslideshow -->
</div> <!-- #punwrap -->

</body>
</html>

<?php
    break;
  case 'picker':

    break;
  case 'fullsize':
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $lang_common['lang_encoding'] ?>" />
<title>fullsize</title>
<style type="text/css">
html {font-size: 76%; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; FONT-SIZE: 11px; LINE-HEIGHT: normal;}
body {padding: 0; margin: 0; border: 0; background: #808080;}
IMG {BORDER: none}
#image_preview {TEXT-ALIGN: center; padding: 10px;}
#colorPalette A {TEXT-DECORATION: none; padding: 0 3px;}
</style>
<script language='JavaScript' type="text/javascript">
function changeBg(o)
<!--
{
    div = document.getElementById("image_preview");
    div.style.backgroundColor = o.style.backgroundColor;
    return false;
}
//-->
</script>
</head>

<body>
<div id="image_preview">
    <br />
        <div id="colorPalette">
            <a href=# style="background-color:#FFFFFF" onclick="return changeBg(this);">&nbsp; &nbsp;</a>
            <a href=# style="background-color:#E5E5E5" onclick="return changeBg(this);">&nbsp; &nbsp;</a>
            <a href=# style="background-color:#CCCCCC" onclick="return changeBg(this);">&nbsp; &nbsp;</a>
            <a href=# style="background-color:#B3B3B3" onclick="return changeBg(this);">&nbsp; &nbsp;</a>
            <a href=# style="background-color:#999999" onclick="return changeBg(this);">&nbsp; &nbsp;</a>
            <a href=# style="background-color:#808080" onclick="return changeBg(this);">&nbsp; &nbsp;</a>
            <a href=# style="background-color:#666666" onclick="return changeBg(this);">&nbsp; &nbsp;</a>
            <a href=# style="background-color:#4D4D4D" onclick="return changeBg(this);">&nbsp; &nbsp;</a>
            <a href=# style="background-color:#333333" onclick="return changeBg(this);">&nbsp; &nbsp;</a>
            <a href=# style="background-color:#1A1A1A" onclick="return changeBg(this);">&nbsp; &nbsp;</a>
            <a href=# style="background-color:#000000" onclick="return changeBg(this);">&nbsp; &nbsp;</a>
                </div>
    <p><a href="javascript:self.close()"><img id="photo" src="download.php?aid=<?php echo $aid ?>"></a></p>
</div>
</body>
</html>
<?php
    break;
}

наверняка чем-то еще отличается от твоей версии - для начала скопируй себе только указанную функцию и посмотри что получается.

Неактивен

 

09.09.2007 22:18:36 #23: Baltazar ↓ 

Участник
Здесь с: 07.09.2007
Сообщений: 11

Re: Галерея к моду File Upload

Заменил полностью этой версией но ничего не изменилось...  у меня по ходу другая мысль зародилась немного...  а что если к примеру не разделы давать просматривать выборочные в галерее, а темы. У меня к примеру раздел Фотоарт и внем все покатегориям, тоесть если в галерее будут видны темы раздела Фотоарт тоесть получится галерея по категориям,  можно ли таким образом сделать,  правда есть еще одна загвоздка если можно так назвать, я поставил мод подфорумов и как обычно ))  он не совем идеален (тем, что он только визуально подфорум, а технически даже в списке форумов все в разброс)... Так вот в разделе фотоарт есть три подфорума  можно в таком случае и к их темам дать путь ?   
Нагрузил конечно вопросами, сам только пытаюсь азбуку эту понять..

Неактивен

 

10.09.2007 09:04:15 #24: artoodetoo ↓ 

Administrator
MArt Keepers
bmw-club
Откуда: Россия
Здесь с: 14.03.2007
Сообщений: 715
Вебсайт

Re: Галерея к моду File Upload

я подфорумы не испытывал, не знаю как оно устроено. помоему они придуманы чтобы админам жизнь медом не казалась wink

"галерея по разделу" — это очень просто slideshow?fid=12, если id фотоарта = 12, опятьже как там с подфорумами - фиг знает smile не собираюсь я этот гемор брать в работу

Неактивен

 

10.09.2007 09:08:39 #25: artoodetoo ↓ 

Administrator
MArt Keepers
bmw-club
Откуда: Россия
Здесь с: 14.03.2007
Сообщений: 715
Вебсайт

Re: Галерея к моду File Upload

были доступны не все форумы, а только те, в которых загружены фото через EFU

ага, а я думал "только те, куда МОГУТ быть загружены фото". у тебя права на upload есть во все форумы? выключи в некоторых и попробуй посмотреть гостем или рядовым участником.

P.S. правильная организация такая - по умолчанию прав на upload у мемберов нет! в некоторые форумы явно включаем такое право. это общее правило сисадмина и не стоит от него отступать.

Неактивен

 

Board footer

Powered by PunBB + PE

Valid XHTML Valid CSS

[ Generated in 0.062 seconds, 7 queries executed ]