форум vBSupport.ru > vBulletin > Вопрос — Ответ
Register Меню vBsupport Изображения Files Manager О рекламе Today's Posts Search
  • Родная гавань
  • Блок РКН снят
  • Premoderation
  • For English speaking users
  • Каталог Фрилансеров
  • If you want to buy some product or script
  • Администраторам
VBsupport перешел с домена .ORG на родной .RU Ура! Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей

Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
for English speaking users:
You may be surprised with restriction of access to the attachments of the forum. The reason is the recent change in vbsupport.org strategy:

- users with reputation < 10 belong to "simple_users" users' group
- if your reputation > 10 then administrator (kerk, Luvilla) can decide to move you into an "improved" group, but only manually

Main idea is to increase motivation of community members to share their ideas and willingness to support to each other. You may write an article for the subject where you are good enough, you may answer questions, you may share vbulletin.com/org content with vbsupport.org users, receiving "thanks" equal your reputation points. We should not only consume, we should produce something.

- you may:
* increase your reputation (doing something useful for another members of community) and being improved
* purchase temporary access to the improved category:
10 $ for 3 months. - this group can download attachments, reputation/posts do not matter.
20 $ for 3 months. - this group can download attachments, reputation/posts do not matter + adds eliminated + Inbox capacity increased + files manager increased permissions.

Please contact kerk or Luvilla regarding payments.

Important!:
- if your reputation will become less then 0, you will be moved into "simple_users" users' group automatically.*
*for temporary groups (pre-paid for 3 months) reputation/posts do not matter.
Уважаемые пользователи!

На форуме открыт новый раздел "Каталог фрилансеров"

и отдельный раздел для платных заказов "Куплю/Закажу"

Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже:
Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота.
Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
 
 
 
 
cyberdaemon
Эксперт
 
cyberdaemon's Avatar
Default Как загрузить вложение в тему прямым запросом?
0

Собственно интересует каким образом идёт загрузка вложения при создании темы, создание темы напрямую на форуме подробно разжевано, а по части вложений не нашел толком ничего. POST запросом делать крайне не хочется, возможно есть более простой способ?

P.S. Ветка 3.8.х
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
 
 
kerk
k0t
 
kerk's Avatar
Default
2

Quote:
Originally Posted by cyberdaemon View Post
POST запросом делать крайне не хочется
а как же еще?
в гет запросе отдавать весь контент аттача?
при добавлении/редактировании поста/темы, сначала грузится вложение и только потом создается тема
при добавлении вложения, проверяется куча всяких параметров, от прав узера, до расширения файла
если все гут, вложение загружено, то переходим к собсно отправке поста (тут тоже проверки всякие)
если узер не прошел проверки или сбой какой то был (инет "порвало"), и темка не создалась, то такие вложения удаляются по крону (1 раз в час вроде)
==
собсно к чему я это....
как, учитывая вышенаписанное, добавить к автопосту еще и аттач?
==
в принципе ничего нет невозможного, просто геморойно бывает =)
наверное сначала идет создание темы/поста, а следом прикрепляем к посту уже само вложение
еще вопрос, откуда грузить?
с компа? вряд ли получится =)
с фтп? ну в принципе можно накидать хлама в определенную папку и оттуда скриптом вытаскивать по одному
опять же как скрипту сказать, какой файл забирать?
ну и т.д...
это то, что первое пришло в голову, вопросов много появится в процессе написания =)
 
 
cyberdaemon
Эксперт
 
cyberdaemon's Avatar
Default
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($vbulletinERRTYPE_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';

$threaddm->do_set('forumid'$forumid);
$threaddm->do_set('postuserid'$postuserid);
$threaddm->do_set('userid'$userid);
$threaddm->do_set('username'$username);
$threaddm->do_set('pagetext'$pagetext);
$threaddm->do_set('title'$title);
$threaddm->do_set('visible'$visible);
$threaddm->do_set('allowsmilie'$yes);
$threaddm->do_set('attach'$attach);
$new_treadid $threaddm->save();

require_once(
'./includes/class_dm_attachment.php');
$filedm = new vB_DataManager_Attachment($vbulletinERRTYPE_STANDARD);


$filedm->do_set('postid'$new_treadid);
$filedm->do_set('userid'$userid);
$filedm->do_set('filename'$filename);
$filedm->do_set('filedata'$filedata);
$filedm->do_set('filesize'$filesize);
$filedm->do_set('extension'$extension);
$filedm->do_set('filehash'$filehash);
$new_fileid $filedm->save();

echo 
$new_treadid,'\n';
echo 
$new_fileid;

require_once(
'./includes/functions_databuild.php'); 
build_forum_counters($forumid);
chdir($cwd); //конец, возвращаем рабочую директорию скрипта обратно
?>
Да, кстати, откуда грузить - я бы предпочёл из папки на сервере.

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

PHP Code:
  $fileurl 'http://ссылка на удаленный файл';
  
$result get_web_page$fileurl );
  
$html $result['content'];

  
$handle fopen("./tmp/файл.zip""a");
  
fwrite($handle$html."\n"); 
А на счёт вопросов, так у меня их больше, чем у тебя, наверное)))))))) В общем буду признателен за любое вправление мне мозгов (в рамках темы разумеется).

Last edited by cyberdaemon : 01-20-2011 at 04:32 AM.
 
 
netwind
Гуру
 
netwind's Avatar
Default
0

Quote:
Originally Posted by cyberdaemon View Post
тема ёмкая и все предпочли вообще отмалчиваться.
Нет. Тема - узкая и мало кому нужная.
А ради тебя забесплатно погружаться в api никто не хочет.
 
 
cyberdaemon
Эксперт
 
cyberdaemon's Avatar
Default
0

netwind, не вопрос, я и сам погружусь, только потом буду так же отмалчиваться (а тема не одному мне нужная судя по вопросам на форуме).
А так, спасибо на добром слове, другого и не ожидал получить в ответ.
 
 
netwind
Гуру
 
netwind's Avatar
Default
0

cyberdaemon, если бы я пробовал и у меня сохранилось бы готовое решение, то обязательно сказал бы. А просто так упираться неинтересно.

Я вот картинки через [img] вставляю и все нормально.
 
 
cyberdaemon
Эксперт
 
cyberdaemon's Avatar
Default
0

netwind, А сразу так ответить или не отвечать религия не позволила? Ваш первый ответ ("А ради тебя забесплатно погружаться в api никто не хочет.") можно понять двояко, всё зависит от того на какую часть предложения акцент делать. Можно сделать на "ради тебя" а можно на "забесплатно".

Тут не в картинках дело, или только картинки - вложения?

Last edited by cyberdaemon : 01-20-2011 at 09:08 PM.
 
 
netwind
Гуру
 
netwind's Avatar
Default
0

cyberdaemon, ну вставляй ссылки на zip. Или у тебя ХАЙД ?
 
 
cyberdaemon
Эксперт
 
cyberdaemon's Avatar
Default
0

netwind, у меня вложение в bencode (о чём нибудь говорит?) и при скачивании из темы оно ещё и изменяется (по этому мне надо именно через dm заливать вложение в тему). Никаких хайдов - не перевариваю принципиально.
А с картинками так они давно уже спокойно так и вставляются автопостом. ZIP - просто для примера в коде.

Last edited by cyberdaemon : 01-20-2011 at 08:54 PM.
 
 
netwind
Гуру
 
netwind's Avatar
Default
0

cyberdaemon, пираты, значит. Говорит, что денег нет
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 01:32 AM.


Powered by vBulletin® Version 3.6.9
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.