Merhaba arkadaşlar.
http://wmaraci.com/forum/wordpress-sorunlari/wordpress-tema-lisanslama-yenilik-yardim-86188.html Konusunda sinova adlı arkadaşın sorusuna karşılık ilk önce bir MySQL ile lisans kontrolü yapan bir kodlama yazmıştım ancak arkadaşın yazdıklarını tam okumamışım sonradan farkettim bunu :)
O yazdığım kod betiğinde Lisans anahtarı wp_option tablosuna kaydediliyordu.Sonradan arkadaşın mesajını tekrar okuyunca lisans.php'ye kaydedilmesini istediğini gördüm ve yeniden kodladım.
Yazdığım lisans mekanizmasının işleyişinden kısaca bahsedeyim ;
1.Mekanizma ilk önce tema dizininde lisans.php adlı dosyanın varolup olmadığını kontrol eder.
2.Eğer dosya yok ise Lisans Anahtarı Kaydet adlı bir sayfayı karşımıza çıkarır.
3.Bu sayfada siteye ait olan lisans anahtarını girebileceğiniz bir input ve Kaydet butonu bulunmaktadır.
4.Input bölümüne lisans anahtarı girdikten sonra oluşturulmamış olan lisans.php oluşturulur ve girilen lisans anahtarı $lisansanahtar değişkenine aktarılır.
5.Daha sonra lisanslama yöntemimizle lisans.php'ye kaydedilen lisans anahtarı kontrol edilir ve eğer doğru ise fonksiyonlarımız çalışır.
Bölüm 1 : Lisans.php Kontrolü
// EFTAL BULUT LISANS MEKANIZMASI
$lisansdosyasi = get_template_directory()."/lisans.php"; // Lisans.php dosyamız
if(!file_exists($lisansdosyasi)) { // Lisans.php dosyasının olup olmadığını kontrol ediyor yok ise aşagıdaki işlemleri yapıyor.
?>
Lisans Anahtarı Kaydet
if($_POST) {
$lisansanahtari = $_POST['key']; // Formdan gelen lisans anahtarı
$lisansanahtar = wordwrap(strtoupper(md5(sha1(str_replace("www.", "", getenv("HTTP_HOST"))))),4,'-',true); // Lisans anahtarı mekanizmanız
if($lisansanahtari==$lisansanahtar) { // Formdan gelen anahtar ile şifreleme yöntemi aynı ise aşagıdaki işlemleri yapıyor
$dosyaadi = get_template_directory()."/lisans.php"; // Oluşturulacak Lisans.php dosyamız
touch ($dosyaadi); // Lisans.php dosyamız oluşturuluyor.
$dosya = fopen ($dosyaadi , 'w'); // Lisans.php dosyamız açılıyor.
$lisansdosya = ''; // Lisans.php dosyamızın içine $lisanskodu değişkeni atanıyor.
fwrite($dosya, $lisansdosya); // Lisans.php dosyamızın içine atanan değerler yazdırılıyor.
fclose($dosya); // Lisans.php dosyamız kapanıyor.
echo "<script>window.location='". $_SERVER['REQUEST_URI'] ."'</script>"; // İşlemlerden sonra bulunan sayfaya tekrar yönleniyor.
} else {
echo "Lisans anahtarınız doğru değildir.";
}
}
echo "";
die();
}
?>
Yukarıda yazmış olduğum betikte kodların yanında ne işe yaradıklarını belirttim.Bu adımı uyguladıktan sonra henüz lisans sistemimiz bitmiyor.Çünkü bu adımda sadece eğer lisans.php yok ise oluşturup içine lisans anahtarımızı kaydetmemizi sağladık.
Bu adımımızdan sonra Lisans Anahtarı Kaydet sayfa görüntümüz ;
Bölüm 2 : Lisans.php'ye Kaydedilen Lisans Anahtarı Kontrolü
include get_template_directory()."/lisans.php"; // Lisans.php dosyamız çağırılıyor.
$lisansanahtari = wordwrap(strtoupper(md5(sha1(str_replace("www.", "", getenv("HTTP_HOST"))))),4,'-',true); // Lisans anahtarı mekanizmanız
if($lisansanahtari==$lisanskodu) { // Lisans.phpdeki değer ile mekanizma eşit ise fonksiyonlarımı okuyor.
// FONKSIYON KODLARINIZ BURAYA
} else {
die("Lisans anahtarınız bu site için geçerli değildir.");
}
?>
Bu bölümümüzde ise önceki adımda olduğu gibi yazılan kodların ne iş gördüğünü belirttim.İlk önce oluşturulan ya da varolan lisans.php'yi dosyamızdan çağırdık ve içindeki $lisansanahtar değişkeninin okunmasını sağladık.
Daha sonra ise belirlediğimiz lisans anahtarı mekanizmamız ile lisansanahtar değişkeninin karşılaştırılmasını sağladık.Eğer 2 değişken eşleşiyor ise ;
Kodlar arasında belirttiğim // FONKSIYON KODLARINIZ BURAYA kısmında bulunan fonksiyonlar çalışmaya başlayacaktır.
Eğer eşleşmiyor ise siteyi kapatıp ekrana Lisans anahtarınız bu site için geçerli değildir. yazısını yazdıracaktır.
Bölüm 3 : Lisans Anahtarı Oluşturma
$lisanssite = "sebekenet.com";
$lisansanahtar = wordwrap(strtoupper(md5(sha1($lisanssite))),4,'-',true);
echo $lisansanahtar;
?>
Yukarıda yazılan betiği localhost veya sitemizde açtığımızda bize sebekenet.com adresi için bir lisans anahtarı verecektir.
Lisanslayacağınız site adresini başında http://www. olmadan girerek lisanslama işlemini yapabilirsiniz.
Örnek Lisans Anahtarı : 64F8-4A80-736A-DD53-9ADD-17A4-81AC-052A
Bölüm 4 : Mutlu Son :)
3 Bölümde lisans mekanizmasının nasıl işlediğini , nasıl yapılacağını ve lisans anahtarı oluşturma işlemini anlattım.Az aşagıda yazmış olduğum lisans mekanizmasının ve lisans oluşturma sayfasının kaynak kodlarının indirme linkini vereceğim.
İndireceğiniz dosyanın içerisinde lisans-olustur.php ve lisans-sorgu.php dosyaları bulunmaktadır.
Lisanslama mekanizmasını çalıştırabilmek için ilk önce temanızın functions.php dosyasını açarak içindeki kodları kopyalayınız.Kopyaladığınız kodlarda ve ?> taglarını silerek indirmiş olduğunuz dosyanın içerisindeki lisans-sorgu.php dosyasını açarak ; // FONKSIYON KODLARI BURAYA yazan yere kopyaladığınız kodu yapıştırın.Yapıştırdıktan sonra oradaki kodları functions.php dosyasının içine kaydediniz.
Lisans anahtarı oluşturmak için ise lisans-olustur.php dosyasını açarak $lisanssite değişkenine lisanslanacak site adresini yazarak lisans anahtarı oluşturabilirsiniz.
Bu lisans mekanizmasını sinova adlı arkadaşımızın açtığı konu sonucunda yazmış bulunuyorum.Bende yazmayı planlamıştım ancak vakit olmamıştı.Açılan konuda istekleri görünce yazma isteği uyandı.
Kodlar ve anlatım tamamen bana aittir.Sizlere yardımcı olabilmek adıyla elimden gelen en iyi şekilde kodları yazıp ve anlatmaya çalıştım.
Lisans mekanizmasında hata alanlar veya yapamayanlar PM ya da Skype ( eftalbulut ) üzerinden bana ulaşabilirler.
Kaynak kodlarını buraya tıklayarak indirebilirsiniz.
Saygılarımla...
Kaynak : http://www.sebekenet.com/wordpress-temalarinizi-lisanslayin/