Acrobat Connect Pro’da Harici Kimlik Doğrulama İle Sanal Sınıf Başlatma

Aşağıdaki kod ile Adobe Connect Pro’da kimlik doğrulama gerçekleştirilerek sanal sınıf başlatılmıştır.
Kullanıcı “sanalsinif” isimli sanal sınıfa daha önceden katılımcı, toplantı sahibi veya sunucu olarak tanıtılmış olmalıdır”.

class Connect
{
	var $site_url = "http://connect.site.edu.tr";
	var $cookie;
	var $hata;
 
	private function cookie(){
		$xml = simplexml_load_file($this->site_url."/api/xml?action=common-info");
		$this->cookie = $xml->common->cookie;
	}
 
	public function giris_oturum_id($kul_adi,$kul_sifre){
		$this->hata='';
		$this->cookie();
		$ch = curl_init($this->site_url."/api/xml?action=login&login=$kul_adi&password=$kul_sifre&session=".$this->cookie);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
		echo $sonuc = curl_exec($ch);
		if($sonuc === false){
			return false;
		}else{
			if($xml = simplexml_load_string($sonuc)){
				if($xml->status->attributes()->code == 'ok'){
					return $this->cookie;
				}else{
					return false;
				}
			}else{
				$this->hata = "XML dizgesi yüklenemedi.";
				return false;
			}
		}
		curl_close($ch);
		return false;
	}
 
 }
$connect = new Connect();
$connect_oturum_id = $connect->giris_oturum_id($_SESSION['KullaniciAdi'],$sifre);
<a href="http://connect.site.edu.tr/sanalsinif/?session='.$connect_oturum_id.'">Sanal sınıfa gitmek için lütfen tıklayınız.</a>

Acrobat Connect Pro’ya web servis yoluyla giriş yapma ve kullanıcı ekleme

Acrobat Connect Pro’ya web servis yoluyla giriş yapma ve kullanıcı eklemek için php’nin curl kütühanesini kullandım. Aşağıdaki class sadece Connect Proya giriş yapıyor ve kullanıcı ekliyor. Kullanıcı silme, gruplara üye yapma gibi işlemler de eklenebilir. $site_url, $yonetici_adi ve $yonetici_sifre bilgilerini kendi hesap bilgileriniz ile değiştirin.

class Connect
{
	var $site_url = "http://connect.site.edu.tr";
	var $yonetici_adi = "kullanıcı adı";
	var $yonetici_sifre = "şifre";
	var $cookie;
	var $hata;
	var $kul_id;
	var $kul_adi;
	var $kul_soyadi;
	var $kul_parola;
	var $kul_eposta;
	var $kul_TC_kimlik_no;
	var $kul_bolum_id;
	var $grup_id;
	var $principal_id;
	var $mesaj;
 
	private function cookie(){
		$xml = simplexml_load_file($this->site_url."/api/xml?action=common-info");
		$this->cookie = $xml->common->cookie;
	}
 
	public function giris(){
		$this->hata='';
		$this->cookie();
		$ch = curl_init($this->site_url."/api/xml?action=login&login=$this->yonetici_adi&password=$this->yonetici_sifre&session=".$this->cookie);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
		$sonuc = curl_exec($ch);
		if($sonuc === false){
			$this->hata = curl_error($ch);
			return false;
		}else{
			if($xml = simplexml_load_string($sonuc)){
				if($xml->status->attributes()->code != 'ok'){
					$this->hata = "Giriş başarısız!";
					return false;
				}
			}else{
				$this->hata = "XML dizgesi yüklenemedi.";
				return false;
			}
		}
		curl_close($ch);
		return true;
	}
 
