Kullanıcı Kütüphanesi


    × Bunları biliyor muydunuz?
"ZN Framework'te Masterpage kütüphanesi ile çok basit bir şekilde web iskeleti oluşturabilirsiniz."


Kullanıcılar veya üyelerle ilgili bir takım işlemlerin yapıldığı sınıftır. Yeni üyelik, siteye giriş, aktivasyon, üye bilgilerini kullanma gibi işlevleri vardır.

 

 

# Kurulum


ZN dağıtımları için kurulum gerekmez.

↓ composer require znframework/package-authentication

 

 

# Yapılandırma


User kütüphanesi veritabanı ile çalıştığı için ilgili veritabanı tablosuna ait ilgili kolonların kütüphaneye bildirilmesi gerekir. Bu kütüphane ile ilgili ayarlar aşağıdaki dosyalarlarda yer alır.

Dosya: Config/Auth.php
User
$encode = 'super'
Bu ayar kullanıcıların kayıtları sırasında kullandıkları şifrelerin hangi algoritma ile tekrardan şifreleneceğini belirtir. Ön tanımlı olarak super algoritması kullanılmaktadır. Bunun yerine isterseniz md5, sha1 gibi şifreleme algoritmaları da seçebilirsiniz. Tavsiye edilen algoritma super algoritmasıdır. Çünkü bu algoritma proje için belirlenen anahtara göre farklılık göstermektedir. Bu farklılık nedeni ile farklı domainlerde aynı kullanıcı adı ve şifre ile giriş yapılamayacaktır. Bunun için Config/Project.php yapılandırmasında yer alan key anahtarının değerini tahmin edilemez sabit bir değer ile değiştirebilirsiniz. Bu key değişimini yapmasanız dahi sistem her bir proje için farklı anahtar üretecektir.
$spectator = '' Kullanıcı hesaplarında gezinmeye izin verir. Bu değere atanacak özel şifre ile istenilen kullanılıcı hesabına giriş yapılmasını sağlar.
$matching User kütüphanesinin kullanıcı işlemlerini gerçekleştirebilmesi için kullanıcı ile ilgili bilgilerin tutulacağı tablo ve kolon bilgilerine ihtiyacı vardır. Bu bölümde User:: kütüphanesinin belirtilen yapılandırmalar için hangi tablo ve kolonları kullanacağı bildirilmektedir.
$table Kullanıcı işlemleri için hangi tablonun kullanılacağı belirtilir.
$columns User:: kütüphanesinin arkaplanda işlemleri gerçekleştirebilmesi için bazı kullanıcı tablosuna ait kolon isimlerine ihtiyacı vardır. Burada yapılan kullanıcı tablosuna ait kolonları oluşturmak değil var olan kullanıcı tablosunda yer alan kolonlardan bu yapılandırma için gerekli olanları eşleştirmektir.
$username Kullanıcı adı bilgisinin tutulacağı kolon adı buraya belirtilir. Bu tanımlama zorunludur. Kolon türü varchar(x)zorunlu
$password Kullanıcı şifre bilgisinin tutulacağı kolon adı buraya belirtilir. Bu tanımlama zorunludur. Kolon türü varchar(x)
$email = '' Kullanıcı e-posta bilgisinin tutulacağı kolon adı buraya belirtilir. Kolon türü varchar(x)
$active = '' Kullanıcıların online olup olmadığı bilgisinin tutulacağı kolon adı buraya belirtilir. Kolon türü int(1) Kolon değeri 1 ise kullanıcı aktif 0 ise değil.
$banned = '' Kullanıcıların banlı olup olmadığı bilgisinin tutulacağı kolon adı buraya belirtilir. Kolon türü int(1) Kolon değeri 1 ise kullanıcı banlı 0 ise değil.
$activation = '' Kullanıcı kayıt işleminden sonra aktivasyon yaptırılması için kullanıcının aktivasyon yapıp yapmadığı bilgisinin tutulacağı kolon adı buraya belirtilir. Bu değerin tanımlanması durumunda User::register() yönteminin 3. parametresine dönüş linki tanımlamak gerekir. Kolon türü int(1) Kolon değeri 1 ise kullanıcı aktivasyon yapmış 0 ise yapmamış.
$verification = ''
Şifremi unuttum uygulaması için e-posta'nın işlemi gerçekleştiren kişiye ait olup olmadığını doğrulama bilgisinin tutulacağı kolon adı buraya yazılır. Kolon türü varchar(x)
$otherLogin = []
Kullanıcıların kullanıcı adı kolonu dışında başka kolonları kullanarak da giriş yapabilmesi istendiği durumlarda kullanıcı adı dışında hangi kolonla giriş yapılacağıyla ilgili kolon adı buraya yazılır.
$joining Kullanıcı bilgileri birden fazla tabloda tutulacak şekilde tasarlanmışsa ve bu tablolar ile de bağlantı kurulmak isteniyorsa bu diğer tablolarla ilişki kurmak için kullanılır.
$column = '' $table anahtarına tanımlı olan tablonun diğer tablolarla ilişki kurulacak kolon bilgisi. Bu değer için genellikle 'ID' kolonu tanımlanır.
$tables = []

