typolink_conf; $temp_conf["additionalParams"] .= "&date=$jahr_vor-$monat-1"; $temp_conf["useCacheHash"] = $this->allowCaching; $temp_conf["useCacheHash"] =1; // share it function shareit($social_url,$social_title,$social_keywords){ $shareit_array[0]=array("title" => "Bei delicious.com eintragen", "url_schema" => "http://delicious.com/save?url=$social_url&title=$social_title&tags=$social_keywords&notes=$social_text", "icon" => "delicious.png"); $shareit_array[2]=array("title" => "Mit Facebook-Freunden teilen", "url_schema" => "http://de.facebook.com/sharer.php?u=$social_url&t=$social_title", "icon" => "facebook.png"); $shareit_array[3]=array("title" => "Bei Google Bookmarks eintragen", "url_schema" => "http://www.google.com/bookmarks/mark?op=add&bkmk=$social_url&title=$social_title&labels=$social_keywords&annotation=$social_text", "icon" => "google_bookmarks.png"); $shareit_array[4]=array("title" => "Blogger Bookmarks", "url_schema" => "http://www.blogger.com/blog_this.pyra?t&pli=1&u=$social_url", "icon" => "blogger.png"); $shareit_array[5]=array("title" => "Likedin", "url_schema" => "http://www.linkedin.com/shareArticle?mini=true&url=$social_url&title=$social_title&summary=", "icon" => "linkedin.png"); $shareit_array[6]=array("title" => "Mail", "url_schema" => "mailto:?subject=$social_title&body=I%20thought%20this%20article%20might%20interest%20you.%0A%0A%0A%0AYou%20can%20read%20the%20full%20article%20here%3A%20$social_url", "icon" => "mail.png"); $shareit_array[7]=array("title" => "Bei Newsvine eintragen", "url_schema" => "http://www.newsvine.com/_tools/seed?popoff=0&u=$social_url&h=$social_title", "icon" => "newsvine.png"); $shareit_array[9]=array("title" => "Bei Stumbleupon eintragen", "url_schema" => "http://www.stumbleupon.com/submit?url=$social_url&title=$social_title", "icon" => "stumbleupon.png"); $shareit_array[10]=array("title" => "Twittern", "url_schema" => "http://twitter.com/home?status=$social_title%20$social_url", "icon" => "twitter.png"); $shareit_array[11]=array("title" => "Bei Windows Live eintragen", "url_schema" => "https://favorites.live.com/quickadd.aspx?marklet=1&mkt=de-de&url=$social_url&title=$social_title&top=1", "icon" => "windowslive.png"); //$shareit=''; foreach($shareit_array as $var){ $shareit.=''; } return $shareit; } // die betroffenen pids ermitteln rekursiv für program titles $starting_point_recursive=2; $starting_point=33; $pidList = $this->pi_getPidList($starting_point, $starting_point_recursive); if($GLOBALS['TSFE']->sys_language_uid!=0){$sql_table='pages_language_overlay';}else{$sql_table='pages';} // Get resource records mit pidliste $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery( "title,uid", $sql_table, "uid IN (" . $GLOBALS['TYPO3_DB']->cleanIntList($pidList) . ")" . $criteria//extend that as you like . " order by title" ); //displaying retrieved records while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) { $programm_title_array[$row['uid']]=$row['title']; } $heute = mktime(); //$calcontenthead='

'.$this->pi_getLL('comingsoon').'

