PHP-Nuke
  Strona głównaDownloadForumFAQ Zaloguj się  
Forum


 
Regulamin  Forum FAQ   Szukaj   Grupy   Rejestracja   Zaloguj
 
 
Zadając pytanie dotyczące PHPNuke podaj jego wersje!!

Zobacz następny temat
Zobacz poprzedni temat
Napisz nowy temat   Odpowiedz do tematu  Forum PHP-Nuke.org.pl Strona Główna » Bloki
Autor Wiadomość
Barciu
~user



Dołączył(a): 7.08.2006
Posty: 16


Status: Offline


 
PostWysłany: 31 Gru 2007 16:49:01 Back to top  
Przeglądarka użytkownikaUA: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11

Chciałbym nieco zmodyfikować blok o nazwie "Who is online"

Obecnie:
Kod:
<?php

/************************************************************************/
/* PHP-NUKE: Web Portal System                                          */
/* ===========================                                          */
/*                                                                      */
/* Copyright (c) 2005 by Francisco Burzi                                */
/* http://phpnuke.org                                                   */
/*                                                                      */
/* This program is free software. You can redistribute it and/or modify */
/* it under the terms of the GNU General Public License as published by */
/* the Free Software Foundation; either version 2 of the License.       */
/************************************************************************/


if (eregi("block-Who_is_Online.php", $_SERVER['PHP_SELF'])) {
    Header("Location: index.php");
    die();
}

global $user, $cookie, $prefix, $db, $user_prefix;

cookiedecode($user);
$ip = $_SERVER["REMOTE_ADDR"];
$uname = $cookie[1];
if (!isset($uname)) {
    $uname = "$ip";
    $guest = 1;
}

$guest_online_num = $db->sql_numrows($db->sql_query("SELECT * FROM ".$prefix."_session WHERE guest='1'"));
$member_online_num = $db->sql_numrows($db->sql_query("SELECT * FROM ".$prefix."_session WHERE guest='0'"));

$who_online_num = $guest_online_num + $member_online_num;
$who_online = "<center><font class=\"content\">"._CURRENTLY." $guest_online_num "._GUESTS." $member_online_num "._MEMBERS."<br>";

$content = "$who_online";

if (is_user($user)) {
    if (is_active("Private_Messages")) {
   $row = $db->sql_fetchrow($db->sql_query("SELECT user_id FROM ".$user_prefix."_users WHERE username='$uname'"));
   $uid = intval($row['user_id']);
   $newpm = $db->sql_numrows($db->sql_query("SELECT * FROM ".$prefix."_bbprivmsgs WHERE privmsgs_to_userid='$uid' AND (privmsgs_type='5' OR privmsgs_type='1')"));
    }
}

$row2 = $db->sql_fetchrow($db->sql_query("SELECT title FROM ".$prefix."_blocks WHERE bkey='online'"));
$title = $row2['title'];

if (is_user($user)) {
    $content .= "<br>"._YOUARELOGGED." <b>$uname</b>.<br>";
    if (is_active("Private_Messages")) {
   $row3 = $db->sql_fetchrow($db->sql_query("SELECT user_id FROM ".$user_prefix."_users WHERE username='$uname'"));
   $uid = intval($row3['user_id']);
   $numrow = $db->sql_numrows($db->sql_query("SELECT privmsgs_to_userid FROM ".$prefix."_bbprivmsgs WHERE privmsgs_to_userid='$uid' AND (privmsgs_type='1' OR privmsgs_type='5' OR privmsgs_type='0')"));
   $content .= ""._YOUHAVE." <a href=\"modules.php?name=Private_Messages\"><b>$numrow</b></a> "._PRIVATEMSG."";
    }
    $content .= "</font></center>";
} else {
    $content .= "<br>"._YOUAREANON."</font></center>";
}

?>


Chciałbym dodać opcje: {TOTAL_USERS}{TOTAL_USERS_ONLINE}
Lecz nie wiem jak się do tego zabrać Sad
Zobacz profil autora Odwiedź stronę autora Identyfikator TLEN    
antek
~user



Dołączył(a): 19.05.2006
Posty: 44
Pochwał: 2


Status: Offline


 
PostWysłany: 3 Sty 2008 13:20:08 Back to top  
Przeglądarka użytkownikaUA: Opera/9.25 (Windows NT 5.1; U; pl)

A mozna cos wiecej?

Kod:

SELECT Count(*) FROM ".$user_prefix."_users

Zwroci liczbe uzytkownikow. Liczba uzytkownikow online juz jest w zmiennej $member_online_num.

_________________
http://kolektyw.org
Zobacz profil autora Odwiedź stronę autora    
dudi
@admin



Dołączył(a): 13.12.2004
Posty: 3154
Pochwał: 330
Skąd: Tychy

Status: Offline


 
PostWysłany: 3 Sty 2008 15:24:13 Back to top  
Przeglądarka użytkownikaUA: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11

~antek po co liczyć wszystko ( * w zapytaniu ) lepiej/wydajniej będzie skorzystać z kolumny ID (przy okazji jest to główny indeks tabeli, co znacznie przyśpieszy wykonanie tego zapytania Smile )
Kod:
$sql = "SELECT count(id) as total FROM ".$user_prefix."_users";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$total_users = $row['total']

Liczbę wszystkich użytkowników masz teraz w zmiennej $total_users,
a liczbę uzytkowników onlina - tak jak napisał ~antek - w zmiennej $who_online_num

_________________
Pomocy udzielam TYLKO na forum !!!
Zobacz profil autora Odwiedź stronę autora    
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu

Zobacz następny temat
Zobacz poprzedni temat
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz dołączać plików na tym forum
Możesz ściągać pliki na tym forum


Powered by phpBB [CR] © 2001, 2006 phpBB Group.
 

Copyright © 2004-2009 by phpnuke.org.pl :: PHP-Nuke Copyright © 2004 by Francisco Burzi.
Zdjęcia ślubne
Tworzenie strony: 0.22 sekund
Zapytań: 13