Eklenti Geliştirme API'si

Bu API, betiğin eski ve gelecek 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 çalışacağından emin olabilirsiniz. Bu, yeni sürümlerde kodun çalışmasını ve uyarlanmasını kolaylaştırır. Ayrıca, API kullanırken veri almak için kendi fonksiyonunuzu yazmanıza gerek yoktur, veritabanıyla çalışmak için sınıfları bağlamanız ve tanımlamanız gerekmez. Basitçe API dosyasını bağlayın ve fonksiyonlarını kullanmaya başlayın, gerisini API kendi üzerine alır.

API'yi Kullanma

Bir eklentide API'yi kullanmak için, onu dahil etmelisiniz:

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

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

API Fonksiyonları Listesi

Kullanıcı İşlemleri

Fonksiyon Açıklama
$dle_api->take_user_by_id( int $id [, string $select_list] ) Kullanıcı hakkındaki bilgilerin dizisini kimliğine göre alır. İsteğe bağlı parametre $select_list, alınacak veritabanı alanlarının bir listesini veya * ile tümünü belirtir. Kullanıcı hakkındaki bilgilerin bir dizisini döndürür veya kullanıcı bulunamazsa false değerini döndürür.
$dle_api->take_user_by_name( string $name [, string $select_list]) Kullanıcı hakkındaki bilgilerin dizisini kullanıcı adına göre alır. İsteğe bağlı parametre $select_list, alınacak veritabanı alanlarının bir listesini veya * ile tümünü belirtir. Kullanıcı hakkındaki bilgilerin bir dizisini döndürür veya kullanıcı bulunamazsa false değerini döndürür.
$dle_api->take_user_by_email( string $email [, string $select_list]) Kullanıcı hakkındaki bilgilerin dizisini e-postasına göre alır. İsteğe bağlı parametre $select_list, alınacak veritabanı alanlarının bir listesini veya * ile tümünü belirtir. Kullanıcı hakkındaki bilgilerin bir dizisini döndürür veya kullanıcı bulunamazsa false değerini döndürür.
$dle_api->take_users_by_group( int $group_id [, string $select_list [, int $limit]]) Kullanıcılar hakkında bilgi dizisini kullanıcı grubuna göre alır. İsteğe bağlı parametre $select_list, alınacak veritabanı alanlarının bir listesini belirtir. İsteğe bağlı parametre $limit, döndürülecek kullanıcıların sayısının sınırını belirtir. Kullanıcı hakkındaki bilgilerin bir dizisini döndürür veya kullanıcı bulunamazsa false değerini döndürür.
$dle_api->take_users_by_ip( string $ip, [, bool $like [, string $select_list [, int $limit]]]) IP'ye göre kullanıcıların listesini alma, ikinci parametre $like, arama için tam veya tam olmayan eşleşme kullanılıp kullanılmayacağını belirtir. İsteğe bağlı parametre $select_list, alınacak veritabanı alanlarının bir listesini belirtir. İsteğe bağlı parametre $limit, döndürülecek kullanıcıların sayısının sınırını belirtir. Kullanıcı hakkındaki bilgilerin bir dizisini döndürür veya kullanıcı bulunamazsa false değerini döndürür.
$dle_api->change_user_name( int $user_id, string $new_name) Kullanıcının giriş adını değiştirir. user_id, giriş adı değiştirilecek kullanıcının kimliğidir. new_name, yeni kullanıcı giriş adıdır. Dönüş değerleri: başarıyla tamamlanırsa true, yeni ad zaten başka bir kullanıcı tarafından alınmışsa false.
$dle_api->change_user_pass( int $user_id, string $new_pass) Kullanıcının şifresini değiştirir. user_id, şifresi değiştirilecek kullanıcının kimliğidir. new_pass, yeni kullanıcı şifresidir.
$dle_api->change_user_email( int $user_id, string $new_email) Kullanıcının e-postasını değiştirir. user_id, e-postası değiştirilecek kullanıcının kimliğidir. new_email, yeni kullanıcı e-postasıdır. Dönüş değerleri: 1 - başarıyla tamamlandı, -1 - bu e-posta zaten alınmış, -2 - hatalı e-posta.
$dle_api->change_user_group( int $user_id, int $new_group) Kullanıcı grubunu değiştirir. user_id, grubu değiştirilecek kullanıcının kimliğidir. new_group, yeni kullanıcı grubunun kimliğidir. Dönüş değerleri: başarıyla tamamlanırsa true, var olmayan bir grup kimliği belirtilirse false.
$dle_api->external_auth( string $login, string $password) Kullanıcı adı ve şifre kullanarak giriş yapma. Dönüş değerleri: true - yetkilendirme başarılı, false - kullanıcı adı veya şifre doğru değil.
$dle_api->external_register( string $login, string $password, string $email, int $group) Veritabanında kullanıcı kaydı. İşleve aşağıdakiler aktarılır: Giriş adı, şifre, e-posta ve kullanıcının kaydedileceği grup numarası. Dönüş değerleri: 1 - başarıyla tamamlandı, -1 - bu kullanıcı adı zaten alınmış, -2 - bu e-posta zaten alınmış, -3 - hatalı e-posta, -4 - var olmayan grup belirtildi.
$dle_api->send_pm_to_user ( int $user_id, string $subject, string $text, string $from) Kullanıcıya kişisel mesaj gönderme. $user_id - alıcının kimliği. $subject - mesajın konusu. $text - mesajın metni. $from - gönderenin kullanıcı adı. Dönüş değerleri: 1 - başarıyla tamamlandı, -1 - alıcı bulunamadı, 0 - veritabanı hatası.

