Forum. MyNuke.ru

Forum. MyNuke.ru (http://forum.mynuke.ru/index.php)
-   Настройка и Изменение (http://forum.mynuke.ru/forumdisplay.php?f=11)
-   -   скачка файлов за посты на форуме (http://forum.mynuke.ru/showthread.php?t=2240)

muscul 26.08.2006 21:32

скачка файлов за посты на форуме
 
nuke 7.9.1 в модуле Files в функции
Код:
function getit
можно сделать чтоб скачивать могли только пользователи, а просматривать все,Можно ли сделать чтоб пользователи могли скачивать файлы из Files после того как оставили определеное количество постов на форуме,а просматривать все,если кто знает подскажите пожалуйста.

Alexander-V-Sh 27.08.2006 00:58

Проверки ставить, например где стоит ссылка Скачать, сделать так:
if (is_user($user)) {
Тут идет форма или что то там в этом модуле, чтобы скачать файл
} else {
echo "Для того чтобы скачать вы должны зарегестрироваться";
}
А вот про форум незнаю, ибо им не пользуюсь...

muscul 27.08.2006 09:48

как сделать чтоб скачивать могли только юзеры я знаю вот код
Код:
function getit($lid) { global $prefix, $db, $module_name, $user; if (is_user($user)){ $lid = intval($lid); $hits = intval($hits); $db->sql_query("update ".$prefix."_files set hits=hits+1 WHERE lid=$lid"); $sql = "SELECT title, url FROM ".$prefix."_files WHERE lid='$lid'"; $result = $db->sql_query($sql); $row = $db->sql_fetchrow($result); $f_title = $row[title]; $url = $row[url]; echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"5; URL=$url\">"; include("header.php"); menu(); OpenTable(); echo "<center><br><br><br>"._NOTEDOWNLOAD." <b>$f_title</b> "._NOTEDOWNLOAD2."<br><br><br><br>"; echo "<b><a href=\"$url\">$url</a></b><br><br><br><br>"; echo "[ <a href=\"javascript:history.go(-1)\">"._PBACK."</a> | <a href=\"modules.php?name=$module_name\">"._PHOME."</a> ]<br><br><br></center>"; CloseTable(); include("footer.php"); }else{ include("header.php"); menu($maindownload); echo "<br>"; OpenTable(); echo "<center>"; echo "<font color=red><b>Скачать файл могут только зарегистрированные и активированные пользователи!</b></font><br><br>"; echo "<A href=\"modules.php?name=Your_Account\">Войти</A> | <A href=\"modules.php?name=Your_Account&amp;op=pass_lost\">Потеряли свой пароль?</A> | <A href=\"modules.php?name=Your_Account&amp;op=new_user\">Регистрация нового пользователя</A>"; echo "</center>"; CloseTable(); include("footer.php"); } }

а вот как сделать чтоб скачивали после определеного количества постов на форуме не знаю может кто делал

Alexander-V-Sh 27.08.2006 15:01

muscul
А чем этот код не нравится? В нем помоему юзеры только и могут скачивать.

muscul 27.08.2006 16:26

в том и дело хотелось бы сделать чтоб не просто зарегистрированые скачивали, а зарегистрированые которые оставят несколько сообщений на форуме,а смотреть все.

Alexander-V-Sh 27.08.2006 17:45

muscul
Тогда нужно сделать еще проверку на посты. Я незнаю в какой таблице хранится количество постов у юзера, (но отыскать можно).
Что то вроде этого. (не факт что верно написал, ибо проверить негде)
PHP код:
 function getit($lid) {
  global 
$prefix$db$module_name$user;
  
$lid intval($lid);
  if (
is_user($user)){
  
getusrinfo($user);
$username "".$userinfo['username']."";  //имя юзера

$result2 $db->sql_query("SELECT посты FROM ".$prefix."_база WHERE юзер='$username'"); //запрос в бд, чтобы узнать сколько у него постов
$row2 $db->sql_fetchrow($result2); 
$post intval($row4['посты']);

if (
$post 100) { //проверка на количество

  
$hits intval($hits);
  
$db->sql_query("update ".$prefix."_files set hits=hits+1 WHERE lid=$lid");
  
$sql "SELECT title, url FROM ".$prefix."_files WHERE lid='$lid'";
  
$result $db->sql_query($sql);
  
$row $db->sql_fetchrow($result);
  
$f_title $row[title];
  
$url $row[url];
  echo 
"<META HTTP-EQUIV=\"Refresh\"  CONTENT=\"5; URL=$url\">";
  include(
"header.php");
  
menu();
  
OpenTable();
  echo 
"<center><br><br><br>"._NOTEDOWNLOAD." <b>$f_title</b> "._NOTEDOWNLOAD2."<br><br><br><br>";
  echo 
"<b><a href=\"$url\">$url</a></b><br><br><br><br>";
  echo 
"[ <a href=\"javascript:history.go(-1)\">"._PBACK."</a> | <a href=\"modules.php?name=$module_name\">"._PHOME."</a> ]<br><br><br></center>";
  
CloseTable();
  include(
"footer.php"); 
} else {
include(
"header.php");
  
menu($maindownload);
  echo 
"<br>";
  
OpenTable();
  echo 
"<center>";
echo 
"<font color=red><b>Извините, но чтобы скачать этот файл, нужно иметь не менее 100 постов на нашем форуме</b></font><br><br>";
   echo 
"</center>";
  
CloseTable();
  include(
"footer.php");
 
 } 
} else {
include(
"header.php");
  
menu($maindownload);
  echo 
"<br>";
  
OpenTable();
  echo 
"<center>";
  echo 
"<font color=red><b>Скачать файл могут только зарегистрированные и активированные пользователи!</b></font><br><br>";
  echo 
"<A href=\"modules.php?name=Your_Account\">Войти</A> | <A href=\"modules.php?name=Your_Account&amp;op=pass_lost\">Потеряли свой пароль?</A> | <A href=\"modules.php?name=Your_Account&amp;op=new_user\">Регистрация нового пользователя</A>";
  echo 
"</center>";
  
CloseTable();
  include(
"footer.php");
}


muscul 27.08.2006 21:17

Alexander-V-Sh спасибо, попробую так

попробывал что то не то, все работает но при скачке выскакивает надпись
извините, но чтобы скачать этот файл, нужно иметь не менее 100 постов на нашем форуме
пробывал снизить количество постов то же самое + не появляется нижний блок про регистрацию.

Alexander-V-Sh 27.08.2006 23:47

muscul
проверь запрос в базу данных
------
Вы когда регестрируетесь, не пишите данных о себе, сейчас бы тебе постучал и пояснил...

muscul 28.08.2006 08:41

Цитата: Сообщение от Alexander-V-Sh
muscul
проверь запрос в базу данных

Спасибо, сделал все заработало

lopster 29.08.2006 15:48

описалбы подробно как ты это сделал!

muscul 29.08.2006 20:16

могу только подсказать про Filis и посты

lopster 29.08.2006 20:18

подскажи! просто я хочу сделать на твоём примере скачку за баллы (поинты)!

muscul 29.08.2006 22:15

вот сам код попробуй запрос изменить
Код:
function getit($lid) { global $prefix, $db, $module_name, $user, $cookie, $postion, $user_prefix; $lid = intval($lid); if (is_user($user)){ getusrinfo($user); //$username = "".$userinfo['username'].""; //имя юзера cookiedecode($user); $username = $cookie[1]; if ($username == "") { $username = "Anonymous"; } $result2 = $db->sql_query("SELECT user_posts FROM ".$user_prefix."_users WHERE username='$username'"); //запрос в бд, чтобы узнать сколько у него постов $row2 = $db->sql_fetchrow($result2); $post = intval($row2['user_posts']); if ($post >= $postion) { //проверка на количество $hits = intval($hits); $db->sql_query("update ".$prefix."_files set hits=hits+1 WHERE lid=$lid"); $sql = "SELECT title, url FROM ".$prefix."_files WHERE lid='$lid'"; $result = $db->sql_query($sql); $row = $db->sql_fetchrow($result); $f_title = $row[title]; $url = $row[url]; echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"5; URL=$url\">"; include("header.php"); menu(); OpenTable(); echo "<center><br><br><br>"._NOTEDOWNLOAD." <b>$f_title</b> "._NOTEDOWNLOAD2."<br><br><br><br>"; echo "<b><a href=\"$url\">$url</a></b><br><br><br><br>"; echo "[ <a href=\"javascript:history.go(-1)\">"._PBACK."</a> | <a href=\"modules.php?name=$module_name\">"._PHOME."</a> ]<br><br><br></center>"; CloseTable(); include("footer.php"); } else { include("header.php"); menu($maindownload); echo "<br>"; OpenTable(); echo "<center>"; echo "<font color=red><b>Извините, но чтобы скачать этот файл, нужно иметь не менее $postion постов на нашем форуме.<br>У вас всего постов $post</b></font><br><br>"; echo "</center>"; CloseTable(); include("footer.php"); } } else { include("header.php"); menu($maindownload); echo "<br>"; OpenTable(); echo "<center>"; echo "<font color=red><b>Скачать файл могут только зарегистрированные и активированные пользователи!</b></font><br><br>"; echo "<A href=\"modules.php?name=Your_Account\">Войти</A> | <A href=\"modules.php?name=Your_Account&amp;op=pass_lost\">Потеряли свой пароль?</A> | <A href=\"modules.php?name=Your_Account&amp;op=new_user\">Регистрация нового пользователя</A>"; echo "</center>"; CloseTable(); include("footer.php"); } } И где-нибудь в начале файла вставь вот это: // Кол-во постов которые должен оставить пользователь на форуме что-бы скачивать файлы: $postion = "10";

lopster 29.08.2006 22:47

ок! ща попробую!

спасибо, всё получилось!:-)

Silent_Hill 29.12.2006 02:56

а куды писать это кот ??? подскажите плизз.


Часовой пояс GMT +4, время: 04:59.

Copyright © 2005 by Soniks