Türkiye Sanal Havacılık Forumu

IVAO Türkiye Bölümü => Genel Konular & Duyurular => Topic started by: KEMAL EMRE ÖZTİRYAKİ on January 24, 2015, 06:20:05

Title: IVAO TR Event API
Post by: KEMAL EMRE ÖZTİRYAKİ on January 24, 2015, 06:20:05
Merhabalar,

Bildiğiniz gibi divizyonumuz aktif şekilde etkinlikler düzenlemektedir. Bu etkinlikler forum üzerinden ve ayrıca websitemiz üzerinden duyurulmaktadır. Bu kapsamda havayollarımıza IVAO TR sitesindeki etkinlikleri kendi sitelerinde gösterecek bir api tasarlamış bulunmaktayım.


API'yi nasıl kullanabiliriz?

API için herhangi bir başvuru yapmanıza gerek yoktur. API'ye http://tr.ivao.aero/eventapi.php adresinden ulaşabilirsiniz. Size döndürülecek veri json formatında olacağından, mevcut servis sağlayıcınızın (hosting şirketinizin) json_decode fonksiyonunu çalıştırabileceğinizden emin olunuz. Gelecek veri aşağıdaki formattadır:

{ "Etkinlik Numarası" : { "TITLE" : "Etkinlik Başlığı", "DATE" : "Etkinlik Tarihi", "BODY" : "İçerik", "IMAGE" : "Etkinlik Resminin Linki", "LINK" : "Forum Başlığı Linki" }


Önemli Not!

Sitenizde direkt olarak bu linki çalıştırmamanız gerektiğini, mümkün mertebe cronjob ile 30 dk, 1 saatlik aralıklarla veriyi çekerek kendi veritabanınıza işlemenizi öneririm.


Örnek kod:

Aşağıdaki kod ile veriyi çekerek kendi veritabanınıza işleyebilirsiniz. Ardından sitenizde kendi veritabanınızda olan bilgilerle etkinliği görüntüleyebilirsiniz.

* Kod içindeki mysql() fonksiyonları, yeni nesil mysqli() ile değiştirilmiştir. Sisteminiz PHP 7 altında ve hala mysql() kullanıyorsa, lütfen uygun değişikliği yapınız.
Code: [Select]
<?php

$file 
file_get_contents("https://tr.ivao.aero/eventapi.php"); // Veriyi çekiyoruz

$json json_decode($file); // json decode ile çözümleme işlemi yapıyoruz

foreach ($json as $jarr){ // Herbir etkinlik için döngü yaratıyoruz
$res mysqli_query($conn_link"SELECT * FROM `ETKINLIK_TABLOSU` WHERE ETKINLIK_IDSI= ".$eventid); //Kendi veritabanımızda bu kayıt var mı?
// Kayıt yoksa yeni kayıt işleyecek, varsa mevcutu güncelleme yoluna gideceğiz.
if ( mysqli_num_rows($res) == )
{
// $eventid , mysqli_real_escape_string($conn_link, $jarr->TITLE) , $jarr->DATE , mysqli_real_escape_string($conn_link, $jarr->BODY) , $jarr->IMAGE
// ve $jarr->LINK değişkenlerini veritabanına EKLEME (INSERT) sorgusu çalıştırıyoruz. İçerikte ve başlıkta 
// sorguyu hataya sürükleyecek kesme işaretleri olabileceğinden dolayı mysqli_real_escape_string fonksiyonunu kullanınız.
mysqli_query($conn_link$query);
} else {
// $eventid , mysqli_real_escape_string($conn_link, $jarr->TITLE) , $jarr->DATE , mysqli_real_escape_string($conn_link, $jarr->BODY) , $jarr->IMAGE
// ve $jarr->LINK değişkenlerini veritabanına GÜNCELLEME (UPDATE) sorgusu çalıştırıyoruz. İçerikte ve başlıkta 
// sorguyu hataya sürükleyecek kesme işaretleri olabileceğinden dolayı mysqli_real_escape_string() fonksiyonunu kullanınız.
mysqli_query($conn_link$query);
}
};

?>




(http://www.thyva.com/images/ivaotr.png)
IVAO TR Web Development Department
Title: Re: IVAO TR Event API
Post by: FIRAT BİŞKİN on January 24, 2015, 13:21:14
Eline sağlık Emre VA'lar adına çok yararlı olacağını düşünüyorum.
Title: Re: IVAO TR Event API
Post by: ALP YENI on January 24, 2015, 14:08:11
Süpersin Kemal abi! Bodrum'a döner dönmez uyguluyorum. Ellerine kollarına sağlık!  :))
Title: Re: IVAO TR Event API
Post by: VEYSEL SEKER on January 24, 2015, 19:32:25
+1
Title: Re: IVAO TR Event API
Post by: EMRE YALIMKILINC on January 25, 2015, 14:15:22
Harika olmuş emre hocam ellerine sağlık...
Title: Re: IVAO TR Event API
Post by: ALP YENI on October 26, 2018, 12:04:37
Önemli Bilgilendirme!

API adresimiz https://tr.ivao.aero olarak değişmiştir. Yeni API'ye https://tr.ivao.aero/eventapi.php adresinden ulaşabilirsiniz. Uygulamalarınıza gerekli güncellemeyi yapmayı lütfen unutmayınız.  ;)

(http://www.thyva.com/images/ivaotr.png)
IVAO TR Web Development Department
Title: Re: IVAO TR Event API
Post by: ALP YENI on October 30, 2018, 11:55:59
Önemli Bilgilendirme!

IVAO Türkiye Event API'de, yeni sunucuya entegre amaçlı küçük bir değişiklik yaptık. Bu değişiklik sonucu eskiden foreach ($json as $eventid => $jarr) olarak döngüye soktuğumuz API verilerini, artık foreach($json as $jarr) şeklinde döngüye sokmalısınız.

Uygulamalarınızı bu güncellemeye uygun şekilde kontrol etmeyi lütfen unutmayınız.

Güncellemeye Göre Örnek Kod:
* Kod içindeki mysql() fonksiyonları, yeni nesil mysqli() ile değiştirilmiştir. Sisteminiz PHP 7 altında ve hala mysql() kullanıyorsa, lütfen uygun değişikliği yapınız.
Code: [Select]
<?php

$file 
file_get_contents("https://tr.ivao.aero/eventapi.php"); // Veriyi çekiyoruz

$json json_decode($file); // json decode ile çözümleme işlemi yapıyoruz

foreach ($json as $jarr){ // Herbir etkinlik için döngü yaratıyoruz
$res mysqli_query($conn_link"SELECT * FROM `ETKINLIK_TABLOSU` WHERE ETKINLIK_IDSI= ".$eventid); //Kendi veritabanımızda bu kayıt var mı?
// Kayıt yoksa yeni kayıt işleyecek, varsa mevcutu güncelleme yoluna gideceğiz.
if ( mysqli_num_rows($res) == )
{
// $eventid , mysqli_real_escape_string($conn_link, $jarr->TITLE) , $jarr->DATE , mysqli_real_escape_string($conn_link, $jarr->BODY) , $jarr->IMAGE
// ve $jarr->LINK değişkenlerini veritabanına EKLEME (INSERT) sorgusu çalıştırıyoruz. İçerikte ve başlıkta 
// sorguyu hataya sürükleyecek kesme işaretleri olabileceğinden dolayı mysqli_real_escape_string fonksiyonunu kullanınız.
mysqli_query($conn_link$query);
} else {
// $eventid , mysqli_real_escape_string($conn_link, $jarr->TITLE) , $jarr->DATE , mysqli_real_escape_string($conn_link, $jarr->BODY) , $jarr->IMAGE
// ve $jarr->LINK değişkenlerini veritabanına GÜNCELLEME (UPDATE) sorgusu çalıştırıyoruz. İçerikte ve başlıkta 
// sorguyu hataya sürükleyecek kesme işaretleri olabileceğinden dolayı mysqli_real_escape_string() fonksiyonunu kullanınız.
mysqli_query($conn_link$query);
}
};

?>


(http://www.thyva.com/images/ivaotr.png)
IVAO TR Web Development Department