Тема: Как сделать??) (Движок DCMS-Social/Общие вопросы) MRX (3 Nov 2018 в 02:46) Вот как хочу что б было, как такое реализовать?) [i]Добавлено:[/i] Я так понял это нужно делать в файле /forum/inc/file.php, вот содержимое файла Кто может помочь?) <? if ($set[\'web\']) { if (mysql_result(mysql_query(\"SELECT COUNT(*) FROM `forum_files` WHERE `id_post` = \'$post[id]\'\"), 0)>0) { ?> <table width=\'100%\' border=\'1\' style=\'margin:5px;\'> <tr class=\'forum_file_table_title\'> <td width=\'14\'> </td> <td> Файл </td> <td> Тип </td> <td width=\'50\'> Размер </td> <td width=\'50\'> Скачано </td> <td width=\'50\'> Рейтинг </td> <td width=\'50\'> </td> <? if (isset($user) && $user[\'level\']>1) echo \"<td width=\'14\'></td>n\"; ?> </tr> <? $q_f=mysql_query(\"SELECT * FROM `forum_files` WHERE `id_post` = \'$post[id]\'\"); while ($file = mysql_fetch_assoc($q_f)) { echo \"<tr class=\'forum_file_table_file\'>n\"; echo \"<td>n\"; if (is_file(H.\'style/themes/\'.$set[\'set_them\'].\'/loads/14/\'.$file[\'ras\'].\'.png\')) { echo \"<img src=\'/style/themes/$set[set_them]/loads/14/$file[ras].png\' alt=\'$file[ras]\' />n\"; if ($set[\'echo_rassh_forum\']==1)$ras=\".$file[ras]\";else $ras=NULL; } else { echo \"<img src=\'/style/themes/$set[set_them]/forum/14/file.png\' alt=\'\' />n\"; $ras=\".$file[ras]\"; } echo \"</td>n\"; echo \"<td>$file[name]$ras</td>n\"; echo \"<td>$file[type]</td>n\"; echo \"<td>\".size_file($file[\'size\']).\"</td>n\"; if (!isset($file[\'count\']))mysql_query(\"ALTER TABLE `forum_files` ADD `count` INT DEFAULT \'0\' NOT NULL\"); echo \"<td style=\'text-align:center;\'>$file[count]</td>n\"; echo \"<td style=\'text-align:center;\'> \"; $k_vote=mysql_result(mysql_query(\"SELECT COUNT(*) FROM `forum_files_rating` WHERE `id_file` = \'$file[id]\'\"), 0); $sum_vote=mysql_result(mysql_query(\"SELECT SUM(`rating`) FROM `forum_files_rating` WHERE `id_file` = \'$file[id]\'\"), 0); if ($sum_vote==null)$sum_vote=0; if (isset($user) && $user[\'balls\']>=50 && $user[\'rating\']>=0 && mysql_result(m kantry (3 Nov 2018 в 07:25) MRX, стили и таблицу сам приделаешь <?php $check_screen = [\'png\', \'jpg\', \'jpeg\', \'gif\']; // start while (...) { if (is_file(H . \'style/themes/\' . $set[\'set_them\'] . \'/loads/14/\' . $file[\'ras\'] . \'.png\')) { if (in_array($file[\'ras\'], $check_screen)) { echo \'<img src=\"/forum/files/\' . $file[\'id\'] . \'/\' . urlencode($file[\'name\']) . \'.\' . $file[\'ras\'] . \'\" alt=\"*\" style=\"max-width:50%;\"/></a><br />\'; } else { echo \'<img src=\"/style/themes/\' . $set[\'set_them\'] . \'/loads/14/\' . $file[\'ras\'] . \'.png\" alt=\"\' . $file[\'ras\'] . \'\" />\'.\"n\"; } if ($set[\'echo_rassh_forum\'] == 1) { $ras = \".$file[ras]\"; } else { $ras = null; } } else { echo \'<img src=\"/style/themes/\' . $set[\'set_them\'] . \'/forum/14/file.png\" alt=\"\" />\'.\"n\"; $ras = \'.\' . $file[\'ras\']; } // }end while ?> Сибирский (3 Nov 2018 в 07:39) Могу подсказать только теорию, готовую реализацию писать не в моих правилах. При загрузке в табличке forum_files создается запись загруженного файла, в ней есть поля ras и type на основании записей в этих полях мы уже можем судить что за файл прикреплен к теме, если это картинка то выводить ее как картинку, если же нет то можно расширить вывод и для других типов файлов. Тебе потребуется php файл превьюшек, небольшая доработка в коде форума, там достаточно одного условия. Ну и для гибкости можно расширения или типы, для которых будет выводиться превью картинкой выписать в отдельном месте, будет это класс, функция или запись в БД не важно [i]Добавлено:[/i] kantry, твой вариант не будет работать, потому как файлы форума лежат в папке sys/forum/files/ которая защищена от http доступа, потому тут нужен преобразователь картинки на php файле вместо прямой ссылки kantry (3 Nov 2018 в 09:13) Сибирский, причем тут http? Тут индеец файл выдаст, на ссылку то в коде погляди:-) Пример(только что запилил):-D http://social.forcms.ru/forum/1/1/2/ P.S. Там только ньюанс есть, постоянно в базу скачивание картинки будет писаться, но это не проблема)) Сибирский (3 Nov 2018 в 09:29) kantry, значит у тебя форум не стандартный, /forum/files/ нет такого пути... Все, въехал )) Затупил малость ) Ну да, как вариант ) MRX (3 Nov 2018 в 16:11) kantry, Возле названия изображения пропала иконка, как вернуть?) kantry (3 Nov 2018 в 16:25) MRX, никуда она не пропала, просто зачем лишний запрос к серверу делать.хз. Если сильно надо закомментируй условие и все. <?php if (in_array($file[\'ras\'], $check_screen)) { echo \'<img src=\"/forum/files/\' . $file[\'id\'] . \'/\' . urlencode($file[\'name\']) . \'.\' . $file[\'ras\'] . \'\" alt=\"*\" style=\"max-width:50%;\"/></a><br />\'; }//else { echo \'<img src=\"/style/themes/\' . $set[\'set_them\'] . \'/loads/14/\' . $file[\'ras\'] . \'.png\" alt=\"\' . $file[\'ras\'] . \'\" />\'.\"n\"; //} ?> MRX (3 Nov 2018 в 21:34) kantry, Там же уже есть такие строки, но иконки возле названия изображения нету <? $check_screen = [\'png\', \'jpg\', \'jpeg\', \'gif\']; // start while (...) { if (is_file(H . \'style/themes/\' . $set[\'set_them\'] . \'/loads/14/\' . $file[\'ras\'] . \'.png\')) { if (in_array($file[\'ras\'], $check_screen)) { echo \"<a href=\'/forum/files/$file[id]/$file[name].$file[ras]\'>\"; echo \'<img src=\"/forum/files/\' . $file[\'id\'] . \'/\' . urlencode($file[\'name\']) . \'.\' . $file[\'ras\'] . \'\" alt=\"*\" style=\"max-width:50%;border: 3px solid white; box-shadow: 0 2px 3px rgba(0, 0, 0, 0.3);\"/></a></br>\'; } else { echo \'<img src=\"/style/themes/\' . $set[\'set_them\'] . \'/loads/14/\' . $file[\'ras\'] . \'.png\" alt=\"\' . $file[\'ras\'] . \'\" />\'.\"\"; } if ($set[\'echo_rassh_forum\'] == 1) { $ras = \".$file[ras]\"; } else { $ras = null; } } else { echo \'<img src=\"/style/themes/\' . $set[\'set_them\'] . \'/forum/14/file.png\" alt=\"\" />\'.\"\"; $ras = \'.\' . $file[\'ras\']; } ?> kantry (4 Nov 2018 в 00:58) MRX, а я тебе про что пишу? Как только появится файл НЕ картинка, так и иконка появится, что бы она была всегда, условие убери(else). MRX (4 Nov 2018 в 18:14) kantry, Ясн, у меня еще такая проблемка, захожу в обменик, в личных файлах когда нажимаешь на добавить файл пишет такой страницы не существует, в чем проблема? dcms social 1.9.9 kantry (4 Nov 2018 в 19:58) MRX, ну тут то я не знаю, в чем дело, смотреть надо в коде, где тебя на несуществующую страницу отправляет. MRX (4 Nov 2018 в 19:59) kantry, Сюда кидает и пишет не существует страница /user/personalfiles/1//?obmen_dir=1 kantry (4 Nov 2018 в 20:30) MRX, а ты дай дамп запроса select * from obmen_dir where `my`=1 Может у тебя нет папки для личных файлов. MRX (4 Nov 2018 в 22:28) kantry, Ну папка личные файлы в обменике имеется, я же в нее захожу и нажимаю добавить файл не не выходит kantry (5 Nov 2018 в 04:22) MRX, значит нет таблицы `user_files`, или она пустая. MRX (5 Nov 2018 в 17:23) kantry, Таблица есть, но она пустая, что в ней должно быть? kantry (5 Nov 2018 в 17:32) MRX, вообще то при входе в свои файлы(в анкете) там должна создаваться запись с папкой юзера, не знаю что у тебя с кодом в анкете. Как то так файл /user/personalfiles/index.php <?php // Если у юзера нет основной папки создаем if (isset($user) && $ank_id == $user[\'id\'] && !$db->query( \"SELECT COUNT( * ) FROM `user_files` WHERE `id_user`=?i AND `osn`=?i\", [$ank_id, 1])->el()) { $dir_id = $db->query( \"INSERT INTO `user_files` (`id_user`, `name`, `osn`) VALUES(?i, ?, ?i)\", [$ank_id, \'Файлы\', 1])->id(); header(\'Location: /user/personalfiles/\' . $ank_id . \'/\' . $dir_id . \'/\' . SID); } ?> MRX (5 Nov 2018 в 23:53) kantry, А если такая фигня, создаю в личных файлах пару папок, и у них у всех id 0, и у них не заходит, так же если удалить одну папку удалятся все), из за чего это может быть?) [i]Добавлено:[/i] )) kantry (6 Nov 2018 в 10:21) MRX, зайди в phpmyadmin, сюда структуру таблицы скинь show create table `user_files`; berserk2014 (6 Nov 2018 в 14:17) Работы на 5 минут MRX (6 Nov 2018 в 16:54) kantry, Вот kantry (6 Nov 2018 в 17:07) MRX, ну вот свою снеси, а эту залей. Или можешь в phpmyadmin в своей auto_increment добавить MRX (6 Nov 2018 в 17:27) kantry, Спс, помогло) MRX (6 Nov 2018 в 23:54) kantry, А с этим не знаешь что сделать, обсуждения не работают, когда приходит оповещение в обсуждения они перестают отображаться kantry (7 Nov 2018 в 05:04) MRX, да хрен знает(мало инфы), проверь что с запросом <?php // /user/discussions/index.php $q = mysql_query(\"SELECT * FROM `discussions` WHERE `id_user` = \'$user[id]\' $order ORDER BY `time` DESC LIMIT $start, $set[p_str]\") /* найди этот запрос, добавь */ or die(mysql_error()); ?> MRX (7 Nov 2018 в 19:31) kantry, Это походу я что то не то сделал с файлом class.user.php, заменил и все норм) Источник: http://www.dcms-social.ru/forum/13/34/62603/