Polish Bittorrent Tracker Support

  • Maj 18, 2012, 03:41:25
  • Witamy, Gość
Zaloguj się lub zarejestruj.

Zaloguj się podając nazwę użytkownika, hasło i długość sesji
Szukanie zaawansowane  

Aktualności:

Autor Wątek: VIP na pewien czas  (Przeczytany 1883 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Piter

  • Gość
VIP na pewien czas
« dnia: Marzec 21, 2007, 06:41:39 »

źródło: torrentinvite.org
autor: Piter
screen'y: screen1  screen2
opis: mod który daje rangę VIP'a na określony czas w zależności od wpłaconej kwoty

bittorrent.php:
/*****************************************/
/* VIP timeout [Piter for torrentinvite.org] */
/*****************************************/
function vipstatus($dot) {

if ($dot > 0 and $dot < 10)  $viptime = 7;
if ($dot > 10 and $dot < 20)  $viptime = 14;
if ($dot > 20 and $dot < 50)  $viptime = 21;
if ($dot > 50 and $dot < 100) $viptime = 28;
if ($dot >= 100)  $viptime = 255;

return $viptime;

}
/*****************************************/
/* VIP timeout [Piter for torrentinvite.org] */
/*****************************************/

edituser.php:
znajdź:
if (get_user_class() >= UC_ADMINISTRATOR)
{
print("<tr><td class=tableb>Dotacja</td><td colspan=2 align=left><input type=radio name=donor value=yes" .($user["donor"] == "yes" ? " checked" : "").">Tak <input type=radio name=donor value=no" .($user["donor"] == "no" ? " checked" : "").">Nie</td></tr>\n");
print("<tr><td class=tableb>Kwota&nbsp;dotacji</td><td colspan=2 align=left><input type=text size=5 name=donated value=\"" . htmlspecialchars($user[donated]) . "\"></tr>\n");
}else
print("<input type=hidden name=donated value=\"" . htmlspecialchars($user[donated]) . "\">\n");
dodaj pod:
$donor = $user["donor"] == "yes";
$vipuntil = $user["viptime"];
if ($donor) {
if ($vipuntil == '0000-00-00 00:00:00')
$vipstatus = "Na czas nieokreslony";
else
$vipstatus = "Pozostalo: ".mkprettytime(strtotime($vipuntil) - gmtime())."";
print("<tr><td class=tableb>VIP&nbsp;status</td><td colspan=2 align=left>$vipstatus</td></tr>\n");
}

modtask2.php:
  //VIP status
  $viptime = vipstatus($donated);
  if ($donor && $curdonor != $donor)
  {
$updateset[] = "donor = " . sqlesc($donor);
$updateset[] = "viptime = '0000-00-00 00:00:00'";
    if ($donor == 'no')
    {
  $modcomment = gmdate("Y-m-d") . " - Ranga VIP została zdjęta przez " . $CURUSER['username'] . ".\n". $modcomment;
  $msg = sqlesc("Ranga VIP została zdjęta przez " . $CURUSER['username'] . ".");
  $updateset[] = "class = ". UC_USER;
    }
    $added = sqlesc(get_date_time(gmtime()));
    //mysql_query("INSERT INTO messages (sender, receiver, msg, added) VALUES (0, $userid, $msg, $added)") or sqlerr(__FILE__, __LINE__);
  }
elseif ($viptime)
  {
    if ($viptime == 255)
    {
$modcomment = gmdate("Y-m-d") . " - VIP nadany przez " . $CURUSER['username'] . ".\n" . $modcomment;
      $msg = sqlesc("Właśnie otrzymałeś dożywotnia rangę VIP od $CURUSER[username].\n Dziękujemy za wpłatę\n Pozdrawiamy Załoga $SITENAME");
$updateset[] = "viptime = '0000-00-00 00:00:00'";
$updateset[] = "class = ". UC_VIP;
    }
    else
    {
    $vipuntil = get_date_time(gmtime() + $viptime*86400);
    $dur = $viptime . " dni" . ($viptime > 1 ? "" : "");
    $msg = sqlesc("Właśnie otrzymałeś promocje do rangi VIP na $dur od " . $CURUSER['username']."\n Dziękujemy za wpłatę\n Pozdrawiamy Załoga $SITENAME");
    $modcomment = gmdate("Y-m-d") . " - VIP na $dur od " . $CURUSER['username'] .  ".\n" . $modcomment;
    $updateset[] = "viptime = '$vipuntil'";
}
    $added = sqlesc(get_date_time());
    mysql_query("INSERT INTO messages (sender, receiver, msg, added) VALUES(0, $userid, $msg, $added)") or sqlerr(__FILE__, __LINE__);
    $updateset[] = "donor = 'yes'";
$updateset[] = "class = ". UC_VIP;
}

cleanup.php:
   //VIP status
  $res = mysql_query("SELECT id FROM users WHERE donor ='yes' AND viptime < NOW() AND viptime <> '0000-00-00 00:00:00'") or sqlerr(__FILE__, __LINE__);
  if (mysql_num_rows($res) > 0)
  {
    $dt = sqlesc(get_date_time());
    $msg = sqlesc("Twoj status VIP'a wlasnie sie skonczyl!.\n");
    while ($arr = mysql_fetch_assoc($res))
    {
      mysql_query("UPDATE users SET class = 1, viptime = '0000-00-00 00:00:00' WHERE id = $arr[id]") or sqlerr(__FILE__, __LINE__);
      mysql_query("INSERT INTO messages (sender, receiver, added, msg, poster) VALUES(0, $arr[id], $dt, $msg, 0)") or sqlerr(__FILE__, __LINE__);
    }
  }

userdetails.php: (jeżeli chcecie aby user widział ile czasu jako VIP mu zostało)
znajdź:
stdhead("Profil u¿ytkownika " . $user["username"]);dodaj przed:
if (get_user_class() >= UC_MODERATOR || $user[id] == $CURUSER[id]) {
if ($user[viptime] != '0000-00-00 00:00:00') {
$vipstatus = "<font color=red>Twoja ranga VIP'a zostanie automatycznie zdjęta za ".mkprettytime(strtotime($user[viptime]) - gmtime()).". Jezeli chcesz ja utrzymac zapraszamy <a href=/donate.php>tutaj</a></font>\n";
}
}
znajdź (kilka linijek niżej):
begin_main_frame();

?>

<table width=100% border=1 cellspacing=0 cellpadding=5>
dodaj przed:
print("<center>$vipstatus</center>");
mod nie jest jakoś w 100% dopracowany, jeżeli czegoś brakuje, albo macie jakieś sugestie pisać, może coś się da zrobić
« Ostatnia zmiana: Kwiecień 09, 2007, 11:19:05 wysłana przez Piter »
Zapisane

Kernel_Panic

  • RooT
  • Zaawansowany
  • *****
  • Reputacja -3
  • Offline Offline
  • Płeć: Mężczyzna
  • Wiadomości: 147
  • root of your mind
Odp: VIP na pewien czas
« Odpowiedź #1 dnia: Marzec 21, 2007, 06:54:03 »

Dzieki, zaraz zainstaluje i jak cos to powiem jak sie sprawuje
Zapisane

~sql

  • Super zaawansowany
  • ******
  • Reputacja 5
  • Offline Offline
  • Płeć: Mężczyzna
  • Wiadomości: 711
  • Użytkownik jest na liście obserwowanychObserwowany
Odp: VIP na pewien czas
« Odpowiedź #2 dnia: Marzec 24, 2007, 07:47:53 »

A co powywalać aby ten mod nie był uzelażniony od dotacji ?? tzn. ze przyznaje sie range vip na jakis czas niezalaznie od tego czy user cos wpłacic czy nie :)
Zapisane

