Codeigniter ile Yetkili_model.php

Merhaba, yetkilendirme işlemlerini yapan basit bir üyelik sistemini paylaşmak istedim. Bu Model dosyası, Controller dosyasından gönderilen verilerle db’de temel işlemleri halleder. Bir sonraki yazımda ise Controller kütüphanesi ile kullanımını paylaşacağım…

Kodunuz bol olsun… :)


<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Yonetici_model extends CI_Model
{

    // tüm satırları al: 0'dan başla, her defasında 5 adet çek...
    public function hepsini_al($baslangic = 0, $adet = 5)
    {
        // $baslangic'tan başlayarak, kullanıcılardan $adet tane satır çek
        $q = $this->db->limit($baslangic, $adet)->get('kullanicilar');

        if( $q->num_rows() > 0 ) // satır mevcutsa
            return $q->result(); // nesne olarak satırları al
        else
            return false; // başarısız
    }

    // belirtilen şarta göre kullanıcılardan satır çeker:
    public function sartli_al( $data )
    {
        $q = $this->db->where($data)->get('kullanicilar');

        if( $q->num_rows() > 0 ) // mevcut satır varsa:
            return $q->row_array(); // satırları veya satırı dizi olarak donder
        else
            return false; // başarısız
    }

    // kullanıcı verilerini ekle
    public function ekle( $data ) {
        $this->load->helper('string');

        // $data'da olmayan zorunlu değerler
        $data['hakkimda']       = isset($data['hakkimda']) ? $data['hakkimda'] : 'Şu anlık bilgi yok...';
        $data['onay_kodu']      = random_string('alnum', 13);
        $data['onay_durumu']    = isset($data['onay_durumu']) ? $data['onay_durumu'] : 'pasif';
        $data['yetki_durumu']   = isset($data['yetki_durumu']) ? $data['yetki_durumu'] : 'kullanici';

        // veriyi ekle
        $this->db->insert('kullanicilar', $data);

        if( $this->db->affected_rows() > 0 ) // işlenmiş satır mevcutsa
            return $this->db->insert_id(); // işlenen satır id dönder: başarılı
        else
            return false; // başarısız
    }

    // kullanici id ile eşleşen kayıt mevcutsa,
    // data dizisindeki değerler ile günceller
    public function guncelle($user_id, $data)
    {
        // kullanicilar tablosundaki user_id değerini data ile güncelle
        $this->db->update('kullanicilar', $data, array('id', $user_id));

        // işlenmiş satır sayısı 0'dan büyük ise:
        if( $this->db->affected_rows() > 0 )
            return true; // başarılı
        else
            return false; // başarısız
    }

    // id ile kullanıcıyı sil
    public function sil($user_id)
    {
        // kullanıcılardan id ile sil
        $this->db->delete('kullanicilar', array('id', $user_id));

        // eğer işlenmiş satır mevcutsa
        if( $this->db->affected_rows() > 0 )
            return true; // başarılı
        else
            return false; // başarısız
    }

    // onaylama işlemini yapan fonksiyon
    public function onayla($user, $onay_kodu)
    {
        // onay kodu ile eşleşen kullanıcı var mı?
        $sart = array(
            'rumuz'    => $user,
            'onay_kodu'=> $onay_kodu
        );
        $uye = $this->sartli_al($sart); // tek satırlık dizi ya da false olarak alıyoruz

        $r = false; // varsayılan dönüş değeri: false

        // onay kodu ile eşleşen kullanıcı bulundu ise:
        if( $uye == true )
        {
            $id = $uye['id'];
            unset($uye, $sart); // sartı ve kopyalanan id'yi kaldır

            // sonraki istek için yeni kod oluştur
            $this->load->helper('string');

            $degis['onay_kodu']    = random_string('alnum', 13);
            $degis['onay_durumu']  = 'aktif';

            // güncellemeyi yap: true | false döner
            $r = $this->guncelle($id, $degis);
        }
        return $r;
    }

    // yetkilendirme işlemini yapan fonksiyon
    public function yetkilendir($id)
    {
        if( $this->yetki_ile_al($id, 'moderator') )
            return true;
        else
            return false;
    }

    // yetkilendirmeyi geri al
    public function yetkisizlendir($id)
    {
        if( $this->yetki_ile_al($id, 'kullanici') )
            return true;
        else
            return false;
    }

    // yetkiye göre kullanıcıyı seçen fonksiyon
    protected function yetki_ile_al($id, $yetki)
    {
        $u = array(
            'id'           => $id,
            'yetki_durumu' => $yetki // moderator | kullanici
        );

        // id ve yetki_durumu uyuşan kullanıcıyı al
        $k = $this->sartli_al($u);

        if( $k ) // kontrol sonucunu dönder
            return $k;
        else
            return false;
    }
}

Uniform ile HTML elemanları

Şu adresteki html elemanlarını jQuery ile düzenleyen/tasarlayan bir eklentiyi paylaşalım değil mi? :)

Sublime Text 2 ( PHP Editor )

Çok kullanışlı, hızınıza hız katan, kod yazmaktan fazlasıyla zevk alacağınız bir programı paylaşıyorum şimdi. :)

Evet, Sublime Text 2 programı! Şahsen ben aşık oldum bu programa. Daha iyisini bulana kadar başkasına ihtiyaç yok :)

Site Adresi: Sublime Text 2

Şu da bir tema görüntüsü: tıkla

HighCharts Grafik Kütüphanesi

Ücretsiz ve şahane bir kaynak!
Evet, sitenize etkileşimli grafikler oluşturmak için şahane bir eklenti…
Hemen burandan indirin:
HighCharts.com

Windows’da TextMate fontu

Merhaba,
Bugün Apple firmasının TextMate programında kullanılan varsayılan fontunu paylaşacağım. Çok karizmatik bir font. :) Özellikle parantezlere bayılıyorum. :)

Buyrun, Monaco Fontu!

Merhaba dünya!

Merhaba,

Bu blogu aslında kendim için açtım. :) Şöyle ki; kendi notlarımı topladığım/yazdığım kütüphanem olarak bu blogu kullanacağım. Bir çok birikim olmuş olacak. Bu sayede sizin de bu blogdan yararlanmış olmanızı ümitediyorum.