Example #1
0
 function checkuser($a, $p, $ajax = false)
 {
     //验证用户 账号/密码
     self::$Rs = iCMS_DB::getRow("SELECT * FROM `#iCMS@__members` WHERE `username`='{$a}' AND `password`='{$p}'");
     if (empty(self::$Rs)) {
         //记录
         $a && runlog('user.login', 'username='******'&password='******'password']);
         if ($ajax) {
             return false;
         }
         self::LoginPage();
     } else {
         self::$uId = self::$Rs->uid;
         self::$Rs->info && (self::$Rs->info = unserialize(self::$Rs->info));
         self::$group = iCMS_DB::getRow("SELECT * FROM `#iCMS@__group` WHERE `gid`='{self::{$Rs->groupid}}'");
         //用户组
         self::$power = explode(',', self::merge(self::$group->power, self::$Rs->power));
         $cpower = self::merge(self::$group->cpower, self::$Rs->cpower);
         self::$cpower = empty($cpower) ? array(0) : explode(',', $cpower);
         self::$nickname = empty(self::$Rs->nickname) ? self::$Rs->username : self::$Rs->nickname;
         if ($ajax) {
             return true;
         }
     }
 }
Example #2
0
    public static function init()
    {
        global $sql, $kio;
        // Check session and set user variables
        // TODO: Logowanie za pomocą pliku, jak w truecrypt
        $cookie = $_COOKIE[COOKIE . '-login'];
        if ($cookie) {
            $user = $sql->query('SELECT * FROM ' . DB_PREFIX . 'users WHERE id = ' . (int) $cookie)->fetch(PDO::FETCH_ASSOC);
            // Correct
            if ($cookie == $user['id'] . '.' . sha1($user['auth_code']) && IP == $user['ip']) {
                self::$array =& $user;
                self::$id = $user['id'];
                self::$nickname = $user['nickname'];
                self::$logname = $user['logname'];
                self::$email = $user['email'];
                self::$groupId = $user['group_id'];
                self::$pmInbox = $user['pm_inbox'];
                self::$pmOutbox = $user['pm_outbox'];
                self::$lastVisit = $user['last_visit'];
                //				foreach ($user as $key => $value)
                //					$this->{$key} = $value;
                define('LOGGED', true);
                define('NICKNAME', self::$nickname);
                define('UID', self::$id);
                define('GID', self::$groupId);
                // update online_time
                if (!defined('AJAX')) {
                    $sql->exec('
						UPDATE ' . DB_PREFIX . 'users
						SET
							last_visit = ' . TIMESTAMP . ',
							last_path = "' . PATH . '"
							-- online_time += ' . TIMESTAMP . ' - last_visit
						WHERE id = ' . UID);
                }
                // TODO: Zrobić po zalogowaniu okienki - Wróć do strony: Dziećmarów
                // TODO: zmienić jako prywatne
                // TODO: nakładanie się na siebie pozwoleń
                self::$permits = $user['permits'] ? unserialize($user['permits']) : (Kio::getGroup(GID, 'permits') ? unserialize(Kio::getGroup(GID, 'permits')) : array());
                self::$permits += Kio::getGroup(GID, 'permits') ? unserialize(Kio::getGroup(GID, 'permits')) : array();
                self::$permits = array_unique(self::$permits);
            } else {
                define('LOGGED', false);
                setcookie(COOKIE . '-session', '', 0, '/');
                define('UID', self::$id);
            }
        } else {
            define('LOGGED', false);
            define('NICKNAME', t('Guest'));
            define('UID', self::$id);
        }
        // Save session
        if (isset($_POST['login']) && !LOGGED) {
            self::login();
        }
    }
Example #3
0
 public function testNicknameCanBeRetrived()
 {
     $this->assertEquals("User01", $this->testUser->nickname());
 }
Example #4
0
 public function equals(User $user2)
 {
     return $this->nickname === $user2->nickname();
 }
Example #5
0
                         FROM  frankiz2.compte_frankiz AS c
                   INNER JOIN  trombino.eleves AS e       ON c.eleve_id = e.eleve_id
                    LEFT JOIN  frankiz2.poly_mailedu AS p ON (p.poly = e.login AND p.promo = e.promo)
                    LEFT JOIN  trombino.sections AS s     ON s.section_id = e.section_id
                        WHERE  e.promo >= {?}', $argv[1]);
$users = $iter->total();
$k = 0;
while ($datas = $iter->next()) {
    $t = microtime(true);
    // Creating the User
    $u = new User();
    $u->insert($datas['eleve_id']);
    $u->password($datas['passwd'], false);
    $u->firstname(ucwords(strtolower(conv($datas['prenom']))));
    $u->lastname(ucwords(strtolower(conv($datas['nom']))));
    $u->nickname(conv($datas['surnom']));
    $u->birthdate(new FrankizDateTime($datas['date_nais']));
    $u->gender($datas['sexe'] == 1 ? User::GENDER_FEMALE : User::GENDER_MALE);
    if (!empty($datas['mail'])) {
        $u->email($datas['mail']);
    }
    try {
        $u->cellphone(new Phone($datas['portable']));
    } catch (Exception $e) {
        echo 'Error for phone ' . $datas['portable'] . "\n";
    }
    $u->poly($datas['login']);
    // Linking with the room
    $room = $datas['piece_id'];
    if (!empty($room)) {
        if (preg_match('/^[0-9]+[a-z]?$/', $room)) {