Piter

  • Gość
Odp: VIP na pewien czas
« Odpowiedź #3 dnia: Marzec 24, 2007, 08:06:52 »

całego moda :P on jest tak napisany że jest od kwoty dotacji, na sam czas trzeba pisać od nowa
Zapisane

kamil13151

  • Gość
Odp: VIP na pewien czas
« Odpowiedź #4 dnia: Marzec 24, 2007, 08:08:59 »

Pousuwać "donor", trochę przeróbek i to wszystko  ;)
Zapisane

Piter

  • Gość
Odp: VIP na pewien czas
« Odpowiedź #5 dnia: Marzec 24, 2007, 08:18:25 »

lol trochę przeróbek, widać że nie patrzyłeś w ten kod, tam każdy rozkaz i warunek jest uzależniony od pola donated (a nie donor)
Zapisane

kamil13151

  • Gość
Odp: VIP na pewien czas
« Odpowiedź #6 dnia: Marzec 24, 2007, 08:24:18 »

To usunąć lub zmienić :P
Zapisane

~sql

  • Super zaawansowany
  • ******
  • Reputacja 5
  • Offline Offline
  • Płeć: Mężczyzna
  • Wiadomości: 711
  • Użytkownik jest na liście obserwowanychObserwowany
Odp: VIP na pewien czas
« Odpowiedź #7 dnia: Marzec 24, 2007, 08:33:13 »

