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

Module

Download

SMallGiessen_SMFinder

Wird verwendet von:
SMallGiessen_SMFinder

Keine Erläuterungen gefunden.

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


// Liste editieren

define("ADMINPASSWORT", "Enra");
define("DIR", "./SMallGiessenArchive/");#SMallGiessenArchive


// ----------------------------------------------------
// Eintrag bearbeiten

function edit_eintrag()
{
   global $entries;

   $id = $_GET["id"];
   
   foreach($entries as $k => $v){
      if($v["delid"]==$id){
	$datum=$v["datum"];
	#echo $datum;
	$titel=$v["titel"];
	$desc=$v["desc"];
	$name=$v["name"];
        unlink(DIR.$k); #Loescht den Eintrag
        #echo "<a href='index.php?cmd=del&id=".$id."'>[delete]</a></p>";
	?>

   <form method="POST" action="<?=$self?>">
   <input type="hidden" name="cmd" value="put" />
   <table>
      <tr valign="top">
         <td>Datum:</td>
         <td><input type="text" name="datum" size="10" maxlength="10" value="<?=$datum?>"/></td>
      </tr>
      <tr valign="top">
         <td>Titel:</td>
         <td><input type="text" name="titel" size="70" maxlength="150"  value="<?=$titel?>"/></td>
      </tr>
      <tr valign="top">
         <td>Beschreibung:</td>
         <td><textarea name="desc" rows="8" cols="60"><?=$desc?></textarea></td>
      </tr>
      <tr valign="top">
         <td>Name:</td>
         <td><input type="text" name="name" size="30" maxlength="80"  value="<?=$name?>"/></td>
      </tr>
      <tr valign="top">
         <td><input type="submit" value="abschicken" /></td>
         <td><span style="font-weight:bold; text-align:center; width:500px; background-color:#ffee00">Wenn du nicht auf 'abschicken' klickst, wird dieser Eintrag gelöscht!</span></td>
      </tr>
      <tr valign="top">
      <td> </td>
      <td>back to: <a href="index.php">[aktuelles]</a></td>
      </tr>
   </table>
   </form>
   <p>Ein Zeilenumbruch:<br><tt><br></tt></p>
   <p>Ein Link:<br><tt><a href='http://www.bdsm-howto.de'>Linkname</a></tt></p>
   <p>Eine Liste:<br><tt><ul><br><li>Punkt 1</li><br><li>Punkt 2</li><br></ul></tt></p>
   <p><em>Bein Eintrag zum ST in MR oder GI bitte <tt>Stammtisch in Marburg</tt> bzw <tt>Stammtisch in Giessen</tt> als Titel lassen.</em></p>
<hr>
      <?
	break;
       };
   };
}

// ----------------------------------------------------
// Eintrag löschen

function del_eintrag()
{
   global $entries;

   $id = $_GET["id"];
   
   foreach($entries as $k => $v){
      if($v["delid"]==$id){
         unlink($k);
         
         ?>
         <p><strong>Der Eintrag wurde gelöscht. Danke für Deine Bemühungen.</strong></p><p><a href='http://www.bdsm-howto.de/aktuelles/index.php?cmd=admin&pass=Enra'>http://www.bdsm-howto.de/aktuelles/index.php?cmd=admin&pass=Enra</a></p>
         <?
         
         break;
       };
   };
}

// ----------------------------------------------------
// Einträge einsammeln

function eintraege_lesen()
{
   $dh = opendir(DIR);
   while($fn = readdir($dh))
   {
      if(!eregi("[0-9-]+.wddx", $fn)) continue;
      // print $fn."<br>";
      $entries[$fn] = unserialize(join("", file(DIR.$fn)));
   }
   closedir($dh);
   
   return $entries;
}

// ----------------------------------------------------
// manuelle Sortirrichtung
function cmp ($a, $b) {
   if ($a == $b) return 0;
   return ($a > $b) ? -1 : 1;
}

// ----------------------------------------------------
// Einträge anzeigen

