xml = $xml; // Set default values $this->version = '1.0'; $this->encoding = "ISO-8859-1"; $this->dtd = ''; $this->entities = array(); $this->xml_index = array(); $this->xml_reference = 0; $this->stack = array(); } function parse() { $this->parser = xml_parser_create($this->encoding); xml_set_object($this->parser, $this); xml_set_element_handler($this->parser, "startElement", "endElement"); xml_set_character_data_handler($this->parser, "characterData"); xml_set_default_handler($this->parser, "defaultHandler"); if (!xml_parse($this->parser, $this->xml)) { // Error while parsing document $err_code = xml_get_error_code($this->parser); $err_string = xml_error_string($this->parser); $err_line = xml_get_current_line_number($this->parser); $err_col = xml_get_current_column_number($this->parser); print "

Error Code: $err_code
$err_string
Line: $err_line
Column: $err_col

"; } xml_parser_free($this->parser); } function generate() { // Generates XML string from the xml_doc->document object // Create document header if ($this->version == '' and $this->encoding == '') { $out_header = '<' . '?xml ?' . ">\n"; } elseif ($this->version != '' and $this->encoding == '') { $out_header = '<' . "?xml version=\"{$this->version}\"?" . ">\n"; } else { $out_header = '<' . "?xml version=\"{$this->version}\" encoding=\"{$this->encoding}\"?" . ">\n"; } if ($this->dtd != '') { $out_header .= "dtd . ">\n"; } // Get reference for root tag $_root =& $this->xml_index[0]; // Create XML for root tag $this->xml = $this->createXML(0); return $out_header . $this->xml; } function stack_location() { // Returns index for current working tag return $this->stack[(count($this->stack) - 1)]; } function startElement($parser, $name, $attrs=array()) { // Process a new tag // Check to see if tag is root-level if (count($this->stack) == 0) { // Tag is root-level (document) $this->document = new xml_tag($this,$name,$attrs); $this->document->refID = 0; $this->xml_index[0] =& $this->document; $this->xml_reference = 1; $this->stack[0] = 0; } else { // Get current location in stack array $parent_index = $this->stack_location(); // Get object reference to parent tag $parent =& $this->xml_index[$parent_index]; // Add child to parent $parent->addChild($this,$name,$attrs); // Update stack array_push($this->stack,($this->xml_reference - 1)); } } function endElement($parser, $name) { // Update stack array_pop($this->stack); } function characterData($parser, $data) { // Add textual data to the current tag // Get current location in stack array $cur_index = $this->stack_location(); // Get object reference for tag $tag =& $this->xml_index[$cur_index]; // Assign data to tag $tag->contents .= $data; } function defaultHandler($parser, $data) { // Default handler if no other event handler receives the data } function createTag($name, $attrs=array(), $contents='', $parentID = '') { // Creates an XML tag, returns Tag Index # if ($parentID === '') { // Tag is root-level $this->document = new xml_tag($this,$name,$attrs,$contents); $this->document->refID = 0; $this->xml_index[0] =& $this->document; $this->xml_reference = 1; return 0; } else { // Tag is a child // Get object reference to parent tag $parent =& $this->xml_index[$parentID]; // Add child to parent return $parent->addChild($this,$name,$attrs,$contents); } } function createXML($tagID,$parentXML='') { // Creates XML string for a tag object // Specify parent XML to insert new string into parent XML $final = ''; // Get Reference to tag object $tag =& $this->xml_index[$tagID]; $name = $tag->name; $contents = $tag->contents; $attr_count = count($tag->attributes); $child_count = count($tag->tags); $empty_tag = ($tag->contents == '') ? true : false; // Create intial tag if ($attr_count == 0) { // No attributes if ($empty_tag === true) { $final = "<$name />"; } else { $final = "<$name>$contents"; } } else { // Attributes present $attribs = ''; foreach ($tag->attributes as $key => $value) { $attribs .= ' ' . $key . "=\"$value\""; } if ($empty_tag === true) { $final = "<$name$attribs />"; } else { $final = "<$name$attribs>$contents"; } } // Search for children if ($child_count > 0) { foreach ($tag->tags as $childID) { $final = $this->createXML($childID,$final); } } if ($parentXML != '') { // Add tag XML to parent XML $stop1 = strrpos($parentXML,''); if ($stop1 > $stop2) { // Parent already has children $begin_chunk = substr($parentXML,0,$stop1); $end_chunk = substr($parentXML,$stop1,(strlen($parentXML) - $stop1 + 1)); $final = $begin_chunk . $final . $end_chunk; } elseif ($stop2 > $stop1) { // No previous children $spc = strpos($parentXML,' ',0); $parent_name = substr($parentXML,1,$spc - 1); if ($spc != $stop2) { // Attributes present $parent_attribs = substr($parentXML,$spc,($stop2 - $spc)); } else { // No attributes $parent_attribs = ''; } $final = "<$parent_name$parent_attribs>$final"; } } return $final; } function getTag($tagID,&$name,&$attributes,&$contents,&$tags) { // Returns tag information via variable references from a tag index# // Get object reference for tag $tag =& $this->xml_index[$tagID]; $name = $tag->name; $attributes = $tag->attributes; $contents = $tag->contents; $tags = $tag->tags; } function getChildByName($parentID,$childName) { // Returns child index# searching by name // Get reference for parent $parent =& $this->xml_index[$parentID]; foreach ($parent->tags as $childID) { // Get reference for child $child =& $this->xml_index[$childID]; if ($child->name == $childName) { // Found child, return index# return $childID; } } } } class xml_tag { var $refID; // Unique ID number of the tag var $name; // Name of the tag var $attributes = array(); // Array (assoc) of attributes for this tag var $tags = array(); // An array of refID's for children tags var $contents; // textual (CDATA) contents of a tag var $children = array(); // Collection (type: xml_tag) of child tag's function xml_tag(&$document,$tag_name,$tag_attrs=array(),$tag_contents='') { // Constructor function for xml_tag class // Set object variables $this->name = $tag_name; $this->attributes = $tag_attrs; $this->contents = $tag_contents; $this->tags = array(); // Initialize children array/collection $this->children = array(); } function addChild (&$document,$tag_name,$tag_attrs=array(),$tag_contents='') { // Adds a child tag object to the current tag object // Create child instance $this->children[(count($this->children))] = new xml_tag($document,$tag_name,$tag_attrs,$tag_contents); // Add object reference to document index $document->xml_index[$document->xml_reference] =& $this->children[(count($this->children) - 1)]; // Assign document index# to child $document->xml_index[$document->xml_reference]->refID = $document->xml_reference; // Add child index# to parent collection of child indices array_push($this->tags,$document->xml_reference); // Update document index counter $document->xml_reference++; // Return child index# return ($document->xml_reference - 1); } } ?> Carpguide.com - Community
Upload |  Register |  Login |  Deutsch English

