Skripti http://oppe.admin.ut.ee/ained/tulemus/oppejoud.asp kood

VÄRVIDE TÄHENDUSED
   Serveripoolne skript
   Kliendipoolne skript
   Link
   Include-lause
   Freimid
   Kommentaarid
   Objekti link
   HTML ja tavaline tekst


<%
'Tartu Ülikooli õppeaineregistri WWW-liides
'Autor: Aulis Sibola
'Juhendaja: Jaanus Pöial

'Õppejõu järgi otsimine.
'Kasutaja annab õppejõu nime ja saab ainete nimekirja.
'Kui õppejõude on mitu, siis grupeeritakse ained õppejõudude järgi.
'Edasi minnakse konkreetse aine info juurde.
%>

<!--#INCLUDE  file="header.lisamine"-->
<!--#INCLUDE  file="eelmkontr.inc"-->
<%
'Kui kasutaja soovib SQL-is viga esile kutsuda (küsides ülakoma),
'saadetakse avalehele:
if InStr(Request("eesnimi"),"'") or InStr(Request("perenimi"),"'") then
  Response.Redirect("algus.asp")
end if

'Jooksev õppeaasta:
%>

<!--#INCLUDE  file="jooksevaasta.inc"-->
<%

otsityyp = Request("otsing")

'Ühenduse loomine:
Set yhendus = Server.CreateObject("ADODB.Connection")
'Andmebaasi avamine:
yhendus.Open "Aineregister"
%>

<html>
<head>
<title><%
if Request("tahestik") = "OK" then
%>
Ainete t&auml;hestikuline loetelu<%
else
%>
Ainete loetelu<%
end if
%>
</title>
</head>
<!--#INCLUDE  file="body.htm"-->
<%
'Kõigepealt uuritakse õppejõu(dude) koodi(d)
'Päringustring:
Paring = "select kood, enimi, pnimi from DBA_lektor where "
if otsityyp = "eesnimi" then
  Paring = Paring & "enimi = '"  & Request("eesnimi") & "' "
elseif otsityyp = "perenimi" then
  Paring = Paring & "pnimi = '"  & Request("perenimi") & "' "
elseif otsityyp = "eesjapere" then
  Paring = Paring & "enimi = '"  & Request("eesnimi") & "' and "  & _
   "pnimi = '"  & Request("perenimi") & "' "
elseif otsityyp = "eesnimeosa" and len(Request("eesnimi")) > 1 then
  Paring = Paring & "enimi like '%"  & Request("eesnimi") & "%' "
elseif otsityyp = "perenimeosa" and len(Request("perenimi")) > 1 then
  Paring = Paring & "pnimi like '%"  & Request("perenimi") & "%' "
elseif otsityyp = "eespereosa" and len(Request("eesnimi")) > 1 and len(Request("perenimi")) > 1 then
  Paring = Paring & "enimi like '%"  & Request("eesnimi") & "%' and "  & _
   "pnimi like '%"  & Request("perenimi") & "%' "
else
  Paring = Paring & "enimi = 'Täiesti vale isik' "
end if
Paring = Paring & "order by sort"

'Päring andmebaasis:
Set lektor = yhendus.Execute(Paring)

'Õppejõude ei leitud, töö lõpetamine:
if lektor.EOF then
%>
<h3>Andmebaasist ei õnnestunud küsitud lektorit leida</h3>
<!--#INCLUDE  file="footer.htm"-->
<%
  lektor.close
  yhendus.close
  Response.end
end if

'Loeme väljad üle:
recount = 0
do while not lektor.EOF
  recount = recount + 1
  lektor.MoveNext
loop
lektor.MoveFirst

'Kui õppejõude on üle kümne suurendatakse TimeOuti:
if recount > 10 then
  Server.ScriptTimeout = 300
end if
%>

<center><h2><%
if recount = 1 then
%>
<%=lektor("enimi")%>&nbsp;<%=lektor("pnimi")%>' poolt loetavad ained:<%
elseif otsityyp = "eesnimi" then
%>
Ained, mida loevad &otilde;ppej&otilde;ud, kelle eesnimi on <%=lektor("enimi")%>:<%
elseif otsityyp = "perenimi" then
%>
Ained, mida loevad &otilde;ppej&otilde;ud, kelle perekonnanimi on <%=lektor("pnimi")%>:<%
elseif otsityyp = "eesnimeosa" then
%>
Ained, mida loevad &otilde;ppej&otilde;ud, kelle eesnimes sisaldub '<%=Request("eesnimi")%>':<%
elseif otsityyp = "perenimeosa" then
%>
Ained, mida loevad &otilde;ppej&otilde;ud, kelle perekonnanimes sisaldub '<%=Request("perenimi")%>':<%
elseif otsityyp = "eespereosa" then
%>
Ained, mida loevad &otilde;ppej&otilde;ud, kelle eesnimes sisaldub '<%=Request("eesnimi")%>' ja perekonnanimes sisaldub '<%=Request("perenimi")%>':<%
end if
%>
</h2></center>
<%

'Leidumise kontroll:
eileidu = true