İlişki kurulacak diğer tablo ve kolon isimleri anahtar değer çifti olarak diziye belirtilir. Örnek: ['AccountProfiles' => 'AccountID', 'AccountAddresses' => 'AccountID']

$emailSenderInfo Kullanıcı işlemlerinde aktivasyon, doğrulama gibi e-posta gönderime neden olan kullanımlarda ön tanımlı olarak gönderici ismi ve e-posta adresi belirtilir.
$name = '' Ön tanımlı gönderici adı.
$mail = '' Ön tanımlı gönderici e-posta adresi.
Örnek Yapılandırma
Dosya: Config/Auth.php
'encode'    => 'super',
'spectator' => '',
'matching'  =>
[
    'table'   => 'users',
    'columns' =>
    [
        'username'     => 'user',
        'password'     => 'pass',
        'email'        => 'mail',
        'active'       => '',
        'banned'       => '',
        'activation'   => 'activation',
        'verification' => '', 
        'otherLogin'   => ['phone'] 
    ]
],
'joining' =>
[
    'column' => 'id',
    'tables' => ['addresses.user_id']
],
'emailSenderInfo' =>
[
    'name' => 'Company Name',
    'mail' => 'info@company.com'
]

Şifreleme algoritması olarak super seçilmesi durumunda bu algoritmanın bir parçasını oluşturan proje anahtarının varsayılan değeri domain ve proje adına göre farklılık gösterdiğinden geliştirilen bir projenin farklı bir domaine taşınması veya domain adının değişmesi durumunda mevcut projede oluşturulan kullanıcı şifreleri geçerliliğini kaybedecektir. Böyle bir durumun önüne geçmek için aşağıda yer alan değere projeye özel herhangi bir proje anahtarı belirleyin. 

Dosya: Config/Project.php
'key' => '$19a04£1d4x#1d' # Projeye özel bir herhangi bir dizge tercih edebilirsiniz.
Rasgele Proje Anahtarı Oluşturma (5.8.2.2)

Konsol üzerinden 64 karakterli rasgele proje anahtarı oluşturulmasını sağlayabilirsiniz.

php zerocore generate-project-key

 

 

# Yöntemler


1.0.0 register(mixed $data, mixed $autoLogin = false, string $returnLink = NULL) : bool
1.0.0 login(string $un, string $pw, mixed $rememberMe = false) : bool
1.0.0 isLogin() : bool
1.0.0 data(string $tbl = NULL) : object
1.0.0 logout(string $redirectUrl = NULL, int $time = 0) : void
1.0.0 update(string $old, string $pass, string $passAgain = NULL, array $data = []) : bool
1.0.0 forgotPassword(string $email = NULL, string $return = NULL, string $change = 'before') : bool
5.8.1.7 setForgotPasswordEmail(string $template, string $subject = NULL) : this
5.8.1.7 passwordChangeComplete(string $redirect = NULL) : bool
5.4.6 verification(string $data) : this
5.0.0 sendEmailAll(string $subject, string $message) : void
1.0.0 activationComplete(scalar $userUriKey = 'user', mixed $decryptor = 'pass') : bool
5.7.3 setActivationEmail(string $template, string $subject = NULL) : this
5.5.1 resendActivationEmail(string $username, string $returnLink, string $email = NULL) : bool
3.1.3 attachment(string $file, string $disposition = NULL, string $newName = NULL) : this
5.0.0 ip() : string
6.1.2.4 agent() : string
2.0.0 count() : int
2.0.0 activeCount() : int
2.0.0 bannedCount() : int
5.8.1.7 getEncryptionPassword(string $password) : string
1.0.0 success() : string
1.0.0 error() : string

 

 