Privacy


Datenschutzerklärung für diese OS Tube basierte Internetseite inkl. Unterseiten


Als Betreiber ist die Person bzw. Gesellschaft bzw. Körperschaft bzw. die durch eine Person vertretene Gesellschaft bzw. Körperschaft, die im Impressum dieser Internetseite als Betreiber ausgewiesen wird, bezeichnet.

Als Nutzer sind alle Personen bezeichnet die diese Internetseite mit oder ohne vorherige Registrierung benutzten und dabei etwa Inhalte darüber konsumieren, mit anderen Nutzern kommunizieren oder Inhalte auf der bzw. über die Internetseite veröffentlichen. Die direkte Anrede "Sie" richtet sich an Sie als Nutzer der Internetseite.

Der Begriff Internetseite bezeichnet alle Dokumente, Inhalten und Informationen, die über dieselbe Internet-Adresse, unter der auch diese Nutzungsbedienungen zugänglich gemacht werden, abrufbar sind. Darin sind auch sämtliche Unterverzeichnisse und Unterseiten eingeschlossen.

Dies ist die Datenschutzerklärung für die Nutzung der Internetseite des Betreibers. Dieser verpflichtet sich dazu, Ihre Privatsphäre zu schützen und etwaige von ihm gesammelte Informationen über Sie nur unter Beachtung des geltenden Datenschutzgesetzes verwenden.


