ForumCreate 🚀

Genel Bakış #

[MusaPekel] - ApiForumCreate, harici bir API kaynağından kategori ve forum yapıları çekip yönetim panelinden tek tıkla kurulum yapmanızı sağlar. Büyük forum setlerini saniyelere indirir.

Uyumluluk

XF 2.3 ile tam uyumludur.


Temel Özellikler #

  • Harici Kaynak:
  • URL’den JSON ya da admin seçenekli sabit uçtan veri çekme (loadSpecFromSources).

  • Seç–Kur:
  • Grupları / alt forumları tek tek seçip kurulum (actionMusaForumCreate, filterSpecByPacks).

  • Flatten Mantığı:
  • Alt forumlar üst kategoriye düz liste olarak kurulur (createForumLevel).

  • Tekrarlananı Atla:
  • Aynı başlık + aynı üst node mevcutsa atlanır (skipIfExists / findExisting).


Kullanım #

Admin Ekranı (Seç–Kur) #

JSON yükle, grupları gözden geçir ve seçerek kur.

  • Adres: /admin.php?nodes/musa-forum-create
  • Önizleme: gruplar ve forum sayıları (buildGroupsMeta, listTopForums)
  • POST ile seçim → Installer servisine kurulum

Hızlı Kurulum (Run) #

Seçim yapmadan tüm veriyi kurar.

  • Adres: /admin.php?nodes/musa-forum-create-run
  • loadSpecFromSources(true) ile veri çekilir ve direkt kurulur
  • ?url= parametresi veya admin option ile kaynak

Kaynak Belirleme Önceliği #

  1. ?url= ile gelen JSON
  2. Admin Option: musaForumCreateSourceUrl → sabit endpoint
  3. İkinci deneme (opsiyonel) URL parametresi

Eklenti Yükleme #

Arşivden (tek tık) veya FTP ile kurabilirsiniz.

Ön Koşul – Arşiv Kurulumunu Etkinleştirme

src/config.php dosyasına ekleyin:

$config['enableAddOnArchiveInstaller'] = true;

1) Arşivden Yükleme / Yükseltme #

  1. Sunucuda ZipArchive etkin olmalı.
  2. Yönetim Paneli → EklentilerArşivden yükle/yükselt.
  3. ZIP yükleyip kurun.
ZipArchive devre dışıysa arayüz uyarır.

2) Manuel Kurulum (FTP) #

  1. Arşivi yerelde çıkarın.
  2. upload içeriğini XF köküne uygun şekilde yükleyin.
  3. Yönetim Paneli → Eklentiler → Kur.

Sık Karşılaşılan Hatalar & Çözümler #

“Arşiv yükleme için config izni yok”

Çözüm: $config['enableAddOnArchiveInstaller'] = true;

“ZipArchive bulunamadı / devre dışı”

Çözüm: Sunucuda ZipArchive’ı etkinleştirin.


Geliştirici Detayları #

Admin Controller: MusaPekel\ForumCreate\XF\Admin\Controller\Node #

  • fetchJsonFromUrl: URL’den JSON çeker, 200 kontrolü/BOM temizliği yapar.
  • buildForumTree: Sadece önizleme için hiyerarşik gösterim.
  • filterSpecByPacks: Seçilen gruplara göre veriyi süzer.

Service: MusaPekel\ForumCreate\Service\Installer #

  • install: Başlangıç display_order alır ve kurar.
  • createCategory: XF:Node + XF:Category oluşturur.
  • createForum: XF:Node + XF:Forum oluşturur.
  • createForumLevel: Alt forumları aynı üst kategoriye “flatten” ederek kurar.

JSON Kaynak Yapısı #

Her kök anahtar bir grup/paket temsil eder.

{
  "group_key_1": {
    "category": { "title": "Ana Kategori Başlığı", "description": "Kategorinin Açıklaması" },
    "forums": [
      {
        "title": "Ana Forum A",
        "description": "Açıklama A",
        "subforums": [
          { "title": "Alt Forum A-1 (Aynı Ana Kategoriye Kurulacak)", "description": "" },
          { "title": "Alt Forum A-2" }
        ]
      },
      { "title": "Ana Forum B", "description": "Açıklama B" }
    ]
  },
  "group_key_2": { ... }
}