# Register (ZN >= 1.0.0)


Kullanıcı bilgilerinin, yapılandırma dosyasında yer alan 'table' ayarına belirtilen tabloya kayıt edilmesi için kullanılır. Register yönteminin 1. parametresine ilgili tabloya eklenecek veriler dizi türünde belirtilir.

Parametreler

mixed $data Kaydedilecek kullanıcı bilgileri.
5.8.1.7 Bu güncellemede oto eşleştirme özelliği getirilmiştir. Bu parametreye 'post', 'get' veya 'request' değerlerinden birini form gönderim türüne göre vererek formdan gelen inputların isimleri ile kolonların oto eşleştirilmesini sağlayabilirsiniz.
mixed $autoLogin = false
Kayıttan sonra otomatik giriş yapılsın mı? Link bilgisi de içerebilir.
string $returnLink = NULL
Aktivasyon dönüş linki. Eğer aktivasyon için yapılandırmada kolon tanımlaması yapılmışsa bu parametre kullanılmak zorundadır.
return bool

Opsiyonel Yöntemler

column(string $column, string $data) : this 1. parametre yerine kullanılabilir.
autoLogin(mixed $autoLogin) : this 2. parametre yerine kullanılabilir.
returnLink(string $returnLink) : this 3. parametre yerine kullanılabilir.

Kullanımlar

Dosya: Controllers/accounts.php
<?php namespace Project\Controllers;

use User, Post;

class Accounts
{
    public function register()
    {
        if( Post::submit() )
        {
            User::register
            (
                [
                    'username' => Post::username(),
                    'password' => Post::password(),
                    'usermail' => Post::email(),
                    'address'  => Post::address(),
                    'phone'    => Post::mobilePhone()  
                ],  
                'users/login'
            );
        }
    }
}

Yukarıda kullanıcı kayıt işleminden sonra 2. parametrede belirtilen users/login sayfasına yönlenmesini istemiş olduk.

5.8.1.7 Güncellemesi

Bu güncellemede User::register() yönteminin 1. parametresine oto eşleşme özelliğide getirilmiştir. Formdan gelen input nesnelerinin isimleri kullanıcı tablosunun kolon isimleri ile aynı belirtilirse form gönderim yöntemine göre otomatik eşleşme yapılır.

Kullanılabilir Seçenekler

post Gönderim türü post ise.
get Gönderim türü get ise.
request Gönderim türü post veya get türlerinden herhangi biri ise.
User::register('post'); # post, get veya request
Birleştirilmiş Tablolar

Eğer birleştirilmiş tablolar varsa üye kayıt işlemini aşağıdaki gibi yapılmalıdır.

User::register
([
     'table1' => ['column1' => 'value1', ...],
     'table2' => ['column1' => 'value2', ...]
]);
Oto Giriş ve Yönlendirme

Otomatik giriş yapılmasını istersek 2. parametreyi true olarak ayarlamamız gerekir. Hem oto giriş hem de sayfa yönlendirmesi için aşağıdaki gibi kullanılmalıdır.

User::register
([
    'username' => Post::username(),
    'password' => Post::password() 
],  true);

if( User::isLogin() )
{
    redirect('profile');
}

 

 

# Login (ZN >= 1.0.0)


Kullanıcıların giriş yapmaları için kullanılır.

Parametreler

string $user Kullanıcı adı.
string $password Kullanıcı şifresi.
mixed $rememberMe = false Beni hatırla? Bu parametre true ayarlanırsa sonraki giriş otomatik olarak yapılacaktır.
return bool

Opsiyonel Yöntemler

