% @ Language=VBScript %>
<% Option Explicit %>
<%
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' mydesign haber sistemi
' W: http://www.mydesign.gen.tr
' @: mydesign@mydesign.gen.tr
' Puan verme Sayfası Kodları
' Son Düzenleme: 1 Ekim 2006 (v0.4)
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'// Sayfanın önbellekten alnması önleniyor
Response.Buffer = True
Response.Expires = -1
Response.ExpiresAbsolute = Now() - 2
Response.AddHeader "pragma","no-cache"
Response.AddHeader "cache-control","private"
Response.CacheControl = "No-Store"
'// Değişkenler tanımlanıyor
Dim intHaber
Dim intPuan
Dim blnHata
Dim strMesaj
Dim intIcerikPuan
Dim SQL
Dim intEskiPuan
Dim intEskiKisi
Dim intHaberPuan
Dim intLooper
blnHata = False
'// Formdan veriler alınıyor
intHaber = Temizle(Request.Form("haber"))
intPuan = Temizle(Request.Form("puan"))
intIcerikPuan = Temizle(Request.Cookies("myhaberci")("Puan"& intHaber))
'// Formda hata varsa tekrar habere yönlendiriliyor
If IsNull(intHaber) OR IsNumeric(intHaber) = False Then
blnHata = True
Response.Write "Haber bulunamadi"
End If
'// Puan geçerliliği kontrol ediliyor
If intPuan = "" OR IsNumeric(intPuan) = False OR intPuan < 1 OR intPuan > 5 Then
blnHata = True
Response.Write "Verdiginiz puan gecersiz"
End If
'// Daha önce bu habere oy verilip verilmediği kontrol ediliyor
If intIcerikPuan <> "" Then
blnHata = True
Response.Write "Bu habere daha önce puan verdiniz"
End If
'// Bir hata yoksa veritabanı kontrolü yapılıyor
If blnHata = False Then
SQL = "SELECT haberID, puan, oy_sayisi, onay, durum "
SQL = SQL & "FROM tblHaberler "
SQL = SQL & "WHERE onay = True AND durum = True AND haberID = "& CInt(intHaber)
kdGenel.Open SQL, adoCon, 1, 3
'// Veritabanı kontrolünde hata varsa hata mesajı veriliyor
If kdGenel.Eof Then
Response.Write "Haber bulunamadı"
'// Hata yoksa puan verme işlemleri yapılıyor
Else
'// Daha önceki puan ve oy sayısı alınıyor
intEskiPuan = kdGenel("puan")
intEskiKisi = kdGenel("oy_sayisi")
'// Değerler boşsa 0 kabul ediliyor
If IsNull(intEskiPuan) Then intEskiPuan = 0
If IsNull(intEskiKisi) Then intEskiKisi = 0
'// Puan ve oy sayısı güncelleştiriliyor
kdGenel("puan") = intEskiPuan + intPuan
kdGenel("oy_sayisi") = intEskiKisi + 1
kdGenel.Update
'// Aynı habere tekrar oy verilmemesi için çerez kaydediliyor
Response.Cookies("myhaberci")("Puan"& intHaber) = intPuan
Response.Cookies("myhaberci").Expires = Date() + 30
intHaberPuan = Round(kdGenel("puan")/kdGenel("oy_sayisi"),0)
For intLooper = 1 To intHaberPuan
Response.Write "
"
Next
For intLooper = 1 To 5-intHaberPuan
Response.Write "
"
Next
End If
kdGenel.Close
End If
%>