Code:
/
// Geben Sie hier Ihre Veranstalter-ID von www.evangelische-termine.de ein:
// Mehrere Veranstalter-IDs k�nnen durch Kommata getrennt angegeben werden: z.B: 3,21,25
// aber bitte nicht f�r Dekanatsausgabe verwenden!
$veranstalterID = "3";
// Fehlermeldung bei Unverfuegbarkeit
$no_Connection_Error = "Der Veranstaltungskalender ist derzeit nicht abbrufbar.";
// Session starten
// evtl. schon an andere Stelle geschehen
session_name('sidevterm');
session_start();
// dieses Objekt speichert Session-Variablen in einem eigenen Namespace
if(!isset($_SESSION['session'])) {
$session = new stdClass;
$_SESSION['session'] = $session;
} else {
$session = &$_SESSION['session'];
}
/**
* Setzt eine Session-Variable aus REQUEST-Variablen
*
* wenn nicht gesetzt, wird Defaultwert gesetzt
*
* @param string REQUEST-key
* @param mixed Session
* @param mixed Default-Wert
* @access public
*/
function setSessionVar($key, &$sess,$default = NULL) {
if($_REQUEST[$key] != ""){
$sess->{$key} = $_REQUEST[$key];
if($key != 'pageID'){
$sess->pageID = 1;
}
}
if($sess->{$key} == ""){
$sess->{$key} = $default;
}
}
?>
<style type="text/css">
p {
font-size:12px;
font-family:verdana, arial, helvetica, sans-serif;
line-height:140%;
}
a {
color:#006637;
font-weight:bold;
text-decoration:none;
}
img {
border:0px solid;
}
form {
margin:0px;
padding:0px;
}
div ,td {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
}
.bold {
font-weight:bold;
}
/*### Veranstaltungen ###*/
.curPageLinkClass {
font-weight: bold;
color: #000000;
text-decoration: none;
font-size: 12px;
}
.auswahlselect {
width: 200px;
margin: auto;
}
.auswahlselect2 {
width: 170px;
margin: auto;
}
#vHeadline {
font-weight: bold;
padding: 2px;
background-color:gainsboro;
}
#EvTermFilter{
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
white-space:nowrap;
}
.FilterRow {
background-color:#F5F5F5;
padding:4px;
}
.White{
float:left;
width:100%;
padding-top:4px;
padding-bottom:4px;
}
.EventDetail {
float:left;
width:100%;
padding-top:4px;
padding-bottom:4px;
}
.Grey{
float:left;
width:100%;
padding-top:4px;
padding-bottom:4px;
background-color:whitesmoke;
}
.Monthbar{
float:left;
width:100%;
padding:0px;
background-color:gainsboro;
font-weight:bold;
}
#F_Search {
width: 250px;
border: 1px solid black;
}
#Pager {
border:1px solid red;
}
.pager_left {
float:left;
width:200px;
}
.pager_right {
float:right;
text-align:right;
width:300px;
}
.events_wrap_left {
float:left;
width:150px;
}
.events_wrap_right {
float:right;
width:400px;
}
.date_detail {
font-size:13px;
font-family:verdana, arial, helvetica, sans-serif;
font-weight:bold;
padding-bottom:8px;
}
</style>
<?php
// Setzen von Tag, Monats und Jahr:
setSessionVar('d', &$session ,'all');
setSessionVar('m', &$session ,date('m'));
setSessionVar('y', &$session ,date('y'));
// Veranstaltungs-Kategorie
setSessionVar('eventtype', &$session ,'all');
// Highlights
setSessionVar('highlight', &$session ,'all');
// Zielgruppe
setSessionVar('people', &$session ,'0');
// new mit Textfeld:
if($_REQUEST['action'] == 'search'){
if($_REQUEST['datum'] == ''){
$session->d = '0';
} else {
$session->d = $_REQUEST['datum'];
}
}
if($_REQUEST['month'] != ''){
if($_REQUEST['month'] != 'all'){
$tmp = explode('.',$_REQUEST['month']);
$session->m = $tmp[0];
$session->y = $tmp[1];
} else {
$session->d = 'all';
}
$session->pageID = 1;
}
// Suchstring:
if($_REQUEST['q'] != ''){
$session->q = $_REQUEST['q'];
if($_REQUEST['q'] == 'none'){
$session->q = '';
}
} else {
if($_REQUEST['action'] == 'search'){
$session->q = '';
}
}
#var_dump($session);
//-------------
// Wieviele Veranstaltungen pro Seite anzeigen:
setSessionVar('itemsPerPage', &$session ,'20');
setSessionVar('pageID', &$session ,'1');
$queryString = 'd='.$session->d .
'&m=' . $session->m .
'&y=' . $session->y .
'&highlight=' . $session->highlight .
'&eventtype=' . $session->eventtype .
'&people=' . $session->people .
'&q=' . urlencode($session->q) .
'&vid=' . $veranstalterID .
'&itemsPerPage='.$session->itemsPerPage .
'&pageID='.$session->pageID;
$etVars = array('d','m','y','highlight','eventtype','people','q','vid','itemsPerPage','pageID','ID','month');
foreach($_REQUEST as $key => $val){
if(!in_array($key,$etVars)){
#$addVars[] = $key . '='. $val;
$queryString .= '&' . $key . '='. $val;
}
}
#echo $queryString;
$filename = 'joomla_index.php';
if ($_GET['ID'] != "") {
$queryString .= '&ID='. $_GET['ID'];
$filename = 'joomla_detail.php';
}
$host = "www.evangelische-termine.de";
$url = "http://$host/cs/$filename?$queryString";
if(function_exists('curl_init')){
# use curl
#echo "Using Curl";
$sobl = curl_init($url);
curl_setopt($sobl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($sobl, CURLOPT_USERAGENT, 'ET_Joomla-Script');
curl_setopt($sobl, CURLOPT_REFERER, $_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']);
curl_setopt($sobl, CURLOPT_CONNECTTIMEOUT, 1);
$pageContent = curl_exec ($sobl);
$sobl_info = curl_getinfo ( $sobl);
#var_dump($sobl_info);
if($sobl_info['http_code'] == '200'){
$pageContent = str_replace("/Upload/","http://$host/Upload/",$pageContent);
$pageContent = str_replace("http://_HOST_/","http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'] ,$pageContent);
echo $pageContent;
} else {
# Fehlermeldung:
echo $no_Connection_Error;
}
} else {
# use fopen:
$fd = fopen($url,"r");
if ($fd) {
while(!feof($fd)){
$line = fgets($fd,4096);
// Pfad f�r die Uploadbilder anpassen:
$line = str_replace("/Upload/","http://$host/Upload/",$line);
// _HOST_ wird durch die domain des jeweiligen Musterwebs ersetzt:
$line = str_replace("http://_HOST_/","http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'] ,$line);
echo $line;
}
fclose($fd);
} else {
echo $no_Connection_Error;
}
}
/* made with a mac ;-) */
?>
Lesezeichen