username(string $username) : this 1. parametre yerine kullanılabilir.
password(string $password) : this 2. parametre yerine kullanılabilir.
remember(mixed $remember) : this 3. parametre yerine kullanılabilir.

Kullanımlar

$status = User::login(Post::username(), Post::password(), Post::rememberMe());

if( $status === true )
{
    redirect(URL::prev());
}

 

 

# IsLogin (ZN >= 1.0.0)


Kullanıcının giriş yapıp yapmadığı kontrol etmek için kullanılır.

Parametreler

return bool

Kullanımlar

if( User::isLogin() )
{
    echo 'Hi, User';
}

 

 

# Data (ZN >= 1.0.0)


Giriş yapmış kullanıcıya ait kullanıcı bilgilerini dizi türünde verir.

Parametreler

string $tbl = NULL Tablo adı. Birleştirilmiş tablolar ile çalışılıyorsa bu parametre kullanılır.
return object

Kullanımlar

$data = User::data();

output([$data->username, $data->email]);
ZNFramework
robot@znframework.com 

Birleştirilmiş Tablolar

Eğer birleştirilmiş kullanıcı tabloları kullanılıyorsa 1. parametreye hangi tablodan verilerin alınmak istendiği belirtilir.

$profile = User::data('user_profile');
$user    = User::data('users');

output([$user->username, $profile->address]);
ZNFramework
Istanbul/Turkey 

 

 

# Logout (ZN >= 1.0.0)


Kullanıcı çıkışı yapmak için kullanılır.

Parametreler

string $redirect = NULL Yönlendirilecek adres.
int $time = 0 Yönlendirilme süresi.

Kullanımlar

User::logout(URL::prev(), 2);

 

 

# Update (ZN >= 1.0.0)


Giriş yapan kullanıcıların eski şifresi ile şifre bilgileri ve mevcut diğer bilgilerini güncellemeleri için kullanılır.

Parametreler

string $oldPassword Mevcut şifre.
string $newPassword Yeni Şifre.
string $newPassword = NULL
Yeni şifre tekrar. İsteğe bağlıdır. Bu parametre NULL belirtilirse 2. parametre ile eşleştirilmiş kabul edilir.
array $otherData = [] Şifre güncellemesi dışında diğer kullanıcı bilgilerinin güncellenmesi de isteniyorsa belirtilir.
return bool

Opsiyonel Yöntemler

oldPassword(string $oldPassword) : this 1. parametre yerine kullanılabilir.
newPassword(string $newPassword) : this 2. parametre yerine kullanılabilir.
passwordAgain(string $passwordAgain) : this 3. parametre yerine kullanılabilir.
column(string $columnName, string $value) : this 4. parametre yerine kullanılabilir.

Kullanımlar

Sadece şifre güncellenmesi istenirse;

User::update(Post::oldPassword(), Post::newPassword());
Diğer Bilgilerin Güncellenmesi

Şifre ile birlikte diğer bilgilerinde güncellenmesi istenirse;

User::update
(
    Post::oldPassword(),
    Post::newPassword(),
    NULL,
    [
        'name'  => Post::name(),
        'phone' => Post::phone(),
    ]
);

gibi kullanılabilir.

Birleştirilmiş Tablolar

Kullanıcı tablosu birleştirilmiş tablolardan oluşuyorsa;

User::update
(
    Post::oldPassword(),
    Post::newPassword(),
    NULL,
    [
        'users' =>
        [
            'name'  => Post::name(),
            'phone' => Post::phone()
        ],

        'user_profile' =>
        [
            'first_name' => Post::firstName(),
            'last_name'  => Post::lastName()
        ]
    ]
);

gibi kullanılır.

 

 

# ForgotPassword (ZN >= 1.0.0)


Şifremi unuttum yöntemidir.

Parametreler

1.0.0 string $email E-posta.
1.0.0 string $returnPath Dönüş linki.
5.8.1.7
string $change = 'before'
Şifre değişim işleminin e-posta gönderimi sırasında mı yoksa dönüş linki üzerinde mi yapılacağını belirtmek için kullanılır.
before E-posta gönderimi sırasında şifre değiştirilir.
after E-posta ile gönderilen dönüş linkine tıklandıktan sonra gidilen adreste şifre değiştirilir. Bu seçeneğin kullanılması durumunda dönüş linki ile gidilen adreste User::passwordChangeComplete() yönteminin kulanımı ile şifre değiştirme işleminin tamamlanması gerekmektedir.
return bool