Was sind personenbezogene Daten?

Der Betreiber versteht unter personenbezogenen Daten Informationen zu Ihrer Identität wie beispielsweise den Namen, eine E-Mail-Adresse oder Ihre Postanschrift.


Weitergabe an Dritte

Alle Daten, die dem Betreiber übermittelt wurden, werden selbstverständlich vertraulich behandelt! Er stellt diese Daten grundsätzlich nicht anderen zur Nutzung zur Verfügung, es sei denn, Sie haben hierzu Ihr Einverständnis gegeben, oder der Betreiber ist zur Preisgabe dieser Daten verpflichtet, beispielsweise aufgrund gerichtlicher Verfügung.


Wozu verwendet der Betreiber diese Daten?

Der Betreiber sammelt, speichert und verarbeitet Informationen, um die Nutzer der Internetseite besser zu verstehen und ihnen bessere Dienste anbieten zu können. Dazu nimmt er interne Untersuchungen hinsichtlich der Demographie, Nutzerinteressen und dem -verhalten vor. Dies erfolgt anonymisiert, d.h. es werden keine personenbezogenen Daten verwendet. Wenn Sie dem Betreiber Ihr Einverständnis erteilt haben, wird er Sie in regelmäßigen Abständen über Neuentwicklungen und sonstige wichtige Themen rund um diese Internetseite informieren. Sie haben selbstverständlich jederzeit die Möglichkeit, dieses Einverständnis unter schriftlich per Email (siehe Impressum bzw. Kontaktseite) zu widerrufen. Ebenso ist in jedem Newsletter die Möglichkeit vorgesehen, den Erhalt weiterer Informationen abzulehnen und einen entsprechenden Widerruf abzusenden. Weiterhin speichert der Betreiber in bestimmten Angeboten, die Ihnen eine Kommunikation mit Dritten oder mit dem Betreiber bieten (Upload von Medien, Veröffentlichung von Kommentaren, etc.), Ihre IP-Adresse über einen Zeitraum von maximal vier Wochen nach Inanspruchnahme. Zweck ist es, im Fall von Eingriffen der Nutzer in den Betrieb der Internetseite oder bei sonstigen Rechtsverstößen durch Nutzer, die erforderliche Identifizierung zu ermöglichen. Nach Ende der vierwöchigen Aufbewahrung der Daten werden diese unverzüglich gelöscht.


Verwendung von Cookies

Um das mit der Internetseite verbundene Angebot so angenehm wie möglich zu gestalten, verwendet die Seite wie viele namhafte Internetseiten auch sog. Cookies. Cookies sind kleine Textdateien, die eine Wiedererkennung des Nutzers ermöglichen, so dass die Nutzer sich nicht jedes Mal neu registrieren müssen. Zudem können Cookies dabei helfen, ein Anpassen der Angebote an Ihre Interessen zu ermöglichen. Der Betreiber setzt Cookies ein, um die Nutzung des Angebotes zu analysieren und Ihnen interessante Informationen zu geben. Selbstverständlich können Sie die Internetseite grundsätzlich auch ohne Cookies nutzen. WWW-Browser lassen sich so einstellen, dass Cookies generell abgelehnt werden.


Sicherheit der Daten

Der Betreiber ist um die Sicherheit Ihrer Daten im Rahmen der geltenden Datenschutzgesetze bemüht, dennoch ist keine elektronische Kommunikation vollkommen sicher. Der Betreiber möchte Sie darauf hinweisen, dass trotz seiner hohen Anforderungen an den Datenschutz, alle Informationen, die Sie freiwillig über das Netz freigeben, potenziell auch von anderen genutzt werden können. Deshalb kann der Betreiber für die Offenlegung von Informationen aufgrund von Fehlern bei der Datenübertragung und/ oder unautorisiertem Zugriff durch Dritte keine Verantwortung oder Haftung übernehmen.


Änderungen dieser Datenschutzerklärung

Der Betreiber behält sich das Recht vor, diese Datenschutzerklärung jederzeit unter Beachtung der geltenden Datenschutzbestimmungen zu ändern.