Literaturseminar / Literature Seminar
//public literaturseminar.php
function berechne_semester($datumbezug,$dbg)
{
//Stand: 2024-04-30
$helper = explode(".",$datumbezug);
$bezug_jahr = $helper[2];
$bezug_monat = $helper[1];
if($bezug_monat>=1 && $bezug_monat<=3) $bezug_jahr--;
$bezug_jahr_pluseins = $bezug_jahr+1;
$bezug_tag = $helper[0];
if ($dbg=='1') echo 'From berechne_semester J:',$bezug_jahr,'-','M:', $bezug_monat,'-','T:', $bezug_tag;
$semester='';
if($bezug_monat>=4 && $bezug_monat<=9) $semester='SS'.$bezug_jahr;
elseif($bezug_monat>=1 && $bezug_monat<=3) $semester='WS'.$bezug_jahr.'/'.substr($bezug_jahr_pluseins, -2);
elseif($bezug_monat>=10 && $bezug_monat<=12) $semester='WS'.$bezug_jahr.'/'.substr($bezug_jahr_pluseins, -2);
else $semester='NotAvail';
if ($dbg=='1') echo ' -> ',$semester,'';
return $semester;
}
function network_approved($dbg)
{
$retval=0;
$client_ip=$_SERVER['REMOTE_ADDR'];
$client_useraddr = gethostbyaddr($_SERVER['REMOTE_ADDR']);
$client_ip_arr = explode('.',$client_ip);
if($client_ip_arr[0]=='134' && $client_ip_arr[1]=='91')
{
// Bereich 134.91.163
if($client_ip_arr[2]=='163')
$retval=1;
}
//elseif($client_ip_arr[0]=='132' && $client_ip_arr[1]=='252')
// {
// Bereich 132.252. VPN Bereiche (Info T. Berger, 2021-05-07)
// $retval=1;
// }
if($dbg == '1')
{
echo ' Debug messages from network_approved function: ';
echo '
'; echo ' IP-number: ',$client_ip,'
'; echo ' DNS name: ', $client_useraddr,'
'; echo ' Octets: ', $client_ip_arr[0],' ',$client_ip_arr[1],' ',$client_ip_arr[2],' ',$client_ip_arr[3],'
'; echo ' Retval: ', $retval,'
( Access '; if ($retval=='0') echo 'not '; echo 'allowed )'; } return $retval; } function checkdoi($doistring,$dbg) { $retval=0; // Rules for valid Digital Object Identifier (according ISO 26324) // 0) Logical length > 10 // 1) Starting with "10." // 2) "/" is at position 8 // 3) Value in from string pos 4 bis 7 is >=1000 $Strich = strpos($doistring,'/', $offset = 0); if (strlen($doistring)>10) if(strncmp($doistring,'10.',3)==0) if(substr_compare($doistring, '/',$Strich,1)==0) if(intval(substr($doistring,3,4))>=1000) $retval=1; if($dbg==1) { echo 'strlen: ',strlen($doistring),' '; echo ' strncmp: ',strncmp($doistring,'10.',3),' '; echo ' substr_comp: ',substr_compare($doistring, '/',$Strich,1),' '; echo ' intval: ',intval(substr($doistring,3,4)),' '; echo ' substr: ',substr($doistring,3,4),' '; echo ' returnvalue:', $retval; } return $retval; } function checklink($linkstring,$dbg) { $retval=0; if($dbg==1) { echo ' returnvalue: ',$retval,' '; } return $retval; } function url_ok($urlstring,$dbg) { $retval=1; return $retval; } $entries=0; $jahr="0"; if (isset($_GET["jahr"])) $jahr = (int)$_GET["jahr"]; $smwhitelist = array('SS2013','SS2014','SS2015','SS2016','SS2017','SS2018','SS2019','SS2020','SS2021','SS2022', 'SS2023','SS2024','SS2025','SS2026','SS2027','SS2028','SS2029','SS2030','WS2013/14','WS2014/15','WS2015/16' ,'WS2016/17','WS2017/18','WS2018/19','WS2019/20','WS2020/21','WS2021/22','WS2022/23','WS2023/24','WS2024/25' ,'WS2025/26','WS2026/27','WS2027/28','WS2028/29','WS2029/30','WS2030/31'); if (isset($_GET["semesterid"]) && in_array($_GET["semesterid"], $smwhitelist)) { // The value is valid $semesterid = $_GET["semesterid"]; // Now you can use $var_value } else { // The value is not in the whitelist } $orwhitelist = array('dateup','datedown'); if (isset($_GET["order"]) && in_array($_GET["order"], $orwhitelist)) { if($_GET["order"]=='dateup') $sqloutputorder='ORDER BY datum ASC'; if($_GET["order"]=='datedown') $sqloutputorder='ORDER BY datum DESC'; } else $sqloutputorder = 'ORDER BY datum DESC'; header('Content-Type: text/html; charset=ISO-8859-1'); // Establish dataBase link $mysqli = mysqli_connect("db13.zim.uni-duisburg-essen.de","hp0052","Mvxod0n7rzuB","hp0052_1"); if (!mysqli_connect_errno()) { $SelectString = 'SELECT * FROM Literatur '.$sqloutputorder; if ($jahr>"2011" && $jahr<"2100") { $SelectString = 'SELECT * FROM Literatur WHERE YEAR(datum) = "'.$jahr.'" '.$sqloutputorder; echo '
'; } if (isset($_GET["semesterid"]) && in_array($_GET["semesterid"], $smwhitelist)) { $SelectString = 'SELECT * FROM Literatur WHERE semester = "'.$semesterid.'" '.$sqloutputorder; echo '
'; } $Ergebnis=mysqli_query($mysqli,$SelectString); echo '';
echo '
';
mysqli_close($mysqli);
echo 'Anzahl Einträge: ',$entries,'.';
}
else echo 'Datenbankfehler!
';
?>
'; echo ' IP-number: ',$client_ip,'
'; echo ' DNS name: ', $client_useraddr,'
'; echo ' Octets: ', $client_ip_arr[0],' ',$client_ip_arr[1],' ',$client_ip_arr[2],' ',$client_ip_arr[3],'
'; echo ' Retval: ', $retval,'
( Access '; if ($retval=='0') echo 'not '; echo 'allowed )'; } return $retval; } function checkdoi($doistring,$dbg) { $retval=0; // Rules for valid Digital Object Identifier (according ISO 26324) // 0) Logical length > 10 // 1) Starting with "10." // 2) "/" is at position 8 // 3) Value in from string pos 4 bis 7 is >=1000 $Strich = strpos($doistring,'/', $offset = 0); if (strlen($doistring)>10) if(strncmp($doistring,'10.',3)==0) if(substr_compare($doistring, '/',$Strich,1)==0) if(intval(substr($doistring,3,4))>=1000) $retval=1; if($dbg==1) { echo 'strlen: ',strlen($doistring),' '; echo ' strncmp: ',strncmp($doistring,'10.',3),' '; echo ' substr_comp: ',substr_compare($doistring, '/',$Strich,1),' '; echo ' intval: ',intval(substr($doistring,3,4)),' '; echo ' substr: ',substr($doistring,3,4),' '; echo ' returnvalue:', $retval; } return $retval; } function checklink($linkstring,$dbg) { $retval=0; if($dbg==1) { echo ' returnvalue: ',$retval,' '; } return $retval; } function url_ok($urlstring,$dbg) { $retval=1; return $retval; } $entries=0; $jahr="0"; if (isset($_GET["jahr"])) $jahr = (int)$_GET["jahr"]; $smwhitelist = array('SS2013','SS2014','SS2015','SS2016','SS2017','SS2018','SS2019','SS2020','SS2021','SS2022', 'SS2023','SS2024','SS2025','SS2026','SS2027','SS2028','SS2029','SS2030','WS2013/14','WS2014/15','WS2015/16' ,'WS2016/17','WS2017/18','WS2018/19','WS2019/20','WS2020/21','WS2021/22','WS2022/23','WS2023/24','WS2024/25' ,'WS2025/26','WS2026/27','WS2027/28','WS2028/29','WS2029/30','WS2030/31'); if (isset($_GET["semesterid"]) && in_array($_GET["semesterid"], $smwhitelist)) { // The value is valid $semesterid = $_GET["semesterid"]; // Now you can use $var_value } else { // The value is not in the whitelist } $orwhitelist = array('dateup','datedown'); if (isset($_GET["order"]) && in_array($_GET["order"], $orwhitelist)) { if($_GET["order"]=='dateup') $sqloutputorder='ORDER BY datum ASC'; if($_GET["order"]=='datedown') $sqloutputorder='ORDER BY datum DESC'; } else $sqloutputorder = 'ORDER BY datum DESC'; header('Content-Type: text/html; charset=ISO-8859-1'); // Establish dataBase link $mysqli = mysqli_connect("db13.zim.uni-duisburg-essen.de","hp0052","Mvxod0n7rzuB","hp0052_1"); if (!mysqli_connect_errno()) { $SelectString = 'SELECT * FROM Literatur '.$sqloutputorder; if ($jahr>"2011" && $jahr<"2100") { $SelectString = 'SELECT * FROM Literatur WHERE YEAR(datum) = "'.$jahr.'" '.$sqloutputorder; echo '
Nur für das Jahr ',$jahr,'
'; echo 'Zurück zur Gesamtliste'; } if (isset($_GET["semesterid"]) && in_array($_GET["semesterid"], $smwhitelist)) { $SelectString = 'SELECT * FROM Literatur WHERE semester = "'.$semesterid.'" '.$sqloutputorder; echo '
Nur für das Semester ',$semesterid,'
'; echo 'Zurück zur Gesamtliste'; } $Ergebnis=mysqli_query($mysqli,$SelectString); echo '
| '; echo 'Datum '; echo '↑'; echo ' ↓'; echo ' | Sprecher | '; if (network_approved(0)==0) { echo 'Titel | '; echo 'Referenz | '; } elseif (network_approved(0)==1) { echo 'Titel | '; echo 'Referenz | '; echo 'DOI | '; echo 'Link | '; } echo '
|---|---|---|---|---|---|---|---|
| ',$db_output["datum"],'';
echo ' '; if($db_output["semester"] != "NotAvailab") echo '',$db_output["semester"],''; else echo $db_output["semester"]; echo ' Ed ',date('Y', strtotime($db_output["datum"])),' | ';
echo '',$db_output["sprecher"],' | '; echo '',$db_output["titel"],' | '; echo ''; if (strlen($db_output["text"])>0) echo $db_output["text"]; else echo '-'; echo ' | '; echo ''; if (network_approved(0)==1) if (checkdoi($db_output["doi"],0)==1) { echo 'DOI'; } else { if (strlen($db_output->doi)>0) echo $db_output->doi; else echo '-'; } echo ' | '; if(network_approved(0)==1) { echo '';
if(url_ok($db_output->link,0)==1)
{
$links = preg_split("/[;,]/",$db_output->link);
for ($counter=0;$counter '; } else echo '-'; } } else { if (strlen($db_output->link)>0) echo $db_output->link; else echo '-'; } echo ' | ';
}
echo '