форум vBSupport.ru > vBSupport.ru > Requests > Кандидатский
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'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота.
Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
 
 
 
 
Sunbeam
Продвинутый
Default Комментирование страниц сайтов на форуме
4

Поделюсь своим способом комментирования на форуме (3.8.2), который работает уже несколько лет. Задача была с одной стороны дать возможность комментировать каждую страницу сайта, а с другой - оживить форум. На один форум можно отправлять людей со многих сайтов.

Думаю, гуру скажут, что это сделано грубо и не по-европейски, поскольку создается тема прямо в базе, без использования штатных средств форума. Но я хилый специалист в этом ВБ, а попытка смотреть его код сразу вгоняет в депрессию. Разобраться в структуре базы оказалось куда проще.

Принцип работы: внизу каждой статьи сайта находится кнопка Обсудить на форуме, которая направляет нас на следующий скрипт, передавая в скрытом поле (если там формочка) или в параметре ссылки тему комментируемой статьи.
(Эта самая тема попадает в параметр дж.скриптом в момент отправки из тэга h1. Хотя с тем же успехом можно писать туда заранее при формировании страницы cms, если передаем параметром ссылки, то кодировать).

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

Для учета тем с комментами используется табличка
PHP Code:
CREATE TABLE `toforum` (
`
pidint(10NOT NULL auto_increment,
`
urlvarchar(255NOT NULL,
`
titlevarchar(255NOT NULL,
`
threadint(10NOT NULL,
`
numint(10NOT NULL,
PRIMARY KEY  (`pid`),
 
KEY `url` (`url`),
 
KEY `title` (`title`)
ENGINE=MyISAM DEFAULT CHARSET=cp1251 
num - для статистики, число переходивших на форум с этой страницы.

Ну и сам код:

PHP Code:
<?php
include ('includ.php'); // подключение к базе и т.п.

$nam='Автор Тем';
$uid=111//  его ид не форуме
$forum_url='урл';

$purl=strtolower(@$_SERVER['HTTP_REFERER']);
//надо+ здесь проверка урла, что пришел с разрешенных нами сайтов,
//надо+ а также чистка лишних параметров (чтоб от них не создавались лишние темы)
//надо+ При любой неправильности $purl=0;

$tema=$_POST['titl']; // из скрытого поля формы, или GET из параметра ссылки и расшифровать
//надо+ Чистим тему для безопасности и красивости

$tema=substr($tema,0,78);
if(!
$purl or strlen($tema)<2) { //
    
header ('location: '.$forum_url.'forum/forumdisplay.php?f=11'); // в раздел обсуждений
    
exit;
}

$tim=time();

$sql="select * from toforum where url='".$purl."' limit 1"//ищем, есть ли уже такая тема
$r=mysql_query($sql) or die (mysql_error());
if (
$f=@mysql_fetch_array($r)) { // есть. добавляем клик и отправляем в тему
    
$t=$f['thread'];
    
$toforum=$forum_url.'forum/showthread.php?t='.$t;
    
$sql="update toforum set num=num+1 where pid=".$f['pid'];
    
mysql_query($sql) or die (mysql_error());
}
else { 
// не нашли. добавляем тему в форум, пишем в тофорум, отправляем в нов сообщение

$sql="select count(*) as n from toforum where title like '".$tema."%'"//ищем, есть ли похожие темы
$r=mysql_query($sql) or die (mysql_error());
$f=mysql_fetch_array($r);
$n=$f['n'];
if (
$n>0) { // есть похожие. добавляем номер к теме -- это не совсем корректно, но для практики подоходит
    
$tema=$tema." - " . ($n+1);
}

$sqlt="insert into VB_thread (title,forumid,open,replycount,hiddencount,deletedcount,postusername,postuserid,dateline,".
    
"iconid,sticky,votenum,votetotal,attach) ".
    
"values ('".$tema "',11,1,0,0,0,'" $nam "'," $uid "," $tim ",0,0,0,0,0)"// здесь 11 - ид раздела
mysql_query($sqlt) or die (mysql_error());
$t=mysql_insert_id();

$sqlp="insert into VB_post (threadid,parentid,username,userid,title,dateline,pagetext,allowsmilie,showsignature,ipaddress,iconid,".
    
"visible,attach,infraction,reportthreadid) \n".
    
"values (".$t.",0,'".$nam."',".$uid.",'" $tema "',".$tim.",\n'".
    
"Обсуждение страницы сайта: [url=".$purl."]"$tema ."[/url].',\n".
    
"1,0,'99.99.99.99',0,1,0,0,0)";
mysql_query($sqlp) or die (mysql_error());
$p=mysql_insert_id();

$sqlt2="update VB_thread set firstpostid=".$p.",lastpostid=".$p.",lastpost=".$tim.",pollid=0,lastposter='".$nam.
    
"',views=1,visible=1 where threadid=".$t;
mysql_query($sqlt2) or die (mysql_error());

$sqlf="update VB_forum set replycount=replycount+1,lastpost=".$tim.
    
",lastposter='".$nam."',lastpostid=".$p.",lastthread='".$tema."',lastthreadid=".$t.
    
",lasticonid=0,threadcount=threadcount+1 where forumid=11";
mysql_query($sqlf) or die (mysql_error());

$sqlu="update VB_user set lastpost=".$tim.",lastpostid=".$p.",posts=posts+1 where userid=".$uid;
mysql_query($sqlu) or die (mysql_error());

$toforum=$forum_url.'forum/newreply.php?do=newreply&noquote=1&p='.$p;

$sql="insert into toforum (url,title,thread,num) values ('".$purl."','".$tema."',".$t.",1)";
mysql_query($sql) or die (mysql_error());

// конец добавления

header ('location: '.$toforum);

?>

Last edited by Sunbeam : 05-08-2014 at 05:08 PM.
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
 
 
kerk
k0t
 
kerk's Avatar
Default
0

вот этого
PHP Code:
include ('includ.php'); // подключение к базе и т.п. 
можно избежать, подключая в своем скрипте файл global.php
будут доступны все глобальные объекты и переменные воблы, которые можно использовать в своих скриптах
соотв. можно использовать API воблы и для запросов в БД и для разбора пришедшего ответа и парсинг стандартных ошибок воблы и т.д...
==
по моему я уже встречал упоминания о подобном хаке =)
 
 
Sunbeam
Продвинутый
Default
0

Quote:
Originally Posted by kerk View Post
вот этого
PHP Code:
include ('includ.php'); // подключение к базе и т.п. 
можно избежать, подключая в своем скрипте файл global.php
будут доступны все глобальные объекты и переменные воблы, которые можно использовать в своих скриптах
соотв. можно использовать API воблы и для запросов в БД и для разбора пришедшего ответа и парсинг стандартных ошибок воблы и т.д...
==
по моему я уже встречал упоминания о подобном хаке =)
У меня как раз проблема была (да и есть) в незнании этого апи воблы и всей ее начинки. Быстрее (хотя может и неправильнее) оказалось написать этот скриптик, кой и работает уже давно (если упоминания о подобном были, значит я не один так сделал, но свой выложил впервые).
 
 
kerk
k0t
 
kerk's Avatar
Default
1

Quote:
Originally Posted by Sunbeam View Post
в незнании этого апи воблы и всей ее начинки
знакомьтесь...
http://www.vbulletin.com/docs/html/
 
 
Luvilla
Гость
Default

Quote:
Originally Posted by kerk View Post
по моему я уже встречал упоминания о подобном хаке =)
Кнопка "Обсудить на форуме" (аналог Like)
 


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 05:02 PM.


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