' ; $where_uid=$this->piVars["uid"]+1-1; $w=0; $select = 'uid, title, edate, text, detailimg, venue, imagecaption, eventscat1, links, relateddocuments,recurrent'; $table = 'tx_calevents2_events'; // we try to get the default language entry (normal behaviour) or, if not possible, currently the needed language (fallback if no default language entry is available) $where = 'sys_language_uid = '.$GLOBALS['TSFE']->sys_language_uid.' AND hidden = 0 AND deleted = 0 and (uid='.$where_uid.' or l10n_parent='.$where_uid.')'; // always (!) use TYPO3 default function for adding hidden = 0, deleted = 0, group and date statements //$where .= $GLOBALS['TSFE']->sys_page->enableFields($table); $order = 'edate'; $group = ''; $limit = '0,6'; $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery($select, $table, $where, $group, $order, $limit); $w=0; while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) { $result_count=1; $where_uid=$row['uid']; } if($result_count!=1){ $select = 'uid, title, edate, text, detailimg, venue, imagecaption, eventscat1, links, relateddocuments,l10n_parent'; $table = 'tx_calevents2_events'; // we try to get the default language entry (normal behaviour) or, if not possible, currently the needed language (fallback if no default language entry is available) $where = ' hidden = 0 AND deleted = 0 and (uid='.$where_uid.' or l10n_parent='.$where_uid.')'; // always (!) use TYPO3 default function for adding hidden = 0, deleted = 0, group and date statements //$where .= $GLOBALS['TSFE']->sys_page->enableFields($table); $order = 'edate'; $group = ''; $limit = '0,6'; $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery($select, $table, $where, $group, $order, $limit); $w=0; while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) { $result_count=1; $where_uid=$row['l10n_parent']; }} $select = 'uid, title, edate, text, detailimg, venue, imagecaption, eventscat1, links, relateddocuments,recurrent,booking, booking_places,booking_waiting,event_endtime,participants_extra,pid,l10n_parent'; $table = 'tx_calevents2_events'; // we try to get the default language entry (normal behaviour) or, if not possible, currently the needed language (fallback if no default language entry is available) $where = 'sys_language_uid = '.$GLOBALS['TSFE']->sys_language_uid.' AND hidden = 0 AND deleted = 0 and (uid='.$where_uid.')'; // always (!) use TYPO3 default function for adding hidden = 0, deleted = 0, group and date statements //$where .= $GLOBALS['TSFE']->sys_page->enableFields($table); $order = 'edate'; $group = ''; $limit = '0,6'; $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery($select, $table, $where, $group, $order, $limit); $w=0; while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) { $booking_uid=$row['l10n_parent']; if($row['l10n_parent']==0)$booking_uid=$row['uid']; $result_count=1; $links=$row['links']; $relateddocuments=$row['relateddocuments']; if($row['detailimg']!=''){ //$image[$w]=''; $imgConf['file'] = 'uploads/tx_calevents2/' . $row['detailimg']; $imgConf['file.']['width'] = 260 . 'm'; //$imgConf['file.']['height'] = 54 . 'm'; $imgOutput[$w] = $this->cObj->IMAGE($imgConf).'
'.$row['imagecaption'].''; } if($row['text']!=''){ require_once(PATH_t3lib.'class.t3lib_parsehtml_proc.php'); $this->parseObj = t3lib_div::makeInstance('t3lib_parsehtml_proc'); $this->cObj = t3lib_div::makeInstance('tslib_cObj'); // local cObj. $this->pObj = &$pObj; $this->realConf = $pObj; $this->parseObj->TS_AtagToAbs($value,$dontSetRTEKEEP = FALSE) ; $text[$w] = $this->parseObj->TS_links_rte($this->pi_RTEcssText($row['text'])); //$text[$w]=$row['text']; } if($row['venue']>0){ $row['venue']=$row['venue']+1-1; $link_text_tmp=$this->pagesets[$row['venue']]; }else{ $link_text_tmp=$row['venue']; } $program_ausgabe=''; if($row['pid']!=29){ $this->local_cObj->setCurrentVal($row['pid']); $program_ausgabe=' '; } $temp_conf["additionalParams"] = ''; $temp_conf["additionalParams"] = ''; $this->local_cObj->setCurrentVal($row['venue']); if($row['venue']){ $ical_location=$link_text_tmp; $select = 'uid, title,tx_calevents2_venue_location'; $table = 'pages'; // we try to get the default language entry (normal behaviour) or, if not possible, currently the needed language (fallback if no default language entry is available) $where = ' hidden = 0 AND deleted = 0 and (uid='.$row['venue'].')'; // always (!) use TYPO3 default function for adding hidden = 0, deleted = 0, group and date statements //$where .= $GLOBALS['TSFE']->sys_page->enableFields($table); $order = ''; $group = ''; $limit = ''; $res2 = $GLOBALS['TYPO3_DB']->exec_SELECTquery($select, $table, $where, $group, $order, $limit); $w=0; while ($row2 = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res2)) { $ical_location=$row2['title'].' '.$row2['tx_calevents2_venue_location']; } if($pagesetsnav[$row['venue']]>0){$venue_tmp = ' / '.$pagesettitle[$row['venue']];}else{ $venue_tmp = ' / '.$this->local_cObj->typolink($link_text_tmp, $temp_conf); } }else{ $venue_tmp =''; } $caldate[$w]=''.$ical_time.' '.strtoupper(strftime("%R %d %b %Y",$row['edate'])) .''. $venue_tmp.''; $caldate_day[$w]=strtoupper(date("d",$row['edate'])); $caldate_month[$w]=strtoupper(date("n",$row['edate'])); $caldate_year[$w]=strtoupper(date("Y",$row['edate'])); $unixetime=$row['edate']-mktime(0, 0, 0, $caldate_month[$w], $caldate_day[$w], $caldate_year[$w]); if($this->piVars["recurrent"]==1 and $row['recurrent']==1){ $tmp_time=strtoupper(date("H:i",$row['edate'])); //$tmp_date='date erstellen aus '.$this->piVars['edate'] $caldate[$w]=''.$tmp_time.' '.strtoupper(strftime("%d %b %Y",$this->piVars['edate'])) .''. $venue_tmp.''; $ical_date=strftime("%d %b %Y",$this->piVars['edate']); $caldate_day[$w]=strtoupper(date("d",$this->piVars['edate'])); $caldate_month[$w]=strtoupper(date("n",$this->piVars['edate'])); $caldate_year[$w]=strtoupper(date("Y",$this->piVars['edate'])); } if($row['event_endtime']){ $teile = explode(":", $row['event_endtime']); $ical_end=mktime($teile[0], $teile[1], 0, $caldate_month[$w], $caldate_day[$w], $caldate_year[$w]); } $eventtimestring=$this->piVars['edate']+$unixetime; $ical_start=$eventtimestring; $ical_title=$row['title']; $booking_tmp=''; if($row['booking']==1){ $this->local_cObj->setCurrentVal($link_to_booking_page_uid); $temp_conf["additionalParams"] = '&tx_calevents2_pi1[uid]='.$row['uid'].'&tx_calevents2_pi1[edate]='.$this->piVars['edate'].'&tx_calevents2_pi1[recurrent]='.$this->piVars['recurrent']; // abfrage nach uid und $unixetime ////// ******************* /////////////****************** // unbedigt prüfen auf deutsche uid dann die booking daten von der englischen holen !!!!!! /////////////****************** $places_booked= $GLOBALS['TYPO3_DB']->exec_SELECTcountRows('*','tx_calevents2_booking',' eventuid='.$booking_uid.' AND eventtimestring='.$eventtimestring .' AND deleted=0'); $places_free=$row['booking_places']-$places_booked+$row['booking_waiting']; $booking_link_text=$this->pi_getLL('booking_form'); $booking_tmp=$this->local_cObj->typolink($booking_link_text, $temp_conf).'
'.$this->pi_getLL('seats_head').' '.$row['booking_places'].' '; if($places_free<1){ $booking_tmp='

