Eklenti Geliştirme API'si

Bu API, script'in eski ve gelecekteki sürümleriyle uyumlu eklentilerin geliştirilmesi için tasarlanmıştır. Veritabanından veri almak için API'yi kullanırsanız, kodun gelecekteki sürümlerde de çalışacağından emin olabilirsiniz. Bu, yeni sürümlerde kodun çalışmasını ve uyarlanmasını kolaylaştırır. Ayrıca, API'yi kullanırken veri almak için kendi fonksiyonunuzu yazmanıza gerek yoktur, veritabanı ile çalışmak için sınıfları bağlamaya ve bildirmeye gerek yoktur. Sadece API dosyasını bağlayın ve fonksiyonlarını kullanmaya başlayın, geri kalan her şeyi kendi üzerine alır.

API Kullanımı

API'yi bir eklentide kullanmak için onu dahil etmeniz gerekir:

include ('engine/api/api.class.php');

Bu durumda, veritabanına bir bağlantı olup olmadığını veya gerekli sınıfların bağlı olup olmadığını düşünmenize gerek yoktur. Bu kod, DLE script dosyalarında ve DLE ile ilgili olmayan diğer script'lerde kullanılabilir. Bu, DLE script'inin forumlar gibi diğer script'lerle standartlaştırılmış entegrasyonlarını düzenlemenize olanak tanır.


API Fonksiyonları Listesi:

Kullanıcı Bilgisi Alma (ID ile)

$dle_api->take_user_by_id( int $id [, string $select_list] );

Kullanıcının ID'sine göre bir dizi bilgi alır. İsteğe bağlı $select_list parametresi, alınacak veritabanı alanlarının bir listesini veya tümü için * işaretini gösterir. Kullanıcı hakkında bir dizi bilgi veya kullanıcı bulunamazsa false döndürür.

Kullanıcı Bilgisi Alma (Kullanıcı Adı ile)

$dle_api->take_user_by_name( string $name [, string $select_list]);

Kullanıcının giriş adına göre bir dizi bilgi alır. Kullanıcı hakkında bir dizi bilgi veya kullanıcı bulunamazsa false döndürür.

Kullanıcı Bilgisi Alma (E-posta ile)

$dle_api->take_user_by_email( string $email [, string $select_list]);

Kullanıcının e-postasına göre bir dizi bilgi alır. Kullanıcı hakkında bir dizi bilgi veya kullanıcı bulunamazsa false döndürür.

Kullanıcıları Gruba Göre Alma

$dle_api->take_users_by_group( int $group_id [, string $select_list [, int $limit]]);

Kullanıcı grubuna göre bir dizi kullanıcı bilgisi alır. İsteğe bağlı $limit parametresi, döndürülecek kullanıcı sayısının sınırını belirtir. Kullanıcılar hakkında bir dizi bilgi veya kullanıcı bulunamazsa false döndürür.

Kullanıcıları IP'ye Göre Alma

$dle_api->take_users_by_ip( string $ip, [, bool $like [, string $select_list [, int $limit]]]);

IP'ye göre bir kullanıcı listesi alır, ikinci parametre $like arama için tam veya yaklaşık eşleşme kullanılacağını belirtir. Kullanıcılar hakkında bir dizi bilgi veya kullanıcı bulunamazsa false döndürür.

Kullanıcı Adını Değiştirme

$dle_api->change_user_name( int $user_id, string $new_name);

$user_id kullanıcısının adını $new_name olarak değiştirir. Başarılıysa true, yeni ad zaten alınmışsa false döndürür.

Kullanıcı Şifresini Değiştirme

$dle_api->change_user_pass( int $user_id, string $new_pass);

$user_id kullanıcısının şifresini $new_pass olarak değiştirir.

Kullanıcı E-postasını Değiştirme

$dle_api->change_user_email( int $user_id, string $new_email);

$user_id kullanıcısının e-postasını $new_email olarak değiştirir. Dönüş değerleri: 1 - başarılı, -1 - bu e-posta zaten alınmış, -2 - geçersiz e-posta.

Kullanıcı Grubunu Değiştirme

$dle_api->change_user_group( int $user_id, int $new_group);

