plesk api

Temmuz 1st, 2009 | İsmail PERİM

Plesk’in apisini kullanarak .net de yapılmış olan uygulama.

Not : Bu uygulama daha önce PHP ile yazmış olduğum uygulamayı .NET ortamına geçirmek amacı ile Sedat KARTAL arkadaşım tarafından hazırlanmıştır.

try
        {
 
            ServicePointManager.ServerCertificateValidationCallback = delegate  //ssl sertifikamız yok bu yüzden ssli atlatmak için bu kodu yazdım
            {
                return
                    true;
            };
 
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://adresburaya.net:8443/enterprise/control/agent.php");
 
            paket = "<?xml version='1.0' encoding='UTF-8'?> <packet version='1.4.0.0'> <client> <add> <gen_info> <cname>LogicSoft Ltd.</cname> <pname>Stephen Lowell</pname> <login>stevelow</login> <passwd>steve78</passwd> <status>0</status> <phone>416 907 9944</phone> <fax>928 752 3905</fax> <email>host@logicsoft.net</email> <address>105 Brisbane Road, Unit 2</address> <city>Toronto</city> <state/> <pcode/> <country>CA</country> </gen_info> <limits> <disk_space>100000</disk_space> <max_dom>50</max_dom> <max_subdom>250</max_subdom> <max_webapps>30</max_webapps> <max_traffic>50000</max_traffic> <max_db>200</max_db> <mysql_dbase_space>50000</mysql_dbase_space> <max_shared_ssl_links>50</max_shared_ssl_links> <expiration>1134616208</expiration> </limits> <permissions> <create_domains>true</create_domains> <manage_phosting>true</manage_phosting> <manage_quota>false</manage_quota> <manage_subdomains>true</manage_subdomains> <change_limits>true</change_limits> <manage_dns>true</manage_dns> <manage_log>true</manage_log> <manage_anonftp>true</manage_anonftp> <manage_webapps>true</manage_webapps> <manage_sh_access>true</manage_sh_access> <manage_maillists>true</manage_maillists> <make_dumps>true</make_dumps> <remote_access_interface>true</remote_access_interface> <cp_access>true</cp_access> <manage_domain_aliases>true </manage_domain_aliases> </permissions> </add></client> </packet>";
            request.Method = "POST";
            request.Headers.Add("HTTP_AUTH_LOGIN", "kullanıcıadı");
            request.Headers.Add("HTTP_AUTH_PASSWD", "şifre");//kullanıcı adı şifre yaz
            request.ContentType = "text/xml";
            request.ContentLength = paket.Length;
 
 
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
 
 
 
            ASCIIEncoding encoding = new ASCIIEncoding();
            byte[] buffer = encoding.GetBytes(paket);
 
            using (Stream stream = request.GetRequestStream())
            {
                stream.Write(buffer, 0, paket.Length);
            }
 
            WebResponse Donen = request.GetResponse();
            //curl_close($this->Oturum);
            HttpWebResponse result= (HttpWebResponse)request.GetResponse();
            Stream receive=result.GetResponseStream();
            StreamReader sr=new StreamReader(receive);
            string sonuc=sr.ReadToEnd();
            Label2.Text = sonuc;
            if (sonuc.Contains("<status>ok</status>"))
            {
                Label1.Text = "Hosting Eklendi.";
 
            }
            else
            {
                Label1.Text = "Hosting Eklenemedi";
 
            }
 
 
 
        }
        catch (Exception ex)
        {
 
            Label1.Text = ex.Message;
        }

php sayfalama

Haziran 12th, 2009 | İsmail PERİM

bir zamanlar yazmış olduğum dağınık sayfalama fonksiyonunu toparlayıp class haline getirdim.

Class :

<?php 
////////////////////////////////////////////////////
//                                                                                            	  
//	Code By İsmail Perim                                                 
//	http://www.ismailperim.net
//	<ismailperim@gmail.com>
//	
//	Dosya                : /sayfalama.php
//	Açıklama            : Sayfalandırma Sınıfı
//							
////////////////////////////////////////////////////
 