Opsiyonel Yöntemler

3.1.3 email(string $email) : this 1. parametre yerine kullanılabilir.
3.1.3 returnLink(string $returnLink) : this 2. parametre yerine kullanılabilir.
5.8.1.7 passwordChangeProcess(string $change = 'before') : this 3. parametre yerine kullanılabilir.

Kullanımlar

User::forgotPassword(Method::post('email'), 'users/login');

2. parametre şifremi unuttum için gönderilen e-posta da yer alan linktir. Bu linke tıklandığında hangi sayfaya dönülmesi istendiği belirtilir.

5.8.1.7 Güncellemesi

Bu güncelleme ile User::forgotPassword() yöntemine şifre değiştirme işleminin hangi aşamada yapılacağını belirten 3. bir parametre eklenmiştir.

Kullanılabilir Seçenekler

before Şifre değiştirme işlemi e-postanın gönderilmesi aşamasında yapılır.
after Şifre değiştirme işlemi e-posta ile gönderilen dönüş linkinde yapılır. Dolayısı ile şifre değişikliği bu aşamaya kadar henüz gerçekleştirilmiş olmaz. Bu işlemin tamamlanabilmesi için User::passwordChangeComplete() yönteminin dönüş linki ile gidilen adreste kullanılması gerekmektedir. Bu yöntem şifre değiştirme işlemini tamamlar.
User::forgotPassword(Method::post('email'), 'users/passwordChangeComplete', 'after');
# PasswordChangeComplete ZN >= 5.8.1.7

Şifre değiştirme işlemini tamamlamak için kullanılır. Bu yönteme User::forgotPassword() yönteminin 3. parametresinin 'after' ayarlanması durumunda ihtiyaç duyulur.

Parametreler

string $redirect = NULL
Şifremi unuttum işleminin başarılı bir şekilde tamamlanmasından sonra yönlendirme yapmak için kullanılır. Bu yöntem kullanılmazsa işlemin başarılı olma durumuna göre true veya false değer döner.
return bool

Kullanımı

Dosya: Controllers/users.php
public function passwordChangeComplete()
{
    User::passwordChangeComplete('users/login');
}

Yukarıdaki kullanım şifre değiştirme işleminin başarılı olaması durumunda users/login kontrolcüsüne yönlendirme yapar.

Doğrulama Bilgisi (ZN >= 5.4.6)

Şifremini unuttum işlemi için sadece e-posta bilgisinin kullanılması bazı güvenlik sorunlarına neden olabilir. Bu nedenle e-posta bilgisi dışında 2. bir güvenlik bilgisine daha ihtiyaç duyulur. Bu güvenlik bilgisinin tabloda hangi kolonda tutulacağını yukarıda yapılandırmada yer alan verification yapılandırmasında belirtilir.

User::verification(Post::verification())->forgotPassword(Post::email(), 'users/login');

Yukarıdaki kullanımda formlardan gelen doğrulama bilgisi verification() yöntemi içinde kullanılır. Bu doğrulama bilgisi kullanıcıların profillerinden kendi belirtecekleri bir değer olmalıdır.

 

 

# SetForgotPasswordEmail [5.7.3]


User::forgotPassword() yöntemi ile birlikte kullanılır. Varsayılan e-posta şablonunu değiştirmek için kullanılır.

Parametreler

string $template
Gönderilecek e-postanın içeriği.
string $subject = NULL
[6.7.0] Gönderilecek e-postanın konusu. Bu değer boş bırakılırsa varsayılan konu mesajı gönderilir.
Değer Yerleştirme {url} Kayıt işleminde User::forgotPassword() yönteminin 2. parametresi ile tanımlanan dönüş adresi.
{user} Kullanıcı adı bilgisi.
{pass} Kullanıcıya bildirilmesi gereken yeni şifre bilgisi.

Kullanımlar