lol nie wiem czy pisać nową prośbe czy co lol ja bym wolał oddzielonego moda, o takiego jakiego prosiłem - ale wyszło inaczej lol :D
« Ostatnia zmiana: Marzec 24, 2007, 08:54:08 wysłana przez Zielony »
Zapisane

Piter

  • Gość
Odp: VIP na pewien czas
« Odpowiedź #8 dnia: Marzec 24, 2007, 09:36:37 »

jak będę miał jutro czas to może napiszę
Zapisane

~sql

  • Super zaawansowany
  • ******
  • Reputacja 5
  • Offline Offline
  • Płeć: Mężczyzna
  • Wiadomości: 711
  • Użytkownik jest na liście obserwowanychObserwowany
Odp: VIP na pewien czas
« Odpowiedź #9 dnia: Marzec 24, 2007, 09:44:49 »

Super  :yahoo:  :friends:
Zapisane

Vanlive

  • El Koder
  • Średnio zaawansowany
  • ****
  • Reputacja 3
  • Offline Offline
  • Płeć: Mężczyzna
  • Wiadomości: 81
  • Przemijamy...
Odp: VIP na pewien czas
« Odpowiedź #10 dnia: Kwiecień 08, 2007, 06:28:05 »

no niestety, ten mod mi nie działa poprawnie Błąd:

linijnka 206
}niewiem co mam zrobic. modtask2.php w załączniku
Zapisane
[userbars]



[/userbars]

Piter

  • Gość
Odp: VIP na pewien czas
« Odpowiedź #11 dnia: Kwiecień 08, 2007, 06:35:01 »

chyba zapomniałem o dodaniu pola do bazy :P

ALTER TABLE users ADD viptime DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00';
Zapisane

Vanlive

  • El Koder
  • Średnio zaawansowany
  • ****
  • Reputacja 3
  • Offline Offline
  • Płeć: Mężczyzna
  • Wiadomości: 81
  • Przemijamy...
Odp: VIP na pewien czas
« Odpowiedź #12 dnia: Kwiecień 08, 2007, 07:29:20 »

niestety nie działa... w userdetails nic mi nie wyświetla a wszystkie kody mam wgrane, wiec [ort]niewiem[/ort] co jest a w edituser (wpłacił 1$) pisze : VIP status : Na czas nieokreslony. moze jakies załączniki dać ?
« Ostatnia zmiana: Kwiecień 09, 2007, 11:06:17 wysłana przez Piter »
Zapisane
[userbars]



[/userbars]

Piter

  • Gość
Odp: VIP na pewien czas
« Odpowiedź #13 dnia: Kwiecień 08, 2007, 07:38:17 »

