Source for file User.class.php
Documentation is available at User.class.php
* R.E. Login 2.0 - Felhasználó - class/User.class.php
* Felhasználót megvalósító osztály<br />
* <b>Dátum:</b> 2010.04.02.
* <b>Szerző weboldala:</b> {@link http://rimelek.hu/}<br />
* <b>Login weblapja:</b> {@link http://rimelek.hu/meghivos-loginrendszer-r-e-login-v2-0 R.E. Login v2.0}
* @author Takács Ákos (Rimelek), programmer [at] rimelek [dot] hu
* @copyright Copyright (C) 2010, Takács Ákos
* @license http://www.gnu.org/licenses/gpl.html
require_once System::getIncLoginDir().
'classes/System.class.php';
* Felhasználót reprezentáló osztály
* <b>Dátum:</b> 2010.04.02.
* <b>Szerző weboldala:</b> {@link http://rimelek.hu/}<br />
* <b>Login weblapja:</b> {@link http://rimelek.hu/meghivos-loginrendszer-r-e-login-v2-0 R.E. Login v2.0}
* @property int $T_users_userid Felhasználó azonosítója
* @property string $username Felhasználó neve
* @property string $userpass Felhasználó jelszavának hash-e
* @property int $rank Rang azonosítója
* @property string $regtime Lásd {@link System::getTimeStamp()}
* @property string $refreshtime Lásd {@link System::getTimeStamp()}
* @property string $logintime Lásd {@link System::getTimeStamp()}
* @property int $onlinetime Online idő másodpercekben
* @property char $onlinestatus '1', Ha kilépett a kilépés funkcióval a user.
* És '0', ha nem lépett ki.
* @property int $invitations Meghívóinak száma
* @property string $T_users_useremail Felhasználó aktivált e-mail címe.
* @property string $newsreadtime Mikor olvasott utoljára hírt.
* Lásd {@link System::getTimeStamp()}
* @property int $T_profiles_userid Felhasználó azonosítója a profiles táblában
* @property string $firstname Keresztnév
* @property string $lastname Vezetéknév
* @property string $birthdate Születési idő. Y-m-d formátumban
* @property char $sex 'm', ha nő. 'f', ha férfi. NULL? ha nincs beállítva.
* @property string $country Ország
* @property string $city Város
* @property string $T_profiles_useremail Felhasználó e-mail címe a profiljában.
* Még nem biztos, hogy meg van erősítve.
* @property char $public_mail '1', ha publikus a megadottemail címe. Egyébként '0'
* @property string $website Weboldal címe
* @property string $msn MSN cím
* @property string $skype Skype név
* @property string $other Egyéb információ a felhasználóról. (Bemutatkozás)
* @author Takács Ákos (Rimelek), programmer [at] rimelek [dot] hu
* @copyright Copyright (C) 2010, Takács Ákos
* @license http://www.gnu.org/licenses/gpl.html
* Létező vagy új felhasználó létrehozása
* @param mixes $userName User neve, ha a második paraméter is meg van adva. (Létező felhasználó)
* ha nincs meg adva második paraméter, akkor a táblalista a mezőlistákkal (Új felhasználó)
* @param string $userPass User jelszava
$pref.
'users as users'=>
array('*'),
$pref.
'profiles as profiles'=>
array('*')
$pref.
"users as users left join ".
$pref.
"profiles as profiles using(userid) where username = '".
* @param string $sql Sql lekérdezés from utáni része
public function init($sql)
* @param string $bdtimestamp Szletési id Y-m-d formátumban.
* @return int A felhasználó kora
public static function getAge($bdtimestamp)
$szarray =
explode('-',$bdtimestamp);
$mmonth =
date('m',$time);
$age =
date('Y',$time) -
$szarray[0];
if( ($szmonth >
$mmonth )
or ($szmonth ==
$mmonth and $szday >
$mday) ) {
* @param int $sec Online idő másodpercben
* @param string $str eredmény sablonja. Amiben a következő helyettesítők
* <li>{sec}: másodperc</li>
* <code>print User::getOnlineTime($sec, '{day} nap, {hour} óra');</code>
$tmpmin =
floor($sec /
60);
$ret['min'] =
$tmpmin %
60;
$tmphour =
floor($tmpmin /
60);
$ret['hour'] =
$tmphour %
24;
$ret['day'] =
floor($tmphour /
24);
'{day}','{hour}','{min}','{sec}'
$ret['day'], $ret['hour'], $ret['min'], $ret['sec']
return ($this->onlinestatus and $this->refreshtime and
* @return User rangjának neve
* Rang lekérdezése, vizsgálata
* @param mixed $rank Ha nincs megadva, akkor visszaadja a user rangjának
* azonosítóját. Ha nincs neki megfelelő a ranks táblában, akkor
* választ egyet az alapján, hogy az éppen böngésző felhasználóról van
* szó, vagy valakiről a felhasználó listában.
* Ha meg van adva, akkor vagy egy rang változó, vagy azok tömbje.
* Bármelyik illik a userre, true-t ad vissza. Egyébként false-t.
* if (System::$user->rank( array('admin','owner') ))
* print "Te admin, vagy tulajdonos ranggal rendelkezel. "
* @return mixed Vizsgálat esetén bool, egyébként nincs visszatérési érték.
public function rank($rank=
null)
if (!$var and $this ==
System::$user and !System::$logged)
foreach ($rank as &$item)
* User profiljának url-je
* @param int $userid Felhasználó azonosítója
* @param int $size Avatar mérete
$email =
empty($this->T_users_useremail) ?
'' :
$this->T_users_useremail;
return "http://www.gravatar.com/avatar/"
.
urlencode( self::defaultAvatar($this->sex) )
* Alapértelmezett avatar url-je
* @param char $sex 'f', ha nő, 'm', ha férfi
$default .=
(empty($sex) or $sex ==
'm')
?
'male.png' :
'female.png';
* @param int $size Egész szám. maximum 80-ig
$email =
empty($this->T_users_useremail) ?
'' :
$this->T_users_useremail;
return "http://www.mkavatar.hu/avatar.php?email="
.
urlencode( self::defaultAvatar($this->sex) )
* User által kiválasztott avatar megjelenítése
* @param int $size Avatar mérete
if ($this->avatar ==
'gravatar')
else if ($this->avatar ==
'mkavatar')
Documentation generated on Sun, 04 Apr 2010 22:43:53 +0200 by phpDocumentor 1.4.1