Veritabanı İşlemleri

Fonksiyon Açıklama
$dle_api->load_table ( string $table [, string $fields [, string $where [, bool $multirow [, int $start [, int $limit [, string $sort [, string $sort_order]]]]]])

Veritabanı tablosundan bilgi alma.

  • $table - tablo adı
  • $fields - virgülle ayrılmış gerekli alanlar veya * ile tümü
  • $where - örnekleme koşulu
  • $multirow - bir satır veya daha fazlasını alma
  • $start - örneğin başlangıç değeri
  • $limit - örnek için girişlerin sayısı, 0 - tümünü seç
  • $sort - sıralama için kullanılan alan
  • $sort_order - sıralama düzeni

Belirtilen kriterlere göre veritabanında hiçbir şey bulunamazsa veri dizisi veya false değerini döndürür.

Önbellek İşlemleri

Fonksiyon Açıklama
$dle_api->save_to_cache ( string $fname, mixed $vars) Verileri bir önbellek dosyasına yazma. $fname, uzantısı olmayan önbellek dosyasının adını belirtir. $vars - önbelleğe yazılacak veri.
$dle_api->load_from_cache ( string $fname, [, int $timeout [, string $type]]) Önbellek dosyasından veri okuma. $fname, uzantısı olmayan önbellek dosyasının adını belirtir. İsteğe bağlı parametre $timeout, önbellekten alınan bilgilerin ilgili kabul edildiği saniye sayısını belirtir. Önbellek dosyası güncel değilse, işlev false değerini döndürür. İsteğe bağlı parametre $type, önbellekte saklanacak veri türünü belirtir. 'text' değilse - dizinin saklandığı kabul edilir ve veri dizisi döndürülür.
$dle_api->clean_cache ( [string $name] ) Önbelleği silme. İsteğe bağlı parametre $name, silmek istediğiniz belirli bir dosya adını uzantısı olmadan belirtir.
$dle_api->get_cached_files() Önbellek dosyalarının adlarını içeren bir dizi alın.

Diğer İşlemler

Fonksiyon Açıklama
$dle_api->edit_config ( mixed $key, [, string $new_value])

Betik ayarlarını değiştirme ve kaydetme.

$key parametresi string veya array olabilir:

  • string: Parametrenin adı
  • array: Parametrelerin ilişkisel dizisi

$new_value - parametrenin değeri. $key bir dizi ise kullanılmaz.

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

Haberleri alma

  • $cat - virgülle ayrılmış haber kategorileri
  • $fields - alınan haber alanlarının listesi veya * ile tümü
  • $start - örneğin başlangıç değeri
  • $limit - örnek için makalelerin sayısı, 0 - tümünü seç
  • $sort - sıralama için kullanılan alan
  • $sort_order - sıralama düzeni

Haberlerle ilişkisel 2 boyutlu bir dizi döndürür.

$dle_api->checkGroup ( int $group ) Bu grubun var olup olmadığını kontrol eder. Dönüş değerleri: grup mevcutsa true, grup mevcut değilse false.

Yönetim Paneli Modülleri

Fonksiyon Açıklama
$dle_api->install_admin_module ( string $name, string $title, string $descr, string $icon [, string $perm] )

Betiğin Yönetim Paneline üçüncü taraf bir eklenti kurulumu.

  • $name - engine/inc/ klasöründen bir .php dosyasıdır, ancak dosya uzantısı olmadan.
  • $title - Eklentinizin başlığı.
  • $descr - Eklentinizin açıklaması.
  • $icon - Modülünüzün yolu olmayan simgesinin adını içerir. Simge engine/skins/images/ konumunda bulunmalıdır (gereklidir). Önerilen simge boyutu 70 x 70 pikseldir.
  • $perm - Bu eklentinin izin verildiği gruplar hakkında bilgi içerir. Bu alan şu değerleri alabilir: all veya virgüllerle ayrılmış grupların kimlikleri. Örneğin: 1,2,3. all değeri belirtilirse, eklenti Yönetim Paneline erişimi olan tüm kullanıcılar için görüntülenecektir.
$dle_api->uninstall_admin_module ( string $name ) Yönetim Panelinden üçüncü taraf eklentisini sil. $name - kaldırılacak modülün adı.
$dle_api->change_admin_module_perms ( string $name, string $perm )

Yönetim Panelinde üçüncü taraf bir eklentiyi görmeye izin verilen kullanıcı gruplarını değiştirme.

  • $name - Eklentinizin başlığı.
  • $perm - Bu eklentinin izin verildiği gruplar hakkında bilgi içerir. Bu alan şu değerleri alabilir: all veya virgüllerle ayrılmış grupların kimlikleri. Örneğin: 1,2,3. all değeri belirtilirse, eklenti Yönetim Paneline erişimi olan tüm kullanıcılar için görüntülenecektir.

Tam API'nin geliştirilmesi henüz başlamıştır ve şu anda API sınırlı bir işlev kümesine sahiptir. Bu nedenle, bu API'nin geliştirilmesine ilgisi olan herkesten, forumda özel olarak oluşturulan bir konuyu ziyaret etmelerini ve yeni sürümlerde hangi yeni özellikleri görmek istediğiniz hakkında geri bildirimde bulunmalarını rica ediyoruz. Betiğin tüm etkileşim yönlerini kapsayan eksiksiz bir API oluşturmamıza yardımcı olabilirsiniz.