'.$this->pi_getLL('booking_closed').'

';; } } if($_GET["selected_month"]){ $caldate_month_selected=$_GET["selected_month"]; $caldate_year_selected=$_GET["selected_year"]; }else{ $caldate_month_selected=$caldate_month[$w]; $caldate_year_selected=$caldate_year[$w]; } /* if($caldate_year[$w]>12){ $caldate_year[$w]=12; $caldate_month[$w]=12; } if($caldate_year[$w]<9){ $caldate_year[$w]=9; $caldate_month[$w]=1; } */ $titles[$w]='

'.$row['title'].'

'; if(($caldate_day[$w]==7 or $caldate_day[$w]==6 or $caldate_day[$w]==8) and( $caldate_month[$w]==6)){$titles[$w]=''.$this->pi_getLL('professional_preview').''.'

'.$row['title'].'

';} $titles_solo[$w]=$row['title']; $w++; // +++++++++++ participants if($row['participants_extra']){$participants_extra=', '.$row['participants_extra'];} $res2=$GLOBALS['TYPO3_DB']->exec_SELECTquery( 'pages.tx_participants_p_surename,pages.tx_participants_p_name, pages.uid,pages.tx_participants_p_image', #select 'pages, tx_calevents2_events_participants_mm', #from 'pages.hidden=0 and pages.deleted=0 and pages.pid=30 and pages.uid=tx_calevents2_events_participants_mm.uid_foreign and tx_calevents2_events_participants_mm.uid_local='.$where_uid, #where $groupBy='', $orderBy='tx_participants_p_name'); $participants =''; $participants_counter=0; $participants_total= $GLOBALS['TYPO3_DB']->exec_SELECTcountRows('*','tx_calevents2_events_participants_mm',' tx_calevents2_events_participants_mm.uid_local=17'); while( $row2 = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res2)) { $this->local_cObj->setCurrentVal($row2['uid']); $participants_temp=$row2['tx_participants_p_name'].' '.$row2['tx_participants_p_surename']; if($participants_total<4){ if($row2['tx_participants_p_image']){ $imgConf['file'] = 'uploads/tx_participants/' . $row2['tx_participants_p_image']; $imgConf['file.']['width'] = 80 . 'm'; $imgConf['file.']['height'] = 80 . 'm'; $imgOutput_temp = $this->cObj->IMAGE($imgConf); $temp_conf["ATagParams"] = 'class="eventsdetailsparticipantssingelsetimg"'; $participants_img_tmp= $this->local_cObj->typolink($imgOutput_temp, $temp_conf).'
';}else{ $participants_img_tmp=''; } $temp_conf["ATagParams"] = ''; $participants_temp=$row2['tx_participants_p_name'].'
'.$row2['tx_participants_p_surename']; $participants_temp_name= $this->local_cObj->typolink($participants_temp, $temp_conf); $participants .='
'.$participants_img_tmp.$participants_temp_name.'
'; }else{ $participants_temp=$row2['tx_participants_p_name'].' '.$row2['tx_participants_p_surename']; if($participants_counter>0){$participants .= ', ';} $participants .= $this->local_cObj->typolink($participants_temp, $temp_conf); } $participants_counter++; } $participants_head=$this->pi_getLL('Participants'); if($participants_counter>0){ if($participants_total<4){ // eplode participants_extra $participants_extra_array= explode(", ", $row['participants_extra']);$participants_extra='';foreach($participants_extra_array as $var){$participants_extra.=$var.'
';} $participants_less ='

