<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.opencaching.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kratenko</id>
	<title>Opencaching-Wiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.opencaching.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kratenko"/>
	<link rel="alternate" type="text/html" href="https://wiki.opencaching.de/index.php/Spezial:Beitr%C3%A4ge/Kratenko"/>
	<updated>2026-04-25T10:30:37Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://wiki.opencaching.de/index.php?title=OC_Coding_Style&amp;diff=6908</id>
		<title>OC Coding Style</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencaching.de/index.php?title=OC_Coding_Style&amp;diff=6908"/>
		<updated>2016-08-29T12:28:27Z</updated>

		<summary type="html">&lt;p&gt;Kratenko: fixed some syntax errors at ends of SQL-Strings&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following rules apply to all developers who contribute source code to the Opencaching.de project. This documentation is incomplete / work in progress.&lt;br /&gt;
&lt;br /&gt;
== General rules ==&lt;br /&gt;
All source code files must&lt;br /&gt;
* not contain TAB characters,&lt;br /&gt;
* use 4-char indenting columns,&lt;br /&gt;
* be UTF-8 encoded without byte order marks,&lt;br /&gt;
* use only LF as line ends, with the current exception of [[Entwicklung/Codedoku#Email-Templates|email templates]], which have RFC-822 CR/LF line ends.&lt;br /&gt;
&lt;br /&gt;
There are some tools in the [https://github.com/OpencachingDeutschland/oc-server3/tree/master/local/devel local/devel] directory for verifying and fixing these things.&lt;br /&gt;
&lt;br /&gt;
== PHP ==&lt;br /&gt;
All contributed or modified code sections must fully comply to the [http://www.php-fig.org/psr/psr-2/ PSR-2] standard (which includes [http://www.php-fig.org/psr/psr-1/ PSR-1]), with these exceptions:&lt;br /&gt;
&lt;br /&gt;
* When referencing identifiers (e.g. class and function names) that are defined in non-PSR-2-compliant source code files, their names need not be PSR-2 compliant.&lt;br /&gt;
* When writing standalone scripts like those in the &#039;local&#039;, &#039;util&#039; and &#039;util2&#039; directories, they need not to comply to the PSR-1 &amp;quot;Side Effects&amp;quot; rule.&lt;br /&gt;
&lt;br /&gt;
Only &amp;lt;code&amp;gt;&amp;lt;?php&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;?=&amp;lt;/code&amp;gt; open tags must be used. &amp;lt;code&amp;gt;&amp;lt;?&amp;lt;/code&amp;gt; (short open tags) must not be used.&lt;br /&gt;
&lt;br /&gt;
== SQL ==&lt;br /&gt;
See also: [[Entwicklung/Codedoku#Datenbank]]&lt;br /&gt;
&lt;br /&gt;
All SQL language elements are written in CAPS, and all user-defined identifiers in `backticks`. Inner joins are coded as JOIN and not as WHERE. All variable values inserted into SQLs &#039;&#039;&#039;must&#039;&#039;&#039; be escaped, either via placeholders like &amp;lt;code&amp;gt;&#039;&amp;amp;1&#039;&amp;lt;/code&amp;gt; or via function &amp;lt;code&amp;gt;sql_escape()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
SQL code inserted into PHP code is enclosed in double quotes and generally formatted like this:&lt;br /&gt;
&lt;br /&gt;
    $result = sql(&lt;br /&gt;
        &amp;quot;SELECT `cache_id`, `wp_oc`&lt;br /&gt;
         FROM `caches`&lt;br /&gt;
         JOIN `cache_logs` ON `cache_logs`.`cache_id` = `caches`.`cache_id`&lt;br /&gt;
         WHERE `caches`.`status` IN (&#039;&amp;amp;1&#039;, &#039;&amp;amp;2&#039;)&amp;quot;,&lt;br /&gt;
        $status1,&lt;br /&gt;
        $status2&lt;br /&gt;
    );&lt;br /&gt;
&lt;br /&gt;
Note that the opening &amp;quot; is on a tab position, while the following lines start one column to the right.&lt;br /&gt;
&lt;br /&gt;
If lines get too long, the parameters are moved to the next line(s) and indented to the next indent column (which is &#039;&#039;three&#039;&#039; chars right of the preceding line&#039;s keyword):&lt;br /&gt;
&lt;br /&gt;
    $result = sql(&lt;br /&gt;
        &amp;quot;SELECT&lt;br /&gt;
            `caches`.`cache_id`,&lt;br /&gt;
            `caches`.`type` AS `cache_type`,&lt;br /&gt;
            `cache_logs`.`date` AS `log_date`,&lt;br /&gt;
            `cache_logs`.`type` AS `log_type`&lt;br /&gt;
         FROM `caches`&lt;br /&gt;
         JOIN `cache_logs`&lt;br /&gt;
            ON `cache_logs`.`cache_id` = `caches`.`cache_id`&lt;br /&gt;
            AND `cache_logs`.`type` = &#039;&amp;amp;1&#039;&lt;br /&gt;
         WHERE&lt;br /&gt;
            `caches`.`status` = &#039;&amp;amp;2&#039;&lt;br /&gt;
            AND `cache_logs`.`user_id` = &#039;&amp;amp;3&#039;&amp;quot;,&lt;br /&gt;
        $logType,&lt;br /&gt;
        $cacheStatus,&lt;br /&gt;
        $userId&lt;br /&gt;
    );&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Entwicklung|Coding Style]]&lt;br /&gt;
[[Kategorie:English pages]]&lt;/div&gt;</summary>
		<author><name>Kratenko</name></author>
	</entry>
	<entry>
		<id>https://wiki.opencaching.de/index.php?title=Cachestatus&amp;diff=5661</id>
		<title>Cachestatus</title>
		<link rel="alternate" type="text/html" href="https://wiki.opencaching.de/index.php?title=Cachestatus&amp;diff=5661"/>
		<updated>2014-07-31T13:01:02Z</updated>

		<summary type="html">&lt;p&gt;Kratenko: Plural von Status ist Status&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[Datei:Statusänderungen per Log.png|thumb|300px|right|Ändern des Cachestatus]]&lt;br /&gt;
Der Status eines Geocaches gibt hauptsächlich an, ob der Cache momentan gesucht/gefunden werden kann, oder ob Probleme vorliegen, die ein Suchen verhindern.&lt;br /&gt;
&lt;br /&gt;
Seit der [http://www.opencaching.de/articles.php?page=changelog#v3.0.8 Opencaching-Version 8] sind Statusänderungen an ein [[Das Onlinelog|Log]] gebunden, wie es auf anderen Plattformen schon länger üblich war. Dadurch verpassen Beobachter zum einen keine einzige Statusänderung mehr, zum anderen ist auch für Nicht-Beobachter klar erkennbar, wann ein Cache suchbar oder nicht suchbar war. Ein Geocache bei Opencaching.de kann folgende Status annehmen, die vom [[Besitzer]] oder einem Mitglied des [[Support|Support-Teams]] gesetzt werden können:&lt;br /&gt;
&lt;br /&gt;
==== Noch nicht veröffentlicht ====&lt;br /&gt;
Diesen Status erhält ein neues Opencaching-[[Listing]], wenn du zunächst „[[Erstellen einer Cachebeschreibung/ Listing#Veröffentlichung|Noch nicht veröffentlichen]]“ gewählt hast. Es bleibt für andere Benutzer unsichtbar, bis du es zur Veröffentlichung freigibst.&lt;br /&gt;
&lt;br /&gt;
Damit man keinen Cache versehentlich veröffentlicht, geschieht die Freigabe nicht per Log, sondern man bearbeitet das Cachlisting und ändert zwei Einträge:&lt;br /&gt;
* Status = „kann gesucht werden“&lt;br /&gt;
* Veröffentlichung = „sofort veröffentlichen“&lt;br /&gt;
&lt;br /&gt;
==== Kann gesucht werden/ Wartungslog ====&lt;br /&gt;
[[Datei:Wartungslog 2.png|thumb|300px|right|Wartungslog im Logzähler]]&lt;br /&gt;
[[Datei:Wartungslog.png|thumb|300px|left|Wartungslog schreiben]]&lt;br /&gt;
Das ist der Normalzustand eines Caches. Die Bedeutung ist klar: Mit dem Geocache ist alles in Ordnung; die Dose kann gefunden werden.&lt;br /&gt;
&lt;br /&gt;
Beim Loggen hat dieser Status noch eine weitere Bedeutung: Er fungiert auch als „Wartungsinfo“ für andere User. Wird im Zustand „Kann gesucht werden“ erneut ein „Kann-gesucht-werden“-Log geschrieben, so signalisiert dies den Suchenden, dass der Cache kontrolliert wurde und dass alles OK ist. Dieser Logtyp kann vom Owner beliebig oft verwendet werden um immer wieder deutlich zu machen, dass der Cache gewartet worden ist und wirklich vorhanden ist.&lt;br /&gt;
&lt;br /&gt;
Das Wartungslog wird ebenfalls benötigt, um ein nicht verfügbares Listing wieder frei zu geben. Es reicht &#039;&#039;&#039;nicht&#039;&#039;&#039;, aus den Statuslog „Nicht verfügbar“ zu entfernen.&lt;br /&gt;
&lt;br /&gt;
Wurde ein Wartungslog geschrieben, erschein dieses in der Logstatistik oben rechts im Listig. Wird ein Listing durch ein „Kann-gesucht-werden“-Log wieder freigegeben, wird dies oben ebenfalls als Wartung aufgeführt.&lt;br /&gt;
&lt;br /&gt;
Das neue Loglabel seht ihr hier:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Wartungslog 3.png|Logtyp Wartung durchgeführt]]&lt;br /&gt;
&lt;br /&gt;
==== Momentan nicht verfügbar/ Deaktivierungslog====&lt;br /&gt;
Dieser Zustand wird vom [[Besitzer]] gesetzt, wenn mit dem Cache etwas nicht in Ordnung ist und die Dose nicht gefunden werden kann. Die Gründe dafür können vielfältig sein: die Dose ist verschwunden, das [[Logbuch]] ist nass und muss erst getauscht werden, der Ort des Cacheverstecks kann wegen einer Baustelle momentan nicht betreten werden, usw.&lt;br /&gt;
Der Owner ist anschließend dafür verantwortlich, den Geocache wieder suchbar zu machen (z.B. durch Auslegen einer neuen Dose) und den Status durch ein „Kann-gesucht-werden“-Log wieder auf &#039;&#039;&#039;kann gesucht werden&#039;&#039;&#039; zu setzen. Ist ein Instandsetzen des Caches nicht möglich, sollte der Cache per Archivierungslog &#039;&#039;&#039;archiviert&#039;&#039;&#039; werden.&lt;br /&gt;
&lt;br /&gt;
Auch dieser Status kann mehrfach geloggt werden. Dies kann Sinn machen, wenn z.B. ein Cache wegen Waldarbeiten nicht verfügbar ist. So kann dann deutlich gemacht werden: ich habe die Lage im Auge, aber die Arbeiten dauern noch an.&lt;br /&gt;
&lt;br /&gt;
Und so sieht dann das fertige Log aus:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Nicht verfügbar Log.png|Logtyp Nicht verfügbar]]&lt;br /&gt;
&lt;br /&gt;
Außerdem erscheint ein rotes Banner mit dem Hinweis „Dieser Geocache ist nicht verfügbar...“ ganz oben im Listing.&lt;br /&gt;
&lt;br /&gt;
==== Archiviert/ Archivierungslog ====&lt;br /&gt;
Dieser Status zeigt an, dass der Cache definitiv nicht mehr gefunden werden kann. Archivierte Caches werden standardmäßig nicht auf der [[Cachekarte]] von Opencaching.de angezeigt. Archiviert ein [[Besitzer]] seinen Geocache, ist es wichtig, dass die ausgelegten Dosen (Finaldose und möglicherweise Dosen von [[Stage|Stationen]]) wieder eingesammelt werden. Ansonsten entsteht [[Geomüll]].&lt;br /&gt;
&lt;br /&gt;
Zur Archivierung wird dann das Archivierungslog geschrieben. Es sieht im Listing so aus:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Archivierung.png|Archivierungslog]]&lt;br /&gt;
&lt;br /&gt;
Außerdem erscheint ein rotes Banner mit dem Hinweis „Dieser Geocache ist archiviert....“ ganz oben im Listing.&lt;br /&gt;
&lt;br /&gt;
==== Gesperrt/ Sperrlog ====&lt;br /&gt;
Ein &#039;&#039;&#039;gesperrter&#039;&#039;&#039; Cache entspricht einem &#039;&#039;&#039;archivierten&#039;&#039;&#039;, mit dem Unterschied, dass im Listing keine Logeinträge mehr möglich sind. Außerdem ist der Cache nicht mehr auf der [[Cachekarte|Karte]] anzeigbar und kann nicht per [[API-Clients#OKAPI-Clients|OKAPI]] abgerufen werden.&lt;br /&gt;
&lt;br /&gt;
Das Sperren eines Listings kann z.B. dann sinnvoll sein, wenn es in den [[Das Onlinelog|Onlinelogs]] zu beleidigenden Diskussionen kommt oder der Owner bei einem Lost Place o.ä. ausdrücklich nicht mehr möchte, dass sich noch Sucher an den Ort begeben und vor allem den Cache hinterher noch loggen. Besonders hier sollte der Logeintrag ausführlich ausfallen um die Gründe dessen deutlich zu machen.&lt;br /&gt;
Der fertige Logeintrag sieht dann so aus:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Sperrung.png|Sperrungslog]]&lt;br /&gt;
&lt;br /&gt;
Außerdem erscheint ein Schloßsymbol mit dem Hinweis „Dieser Geocache ist gesperrt....“ ganz oben im Listing.&lt;br /&gt;
/* Schloßsymbol war: rotes Banner */&lt;br /&gt;
&lt;br /&gt;
==== Gesperrt + Versteckt ====&lt;br /&gt;
Das Listing eines gesperrten und versteckten Caches kann nur vom Owner und vom [[Support|Support-Team]] eingesehen werden. Der Cache ist daher auch nicht auf der [[Cachekarte]] sichtbar. Dieser Status kann nur durch das Support-Team gesetzt und wieder zurückgenommen werden.&lt;br /&gt;
Der Status wird nur in Ausnahmefällen verwendet, beispielsweise wenn durch das Listing rechtliche Verstöße wie strafrechtlich relevante Texte/Textpassagen oder [[Urheberrecht|Urheberrechtsverstöße]] vorliegen.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Opencaching]]&lt;br /&gt;
[[Kategorie:Listings und Logs]]&lt;br /&gt;
&lt;br /&gt;
[[pl:Status skrzynki]]&lt;/div&gt;</summary>
		<author><name>Kratenko</name></author>
	</entry>
</feed>