$template  = 'Merhaba {user}, ';
$template .= 'yeni şifreniz:{pass} ';
$template .= 'işlemi tamamlamak için linke tıklayınız';

User::setForgotPasswordEmail($template)->forgotPassword(Post::email(), 'users/login');
Dikkat: Yukarıda yer alan {key} içerikleri olduğu gibi kullanılmalıdır.

 

 

# SendEmailAll (ZN >= 5.0.0)


Sistemde kayıtlı kullanıcıların tamamına e-posta gönderimi için oluşturulmuştur.

Parametreler

string $subject E-posta'nın konusu.
string $message E-posta'nın içeriği

Kullanımlar

User::sendEmailAll('New Topic', 'Added new topic.');
Gönderime Dosya Ekleme

Bu e-posta gönderimine dosya eklemek isterseniz opsiyonel yöntem olaran attachment() yönteminden yararlanabilirsiniz. Yöntemin parametreleri Email::attachment() yöntemi ile bire bir aynıdır.

User::attachment('path/topic.jpg')->sendEmailAll('New Topic', 'Added new topic');

 

 

# ActivationComplete (ZN >= 1.0.0)


Ayarlardan activation kolonu belirtilmişse ve kayıt yaparken register() yönteminin 3. parametresi ile dönüş linki belirtilmişse bu yöntemden istifade edilebilir. Bu yöntem dönüş linki belirtilen sayfada kullanılmalıdır. Yani e-posta üzerinden gelinmesini istediğiniz sayfada kullanılması gerekir. Böylece belirtilen sayfaya istek yapıldığında kullanıcı aktivasyonu tamamlanmış olur.  Bu kolonun tutması gereken değer 0 ve 1 değeri olacak şekilde ayarlanmalıdır.

Parametreler

5.7.3 mixed $getUriKey = 'user' Aktivasyon için gönderilen e-posta içerisinde yer alan linkin parametre diziliminde değişiklik yapılması durumunda gelen verinin eşleşebilmesi için URI'den gelen kullanıcı bilgisini tutan anahtarın bu parametreye bildirilmesi gerekmektedir.
5.7.3
mixed $decryptor = 'pass'
Yukarıdaki durum aynı şekilde geçerli olmakla birlikte e-posta gönderiminde kriptolu şifre bilgisini tutan veri üzerinde ek kriptolama ve çözümleme işlemi için geri çağrım işlevi kullanabilirsiniz.

Kullanımlar

Dönüş linki ile ziyaret edilecek sayfada kullanılması gereken yöntem.

Dosya: Controllers/users.php
public function activationComplete()
{
    User::activationComplete();
}
Link Dizilimini Değiştirme

Gönderilen ön tanımlı e-posta şablonunda link yapısı aşağıdaki gibidir.

$url . 'user/' . $user . '/pass/' . $pass

Bu dizilim üzerinde değişilik yapılabilir;

$url . 'u/' . $user . '/p/' . $pass

Böyle bir düzenlemeden sonra bu yöntemi aşağıdaki gibi kullanmanız gerekmektedir.

User::activationComplete('u', 'p');
Geri Çağrım İşlevi Uygulama

E-posta ile gönderilen linkte kriptolu gönderilen şifrenin daha güvenli bir formda gönderilmesini sağlayabilirsiniz.

$url . 'u/' . $user . '/p/' . base64_encode($pass)

Yukarıdaki gibi bir link gönderiminden sonra eşleşme için geri çağrım işlevi uygulanmalıdır.

User::activationComplete('u', function()
{
    return base64_decode(URI::get('p'));
});

 

 

# SetActivationEmail [5.7.3]


User::register() yöntemi ile birlikte kullanılır. Eğer activation kolonu ayarlı ise User::register() yöntemi kendi içerisinde bir aktivasyon e-postası gönderir. Varsayılan e-posta şablonunu değiştirmek için kullanılır.

Parametreler

string $template
Gönderilecek e-postanın içeriği.
string $subject = NULL
[6.7.0] Gönderilecek e-postanın konusu. Bu değer boş bırakılırsa varsayılan konu mesajı gönderilir.
Değer Yerleştirme [ ... ] Kayıt işleminde User::register() yönteminin 3. parametresi ile tanımlanan aktivasyon dönüş adresi.
{user} Dönüş linkinde bulunması gereken kullanıcı adı adı bilgisi. Örn: localhost/user/activation/
{pass} Dönüş linkinde bulunması gereken kriptolu kullanıcı şifre bilgisi.