function eintraege_anzeigen($entries)
{
   global $self, $flagadmin;

  
   #ksort($entries);
   #rsort($entries);
   uksort ($entries, "cmp");

   if(0) { ?><pre><?print_r($entries);?></pre><? }
   $j=0;
   echo "<table border='0' cellspacing='3' width='100%'>";
   foreach($entries as $k => $v){
     $datum=$v["datum"];
     $gestern=date("Y-m-d",mktime(0, 0, 0, date("m")  , date("d")-1, date("Y")));
     $naechster=date("Y-m-d",mktime(0, 0, 0, date("m")  , date("d")+7, date("Y")));
     $bg="";
     /*
     if ($datum<=$naechster AND $datum>$gestern){
       $bg="#ffee00";
     };
     $tc=black;
     if ($v["titel"]=="Stammtisch in Marburg" OR $v["titel"]=="Stammtisch in Frankfurt") {
       $tc="#666666";
     };
     if ($v["titel"]=="Stammtisch in Frankfurt") {
       $bg="";
     };
     */
     echo "<tr><td align='right' valign='top' style='background-color:".$bg."; color:".$tc.";'>";
     echo substr($datum,8,2).".".substr($datum,5,2).".".substr($datum,0,4);
     echo "</td><td class='abstract' style='background-color:".$bg."'>";
     echo "<b class='titel' style='background-color:".$bg."; color:".$tc.";'>".$v["titel"]."</b><br>".$v["desc"]."</td>";
     echo "<td style='background-color:".$bg."'><em class='kal'>".$v["name"]."</em></td>";
      if($flagadmin){
	echo "<td><a href='".$self."?cmd=edit&id=".$v["delid"]."'>[edit]</a></td>";
	if ($j==0) {
	  $j=1;
	  $i=0;
	  while ($i<7){
	    $i=$i+1;
	    $wochentag = date("l",mktime(0, 0, 0, date("m")+1, $i,  date("Y")));
	   # echo $i.$wochentag."<br>";
	    if ($wochentag=="Wednesday") {
	      $Mi2 = date("Y-m-d",mktime(0, 0, 0, date("m")+1, $i+7,  date("Y")));
	      $Mi3 = date("Y-m-d",mktime(0, 0, 0, date("m")+1, $i+14,  date("Y")));
	      $Mi4 = date("Y-m-d",mktime(0, 0, 0, date("m")+1, $i+21,  date("Y")));
	    };
	    if ($wochentag=="Thursday") {
	      $Do2 = date("Y-m-d",mktime(0, 0, 0, date("m")+1, $i+7,  date("Y")));
	      $Fr3 = date("Y-m-d",mktime(0, 0, 0, date("m")+1, $i+15,  date("Y")));
	      $Do4 = date("Y-m-d",mktime(0, 0, 0, date("m")+1, $i+21,  date("Y")));
	    };
	    if ($wochentag=="Friday") {
	      $Fr1 = date("Y-m-d",mktime(0, 0, 0, date("m")+1, $i,  date("Y")));
	    };
	  }; #while
	};
        #Extrawuerste:
	$heute = date(Y)."-".date(m)."-".date(d);
	if ($v["titel"]=="Stammtisch in Marburg" AND $datum<$heute){$neuesdatum=$Fr1;};
	if ($v["titel"]=="Stammtisch in Frankfurt" AND $datum<$heute){
	  if ($datum<$Mi3) {$neuesdatum=$Mi2;}else{$neuesdatum=$Mi4;};
	};
	if ($v["titel"]=="Stammtisch in Giessen" AND $datum<$heute){$neuesdatum=$Fr3;};
		if ($v["titel"]=="Stammtisch in Giessen" OR $v["titel"]=="Stammtisch in Marburg" OR$v["titel"]=="Stammtisch in Frankfurt" ) {
		  if ($datum<$heute) {
		    unlink($k); #Loescht den Eintrag
		    $entry = array
		      (  "delid"   => $v["delid"],
			 "datum"   => $neuesdatum,
			 "titel"   => $v["titel"],
			 "desc"    => $v["desc"],
			 "name"    => $v["name"]
			 );
		    $wp = serialize($entry);
		    $fn = $neuesdatum."-".date("His").".wddx";
		    $pf = fopen(DIR.$fn, "wt");
		    fwrite($pf, $wp);
		    fclose($pf);
		  };
	};
        #Extrawuerste
      };
      $cmd="nil";
      echo "</tr>";


   }
   echo "</table>";
}

// ----------------------------------------------------
// Neuen Eintrag erzeugen und speichern

function put_eintrag()
{
   global $self, $host, $myurl;

   $datum=$_POST["datum"];
   $entry = array
   (  "delid"   => md5(uniqid(rand())),
      "datum"   => $datum,
      "titel"   => stripslashes(trim(chop($_POST["titel"]))),
      "desc"    => stripslashes(trim(chop($_POST["desc"]))),
      "name"    => stripslashes(trim(chop($_POST["name"])))
   );
   
   $wp = serialize($entry);
   $fn = $datum."-".date("His").".wddx";
   $pf = fopen(DIR.$fn, "wt");
   fwrite($pf, $wp);
   fclose($pf);

   #Datum der Aktualisierung speichern
   $heute=date(Y)."-".date(m)."-".date(d);
   $datefile = fopen(DIR."datum.txt", "wt");
   fwrite($datefile, $heute);
   fclose($datefile);

  
   // Meldung auf Seite
  
         
}

