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

Module

Download

SMFinder_Edit_CatsAtrs

Wird verwendet von:
SMFinder_Edit_AddressFields
SMFinder_Edit_EventFields
SMFinder_Edit_LinkFields
SMFinder_Query_Mask

Auswahlboxen zum Ankreuzen der Kategorien und Attribute.

Die Einträge der Elemente 'cats' und 'atrs' (z.B. $address['cats']) sind kommaseparierte Strings, diese werden zu Beginn in Vektoren umformatiert.

In der Datei SMFinder_Elementdefinitions.php stehen zu den Elementen die Kathegorien und Attribute als Vectoren und werden hier $catsDesc und $atrsDesc zugewiesen.
Um den Shopfinder separieren zu können, wird bei $address noch nach dem jeweils ersten markanten Einträgen gesucht - dies ist beim Ergänzen neuer Einträge in der Datenbank zu berücksichtigen.

Die Anzeige des Kategorien-und-Attribute-Blocks ist als Tabelle formatiert. Dabei ist der zu übertragende Wert jeweils der Name der Kathegorie (des Attributs) und es wird jeweils abgeprüft, ob die übergebene Kategorien- (Attribute-)Liste diesen Eintrag bereits enthält und ggf. die Ankreuzbox ausgewählt.

Es folgt, sofern $GLOBALS['shopfinder']=true gesetzt wurde, das gleiche Prozedere für die Einkaufsmöglichkeiten - mit silbernem Hintergrund.

<?php /* published under GPL www.gnu.org/licenses/gpl.html */
function SMFinder_Edit_CatsAtrs($element,$catsString,$atrsString){
  include('SMFinder_Elementdefinitions.php');
  include_once('ShowCatsAtrsNice.php');
  if ($GLOBALS['debug']){
    echo "<aj>SMFinder_Edit_POSTcatsatrs:</aj> element: ".$element."<br>cats: ".$catsString."<br>
         atrs: ".$atrsString."<br>";
  }
  $cats=explode(",",$catsString);
  $atrs=explode(",",$atrsString);
  #print_r($cats);echo "in Edit_CatsAtrs<p>";
  $catsDesc=${'cats_'.$element};
  $atrsDesc=${'atrs_'.$element};
  /* select shop items */
  if ($element=="address"){
    for ($ii=0;$ii<count($catsDesc);$ii++){
      if ($catsDesc[$ii]=="Geschaeft"){$iMax=$ii;}
    }
    for ($jj=0;$jj<count($atrsDesc);$jj++){
      if ($atrsDesc[$jj]=="Lack"){$jMax=$jj;}
    }
  }else{
    $iMax=count($catsDesc);
    $jMax=count($atrsDesc);
  }

  $string="<table width=100% border=0 cellspacing=0>\n<tr><th>Kategorien</th><th></th><th width=10%></th><th>Attribute</th><th></th></tr>\n";
  $lDim=max($iMax,$jMax);
  for ($l=0;$l<$lDim;$l++){
    if ($l<$iMax){
      for ($c=0;$c<count($cats);$c++){
	if($catsDesc[$l]==$cats[$c]){
	  $check="checked='checked' ";
	  $value="1";
	  break;
	}else{
	  $check=" ";
	  $value="0";
	}
      } #c
      $cPart="<tr><td>".ShowCatsAtrsNice($catsDesc[$l])."</td><td><input type='checkbox' name='".$catsDesc[$l]."' ".$check.$value."></td><td></td>";
    }else{
      $cPart="<tr><td></td><td></td><td></td>";
    }
    if ($l<$jMax){
      for ($a=0;$a<count($atrs);$a++){
	if($atrsDesc[$l]==$atrs[$a]){
	  $check="checked='checked'";
	  $value="1";
	  break;
	}else{
	  $check="";
	  $value="0";
	}
      } #a
      $aPart="<td>".ShowCatsAtrsNice($atrsDesc[$l])."</td><td><input type='checkbox' name='".$atrsDesc[$l]."' ".$check.$value."></td><td></td></tr>\n";
    }else{
      $aPart="<td></td><td></td><td></td></tr>\n";
    }
    $string .= $cPart.$aPart;
  } #l
  if ($GLOBALS['shopfinder']){
    for ($l=$lDim;$l<max(count($catsDesc),count($atrsDesc));$l++){
      $i=$l-$lDim+$iMax;
      $j=$l-$lDim+$jMax;
      if ($i<count($catsDesc)){
      if(!empty($cats[$i])){
	  $check="checked='checked' ";
	  $value="1";
	}else{
	  $check=" ";
	  $value="0";
	}
	$cPart="<tr><td style='background-color:silver;'>".ShowCatsAtrsNice($catsDesc[$i])."</td><td style='background-color:silver;'><input type='checkbox' name='".$catsDesc[$i]."' ".$check.$value."></td><td style='background-color:silver;'></td>";
      }else{
	$cPart="<tr><td style='background-color:silver;'></td><td style='background-color:silver;'></td><td style='background-color:silver;'></td>";
      }
      if ($j<count($atrsDesc)){
      if(!empty($atrs[$j])){
	$check="checked='checked' ";
	$value="1";
      }else{
	$check=" ";
	$value="0";
      }
      $aPart="<td style='background-color:silver;'>".ShowCatsAtrsNice($atrsDesc[$j])."</td><td style='background-color:silver;'><input type='checkbox' name='".$atrsDesc[$j]."' ".$check.$value."></td><td style='background-color:silver;'></td></tr>\n";
    }else{
      $aPart="<td style='background-color:silver;'></td><td style='background-color:silver;'></td><td style='background-color:silver;'></td></tr>\n";
    }
    $string .= $cPart.$aPart;
    } #l
  } #shopFinder
  $string .= "</table>\n";
  $CatsAtrsBlock ="<tr><td></td><td>".$string."</td><td></td></tr>";
  return $CatsAtrsBlock;
}
?>

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