![]() | ||||||||
![]() |
Karte | Kalender | Suche | Bookmarks | Experte | FAQ |
ModuleDownloadSMFinder_Admin_cleanWird verwendet von:SMFinder_Main
<?php /* published under GPL www.gnu.org/licenses/gpl.html */ #session_start(); function SMFinder_Admin_clean($step){ include_once("SMFinder_Query_getAllUID.php"); include_once('SMFinder_Query_readEvent.php'); include_once('SMFinder_Query_readAddress.php'); include_once('SMFinder_Write_deleteEntry.php'); switch($step){ case 'delete Events': $dblink=mysql_connect($GLOBALS['dbserver'],$GLOBALS['dbuser'],$GLOBALS['dbpasswd']); $No=$_POST['No']; for ($n=0;$n<$No;$n++){ $fieldname=sprintf("UID%03d",$n); $UID=$_POST[$fieldname]; SMFinder_Write_deleteEntry($UID,"event"); } #n case 'delete Addresses': $dblink=mysql_connect($GLOBALS['dbserver'],$GLOBALS['dbuser'],$GLOBALS['dbpasswd']); mysql_select_db($GLOBALS['dbname'],$dblink); $No=$_POST['No']; for ($n=0;$n<$No;$n++){ $fieldname=sprintf("UID%03d",$n); $UID=$_POST[$fieldname]; SMFinder_Write_deleteEntry($UID,"address"); } #n default: echo "<p>It's a good idea to start from top down!</p>"; cleanEvents(); cleanAddresses(); } } function cleanEvents(){ echo "<h2>Clean Events</h2>"; list($UIDs,$stati,$names)=SMFinder_Query_getAllUID("event","delete","status"); echo "<form style='background-color:#ff9999;' action='index.php?what2do=cleanData' method='POST'>\n <p>Events which are already set to 'delete':</p>\n"; for ($n=0;$n<count($UIDs);$n++){ $event=SMFinder_Query_readEvent($UIDs[$n]); $fieldname=sprintf("UID%03d",$n); echo "<input type='checkbox' name='".$fieldname."' checked='checked' value='"# .$event['UID']."'>"; if(empty($event['summary'])){$name=$event['UID'];}else{$name=$event['summary'];} echo "<a href='index.php?element=event&what2do=SHOWevent&UID="# .$event['UID']."'>".$name."</a><br>\n"; } #n echo "<input type='text' name='No' value='".$n."' size='3'><br>"; echo "<div align='center'><input type='submit' name='step' value='delete Events'></div>\n</form>"; list($UIDs,$stati,$names)=SMFinder_Query_getAllUID("event","ok","status"); echo "<form action='index.php?what2do=cleanData' method='POST'> <p>Events which are outdated and have no recurrece:</p>\n"; $heute = date(Y).date(m).date(d)."T000000"; $nn=-1; for ($n=0;$n<count($UIDs);$n++){ $flag=false; $event=SMFinder_Query_readEvent($UIDs[$n]); if (empty($event['dtstart'])){ #$flag=true; #check these manually? }else{ if ($event['dtstart']<$heute AND empty($event['freq'])){$flag=true;} } if ($flag){ $nn++; $fieldname=sprintf("UID%03d",$nn); echo "<input type='checkbox' name='".$fieldname."' checked='checked' value='"# .$event['UID']."'>"; echo "<a href='index.php?element=event&what2do=SHOWevent&UID="# .$event['UID']."'>".$event['summary']."</a><br>\n"; } } #n $nn++; echo "<input type='text' name='No' value='".$nn."' size='3'><br>"; echo "<div align='center'><input type='submit' name='step' value='delete Events'></div>\n</form>"; } function cleanAddresses(){ echo "<h2>Clean Addresses</h2>"; echo "<p><em>Derzeit ist der SM-Finder das einzig aktuelle, oeffentlich Verfuegbare Archiv der deutschsprachigen Gruppen. Daher sollten address-Eintraege, die weder location, organizer noch contact sind auch erhalten bleiben, wenn sie schon evig auf delete stehen.</em></p>\n<p><strong>location</strong></p>\n"; echo "<form action='index.php?what2do=cleanData' method='POST'>\n"; list($UIDs,$stati,$names)=SMFinder_Query_getAllUID("address","location","status"); $nn=-1; for ($n=0;$n<count($UIDs);$n++){ $flag=false; $address=SMFinder_Query_readAddress($UIDs[$n]); $events=""; list($events,$foo1,$foo2)=SMFinder_Query_getAllUID("event",$address['UID'],"location"); if (count($events)<=0){ $flag=true; } if ($flag){ $nn++; $fieldname=sprintf("UID%03d",$nn); echo "<input type='checkbox' name='".$fieldname."' checked='checked' value='"# .$address['UID']."'>"; echo "<a href='index.php?element=address&what2do=SHOWaddress&UID="# .$address['UID']."'>".$address['fn']."</a><br>\n"; } } #n $nn++; echo "<input type='text' name='No' value='".$nn."' size='3'><br>"; echo "<div align='center'><input type='submit' name='step' value='delete Addresses'></div>\n</form>"; echo "<p><strong>organizer</strong></p>\n"; echo "<form action='index.php?what2do=cleanData' method='POST'>\n"; list($UIDs,$stati,$names)=SMFinder_Query_getAllUID("address","organizer","status"); $nn=-1; for ($n=0;$n<count($UIDs);$n++){ $flag=false; $address=SMFinder_Query_readAddress($UIDs[$n]); $events=""; list($events,$foo1,$foo2)=SMFinder_Query_getAllUID("event",$address['UID'],"organizer"); if (count($events)<=0){ $flag=true; } if ($flag){ $nn++; $fieldname=sprintf("UID%03d",$nn); echo "<input type='checkbox' name='".$fieldname."' checked='checked' value='"# .$address['UID']."'>"; echo "<a href='index.php?element=address&what2do=SHOWaddress&UID="# .$address['UID']."'>".$address['fn']."</a><br>\n"; } } #n $nn++; echo "<input type='text' name='No' value='".$nn."' size='3'><br>"; echo "<div align='center'><input type='submit' name='step' value='delete Addresses'></div>\n</form>"; echo "<p><strong>contact</strong></p>\n"; echo "<form action='index.php?what2do=cleanData' method='POST'>\n"; list($UIDs,$stati,$names)=SMFinder_Query_getAllUID("address","contact","status"); $nn=-1; for ($n=0;$n<count($UIDs);$n++){ $flag=false; $address=SMFinder_Query_readAddress($UIDs[$n]); $events=""; list($events,$foo1,$foo2)=SMFinder_Query_getAllUID("event",$address['UID'],"contact"); if (count($events)<=0){ $flag=true; } if ($flag){ $nn++; $fieldname=sprintf("UID%03d",$nn); echo "<input type='checkbox' name='".$fieldname."' checked='checked' value='"# .$address['UID']."'>"; echo "<a href='index.php?element=address&what2do=SHOWaddress&UID="# .$address['UID']."'>".$address['fn']."</a><br>\n"; } } #n $nn++; echo "<input type='text' name='No' value='".$nn."' size='3'><br>"; echo "<div align='center'><input type='submit' name='step' value='delete Addresses'></div>\n</form>"; } ?> 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!