'.$participants_head.'

'.$participants .$participants_extra.'
';}else{ $participants_more ='

'.$participants_head.':

'.$participants.$participants_extra .'
'; } }else{ //participants_extra if($row['participants_extra'])$participants_more ='

'.$participants_head.':

'.$row['participants_extra'] .'
'; } } // +++++++++++ categories $res2=$GLOBALS['TYPO3_DB']->exec_SELECTquery( 'tx_calevents2_categories.uid, tx_calevents2_categories.title', #select 'tx_calevents2_categories, tx_calevents2_events_categories_mm', #from 'tx_calevents2_categories.hidden=0 and tx_calevents2_categories.deleted=0 and tx_calevents2_categories.uid=tx_calevents2_events_categories_mm.uid_foreign and tx_calevents2_events_categories_mm.uid_local='.$where_uid, #where $groupBy='', $orderBy='tx_calevents2_categories.title'); $categories =''; $categories_counter=0; $temp_conf["ATagParams"] .= 'class="progselectera"'; $this->local_cObj->setCurrentVal($programs_category_page_uid); while( $row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res2)) { $categories_temp=strtoupper($row['title']); if($categories_counter>0){$categories .= ', ';} $temp_conf["additionalParams"] .= "&tx_calevents2_pi1[cat]=".$row['uid']; $categories .= $this->local_cObj->typolink($categories_temp, $temp_conf); $categories_counter++; } if($categories_counter>0){$categories .= ' / ';} $temp_conf["ATagParams"] = ''; $links_einzeln= explode(" ", $links); $tempcount=0; foreach($links_einzeln as $link_temp){ $tempcount++; if($link_temp){ $link_printout.=$tempcount.' - '.$link_temp. '
'; } } $relateddocuments_einzeln= explode(",", $relateddocuments); $tempcount=0; foreach($relateddocuments_einzeln as $relateddocuments_temp){ $tempcount++; if($relateddocuments_temp){$relateddocuments_printout.=$tempcount.' - '.$relateddocuments_temp. '
';} } $links_head=$this->pi_getLL('Links'); $attachment_head=$this->pi_getLL('Attachment'); $share_head=$this->pi_getLL('Share'); //minicalender create *****!!!!!!!!!! recurrent fehlt!!!! $caldate_year[0]; $caldate_month[0]; $month_temp='month'.$caldate_month_selected; $mont_temp_name=$this->pi_getLL($month_temp); $jmonat= mktime(0, 0, 0, $caldate_month_selected, 1, $caldate_year_selected); $days_in_month=date("t", $jmonat); $unix_datum_s=mktime(0, 0, 0, $caldate_month_selected,1, $caldate_year_selected); $unix_datum_e=mktime(23, 59, 59, $caldate_month_selected,$days_in_month, $caldate_year_selected); $select = 'uid, title, edate, text, detailimg, venue, imagecaption, eventscat1, links, relateddocuments'; $table = 'tx_calevents2_events'; // we try to get the default language entry (normal behaviour) or, if not possible, currently the needed language (fallback if no default language entry is available) $where = 'sys_language_uid = '.$GLOBALS['TSFE']->sys_language_uid.' AND hidden = 0 AND deleted = 0 and (edate>'.$unix_datum_s.' and edate<'.$unix_datum_e.')'; // always (!) use TYPO3 default function for adding hidden = 0, deleted = 0, group and date statements //$where .= $GLOBALS['TSFE']->sys_page->enableFields($table); $order = 'edate'; $group = ''; $limit = '0,6'; $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery($select, $table, $where, $group, $order, $limit); $w=0; while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) { $minical_event_days_tmp=strtoupper(date("d",$row['edate'])); $minical_event_days[$minical_event_days_tmp]=1; $minical_events.='
'.$row["uid"].' '.$row["title"].' '.$minical_event_days_tmp; } // ################## abfrage der recurent events $select = 'uid, title, edate,weekdays,recurrent_until'; $table = 'tx_calevents2_events'; // we try to get the default language entry (normal behaviour) or, if not possible, currently the needed language (fallback if no default language entry is available) $where = 'sys_language_uid = '.$GLOBALS['TSFE']->sys_language_uid.' AND hidden = 0 AND deleted = 0 and (edate>='.$unix_datum_s.' or recurrent_until>='.$unix_datum_s.') and (recurrent_until<'.$unix_datum_e.' or (edate<'.$unix_datum_e.' )) and recurrent>0'; // $where = 'sys_language_uid = '.$GLOBALS['TSFE']->sys_language_uid.' AND hidden = 0 AND deleted = 0 and (edate>='.$unix_datum_s.' or recurrent_until>='.$unix_datum_s.') and recurrent>0'; // always (!) use TYPO3 default function for adding hidden = 0, deleted = 0, group and date statements //$where .= $GLOBALS['TSFE']->sys_page->enableFields($table); $order = 'edate'; $group = ''; $limit = '0,6'; $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery($select, $table, $where, $group, $order, $limit); // $w=0; $weekdays = array( 0 => "SON", 1 => "MON", 2 => "TUE", 3 => "WED", 4 => "THU", 5 => "FRI", 6 => "SAT"); while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) { $bis_schleife=date('j',$unix_datum_e); $von_schleife=0; if($unix_datum_e>$row['recurrent_until'])$bis_schleife=date('j',$row['recurrent_until']); if($unix_datum_s<$row['edate'])$von_schleife=date('j',$row['edate']); //$debug_value.=$bis_schleife .' '.$unix_datum_e.' '.$row['recurrent_until'] .' '; unset($weekdaysarray_days); unset($weekdaysarray_no); for ($i=0; $i<7; $i++) { if (($row['weekdays']>> $i) & 1) { $weekdaysarray_days[] .= $weekdays[$i]; $weekdaysarray_no[] = $i; } } // alle recurent dates einsammeln und auf die tmp_days verteilen bis datum nicht vergessen !!!!! // //$wochentag_startdatum=date ("N", $unix_datum_s); //1. des monats //$wochentag_differenz=$wochentag_startdatum-1; for($t=$von_schleife;$t<$bis_schleife;$t++){ $tmp_date=$unix_datum_s+($t*86400); $tmp_t=date ("w", $tmp_date); //$debug_value.='
--- wdayno ask for '.$tmp_t; foreach($weekdaysarray_no as $var){ //$debug_value.=' wdayno '.$var; if($var==$tmp_t){ $tmp=date('j',$tmp_date); $minical_event_days[$tmp]=1; } } } } // fetch all events of selected month $minical=''; for($tr=1;$tr<=$days_in_month;$tr++){ if($trw==3){$minical.='';$trw=0;} if($minical_event_days[$tr]==1){ $temp_conf["ATagParams"] = ''; if($caldate_day[0]==$tr and $caldate_month[0]==$caldate_month_selected and $caldate_year[0]==$caldate_year_selected){ $temp_conf["ATagParams"] = ' class="selected" '; } $temp_conf["additionalParams"] .= "&date=$caldate_year_selected-$caldate_month_selected-$tr"; $this->local_cObj->setCurrentVal(29); $link_tmp=$this->local_cObj->typolink($tr, $temp_conf); $minical.=''; }else{ $minical.=''; }$trw++; } $rest_tage=((ceil(($days_in_month/3)))*3)-$days_in_month; for($x=1;$x<=$rest_tage;$x++){ $minical.=''; } $minical.='
'.$link_tmp.''.$tr.'
'; //12312311233 $urlparas= 'tx_calevents2_pi1[uid]='.$where_uid; $gesamttitle=count($titles); //$titleausgabe='
'.$calcontenthead.'
'; for($x=0;$x<$gesamttitle;$x++){ $aktuelle_url='calendar/?'.$urlparas; $social_url=urlencode($aktuelle_url); //prev month link $caldate_year_prev=$caldate_year_selected; $caldate_month_prev=$caldate_month_selected+1; if($caldate_month_prev>12){ $caldate_year_prev=$caldate_year_selected+1; $caldate_month_prev=1; } if($caldate_year_prev>2012){ $caldate_year_prev=2012; $caldate_month_prev=12; } $prev_url=$aktuelle_url.'&selected_month='.$caldate_month_prev.'&selected_year='.$caldate_year_prev.'&date='.$caldate_year_prev.'-'.$caldate_month_prev; //next month link $caldate_year_next=$caldate_year_selected; $caldate_month_next=$caldate_month_selected-1; if($caldate_month_next<1){ $caldate_year_next=$caldate_year_selected-1; $caldate_month_next=12; } if($caldate_year_next<=2009){ $caldate_year_next=2009; $caldate_month_next=1; } $next_url=$aktuelle_url.'&selected_month='.$caldate_month_next.'&selected_year='.$caldate_year_next.'&date='.$caldate_year_next.'-'.$caldate_month_next; $seiten_url=urlencode('http://'.$_SERVER["HTTP_HOST"].$_SERVER['REQUEST_URI'].'&noMobile=1'); // ical link $path_ext=t3lib_extMgm::extRelPath('cal_events2'); $ical_link='ical link'; $sharelinks=shareit($social_url,$titles_solo[$x],'dOCUMENTA (13) events'); $titleausgabe.='
'.$categories.$caldate[$x].$program_ausgabe.$titles[$x].$booking_tmp.'
'.$mont_temp_name.'

'.$minical.'
'.$participants_less.$text[$x] .$participants_more.'
'.$imgOutput[$x].'
'.$attachment_head.'
'.$relateddocuments_printout.'
'.$share_head.'
'; } $content= $titleausgabe; ?> dOCUMENTA (13) - programs_details
info
  • Menu
  • Menu
  • Menu
  • Menu
print