Anketler (Oylamalar)

Anket modülü, ziyaretçilerin tek seçenekli oylamalarla katıldığı soruları yönetir. Her anket bir başlık, bir seçenek listesi ve geçerlilik aralığı taşır. Aynı IP veya üyeden tekrar oy engellenir; sonuçlar ayrı bir tabloda tutulur.

KonuAyrıntı
Yönetim modülüengine/inc/editvote.php
Panel adresiadmin.php?mod=editvote
Veritabanı tablolarıPREFIX_vote ve PREFIX_vote_result
Yetki anahtarıadmin_editvote
Ön yüz şablonuSitedeki Oylamalar (vote.tpl)
Tüm anketler penceresiindex.php?controller=ajax&mod=allvotes

İşlem (action) değerleri

actionGörevi
addYeni anket formunu açar
doaddYeni anketi kaydeder
editVar olan anketin düzenleme formunu gösterir
updateYapılan değişiklikleri kaydeder
deleteAnketi siler
onAnketi yayına alır (durumu açık yapar)
offAnketi yayından çeker (durumu kapalı yapar)
clearAnketin oy sonuçlarını sıfırlar
viewsAnketin sonuçlarını gösterir

Anket kaydı: PREFIX_vote

AlanGörevi
idAnketin benzersiz kimliği
categoryAnketin bağlı olduğu kategori
vote_numToplam oy sayısı
dateOluşturulma tarihi
titleAnket başlığı (soru metni)
bodySeçenek listesi (aşağıda açıklandı)
approveAnketin açık/kapalı durumu
startGeçerlilik başlangıç tarihi
endGeçerlilik bitiş tarihi
grouplevelAnketi görebilecek üye grupları

Seçenekler: body alanı

Seçenekler tek bir metin alanına yazılır. Kaydedilirken satırlar birbirinden <br> ile ayrılır ve ön yüzde her satır bir radyo düğmesi olarak çizilir. Yani seçenekleri alt alta, her satıra bir tane olacak şekilde yazın.

Evet
Hayır
Kararsızım
!
Satır sayısı = seçenek sayısı Boş satır bırakmak veya tüm seçenekleri tek satıra yazmak, ön yüzde bozuk bir liste üretir. Her seçenek ayrı bir satırda olmalıdır.

Oy kaydı: PREFIX_vote_result

AlanGörevi
ipOy veren IP adresi
nameOy veren üye adı (varsa)
vote_idHangi ankete ait olduğu
answerSeçilen seçeneğin sıra numarası

Aynı IP veya aynı üyeden aynı ankete ikinci bir kayıt engellenir. answer alanı seçeneğin metnini değil, listedeki sırasını saklar; bu nedenle seçeneklerin sırasını değiştirmek mevcut oyların dağılımını etkiler.

Tarih aralığı ve grup erişimi

AyarDavranış
start / endTakvim alanlarıdır; anket yalnızca bu aralıkta geçerlidir
grouplevelall veya grup id listesi; anketi yalnızca bu gruplar görür
categoryAnketin hangi kategori bağlamında yayınlanacağı

Açma, kapama ve sonuç işlemleri

Paneldeki on ve off bağlantıları approve alanını değiştirir; liste görünümündeki LED göstergesi anketin durumunu yansıtır. clear sonuçları sıfırlar, views ise sonuçları gösterir.

İşlemEtkisi
onAnket ön yüzde görünür hâle gelir
offAnket ön yüzde görünmez
clearTüm oy kayıtları silinir; geri alınamaz
viewsAnket sonuçları görüntülenir
deleteAnket ve ona bağlı sonuçlar silinir

Anket oluşturma akışı

  1. Yetkiyi doğrulayın Grubunuzda admin_editvote izni açık olmalıdır.
  2. Yeni anket formunu açın admin.php?mod=editvote&action=add adresini kullanın.
  3. Başlık ve seçenekleri girin Seçenekleri her satıra bir tane olacak şekilde body alanına yazın.
  4. Tarih ve grubu belirleyin start, end ve grouplevel alanlarını doldurun.
  5. Yayına alın Kaydettikten sonra on durumuna getirin.
  6. Ön yüzde sınayın Anketin vote.tpl ile çizildiğini ve oy verilebildiğini doğrulayın.

Ön yüz tarafı

Anketlerin görünümü Sitedeki Oylamalar şablonundan (vote.tpl) gelir. "Tüm anketler" penceresi ShowAllVotes() işleviyle index.php?controller=ajax&mod=allvotes adresinden açılır. Hangi anketin, hangi konumda çizileceğine sunucu tarafı karar verir.

Sık yapılan hatalar

HataSonuç
Anketi off durumunda bırakmakAnket ön yüzde hiç görünmez
clear işlemini dikkatsizce kullanmakSonuçlar kalıcı olarak silinir; geri alınamaz
Anketi silmenin yalnızca kaydı kaldırdığını sanmakBağlı sonuçlar da silinir
Tarih aralığını yanlış girmekAralık dışındaki anket ön yüzde çalışmaz
Seçenekleri tek satıra yazmakÖn yüzde tek seçenek veya bozuk liste oluşur
Seçeneklerin sırasını sonradan değiştirmekMevcut answer numaraları kayar, sonuç dağılımı bozulur

Kontrol listesi

  • Grubumda admin_editvote izni açık.
  • Anket başlığı ve seçenekleri net; her seçenek ayrı satırda.
  • start / end tarih aralığını doldurdum.
  • grouplevel ile görünürlüğü doğru gruba ayarladım.
  • Anketi on durumuna aldım ve ön yüzde test ettim.
  • Sonuçları inceledim; clear işleminin kalıcı olduğunu biliyorum.