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

Module

Download

SMFinder_Datenbanken

Wird verwendet von:
SMFinder_Datenbanken
SMFinder_Help

Erläuterung und Einrichtung der Datenbankfelder, guck dir lieber diese Seite unter 'Hilfe' > 'Datenbanken' an.

<?php /* published under GPL www.gnu.org/licenses/gpl.html */

function SMFinder_Datenbanken(){
$modul = $_GET['modul'];
include('SMFinder_Elementdefinitions.php');
$found=0;

   ?>

     <h1>Datenbanken</h1>
     <p>Das wesentliche Format zum Austausch der Daten ist <tt>xml</tt>, speziell die Datei <tt>sm-finder.xml</tt>, siehe <a href='SMFinder_Help.php'>AK-SM-Finder</a>. Um diese Daten aber effizienter verwalten und den Nutzern anbieten zu können, hat sich der AK-SM-Finder entschlossen, den Datenbestand auf dem eigenen Server auch in Datenbanken zu speichern.</p>

<?php
echo "<h2>".$modul."</h2>";
switch ($modul){
 //--------------------------  
 case "SMFinder_Datenbanken_address":
   $found=1;
   $example['status']="new / ok / inactive / delete / location / organizer / contact";
   $example['UID']="bdsm_hessen_e_v@sm-finder";
   $example['created']="2003-09-11 19:57:00";
   $example['lastmod']="2003-09-11 19:57:00";
   $example['fn']="BDSM Hessen e.V.";
   $example['desc']="Förderverein der Hessischen Gruppen <crlf>...";
   $example['orgnam']="Mitglied der BVSM e.V.";
   $example['orgunit']="Arkeitskreis gegen die Erniedrigung von Subs";
   $example['ref']="20030911201000@sm-finder";
   $example['cats']="Gruppe";
   $example['atrs']="Stammtisch,Verein";
   $explanation['status']="Der Status eines Eintrags ist nicht im <tt>sm-finder.dtd</tt> enthalten. Er dient, um Neueinträge in die Datenbank schreiben zu köennen <tt>status=new</tt>. Wird der Eintrag von einem Admin freigegeben, wird der Eintrag ins <tt>sm-finder.xml</tt> aufgenommen und angezeigt, <tt>status=ok</tt>. Zu löschende Einträge müssen eine Zeit lang als leeres Element mit ausgetauscht werden, damit alle Teilnehmenden Seiten von der Löschung dieses Eintrags erfahren. (Eine Löschung ist somit eine Äderung des Eintrags, wobei die anzuzeigenden Felder gelöscht werden.) Die tatsächliche Löschung des Eintrags kann z.B. erfolgen, wenn <tt>fn</tt> leer ist und die letzte Änderung länger als 1 Monat her ist - dies verhindert, dass redundate Einträge im System verbleiben. Mit der Löschung von <tt>fn</tt> wird <tt>status=delete</tt> gesetzt.";
   $explanation['UID']="Eineindeutige Kennung des Eintrags im SM-Finder, wird automatisch generiert und bleibt auf Lebensdauer des Eintrag erhalten.";
   $explanation['created']="Datum, an dem dieser Eintrag erzeugt wurde.";
   $explanation['lastmod']="Datum der letzten Änderung dieses Eintrags, dient dem Abgleich der Datensätze.";
   $explanation['fn']="Bezeichnung des Eintrags.";
   $explanation['desc']="Beschreibender Text, Zeilenumbrüche werden als <crlf> und Hervorhebungen als <em> </em> kodiert.";
   $explanation['orgnam']="übergeordnete Instanz, z.B. Verein oder Dachverband";
   $explanation['orgunit']="Abteilung, Regionalgruppe, ...";
   $explanation['ref']="Verweis auf weitere Einträge im SM-Finder (z.B. Veranstaltungsreihe, Termine), mehrere werden durch <strong>,</strong> getrennt";
   $explanation['cats']="<a href='SMFinder_Help_KategorienInfo.php'>Kategorien</a>, zu denen dieser Eintrag gehört, bitte entscheide dich für die 1 oder 2 wesentlichen, die zutreffen.";
   $explanation['atrs']="<a href='SMFinder_Help_KategorienInfo.php'>Angebote</a>, die von diesem Eintrag zu erwarten sind, bitte entscheide dich für die 1 bis 3 wesentlichen, die zutreffen.";
   echo "<p>Die Datenbank für die SM-Finder-Elemente des Typs <tt>address</tt>. In diesen Elementen können die Subelemente <tt>person</tt> und <tt>adr</tt> mehrfach auftauchen. Da sie ihrerseites diverse Elemente haben, werden sie in den relationalen Tabellen <a href='SMFinder_Datenbanken.php?modul=SMFinder_Datenbanken_person'>SMFinder_Datenbanken_persons</a> und <a href='SMFinder_Datenbanken.php?modul=SMFinder_Datenbanken_adr'>SMFinder_Datenbanken_adr</a> unter Angabe der <tt>UID</tt> abgelegt. Andere Elemente, die mehrfach vorkommen können, aber immer nur einen Eintrag haben und nach denen nicht gefiltert werden soll, werden in einem Feld, durch <strong>;</strong> getrennt, abgespeichert. Diese Elemente sind hier mit <span class='structure'>*</span> gekennzeichnet.</p>
<p>Die Felder dieser Datenbank sind:</p><ul>";
   for ($i=0;$i<count($AddressFields);$i++){
     $line = "<li><a name='".$AddressFields[$i]."'>".$AddressFields[$i]."</a><br>";
     $line .= "<em>".$example[$AddressFields[$i]]."</em><br>";
     $line .= $explanation[$AddressFields[$i]]."</li>";
     echo $line."\n";
   } #i

   $catsString="'".$cats_address[0]."'";
   for ($c=1;$c<count($cats_address);$c++){
     $catsString.=",'".$cats_address[$c]."'";
   } #c
   $atrsString="'".$atrs_address[0]."'";
   for ($a=1;$a<count($atrs_address);$a++){
     $atrsString.=",'".$atrs_address[$a]."'";
   } #a
   $catsString="`cats` set(".$catsString.") NOT NULL default '',\n";
   $atrsString="   `atrs` set(".$atrsString.") default NULL,\n";
?>
</ul>
   <pre>-- 
-- Database: `SM-Finder-Arne`
-- 
-- --------------------------------------------------------
-- 
-- Table structure for table `address`
-- 
CREATE TABLE `address` (
  `Nr` int(11) NOT NULL auto_increment,
  `status` enum('new','ok','delete','organizer','location','contact','inactive') NOT NULL default 'new',
  `UID` varchar(240) NOT NULL default '',
  `created` timestamp(14) NOT NULL,
  `lastmod` timestamp(14) NOT NULL,
  `fn` varchar(255) default NULL,
  `desc` text,
  `orgnam` varchar(255) default NULL,
  `orgunit` varchar(255) default NULL,
  `ref` varchar(255) default NULL,
  <?php echo  $catsString.$atrsString; ?>
  PRIMARY KEY  (`Nr`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
-- 
-- Dumping data for table `address`
-- 
 </pre>
   <?php
   break;
 //--------------------------  
 case "SMFinder_Datenbanken_link":
   $found=1; 
   $example['status']="200";
   $example['refUID']="";
   $example['lastchecked']="2003-09-11 19:57:00";
   $example['created']="2003-09-11 19:57:00";
   $example['URL']="http://www.sm-finder.de";
   $example['desc']="SM-Finder <crlf> Übersicht der deutschsprachigen nichtkommerziellen SM-Gruppen";
   $example['cats']="Gruppe";
   $example['atrs']="Stammtisch,Verein";
   $explanation['status']="Erreichbarkeit (URL return code) des Links. Kann regelmäßig per Skript gepfüft werden, wird initial auf ok=200 gesetzt.";
   $explanation['refUID']="Dieses Feld ist nicht im XML enthalten, es dient, um Zugehörigkeiten z.B. zu <address> kennzeichnen.";
   $explanation['lastchecked']="Datum der letzten Püfung der Erreichbarkeit, wird initial auf das aktuelle Datum gesetzt.";
   $explanation['created']="Datum der Erstellung des Eintrags.";
   $explanation['URL']="<a href='http://de.wikipedia.org/wiki/URL'>Uniform Resource Locator</a>, die tatsächliche Adresse des Links. Da diese eineindeutig ist, wird sie zur Indentifizierung des Eintrags (analog zu UID) verwendet.";
   $explanation['desc']="Beschreibung des Links";
   $explanation['cats']="Eingruppierung des Links, um eine Sortierung zu ermöglichen.";
   $explanation['atrs']="Angebote, die sich unter diesem Link finden.";
   echo "<p>Die Datenbank für die SM-Finder-Elemente des Typs 
         <tt>link</tt>.</p>
         <p><em>Während beispielsweise Dominastudios oder 
         Swingerclubs als solche keine Eintragung in den SM-Finder 
         finden, können sie als Veranstaltungsort für 
         Workshops oder Parties durchaus vorkommen.</em></p>
         <p>Die Felder dieser Datenbank sind:</p><ul>";
   for ($i=0;$i<count($LinkFields);$i++){
     $line = "<li><a name='".$LinkFields[$i]."'>".$LinkFields[$i]."</a><br>";
     $line .= "<em>".$example[$LinkFields[$i]]."</em><br>";
     $line .= $explanation[$LinkFields[$i]]."</li>";
     echo $line."\n";
   } #i

   $catsString="'".$cats_link[0]."'";
   for ($c=1;$c<count($cats_link);$c++){
     $catsString.=",'".$cats_link[$c]."'";
   } #c
   $atrsString="'".$atrs_link[0]."'";
   for ($a=1;$a<count($atrs_link);$a++){
     $atrsString.=",'".$atrs_link[$a]."'";
   } #a
   $catsString="`cats` set(".$catsString.") NOT NULL default '',\n";
   $atrsString="   `atrs` set(".$atrsString.") default NULL,\n";
?>
</ul>
   <pre>-- 
-- Database: `SM-Finder-Arne`
-- 
-- --------------------------------------------------------
-- 
-- Table structure for table `link`
-- 
CREATE TABLE `link` (
  `Nr` int(11) NOT NULL auto_increment,
  `status` int NOT NULL default '200',
  `refUID` varchar(240) NOT NULL default '',
  `lastchecked` timestamp(14) NOT NULL,
  `url` varchar(255) default NULL,
  `desc` text,
  <?php echo  $catsString.$atrsString; ?>
  PRIMARY KEY  (`Nr`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
-- 
-- Dumping data for table `link`
-- 
 </pre>
   <?php
   break;
 //--------------------------  
 case "SMFinder_Datenbanken_postleitzahlen":
   $found=1;
   ?>
   <p>Da die meisten Menschen die geografischen Angaben eines Ortes nicht kennen, ist eine Zuordnung von Postleitzahlen, Ortsname und geografischen Angaben z.B. für die Bestimmung des Aufpunktes bei der Umkreissuche erforderlich.</p>
   <p><ul>
   <li><strong>PLZ</strong><br>
   <em>01067</em><br>
Da die Postleitzahlen eineindeutig sind, werden sie als primärer Schlüssel verwendet. Die Nummerierung ist allerdings nicht dicht, da u.a. alle Postfächer fehlen.
   </li>
   <li><strong>lat</strong><br>
   <em>51.06</em><br>
Latitude=geografische Breite, 0 Grad entspricht dem Äquator, 90 Grad dem Nordpol, hier als <b>Dezimalzahl</b> <a href='http://de.wikipedia.org/wiki/Geografische_Breite'>http://de.wikipedia.org/wiki/Geografische_Breite</a>.
   </li>
   <li><strong>lon</strong><br>
   <em>13.72</em><br>
Longitude=geografische Länge, einmal um die Erde rum, gerechnet ab Greenwitch, hier als <b>Dezimalzahl</b> <a href='http://de.wikipedia.org/wiki/Längengrad'>http://de.wikipedia.org/wiki/Längengrad</a>. 								
   </li>
   <li><strong>Ort</strong><br>
   <em>Dresden</em><br>
   Orts(-teil)-name. Bei großen Städten gibt es natürlich jeweils mehrere Postleitzahlen und geografische Angaben. Daher kann eine Abfrage nach einem Ortsnamen immer nur ungenau sein und sollte mit einem Suchradius von einigen 10 km erfolgen.
   </li>
   </ul></p>
   <pre>
-- 
-- Datenbank: `SM-Finder`
-- 

-- --------------------------------------------------------

-- 
-- Tabellenstruktur für Tabelle `postleitzahlen`
-- 

CREATE TABLE `postleitzahlen` (
  `PLZ` int(5) NOT NULL default '0',
  `lat` float NOT NULL default '0',
  `lon` float NOT NULL default '0',
  `Ort` text NOT NULL,
  PRIMARY KEY  (`PLZ`),
  FULLTEXT KEY `Ort` (`Ort`)
) TYPE=MyISAM;

-- 
-- Daten für Tabelle `postleitzahlen`
-- </pre>
   <?php
   break;
 //--------------------------  
 case "SMFinder_Datenbanken_pers":
   $found=1;
   $example['type']="";
   $example['refUID']="bdsm_hessen_e_v@sm-finder";
   $example['role']="Kontakt";
   $example['family']="Kovalevsky";
   $example['given']="Daniela";
   $example['middle']="nomiddlename";
   $example['prefix']="Dr";
   $example['suffix']="der Dominator";
   $example['fon']="09876-54321";
   $example['fax']="0190-esgehtauchanders";
   $example['email']="ich@meinedomain.de";
   $explanation['type']="";
   $explanation['refUID']="UID des Eintrags, zu dem diese Person gehört.";
   $explanation['role']="Funktion/Amt, die diese Person erfüllt.";
   $explanation['family']="Nachname.";
   $explanation['given']="Vorname.";
   $explanation['middle']="Zweiter Vorname.";
   $explanation['prefix']="Titel.";
   $explanation['suffix']="Namenszusatz";
   $explanation['fon']="Telefonnummer unter der diese Person zu erreichen ist; mehrere werden durch <strong>;</strong> getrennt.";
   $explanation['fax']="Telefaxnummer unter der diese Person zu erreichen ist; mehrere werden durch <strong>;</strong> getrennt.";
   $explanation['email']="Email-Adresse unter der diese Person zu erreichen ist; mehrere werden durch <strong>;</strong> getrennt.";
   echo "<p>Hier können z.B. (mehrere) Kontaktpersone(n) zu einem Eintrag gespeichert werden.</p><ul>";
   for ($i=0;$i<count($PersFields);$i++){
     $line = "<li><a name='".$PersFields[$i]."'>".$PersFields[$i]."</a><br>";
     $line .= "<em>".$example[$PersFields[$i]]."</em><br>";
     $line .= $explanation[$PersFields[$i]]."</li>";
     echo $line."\n";
   } #i
   ?>
   </ul>
   <pre>-- 
-- Database: `SM-Finder-Arne`
-- 
-- --------------------------------------------------------
-- 
-- Table structure for table `person`
-- 
CREATE TABLE `person` (
  `Nr` int(11) NOT NULL auto_increment,
  `type` enum('A') NOT NULL default 'A',
  `UID` varchar(240) NOT NULL default '',
  `role` varchar(255) NOT NULL default 'Funktion',
  `family` varchar(255) default NULL,
  `given` varchar(255) default NULL,
  `middle` varchar(255) default NULL,
  `prefix` varchar(31) default NULL,
  `suffix` varchar(31) default NULL,
  `fax` varchar(255) default NULL,
  `fon` varchar(255) default NULL,
  `email` text,
  PRIMARY KEY  (`Nr`)
) TYPE=MyISAM AUTO_INCREMENT=0 ;
-- 
-- Dumping data for table `person`
-- 
</pre>       
   <?php
   break;
 //--------------------------  
 case "SMFinder_Datenbanken_adr":
   $found=1;
   $example['type']="A";
   $example['refUID']="bdsm_hessen_e_v@sm-finder";	
   $example['desc']="Babaras Rababer Bar <crlf> Unser Stammlokal...";
   $example['pobox']="1224";	
   $example['street']="Dunkelgasse 5";	
   $example['pcode']="35002";		
   $example['city']="Gießen";	
   $example['region']="Hessen";	
   $example['country']="Deutschland";
   $example['email']="wir@unseredomain.de";
   $example['fax']="0190-EsGehtAuchAnders";	
   $example['fon']="0179-6513456";	
   $example['geoLat']="51.06";	
   $example['geoLon']="13.72";
   $explanation['type']="Typ der Adresse, A: Address, C: Contact, O: Organizer, L: Location";
   $explanation['refUID']="UID des Eintrags, zu dem diese Adresse gehört.";
   $explanation['desc']="Erklärung, was es mit dieser Adresse auf sich hat.";
   $explanation['pobox']="Postfach.";
   $explanation['street']="Straße und Hausnummer.";
   $explanation['pcode']="Postleitzahl - <b>wird zur Suche der geografischen Angaben verwendet</b>.";
   $explanation['city']="Ortsname.";
   $explanation['region']="Großräumige Ortsangabe - ist nicht normiert und wird daher nicht in Suchfunktionen einbezogen.";
   $explanation['country']="Land - wichtig, falls nicht Deutschland.";
   $explanation['email']="Email-Adresse unter der man weitere Informationen zu dieser Adresse erhät, mehrere werden durch <strong>;</strong> getrennt.";
   $explanation['fax']="Telefaxnummer, mehrere werden durch <strong>;</strong> getrennt.";
   $explanation['fon']="Telefonnummer, mehrere werden durch <strong>;</strong> getrennt.";
   $explanation['geoLat']="Latitude=geografische Breite, 0 Grad entspricht dem Äquator, 90 Grad dem Nordpol, hier als <b>Dezimalzahl</b> <a href='http://de.wikipedia.org/wiki/Geografische_Breite'>http://de.wikipedia.org/wiki/Geografische_Breite</a>.";
   $explanation['geoLon']="Longitude=geografische Länge, einmal um die Erde rum, gerechnet ab Greenwitch, hier als <b>Dezimalzahl</b> <a href='http://de.wikipedia.org/wiki/Längengrad'>http://de.wikipedia.org/wiki/Längengrad</a>.";

   echo "<p>Hier können z.B. (mehrere) Kontaktadresse(n) zu einem Eintrag gespeichert werden. Alle realen Treffen sollten diese Angabe haben und wenigstens die geografischen Angaben oder die Postleitzahl eintragen, um in der Übersichtskarte oder der Umkreissuche findbar zu sein!</p><ul>";
   for ($i=0;$i<count($AdrFields);$i++){
     $line = "<li><a name='".$AdrFields[$i]."'>".$AdrFields[$i]."</a><br>";
     $line .= "<em>".$example[$AdrFields[$i]]."</em><br>";
     $line .= $explanation[$AdrFields[$i]]."</li>";
     echo $line."\n";
   } #i

?>
   </ul><p><pre>-- 
-- Database: `SM-Finder-Arne`
-- 
-- --------------------------------------------------------
-- 
-- Table structure for table `adr`
-- 
CREATE TABLE `adr` (
  `Nr` int(11) NOT NULL auto_increment,
  `type` enum('A','C','L','O') NOT NULL default 'A',
  `UID` varchar(240) NOT NULL default '',
  `desc` text,
  `street` varchar(255) default NULL,
  `pcode` bigint(20) default NULL,
  `city` varchar(255) default NULL,
  `region` varchar(255) default NULL,
  `pobox` bigint(20) default NULL,
  `country` varchar(100) default NULL,
  `geoLat` float NOT NULL default '0',
  `geoLon` float NOT NULL default '0',
  `fax` varchar(255) default NULL,
  `fon` varchar(255) default NULL,
  `email` text,
  PRIMARY KEY  (`Nr`)
) TYPE=MyISAM AUTO_INCREMENT=0 ;
-- 
-- Dumping data for table `adr`
-- 

</pre>
   <?php
   break;
 //--------------------------  
 case "SMFinder_Datenbanken_event":
   $found=1;
   $example['status']="delete";
   $example['UID']=" nachtwer20071006t015000@SM-Finder";
   $example['created']="2007-08-26 10:19:26";
   $example['lastmod']="2007-08-26 10:19:26";
   $example['summary']="NACHT:WERK";
   $example['desc']="SM-Party in Mittelalterlichem Schloß";
   $example['dtstart']="20071006T015000";
   $example['dtend']="PT06H00M";
   $example['until']="";
   $example['interval']="1";
   $example['freq']="monthly";
   $example['wday']="FR";
   $example['mon']="1";
   $example['yrday']="1";
   $example['wkno']="1";
   $example['mday']="";
   $example['location']="Club Bonaparte<crlf>Liebigstr.<crlf>Giessen";
   $example['organizer']="small-giessen@BDSM-Hessen";
   $example['contact']="small-giessen@BDSM-Hessen";
   $example['cats']="Stammtisch";
   $example['atrs']="";
   $example['exdate']="";	
   $example['geoLat']="51.06";	
   $example['geoLon']="13.72";
   $explanation['status']="Status des Eintrags, <em>ok</em> für reguläre Einträge.";
   $explanation['UID']="Identifikations Nummer des Eintrags";
   $explanation['created']="Datum, an dem der Eintrag erzeugt wurde.";
   $explanation['lastmod']="Datum der letzten Änderung an diesem Eintrag.";
   $explanation['summary']="Titel des Termins, kann <crlf> und <em> </em> enthalten.";
   $explanation['desc']="Beschreibung des Termins, kann <crlf> und <em> </em> enthalten.";
   $explanation['dtstart']="Beginn der Veranstaltung, Tag und Zeit.";
   $explanation['dtend']="Ende der Veranstaltung, Tag und Zeit.";
   $explanation['until']="Auslauf eines Serientermins, leer falls es keinen letzten Termin gibt.";
   $explanation['interval']="Interval, mit dem sich der Termin wiederholt, Vielfache der Frequenz.";
   $explanation['freq']="Frequenz, gibt an, ob sich der Termin täglich, wöchentlich, monatlich oder jährlich wiederholt.";
   $explanation['wday']="Wochentag(e), an dem der Termin stattfinden soll, [MO, TU, WE, TH, FR, SA, SO].";
   $explanation['mon']="Monat(e), in dem der Termin stattfinden soll, [1 - 12].";
   $explanation['yrday']="Tag(e) des Jahres, an dem der Termin stattfinden soll, [1 - 365].";
   $explanation['wkno']="Wochennummer(n), an der der Termin stattfinden soll, [1 - 52].";
   $explanation['mday']="Monatstag, an dem der Termin stattfinden soll, [1 - 31]. (Die Wiederholungsregel 'monthly, FR' in Kombination mit der Angabe '17,18,19,20,21,22' definiert den Freitag nach dem 3. Donnerstag im Monat - das ist oft, aber nicht immer der 3. Freitag im Monat.)";
   $explanation['location']="Veranstaltungsort, ist eigentlich eine obligatorische Angabe!";
   $explanation['organizer']="Veranstalter, ist eigentlich eine obligatorische Angabe!";
   $explanation['contact']="Zusätzliche Kontaktmöglichkeit bei Fragen zum Termin.";
   $explanation['cats']="Kategorien, in die der Termin einsortiert ist, legt die Farbe im Kalender fest.";
   $explanation['atrs']="Einschränkungen zu Teilnahme.";
   $explanation['exdate']="Letztes Datum, nach dem der Eintrag ungültig wird.";
   $explanation['geoLat']="Latitude=geografische Breite, 0 Grad entspricht dem Äquator, 90 Grad dem Nordpol, hier als <b>Dezimalzahl</b> <a href='http://de.wikipedia.org/wiki/Geografische_Breite'>http://de.wikipedia.org/wiki/Geografische_Breite</a>.";
   $explanation['geoLon']="Longitude=geografische Länge, einmal um die Erde rum, gerechnet ab Greenwitch, hier als <b>Dezimalzahl</b> <a href='http://de.wikipedia.org/wiki/Längengrad'>http://de.wikipedia.org/wiki/Längengrad</a>.";

   echo "<p>Die Datenbank für die SM-Finder-Elemente des Typs 
         <tt>event</tt>.</p>
         <p><em>Hier können sowohl Einzeltermine als auch Serientermine, die sich regelmäßig wiederholen, eingetragen werden.</em></p>
         <p>Die Felder dieser Datenbank sind:</p><ul>";
   for ($i=0;$i<count($EventFields);$i++){
     $line = "<li><a name='".$EventFields[$i]."'>".$EventFields[$i]."</a><br>";
     $line .= "<em>".$example[$EventFields[$i]]."</em><br>";
     $line .= $explanation[$EventFields[$i]]."</li>";
     echo $line."\n";
   } #i

   $catsString="'".$cats_event[0]."'";
   for ($c=1;$c<count($cats_event);$c++){
     $catsString.=",'".$cats_event[$c]."'";
   } #c
   $atrsString="'".$atrs_event[0]."'";
   for ($a=1;$a<count($atrs_event);$a++){
     $atrsString.=",'".$atrs_event[$a]."'";
   } #a
   $catsString="`cats` set(".$catsString.") NOT NULL default '',\n";
   $atrsString="   `atrs` set(".$atrsString.") default NULL,\n";
   ?>
</ul>
   <pre>-- 
-- Database: `SM-Finder-Arne`
-- --------------------------------------------------------
-- 
-- Table structure for table `event`
-- 
CREATE TABLE `event` (
  `Nr` int(11) NOT NULL auto_increment,
  `status` enum('new','ok','delete','inactive') NOT NULL default 'ok',
  `UID` varchar(240) NOT NULL default '',
  `created` timestamp(14) NOT NULL,
  `lastmod` timestamp(14) NOT NULL,
  `summary` varchar(255) default NULL,
  `desc` text,
  `dtstart` varchar(255) NOT NULL default '',
  `dtend` varchar(255) default NULL,
  `until` varchar(255) default NULL,
  `interval` varchar(127) default NULL,
  `freq` varchar(127) default NULL,
  `wday` varchar(127) default NULL,
  `mon` varchar(127) default NULL,
  `yrday` varchar(127) default NULL,
  `wkno` varchar(127) default NULL,
  `mday` varchar(127) default NULL,
  `location` varchar(255) default NULL,
  `organizer` varchar(255) default NULL,
  `contact` varchar(255) default NULL,
  <?php echo  $catsString.$atrsString; ?>
  `exdate` varchar(255) NOT NULL,
  `geoLat` float NOT NULL default '0',
  `geoLon` float NOT NULL default '0',
  PRIMARY KEY  (`Nr`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
-- 
-- Dumping data for table `event`
-- </pre>
   <?php
   break;



 default:
   Variablendefinitionen();
}


SMFinder_Datenbanken_Index();
}

function SMFinder_Datenbanken_Index(){
  
  echo "<h2>Index</h2>
  <p>
  <a href='".$_SERVER['PHP_SELF']."?what2do=help&sec=DB&modul=SMFinder_Datenbanken_address'>SMFinder_Datenbanken_address</a><br>
  <a href='".$_SERVER['PHP_SELF']."?what2do=help&sec=DB&modul=SMFinder_Datenbanken_event'>SMFinder_Datenbanken_event</a><br>
  <a href='".$_SERVER['PHP_SELF']."?what2do=help&sec=DB&modul=SMFinder_Datenbanken_link'>SMFinder_Datenbanken_link</a><br>
  <a href='".$_SERVER['PHP_SELF']."?what2do=help&sec=DB&modul=SMFinder_Datenbanken_adr'>SMFinder_Datenbanken_adr</a><br>
  <a href='".$_SERVER['PHP_SELF']."?what2do=help&sec=DB&modul=SMFinder_Datenbanken_pers'>SMFinder_Datenbanken_pers</a><br>
  <a href='".$_SERVER['PHP_SELF']."?what2do=help&sec=DB&modul=SMFinder_Datenbanken_postleitzahlen'>SMFinder_Datenbanken_postleitzahlen</a><br>
  </p>";
?>
<h2>DB-Installation via phpMyAdmin</h2>
      <em>Ohne Gewähr, für die Sicherheit bist du selbst verantwortlich!</em>
<ol>
      <li>XAMPP installieren<br>herunterladen von <a href='http://www.apachefriends.org'>www.apachefriends.org</a><br>Nach der Installation mit dem Browser auf <a href='http://localhost'>http://localhost</a> gehen, du solltest die XAMPP-Startseite sehen, dort gibt es einen Link zu <strong>phpMyAdmin</strong>.</li>
  <li>DB-user anlegen<br>Nach Aufruf von  <strong>phpMyAdmin</strong> auf <strong>Rechte</strong> klicken, <strong>Neuen Benutzer hinzufügen</strong>.<br>
      Angaben sind <tt>deinName</tt>, <tt>localhost</tt>, <tt>deinPasswort</tt>, <tt>Globale Rechte, alle</tt>.
</li>
<li>Datenbank anlegen<br>
Unter <strong>Neue Datenbank anlegen</strong> den Namen der DB <tt>SM-Finder</tt> eingeben.<br>
</li>
<li>DB-Tabellen anlegen<br>
      Wenn du in <strong>phpMyAdmin</strong> deine Datenbank ausgewählt hast, findet sich oben der Link <strong>SQL</strong>,<br>
      hier kannst du in das Feld direkt die DB-Tabellen als SQL-Befehl (<tt>CREATE TABLE `event` (...) AUTO_INCREMENT=1;</tt>) eingeben, die Templates findest du jeweils bei der Beschreibung der DB-Tabelle, s.o.
</li>
<li></li>
</ol>

<?php
}
?>



















<?php
function Variablendefinitionen(){
  include("SMFinder_Elementdefinitions.php");
  include("SMFinder_Edit_Modus.php");
  SMFinder_Edit_Modus(); #set Laie
  $DBs=array("Address","Event","Link","Adr","Pers");
  $NoDBs=5;
  echo "<table>\n";
  $line="<tr><th>index</th>";
  for ($tab=0;$tab<$NoDBs;$tab++){
    $line.="<th>".$DBs[$tab]."</th>";
  } #tab
  $line.="</tr>\n";
  echo $line;
  for($i=0;$i<count($EventFields);$i++){

    $line="<tr><td>".$i."</td>";
    for ($tab=0;$tab<$NoDBs;$tab++){
      /* Background color: */
      if ( eregi('type',       ${$DBs[$tab]."Fields"}[$i]) OR #
	   eregi('status',     ${$DBs[$tab]."Fields"}[$i]) OR #
	   eregi('created',    ${$DBs[$tab]."Fields"}[$i]) OR #
	   eregi('lastmod',    ${$DBs[$tab]."Fields"}[$i]) OR #
	   eregi('lastchecked',${$DBs[$tab]."Fields"}[$i]) OR #
	   eregi('UID',        ${$DBs[$tab]."Fields"}[$i]) ){
	$bgcolor='#ff3333';#$GLOBALS['expertAddress']['fn']
      }elseif(empty(${$DBs[$tab]."Fields"}[$i])){
	$bgcolor='white';
      }elseif( !$GLOBALS["expert".$DBs[$tab]][${$DBs[$tab]."Fields"}[$i]] ){
	$bgcolor='#ffff66';
      }else{
	$bgcolor='#33ff33';
      }
      /* Border color: */
      if (eregi('cats',${$DBs[$tab]."Fields"}[$i]) #
       OR eregi('atrs',${$DBs[$tab]."Fields"}[$i]) ){
	$lineColor="fuchsia";
      }elseif (eregi('fon',${$DBs[$tab]."Fields"}[$i]) #
       OR eregi('fax',${$DBs[$tab]."Fields"}[$i])      #
       OR eregi('email',${$DBs[$tab]."Fields"}[$i]) ){
	$lineColor="#0000ff";
      }else{
	$lineColor="white";
      }
      /* show field */
      $line.= "<td style='background-color:".$bgcolor.#
              "; border-width:2px; border-color:".$lineColor.#
              "; border-style:solid;'>".${$DBs[$tab]."Fields"}[$i]."</td>";
    } #tab
    $line.="</tr>\n";
    echo $line;
  } #i
  echo "</table>\n";

?>
  <ul>
<li><span style='background-color:#ff3333;'>Rote</span> Felder dienen der identifizierung des Eintrags und können durch den Benutzer nicht verändert werden.</li>
<li><span style='background-color:#33ff33;'>Grüne</span> Felder enthalten die wesentlichen Angaben.</li>
<li><span style='background-color:#ffff66;'>Gelbe</span> Felder enthalten zusätzliche Angaben, dies sind die <em>weiteren Felder</em>.</li>
<li><span style='background-color:white; border-width:2px; border-color:blue; border-style:solid;'>Blaue</span> Felder können das entsprechende Feld mehrfach enthalten.</li>
</ul>


<?php
}
?>

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