// ----------------------------------------------------
// Eingabe für neuen Beitrag

function eingabe_form()
{
   ?>
   <p><br><br></p>
   <form method="POST" action="<?=$self?>">
   <input type="hidden" name="cmd" value="put" />
   <table>
      <tr valign="top">
         <td>Datum:</td>
         <td><input type="date" name="datum" size="10" maxlength="10" /> <em>yyyy-mm-dd</em></td>
      </tr>
      <tr valign="top">
         <td>Titel:</td>
         <td><input type="text" name="titel" size="70" maxlength="150" /></td>
      </tr>
      <tr valign="top">
         <td>Beschreibung:</td>
         <td><textarea name="desc" rows="8" cols="60"></textarea></td>
      </tr>
      <tr valign="top">
         <td>Name:</td>
         <td><input type="text" name="name" size="30" maxlength="80" /></td>
      </tr>
      <tr valign="top">
         <td colspan="2"><input type="submit" value="abschicken" /></td>
      </tr>
   </table>
   </form>
   <?
}  


function SMFinder_Query_showEvent4Group($UID){ 
  include_once("SMFinder_Config.php");
  include_once("SMFinder_Query_getAllUID.php");
  include_once("SMFinder_Query_composeDates4UIDs.php");
  include_once("SMFinder_Query_validDate.php");
  if (empty($UID)){$UID=$_POST['UID'];}
#  echo "<br>in  SMFinder_Query_showEventList, UID: ".$UID."<p>";
  list($UIDs,$stati,$names) = SMFinder_Query_getAllUID("event",$UID,"organizer");
 # print_r($UIDs);
  $validUIDs=array();
  for ($n=0;$n<count($UIDs);$n++){
    if ($stati[$n]=="ok"){array_push($validUIDs,$UIDs[$n]);}
  } #n
  $end=$_POST['end'];
  if (empty($end)){
    list($year,$month,$day)=SMFinder_Query_validDate(date(Y),date(m)+2,date(d));
    $end=sprintf("%04d-%02d-%02d",$year,$month,$day);
  }
  list($datesTensor,$allDates)=SMFinder_Query_composeDates4UIDs($validUIDs,$end,"desc");

  $dateList="<table width='500'>";
  for ($n=0;$n<count($allDates);$n++){
    #echo $allDates[$n]."<br>";
    $datesOfToday=$datesTensor[$allDates[$n]];
    for ($m=0;$m<count($datesOfToday);$m++){
      $thisSummary=explode("<crlf />",$datesTensor[$allDates[$n]][$m]['summary']);
      $dateList.="<tr><td bgcolor='".$datesTensor[$allDates[$n]][$m]['bgcolor']."'> </td><td valign='top'>".$allDates[$n]."</td><td  valign='top' width='80%' align='left'><a href='SMFinder_Query.php?element=event&what2do=SHOWevent&UID=".$datesTensor[$allDates[$n]][$m]['UID']."&date=".$allDates[$n]."'>";
      if(strlen($thisSummary[1])>2){
	$dateList.=$thisSummary[1];
      }else{
	$dateList.=$thisSummary[0];
      }
      $dateList.="</a><br>".$datesTensor[$allDates[$n]][$m]['desc'];
      if ($_GET['what2do']=="edit"){
	 $dateList.="</td><td valign='top'><form action='SMFinder_Edit.php?element=event&what2do=read&UID=".$datesTensor[$allDates[$n]][$m]['UID']."' method='POST'><input type='hidden' name='date' value='".$allDates[$n]."'>
<input type='hidden' name='isSeries' value='".$datesTensor[$allDates[$n]][0]['isSeries']."'>
<input type='submit' name ='what2do' value='edit'></form></td></tr>\n";
      }else{
	$dateList.="</td><td valign='top'></td></tr>\n";
      }
      if (!$datesTensor[$allDates[$n]][$m]['isSeries'] AND $flagadmin){$result=putEvent2Archive($allDates[$n],$thisSummary[1],$datesTensor[$allDates[$n]][$m]['desc']);echo "<p>".$result."</p>";}
    } #m
  } #n
  $dateList.="</table>";

  $setEndDate="<form action='SMFinder_Query.php?element=event&what2do=SHOW".$type."&UID=".$UID."' method='POST'>";
  $setEndDate.="Bis zum: <input type='text' name='end' value='".$end."'>";
  $setEndDate.="   <input type='submit' name='go' value='Go'>";
  $setEndDate.="</form>";
  $string= $dateList."\n".$setEndDate;
  return $string;
}


