![]() | ||||||||
![]() |
Karte | Kalender | Suche | Bookmarks | Experte | FAQ |
ModuleDownloadSMFinder_EditWird verwendet von:SMFinder_Help_editEvent SMFinder_Main Diese Seite bündelt alle Eingabeformulare, die aktuelle Ausführung wird durch SMFinder_Edit_Modus.php bestimmt, als Default wird die Übersicht der Eingabeformulare nebst Erläuterungen gezeigt.
Bei einem Neueintrag werden die leeren Formulare angeboten. Zur Änderung eines Eintrags wird dieser entweder aus einer Liste ausgewähtl und aus der Datenbank eingelesen, oder der entsprechende XML-Schnipsel mittels des Eingabefeldes übergeben. Nach erfolgter Bearbeitung des Eintrags, kann dieser (oberhalb des Bearbeitungsformulares) angezeigt werden. Wenn alle Änderungen erfolgt sind, wird der Eintrag in die Datenbank gespeichert und der entsprechende XML-Schnipsel generiert und angezeigt. Bei der Modifikation existenter Einträge wird nach einer vorhandenen Emailadresse gesucht, an die ein Änderungshinweis geschickt werden kann, um ggf. auf Missbrauch aufmerksam zu machen. SMFinder_Edit_sendAndShowXMLWenn eine $_SESSION['oldmail'] vorhanden ist, wird an diese eine Änderungsmitteilung inklusieve XML-Schnipsel geschickt und dieser angezeigt. SMFinder_Edit_AddressRuft im wesentlichen nur SMFinder_Edit_AddressFields.php auf, unterscheidet zuvor aber im status und Überschrift, ob es sich um das Element address handelt, oder ob es als Subelement von event ein Veranstalter, Veranstaltungsort oder eine Kontaktadresse ist. SMFinder_Edit_LinkWenn des Element link als eigenständiges Element, das so genannte Bookmark verwendet wird, müssen die entsprechenden Bearbeitungsfelder mit Formularanfang und -Ende gekapselt werden. SMFinder_Edit_storeOldMailSucht und speichert in initial vorhandenen Subelementen adr und person nach Emailadresses des potentiellen Urhebers. doTestIst ein Relikt der Entwicklung. <?php /* published under GPL www.gnu.org/licenses/gpl.html */ function SMFinder_Edit_overview(){ $edit ="<h1>Eintrag Editieren</h1>"; $edit.="<p>Du bist neu hier?<br>"; $edit.="Dann wirf doch bitte einen kurzen Blick in die <a href='index.php?what2do=help&sec=faq'>häufig gestellen Fragen</a>.<br>"; $edit.="Wenn du einen neuen Eintrag hinzufügen möchtest, guck dir bitte die <a href='index.php?what2do=help&sec=editAddress#KategorienInfo'>Kategorien</a> an, um deinen Eintrag richtig einzusortieren.<br>"; $edit.="Erläuterungen zu den Feldbezeichnungen findest du unter <a href='index.php?what2do=help&sec=DB'>Datenbanken</a>.</p>"; $edit.="<h3>Neuer Eintrag</h3>"; $edit.="<p>Nach Ausfüllen des entsprechenden Formulars erhälst du deinen XML-Schnipsel. Bitte beware ihn gut auf, du kannst ihn später benutzen, um deinen Eintrag zu ändern.</p>"; $edit.="<p>Es gibt 3 Typen von Einträgen:</p>"; $edit.="<table width='400'> <tr> <th width='25%' class='button'><a class='button' href='".$_SERVER['PHP_SELF']."?what2do=editAddress'> Adresse </a></th> <th width='12%'> </th> <th width='25%' class='button'><a class='button' href='".$_SERVER['PHP_SELF']."?what2do=editEvent'> Termin </a></th> <th width='12%'> </th> <th width='25%' class='button'><a class='button' href='".$_SERVER['PHP_SELF']."?what2do=editLink'> Link </a> </th> </tr> </table>"; $edit.="<p> </p>"; $edit.="<h3>Eintrag ändern</h3>"; $edit.="<p>Durch auswählen deines Eintrags kannst du ihn ein das Bearbeitungsformular laden. Um Missbrauch zu verhindern, wird eine Änderungsmitteilung an die zuvor eingetragene Mailadresse geschickt und alle Änderungen müssen von einem Redakteur freigegeben werden, bevor sie ins System übernommen werden.</p>"; $edit.="<table width='400'> <tr> <th width='25%' class='button'><a class='button' href='".$_SERVER['PHP_SELF']."?element=address&what2do=ABC&handle=Edit'> Adresse </a></th> <th width='12%'> </th> <th width='25%' class='button'><a class='button' href='".$_SERVER['PHP_SELF']."?element=event&what2do=ABC&handle=Edit'> Termin </a></th> <th width='12%'> </th> <th width='25%' class='button'><a class='button' href='".$_SERVER['PHP_SELF']."?element=link&what2do=ABC&handle=Edit'> Link </a></th> </tr> </table>"; $edit.="<p> </p>"; $edit.="<p>Alternativ kannst du deinen XML-Schnipsel in das folgende Feld kopieren:</p>"; $edit.="<form action='".$_SERVER['PHP_SELF']."' method='POST'>"; $edit.="<p align='center'> <br> <textarea name='xml' cols='70' rows='30'></textarea><br> <input type='submit' name='what2do' value='edit XML'> </p>"; $edit.="</form>"; $edit.="<h3>Eintrag löschen</h3>"; $edit.="<p>Das Löschen funktioniert, indem du deinen Eintrag ins Änderungsformular lädst, die Bezeichnung des Eintrags löschst und nach 'EINTRAGEN' auf 'aus SM-Finder löschen' klickst.</p>"; $edit.="<h3>Einträge Abgleichen</h3>"; $edit.="<p>Wenn du selbst die Informationen des SM-Finders anbietest und dir die letzten Änderungen von diesem Server holen möchtest, klicke bitte auf <a href='SMFinder_Admin.php'>Einträge Abgleichen</a> und gib das Datum deiner letzten Aktualisierung an.</p>"; return $edit; } function SMFinder_Edit_sendAndShowXML($xml,$titel){ if ($GLOBALS['debug']){ echo "<b>SMFinder_Edit_sendAndShowXML</b> sendmail to: ".$_SESSION['oldmail']."<br>"; } /* Aenderungsmitteilung per Mail */ if ($_SESSION['IamGod'] OR $GLOBALS['debug']){ echo "<b>keine Mail verschickt, du bist Admin</b><br>"; }else{ $body="Hallo! \n\n Dies ist eine automatisch generierte Mail, um dir mitzuteilen, dass jemand deinen Eintrag ".$titel." auf dem Server '".$GLOBALS['sitename']."' geaendert hat.\n\n Der neue Eintrag lautet nun: \n\n".$xml. "\n\n Sollte es sich hierbei um eine unautorisierte Aenderung handeln, wende dich bitte umgehend an den Administrator des Servers.\n\n Vielen Dank."; $subject="pruefe die Adresse!"; if ($GLOBALS['debug']){ echo "sende Mail an:<br>".$_SESSION['oldmail']."<br>"; echo "<textarea name='xml' cols='70' rows='30'>".$body."</textarea><br>"; }else{ $header="From: ".$GLOBALS['adminmail']."\r\n"."BCC: ".$GLOBALS['adminmail'].", kinkyfaun@skurril.es"; $To=$_SESSION['oldmail']; mail($To, $subject, $body, $header); } } echo "<p><b>Vielen Dank für deinen Eintrag.<br>Die Änderungen müssen noch, um Missbrauch zu vermeiden, durch einen Admin freigegeben werden.</b><br>Vorübergehend wird der Eintrag nicht angezeigt.</p>"; echo "<form><textarea name='desc' cols='70' rows='30'>".$xml."</textarea></form>"; $_SESSION['oldmail']=""; /* important! */ } function SMFinder_Edit_Address($address,$link,$NoLink,$adr,$NoAdr,$pers,$NoPers){ include('SMFinder_Edit_AddressFields.php'); $addressForm = SMFinder_Edit_AddressFields($address,$link,$NoLink,$adr,$NoAdr,$pers,$NoPers); if (strlen($addressForm)<13000){ echo "<p>Falls du einen existenten Eintrag bearbeiten willst, wähle ihn aus der <a href='".$_SERVER['PHP_SELF']."?element=address&what2do=ABC&handle=Edit'>Liste</a> aus.</p>\n"; } if ($address['status']=="location"){ echo "<h1>Eingabe eines Veranstaltungsorts</h1>"; }else if ($address['status']=="organizer"){ echo "<h1>Eingabe eines Veranstalters</h1>"; }else if ($address['status']=="contact"){ echo "<h1>Eingabe einer Kontaktadresse</h1>"; }else{ echo "<h1>Eingabe einer Adresse</h1>"; } echo $addressForm; } function SMFinder_Edit_Link($link,$NoLink){ include_once('SMFinder_Edit_LinkFields.php'); $linkForm = "<h1>Eingabe eines Links</h1>"; $linkForm .= "<form action='".$_SERVER['PHP_SELF']."?what2do=editLink' method='POST'>"; $linkForm .= "<input type='hidden' name='element' value='link'>"; $linkForm .= "<input type='hidden' name='NoLink' value='".$NoLink."'>"; $linkForm .= "<table border='0'>"; for ($n=0;$n<$NoLink;$n++){ $thisLink=$link[$n]; $type=sprintf("link%02d",$n); $linkForm .= SMFinder_Edit_LinkFields($thisLink,$type,true); } #n if ($SESSION['expert']){ $expertModus="<input type='submit' name='editMode' value='Laie'>"; }else{ $expertModus="<input type='submit' name='editMode' value='Experte'>"; } $linkForm .= "<tr><td>".$expertModus." </td><td align='center'><input type='submit' name='editMode' value='anzeigen'></td><td height='40pt' style='background-color:yellow; text-align:center;'><input type='submit' name='editMode' value='speichern'></td></tr>"; $linkForm .= "</table></form>"; echo $linkForm; } #n function SMFinder_Edit_storeOldMail($adr,$NoAdr,$pers,$NoPers){ /* store old mail entry for notification of changes */ $_SESSION['oldmail'] = $GLOBALS['adminmail']; for ($n=0;$n<$NoAdr;$n++){ $thisMail=$adr[$n]['email']; for ($j=0;$j<count($thisMail);$j++){ if (!empty($thisMail[$j])){$_SESSION['oldmail'] .= ", ".$thisMail[$j];} } #j } #n for ($n=0;$n<$NoPers;$n++){ $thisMail=$pers[$n]['email']; for ($j=0;$j<count($thisMail);$j++){ if (!empty($thisMail[$j])){$_SESSION['oldmail'] .= ", ".$thisMail[$j];} } #j } #n if($GLOBALS['debug']){ echo "<b>SMFinder_Edit_storeOldMail</b> oldmail: ".$_SESSION['oldmail']."<br>"; } } ?> IndexFü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. |
![]() |
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-finderki-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!