class Sayfalama
{
	public $KayitSayisi = 10;
	public $Sorgu = "";
	public $ToplamKayit = "";
	public $Linkler = "";
	public $Sayfa = "";
	public function Sayfalama($_Sorgu,$_TopKay,$_Sayfa,$_KayitSayisi=10)
	{
		$this->KayitSayisi = $_KayitSayisi;
		$this->Sorgu = $_Sorgu ;
		$this->ToplamKayit = $_TopKay;
		$this->Sayfa = $_Sayfa;
	}
	public function Olustur()
	{
 
			$adet=15;
 
			if($_GET['sayfa']==0)
			{
				$_GET['sayfa']=1;
				$sayfa=0;
				$kayit=0;
			}
			elseif($_GET['sayfa']==1)
			{
				$sayfa=0;
				$kayit=0;
			}
			else
			{
				$sayfa=$_GET['sayfa'];
				$kayit=($sayfa*$adet-$adet);
			}
 
			$sorgu_temp = $this->Sorgu."   LIMIT $kayit,$adet  ";
			$this->Sorgu=mysql_query($sorgu_temp);
 
			#######################   LİNKLER  #######################
 
					$sonraki=$_GET['sayfa']+1;
					$onceki=$_GET['sayfa']-1;
										if($onceki>0)
					{
						$this->Linkler.='<a href="?'.$this->Sayfa.'sayfa='.$onceki.' " style="text-decoration:none;"> [ Önceki ] </a>';
					}
					$say=$this->ToplamKayit;
					$link=ceil($say/$adet);
					$nokta=0;
					$nokta1=0;
					for($i=1;$i<$link+1;$i++)
					{
 
						if($i<$sayfa+6 && $i>$sayfa-6)
						{
							if((int)$sayfa==$i)
							{
								$this->Linkler.='<b>';
							}
 
							$this->Linkler.='<a href="'.$this->Sayfa.'sayfa='.$i.'" style="text-decoration:none;"> ['.$i.'] </a>';
 
							if((int)$sayfa==$i)
							{
								$this->Linkler.='</b>';
							}
 
						}	
						else
						{
							if( $i<$sayfa+6 && $nokta== 0)
							{
								$this->Linkler.=  '<a href="'.$this->Sayfa.'sayfa='.($sayfa-5).' " style="text-decoration:none;"> [ ... ] </a>';
								$nokta = 1;
							}	
							if( $i>$sayfa-6 && $nokta1== 0)
							{
								$this->Linkler.=  '<a href="'.$this->Sayfa.'sayfa='.($sayfa+5).' " style="text-decoration:none;"> [ ... ] </a>';
								$nokta1 = 1;
							}	
 
						}
					}
 
					if($sonraki<$link+1)
					{
						$this->Linkler.='<a href="'.$this->Sayfa.'sayfa='.$sonraki.' " style="text-decoration:none;"> [ Sonraki ] </a>';
					}
 
 
			#######################  / LİNKLER #######################
	}
}
 
 
 
?>

Örnek Kullanım :

////////////////////////////////////////////////////
//                                                                                            	  
//	Code By İsmail Perim                                                 
//	http://www.ismailperim.net
//	<ismailperim@gmail.com>
//	
//	Dosya                : /sayfalama_ornek.php
//	Açıklama            : Sayfalandırma Sınıfı Örneği
//							
////////////////////////////////////////////////////
 
# Sayfalama Sınıfımızı Ekliyoruz
include_once "sayfalama.php";
 
# MySQL Bağlantılarını Yaptığımız Sayfamız
include_once "baglanti.php";
 
# Toplam Kayıt Sayısını Alıyoruz.
$KayitSayisi = mysql_num_rows(mysql_query("SELECT * FROM Tablo"));
 
#Bir Sayfada Gösterilecek Kayıt Sayısı
$KacKayit = 15;
 
# Yeni Bir Sayfalama Sınıfı Türetiyoruz
$Sayfa = new Sayfalama("SELECT * FROM Tablo ",$KayitSayisi,"index.php?Islem=KayitListe&",$KacKayit);
 