'Õppejõudude poolt loetavate ainete leidmine:
do while not lektor.EOF
  'Päringustring:
  Paring = "select DBA_Aine.teaduskond, DBA_Aine.instituut, " & _
   "DBA_aine.oppetool, DBA_Aine.nr, DBA_aine.algoppeaasta, " & _
   "DBA_aine.loppoppeaasta, DBA_Tekst.nimi "
  if Request("tahestik") = "OK" then
   Paring = Paring & ", DBA_Tekst.sort "
  end if
  Paring = Paring & "from DBA_Aine, DBA_Tekst, DBA_tavalugeja "
  if Request("selaastal") = "OK" then
   Paring = Paring & ", DBA_ajakava "
  end if
  if Request("tahestik") <> "OK" then
   Paring = Paring & ", DBA_teaduskond "
  end if
  Paring = Paring & "where DBA_Aine.kood = DBA_Tekst.aine and " & _
   "DBA_Tekst.lõppaasta is Null and "
  if Request("selaastal") = "OK" then
   Paring = Paring & "DBA_Aine.kood = DBA_ajakava.aine and " & _
   "DBA_ajakava.aasta = " & JooksevAasta & " and "
  end if
  if Request("tahestik") <> "OK" then
   Paring = Paring & "DBA_aine.teaduskond = DBA_teaduskond.kood and "
  end if
  Paring = Paring & "DBA_Aine.kood = DBA_tavalugeja.aine and " & _
   "DBA_tavalugeja.lektor = " & lektor("kood") & " and " & _
   "(DBA_tavalugeja.aastani is null or " & _
   "(DBA_tavalugeja.aastast = " & JooksevAasta & " and " & _
   "DBA_tavalugeja.aastani = DBA_tavalugeja.aastast)) "
  if Request("selaastal") = "OK" then
   Paring = Paring & "group by DBA_Tekst.sort, DBA_Tekst.nimi, "
   if Request("tahestik") <> "OK" then
    Paring = Paring & "DBA_teaduskond.jarjestus, "
   end if
   Paring = Paring & "DBA_aine.teaduskond, " & _
   "DBA_aine.instituut, DBA_aine.oppetool, DBA_aine.nr, " & _
   "DBA_aine.algoppeaasta, DBA_aine.loppoppeaasta "
  end if
  if Request("tahestik") = "OK" then
   Paring = Paring & "order by DBA_Tekst.sort, DBA_aine.teaduskond, " & _
   "DBA_aine.instituut, DBA_aine.oppetool, DBA_aine.nr"
  else
   Paring = Paring & "order by DBA_teaduskond.jarjestus, " & _
   "DBA_aine.instituut, DBA_aine.oppetool, DBA_aine.nr"
  end if

  'Päring andmebaasis:
  Set ained = yhendus.Execute(Paring)

  if not ained.EOF then
   if eileidu then
    eileidu = false
    if Request("selaastal") <> "OK" then
%>

<form action=oppejoud.asp method=POST>
<input type=hidden name=eesnimi value='<%=Request("eesnimi")%>'>
<input type=hidden name=perenimi value='<%=Request("perenimi")%>'>
<input type=hidden name=otsing value=<%=Request("otsing")%>>
<input type=hidden name=tahestik value=<%=Request("tahestik")%>>
<input type=hidden name=selaastal value=OK>
<input type=submit value="Jätta alles sel õppeaastal loetavad ained">
</form>
<%
    end if
   end if
   if recount > 1 then
    Response.Write "<b>" & lektor("enimi") & " " & lektor("pnimi") & _
   ":</b>" & vbNewLine
   end if
   Response.Write "<ul><table border=0>" & vbNewLine

   'Ainete väljastus:
   Do While Not ained.EOF
    %>
<tr>
<td><%=ained("teaduskond")&ained("instituut")&"."&ained("oppetool")&"."&ained("nr")%></td><%
    if IsNull(ained("nimi")) then
    %>
<td><a href=aine.asp?<%=ained("teaduskond")&ained("instituut")&"."&ained("oppetool")&"."&ained("nr")%>>__</a><%
    else
    %>
<td><a href=aine.asp?<%=ained("teaduskond")&ained("instituut")&"."&ained("oppetool")&"."&ained("nr")%>><%=ained("nimi")%></a><%
    end if
    if Not(IsNull(ained("loppoppeaasta"))) then
     if ained("algoppeaasta") = ained("loppoppeaasta") then
      Response.Write " (&uuml;hekordne aine " & ained("algoppeaasta") & "/"
      Response.Write ained("algoppeaasta") + 1 & " &otilde;a.)"
     else
      Response.Write " (l&otilde;petatud " & ained("loppoppeaasta") & " a.)"
     end if
    end if%>
</td>
</tr>
<%
    ained.MoveNext
   Loop 'Ainete nimekiri
   Response.Write "</table></ul>"
  end if

  'Ainete sulgemine
  ained.close

  Set ained = Nothing

  lektor.MoveNext
loop 'Õppejõud

'Korralik sulgemine:
lektor.close
yhendus.close

if eileidu then
%>

<h3>Ained puuduvad...</h3>
<%
end if
%>

<!--#INCLUDE  file="footer.htm"-->