function putEvent2Archive($datum,$title,$desc){
  $name="";
  $entry = array
    (  "delid"   => md5(uniqid(rand())),
       "datum"   => $datum,
       "titel"   => stripslashes(trim(chop($title))),
       "desc"    => stripslashes(trim(chop($desc))),
       "name"    => stripslashes(trim(chop($name)))
    );
   
  $wp = serialize($entry);
  #$fn = $datum."-".date("His").".wddx";
  $fn = $datum.".wddx";
  $pf = fopen(DIR.$fn, "wt");
  fwrite($pf, $wp);
  fclose($pf);

   #Datum der Aktualisierung speichern
   $heute=date(Y)."-".date(m)."-".date(d);
   $datefile = fopen(DIR."datum.txt", "wt");
   fwrite($datefile, $heute);
   fclose($datefile);
   return "Termin ins Archiv uebernommen.";

}




// ----------------------------------------------------
// Pageheader

function pageheader()
{
   ?>
   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
   <html>
   <head>
      <link rel="stylesheet" type="text/css" href="http://www.small-giessen.de/layout.css">
      <style type="text/css">
      em.kal      { font-size:8pt; font-weight:100; }
      b.titel     { font-size:12pt; font-weigth:bold; }
      td          { vertical-align:top}
      td.abstract { font-size:10pt; }
      ul          { font-size:10pt; }
      ol          { font-size:10pt; }
      li          { font-size:10pt; }
      a:link      { font-size:10pt; }
      a:visited   { font-size:10pt; }
      a:active    { font-size:10pt; }
      a:hover     { font-size:10pt; }
      </style>
      <title>Aktuelles</title>
   </head>

   <body>
   <a href="http://www.small-giessen.de/texte/selbst.html"><h1>Aktuelles von SMall-Giessen</h1></a>


   <?
  $UID=$_GET['UID'];
  $string = SMFinder_Query_showEvent4Group($UID);
  if (strlen($string)>250){
    echo $string;
  }else{
    echo "<p><a href='SMallGiessen_SMFinder.php?UID=small_giessen@SM-Finder'>Termine im SM-Finder</a><br>";
    echo "<a href='SMallGiessen_SMFinder.php?what2do=edit&UID=small_giessen@SM-Finder'>Termine im SM-Finder bearbeiten</a></p>";
  }
  echo "<p><a href='SMFinder_Query.php?element=address&what2do=find&cats=Gruppe'>Andere Gruppen</a><br>
    <a href='SMFinder_Query.php?element=address&what2do=find&cats=GeschUML1ft'>Einkaufsmöglichkeiten</a>";
  echo "<p> </p><hr>";
}   

// ----------------------------------------------------
// Seitenabschluss

function pagefooter()
{
   ?>
   <p>
   <a href="http://www.small-giessen.de/texte/archiv2004.html">Archiv 2004</a><br>
   <a href="http://www.small-giessen.de/texte/archiv2003.html">Archiv 2003</a><br>
   <a href="http://www.small-giessen.de/texte/archiv2002.html">Archiv 2002</a><br>
   <a href="http://www.small-giessen.de/texte/archiv2001.html">Archiv 2001</a><br>
   <a href="http://www.small-giessen.de/texte/archiv2000.html">Archiv 2000</a></p>
  

   
   </body>
   </html>
   <?
}

// ----------------------------------------------------
// Main

$cmd=$_POST["cmd"];
$self = $_SERVER["PHP_SELF"];
$host = $_SERVER["HTTP_HOST"];
$myurl = "http://".$host.$self;

pageheader();


if($cmd=="put")  {put_eintrag();}
$cmd=$_GET["cmd"];
$entries = eintraege_lesen();
if($cmd=="admin" AND $_GET["pass"]==ADMINPASSWORT OR $_GET['what2do']=="edit") {
  $flagadmin = true;
  #eingabe_form();
};
if($cmd=="del")  {del_eintrag();}
if($cmd=="edit")  {edit_eintrag();}
if(count($entries)) eintraege_anzeigen($entries);



pagefooter();
?>

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