SM-Finder-Logo        
herz Karte Kalender Suche Bookmarks Experte FAQ

Module

Download

SMFinder_Main

Wird verwendet von:
index

Dies ist die zentrale Ablaufsteuerung des sm-finders. An Hand des Schalters $what2do wird aus der case-Struktur die gewünsche Funktion ausgewählt.

Der default-Bereich legt dabei fest, wie die Startseites des sm-finders aussehen soll, er kann eine Kopie eines der Cases enthalten.

Da für die Karte zuvor generierter Code übergeben werden muss, hat die Funktion das zweite Aufrufargument, das in den meisten Fällen leer ist.

Wichtige Einsprungpunkte sind:

  • admin
    Bereich zur Administration des Datensatzes.
  • map
    Übersichtskarte.
  • search
    Eingabe wie in einer Suchmaschine.
  • calendar
    Veranstaltungskalender.
  • chronological
    Liste der Events.
  • mask
    Suchmaske zur Filterung der Datenbank.
  • DMOZ'
    Katalog der URL-Verweise.
  • sm-finders.

    <?php 
      /* 
        published under GPL www.gnu.org/licenses/gpl.html
        Zentrale Ablaufsteuerung des SM-Finder entsprechend $what2do
    
        Arne 2010-01-10
        support@sm-finder.de
      */
    
    function SMFinder_Main($what2do,$content,$pageIDLink){
      if($GLOBALS['debug']){echo "<p><aj>what2do=</aj> ".$what2do." ".$pageIDLink."</p>";}
      if(isset($_GET['element'])){$element=$_GET['element'];}else{$element="";}
      if(isset($_GET['UID'])){$UID=$_GET['UID'];}else{$UID="";}
      if(isset($_GET['status'])){$status=$_GET['status'];}else{$status="";}
      if (empty($element) AND isset($_POST['element'])){$element=$_POST['element'];}
      switch ($what2do){
        /* QUERY SEARCHENGINE */
      case "map":
        echo $content;
        break;
     
      case "mask":
        include_once("SMFinder_Query_Mask.php");
        SMFinder_Query_Mask($element);
        break;
      case "search":
        include_once("SMFinder_Query_SearchEngine.php");
        include_once("SMFinder_Query_analyzeSearch.php");
        include_once("SMFinder_Query_showResult.php");
        if(isset($_POST['searchString'])){
          $searchString = $_POST['searchString'];
        }elseif(isset($_GET['searchString'])){
          $searchString=$_GET['searchString'];
        }else{
          $searchString="";
        }
        SMFinder_Query_SearchEngine($element,$searchString,$pageIDLink);
        if (!empty($searchString)){
          list($UIDs,$residuum,$cats,$atrs,$keywords,$count) #
    	= SMFinder_Query_analyzeSearch($searchString);
          if ($count>0){
    	$result = SMFinder_Query_showResult("addressPlain",$UIDs);
    	for($p=0;$p<ceil($count/$GLOBALS['resultsPerPage'])-1;$p++){
    	  $pp=$p+1;
    	  $ppp=$pp*$GLOBALS['resultsPerPage'];
    	  $pagesList.="<a href=".$_SERVER['PHP_SELF']."?".$pageIDLink."what2do=search&searchString=".str_replace(" ","+",$searchString)."&p=".$ppp."&c=".$count.">".$pp."</a>   ";
    	} #p
    	echo "<table width='600'><tr><td>";
    	echo $result;
    	echo "</td></tr><tr><td align='center'>";
    	echo $pagesList;
    	echo "</td></tr></table>";
          }
        }
        break;
      case "SHOWaddress":
        include('SMFinder_Query_readAddress.php');
        include('SMFinder_Query_readLink.php');
        include('SMFinder_Query_readAdr.php');
        include('SMFinder_Query_readPers.php');
        include('SMFinder_Query_showAddress.php');
        $UID    = $_GET['UID'];
        $address = SMFinder_Query_readAddress($UID);
        list($link,$NoLink) = SMFinder_Query_readLink($UID);
        list($adr,$NoAdrA)  = SMFinder_Query_readAdr($UID);
        list($pers,$NoPers) = SMFinder_Query_readPers($UID);
        $addressString = SMFinder_Query_showAddress($address,$link,$NoLink,$adr,$NoAdrA,$pers,$NoPers);
        echo $addressString;
        break;
      case "SHOWevent":
        include('SMFinder_Query_readEvent.php');
        include('SMFinder_Query_readLink.php');
        include('SMFinder_Query_showEvent.php');
        $UID    = $_GET['UID'];
        $event = SMFinder_Query_readEvent($UID);
        list($link,$NoLink) = SMFinder_Query_readLink($UID);
        $eventString = SMFinder_Query_showEvent($event,$link,$NoLink);
        echo $eventString;
      case "SHOWorganizer":
        include_once("SMFinder_Query_showEventList.php");
        SMFinder_Query_showEventList($_GET['UID'],"organizer");
        break;
      case "SHOWlocation":
        include_once("SMFinder_Query_showEventList.php");
        SMFinder_Query_showEventList($_GET['UID'],"location");
        break;
      case "SHOWlink":
        include_once("SMFinder_Query_readBookmark.php");
        include_once("SMFinder_Query_showLink.php");
        list($link,$NoLink)=SMFinder_Query_readBookmark($_GET['UID']);
        $linkString=SMFinder_Query_showLink($link[0]);
        echo $linkString;
        break;
      case "find":
        #direkter Einsprung: index.php?what2do=find&lat=50&lon=8.5&Radius=50
        include_once("SMFinder_Query_find.php");
        include_once("SMFinder_Query_showResult.php");
        include_once("SMFinder_Query_composeDates4UIDs.php");
        include_once("SMFinder_Query_Calendar.php");
        include_once("SMFinder_Query_showCalendar.php");
        $element="event";
        list($UIDs,$residuum,$cats,$atrs,$keywords,$count) #
          = SMFinder_Query_find($element);
        if ($count>0){
          echo "<h2>Veranstaltungen</h2>";
          if(isset($_GET['start'])){
    	$start = $_GET['start'];
          }elseif(isset($_POST['start'])){
    	$start = $_POST['start'];
          }else{
    	$start=date('Y')."-".date('m')."-".date('d');
          }
          if(isset($_GET['end'])){
    	$end = $_GET['end'];
          }elseif(isset($_POST['end'])){
    	$end = $_POST['end'];
          }else{
    	include_once("SMFinder_Query_validDate.php");
    	list($year,$month,$day)=SMFinder_Query_validDate(date('Y'),date('m')+1,date('d'));
    	$end=sprintf("%04d-%02d-%02d",$year,$month,$day);
          }
          if(isset($_GET['calType'])){
    	$type=$_GET['calType'];
          }else{
    	$type="static"; //default
          }
        
        /* generate calendar structure */
        list($firstWeekNo,$calendar) = SMFinder_Query_composeCalendar($start,$end,$type);
        /* fit dates into html-structure*/
        $calendarString = SMFinder_Query_Calendar($UIDs,$firstWeekNo,$calendar,$start,$end,$type);
        /* change time range for calendar */
        $calendarForm= SMFinder_Query_CalendarForm($start,$end,$type,$UIDs);
        for($m=0;$m<count($calendarString);$m++){
          $calendarString[$m]=str_replace("?w","?".$pageIDLink."w",$calendarString[$m]);
        } #m
        $calendarForm=str_replace("?w","?".$pageIDLink."w",$calendarForm);
        if($type=="static"){
          echo $calendarString[0];
          echo $calendarForm;
        }
        if($type=="dynamic"){
          $monthArray="<table>";
          $mCount=count($calendarString);
          for ($m=1;$m<=$mCount;$m++){
    	if($m/2==floor($m/2)){
    	  $monthArray.="<td> </td>";
    	  $monthArray.="<td valign='top'>".$calendarString[$m-1]."</td>";
    	  $monthArray.="</tr>";
    	}else{
    	  $monthArray.="<tr>";
    	  $monthArray.="<td valign='top'>".$calendarString[$m-1]."</td>";
    	}
          } #m
          if($mCount/2!=floor($mCount/2)){$monthArray.="<td> </td><td> </td></tr>";}
          $monthArray.="<tr><td colspan='3'>".$calendarForm."</td></tr>";
          $monthArray.="</table>";
          echo $monthArray;
        }
        if($type=="chronological"){
          echo $calendarString[0];
        }
        } #fi: events were found
        $element="address";
        list($UIDs,$residuum,$cats,$atrs,$keywords,$count) #
          = SMFinder_Query_find($element);
        if ($count>0){
          $allHits = SMFinder_Query_showResult($element,$UIDs);
          echo $allHits;
        } #fi: address were found
        break;
      case "ABC":
        include_once("SMFinder_Query_ABC.php");
        $choiceList = SMFinder_Query_ABC($_GET['handle'],$_GET['element']);
        echo $choiceList;
        break;
      case "DMOZ":
        #echo "<p><b>noch Testbetrieb!</b></p>";
        include_once("SMFinder_Query_dmoz.php");
        break;
      /* QUERY EVENT */
      case "calendar":
        include_once("SMFinder_Query_Calendar.php");
        if(isset($_GET['start'])){
          $start = $_GET['start'];
        }elseif(isset($_POST['start'])){
          $start = $_POST['start'];
        }else{
          $start=date('Y')."-".date('m')."-".date('d');
        }
        if(isset($_GET['end'])){
          $end = $_GET['end'];
        }elseif(isset($_POST['end'])){
          $end = $_POST['end'];
        }else{
          include_once("SMFinder_Query_validDate.php");
          list($year,$month,$day)=SMFinder_Query_validDate(date('Y'),date('m')+1,date('d'));
          $end=sprintf("%04d-%02d-%02d",$year,$month,$day);
        }
        if(isset($_GET['calType'])){
          $type=$_GET['calType'];
        }else{
          $type="static"; //default
        }
        /* generate calendar structure */
        list($firstWeekNo,$calendar) = SMFinder_Query_composeCalendar($start,$end,$type);
        /* get all actual events */
        include_once("SMFinder_Query_getAllUID.php"); 
        list($UIDs,$stati,$names)=SMFinder_Query_getAllUID("event","ok","status");
        /* fit dates into html-structure*/
        $calendarString = SMFinder_Query_Calendar($UIDs,$firstWeekNo,$calendar,$start,$end,$type);
        /* change time range for calendar */
        $calendarForm= SMFinder_Query_CalendarForm($start,$end,$type,$UIDs);
        for($m=0;$m<count($calendarString);$m++){
        $calendarString[$m]=str_replace("?w","?".$pageIDLink."w",$calendarString[$m]);
        } #m
        $calendarForm=str_replace("?w","?".$pageIDLink."w",$calendarForm);
        if($type=="static"){
          echo $calendarString[0];
          echo $calendarForm;
        }
        if($type=="dynamic"){
          $monthArray="<table>";
          $mCount=count($calendarString);
          for ($m=1;$m<=$mCount;$m++){
    	if($m/2==floor($m/2)){
    	  $monthArray.="<td> </td>";
    	  $monthArray.="<td valign='top'>".$calendarString[$m-1]."</td>";
    	  $monthArray.="</tr>";
    	}else{
    	  $monthArray.="<tr>";
    	  $monthArray.="<td valign='top'>".$calendarString[$m-1]."</td>";
    	}
          } #m
          if($mCount/2!=floor($mCount/2)){$monthArray.="<td> </td><td> </td></tr>";}
          $monthArray.="<tr><td colspan='3'>".$calendarForm."</td></tr>";
          $monthArray.="</table>";
          echo $monthArray;
        }
        if($type=="chronological"){
          echo $calendarString[0];
        }
        break;
     
      case "SHOWevent":
        include('SMFinder_Query_readEvent.php');
        include('SMFinder_Query_readLink.php');
        include('SMFinder_Query_showEvent.php');
        $UID    = $_GET['UID'];
        $event = SMFinder_Query_readEvent($UID);
        list($link,$NoLink) = SMFinder_Query_readLink($UID);
        $eventString = SMFinder_Query_showEvent($event,$link,$NoLink);
        echo "<table border='0'><tr><td style='width:600px;'>";
        echo "<ul style='color:#cc0000;'>".$advertisement1."</ul>";
        $result = str_replace("</li>","<br><br></li>",$eventString);
        echo $result;
        echo "</td><td style='width:20px;'></td><td style='width:250px; color:#cc0000; vertical-align:top;'>";
        echo $advertisement2;
        echo "</td></tr></table>";
        break;
        /* ADMIN */
      case "admin":
        include_once("SMFinder_Admin.php");
        SMFinder_Admin();
        break;
      case "exportXML":   #download last changed entries
        include_once("SMFinder_Admin_exportXML.php");
        SMFinder_Admin_exportXML();
        break;
      case "uploadXML":     #upload sm-finder.xml
        include_once("SMFinder_Admin_uploadXML.php");
        SMFinder_Admin_uploadXML();
        break;
      case "compareXML": #import newer entries
        include_once("SMFinder_XML_import.php");
        $target_path = "text/sm-finder.xml";
        $_FILES['uploadedfile']['tmp_name'];
        if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
          echo "<p>Upload war erfolgreich: <strong>". basename( $_FILES['uploadedfile']['name']). "</strong></p>";
          include_once("SMFinder_XML_import.php");
          SMFinder_XML_import();
        }else{
          echo "<p><b>Es ist ein Fehler aufgetreten!</b></p><p>lese alte Datei auf dem Server!</p>";
          include_once("SMFinder_XML_import.php");
          SMFinder_XML_import();
        }
        break;
      case "cleanData":
        include("SMFinder_Admin_clean.php");
        SMFinder_Admin_clean($_POST['step']);
        break;
      case "genKarte":
        include_once("SMFinder_Admin_genMap.php");
        SMFinder_Admin_genMap();
        SMFinder_Admin_genMap4Variants();
        break;
      case "takeEventGeoFromAdr":
        include_once("SMFinder_Admin.php");
        $geoModified = SMFinder_Admin_takeEventGeoFromAdr();
        echo $geoModified;
        break;
      case "changeLog":
        include_once("SMFinder_Admin.php");
        SMFinder_Admin_changeLog();
        break;
      case "writeLog":
        include_once("SMFinder_Admin.php");
        SMFinder_Admin_writeLog();
        break;
      case "showLog":
        include_once("SMFinder_Admin.php");
        break;
      case "checkLinks":
        include_once("SMFinder_Admin_checkAllLinks.php");
        SMFinder_Admin_checkAllLinks();
        break;
    case "addCategories":
        include_once("SMFinder_Admin_addCategories.php");
        SMFinder_Admin_addCategories();
        break;
        /* EDIT */
      case "edit":
        include('SMFinder_Edit.php');
        $editHelp = SMFinder_Edit_overview();
        echo $editHelp;
        break;
      case "edit XML":
        include_once("SMFinder_XML_importParseEvent.php");
        include_once("SMFinder_XML_importParseAddress.php");
        include_once("SMFinder_XML_importParseAdr.php");
        include_once("SMFinder_XML_importParsePerson.php");
        include_once("SMFinder_XML_importParseLink.php");
        include_once("SMFinder_Edit.php");
        include('SMFinder_Edit_Modus.php');
        list($element,$editMode,$UID) = SMFinder_Edit_Modus();
        $xml=$_POST['xml'];
        if (eregi("<event",$xml)){
          include_once("SMFinder_XML_import.php");
          include_once("SMFinder_Edit_EventFields.php");
          list($event,$locationXML,$organizerXML,$contactXML,$linkXML) = #
    	SMFinder_XML_importParseEvent($xml);
          list($event['location'],$lat,$lon) = SMFinder_XML_getRefUID($locationXML,"location");
          list($event['organizer'],$lat,$lon) = SMFinder_XML_getRefUID($organizerXML,"organizer");
          list($event['contact'],$lat,$lon) = SMFinder_XML_getRefUID($contactXML,"contact");
          $link = SMFinder_XML_importParseLink($linkXML);
          $eventForm = SMFinder_Edit_EventFields($event,$link,count($link));
          echo $eventForm;
        }elseif (eregi("<address",$xml)){
          list($address,$linkXML,$adrXML,$persXML) = #
    	SMFinder_XML_importParseAddress($xml,"new");
          $adr = SMFinder_XML_importParseAdr($adrXML);
          $pers = SMFinder_XML_importParsePerson($persXML);
          $link = SMFinder_XML_importParseLink($linkXML);
          /* doTest($address,$link,$NoLink,$adr,$NoAdr,$pers,$NoPers); */
          SMFinder_Edit_Address($address,$link,count($link),$adr,count($adr),$pers,count($pers));
        }elseif (eregi("<link",$xml)){
          $linkXML[0] = $xml;
          $link = SMFinder_XML_importParseLink($linkXML);
          $linkFieldBlock = SMFinder_Edit_Link($link,1);
        }
        break;
      case "editAddress":
        include('SMFinder_Elementdefinitions.php');
        include('SMFinder_Edit_Modus.php');
        include('SMFinder_Edit_POST.php');
        include('SMFinder_Edit.php');
        list($element,$editMode,$UID) = SMFinder_Edit_Modus();
        $address = SMFinder_Edit_POSTaddress();
        list($link,$NoLink) = SMFinder_Edit_POSTlink();
        list($adr,$NoAdr) = SMFinder_Edit_POSTadr();
        list($pers,$NoPers) = SMFinder_Edit_POSTpers();
        /* doTest($address,$link,$NoLink,$adr,$NoAdr,$pers,$NoPers); */
        $editMode=$_POST['editMode'];
        if($editMode=="speichern"){
          include("SMFinder_XML_export.php");
          include("SMFinder_Write_Address.php");
          include("SMFinder_Write_Adr.php");
          include("SMFinder_Write_Pers.php");
          include("SMFinder_Write_Link.php");
          include("SMFinder_Write_deleteEntry.php");
          $xml="<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n";
          $xml.="<sm-finder version=\"1.0\" prodid=\"sm-finder/1.0\">\n";
          $xml.=SMFinder_XML_exportAddress($address,$link,$NoLink,$adr,$NoAdr,$pers,$NoPers);
          $xml.="</sm-finder>";
          $xml.="<?/xml?>";
          SMFinder_Write_Address($address);
          SMFinder_Write_Adr($adr,$NoAdr,$address['UID']);
          SMFinder_Write_Pers($pers,$NoPers,$address['UID']);
          SMFinder_Write_Link($link,$NoLink,$address['UID']);
          /* delte existing doublet if status was changed */
          if ($address['status']!="new"){
    	SMFinder_Write_deleteEntry($address['UID']."_nEw","address");
          }
          SMFinder_Edit_sendAndShowXML($xml,$address['fn']);
        }elseif($editMode=="anzeigen"){
          include_once("SMFinder_Query_showAddress.php");
          $string ="<h1>Dein Eintrag</h1>";
          $string.=SMFinder_Query_showAddress($address,$link,$NoLink,$adr,$NoAdr,$pers,$NoPers);
          echo $string;
          SMFinder_Edit_Address($address,$link,$NoLink,$adr,$NoAdr,$pers,$NoPers);
        }else{
          SMFinder_Edit_Address($address,$link,$NoLink,$adr,$NoAdr,$pers,$NoPers);
        }
        break;			 
      case "editEvent":
        include('SMFinder_Edit_POST.php');
        include('SMFinder_Edit.php');
        include('SMFinder_Edit_Modus.php');
        include('SMFinder_Edit_EventFields.php');
        list($element,$editMode,$UID) = SMFinder_Edit_Modus();
        $event = SMFinder_Edit_POSTevent();
        if($editMode=="speichern"){
          include("SMFinder_XML_export.php");
          include("SMFinder_Write_Event.php");
          include("SMFinder_Write_Link.php");
          $event = SMFinder_Edit_POSTevent();
          list($link,$NoLink) = SMFinder_Edit_POSTlink();
          $xml="<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n";
          $xml.="<sm-finder version=\"1.0\" prodid=\"sm-finder/1.0\">\n";
          $xml.=SMFinder_XML_exportEvent($event,$link,$NoLink);
          $xml.="</sm-finder>";
          $xml.="<?/xml?>";
          $xmlTmp=str_replace("<","<",$xml);
          $xmlTmp=str_replace(">",">",$xmlTmp);
          echo "<pre>".$xmlTp."</pre>";
          SMFinder_Write_Event($event,$link,$NoLink);
          SMFinder_Write_Link($link,$NoLink,$event['UID']);
          SMFinder_Edit_sendAndShowXML($xml,$event['summary']);
        }elseif($editMode=="anzeigen"){
          include_once("SMFinder_Query_showEvent.php");
          $event = SMFinder_Edit_POSTevent();
          list($link,$NoLink) = SMFinder_Edit_POSTlink();
          list($adr,$NoAdr) = SMFinder_Edit_POSTadr();
          list($pers,$NoPers) = SMFinder_Edit_POSTpers();
          /* doTest($event,$link,$NoLink,$adr,$NoAdr,$pers,$NoPers); */
          $string ="<h1>Dein Eintrag</h1>";
          $string.=SMFinder_Query_showEvent($event,$link,$NoLink,$adr,$NoAdr,$pers,$NoPers);
          echo $string."<hr>";
          $eventForm = SMFinder_Edit_EventFields($event,$link,$NoLink,$adr,$NoAdr,$pers,$NoPers);
          echo $eventForm;
        }else{
          list($link,$NoLink) = SMFinder_Edit_POSTlink();
          $eventForm = SMFinder_Edit_EventFields($event,$link,$NoLink);
          if (strlen($eventForm)<5900){echo "Falls du einen existenten Termin (-Serie) bearbeiten möchtest, wähle ihn aus der <a href='".$_SERVER['PHP_SELF']."?element=event&what2do=ABC&handle=Edit'>Liste</a>.";}
        }
        echo $eventForm;
        break;			 
      case "editLink":
        include('SMFinder_Edit_Modus.php');
        include('SMFinder_Edit_POST.php');
        include('SMFinder_Edit.php');
        list($element,$editMode,$UID) = SMFinder_Edit_Modus();
        list($link,$NoLink) = SMFinder_Edit_POSTlink();
        if($editMode=="speichern"){
          include("SMFinder_XML_export.php");
          include("SMFinder_Write_Link.php");
          list($link,$NoLink) = SMFinder_Edit_POSTlink();
          $xml="<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n";
          $xml.="<sm-finder version=\"1.0\" prodid=\"sm-finder/1.0\">\n";
          $xml.=SMFinder_XML_exportLink($link,$NoLink);
          $xml.="</sm-finder>";
          $xml.="<?/xml?>";
          SMFinder_Write_Link($link,$NoLink,$address['UID']);
          SMFinder_Edit_sendAndShowXML($xml,$link[0]["URL"]);
        }elseif($editMode=="anzeigen"){
          include_once("SMFinder_Query_showLink.php");
          $string="<h1>Dein Eintrag</h1>";
          for ($n=0;$n<$NoLink;$n++){
    	$thisLink=$link[$n];
    	$string.=SMFinder_Query_showLink($thisLink);
          } #n
          echo $string;
          SMFinder_Edit_Link($link,$NoLink);
        }else{
          SMFinder_Edit_Link($link,$NoLink);
        }
        break;
      case "READaddress":
        include('SMFinder_Edit.php');
        include('SMFinder_Query_readAddress.php');
        include('SMFinder_Query_readLink.php');
        include('SMFinder_Query_readAdr.php');
        include('SMFinder_Query_readPers.php');
        include('SMFinder_Edit_Modus.php');
        list($element,$editMode,$UID) = SMFinder_Edit_Modus();
        $address = SMFinder_Query_readAddress($UID);
        list($link,$NoLink) = SMFinder_Query_readLink($UID);
        list($adr,$NoAdr) = SMFinder_Query_readAdr($UID);
        list($pers,$NoPers) = SMFinder_Query_readPers($UID);
        SMFinder_Edit_storeOldMail($adr,$NoAdr,$pers,$NoPers);
        /* doTest($address,$link,$NoLink,$adr,$NoAdr,$pers,$NoPers); */
        if (!$_SESSION['IamGod']){$address['status']='new';}
        SMFinder_Edit_Address($address,$link,$NoLink,$adr,$NoAdr,$pers,$NoPers);
        break;
      case "READevent":
        include('SMFinder_Edit.php');
        include('SMFinder_Query_readEvent.php');
        include('SMFinder_Query_readLink.php');
        include('SMFinder_Query_readAdr.php');
        include('SMFinder_Query_readPers.php');
        include('SMFinder_Edit_EventFields.php');
        include('SMFinder_Edit_Modus.php');
        list($element,$editMode,$UID) = SMFinder_Edit_Modus();
        $event = SMFinder_Query_readEvent($UID);
        list($link,$NoLink) = SMFinder_Query_readLink($UID);
        list($adr,$NoAdr) = SMFinder_Query_readAdr($event['organizer']);
        list($pers,$NoPers) = SMFinder_Query_readPers($event['organizer']);
        SMFinder_Edit_storeOldMail($adr,$NoAdr,$pers,$NoPers);
        if(empty($event['geoLat'])){
          $event['geoLat']=$adr[0]['lat'];
          $event['geoLon']=$adr[0]['lon'];
        }
        /* doTest($address,$link,$NoLink,$adr,$NoAdr,$pers,$NoPers); */
        if ($_POST['isSeries']){
          $askUser="<form action='".$_SERVER['PHP_SELF']."?what2do=READevent&UID=".$UID."' method='POST'>
          <input type='hidden' name='UID' value='".$UID."'>
          <input type='hidden' name='date' value='".$_POST['date']."'>
          <p><b>Möchtest du dieses Element der Serie oder die ganze Serie bearbeiten?</b></p>
          <input type='submit' name ='editMode' value='Einzeltermin'>
          <input type='submit' name ='editMode' value='Serie'>
          </form>";
          echo $askUser;
        }else{
          if ($_POST['editMode']=="Einzeltermin"){
    	$startDate=substr($_POST['date'],0,4).substr($_POST['date'],5,2).substr($_POST['date'],8,2);
    	$UIDparts=explode("@",$event['UID']);
    	$event['UID']=$UIDparts[0].$startDate."@".$GLOBALS['sitename'];
    	$event['dtstart']=$startDate.substr($event['dtstart'],8);
    	$event['freq']="";
          }
          $eventForm = SMFinder_Edit_EventFields($event,$link,$NoLink);
          echo $eventForm;
        }
        break;
      case "READlink":
        include('SMFinder_Edit.php');
        include('SMFinder_Query_readBookmark.php');
        list($link,$NoLink) = SMFinder_Query_readBookmark($UID);
        include('SMFinder_Edit_Modus.php');
        list($element,$editMode,$UID) = SMFinder_Edit_Modus();
        /* doTest($address,$link,$NoLink,$adr,$NoAdr,$pers,$NoPers); */
        SMFinder_Edit_Link($link,$NoLink);
        break;
      case "SHOWaddress":
      break;
      case "SHOWevent":
     break;
     case "SHOWlink":
        break;
      case "SAVEaddress":
     break;
     case "SAVElink":
        break;
     case "SAVEevent":
        break;
     case "parseXML":
       include_once('SMFinder_XML_findAllElements.php');
       include_once('SMFinder_XML_import.php');
       include_once('SMFinder_XML_extractTag.php');
       include_once('SMFinder_XML_extractAttribute.php');
       include_once('SMFinder_XML_checkType.php');
       $xml = stripslashes($_POST['xml']);
       list($events,$NoEvents,$residual) = SMFinder_XML_findAllElements($xml,"event");
       list($addresses,$NoAddress,$residual) = SMFinder_XML_findAllElements($residual,"address");
       list($bookmarks,$NoBookmark,$residual) = SMFinder_XML_findAllElements($residual,"link");
       if($NoEvents>0){
         XML_parseEvent($events[0]);
       }else if ($NoAddress>0){
        /*
        $string=str_replace("<","<",$xml);
        $string=str_replace(">",">",$string);
    echo "<pre>".$string."</pre>";
        */
         list($address,$link,$NoLink,$adr,$NoAdr,$pers,$NoPers)=XML_parseAddress($addresses[0]);
         /* doTest($address,$link,$NoLink,$adr,$NoAdr,$pers,$NoPers); */
         SMFinder_Edit_Address($address,$link,$NoLink,$adr,$NoAdr,$pers,$NoPers);
       }else if($NoBookmark>0){
         $thisLink[0]=$bookmarks[0];
         list($link,$NoLink)=XML_parseLink($thisLink,1);
         SMFinder_Edit_Link($link,$NoLink);
       }
       break;
      case "help":
        include_once("SMFinder_Help.php");
        SMFinder_Help();
        break;
      case "modules":
        include_once("SMFinder_Modules.php");
        SMFinder_Modules();
        break;
      case "dtd":
        include_once("SMFinder_DTD.php");
        SMFinder_DTD();
        break;
      case "Download":
        include_once("SMFinder_Help_Download.php");
        SMFinder_Help_Download();
        break;
      default:
        echo $content;
        #include_once("SMFinder_Query_SearchEngine.php");
        #SMFinder_Query_SearchEngine($element,"");
        break;
      }
    }
    
    
    
    function doTest($address,$link,$NoLink,$adr,$NoAdr,$pers,$NoPers){
      echo "<h3>Address</h3>";
      print_r($address);
      echo "<h3>Link ".$NoLink."</h3>";
      print_r($link);
      echo "<h3>Adr ".$NoAdr."</h3>";
      print_r($adr);
      echo "<h3>Pers ".$NoPers."</h3>";
      print_r($pers);
    }
    ?>

    Index

    Für die Funktionalität des SM-Finders sind viele kleine Tools notwendig. Alle Funktionen beginnen mit SMFinder_ um deren Ursprung zu kennzeichnen. Dem schließt sich die Funktionsgruppe, z.B. Geo_ an, gefolgt vom eigentlichen Namen, der die Aufgabe der Funktion widerspiegeln soll, z.B. PLZ2DB.

    Der gesamte Sourcecode darf gemäß GNU General Public License weiterverbreitet werden.

    1Makefile
    2SMFinder_Admin
    3SMFinder_Admin_addCategories
    4SMFinder_Admin_checkAllLinks
    5SMFinder_Admin_clean
    6SMFinder_Admin_exportXML
    7SMFinder_Admin_genMap
    8SMFinder_Admin_getTimefInt
    9SMFinder_Admin_importGeo
    10SMFinder_Admin_sendXML2user
    11SMFinder_Admin_uploadXML
    12SMFinder_Config
    13SMFinder_DTD
    14SMFinder_Datenbanken
    15SMFinder_Edit
    16SMFinder_Edit_AddressFields
    17SMFinder_Edit_AdrFields
    18SMFinder_Edit_CatsAtrs
    19SMFinder_Edit_EventFields
    20SMFinder_Edit_LinkFields
    21SMFinder_Edit_Modus
    22SMFinder_Edit_POST
    23SMFinder_Edit_PersFields
    24SMFinder_Edit_genUID
    25SMFinder_Elementdefinitions
    26SMFinder_Geo
    27SMFinder_Geo_PLZ2DB
    28SMFinder_Geo_Umkreis
    29SMFinder_Geo_getGeo
    30SMFinder_Help
    31SMFinder_Help_Download
    32SMFinder_Help_FAQ
    33SMFinder_Help_KategorienInfo
    34SMFinder_Help_editAddress
    35SMFinder_Help_editEvent
    36SMFinder_Main
    37SMFinder_MapDACH
    38SMFinder_Menu
    39SMFinder_Modules
    40SMFinder_ModulesIndex
    41SMFinder_Pagelayout
    42SMFinder_Query_ABC
    43SMFinder_Query_Calendar
    44SMFinder_Query_CheckCatsAtrs
    45SMFinder_Query_Map
    46SMFinder_Query_Mask
    47SMFinder_Query_SearchEngine
    48SMFinder_Query_analyzeSearch
    49SMFinder_Query_composeDates4UIDs
    50SMFinder_Query_dateFormat
    51SMFinder_Query_dmoz
    52SMFinder_Query_expandSeries
    53SMFinder_Query_find
    54SMFinder_Query_getAllUID
    55SMFinder_Query_getUID4CatsAtrsGeo
    56SMFinder_Query_getUID4Geo
    57SMFinder_Query_getUID4adr
    58SMFinder_Query_getUID4fn
    59SMFinder_Query_readAddress
    60SMFinder_Query_readAdr
    61SMFinder_Query_readBookmark
    62SMFinder_Query_readEvent
    63SMFinder_Query_readLink
    64SMFinder_Query_readPers
    65SMFinder_Query_showAddress
    66SMFinder_Query_showAdr
    67SMFinder_Query_showCalendar
    68SMFinder_Query_showCalendarDynamic
    69SMFinder_Query_showEvent
    70SMFinder_Query_showEventList
    71SMFinder_Query_showEventsChronological
    72SMFinder_Query_showLink
    73SMFinder_Query_showPers
    74SMFinder_Query_showResult
    75SMFinder_Query_validDate
    76SMFinder_Style
    77SMFinder_Write_Address
    78SMFinder_Write_Adr
    79SMFinder_Write_Event
    80SMFinder_Write_Link
    81SMFinder_Write_Pers
    82SMFinder_Write_deleteEntry
    83SMFinder_XML_checkType
    84SMFinder_XML_export
    85SMFinder_XML_extractAttribute
    86SMFinder_XML_extractTag
    87SMFinder_XML_findAllElements
    88SMFinder_XML_import
    89SMFinder_XML_importParseAddress
    90SMFinder_XML_importParseAdr
    91SMFinder_XML_importParseCatsAtrs
    92SMFinder_XML_importParseEvent
    93SMFinder_XML_importParseLink
    94SMFinder_XML_importParsePerson
    95SMFinder_XML_readFile
    96SMallGiessen_SMFinder
    97ShowCatsAtrsNice
    98index
    99php2txt.pl
    100sm-finder-02.dtd
    101testGeo
    102sm-finder-02.dtd
    103

    Datenbanken

 

SM-Finder-Logo

Die hier zur Verfügung gestellten Informationen basieren auf dem Austauschnetzwerk des SM-Finders.
Änderungen an eurem Datensatz könnt ihr z.B. beim Arbeitskreis SM-Finder vornehmen.
Bei Fragen und Problemen schreibt bitte an: sm-finderATki-co.org
Der AK-SM-Finder ist korporatives Mitglied der BVSM e.V.

Für Aktualität und Richtigkeit der dargebotenen Infomationen kann keine Gewähr übernommen werden!

blank

blank