Перейти к контенту

Borland_delphi_6

Пользователи
  • Число публикаций

    1 122
  • Регистрация

  • Последнее посещение

Личная информация

Дополнительные

  • Пол
    Мужчина
  • Город
    МО, г. Одинцово

Недавние посетители профиля

6 025 просмотров профиля

Достижения Borland_delphi_6

  1. Дело в том, что редиректить некуда: второй (и основной) адрес для локальной сети
  2. Ну это тоже очевидно, и тоже как-то грустно. Не люблю вносить изменения в исходники, про них еще нужно вспомнить при апдейте и внести заново. Так что, с учетом того, что второй домен лично у меня пока планируется использовать только для нужд админов форума, можно и забить на смайлики.
  3. Ну заменять - это понятно, но не интересно. А насчет "непрописывать жестко" не ясно. Я не припомню настройки, которая позволяет указывать путь до папки со смайлами. По-крайней мере, для папки "default", а иных у меня нет.
  4. Рискну предположить, что никак. А вот кстати, еще вопрос - как совладать со смайликами при наличии двух хостов? Ведь их урлы, кажется, жестко прописываются в базу?
  5. Sannis, ты как всегда прав! Спасибо огромное!
  6. Song, ссылка выше абсолютно такая же, но все равно спасибо
  7. To Song: там используется PHP-функция: "'[song]'. doDecryptFullHash('\\1').'[/song]'", $txt ); Я так понял из манов, "e" нужен для того, чтобы выполнять код. To Sannis: не совсем понял, о чем речь, к сожалению. Я так понимаю, проблема в обратном преобразовании HTML в тег? Кстати, во втором случае использовать 0-9 не получится, потому как от цифор там не остается ничего. См. ниже пример кода. PS: Проверил, HTML код генерируется абсолютно нормально и при вставке нескольких тегов, два фрагмента кода ничем не отличаются друг от друга. Если это может пригодиться, генерируется код такого вида: <object type="application/x-shockwave-flash" width="460" height="16" data="http://music.netultima.trc.local/modules/flash/xspf_jukebox.swf?autoplay=false&repeat_playlist=false&crossFade=false&shuffle=false&skin_url=http://music.netultima.trc.local/modules/flash/slim_gray/&playlist_url=http://music.netultima.trc.local/play/play-be046eb1cd3b1449-217f-46ec73749e5b81dd"><param name="movie" value="http://music.netultima.trc.local/modules/flash/xspf_jukebox.swf?repeat_playlist=false&crossFade=false&shuffle=false&skin_url=http://music.netultima.trc.local/modules/flash/slim_gray/&playlist_url=http://music.netultima.trc.local/play/play-be046eb1cd3b1449-217f-46ec73749e5b81dd" /></object> (да простит меня форум за очередной горизонтальный скролл) Add: есть прогресс. Если во втором случае заменить (.*) на (.+?) - один из тегов остается в живых и ID в нем верный, а второй тег все равно кушается.
  8. Модифицировал парсер форума, дабы он понимал мой тег [song]ID[/song], который вставляет флеш-плеер с загруженной песней с этим ID. Откуда чего и как грузит флешплеер - отношения к делу вроде бы не имеет. Итак, вот что у меня получилось. Сперва заменяем тег на HTML код при отправке поста: $txt = preg_replace( "#\[song\]([0-9]*)\[/song\]#ise", "'<div style=\"font-size: 10px; font-weight: bold;\">Для воспроизведения требуется Adobe Flash Player.</div><object type=\"application/x-shockwave-flash\" width=\"460\" height=\"16\" data=\"http://music.netultima.trc.local/modules/flash/xspf_jukebox.swf?autoplay=false&repeat_playlist=false&crossFade=false&shuffle=false&skin_url=http://music.netultima.trc.local/modules/flash/slim_gray/&playlist_url=http://music.netultima.trc.local/play/play-'.doEncrypt('\\1').'\"><param name=\"movie\" value=\"http://music.netultima.trc.local/modules/flash/xspf_jukebox.swf?repeat_playlist=false&crossFade=false&shuffle=false&skin_url=http://music.netultima.trc.local/modules/flash/slim_gray/&playlist_url=http://music.netultima.trc.local/play/play-'.doEncrypt('\\1').'\" /></object>'", $txt ); Теперь заменяем HTML код в БД обратно на теги при редактировании поста: $txt = preg_replace( "#<div style=\"font-size: 10px; font-weight: bold;\">Для воспроизведения требуется Adobe Flash Player.</div><object type=\"application/x-shockwave-flash\" width=\"460\" height=\"16\" data=\"http://music.netultima.trc.local/modules/flash/xspf_jukebox.swf\?autoplay=false&repeat_playlist=false&crossFade=false&shuffle=false&skin_url=http://music.netultima.trc.local/modules/flash/slim_gray/&playlist_url=http://music.netultima.trc.local/play/play-(.*)\"><param name=\"movie\" value=\"http://music.netultima.trc.local/modules/flash/xspf_jukebox.swf\?repeat_playlist=false&crossFade=false&shuffle=false&skin_url=http://music.netultima.trc.local/modules/flash/slim_gray/&playlist_url=http://music.netultima.trc.local/play/play-(.*)\" /></object>#ise", "'[song]'. doDecryptFullHash('\\1').'[/song]'", $txt ); Все работает замечательно, если в посте присутствует только один тег [song]. Если же их несколько, то при попытке отредактировать наблюдаем только один тег, ссылающийся на нулевой ID, т.е. в посте остается только [song]0[/song], остальные теги [song] пропадают. Содержимое поста при этом не страдает, только содержимое тегов [song]. В чем может быть косяк?
  9. Искал по слову "смайлики" и "комментарии". Ща еще поищу конечно, но лучше дайте хотя бы наводку Edit: обыскался, не нашел.
  10. Как бы заставить форум парсить смайлики при добавлении комментов в профилях пользователей?
  11. Мда. Правда, при этом перестаются создаваться thumbnail's. Ищу решение.
  12. Позаимствовано из 2.2: Открыть lib/image.php Найти: Добавить после:
  13. Фух. Довел код до конца: function read_data ($check_permissions = true, $root='', $parent=0) { // Read the data from the database $this->ipsclass->DB->cache_add_query( 'get_all_categories', '', 'gallery_sql_queries' ); $this->ipsclass->DB->simple_exec(); /** * Any allowed cats? **/ $this->allowed_cats = $this->ipsclass->DB->get_num_rows(); while ($row = $this->ipsclass->DB->fetch_row()) { if ($row['album_mode']) { /* Если категория предназначения для размещения альбомов - сперва делаем выборку альбомов данной категории, затем делаем выборку изображений из данных альбомов. */ $cat_sql = mysql_query("SELECT id FROM ibf_gallery_albums WHERE category_id = '".$row['id']."' AND public_album = 1 ORDER BY RAND() LIMIT 1"); //if (mysql_error()){ echo "SELECT FROM ALBUMS: ".mysql_error()."<br>"; } //DEBUG $albums[$row['id']] = mysql_fetch_array($cat_sql); //if (mysql_error()){ echo "FETCH ALBUMS: ".mysql_error()."<br>"; } //DEBUG $images_id_sql = mysql_query("SELECT id from ibf_gallery_images WHERE album_id = ".$albums[$row['id']]['id']." AND approved = 1 ORDER BY RAND() LIMIT 1"); //if (mysql_error()){ echo "SELECT FROM IMAGES: ".mysql_error()."<br>"; } //DEBUG $images_id = mysql_fetch_array($images_id_sql); //echo "cat[".$row['id']."]".$albums[$row['id']]['id']."=".$images_id['id']."; "; //if (mysql_error()){ echo "FETCH IMAGES: ".mysql_error()."<br>"; } //DEBUG } else { /* Если у нас не альбом, а просто категория - делаем выборку изображений и все */ $images_id_sql = mysql_query("SELECT id from ibf_gallery_images WHERE category_id = ".$row['id']." AND approved = 1 ORDER BY RAND() LIMIT 1"); //if (mysql_error()){ echo "SELECT FROM IMAGES: ".mysql_error()."<br>"; } //DEBUG $images_id = mysql_fetch_array($images_id_sql); } $row['last_pic'] = 1; //!!!!!!!!!! Без понятия, почему, но только так все работает... !!!!!!!!!! if( $check_permissions && ! $this->ipsclass->check_perms( $row['perms_thumbs'] ) ) { $this->allowed_cats--; continue; } $this->image_ids[ $row['id'] ] = $images_id['id']; //$row['last_pic']; if( $this->restrict && !$row['album_mode'] ) { $this->allowed_cats--; continue; } if (!isset($this->data[ $row['id'] ])) { $this->data[ $row['id'] ] = $row; } else { $this->data[ $row['id'] ] = array_merge($this->data[ $row['id'] ],$row); } if( $parent == $row['parent'] ) { $this->ordered[] =& $this->data[ $row['id'] ]; } // Let the parent category know they have a child $this->data[ $row['parent'] ]['child'][] = $row['id']; // Add our own id & our descendants to all the categories above if (isset($this->data[ $row['id'] ]['descendants'])) { $to_add = array_merge($this->data[ $row['id'] ]['descendants'], array($row['id'])); } else { $to_add = array($row['id']); } $this->_set_decendants($row['parent'],$to_add); } $this->data[0]['name'] = $root; } Мозг съеден. Подскажите, что делает строчка, отмеченная восклицательными знаками? Я искал-искал, но так и не нашел, где она может себя проявить, ведь от $row['last_pic'] я вроде как избавился...
  14. Я тут наднях опять заморочил свой мозг на тему и понял, что выбирать категории по параметру доступные/недоступные нет смысла: если пользователь не знает о существовании какой-то скрытой категории, то и картинку он не увидет (просто негде), а если знает, но открыть не может - так и быть, пускай на thumb'ы любуется, слюни пускает. Пожалуй, еще поковыряюсь с запросами, правда, пока не понятно, почему мой код, приведенный выше иногда дает сбой... (хочу отладчик... )
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.