# Sınıfımız Gerekli İşlemleri Yaparak Sorguları Sayfalandırmaya Uygun Hale Getiriyor
$Sayfa->Olustur();
 
# Oluşan Sayfa Linklerini Ekrana Bastırıyoruz
echo $Sayfa->Linkler;
 
# Sayfalandırma Sonucu Uygun Hale Getirilen Sorgumuzu İşlemlerimiz İçin Kullanıyoruz.
while($Veri = mysql_fetch_array($Sayfa->Sorgu))
{
     #... İşlemlerimiz ... #
}
?>

plesk client api

Mayıs 23rd, 2009 | İsmail PERİM

Bir kaç gün önce bir projede Plesk panelde kaytılı domainlere yeni mail adresi ekleme, silme, düzenleme gibi işlemleri yapmam gerekiyordu. Bunun üzerine küçük çaplı araştırmalar sonucunda Plesk’in bir API si olduğunu öğrendim ve araştırmalarımı birazcık daha sürdürdükten sonra gerekli dökümanları elde etmiştim ve oturup ihtiyacıma uygun birşeyler çıkartmaya başladım.
Öncelikle size sistemin nasıl işlediğinden bahsetmek istiyorum;
Plesk Panelin API uyumlu sürümlerinde “enterprise/control/agent.php” konumundaki dosyaya Plesk panelin anlayacağı dilden (: XML verileri göndererek ve yine aynı yöntemle cevaplarını alarak işlemlerimiz yapıyor ve işlem sonuçlarını görüyoruz. Fazla söze gerek yok (:
Plesk, Burda ve burda gerekli açıklamaları ve örnekleri yapmış.

Gelelim benim örneğime;

php nin cURL kütüphanesini kullanaraktan bu verileri gönderme ve yanıtlarını alma işini yaptım. İşte bu işlemleri yapan sınıfımız;

<?php
// <ismailperim@gmail.com>
class Mail
{
public $Host;
public $Port = "81";
public $Path = 'enterprise/control/agent.php';
public $Kullanici = "admin";
public $Sifre;
public $DomainID;
public $Sonuc;
public $SonucSayi;
 
public $MailAd;
public $MailSifre;
 
private $Oturum;
private $Url; 
private $Basliklar ;
 
	public function Mail($_Host = null,$_Port = null ,$_Kullanici = null,$_Sifre = null,$_DomainID =null)
	{
		if(!is_null($_DomainID))
		{
			$this->Host = $_Host;
			$this->Port = $_Port;
			$this->Kullanici = $_Kullanici;
			$this->Sifre = $_Sifre;
			$this->DomainID = $_DomainID;
		}
 
		$this->Url = "http://".$this->Host.":".$this->Port."/".$this->Path."";
		$this->Basliklar = array(
		'HTTP_AUTH_LOGIN: '.$this->Kullanici.'',
		'HTTP_AUTH_PASSWD: '.$this->Sifre.'',
		'Content-Type: text/xml'); 
 
 
 
		$this->Oturum = curl_init();
		curl_setopt($this->Oturum, CURLOPT_SSL_VERIFYHOST, 0);
		curl_setopt($this->Oturum, CURLOPT_SSL_VERIFYPEER, false);
		curl_setopt($this->Oturum, CURLOPT_HTTPHEADER, $this->Basliklar);
		curl_setopt($this->Oturum, CURLOPT_URL, $this->Url);
		curl_setopt($this->Oturum, CURLOPT_RETURNTRANSFER, true);
	}
	public function Ekle($_Isim,$_Sifre)
	{
		$_Paket = <<<EOP
		<packet version="1.4.2.0">
			<mail>
			<create>
			   <filter>
			      <domain_id>$this->DomainID</domain_id>
			      <mailname>
			          <name>$_Isim</name>
			          <mailbox>
			              <enabled>true</enabled>
			          </mailbox>
			          <password>$_Sifre</password>
			          <permissions>
			              <cp_access>true</cp_access>
			          </permissions>
			      </mailname>
			   </filter>
			</create>
			</mail>
		</packet>
EOP;
		curl_setopt($this->Oturum, CURLOPT_POSTFIELDS, $_Paket);
		$_Donen = curl_exec($this->Oturum);
		//curl_close($this->Oturum); 
		if(eregi("<status>ok</status>",$_Donen))
		{
			$this->Sonuc = "E-mail Adresiniz Eklendi.";
			$this->SonucSayi = true;
		}
		else
		{
			$this->Sonuc = "E-mail Adresiniz Eklenemedi";
			$this->SonucSayi = false;
		}
		return $this->Sonuc;
	}
	private function ListeDonustur($_Liste)
	{
	//echo $_Liste;
		$_Donen = array(array());
		$Dok = new DOMDocument();
		$Dok->loadXML($_Liste);
		$Sonuclar = $Dok->getElementsByTagName( "result" );
		$i = 0;
		foreach($Sonuclar as $S)
		{
			$Isim = $S->getElementsByTagName( "name" );
			$_Donen[$i]["isim"] = $Isim->item(0)->nodeValue;
			$Sifre= $S->getElementsByTagName( "password" );
			$_Donen[$i]["sifre"] = $Sifre->item(0)->nodeValue;
			$i++;
		}
		return $_Donen;
	}
	public function Liste($_Isim=null)
	{
		$this->Mail();
		if(!is_null($_Isim))
		{
			$_IsimIc = "<name>$_Isim</name>";
 
		}
		else
		{
			$_IsimIc = "";
		}
		$_Paket = <<<EOP
		<packet version="1.4.2.0">
			<mail>
				<get_info>
					<filter>
						<domain_id>$this->DomainID</domain_id>
						$_IsimIc
					</filter>
					<cp_access/>
					<mailbox/>
					<aliases/>
					<permissions/>
				</get_info>
			</mail>
		</packet>
EOP;
 
		curl_setopt($this->Oturum, CURLOPT_POSTFIELDS, $_Paket);
		$_Donen = curl_exec($this->Oturum);
		//curl_close($this->Oturum); 
		return $this->ListeDonustur($_Donen);
	}
	public function Duzenle($_Isim,$_Sifre)
	{
		$this->Sil($_Isim);
		if($this->SonucSayi)
		{
			$this->Ekle($_Isim,$_Sifre);
			if($this->SonucSayi)
			{
				$this->Sonuc = "E-Mail Adresiniz Düzenlendi";
				$this->SonucSayi=true;
			}
			else
			{	
				$this->Sonuc = "E-Mail Adresiniz Düzenlenemedi";
				$this->SonucSayi=false;
			}
		}	
		else
		{	
			$this->Sonuc = "E-Mail Adresiniz Düzenlenemedi";
			$this->SonucSayi=false;
		}
	}
	public function Sil($_Isim = null)
	{
		if(!is_null($_Isim))
		{
			$_Paket = <<<EOP
			<packet version="1.4.2.0">
			<mail>
			<remove>
			   <filter>
			      <domain_id>$this->DomainID</domain_id>
			      <name>$_Isim</name>
			    </filter>
			</remove>
			</mail>
		</packet>
EOP;
		curl_setopt($this->Oturum, CURLOPT_POSTFIELDS, $_Paket);
		$_Donen = curl_exec($this->Oturum);
		if(eregi("<status>ok</status>",$_Donen))
			{
				$this->Sonuc = "E-Mail Adresiniz Silindi.";
				$this->SonucSayi = true;
			}
			else
			{
				$this->Sonuc = "E-Mail Adresiniz Silinemedi";
				$this->SonucSayi = false;
			}
		}
	}
	public function Kapat()
	{
		curl_close($this->Oturum); 
	}
}
 
 
?>

ajax

Nisan 30th, 2009 | İsmail PERİM

Nedir bu AJAX ?

Son zamanlarda web dünyasında sıkça duymaya & görmeye başladığımız AJAX ingilizcede “Asynchronous JavaScript And XML” anlamını taşımaktadır.

AJAX, genel anlamda JavaScript ve XmlHttpRequestler aracılığıyla GET ve POST istekleri gönderip, bu isteklerin cevaplarını yine istekleri gönderdiğimiz yöntem olan JavaScript’le geri almaktır.

Kısaca AJAX’ın bileşenlerini tanıyalım;

GET ve POST istekleri:

Hazırladığım web sayfalarına bir veri göndermek için kullandığımız istekler, php, asp, asp.net v.b. diller ile programlanmış web sayfaları tarafından alınarak işleme sokulur.Örneğin bir iletişim forumundaki verilerimizi post veya get methodu ile bir web sayfasına göndeririz.Bu web sayfası isteğimizdeki değişkenler ve karşılığı olan verileri alarak bir dizi işlem sonucu iletişim formundan gelen verileri bize iletmiş olur.

JavaScript :

JavaScript, sayfalarımızda kullandığımız, “Client Side” bir dildir. Yani JavaScript kodları diğer dillerdeki gibi sunucuda yorumlanıp geriye bir yanıt dönmek yerine web sayfasını çalıştıran kullanıcının web tarayıcısı tarafından yorumlanarak web sayfasıyla etkileşimli bir halde yanıt döner.

XmlHttpRequest :

Son zamanlarda Microsoftun ActiveX’inden sonra diğer tarayıclarda ortaya çıkmış olan kütüphanedir.Genel anlamıyla yada AJAX denilen olayda işimize yaradığı kadarıyla XmlHttpRequest’ler, GET ve POST isteklerini JavaScript aracılığıyla Xml halinde belirttiğimiz sayfalara gönderen ve yine bu isteklerin yanıtlarını JavaScript aracılığıyla geri dönen “şey” dir.

AJAX tüm bunların birleşiminden oluşan ve JavaScript ile web sayfalarından aldığımız verileri diğer işlem yapacak sayfalara gönderir ve bunların yantılarını yine bize döner. Bu yanıtları işleyerek bir sonuc olarak web sayfalarımıza yansıtırız.

Peki, neden AJAX’a ihtiyaç duyarız ?

İstek gönderme ve yanıtlarını alma işlemini server-side dillerde de yapabiliriz. Fakat AJAX’ı bunlardan ayıran kısım ise bütün bu işlemlerin aSenkron olarak yapılmasıdır.

Yani bir web sayfası server-side bir dil ile gelen verileri işler, bir sonuç yaratır ve bu sonucu ekranda gösterdiğinde o sayfa durmuş demektir. Bütün kodlar çalışır ve bize sonucu gösterir. Başka işlemler yapabilmek için başka sayfalara, başka istekler göndermemiz gerekmektedir. Bu ise farklı bir sayfaya yönlenmek, o sayfanın çalışma ekrana getirilmesi demektir. Kısaca sadece server-side diller ile olşturulan web sayfaları statik‘tir. AJAX ise bu sayfaları dinamik bir hale getirmemizi sağlar . Normalde bir butona basıldığında gerekli işlemler için sunucuya istek gönderilip isteğin yanıtının alınıp sayfanın tekrar ekrana getirilmesine karşın AJAX ile butona basıldığında arka plandaki başka bir sayfa aracılığıyla gerekli işlemleri içeren isteği ve yanıtını dinamik anlamda gönderip, alabiliriz.İşte AJAX bu marifetleri ile işimize çok yarayan bir araç, kavram v.s. olmuştur.

AJAX’ı daha iyi anlayabilmeniz için yaptığım küçük bir örnek.

Örneğimde, bugüne kadar bulabildiğim, en iyi ve Türkçe karakterlerde en sorunsuz XmlHttpRequest kütüphanesi olan eyceks ‘i kullandım.

Örnek

İşlem’i yapan php sayfası

İlerleryen zamanlarda AJAX ile ilgili php mysql kullanılarak yapılmış daha geniş kapsamlı örnekler, AJAX ve php ile yaşayabilceğimiz sorunlar ve çözümleri ile ilgili makaleler yayınlamayı planlıyorum.

Kaynak Dosyalar - Source

google ve marifetleri…

Nisan 19th, 2009 | İsmail PERİM

Bundan 5 dakika önce yeni keşfettiğim bir şey i paylaşmak istedim. Kendi bilgisayarım üzerinde çevrimdışı olarak Outlook’un takvim uygulamasını kullanıyordum. Zaman zaman bilgisayarımdan uzak kaldığım oluyor. Yapmayı planladığım şeyleri internet üzerindeki her ortamdan görmek istedim nedense (: Google takvim i kurcalamaya başladım. Daha önce var olduğunu bildiğim Google & Outlook Sync. uygulamasını ararken Google takvim ayarlarında Mobil sekmesini gördüm (: Tıkladım. Biraz sayfayı inceleyince gördüm ki google takvim etkinliklerini SMS yolu ile bildiriyormuş. İlk başta bunun Türkiye deki operatörler için uygun olmadığını düşündüm (: kısa bir araştırma sonunda 3 operatörümüz tarafındanda desteklendiğini gördüm. Mobil ayarlarını yapmaya koyduldum. Google bunun için bizden bir Telefon numarası istiyor. Numaramızı giriyoruz ve bize bir doğrulama kodu gönderiyor. Telefona gelen kodu ekrandaki kutucuğa yazıp tamam a bastıktan sonra ayarlarımı tamamlamış oldum. Sonra Sync. uygulamasını da indirip kurdum. Şimdi Outlook a akatardığım bi etkinliği hem internette çevrimiçi olarak görebiliyorum, hemde google bu etkinlikleri bana hatırlatıyor. (:
Teknolojiyi ve bir Teknoloji Devi olan Google’ı seviyorum (:

javascript açılır kapanır kutular

Nisan 12th, 2009 | İsmail PERİM

ne için lazım olduğunu bilmiyorum ama bi aralar yazdığım efektli açılır kapanır kutucuklar (:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<script>
//////////////////////////////////////////////////////////////////////////
//                                                                                  
//    Code By ismailperim                                                    
//    http://www.ismailperim.net                                          
//    http://www.ismailperim.com                                         
//    <ismailperim@gmail.com>                                             
//                                                                                  
//                                                                                 
//    Açıklama            : JavaScript Açılır Kapanır Kutucuklar
//
//////////////////////////////////////////////////////////////////////////
 
var slide_divYukseklik = 350;
var slide_say=0;
var slide_intervalID;
var slide_divID;
var slide_px_oran = 10;
function slideKucult_kaynak()
{	
	slide_say+=slide_px_oran;
 
	var id=slide_divID;
	var s = document.getElementById(id).style.height;
	s = eval(s.replace("px",""));
 
	document.getElementById(id).style.height = (s-slide_px_oran) +"px";
	//document.getElementById(id).style.opacity=((20/slide_say));
 
	if(slide_say==slide_divYukseklik-30 || slide_say>slide_divYukseklik-30)
	{	
		document.getElementById(id).style.display="none";
		clearInterval(slide_intervalID);
		slide_say=0;
		document.getElementById(id).style.height="0px";
 
		slide_intervalID=0;
	}	
 
}
function slideKucult(getID)
{
	slide_divID=getID;
	slide_intervalID=setInterval("slideKucult_kaynak()",1);
 
}
 
 
function slideBuyut_kaynak()
{	
	slide_say+=slide_px_oran;
 
	var id = slide_divID;
	var s = document.getElementById(id).style.height;
	s = eval(s.replace("px",""));
 
	document.getElementById(id).style.display="block";	
	//document.getElementById(id).style.opacity=eval(0.003*slide_say);
	document.getElementById(id).style.height = (s+slide_px_oran) +"px";
 
 
 
	if(slide_say==slide_divYukseklik || slide_say>slide_divYukseklik)
	{	
		slide_say=0;
		document.getElementById(id).style.opacity=1;
		clearInterval(slide_intervalID);
	}	
 
}
function slideBuyut(getID)
{
 
	slide_divID=getID;
	slide_intervalID=setInterval("slideBuyut_kaynak()",1);
}
 
 
</script>
 
<br>
<div style="border:1px solid black;width:350px;height:350px;overflow:hidden;background-color:#FEFE9B;padding:3px;" id="name" >
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis ac nunc sed ligula interdum lacinia. Curabitur fringilla magna sit amet dui. Duis urna nunc, laoreet at, vehicula id, dictum sit amet, enim. Quisque lacus dolor, ullamcorper ac, sollicitudin feugiat, mattis nec, mauris. Sed pellentesque semper turpis. Pellentesque vitae enim volutpat purus mattis feugiat. Quisque pellentesque est quis nisl. In porta porttitor elit. In sit amet eros imperdiet mi porta ullamcorper. Duis posuere accumsan nibh. Fusce metus. Nulla nibh. Ut feugiat. Maecenas pulvinar est sit amet velit. Pellentesque tortor enim, convallis vel, feugiat quis, adipiscing sed, mi. Cras interdum varius diam. Sed dapibus. Phasellus faucibus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam risus magna, consectetur in, varius in, porta vitae, lectus. 
 
</div>
<a href="javascript:slideKucult('name');">kapat</a>
<a href="javascript:slideBuyut('name');"></a>

test

javascript slide

Nisan 8th, 2009 | İsmail PERİM

resimleri sırasıyla basit bir kayma efekti ile göstermek isterken ortaya çıkan şey :) ;

 
<script type="text/javascript"><!--mce:0--></script>
<div id="divID" style="visibility:hidden;">1</div>
<div id="divKutu" style="overflow: hidden; height: 60px; width: 150px;">
<div id="goster1">bir</div>
<div id="goster2">iki</div>
<div id="goster3">uc</div>
<div id="goster4">dort</div>
<div id="goster5">bes</div>
</div>

demo

php ve oop

Nisan 7th, 2009 | İsmail PERİM

artık birşeyler paylaşmanın zamanı geldiğini düşündüm. uzun zamandır blogum boş boş dururken (: şimdi “internet dünyasına yararlı olabilcek birşeyler paylaşmak” zamanı geldiğini düşündüm ve ilk olarak php ve sınıflara ilişkin bir örnek hazırlamakla başlayayım dedim.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
 
<?php
////////////////////////////////////////////////////
//
//    Code By ismailperim
//    http://www.ismailperim.net
//    http://www.ismailperim.com
//    <ismailperim@gmail.com>
//
//
//    Açıklama            : PHP ve Sınıflar
//
////////////////////////////////////////////////////
 
class ogrenci {
// Öğrencinin Property'leri
 
var $adi;
var $soyadi;
var $sinav1;
var $sinav2;
var $not;
 
// Methodlar
function adi_belirle ($n) {
$this->adi = $n;
 
}
function soyadi_belirle ($n) {
$this->;soyadi = $n;
}
function sinav1_belirle ($n) {
$this->sinav1 = $n;
}
function sinav2_belirle ($n) {
$this->sinav2 = $n;
}
function not_hesapla() {
$this->not = ($this->sinav1 + $this->sinav2)/2;
print ($this->adi. " " . $this->soyadi . "  not ortalaması: ". $this->not);
}
}
//Şimdi yeni bir sınıf türetelim
 
$ogr1 =  new ogrenci();
$ogr1 -> adi_belirle("ismail");
$ogr1 -> soyadi_belirle("perim");
$ogr1 -> sinav1_belirle(70);
$ogr1 -> sinav2_belirle(100);
$ogr1 -> not_hesapla();
 
// Sınıflar sayesinde bu örnekte birbirinin aynı özellikleri taşıyan bir çok öğrenciyi aynı sınıf altında toplayabilir, birbirinden bağımsız sınıflar türeterek her öğrenci için yapılması gereken işlemleri
 
// yaptırabiliriz.
 
?>

yeniden !

Mart 30th, 2009 | İsmail PERİM

uzun bir süredir blogum kapalıydı. en son sisteminin çökmesi sonucunda blogum kapanmıştı. sistemin yeniden yapılandıktan sonra ise artık blog scriptimi değiştirmem gerektiğine karar vermiştim fakat okul, iş, projeler v.b şeylerin yoğunluğu yüzünden yeni script yazmaya vakit bulamadım ve dedim artık wp zamanı (: hayatmda ilk defa wp kullanıyorum ve bu wp den yolladığım ilk postum (: bi süre burdan devam bakalım .