Kullanımlar

$template = 'Click please do activation';

User::setActivationEmail($template)->register
([ 
    'username' => Post::username(), 
    'password' => Post::password(), 
    'usermail' => Post::email(), 
    'address'  => Post::address(), 
    'phone'    => Post::mobilePhone() 
], 'users/login');

Yukarıdaki örnek e-posta içeriğinde yer alan [user/{user}/pass/{pass}] çıktısı aşağıdakine benzer bir yapıda olacaktır.

localhost/users/login/user/rambo/pass/8f10d078b2799206cfe914b32cc6a5e9

 

 

# ResendActivationEmail (ZN >= 5.5.1)


Aktivasyon e-postasının herhangi bir neden gelmemesi durumunda tekrar gönderim sağlamak için kullanılır.

Parametreler

string $username Kullanıcı adının e-posta bilgisi içermesi gerekmektedir. Eğer kullanıcı e-posta bilgisi içermiyorsa 3. parametre mutlaka e-posta adresi belirtilmelidir.
string $returnLink Aktivasyon e-postasında yer alan linkin href="" değerini ayarlar. Kullanıcı dönüş bağlantısıdır.
string $email = NULL
1. parametre yani kullanıcı adı parametresi e-posta özelliği taşımıyorsa bu parametre e-postanın gönderileceği e-posta bilgisini taşımalıdır.
return bool

Kullanımlar

User::resendActivationEmail($username, 'profile/activation', $usermail);

 

 

# Ip (ZN >= 5.0.0)


İstek yapılan IP adresi bilgisini verir. Kullanımı Request::ipv4() ile aynıdır.

Parametreler

return string

Kullanımı

echo User::ip();

 

 

# Agent (Paket[6.1.2.4][2020-05-29])


Yapılan isteğin HTTP_USER_AGENT bilgisini verir. Kullanımı Http::userAgent() ile aynıdır.

Parametreler

return string

Kullanımı

echo User::agent();

 

 

# Count (ZN >= 2.0.0)


Kayıtlı üye sayısını öğrenmek için kullanılır.

Parametreler

return int

Kullanımlar

echo User::count();

 

 

# ActiveCount (ZN >= 2.0.0)


Oturum açmış kullanıcıların sayısını verir. Ancak bu yöntemden yararlanılabilmesi için ayarlardan active kolonunun belirtilmesi gerekir. Bu kolonun tutması gereken değer 0 ve 1 değeri olacak şekilde ayarlanmalıdır.

Parametreler

return int

Kullanımlar

echo User::activeCount();

 

 

# BannedCount (ZN >= 2.0.0)


Banlanmış kullanıcıların sayısını verir. Ancak bu yöntemden yararlanılabilmesi için ayarlardan banned kolonunun belirtilmesi gerekir. Bu kolonun tutması gereken değer 0 ve 1 değeri olacak şekilde ayarlanmalıdır.

Parametreler

return int

Kullanımlar

echo User::bannedCount();

 

 

# GetEncryptionPassword (ZN >= 2.0.0)


User:: kütüphanesinin seçili şifreleme algoritmasına göre parametre olarak belirtilen şifrenin yeniden şifrelenmesini sağlar. Bu yöntem User:: kütüphanesine ek olarak yürüteceğiniz işlemlerde mevcut kullanıcı şifreleri ile ilgili bir çalışma yapmanız durumunda doğru kullanıcı şifresini oluşturmanıza olanak sağlar.

Parametreler

return string

Kullanımlar

echo User::getEncryptionPassword('1234');

 

 

# Success (ZN >= 2.0.0)


Kullanıcı işlemlerine yönelik başarı bilgisi döndürür.

Parametreler

return string

Kullanımlar

echo User::success();

 

 

# Error (ZN >= 2.0.0)


Kullanıcı işlemlerine yönelik hata bilgisi döndürür.

Parametreler

return string

Kullanımlar

echo User::error();