jeżeli vipstatus jest na czas nieokreślony to w userdetails nie będzie wyświetlało nic, nie wiem tylko czemu przy wpłacie 1 ustawia się czas nieokreślony, błąd jest w modtask2, trzeba by posprawdzać warunki wszystkie

sprawdziłem u siebie i przy dotacji 1 ustawia status na tydzień więc dobrze jest, możliwe że podając kod tutaj gdzieś zrobiłem mały błąd, sprawdzę to ale jutro dopiero
« Ostatnia zmiana: Kwiecień 08, 2007, 07:41:58 wysłana przez Piter »
Zapisane

Vanlive

  • El Koder
  • Średnio zaawansowany
  • ****
  • Reputacja 3
  • Offline Offline
  • Płeć: Mężczyzna
  • Wiadomości: 81
  • Przemijamy...
Odp: VIP na pewien czas
« Odpowiedź #14 dnia: Kwiecień 08, 2007, 08:19:40 »

ok to ja jeszcze dokładnie sprawdze u siebie
Zapisane
[userbars]



[/userbars]

kubal

  • Zaawansowany
  • *****
  • Reputacja 0
  • Offline Offline
  • Płeć: Mężczyzna
  • Wiadomości: 169
Odp: VIP na pewien czas
« Odpowiedź #15 dnia: Grudzień 15, 2007, 10:55:10 »

jak zrobić aby to dopiero po wpłacie 50 zł zmieniło rangę na Vip-a na 30 dni??

wydaje mi się że w takim razie funkcja w bittorrent.php powinna wyglądać tak??

/*****************************************/
/* VIP timeout [Piter for torrentinvite.org] */
/*****************************************/
function vipstatus($dot) {

if ($dot > 50 and $dot < 300) $viptime = 30;

return $viptime;

}
/*****************************************/
/* VIP timeout [Piter for torrentinvite.org] */
/*****************************************/

czy to wszystko??


edit:// mod nie działa -  ani nie zmienia rangi a w edituser.php piszę zawsze "na czas nieokreślony"
« Ostatnia zmiana: Grudzień 19, 2007, 05:12:17 wysłana przez kubal »
Zapisane

null

  • Super zaawansowany
  • ******
  • Reputacja 40
  • Offline Offline
  • Wiadomości: 1679
Odp: VIP na pewien czas
« Odpowiedź #16 dnia: Grudzień 15, 2007, 07:15:53 »

wykonaj cleanup i wtedy sprawdz czas vipa.
Zapisane
NullPointerException. chantico podejście drugie. Faza projektowania.

kubal

  • Zaawansowany
  • *****
  • Reputacja 0
  • Offline Offline
  • Płeć: Mężczyzna
  • Wiadomości: 169
Odp: VIP na pewien czas
« Odpowiedź #17 dnia: Grudzień 19, 2007, 05:17:27 »

jedyne co mogę powiedzieć że mi mod nie chce działać za chiny :-/ ciągle piszę że "na czas nieokreslony"  :( i nie zmienia w ogóle rangi :( nie wiem gdzie mogę mieć błąd jak coś zapodać to napiszcie ;) z góry dzięki za pomoc
Zapisane

Misiek

  • Średnio zaawansowany
  • ****
  • Reputacja 0
  • Offline Offline
  • Wiadomości: 79
  • Użytkownik jest na liście obserwowanychObserwowany
Odp: VIP na pewien czas
« Odpowiedź #18 dnia: Grudzień 19, 2007, 05:21:05 »

Przecież Piter napisał że w kodzie który podał mogą być błędy, trzeba po prostu sprawdzić po kolei cały kod ;]
Zapisane

kubal

  • Zaawansowany
  • *****
  • Reputacja 0
  • Offline Offline
  • Płeć: Mężczyzna
  • Wiadomości: 169
Odp: VIP na pewien czas
« Odpowiedź #19 dnia: Grudzień 19, 2007, 05:24:41 »

ja tam nic nie dostrzegam :( dlatego napisałem tutaj :P
Zapisane
 

Strona wygenerowana w 0.293 sekund z 22 zapytaniami.