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

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


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

Copyright © 2005 by Soniks