	public function kul_yarat($kul_id){
		$this->hata='';
		$this->kul_id = $kul_id;
		$this->kul_bilgi($this->kul_id);
		$ch = curl_init($this->site_url."/api/xml?action=principal-update&first-name=$this->kul_adi&last-name=$this->kul_soyadi&login=$this->kul_TC_kimlik_no&password=$this->kul_parola&type=user&send-email=false&has-children=0&email=$this->kul_eposta&session=".$this->cookie);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
		$sonuc = curl_exec($ch);
		if($sonuc === false){
			$this->hata =  curl_error($ch);
			return false;
		}else{
			if($xml = simplexml_load_string($sonuc)){
				if($xml->status->attributes()->code == 'ok'){
				}elseif($xml->status->attributes()->code == 'invalid'){
					if($xml->status->invalid->attributes()->subcode == 'duplicate'){
						$this->hata = "Bu kullanıcı adı sisteme girilmiş";
						return false;
					}else{
						$this->hata = "Kullanıcı eklenemedi!";
						return false;
					}
				}else{
					$this->hata = "Kullanıcı eklenemedi!";
				}
			}else{
				$this->hata = "XML dizgesi yüklenemedi.";
				return false;
			}
		}
		curl_close($ch);
		return true;
	}
 
	private function kul_bilgi(){
		global $db;
		$kul = $db->satir("select * from kullanici where ID='$this->kul_id'");
		$this->kul_adi = $kul->Ad;
		$this->kul_soyadi = $kul->Soyad;
		$this->kul_parola = '123456';
		$this->kul_eposta = $kul->ePosta;
		$this->kul_TC_kimlik_no = $kul->TCKimlikNo;
		$this->kul_bolum_id = $kul->BolumID;
	}
}
 
$connect = new Connect();
if($connect->giris() === false){
	echo $connect->hata;
}else{
$connect->kul_yarat(1002)
}

Javascript İle Karakter Girişini Engelleme

Formumuzda bir yaş alanımız olsun ve bu alana sadece rakam girilebilsin. Yani karakter girişini engelleyelim.

Javascript fonksiyonu aşağıdaki gibidir:
Tuş kodu yani ascii kodu 48 ile 57 -bunlar 0,1,2,3,4,5,6,7,8,9 rakamlarıdır- arasında ise rakama basılmıştır.

function rakamKontrol(olay){
	var tusKodu;
	if(window.event){ // IE
		tusKodu = olay.keyCode
	}else if(olay.which){ // Netscape/Firefox/Opera
		tusKodu = olay.which;
	}
	//alert(tusKodu)
	if(tusKodu == 8){ // backspace tuşuna da izin vermek istiyorsak 
		return true;
	}
	if (tusKodu < 48 || tusKodu > 57){
	    tusKodu.keyCode = 0;
	    return  false;
	}
	else{
	    return true;
	}
}

Javascripte onkeypress olayı bir tuşa basıldığında veya tuşa basılı tutulduğunda tetiklenir. Yas alanımızın onkeypress olayına yukardaki fonksiyonu yazıyoruz.

<input type="text" name="yas" onkeypress="return rakamKontrol(event)" />

Too many connections hatası

Mysql servera yapılan bağlantı sınırı sayısı  aşıldığında  “Too many connections” hatasını alırız. Öncelikle betiklerimizde açtığımız bağlantıların işimiz bittiğinde kapatıldığından emin olmalıyız.  Yani betiklerimiz en altında mysql_close() ile açtığımız bağlantıları kapatmalıyız. Eğer hala Bu hatayı alıyorsak windows sistemlerde my.ini, linux sistemlerdeki my.cnf dosyasında bulunan max_connections değişkeninin değerini yükseltabiliriz. Bu değerin gereğinde fazla artırılması sistem performansını düşereceğinden ihtiyaca göre yükseltilmelidir.  Varsayılan olarak bağlantı sınırı sayısı 100 dür. Aşağıdaki gibi arttırabiliriz.

max_connections = 150

Javascript İle Sağ Tuş Kullanımını Engelleme

Sayfalarımızdaki içeriği korumak için sağ tuş kullanımını engelleyebiliriz.

Javascript kodu:

function sagTus(){
	alert("Sağ tuşa izin verilmemektedir!");
	return false;
}

Body etiketine eklenecek olay ve fonksiyon:

<body onContextMenu="return sagTus();">