VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
Собственно интересует каким образом идёт загрузка вложения при создании темы, создание темы напрямую на форуме подробно разжевано, а по части вложений не нашел толком ничего. POST запросом делать крайне не хочется, возможно есть более простой способ?
а как же еще?
в гет запросе отдавать весь контент аттача?
при добавлении/редактировании поста/темы, сначала грузится вложение и только потом создается тема
при добавлении вложения, проверяется куча всяких параметров, от прав узера, до расширения файла
если все гут, вложение загружено, то переходим к собсно отправке поста (тут тоже проверки всякие)
если узер не прошел проверки или сбой какой то был (инет "порвало"), и темка не создалась, то такие вложения удаляются по крону (1 раз в час вроде)
==
собсно к чему я это....
как, учитывая вышенаписанное, добавить к автопосту еще и аттач?
==
в принципе ничего нет невозможного, просто геморойно бывает =)
наверное сначала идет создание темы/поста, а следом прикрепляем к посту уже само вложение
еще вопрос, откуда грузить?
с компа? вряд ли получится =)
с фтп? ну в принципе можно накидать хлама в определенную папку и оттуда скриптом вытаскивать по одному
опять же как скрипту сказать, какой файл забирать?
ну и т.д...
это то, что первое пришло в голову, вопросов много появится в процессе написания =)
cyberdaemon
Эксперт
Join Date: Apr 2009
Location: C:\NUL\
Награды в конкурсах:
Posts: 1,519
Версия vB: 3.8.x
Пол:
Reputation:
Professional 1062
Репутация в разделе: 363
0
kerk, Ну первое - спасибо, что вообще ответил, тема ёмкая и все предпочли вообще отмалчиваться.
Скажем так.... самостоятельно я допёр до следующего -
1. Вначале создаётся тема (автопостом).
2. Дальше начинается невообразимая гора проверок, методом ненаучного тыка вышел на class_dm_attachment.php, дальше пошёл по аналогии с описанным в теме про создание прямым запросом......
А пришёл собственно вот к чему - тема, как ей и положено создаётся, вложение в теме пишет есть, в таблице attachment даже запись появляется (со всем бредом, который я указал, кстати не шибко то оно и проверяется). Грабли собственно в том, что файл не создаётся на сервере (я так понимаю что вобла вначале выковыривает всю инфу из файла, а потом при "загрузке" его собирает из этого всего (сильно не пинать, но я так понял)).
А вот собственно и всё безобразие полученное методом ненаучного тыка (естественно вместе с автопостом).
PHP Code:
<?php $cwd = getcwd(); //запоминаем нашу текущую директорию chdir('./'); //переходим в директорию форума (путь относительно исполняемого скрипта) require_once('./global.php'); require_once('./includes/class_dm.php'); require_once('./includes/class_dm_threadpost.php');
$threaddm = new vB_DataManager_Thread_FirstPost($vbulletin, ERRTYPE_STANDARD);
$forumid = 127; // индификатор раздела в котором будет создана тема $postuserid = 1; //пользователь от которого будет создана тема $userid = 1; //пользователь от которого будет создано сообщение $username = 'cyberbob'; //имя пользователя, которое будет отображатся в списке тем $pagetext = 'Текст сообщения тестовой темы'; $title = 'Заголовок тестовой темы'; $visible = '1'; $attach = '1'; $filename = 'test.zip'; $filedata = '74657458678569768976895735678563478634786578346587365873'; $filesize = '56'; $extension = 'zip'; $filehash = '675467546757';
require_once('./includes/functions_databuild.php'); build_forum_counters($forumid); chdir($cwd); //конец, возвращаем рабочую директорию скрипта обратно ?>
Да, кстати, откуда грузить - я бы предпочёл из папки на сервере.
На счёт "опять же как скрипту скачать, какой файл забирать?" - да просто всё, у меня другой скрипт тянет файл и сохраняет в папку на сервере (тут как бы не проблема после сохранения сделать всё в обратной последовательности - имя файла уже в переменной, содержимое вогнать в переменную не вопрос (а при этом рождается другой вопрос - а нафиг вообще что то сперва сохранять если уже всё в переменных?)
А на счёт вопросов, так у меня их больше, чем у тебя, наверное)))))))) В общем буду признателен за любое вправление мне мозгов (в рамках темы разумеется).
Last edited by cyberdaemon : 01-20-2011 at 04:32 AM.
@netwind
Гуру
Join Date: Aug 2005
Location: Рiдна Олбанея
Posts: 3,844
Версия vB: 3.8.x
Reputation:
Гуру 1227
Репутация в разделе: 901
0
Quote:
Originally Posted by cyberdaemon
тема ёмкая и все предпочли вообще отмалчиваться.
Нет. Тема - узкая и мало кому нужная.
А ради тебя забесплатно погружаться в api никто не хочет.
cyberdaemon
Эксперт
Join Date: Apr 2009
Location: C:\NUL\
Награды в конкурсах:
Posts: 1,519
Версия vB: 3.8.x
Пол:
Reputation:
Professional 1062
Репутация в разделе: 363
0
netwind, не вопрос, я и сам погружусь, только потом буду так же отмалчиваться (а тема не одному мне нужная судя по вопросам на форуме).
А так, спасибо на добром слове, другого и не ожидал получить в ответ.
@netwind
Гуру
Join Date: Aug 2005
Location: Рiдна Олбанея
Posts: 3,844
Версия vB: 3.8.x
Reputation:
Гуру 1227
Репутация в разделе: 901
0
cyberdaemon, если бы я пробовал и у меня сохранилось бы готовое решение, то обязательно сказал бы. А просто так упираться неинтересно.
Я вот картинки через [img] вставляю и все нормально.
cyberdaemon
Эксперт
Join Date: Apr 2009
Location: C:\NUL\
Награды в конкурсах:
Posts: 1,519
Версия vB: 3.8.x
Пол:
Reputation:
Professional 1062
Репутация в разделе: 363
0
netwind, А сразу так ответить или не отвечать религия не позволила? Ваш первый ответ ("А ради тебя забесплатно погружаться в api никто не хочет.") можно понять двояко, всё зависит от того на какую часть предложения акцент делать. Можно сделать на "ради тебя" а можно на "забесплатно".
Тут не в картинках дело, или только картинки - вложения?
Last edited by cyberdaemon : 01-20-2011 at 09:08 PM.
@netwind
Гуру
Join Date: Aug 2005
Location: Рiдна Олбанея
Posts: 3,844
Версия vB: 3.8.x
Reputation:
Гуру 1227
Репутация в разделе: 901
0
cyberdaemon, ну вставляй ссылки на zip. Или у тебя ХАЙД ?
cyberdaemon
Эксперт
Join Date: Apr 2009
Location: C:\NUL\
Награды в конкурсах:
Posts: 1,519
Версия vB: 3.8.x
Пол:
Reputation:
Professional 1062
Репутация в разделе: 363
0
netwind, у меня вложение в bencode (о чём нибудь говорит?) и при скачивании из темы оно ещё и изменяется (по этому мне надо именно через dm заливать вложение в тему). Никаких хайдов - не перевариваю принципиально.
А с картинками так они давно уже спокойно так и вставляются автопостом. ZIP - просто для примера в коде.
Last edited by cyberdaemon : 01-20-2011 at 08:54 PM.
@netwind
Гуру
Join Date: Aug 2005
Location: Рiдна Олбанея
Posts: 3,844
Версия vB: 3.8.x
Reputation:
Гуру 1227
Репутация в разделе: 901
0
cyberdaemon, пираты, значит. Говорит, что денег нет