$user_id kullanıcısının grubunu $new_group olarak değiştirir. Başarılıysa true, var olmayan bir grup ID'si belirtilirse false döndürür.

Harici Yetkilendirme

$dle_api->external_auth( string $login, string $password);

Kullanıcı adı ve şifre kullanarak giriş yapar. Dönüş değerleri: true - yetkilendirme başarılı, false - kullanıcı adı veya şifre yanlış.

Harici Kayıt

$dle_api->external_register( string $login, string $password, string $email, int $group);

Veritabanına kullanıcı kaydı yapar. Dönüş değerleri: 1 - başarılı, -1 - bu kullanıcı adı zaten alınmış, -2 - bu e-posta zaten alınmış, -3 - geçersiz e-posta, -4 - var olmayan bir grup belirtildi.

Kullanıcıya Özel Mesaj Gönderme

$dle_api->send_pm_to_user ( int $user_id, string $subject, string $text, string $from);

Bir kullanıcıya özel mesaj gönderir. Dönüş değerleri: 1 - başarılı, -1 - alıcı bulunamadı, 0 - veritabanı hatası.

Veritabanı Tablosundan Bilgi Yükleme

$dle_api->load_table ( string $table [, string $fields [, string $where [, bool $multirow [, int $start [, int $limit [, string $sort [, string $sort_order]]]]]]]);

Bir veritabanı tablosundan bilgi alır. Belirtilen kriterlerde veritabanında hiçbir şey bulunmazsa bir veri dizisi veya false döndürür.

Önbelleğe Kaydetme

$dle_api->save_to_cache ( string $fname, mixed $vars);

Verileri bir önbellek dosyasına yazar. $fname uzantısız önbellek dosyasının adını belirtir.

Önbellekten Yükleme

$dle_api->load_from_cache ( string $fname,  [, int $timeout [, string $type]]);

Bir önbellek dosyasından veri okur. İsteğe bağlı $timeout parametresi, önbellekten gelen bilgilerin geçerli kabul edildiği saniye sayısını belirtir.

Önbelleği Temizleme

$dle_api->clean_cache (  [string $name] );

Önbelleği siler. İsteğe bağlı $name parametresi, silmek istediğiniz uzantısız belirli bir dosya adını belirtir.

Önbellek Dosyalarını Alma

$dle_api->get_cached_files();

Önbellek dosyalarının adlarını içeren bir dizi alır.

Script Ayarlarını Düzenleme

$dle_api->edit_config ( mixed $key,  [, string $new_value]);

Script ayarlarını değiştirir ve kaydeder.

Haberleri Alma

$dle_api->take_news ( string $cat,  [, string $fields [, int $start [, int $limit [, string $sort [, string $sort_order]]]]]);

Haberleri alır. Haberlerle birlikte ilişkisel 2 boyutlu bir dizi döndürür.

Grup Kontrolü

$dle_api->checkGroup ( int $group );

Bu grubun var olup olmadığını kontrol eder. Grup varsa true, yoksa false döndürür.

Yönetici Modülü Kurulumu

$dle_api->install_admin_module ( string $name, string $title, string $descr, string $icon [, string $perm] );

Script'in Yönetim Paneli'ne üçüncü taraf bir eklenti kurulumu yapar.

Yönetici Modülü Kaldırma

$dle_api->uninstall_admin_module ( string $name );

Üçüncü taraf eklentiyi Yönetim Paneli'nden siler.

Yönetici Modülü İzinlerini Değiştirme

$dle_api->change_admin_module_perms ( string $name, string $perm );

Yönetim Paneli'nde üçüncü taraf bir eklentiyi görmesine izin verilen kullanıcı gruplarını değiştirir.


Geliştirme Süreci
Tam API'nin geliştirilmesi yeni başladı ve şu anda API'nin sınırlı bir işlev seti bulunmaktadır. Bu nedenle, bu API'nin geliştirilmesiyle ilgilenen herkesten, forumda özel olarak oluşturulmuş bir konuyu ziyaret etmelerini ve yeni sürümlerde görmek istedikleri yeni özellikler hakkında geri bildirimlerini bırakmalarını rica ediyoruz. Script ile etkileşimin tüm yönlerini kapsayan tam bir API oluşturmamıza yardımcı olabilirsiniz.