RaxBoard Core — Core
A new release is now available on the RaxBoard Marketplace.
Version: 1.7.18 (build 20260824)
Compatibility: RaxBoard >=1.0.0
What's new
# RaxBoard 1.7.18 — build 20260824
sha256 `319d5dc431d023b379200e63fcfb989c81eed19d5ebf23c6306e9a0fa552cc3c`
Önceki sürüm: 1.7.17 (build 20260823) · Migration aralığı: **1013 → 1019** (7 yeni)
---
## Yeni
**Reklamlarda sayfa hedefleme — "Tüm sayfalar".** Bir reklamın pozisyonu *nerede* basılacağını söylüyordu, *hangi sayfalarda* basılacağını söyleyen hiçbir şey yoktu: yerleşim slotları (header / içerik üstü-altı / footer) `layouts/main` içinde olduğu için her sayfada çıkıyor, sayfaya bağlı slotlar ise hiç genişletilemiyordu. Reklam formuna **Sayfalar** alanı eklendi; varsayılanı **Tüm sayfalar**. 13 sayfa anahtarı (ana sayfa, forumlar, konular, üye listesi, profiller, arama, yenilikler, etiketler, kulüpler, etkinlikler, yardım, sohbetler, hesap) — sözlük widget'ların `display_pages` alanıyla ve `PageContext` ile aynı, böylece bir sayfa adı her yerde aynı şeyi ifade ediyor. Mevcut her reklam `all` olarak devam eder; davranış değişmez.
**Reklam listesinde hedefleme rozetleri.** `/admin/advertisements` yalnızca başlık, durum, gösterim ve tarih gösteriyordu. Kartlar artık sayfa / tema / forum / cihaz / ağırlık **kısıtlamalarını** gösteriyor — hedeflemesiz reklamın kartı birebir eskisi gibi.
## Düzeltmeler
**Reklam grup hedeflemesi hiç çalışmıyordu.** "Visible to groups" ve "Hidden from groups" alanlarının ikisi de ilk günden beri etkisizdi: renderer, kodun hiçbir yerinin yazmadığı bir oturum anahtarını (`user_group_id`) okuyor, hep 0 alıyor ve grup filtresini komple atlıyordu. "VIP üyelere reklam gösterme" reklamı gösteriyordu. Artık üyenin gerçek grupları — **birincil + ikincil** — okunuyor ve **dışlama içermeyi yeniyor**.
**Çekirdek güncellemesi 30 saniyede yarıda kesiliyordu.** Güncelleme yolunda `set_time_limit` yoktu; indir → tam yedek → binlerce dosyayı tek tek kopyala → migration, varsayılan `max_execution_time=30` ile bitmiyor ve PHP isteği **dosya kopyalamanın ortasında** öldürüyordu (ağaç yarı eski yarı yeni). Süre sınırı artık kaldırılıyor, tarayıcı kopması güncellemeyi yarıda bırakmıyor. Barındırma sınırı yükseltmeye izin vermiyorsa `/admin/update` düğmeye basmadan **önce** uyarıyor.
**Kullanıcılar sayfasında yasaklama penceresi kendiliğinden görünüyordu.** Her satırın ban diyaloğu `x-cloak` taşımıyordu; Alpine yüklenene kadar tarayıcı 22 adet tam ekran koyu katmanı basıyordu — "kullanıcı yasaklama sayfası gelip gidiyor" şikâyeti buydu.
**Hata günlüğünde her kayıt "Misafir" görünüyordu.** PHP hatası ve ölümcül hata yollarının kullanıcı çözümü hiçbir zaman yazılmayan bir global'e bağlıydı. Artık oturumdaki gerçek kullanıcı yazılıyor; misafir yine boş kalıyor.
**Mühürlü kurulumda anlamsız `raxenc` uyarısı.** Bir `.raxenc` açılamadığında PHP'nin kendi "Failed to open stream" uyarısı hata havuzuna düşüyor, sebebi söylemiyordu. Artık `require` hiç denenmiyor; yerine **sebebi yazan** tek bir uyarı geçiyor (neden başına tekilleştirilmiş, istek başına en fazla 3).
**Giden posta arızası panoda görünür.** Aktarım reddedildiğinde iz dosyası zaten yazılıyordu ama admin panelinde hiçbir şey okumuyordu; forum sağlıklı görünürken etkinleştirme ve parola sıfırlama e-postaları sessizce düşüyordu. Pano artık sebebiyle birlikte uyarıyor ve ilk başarılı gönderimde uyarı kendiliğinden kalkıyor. Kuyruk işçileri (`email:work`, `queue:work`) arızayı hata günlüğüne de yazıyor.
**Dizi parametresiyle gelen adresler 500 veriyordu.** `?q[]=x` gibi bir adres `trim()`/tip imzasında TypeError'a dönüşüyordu — `/admin/users` bunu `?q[]=` ve `?sort[]=` ile veriyordu. 41 çağrı noktası skaler erişimcilere taşındı.
**Güncelleme sırasında şablon önbelleği silinirken sayfa hatası.** Her şablon migration'ı derlenmiş şablon önbelleğini siliyor ve bir yükseltme bunlardan onlarcasını arka arkaya koşuyor; o aralığa denk gelen ziyaretçi sağlam bir şablonda "Failed to open stream" alıyordu.
**Sessizce kapalı kalmış özellikler bağlandı.** Engellediğiniz kişi sizi yine de etiketleyebiliyordu; CSRF hatası Türkçe forumda İngilizce çıkıyordu (çeviriler mevcuttu, ulaşılamıyordu); parola sıfırlama "en az 8 karakter" diyordu (forum 12'ye ayarlıyken bile); AI bot görevinin hataları hiçbir yere yazılmıyordu.
## Bakım
- Temalarda saklanan şablonlar artık satır içi `<style>` bloğu taşımıyor; CSS çekirdek paketine taşındı (19 şablon satırı + eklentiler).
- Pazar yerinden kurulan eklentinin CSS/JS dosyaları 404 vermiyor — kurulum/yükseltme sırasında web'e yayınlanıyor.
- Eklentiler arası şablon adı çakışması: aynı adı taşıyan iki eklenti birbirinin ekranını render edebiliyordu.
- Admin şablonlarının ölü tema kopyaları paketten çıkarıldı (82 dosya).
Get it
View on the Marketplace
— Posted automatically by the RaxBoard Marketplace.