![]() | ||||||||
![]() |
Karte | Kalender | Suche | Bookmarks | Experte | FAQ |
ModuleDownloadSMFinder_Query_ABCWird verwendet von:SMFinder_Edit_EventFields SMFinder_Main SMFinder_Query_ABC Alphabetische Auflistung aller Einträge vom Typ $element. Dabei entscheidet das Argument $handle, was beim Klick auf einen Eintrag aus der Liste geschehen soll:
<?php /* published under GPL www.gnu.org/licenses/gpl.html */ function SMFinder_Query_ABC($handle,$element){ include("SMFinder_Config.php"); include("SMFinder_Query_getAllUID.php"); if (empty($handle)){$handle=$_GET['handle'];} if ($handle=="location" OR $handle=="organizer" OR $handle=="contact"){ $type=$handle."No"; $handle="Form"; }else{ $type="No"; } $status=$_GET['status']; if($GLOBALS['debug']){ echo "<b>SMFinder_Query_ABC.php</b> element=".$element.# " handle=".$handle." status=".$status."<br>"; } $ABC=array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","*"); /* get all entries */ switch ($element){ case "address": $field="fn"; if (!empty($_GET['date'])){$searchString=$_GET['date'];$field="date";} break; case "event": $searchString=""; if ($handle=="Query"){$field="summary";} if ($handle=="organizerList"){$handle="SHOWorganizer";$field="organizer";} if ($handle=="locationList"){$handle="SHOWlocation";$field="location";} if ($handle=="Edit"){$field="summary";} break; case "link": $searchString="bookmark";$field="refUID"; $searchString="";$field="URL"; break; } list($UIDs,$stati,$names) = SMFinder_Query_getAllUID($element,$searchString,$field); for($i=0; $i<count($UIDs); $i++){ /* test validity of entries */ $flag=false; switch ($element){ case "address": if(!empty($status)){ /* zeige nur gesuchte Sorte */ if($stati[$i]==$status){ $flag=true; $bgcolor=""; }else{ $flag=false; $bgcolor="class='notgood' "; } }elseif($_SESSION['IamGod']){ /* Admin sieht alles */ $flag=true; $bgcolor=$color[$stati[$i]]; }elseif($stati[$i]!="delete"){ /* to edit show all not deleted */ $flag=true; $bgcolor=$color[$stati[$i]]; } break; case "event": if ($stati[$i]=="ok"){ $flag=true;$bgcolor=""; }elseif ($stati[$i]=="new"){ if ($handle=="Query"){ $flag=false; }else{ $flag=true; } $bgcolor="class='mostly' "; }elseif ($stati[$i]=="delete" OR $stati[$i]=="inactive"){ $flag=false;$bgcolor="class='notgood' "; }else{ if ($handle=="Query"){ $flag=false; }else{ $flag=true; } } break; case "link": # $names are used for $desc $flag=false; if ($stati[$i]<100){$flag=false;$bgcolor="class='unknown' ";} if ($stati[$i]>=200){$flag=true;$bgcolor="class='good' ";} if ($stati[$i]>=300){$flag=true;$bgcolor="class='mostly' ";} if ($stati[$i]>=400){$flag=false;$bgcolor="class='notgood' ";} $URLs[$i]=dropCharacters("http://",$UIDs[$i]); $URLs[$i]=dropCharacters("https://",$URLs[$i]); $URLs[$i]=dropCharacters("ftp://",$URLs[$i]); $URLs[$i]=dropCharacters("www.",$URLs[$i]); $desc[$i]=str_replace("<crlf />","<br>",$names[$i]); break; } /* collect valid entries */ if ($flag){ if ($element=="link"){ $character=sortByInitial($URLs[$i],$ABC); }else{ $character=sortByInitial($UIDs[$i],$ABC); } ${$character}.="<li><span ".$bgcolor."> "; if($_SESSION['IamGod'] AND $element=="link"){${$character}.="<a target='_new' href='".$UIDs[$i]."'>GO</a>";} ${$character}.=" </span> "; switch ($handle){ case "Edit": ${$character}.="<a href='".$_SERVER['PHP_SELF']."?what2do=READ".$element."&UID=".$UIDs[$i]."'>".$UIDs[$i]."</a><br>".$desc[$i]; break; case "Query": if ($element=="link"){ ${$character}.="<a href='".$UIDs[$i]."'>".$URLs[$i]."</a><br> ".$desc[$i]; }else{ ${$character}.="<a href='".$_SERVER['PHP_SELF']."?element=".$element."&what2do=SHOW".$element."&UID=".$UIDs[$i]."'>".$names[$i]."</a>"; } break; case "Form": $No++; $NoName=sprintf("%3.0d",$No); ${$character}.="<input type='submit' name='".$type."' value='".$NoName."'><input type='hidden' name='UID".$No."' value='".$UIDs[$i]."'> ".$names[$i]; break; case "SHOWorganizer": ${$character}.="<a href='".$_SERVER['PHP_SELF']."?element=".$element."&what2do=SHOWorganizer&UID=".$UIDs[$i]."'>".$names[$i]."</a><br>".$desc[$i]; break; case "SHOWlocation": ${$character}.="<a href='".$_SERVER['PHP_SELF']."?element=".$element."&what2do=SHOWlocation&UID=".$UIDs[$i]."'>".$names[$i]."</a><br>".$desc[$i]; break; } ${$character}.="</li>\n"; } } /* compose output */ $choiceList ="<center>"; for ($j=0;$j<count($ABC);$j++){ $choiceList.="<a href='#".$ABC[$j]."'>".$ABC[$j]."</a> "; } $choiceList .="</center>"; if ($handle!="Form"){$listType="ol";}else{$listType="ul";} for ($j=0; $j<count($ABC); $j++){ if (!empty(${$ABC[$j]})){ $choiceList .= "<a name='".$ABC[$j]."'></a><h2>".$ABC[$j]."</h2>\n"; $choiceList .= "<".$listType.">".${$ABC[$j]}."</".$listType.">\n"; } } if (count($UIDs)<=0){$choiceList .= "<p>Keine Einträge gefunden.</p>";} return $choiceList; } function sortByInitial($string,$ABC){ for ($j=0; $j<count($ABC); $j++){ if (eregi("\\".$ABC[$j],$string[0])){ $character=$ABC[$j]; break; } /* numbers, spezial characters */ if ($ABC[$j]=="*"){$character="*";} } return $character; } function dropCharacters($redundant,$url){ $pos=strpos($url,$redundant); $len=strlen($redundant); if ($pos===false){ $string=$url; }else{ $string=substr($url,$pos+$len); } return $string; } ?> 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!