re-added search1.php for testing
This commit is contained in:
@@ -59,7 +59,7 @@ $menu = array(
|
||||
'menustring' => t('Search'),
|
||||
'visible' => true,
|
||||
'filename' => 'search.php',
|
||||
'siteid' => 'search',
|
||||
'siteid' => 'search1/search',
|
||||
'submenu' => array(
|
||||
array(
|
||||
'title' => t('Show Geocache'),
|
||||
@@ -131,14 +131,14 @@ $menu = array(
|
||||
'menustring' => t('Select city'),
|
||||
'visible' => false,
|
||||
'filename' => 'search.php',
|
||||
'siteid' => 'selectlocid'
|
||||
'siteid' => 'search1/selectlocid'
|
||||
),
|
||||
array(
|
||||
'title' => t('Show search result'),
|
||||
'menustring' => t('Result'),
|
||||
'visible' => false,
|
||||
'filename' => 'search.php',
|
||||
'siteid' => 'search.result.caches'
|
||||
'siteid' => 'search1/search.result.caches'
|
||||
),
|
||||
array(
|
||||
'title' => t('Recommendations'),
|
||||
|
152
htdocs/lang/de/ocstyle/search1/search.inc.php
Normal file
152
htdocs/lang/de/ocstyle/search1/search.inc.php
Normal file
@@ -0,0 +1,152 @@
|
||||
<?php
|
||||
/****************************************************************************
|
||||
./lang/de/ocstyle/search.inc.php
|
||||
-------------------
|
||||
begin : July 25 2004
|
||||
|
||||
For license information see doc/license.txt
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
|
||||
Unicode Reminder メモ
|
||||
|
||||
set template specific language variables
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
$outputformat_notexist = t('The selected output format is unknown!');
|
||||
$error_query_not_found = t('The search operation could not be executed, please reenter the search data.');
|
||||
|
||||
$caches_newstring = '<b class="newsymbol"> ' . t('NEW') . ' </b> ';
|
||||
$caches_olddays = 14; // changed from 7 to 14 -- following 2013/6/17
|
||||
|
||||
$caches_oconlystring = '<img src="resource2/ocstyle/images/misc/is_oconly.png" alt="OConly" title="OConly" style="margin:0px; padding:0px" width="64" height="35" />';
|
||||
|
||||
$bgcolor1 = 'odd'; // even lines
|
||||
$bgcolor2 = 'even'; // odd lines
|
||||
$bgcolor_found = "#66FFCC"; // if cache was found by user
|
||||
$bgcolor_owner = "#ffffc5"; // if user is owner
|
||||
$bgcolor_inactive = "#fafafa"; // if cache is inactive
|
||||
|
||||
$string_by = t('by');
|
||||
|
||||
$logdateformat = 'd.m.Y';
|
||||
$logpics[1] = '<img alt="' . t('Find') . '" border="0" src="images/ok.gif">';
|
||||
$logpics[2] = '<img alt="' . t('Didn\'t find') . '" border="0" src="images/redcross.gif">';
|
||||
$logpics[3] = '<img alt="' . t('Note') . '" border="0" src="images/info.gif">';
|
||||
|
||||
$diffpics[2] = 'diff-10.gif';
|
||||
$diffpics[3] = 'diff-15.gif';
|
||||
$diffpics[4] = 'diff-20.gif';
|
||||
$diffpics[5] = 'diff-25.gif';
|
||||
$diffpics[6] = 'diff-30.gif';
|
||||
$diffpics[7] = 'diff-35.gif';
|
||||
$diffpics[8] = 'diff-40.gif';
|
||||
$diffpics[9] = 'diff-45.gif';
|
||||
$diffpics[10] = 'diff-50.gif';
|
||||
|
||||
$terrpics[2] = 'terr-10.gif';
|
||||
$terrpics[3] = 'terr-15.gif';
|
||||
$terrpics[4] = 'terr-20.gif';
|
||||
$terrpics[5] = 'terr-25.gif';
|
||||
$terrpics[6] = 'terr-30.gif';
|
||||
$terrpics[7] = 'terr-35.gif';
|
||||
$terrpics[8] = 'terr-40.gif';
|
||||
$terrpics[9] = 'terr-45.gif';
|
||||
$terrpics[10] = 'terr-50.gif';
|
||||
|
||||
$terrpics[1] = 'rat-10.gif';
|
||||
$terrpics[2] = 'rat-20.gif';
|
||||
$terrpics[3] = 'rat-30.gif';
|
||||
$terrpics[4] = 'rat-40.gif';
|
||||
$terrpics[5] = 'rat-50.gif';
|
||||
|
||||
$difficulty_text_diff = t("Difficulty: %01.1f of 5.0");
|
||||
$difficulty_text_terr = t("Terrain: %01.1f of 5.0");
|
||||
$rating_text = t("Rating: {rating}%");
|
||||
$not_rated = t('No Rating');
|
||||
|
||||
$error_plz = '<tr><td colspan="3"><span class="errormsg">' . t('The postal code could not be found') . '</span></td></tr>';
|
||||
$error_ort = '<tr><td colspan="3"><span class="errormsg">' . t('There does no city exist with this name') . '</span></td></tr>';
|
||||
$error_locidnocoords = '<tr><td colspan="3"><span class="errormsg">' . t('There are no Koordinates available for the selected city') . '</span></td></tr>';
|
||||
$error_noort = '<tr><td colspan="3"><span class="errormsg">' . t('The entered city is not valid.') . '</span></td></tr>';
|
||||
$error_nofulltext = '<tr><td colspan="3"><span class="errormsg">' . t('The entered text is invalid.') . '</span></td></tr>';
|
||||
$error_fulltexttoolong = '<tr><td colspan="3"><span class="errormsg">' . t('The entered text contains more than 50 words.') . '</span></td></tr>';
|
||||
|
||||
$gns_countries['GM'] = t('Germany');
|
||||
$gns_countries['AU'] = t('Austria');
|
||||
$gns_countries['SZ'] = t('Switzerland');
|
||||
|
||||
$default_lang = t('EN');
|
||||
$search_all_countries = '<option value="" selected="selected">' . t('All countries') . '</option>';
|
||||
$search_all_cachetypes = '<option value="" selected="selected">' . t('All cachetypes') . '</option>';
|
||||
|
||||
$cache_attrib_group =
|
||||
'<div class="attribgroup"><table cellspacing="0">
|
||||
<tr><td bgcolor="{color}" style="line-height:9px;padding-top:2px;margin:0 0 0 0;border-left:1px solid gray;border-right:1px solid gray;border-top:1px solid gray;"><font size="1">{name}</font></td></tr>
|
||||
<tr><td bgcolor="#F8F8F8" style="margin:0 0 0 0;border-left:1px solid gray;border-right:1px solid gray;border-bottom:1px solid gray;">{attribs}</td></tr>
|
||||
</table></div>';
|
||||
$cache_attrib_jsarray_line = "new Array('{id}', {state}, '{text_long}', '{icon}', '{icon_no}', '{icon_undef}', '{search_default}')";
|
||||
$cache_attrib_img_line1 = '<img id="attrimg1_{id}" src="{icon}" onmousedown="switchAttribute({id})" onmouseover="Tip(\'{html_desc}\', TITLE, \'{name}\', TITLEBGCOLOR, \'{color}\', TITLEFONTCOLOR, \'#000000\', BGCOLOR, \'#FFFFFF\', BORDERCOLOR, \'{color}\', CLICKCLOSE, true, DELAY, 0, FADEIN, false, FADEOUT, false, FONTCOLOR, \'#000080\', WIDTH, 500)" onmouseout="UnTip()" /> ';
|
||||
$cache_attrib_img_line2 = '<img id="attrimg2_{id}" src="{icon}" onmousedown="switchAttribute({id})" onmouseover="Tip(\'{html_desc}\', TITLE, \'{name}\', TITLEBGCOLOR, \'{color}\', TITLEFONTCOLOR, \'#000000\', BGCOLOR, \'#FFFFFF\', BORDERCOLOR, \'{color}\', CLICKCLOSE, true, DELAY, 0, FADEIN, false, FADEOUT, false, FONTCOLOR, \'#000080\', WIDTH, 500)" onmouseout="UnTip()" /> ';
|
||||
|
||||
$search_in_gm = '<a href="http://maps.google.de/maps?f=q&hl=de&q=' . urlencode("http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']."&output=kml") . '" title="' . $translate->t('Show in Google Maps','','',0) . '">' . $translate->t('(in GM)','','',0) . '</a>';
|
||||
$search_in_gm_zip = '<a href="http://maps.google.de/maps?f=q&hl=de&q=' . urlencode("http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']."&output=kml&zip=1&count=max") . '" title="' . $translate->t('Show in Google Maps','','',0) . '">' . $translate->t('(in GM)','','',0) . '</a>';
|
||||
|
||||
$unknown_searchtype = t('unknown search type');
|
||||
$showonmap = t('Show on map');
|
||||
|
||||
$converted_from_html = t('converted from HTML');
|
||||
$state_temporarily_na = t('Temporary not available');
|
||||
$state_archived = t('Archived');
|
||||
$state_locked = t('Locked');
|
||||
$cache_note_text = t('Personal cache note');
|
||||
|
||||
|
||||
function dateDiff($interval, $dateTimeBegin, $dateTimeEnd)
|
||||
{
|
||||
//Parse about any English textual datetime
|
||||
//$dateTimeBegin, $dateTimeEnd
|
||||
|
||||
$dateTimeBegin = strtotime($dateTimeBegin);
|
||||
if ($dateTimeBegin === -1)
|
||||
return("..begin date Invalid");
|
||||
|
||||
$dateTimeEnd = strtotime($dateTimeEnd);
|
||||
if ($dateTimeEnd === -1)
|
||||
return("..end date Invalid");
|
||||
|
||||
$dif = $dateTimeEnd - $dateTimeBegin;
|
||||
|
||||
switch($interval)
|
||||
{
|
||||
case "s"://seconds
|
||||
return($dif);
|
||||
|
||||
case "n"://minutes
|
||||
return(floor($dif/60)); //60s=1m
|
||||
|
||||
case "h"://hours
|
||||
return(floor($dif/3600)); //3600s=1h
|
||||
|
||||
case "d"://days
|
||||
return(floor($dif/86400)); //86400s=1d
|
||||
|
||||
case "ww"://Week
|
||||
return(floor($dif/604800)); //604800s=1week=1semana
|
||||
|
||||
case "m": //similar result "m" dateDiff Microsoft
|
||||
$monthBegin = (date("Y",$dateTimeBegin)*12) + date("n",$dateTimeBegin);
|
||||
$monthEnd = (date("Y",$dateTimeEnd)*12) + date("n",$dateTimeEnd);
|
||||
$monthDiff = $monthEnd - $monthBegin;
|
||||
return($monthDiff);
|
||||
|
||||
case "yyyy": //similar result "yyyy" dateDiff Microsoft
|
||||
return(date("Y",$dateTimeEnd) - date("Y",$dateTimeBegin));
|
||||
|
||||
default:
|
||||
return(floor($dif/86400)); //86400s=1d
|
||||
}
|
||||
}
|
||||
?>
|
@@ -0,0 +1,86 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<kml xmlns="http://earth.google.com/kml/2.0">
|
||||
<Document>
|
||||
<Style id="tradi">
|
||||
<IconStyle>
|
||||
<scale>1</scale>
|
||||
<Icon>
|
||||
<href>http://www.opencaching.de/resource2/misc/google-earth/tradi.png</href>
|
||||
</Icon>
|
||||
</IconStyle>
|
||||
</Style>
|
||||
<Style id="multi">
|
||||
<IconStyle>
|
||||
<scale>1</scale>
|
||||
<Icon>
|
||||
<href>http://www.opencaching.de/resource2/misc/google-earth/multi.png</href>
|
||||
</Icon>
|
||||
</IconStyle>
|
||||
</Style>
|
||||
<Style id="virtual">
|
||||
<IconStyle>
|
||||
<scale>1</scale>
|
||||
<Icon>
|
||||
<href>http://www.opencaching.de/resource2/misc/google-earth/virtual.png</href>
|
||||
</Icon>
|
||||
</IconStyle>
|
||||
</Style>
|
||||
<Style id="webcam">
|
||||
<IconStyle>
|
||||
<scale>1</scale>
|
||||
<Icon>
|
||||
<href>http://www.opencaching.de/resource2/misc/google-earth/webcam.png</href>
|
||||
</Icon>
|
||||
</IconStyle>
|
||||
</Style>
|
||||
<Style id="event">
|
||||
<IconStyle>
|
||||
<scale>1</scale>
|
||||
<Icon>
|
||||
<href>http://www.opencaching.de/resource2/misc/google-earth/event.png</href>
|
||||
</Icon>
|
||||
</IconStyle>
|
||||
</Style>
|
||||
<Style id="mystery">
|
||||
<IconStyle>
|
||||
<scale>1</scale>
|
||||
<Icon>
|
||||
<href>http://www.opencaching.de/resource2/misc/google-earth/myst.png</href>
|
||||
</Icon>
|
||||
</IconStyle>
|
||||
</Style>
|
||||
<Style id="mathe">
|
||||
<IconStyle>
|
||||
<scale>1</scale>
|
||||
<Icon>
|
||||
<href>http://www.opencaching.de/resource2/misc/google-earth/math.png</href>
|
||||
</Icon>
|
||||
</IconStyle>
|
||||
</Style>
|
||||
<Style id="drivein">
|
||||
<IconStyle>
|
||||
<scale>1</scale>
|
||||
<Icon>
|
||||
<href>http://www.opencaching.de/resource2/misc/google-earth/drivein.png</href>
|
||||
</Icon>
|
||||
</IconStyle>
|
||||
</Style>
|
||||
<Style id="moving">
|
||||
<IconStyle>
|
||||
<scale>1</scale>
|
||||
<Icon>
|
||||
<href>http://www.opencaching.de/resource2/misc/google-earth/moving.png</href>
|
||||
</Icon>
|
||||
</IconStyle>
|
||||
</Style>
|
||||
<Style id="other">
|
||||
<IconStyle>
|
||||
<scale>1</scale>
|
||||
<Icon>
|
||||
<href>http://www.opencaching.de/resource2/misc/google-earth/unknown.png</href>
|
||||
</Icon>
|
||||
</IconStyle>
|
||||
</Style>
|
||||
<Folder>
|
||||
<Name>Geocaches (Opencaching)</Name>
|
||||
<Open>0</Open>
|
@@ -0,0 +1,17 @@
|
||||
<!--m-->
|
||||
<tr>
|
||||
<td width="18" class="{bgcolor}" style="{line_style}"> {position} </td>
|
||||
<td width="45" class="{bgcolor}" style="{line_style}">{distance} </td>
|
||||
<td width="32" class="{bgcolor}" rowspan="2"><img src='lang/de/ocstyle/images/{icon_large}' alt='{cachetype}' title='{cachetype}'></td>
|
||||
<td width="46" class="{bgcolor}" rowspan="2" nowrap="nowarp">{diffpic}{terrpic}</td>
|
||||
<td width="448" class="{bgcolor}">{new} <span style="{status_style}"><a href="viewcache.php?cacheid={urlencode_cacheid}"><span style="{name_style}">{cachename}</span></a></span> <span style="{line_style}">{string_by}</span> <a href="viewprofile.php?userid={urlencode_userid}" style="{line_style}">{username}</a><!-- Ocprop: <a href="viewcache.php?cacheid={urlencode_cacheid}">{cachename}</a> {string_by} <a href="viewprofile.php?userid={urlencode_userid}">{username}</a> --></td>
|
||||
<td width="74" class="{bgcolor}" rowspan="2" style="padding: 0px">{oconly}</td>
|
||||
<td width="110" valign="top" class="{bgcolor}">{logimage1} {logdate1} </td>
|
||||
</tr>
|
||||
<!--n-->
|
||||
<tr>
|
||||
<td width="25" class="{bgcolor}"> </td>
|
||||
<td width="32" class="{bgcolor}" valign="top" style="{line_style}">{direction} </td>
|
||||
<td width="448" class="{bgcolor}" valign="top"><p style="{line_style}">{ratpic}{desclangs} {short_desc} </p></td>
|
||||
<td width="110" class="{bgcolor}" valign="top">{lastlogs} </td>
|
||||
</tr>
|
136
htdocs/lang/de/ocstyle/search1/search.result.caches.tpl.php
Normal file
136
htdocs/lang/de/ocstyle/search1/search.result.caches.tpl.php
Normal file
@@ -0,0 +1,136 @@
|
||||
<?php
|
||||
/***************************************************************************
|
||||
./lang/de/ocstyle/search.result.tpl.php
|
||||
-------------------
|
||||
begin : July 25 2004
|
||||
copyright : (C) 2004 The OpenCaching Group
|
||||
forum contact at : http://www.opencaching.com/phpBB2
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
/***************************************************************************
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
***************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
|
||||
Unicode Reminder メモ
|
||||
|
||||
(X)HTML search output template
|
||||
|
||||
****************************************************************************/
|
||||
?>
|
||||
|
||||
<div class="content2-container bg-blue02" style="margin-top:20px;">
|
||||
<table cellspacing="0" cellpadding="0" width="100%" border="0"><tr>
|
||||
<td style="white-space:nowrap">
|
||||
<p class="content-title-noshade-size15" style="padding:0; margin:4px;"> {t}{results_count} caches<span style="{search_headline_caches}"> matched</span>{/t} </p>
|
||||
</td>
|
||||
<td style="text-align:right; width:1px">
|
||||
<a href="search1.php?queryid={queryid}&output=map2bounds&showresult=1&skipqueryid=1&expert=0&utf8=1" class="nooutline"><img src="resource2/ocstyle/images/misc/32x32-world.png"/></a>
|
||||
</td>
|
||||
<td style="white-space:nowrap; text-align:left; padding-bottom:2px">
|
||||
<p class="inheader"><a href="search1.php?queryid={queryid}&output=map2bounds&showresult=1&skipqueryid=1&expert=0&utf8=1">{showonmap}</a></p>
|
||||
</td>
|
||||
<td style="text-align:right; padding-bottom:2px"><p class="inheader">
|
||||
<span style="white-space:nowrap">[<a href="query.php?action=save&queryid={queryid}">{t}Save options{/t}</a>]</span>
|
||||
<span style="white-space:nowrap">[<a href="search1.php?queryid={queryid}&showresult=0">{t}Edit options{/t}</a>]</span></p>
|
||||
</td>
|
||||
</tr></table>
|
||||
</div>
|
||||
<div class="buffer" style="height:5px;"></div>
|
||||
|
||||
<font size="2">
|
||||
<table class="content" border="0" cellspacing="0px" cellpadding="0px">
|
||||
<tr>
|
||||
<td class="header-small" colspan="2">
|
||||
<table width="98.5%">
|
||||
<tr>
|
||||
<td rowspan="1" style="vertical-align:top; width:300px">{pages}</td>
|
||||
<td style="text-align:right;">{t}Download{/t}: </td>
|
||||
<td><nobr>
|
||||
<select name="wpdownload-page" class="wpdownload" onChange="location.href=this.options[this.selectedIndex].value">
|
||||
<option value="#">{t}Results on this page{/t}</option>
|
||||
<option value="search1.php?queryid={queryid}&output=gpx&startat={startat}">GPX</option>
|
||||
<option value="search1.php?queryid={queryid}&output=loc&startat={startat}">LOC</option>
|
||||
<option value="search1.php?queryid={queryid}&output=kml&startat={startat}">KML</option>
|
||||
<option value="search1.php?queryid={queryid}&output=ov2&startat={startat}">OV2</option>
|
||||
<option value="search1.php?queryid={queryid}&output=ovl&startat={startat}">OVL</option>
|
||||
<option value="search1.php?queryid={queryid}&output=txt&startat={startat}">TXT</option>
|
||||
</select>
|
||||
<select name="wpdownload-all" class="wpdownload" onChange="location.href=this.options[this.selectedIndex].value">
|
||||
<option value="#">{t}Result {startatp1} to {endat} (as zip){/t}</option>
|
||||
<option value="search1.php?queryid={queryid}&output=gpx&startat={startat}&count=max&zip=1">GPX</option>
|
||||
<option value="search1.php?queryid={queryid}&output=loc&startat={startat}&count=max&zip=1">LOC</option>
|
||||
<option value="search1.php?queryid={queryid}&output=kml&startat={startat}&count=max&zip=1">KML</option>
|
||||
<option value="search1.php?queryid={queryid}&output=ov2&startat={startat}&count=max&zip=1">OV2</option>
|
||||
<option value="search1.php?queryid={queryid}&output=ovl&startat={startat}&count=max&zip=1">OVL</option>
|
||||
<option value="search1.php?queryid={queryid}&output=txt&startat={startat}&count=max&zip=1">TXT</option>
|
||||
</select></nobr>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td class="spacer" colspan="2"> </td></tr>
|
||||
<tr>
|
||||
<td colspan="2" style="padding-left: 0px; padding-right: 0px;">
|
||||
<table border="0" cellspacing="0px" cellpadding="0px" class="searchtable">
|
||||
<tr>
|
||||
<th width="18" height="13" > # </th>
|
||||
<th width="45" height="13">{distanceunit}</th>
|
||||
<th width="32" height="13">{t}Type{/t}</th>
|
||||
<th width="46" height="13">{t}D/T{/t}</th>
|
||||
<th width="448" height="13">{t}Name{/t}</th>
|
||||
<th width="48" height="13"> </th>
|
||||
<th width="126" height="13"><span style="display:{displaylastlogs}">{t}Last logs{/t}<span style="display:{displayownlogs}">{t}Own logs{/t}</th>
|
||||
</tr>
|
||||
<tr><td></td></tr>
|
||||
<!--a-->{results}<!--z-->
|
||||
</table>
|
||||
</td>
|
||||
<tr><td class="spacer" colspan="2"> </td></tr>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" class="header-small">{pages}</td>
|
||||
</tr>
|
||||
<tr><td style="height:0.6em"></td></tr>
|
||||
</table>
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td style="text-align:right; width:50%">{t}Download{/t}: </td>
|
||||
<td align="right" style="padding-right:20px; white-space:nowrap">
|
||||
<b>{t}Results on this page:{/t}</b>
|
||||
<a href="search1.php?queryid={queryid}&output=gpx&startat={startat}" title="{t}GPS Exchange Format .gpx{/t}">GPX</a>
|
||||
<a href="search1.php?queryid={queryid}&output=loc&startat={startat}" title="{t}Waypointfile .loc{/t}">LOC</a>
|
||||
<a href="search1.php?queryid={queryid}&output=kml&startat={startat}" title="{t}Google Earth .kml{/t}">KML</a>
|
||||
{search_in_gm}
|
||||
<a href="search1.php?queryid={queryid}&output=ov2&startat={startat}" title="{t}TomTom POI .ov2{/t}">OV2</a>
|
||||
<a href="search1.php?queryid={queryid}&output=ovl&startat={startat}" title="{t}TOP50-Overlay .ovl{/t}">OVL</a>
|
||||
<a href="search1.php?queryid={queryid}&output=txt&startat={startat}" title="{t}Textfile .txt{/t}">TXT</a>
|
||||
<br />
|
||||
<b>{t}Result {startatp1} to {endat} (as zip):{/t}</b>
|
||||
<a href="search1.php?queryid={queryid}&output=gpx&startat={startat}&count=max&zip=1" title="{t}GPS Exchange Format .gpx{/t}">GPX</a>
|
||||
<a href="search1.php?queryid={queryid}&output=loc&startat={startat}&count=max&zip=1" title="{t}Waypointfile .loc{/t}">LOC</a>
|
||||
<a href="search1.php?queryid={queryid}&output=kml&startat={startat}&count=max&zip=1" title="{t}Google Earth .kml{/t}">KML</a>
|
||||
{search_in_gm_zip}
|
||||
<a href="search1.php?queryid={queryid}&output=ov2&startat={startat}&count=max&zip=1" title="{t}TomTom POI .ov2{/t}">OV2</a>
|
||||
<a href="search1.php?queryid={queryid}&output=ovl&startat={startat}&count=max&zip=1" title="{t}TOP50-Overlay .ovl{/t}">OVL</a>
|
||||
<a href="search1.php?queryid={queryid}&output=txt&startat={startat}&count=max&zip=1" title="{t}Textfile .txt{/t}">TXT</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="help" colspan="2" align="right" style="line-height:2em;">
|
||||
{t}With the download you accept the <a href="articles.php?page=impressum#tos">terms of use</a> from opencaching.de. {/t}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<p>({t}old{/t})</p>
|
||||
|
||||
</font>
|
841
htdocs/lang/de/ocstyle/search1/search.tpl.php
Normal file
841
htdocs/lang/de/ocstyle/search1/search.tpl.php
Normal file
@@ -0,0 +1,841 @@
|
||||
<?php
|
||||
/***************************************************************************
|
||||
./lang/de/ocstyle/search.simple.tpl.php
|
||||
-------------------
|
||||
begin : July 25 2004
|
||||
|
||||
For license information see doc/license.txt
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
|
||||
Unicode Reminder メモ
|
||||
|
||||
simple filter template for XHTML search form
|
||||
|
||||
****************************************************************************/
|
||||
?>
|
||||
<script type="text/javascript" src="resource2/ocstyle/js/wz_tooltip.js"></script>
|
||||
<script type="text/javascript">
|
||||
<!--
|
||||
var mnAttributesShowCat2 = 1;
|
||||
var maAttributes = new Array({attributes_jsarray});
|
||||
var cachesizes = {cachesizes};
|
||||
|
||||
function _sbn_click()
|
||||
{
|
||||
if (document.searchbyname.cachename.value == "")
|
||||
{
|
||||
alert("{t}Enter a name, please!{/t}");
|
||||
resetbutton('submit_cachename');
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function _sbft_click()
|
||||
{
|
||||
if (document.searchbyfulltext.fulltext.value == "")
|
||||
{
|
||||
alert("{t}Fill out the text field, please!{/t}");
|
||||
resetbutton('submit_ft');
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((document.searchbyfulltext.ft_name.checked == false) &&
|
||||
(document.searchbyfulltext.ft_desc.checked == false) &&
|
||||
(document.searchbyfulltext.ft_logs.checked == false) &&
|
||||
(document.searchbyfulltext.ft_pictures.checked == false))
|
||||
{
|
||||
alert("{t}You have to check at least one field!{/t}");
|
||||
resetbutton('submit_ft');
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function _sbd_click()
|
||||
{
|
||||
if (isNaN(document.searchbydistance.lon_h.value) || isNaN(document.searchbydistance.lon_min.value))
|
||||
{
|
||||
alert("{t}Longitude has to be a number!\nFormat: hh° mm.mmm{/t}");
|
||||
resetbutton('submit_dist');
|
||||
return false;
|
||||
}
|
||||
else if (isNaN(document.searchbydistance.lat_h.value) || isNaN(document.searchbydistance.lat_min.value))
|
||||
{
|
||||
alert("{t}Latitude has to be a number!\nFormat: hh° mm.mmm{/t}");
|
||||
resetbutton('submit_dist');
|
||||
return false;
|
||||
}
|
||||
else if (isNaN(document.searchbydistance.distance.value))
|
||||
{
|
||||
alert("{t}The maximum distance has to be a number!{/t}");
|
||||
resetbutton('submit_dist');
|
||||
return false;
|
||||
}
|
||||
else if (document.searchbydistance.distance.value <= 0 || document.searchbydistance.distance.value > 9999)
|
||||
{
|
||||
alert("{t}The distance has to be between 0 and 9999{/t}");
|
||||
resetbutton('submit_dist');
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function _sbplz_click()
|
||||
{
|
||||
if (document.searchbyplz.plz.value == "")
|
||||
{
|
||||
alert("{t}Enter the postal code, please!{/t}");
|
||||
resetbutton('submit_plz');
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function _sbort_click()
|
||||
{
|
||||
if (document.searchbyort.ort.value == "")
|
||||
{
|
||||
alert("{t}Enter the city, please!{/t}");
|
||||
resetbutton('submit_city');
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function _sbo_click()
|
||||
{
|
||||
if (document.searchbyowner.owner.value == "")
|
||||
{
|
||||
alert("{t}Enter the owner, please!{/t}");
|
||||
resetbutton('submit_owner');
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function _sbf_click()
|
||||
{
|
||||
if (document.searchbyfinder.finder.value == "")
|
||||
{
|
||||
alert("{t}Enter the username, please!{/t}");
|
||||
resetbutton('submit_finder');
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function sync_options(element)
|
||||
{
|
||||
var formnames = new Array();
|
||||
formnames[0] = "searchbyname";
|
||||
formnames[1] = "searchbydistance";
|
||||
formnames[2] = "searchbyowner";
|
||||
formnames[3] = "searchbyfinder";
|
||||
formnames[4] = "searchbyplz";
|
||||
formnames[5] = "searchbyort";
|
||||
formnames[6] = "searchbyfulltext";
|
||||
|
||||
var sortby = "";
|
||||
if (document.optionsform.sort[0].checked == true)
|
||||
sortby = "byname";
|
||||
else if (document.optionsform.sort[1].checked == true)
|
||||
sortby = "bydistance";
|
||||
else if (document.optionsform.sort[2].checked == true)
|
||||
sortby = "bycreated";
|
||||
else if (document.optionsform.sort[3].checked == true)
|
||||
sortby = "bylastlog";
|
||||
else if (document.optionsform.sort[4].checked == true)
|
||||
sortby = "bymylastlog";
|
||||
|
||||
var tmpattrib = "";
|
||||
for (i = 0; i < maAttributes.length; i++)
|
||||
if (maAttributes[i][1] == 1)
|
||||
tmpattrib = '' + tmpattrib + maAttributes[i][0] + ';';
|
||||
if(tmpattrib.length > 0)
|
||||
tmpattrib = tmpattrib.substr(0, tmpattrib.length-1);
|
||||
|
||||
var tmpattrib_not = "";
|
||||
for (i = 0; i < maAttributes.length; i++)
|
||||
if (maAttributes[i][1] == 2)
|
||||
tmpattrib_not = '' + tmpattrib_not + maAttributes[i][0] + ';';
|
||||
if(tmpattrib_not.length > 0)
|
||||
tmpattrib_not = tmpattrib_not.substr(0, tmpattrib_not.length-1);
|
||||
|
||||
var tmpcachetype = "";
|
||||
for (i = 1; i <= 10; i++)
|
||||
{
|
||||
if (document.getElementById('cachetype' + i).checked == true)
|
||||
{
|
||||
if (tmpcachetype != "") tmpcachetype = tmpcachetype + ";";
|
||||
tmpcachetype = tmpcachetype + i;
|
||||
}
|
||||
}
|
||||
if (tmpcachetype == "") tmpcachetype = "none";
|
||||
|
||||
var tmpcachesize = "";
|
||||
for (i = 1; i <= cachesizes; i++)
|
||||
{
|
||||
if (document.getElementById('cachesize' + i).checked == true)
|
||||
{
|
||||
if (tmpcachesize != "") tmpcachesize = tmpcachesize + ";";
|
||||
tmpcachesize = tmpcachesize + i;
|
||||
}
|
||||
}
|
||||
if (tmpcachesize == "") tmpcachesize = "none";
|
||||
|
||||
for (var i in formnames)
|
||||
{
|
||||
document.forms[formnames[i]].sort.value = sortby;
|
||||
document.forms[formnames[i]].orderRatingFirst.value = document.optionsform.orderRatingFirst.checked ? 1 : 0;
|
||||
document.forms[formnames[i]].f_userowner.value = document.optionsform.f_userowner.checked ? 1 : 0;
|
||||
document.forms[formnames[i]].f_userfound.value = document.optionsform.f_userfound.checked ? 1 : 0;
|
||||
document.forms[formnames[i]].f_inactive.value = document.optionsform.f_inactive.checked ? 1 : 0;
|
||||
document.forms[formnames[i]].f_disabled.value = document.optionsform.f_disabled.checked ? 1 : 0;
|
||||
document.forms[formnames[i]].f_ignored.value = document.optionsform.f_ignored.checked ? 1 : 0;
|
||||
document.forms[formnames[i]].f_otherPlatforms.value = document.optionsform.f_otherPlatforms.checked ? 1 : 0;
|
||||
document.forms[formnames[i]].country.value = document.optionsform.country.value;
|
||||
document.forms[formnames[i]].difficultymin.value = document.optionsform.difficultymin.value;
|
||||
document.forms[formnames[i]].difficultymax.value = document.optionsform.difficultymax.value;
|
||||
document.forms[formnames[i]].terrainmin.value = document.optionsform.terrainmin.value;
|
||||
document.forms[formnames[i]].terrainmax.value = document.optionsform.terrainmax.value;
|
||||
document.forms[formnames[i]].cachetype.value = tmpcachetype;
|
||||
document.forms[formnames[i]].cachesize.value = tmpcachesize;
|
||||
document.forms[formnames[i]].cache_attribs.value = tmpattrib;
|
||||
document.forms[formnames[i]].cache_attribs_not.value = tmpattrib_not;
|
||||
}
|
||||
}
|
||||
|
||||
function switchAttribute(id)
|
||||
{
|
||||
var attrImg1 = document.getElementById("attrimg1_" + id);
|
||||
var attrImg2 = document.getElementById("attrimg2_" + id);
|
||||
var nArrayIndex = 0;
|
||||
|
||||
for (nArrayIndex = 0; nArrayIndex < maAttributes.length; nArrayIndex++)
|
||||
{
|
||||
if (maAttributes[nArrayIndex][0] == id)
|
||||
break;
|
||||
}
|
||||
|
||||
if (maAttributes[nArrayIndex][1] == 0)
|
||||
{
|
||||
if (attrImg1) attrImg1.src = maAttributes[nArrayIndex][3];
|
||||
if (attrImg2) attrImg2.src = maAttributes[nArrayIndex][3];
|
||||
maAttributes[nArrayIndex][1] = 1;
|
||||
}
|
||||
else if (maAttributes[nArrayIndex][1] == 1)
|
||||
{
|
||||
if (attrImg1) attrImg1.src = maAttributes[nArrayIndex][4];
|
||||
if (attrImg2) attrImg2.src = maAttributes[nArrayIndex][4];
|
||||
maAttributes[nArrayIndex][1] = 2;
|
||||
}
|
||||
else if (maAttributes[nArrayIndex][1] == 2)
|
||||
{
|
||||
if (attrImg1) attrImg1.src = maAttributes[nArrayIndex][5];
|
||||
if (attrImg2) attrImg2.src = maAttributes[nArrayIndex][5];
|
||||
maAttributes[nArrayIndex][1] = 0;
|
||||
}
|
||||
|
||||
sync_options(null);
|
||||
}
|
||||
|
||||
function hideAttributesCat2()
|
||||
{
|
||||
mnAttributesShowCat2 = 0;
|
||||
document.getElementById('attributesCat1').style.display = "block";
|
||||
document.getElementById('attributesCat2').style.display = "none";
|
||||
document.getElementById('toggleAttributesCaption').firstChild.nodeValue = "{t}Show all{/t}";
|
||||
}
|
||||
|
||||
function showAttributesCat2()
|
||||
{
|
||||
mnAttributesShowCat2 = 1;
|
||||
document.getElementById('attributesCat1').style.display = "none";
|
||||
document.getElementById('attributesCat2').style.display = "block";
|
||||
document.getElementById('toggleAttributesCaption').firstChild.nodeValue = "{t}Less{/t}";
|
||||
}
|
||||
|
||||
function switchAttributeCat2()
|
||||
{
|
||||
if (mnAttributesShowCat2 != 0)
|
||||
hideAttributesCat2();
|
||||
else
|
||||
showAttributesCat2();
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
|
||||
<div class="content2-pagetitle"><img src="resource2/ocstyle/images/misc/32x32-search.png" style="align: left; margin-right: 10px;" width="32" height="32" alt="{t}Search for caches{/t}" />{t}Search for caches{/t} <small style="font-weight:normal">({t}old{/t})</small></div>
|
||||
|
||||
<form name="optionsform" style="display:inline;">
|
||||
|
||||
<div class="searchdiv">
|
||||
<table class="table">
|
||||
|
||||
<tr>
|
||||
<td style="vertical-align:top">{t}Sorting of result:{/t}</td>
|
||||
<td colspan="2">
|
||||
<div style="padding:0 0 5px 0">
|
||||
<input type="radio" name="sort" value="byname" index="0" id="l_sortbyname" class="radio" onclick="sync_options(this)" {byname_checked} > <label for="l_sortbyname">{t}Cachename{/t}</label>
|
||||
<input type="radio" name="sort" value="bydistance" index="1" id="l_sortbydistance" class="radio" onclick="sync_options(this)" {bydistance_checked} {bydistance_enabled} {disable_nologin}> <label for="l_sortbydistance" {grey_nologin}>{t}Distance from <a href="myprofile.php">user-profile home coordinates</a>{/t}</label></div>
|
||||
<input type="radio" name="sort" value="bycreated" index="2" id="l_sortbycreated" class="radio" onclick="sync_options(this)" {bycreated_checked}> <label for="l_sortbycreated">{t}Listed since{/t}</label>
|
||||
<input type="radio" name="sort" value="bylastlog" index="3" id="l_sortbylastlog" class="radio" onclick="sync_options(this)" {bylastlog_checked}> <label for="l_sortbylastlog" >{t}Last log{/t}</label>
|
||||
<input type="radio" name="sort" value="bymylastlog" index="4" id="l_sortbymylastlog" class="radio" onclick="sync_options(this)" {bymylastlog_checked} {disable_nologin}> <label for="l_sortbymylastlog" {grey_nologin}>{t}My last log{/t}</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td>
|
||||
<input id="orderRatingFirst" type="checkbox" name="orderRatingFirst" class="checkbox" value="1" onclick="sync_options(this)" {orderRatingFirst_checked} />
|
||||
<label for="orderRatingFirst">{t}Show recommendation from other users first{/t}</label>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="searchdiv">
|
||||
<table class="table">
|
||||
<tr>
|
||||
<td>{t}Hide following caches:{/t}</td>
|
||||
<td colspan="2">
|
||||
<input type="checkbox" name="f_userowner" value="1" id="l_userowner" class="checkbox" onclick="sync_options(this)" {f_userowner_disabled} /> <label for="l_userowner" {grey_nologin}>{t}My owned{/t}</label>
|
||||
<input type="checkbox" name="f_userfound" value="1" id="l_userfound" class="checkbox" onclick="sync_options(this)" {f_userfound_disabled} /> <label for="l_userfound" {grey_nologin}>{t}My finds{/t}</label>
|
||||
<input type="checkbox" name="f_ignored" value="1" id="l_ignored" class="checkbox" onclick="sync_options(this)" {f_ignored_disabled} > <label for="l_ignored" {grey_nologin}>{t}My ignored{/t}</label>
|
||||
<img src="lang/de/ocstyle/images/misc/hint.gif" border="0" width="15" height="11" alt="{t}Notice{/t}" title="{t}Notice{/t}" align="middle">{t}Only usable if signed in.{/t}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td colspan="2">
|
||||
<input type="checkbox" name="f_disabled" value="1" id="l_disabled" class="checkbox" onclick="sync_options(this)" {f_disabled_checked} > <label for="l_disabled">{t}disabled[pl]{/t}</label>
|
||||
<input type="checkbox" name="f_inactive" value="1" id="l_inactive" class="checkbox" onclick="sync_options(this)" {f_inactive_checked} > <label for="l_inactive">{t}archived[pl]{/t}</label>
|
||||
<input type="checkbox" name="f_otherPlatforms" value="1" id="l_otherPlatforms" class="checkbox" onclick="sync_options(this)" {f_otherPlatforms_checked} > <label for="l_otherPlatforms">{t}GC listings (also listed at gc.com){/t}</label>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="searchdiv">
|
||||
<table class="table">
|
||||
<tr>
|
||||
<td>{t}Cachetype:{/t}</td>
|
||||
<td><input type="checkbox" id="cachetype2" name="cachetype2" value="2" onclick="sync_options(this)" class="checkbox" {cachetype2checked} /> <label for="cachetype2">{t}Traditional Cache{/t}</label></td>
|
||||
<td><input type="checkbox" id="cachetype3" name="cachetype3" value="3" onclick="sync_options(this)" class="checkbox" {cachetype3checked} /> <label for="cachetype3">{t}Multicache{/t}</label></td>
|
||||
<td><input type="checkbox" id="cachetype5" name="cachetype5" value="5" onclick="sync_options(this)" class="checkbox" {cachetype5checked} /> <label for="cachetype5">{t}Webcam Cache{/t}</label></td>
|
||||
<td><input type="checkbox" id="cachetype6" name="cachetype6" value="6" onclick="sync_options(this)" class="checkbox" {cachetype6checked} /> <label for="cachetype6">{t}Event Cache{/t}</label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td><input type="checkbox" id="cachetype7" name="cachetype7" value="7" onclick="sync_options(this)" class="checkbox" {cachetype7checked} /> <label for="cachetype7">{t}Quizcache{/t}</label></td>
|
||||
<td><input type="checkbox" id="cachetype8" name="cachetype8" value="8" onclick="sync_options(this)" class="checkbox" {cachetype8checked} /> <label for="cachetype8">{t}Math/Physics-Cache{/t}</label></td>
|
||||
<td><input type="checkbox" id="cachetype9" name="cachetype9" value="9" onclick="sync_options(this)" class="checkbox" {cachetype9checked} /> <label for="cachetype9">{t}Moving Cache{/t}</label></td>
|
||||
<td><input type="checkbox" id="cachetype10" name="cachetype10" value="10" onclick="sync_options(this)" class="checkbox" {cachetype10checked} /> <label for="cachetype10">{t}Drive-In{/t}</label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td><input type="checkbox" id="cachetype4" name="cachetype4" value="4" onclick="sync_options(this)" class="checkbox" {cachetype4checked} /> <label for="cachetype4">{t}virtual Cache{/t}</label></td>
|
||||
<td><input type="checkbox" id="cachetype1" name="cachetype1" value="1" onclick="sync_options(this)" class="checkbox" {cachetype1checked} /> <label for="cachetype1">{t}unknown cachetyp{/t}</label></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="searchdiv">
|
||||
<table class="table">
|
||||
<tr>
|
||||
<td>{t}Cachesize:{/t}</td>
|
||||
<td><input type="checkbox" id="cachesize8" name="cachesize8" value="8" onclick="sync_options(this)" class="checkbox" {cachesize8checked} /> <label for="cachesize8">{t}nano{/t}</label> </td>
|
||||
<td><input type="checkbox" id="cachesize2" name="cachesize2" value="2" onclick="sync_options(this)" class="checkbox" {cachesize2checked} /> <label for="cachesize2">{t}micro{/t}</label></td>
|
||||
<td><input type="checkbox" id="cachesize3" name="cachesize3" value="3" onclick="sync_options(this)" class="checkbox" {cachesize3checked} /> <label for="cachesize3">{t}small{/t}</label></td>
|
||||
<td><input type="checkbox" id="cachesize4" name="cachesize4" value="4" onclick="sync_options(this)" class="checkbox" {cachesize4checked} /> <label for="cachesize4">{t}normal{/t}</label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td><input type="checkbox" id="cachesize5" name="cachesize5" value="5" onclick="sync_options(this)" class="checkbox" {cachesize5checked} /> <label for="cachesize5">{t}large{/t}</label></td>
|
||||
<td><input type="checkbox" id="cachesize6" name="cachesize6" value="6" onclick="sync_options(this)" class="checkbox" {cachesize6checked} /> <label for="cachesize6">{t}very large{/t}</label></td>
|
||||
<td><input type="checkbox" id="cachesize7" name="cachesize7" value="7" onclick="sync_options(this)" class="checkbox" {cachesize7checked} /> <label for="cachesize7">{t}no container{/t}</label></td>
|
||||
<td><input type="checkbox" id="cachesize1" name="cachesize1" value="1" onclick="sync_options(this)" class="checkbox" {cachesize1checked} /> <label for="cachesize1">{t}other size{/t}</label></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="searchdiv">
|
||||
<table class="table">
|
||||
<tr>
|
||||
<td>{t}Difficulty:{/t}</td>
|
||||
<td>
|
||||
<select name="difficultymin" class="input80" onchange="sync_options(this)">
|
||||
{difficultymin_options}
|
||||
</select>
|
||||
{t}to{/t}
|
||||
<select name="difficultymax" class="input80" onchange="sync_options(this)">
|
||||
{difficultymax_options}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{t}Terrain:{/t}</td>
|
||||
<td>
|
||||
<select name="terrainmin" class="input80" onchange="sync_options(this)">
|
||||
{terrainmin_options}
|
||||
</select>
|
||||
{t}to{/t}
|
||||
<select name="terrainmax" class="input80" onchange="sync_options(this)">
|
||||
{terrainmax_options}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="searchdiv">
|
||||
<table class="table">
|
||||
<tr>
|
||||
<td>{t}Country:{/t} </td>
|
||||
<td>
|
||||
<select name="country" class="input200" onchange="sync_options(this)">
|
||||
{countryoptions}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="searchdiv">
|
||||
<table class="table">
|
||||
<tr>
|
||||
<td valign="top">
|
||||
{t}Cache attributes:{/t}<br />
|
||||
(<a href="javascript:switchAttributeCat2()"><span id="toggleAttributesCaption">{t}Show all{/t}</span></a>)
|
||||
</td>
|
||||
<td>
|
||||
<div id="attributesCat1" style="display:none;">{cache_attribCat1_list}</div>
|
||||
<div id="attributesCat2" style="display:block;">{cache_attribCat2_list}</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<div id="scriptwarning" style="margin:0 5px 0 5px;">
|
||||
<p><span class="errormsg">{t}JavaScript is not activated, you cannot use the above options (sorting to attributes) - basic search is supported nevertheless.{/t}</span></p>
|
||||
</div>
|
||||
|
||||
<script language="javascript">
|
||||
<!--
|
||||
document.getElementById("scriptwarning").style.display = "none";
|
||||
|
||||
// hide advanced attributes if none is selected
|
||||
var i = 0;
|
||||
var bHide = true;
|
||||
for (i = 0; i < maAttributes.length; i++)
|
||||
{
|
||||
if (maAttributes[i][1] != 0 && maAttributes[i][6] != 1)
|
||||
{
|
||||
bHide = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (bHide == true)
|
||||
hideAttributesCat2();
|
||||
-->
|
||||
</script>
|
||||
|
||||
<form action="search1.php" onsubmit="return(_sbn_click());" method="{formmethod}" enctype="application/x-www-form-urlencoded" name="searchbyname" dir="ltr" style="display:inline;">
|
||||
<input type="hidden" name="searchto" value="searchbyname" />
|
||||
<input type="hidden" name="showresult" value="1" />
|
||||
<input type="hidden" name="expert" value="0" />
|
||||
<input type="hidden" name="output" value="HTML" />
|
||||
<input type="hidden" name="utf8" value="1" />
|
||||
|
||||
<input type="hidden" name="sort" value="{hidopt_sort}" />
|
||||
<input type="hidden" name="orderRatingFirst" value="{hidopt_orderRatingFirst}" />
|
||||
<input type="hidden" name="f_userowner" value="{hidopt_userowner}" />
|
||||
<input type="hidden" name="f_userfound" value="{hidopt_userfound}" />
|
||||
<input type="hidden" name="f_inactive" value="{hidopt_inactive}" />
|
||||
<input type="hidden" name="f_disabled" value="{hidopt_disabled}" />
|
||||
<input type="hidden" name="f_ignored" value="{hidopt_ignored}" />
|
||||
<input type="hidden" name="f_otherPlatforms" value="{hidopt_otherPlatforms}" />
|
||||
<input type="hidden" name="country" value="{country}" />
|
||||
<input type="hidden" name="cachetype" value="{cachetype}" />
|
||||
<input type="hidden" name="cachesize" value="{cachesize}" />
|
||||
<input type="hidden" name="difficultymin" value="{difficultymin}" />
|
||||
<input type="hidden" name="difficultymax" value="{difficultymax}" />
|
||||
<input type="hidden" name="terrainmin" value="{terrainmin}" />
|
||||
<input type="hidden" name="terrainmax" value="{terrainmax}" />
|
||||
<input type="hidden" name="cache_attribs" value="{hidopt_attribs}" />
|
||||
<input type="hidden" name="cache_attribs_not" value="{hidopt_attribs_not}" />
|
||||
|
||||
<div class="buffer" style="width: 500px;"> </div>
|
||||
<div class="content2-container bg-blue02">
|
||||
<p class="content-title-noshade-size2">
|
||||
<img src="resource2/ocstyle/images/misc/32x32-search.png" style="align: left; margin-right: 10px;" width="22" height="22" alt="" />
|
||||
{t}Search by cachename{/t}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<table class="table">
|
||||
<colgroup>
|
||||
<col width="200">
|
||||
<col width="220">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tr><td class="spacer" colspan="3"></td></tr>
|
||||
<tr>
|
||||
<td>{t}Name:{/t}</td>
|
||||
<td><input type="text" name="cachename" value="{cachename}" class="input200" /></td>
|
||||
<td><input type="submit" name="submit_cachename" value="{t}Search{/t}" class="formbutton" onclick="submitbutton('submit_cachename')" /></td>
|
||||
</tr>
|
||||
<tr><td class="spacer" colspan="3"></td></tr>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<form action="search1.php" onsubmit="return(_sbd_click());" method="{formmethod}" enctype="application/x-www-form-urlencoded" name="searchbydistance" dir="ltr" style="display:inline;">
|
||||
<input type="hidden" name="searchto" value="searchbydistance" />
|
||||
<input type="hidden" name="showresult" value="1" />
|
||||
<input type="hidden" name="expert" value="0" />
|
||||
<input type="hidden" name="output" value="HTML" />
|
||||
<input type="hidden" name="utf8" value="1" />
|
||||
|
||||
<input type="hidden" name="sort" value="{hidopt_sort}" />
|
||||
<input type="hidden" name="orderRatingFirst" value="{hidopt_orderRatingFirst}" />
|
||||
<input type="hidden" name="f_userowner" value="{hidopt_userowner}" />
|
||||
<input type="hidden" name="f_userfound" value="{hidopt_userfound}" />
|
||||
<input type="hidden" name="f_inactive" value="{hidopt_inactive}" />
|
||||
<input type="hidden" name="f_disabled" value="{hidopt_disabled}" />
|
||||
<input type="hidden" name="f_ignored" value="{hidopt_ignored}" />
|
||||
<input type="hidden" name="f_otherPlatforms" value="{hidopt_otherPlatforms}" />
|
||||
<input type="hidden" name="country" value="{country}" />
|
||||
<input type="hidden" name="cachetype" value="{cachetype}" />
|
||||
<input type="hidden" name="cachesize" value="{cachesize}" />
|
||||
<input type="hidden" name="difficultymin" value="{difficultymin}" />
|
||||
<input type="hidden" name="difficultymax" value="{difficultymax}" />
|
||||
<input type="hidden" name="terrainmin" value="{terrainmin}" />
|
||||
<input type="hidden" name="terrainmax" value="{terrainmax}" />
|
||||
<input type="hidden" name="cache_attribs" value="{hidopt_attribs}" />
|
||||
<input type="hidden" name="cache_attribs_not" value="{hidopt_attribs_not}" />
|
||||
|
||||
<div class="buffer" style="width: 500px;"> </div>
|
||||
<div class="content2-container bg-blue02">
|
||||
<p class="content-title-noshade-size2">
|
||||
<img src="resource2/ocstyle/images/misc/32x32-search.png" style="align: left; margin-right: 10px;" width="22" height="22" alt="" />
|
||||
{t}Search by distance{/t}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<table class="table">
|
||||
<colgroup>
|
||||
<col width="200">
|
||||
<col width="220">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tr><td class="spacer" colspan="3"></td></tr>
|
||||
<tr>
|
||||
<td valign="top">{t}Of coordinates:{/t}</td>
|
||||
<td colspan="2" valign="top">
|
||||
<select name="latNS" class="input40">
|
||||
<option value="N" {latN_sel}>{t}N{/t}</option>
|
||||
<option value="S" {latS_sel}>{t}S{/t}</option>
|
||||
</select>
|
||||
<input type="text" name="lat_h" maxlength="2" value="{lat_h}" class="input30" /> °
|
||||
<input type="text" name="lat_min" maxlength="6" value="{lat_min}" class="input40" /> '
|
||||
<br>
|
||||
<select name="lonEW" class="input40">
|
||||
<option value="E" {lonE_sel}>{t}E{/t}</option>
|
||||
<option value="W" {lonW_sel}>{t}W{/t}</option>
|
||||
</select>
|
||||
<input type="text" name="lon_h" maxlength="3" value="{lon_h}" class="input30" /> °
|
||||
<input type="text" name="lon_min" maxlength="6" value="{lon_min}" class="input40" /> '
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{t}Maximum distance:{/t}</td>
|
||||
<td>
|
||||
<input type="text" name="distance" value="{distance}" maxlength="4" class="input50" />
|
||||
<select name="unit" class="input100">
|
||||
<option value="km" {sel_km}>{t}Kilometer{/t}</option>
|
||||
<option value="sm" {sel_sm}>{t}Miles{/t}</option>
|
||||
<option value="nm" {sel_nm}>{t}Seamiles{/t}</option>
|
||||
</select>
|
||||
</td>
|
||||
<td><input type="submit" name="submit_dist" value="{t}Search{/t}" class="formbutton" onclick="submitbutton('submit_dist')" /></td>
|
||||
</tr>
|
||||
<tr><td class="spacer" colspan="3"></td></tr>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<div class="buffer" style="width: 500px;"> </div>
|
||||
<div class="content2-container bg-blue02">
|
||||
<p class="content-title-noshade-size2">
|
||||
<img src="resource2/ocstyle/images/misc/32x32-search.png" style="align: left; margin-right: 10px;" width="22" height="22" alt="" />
|
||||
{t}Search for city{/t}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<table class="table">
|
||||
<colgroup>
|
||||
<col width="200">
|
||||
<col width="220">
|
||||
<col>
|
||||
</colgroup>
|
||||
|
||||
<tr><td class="spacer" colspan="3"></td></tr>
|
||||
{ortserror}
|
||||
</table>
|
||||
|
||||
<form action="search1.php" onsubmit="return(_sbplz_click());" method="{formmethod}" enctype="application/x-www-form-urlencoded" name="searchbyplz" dir="ltr" style="display:inline;">
|
||||
<input type="hidden" name="searchto" value="searchbyplz" />
|
||||
<input type="hidden" name="showresult" value="1" />
|
||||
<input type="hidden" name="expert" value="0" />
|
||||
<input type="hidden" name="output" value="HTML" />
|
||||
<input type="hidden" name="utf8" value="1" />
|
||||
|
||||
<input type="hidden" name="sort" value="{hidopt_sort}" />
|
||||
<input type="hidden" name="orderRatingFirst" value="{hidopt_orderRatingFirst}" />
|
||||
<input type="hidden" name="f_userowner" value="{hidopt_userowner}" />
|
||||
<input type="hidden" name="f_userfound" value="{hidopt_userfound}" />
|
||||
<input type="hidden" name="f_inactive" value="{hidopt_inactive}" />
|
||||
<input type="hidden" name="f_disabled" value="{hidopt_disabled}" />
|
||||
<input type="hidden" name="f_ignored" value="{hidopt_ignored}" />
|
||||
<input type="hidden" name="f_otherPlatforms" value="{hidopt_otherPlatforms}" />
|
||||
<input type="hidden" name="country" value="{country}" />
|
||||
<input type="hidden" name="cachetype" value="{cachetype}" />
|
||||
<input type="hidden" name="cachesize" value="{cachesize}" />
|
||||
<input type="hidden" name="difficultymin" value="{difficultymin}" />
|
||||
<input type="hidden" name="difficultymax" value="{difficultymax}" />
|
||||
<input type="hidden" name="terrainmin" value="{terrainmin}" />
|
||||
<input type="hidden" name="terrainmax" value="{terrainmax}" />
|
||||
<input type="hidden" name="cache_attribs" value="{hidopt_attribs}" />
|
||||
<input type="hidden" name="cache_attribs_not" value="{hidopt_attribs_not}" />
|
||||
|
||||
<table class="table">
|
||||
<colgroup>
|
||||
<col width="200">
|
||||
<col width="220">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tr>
|
||||
<td>{t}Postal code:{/t}</td>
|
||||
<td><input type="text" name="plz" value="{plz}" maxlength="5" class="input50" /></td>
|
||||
<td><input type="submit" name="submit_plz" value="{t}Search{/t}" class="formbutton" onclick="submitbutton('submit_plz')" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<form action="search1.php" onsubmit="return(_sbort_click());" method="{formmethod}" enctype="application/x-www-form-urlencoded" name="searchbyort" dir="ltr" style="display:inline;">
|
||||
<input type="hidden" name="searchto" value="searchbyort" />
|
||||
<input type="hidden" name="showresult" value="1" />
|
||||
<input type="hidden" name="expert" value="0" />
|
||||
<input type="hidden" name="output" value="HTML" />
|
||||
<input type="hidden" name="utf8" value="1" />
|
||||
|
||||
<input type="hidden" name="sort" value="{hidopt_sort}" />
|
||||
<input type="hidden" name="orderRatingFirst" value="{hidopt_orderRatingFirst}" />
|
||||
<input type="hidden" name="f_userowner" value="{hidopt_userowner}" />
|
||||
<input type="hidden" name="f_userfound" value="{hidopt_userfound}" />
|
||||
<input type="hidden" name="f_inactive" value="{hidopt_inactive}" />
|
||||
<input type="hidden" name="f_disabled" value="{hidopt_disabled}" />
|
||||
<input type="hidden" name="f_ignored" value="{hidopt_ignored}" />
|
||||
<input type="hidden" name="f_otherPlatforms" value="{hidopt_otherPlatforms}" />
|
||||
<input type="hidden" name="country" value="{country}" />
|
||||
<input type="hidden" name="difficultymin" value="{difficultymin}" />
|
||||
<input type="hidden" name="difficultymax" value="{difficultymax}" />
|
||||
<input type="hidden" name="terrainmin" value="{terrainmin}" />
|
||||
<input type="hidden" name="terrainmax" value="{terrainmax}" />
|
||||
<input type="hidden" name="cachetype" value="{cachetype}" />
|
||||
<input type="hidden" name="cachesize" value="{cachesize}" />
|
||||
<input type="hidden" name="cache_attribs" value="{hidopt_attribs}" />
|
||||
<input type="hidden" name="cache_attribs_not" value="{hidopt_attribs_not}" />
|
||||
|
||||
<table class="table">
|
||||
<colgroup>
|
||||
<col width="200">
|
||||
<col width="220">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tr>
|
||||
<td>{t}City:{/t}</td>
|
||||
<td><input type="text" name="ort" value="{ort}" class="input200" /></td>
|
||||
<td><input type="submit" name="submit_city" value="{t}Search{/t}" class="formbutton" onclick="submitbutton('submit_city')" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<table class="table">
|
||||
<colgroup>
|
||||
<col width="200">
|
||||
<col width="220">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tr><td class="spacer" colspan="3"></td></tr>
|
||||
</table>
|
||||
|
||||
<form action="search1.php" onsubmit="return(_sbft_click());" method="{formmethod}" enctype="application/x-www-form-urlencoded" name="searchbyfulltext" dir="ltr" style="display:inline;">
|
||||
<input type="hidden" name="searchto" value="searchbyfulltext" />
|
||||
<input type="hidden" name="showresult" value="1" />
|
||||
<input type="hidden" name="expert" value="0" />
|
||||
<input type="hidden" name="output" value="HTML" />
|
||||
<input type="hidden" name="utf8" value="1" />
|
||||
|
||||
<input type="hidden" name="sort" value="{hidopt_sort}" />
|
||||
<input type="hidden" name="orderRatingFirst" value="{hidopt_orderRatingFirst}" />
|
||||
<input type="hidden" name="f_userowner" value="{hidopt_userowner}" />
|
||||
<input type="hidden" name="f_userfound" value="{hidopt_userfound}" />
|
||||
<input type="hidden" name="f_inactive" value="{hidopt_inactive}" />
|
||||
<input type="hidden" name="f_disabled" value="{hidopt_disabled}" />
|
||||
<input type="hidden" name="f_ignored" value="{hidopt_ignored}" />
|
||||
<input type="hidden" name="f_otherPlatforms" value="{hidopt_otherPlatforms}" />
|
||||
<input type="hidden" name="country" value="{country}" />
|
||||
<input type="hidden" name="difficultymin" value="{difficultymin}" />
|
||||
<input type="hidden" name="difficultymax" value="{difficultymax}" />
|
||||
<input type="hidden" name="terrainmin" value="{terrainmin}" />
|
||||
<input type="hidden" name="terrainmax" value="{terrainmax}" />
|
||||
<input type="hidden" name="cachetype" value="{cachetype}" />
|
||||
<input type="hidden" name="cachesize" value="{cachesize}" />
|
||||
<input type="hidden" name="cache_attribs" value="{hidopt_attribs}" />
|
||||
<input type="hidden" name="cache_attribs_not" value="{hidopt_attribs_not}" />
|
||||
|
||||
<div class="buffer" style="width: 500px;"> </div>
|
||||
<div class="content2-container bg-blue02">
|
||||
<p class="content-title-noshade-size2">
|
||||
<img src="resource2/ocstyle/images/misc/32x32-search.png" style="align: left; margin-right: 10px;" width="22" height="22" alt="" />
|
||||
{t}Search for text{/t}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<table class="table">
|
||||
<colgroup>
|
||||
<col width="200">
|
||||
<col width="220">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tr><td class="spacer" colspan="3"></td></tr>
|
||||
{fulltexterror}
|
||||
<tr>
|
||||
<td>Text:</td>
|
||||
<td><input type="text" name="fulltext" value="{fulltext}" class="input200" /></td>
|
||||
<td><input type="submit" name="submit_ft" value="{t}Search{/t}" class="formbutton" onclick="submitbutton('submit_ft')" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td colspan="2">
|
||||
<table class="table" width="250px">
|
||||
<tr>
|
||||
<td><input type="checkbox" name="ft_name" id="ft_name" class="checkbox" value="1" {ft_name_checked} /> <label for="ft_name">{t}Name{/t}</label></td>
|
||||
<td><input type="checkbox" name="ft_desc" id="ft_desc" class="checkbox" value="1" {ft_desc_checked} /> <label for="ft_desc">{t}Description{/t}</label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><input type="checkbox" name="ft_logs" id="ft_logs" class="checkbox" value="1" {ft_logs_checked} /> <label for="ft_logs">{t}Logs{/t}</label></td>
|
||||
<td><input type="checkbox" name="ft_pictures" id="ft_pictures" class="checkbox" value="1" {ft_pictures_checked} /> <label for="ft_pictures">{t}Pictures{/t}</label></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td class="spacer" colspan="3"></td></tr>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<form action="search1.php" onsubmit="return(_sbo_click());" method="{formmethod}" enctype="application/x-www-form-urlencoded" name="searchbyowner" dir="ltr" style="display:inline;">
|
||||
<input type="hidden" name="searchto" value="searchbyowner" />
|
||||
<input type="hidden" name="showresult" value="1" />
|
||||
<input type="hidden" name="expert" value="0" />
|
||||
<input type="hidden" name="output" value="HTML" />
|
||||
<input type="hidden" name="utf8" value="1" />
|
||||
|
||||
<input type="hidden" name="sort" value="{hidopt_sort}" />
|
||||
<input type="hidden" name="orderRatingFirst" value="{hidopt_orderRatingFirst}" />
|
||||
<input type="hidden" name="f_userowner" value="{hidopt_userowner}" />
|
||||
<input type="hidden" name="f_userfound" value="{hidopt_userfound}" />
|
||||
<input type="hidden" name="f_inactive" value="{hidopt_inactive}" />
|
||||
<input type="hidden" name="f_disabled" value="{hidopt_disabled}" />
|
||||
<input type="hidden" name="f_ignored" value="{hidopt_ignored}" />
|
||||
<input type="hidden" name="f_otherPlatforms" value="{hidopt_otherPlatforms}" />
|
||||
<input type="hidden" name="country" value="{country}" />
|
||||
<input type="hidden" name="difficultymin" value="{difficultymin}" />
|
||||
<input type="hidden" name="difficultymax" value="{difficultymax}" />
|
||||
<input type="hidden" name="terrainmin" value="{terrainmin}" />
|
||||
<input type="hidden" name="terrainmax" value="{terrainmax}" />
|
||||
<input type="hidden" name="cachetype" value="{cachetype}" />
|
||||
<input type="hidden" name="cachesize" value="{cachesize}" />
|
||||
<input type="hidden" name="cache_attribs" value="{hidopt_attribs}" />
|
||||
<input type="hidden" name="cache_attribs_not" value="{hidopt_attribs_not}" />
|
||||
|
||||
<div class="buffer" style="width: 500px;"> </div>
|
||||
<div class="content2-container bg-blue02">
|
||||
<p class="content-title-noshade-size2">
|
||||
<img src="resource2/ocstyle/images/misc/32x32-search.png" style="align: left; margin-right: 10px;" width="22" height="22" alt="" />
|
||||
{t}Search for Owner{/t}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<table class="table">
|
||||
<colgroup>
|
||||
<col width="200">
|
||||
<col width="220">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tr><td class="spacer" colspan="3"></td></tr>
|
||||
<tr>
|
||||
<td>{t}Owner:{/t}</td>
|
||||
<td><input type="text" name="owner" value="{owner}" maxlength="40" class="input200" /></td>
|
||||
<td><input type="submit" name="submit_owner" value="{t}Search{/t}" class="formbutton" onclick="submitbutton('submit_owner')" /></td>
|
||||
</tr>
|
||||
<tr><td class="spacer" colspan="3"></td></tr>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<form action="search1.php" onsubmit="return(_sbf_click());" method="{formmethod}" enctype="application/x-www-form-urlencoded" name="searchbyfinder" dir="ltr" style="display:inline;">
|
||||
<input type="hidden" name="searchto" value="searchbyfinder" />
|
||||
<input type="hidden" name="showresult" value="1" />
|
||||
<input type="hidden" name="expert" value="0" />
|
||||
<input type="hidden" name="output" value="HTML" />
|
||||
<input type="hidden" name="utf8" value="1" />
|
||||
|
||||
<input type="hidden" name="sort" value="{hidopt_sort}" />
|
||||
<input type="hidden" name="orderRatingFirst" value="{hidopt_orderRatingFirst}" />
|
||||
<input type="hidden" name="f_userowner" value="{hidopt_userowner}" />
|
||||
<input type="hidden" name="f_userfound" value="{hidopt_userfound}" />
|
||||
<input type="hidden" name="f_inactive" value="{hidopt_inactive}" />
|
||||
<input type="hidden" name="f_disabled" value="{hidopt_disabled}" />
|
||||
<input type="hidden" name="f_ignored" value="{hidopt_ignored}" />
|
||||
<input type="hidden" name="f_otherPlatforms" value="{hidopt_otherPlatforms}" />
|
||||
<input type="hidden" name="country" value="{country}" />
|
||||
<input type="hidden" name="difficultymin" value="{difficultymin}" />
|
||||
<input type="hidden" name="difficultymax" value="{difficultymax}" />
|
||||
<input type="hidden" name="terrainmin" value="{terrainmin}" />
|
||||
<input type="hidden" name="terrainmax" value="{terrainmax}" />
|
||||
<input type="hidden" name="cachetype" value="{cachetype}" />
|
||||
<input type="hidden" name="cachesize" value="{cachesize}" />
|
||||
<input type="hidden" name="cache_attribs" value="{hidopt_attribs}" />
|
||||
<input type="hidden" name="cache_attribs_not" value="{hidopt_attribs_not}" />
|
||||
|
||||
<div class="buffer" style="width: 500px;"> </div>
|
||||
<div class="content2-container bg-blue02">
|
||||
<p class="content-title-noshade-size2">
|
||||
<img src="resource2/ocstyle/images/misc/32x32-search.png" style="align: left; margin-right: 10px;" width="22" height="22" alt="" />
|
||||
{t}Search for Logs{/t}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<table class="table">
|
||||
<colgroup>
|
||||
<col width="200">
|
||||
<col width="220">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tr><td class="spacer" colspan="3"></td></tr>
|
||||
<tr>
|
||||
<td>{t}Logtype:{/t}</td>
|
||||
<td colspan="2">
|
||||
<select name="logtype">
|
||||
{logtype_options}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{t}Username:{/t}</td>
|
||||
<td><input type="text" name="finder" value="{finder}" maxlength="40" class="input200" /></td>
|
||||
<td><input type="submit" name="submit_finder" value="{t}Search{/t}" class="formbutton" onclick="submitbutton('submit_finder')" /></td>
|
||||
</tr>
|
||||
<tr><td class="spacer" colspan="3"></td></tr>
|
||||
</table>
|
||||
</form>
|
||||
<div class="buffer" style="width: 500px;"> </div>
|
@@ -15,7 +15,7 @@
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
$locline = '<tr><td width="50px"><p>{nr}. </p></td><td><p><b><a href="search.php?{urlparams}">{locationname}</a>{secondlocationname}</b></p></td></tr>
|
||||
$locline = '<tr><td width="50px"><p>{nr}. </p></td><td><p><b><a href="search1.php?{urlparams}">{locationname}</a>{secondlocationname}</b></p></td></tr>
|
||||
<tr><td width="50px"> </td><td><p>{coords}</p></td></tr>
|
||||
<tr><td width="50px"> </td><td style="padding-bottom:3px;"><span style="color:#001BBC">{parentlocations}</span></td></tr>';
|
||||
|
||||
|
21
htdocs/lang/de/ocstyle/search1/selectlocid.tpl.php
Normal file
21
htdocs/lang/de/ocstyle/search1/selectlocid.tpl.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
/****************************************************************************
|
||||
For license information see doc/license.txt
|
||||
|
||||
Unicode Reminder メモ
|
||||
****************************************************************************/
|
||||
?>
|
||||
|
||||
<div class="content2-pagetitle"><img src="resource2/ocstyle/images/cacheicon/traditional.gif" style="align: left; margin-right: 10px;" width="32" height="32" alt="{t}Search result{/t}" />{t}Selection of city{/t} - {t}Total of {resultscount} cities matched{/t}</div>
|
||||
|
||||
|
||||
<p>{t}For the search criterion no clear result was found. Please choose the correct location.{/t}</p>
|
||||
<table border="0" cellspacing="0" cellpadding="0" width="100%">
|
||||
<tr><td colspan="2" style="margin-bottom:1px;">{pages}</td></tr>
|
||||
</table>
|
||||
<table border="0" cellspacing="0" cellpadding="0" width="100%">
|
||||
{locations}
|
||||
</table>
|
||||
<table border="0" cellspacing="0" cellpadding="0" width="100%">
|
||||
<tr><td colspan="2" style="margin-top:1px;">{pages}</td></tr>
|
||||
</table>
|
329
htdocs/lib/search1/ftsearch.inc.php
Normal file
329
htdocs/lib/search1/ftsearch.inc.php
Normal file
@@ -0,0 +1,329 @@
|
||||
<?php
|
||||
/****************************************************************************
|
||||
./lib/ftsearch.inc.php
|
||||
--------------------
|
||||
begin : January 10 2007
|
||||
|
||||
For license information see doc/license.txt
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
|
||||
Unicode Reminder メモ
|
||||
|
||||
functions for the full text search-engine
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
/* begin conversion rules */
|
||||
|
||||
$ftsearch_simplerules[] = array('qu', 'k');
|
||||
$ftsearch_simplerules[] = array('ts', 'z');
|
||||
$ftsearch_simplerules[] = array('tz', 'z');
|
||||
$ftsearch_simplerules[] = array('alp', 'alb');
|
||||
$ftsearch_simplerules[] = array('y', 'i');
|
||||
$ftsearch_simplerules[] = array('ai', 'ei');
|
||||
$ftsearch_simplerules[] = array('ou', 'u');
|
||||
$ftsearch_simplerules[] = array('th', 't');
|
||||
$ftsearch_simplerules[] = array('ph', 'f');
|
||||
$ftsearch_simplerules[] = array('oh', 'o');
|
||||
$ftsearch_simplerules[] = array('ah', 'a');
|
||||
$ftsearch_simplerules[] = array('eh', 'e');
|
||||
$ftsearch_simplerules[] = array('aux', 'o');
|
||||
$ftsearch_simplerules[] = array('eau', 'o');
|
||||
$ftsearch_simplerules[] = array('eux', 'oe');
|
||||
$ftsearch_simplerules[] = array('^ch', 'sch');
|
||||
$ftsearch_simplerules[] = array('ck', 'k');
|
||||
$ftsearch_simplerules[] = array('ie', 'i');
|
||||
$ftsearch_simplerules[] = array('ih', 'i');
|
||||
$ftsearch_simplerules[] = array('ent', 'end');
|
||||
$ftsearch_simplerules[] = array('uh', 'u');
|
||||
$ftsearch_simplerules[] = array('sh', 'sch');
|
||||
$ftsearch_simplerules[] = array('ver', 'wer');
|
||||
$ftsearch_simplerules[] = array('dt', 't');
|
||||
$ftsearch_simplerules[] = array('hard', 'hart');
|
||||
$ftsearch_simplerules[] = array('egg', 'ek');
|
||||
$ftsearch_simplerules[] = array('eg', 'ek');
|
||||
$ftsearch_simplerules[] = array('cr', 'kr');
|
||||
$ftsearch_simplerules[] = array('ca', 'ka');
|
||||
$ftsearch_simplerules[] = array('ce', 'ze');
|
||||
$ftsearch_simplerules[] = array('x', 'ks');
|
||||
$ftsearch_simplerules[] = array('ve', 'we');
|
||||
$ftsearch_simplerules[] = array('va', 'wa');
|
||||
|
||||
/* end conversion rules */
|
||||
|
||||
function ftsearch_hash(&$str)
|
||||
{
|
||||
$astr = ftsearch_split($str, true);
|
||||
foreach ($astr AS $k => $s)
|
||||
{
|
||||
if (strlen($s) > 2)
|
||||
$astr[$k] = sprintf("%u", crc32($s));
|
||||
else
|
||||
unset($astr[$k]);
|
||||
}
|
||||
return $astr;
|
||||
}
|
||||
|
||||
// str = long text
|
||||
function ftsearch_split(&$str, $simple)
|
||||
{
|
||||
global $ftsearch_ignores;
|
||||
|
||||
// interpunktion
|
||||
$str = mb_ereg_replace('\\?', ' ', $str);
|
||||
$str = mb_ereg_replace('\\)', ' ', $str);
|
||||
$str = mb_ereg_replace('\\(', ' ', $str);
|
||||
$str = mb_ereg_replace('\\.', ' ', $str);
|
||||
$str = mb_ereg_replace('´', ' ', $str);
|
||||
$str = mb_ereg_replace('`', ' ', $str);
|
||||
$str = mb_ereg_replace('\'', ' ', $str);
|
||||
$str = mb_ereg_replace('/', ' ', $str);
|
||||
$str = mb_ereg_replace(':', ' ', $str);
|
||||
$str = mb_ereg_replace(',', ' ', $str);
|
||||
$str = mb_ereg_replace("\r\n", ' ', $str);
|
||||
$str = mb_ereg_replace("\n", ' ', $str);
|
||||
$str = mb_ereg_replace("\r", ' ', $str);
|
||||
|
||||
$ostr = '';
|
||||
while ($ostr != $str)
|
||||
{
|
||||
$ostr = $str;
|
||||
$str = mb_ereg_replace(' ', ' ', $str);
|
||||
}
|
||||
|
||||
$astr = mb_split(' ', $str);
|
||||
$str = '';
|
||||
|
||||
ftsearch_load_ignores();
|
||||
for ($i = count($astr) - 1; $i >= 0; $i--)
|
||||
{
|
||||
// ignore?
|
||||
if (array_search(mb_strtolower($astr[$i]), $ftsearch_ignores) !== false)
|
||||
unset($astr[$i]);
|
||||
else
|
||||
{
|
||||
if ($simple)
|
||||
$astr[$i] = ftsearch_text2simple($astr[$i]);
|
||||
|
||||
if ($astr[$i] == '')
|
||||
unset($astr[$i]);
|
||||
}
|
||||
}
|
||||
|
||||
return $astr;
|
||||
}
|
||||
|
||||
function ftsearch_load_ignores()
|
||||
{
|
||||
global $ftsearch_ignores;
|
||||
global $ftsearch_ignores_loaded;
|
||||
|
||||
if ($ftsearch_ignores_loaded != true)
|
||||
{
|
||||
$ftsearch_ignores = array();
|
||||
|
||||
$rs = sql('SELECT `word` FROM `search_ignore`');
|
||||
while ($r = sql_fetch_assoc($rs))
|
||||
$ftsearch_ignores[] = $r['word'];
|
||||
sql_free_result($rs);
|
||||
|
||||
$ftsearch_ignores_loaded = true;
|
||||
}
|
||||
}
|
||||
|
||||
// str = single word
|
||||
function ftsearch_text2simple($str)
|
||||
{
|
||||
global $ftsearch_simplerules;
|
||||
|
||||
$str = ftsearch_text2sort($str);
|
||||
|
||||
// regeln anwenden
|
||||
foreach ($ftsearch_simplerules AS $rule)
|
||||
{
|
||||
$str = mb_ereg_replace($rule[0], $rule[1], $str);
|
||||
}
|
||||
|
||||
// doppelte chars ersetzen
|
||||
for ($c = ord('a'); $c <= ord('z'); $c++)
|
||||
{
|
||||
$old_str = '';
|
||||
while ($old_str != $str)
|
||||
{
|
||||
$old_str = $str;
|
||||
$str = mb_ereg_replace(chr($c) . chr($c), chr($c), $str);
|
||||
}
|
||||
$old_str = '';
|
||||
}
|
||||
|
||||
return $str;
|
||||
}
|
||||
|
||||
// str = single word
|
||||
function ftsearch_text2sort($str)
|
||||
{
|
||||
$str = mb_strtolower($str);
|
||||
|
||||
// deutsches
|
||||
$str = mb_ereg_replace('ä', 'ae', $str);
|
||||
$str = mb_ereg_replace('ö', 'oe', $str);
|
||||
$str = mb_ereg_replace('ü', 'ue', $str);
|
||||
$str = mb_ereg_replace('Ä', 'ae', $str);
|
||||
$str = mb_ereg_replace('Ö', 'oe', $str);
|
||||
$str = mb_ereg_replace('Ü', 'ue', $str);
|
||||
$str = mb_ereg_replace('ß', 'ss', $str);
|
||||
|
||||
// akzente usw.
|
||||
$str = mb_ereg_replace('à', 'a', $str);
|
||||
$str = mb_ereg_replace('á', 'a', $str);
|
||||
$str = mb_ereg_replace('â', 'a', $str);
|
||||
$str = mb_ereg_replace('è', 'e', $str);
|
||||
$str = mb_ereg_replace('é', 'e', $str);
|
||||
$str = mb_ereg_replace('ë', 'e', $str);
|
||||
$str = mb_ereg_replace('É', 'e', $str);
|
||||
$str = mb_ereg_replace('ô', 'o', $str);
|
||||
$str = mb_ereg_replace('ó', 'o', $str);
|
||||
$str = mb_ereg_replace('ò', 'o', $str);
|
||||
$str = mb_ereg_replace('ê', 'e', $str);
|
||||
$str = mb_ereg_replace('ě', 'e', $str);
|
||||
$str = mb_ereg_replace('û', 'u', $str);
|
||||
$str = mb_ereg_replace('ç', 'c', $str);
|
||||
$str = mb_ereg_replace('c', 'c', $str);
|
||||
$str = mb_ereg_replace('ć', 'c', $str);
|
||||
$str = mb_ereg_replace('î', 'i', $str);
|
||||
$str = mb_ereg_replace('ï', 'i', $str);
|
||||
$str = mb_ereg_replace('ì', 'i', $str);
|
||||
$str = mb_ereg_replace('í', 'i', $str);
|
||||
$str = mb_ereg_replace('ł', 'l', $str);
|
||||
$str = mb_ereg_replace('š', 's', $str);
|
||||
$str = mb_ereg_replace('Š', 's', $str);
|
||||
$str = mb_ereg_replace('u', 'u', $str);
|
||||
$str = mb_ereg_replace('ý', 'y', $str);
|
||||
$str = mb_ereg_replace('ž', 'z', $str);
|
||||
$str = mb_ereg_replace('Ž', 'Z', $str);
|
||||
|
||||
$str = mb_ereg_replace('Æ', 'ae', $str);
|
||||
$str = mb_ereg_replace('æ', 'ae', $str);
|
||||
$str = mb_ereg_replace('œ', 'oe', $str);
|
||||
|
||||
// sonstiges
|
||||
$str = mb_ereg_replace('[^A-Za-z ]', '', $str);
|
||||
|
||||
return $str;
|
||||
}
|
||||
|
||||
function ftsearch_refresh()
|
||||
{
|
||||
ftsearch_refresh_all_caches();
|
||||
ftsearch_refresh_all_cache_desc();
|
||||
ftsearch_refresh_all_pictures();
|
||||
ftsearch_refresh_all_cache_logs();
|
||||
}
|
||||
|
||||
function ftsearch_refresh_all_caches()
|
||||
{
|
||||
$rs = sql('SELECT `caches`.`cache_id` FROM `caches` LEFT JOIN `search_index_times` ON `caches`.`cache_id`=`search_index_times`.`object_id` AND 2=`search_index_times`.`object_type` WHERE `caches`.`status`!=5 AND ISNULL(`search_index_times`.`object_id`) UNION DISTINCT SELECT `caches`.`cache_id` FROM `caches` INNER JOIN `search_index_times` ON `search_index_times`.`object_type`=2 AND `caches`.`cache_id`=`search_index_times`.`object_id` WHERE `caches`.`last_modified`>`search_index_times`.`last_refresh` AND `caches`.`status`!=5');
|
||||
while ($r = sql_fetch_assoc($rs))
|
||||
ftsearch_refresh_cache($r['cache_id']);
|
||||
sql_free_result($rs);
|
||||
}
|
||||
|
||||
function ftsearch_refresh_cache($cache_id)
|
||||
{
|
||||
$rs = sql("SELECT `name`, `last_modified` FROM `caches` WHERE `cache_id`='&1'", $cache_id);
|
||||
if ($r = sql_fetch_assoc($rs))
|
||||
{
|
||||
ftsearch_set_entries(2, $cache_id, $cache_id, $r['name'], $r['last_modified']);
|
||||
}
|
||||
sql_free_result($rs);
|
||||
}
|
||||
|
||||
function ftsearch_refresh_all_cache_desc()
|
||||
{
|
||||
$rs = sql('SELECT `cache_desc`.`id` FROM `cache_desc` INNER JOIN `caches` ON `caches`.`cache_id`=`cache_desc`.`cache_id` LEFT JOIN `search_index_times` ON `cache_desc`.`id`=`search_index_times`.`object_id` AND 3=`search_index_times`.`object_type` WHERE `caches`.`status`!=5 AND ISNULL(`search_index_times`.`object_id`) UNION DISTINCT SELECT `cache_desc`.`id` FROM `cache_desc` INNER JOIN `caches` ON `caches`.`cache_id`=`cache_desc`.`cache_id` INNER JOIN `search_index_times` ON `search_index_times`.`object_type`=3 AND `cache_desc`.`id`=`search_index_times`.`object_id` WHERE `cache_desc`.`last_modified`>`search_index_times`.`last_refresh` AND `caches`.`status`!=5');
|
||||
while ($r = sql_fetch_assoc($rs))
|
||||
ftsearch_refresh_cache_desc($r['id']);
|
||||
sql_free_result($rs);
|
||||
}
|
||||
|
||||
function ftsearch_refresh_cache_desc($id)
|
||||
{
|
||||
$rs = sql("SELECT `cache_id`, `desc`, `last_modified` FROM `cache_desc` WHERE `id`='&1'", $id);
|
||||
if ($r = sql_fetch_assoc($rs))
|
||||
{
|
||||
$r['desc'] = ftsearch_strip_html($r['desc']);
|
||||
ftsearch_set_entries(3, $id, $r['cache_id'], $r['desc'], $r['last_modified']);
|
||||
}
|
||||
sql_free_result($rs);
|
||||
}
|
||||
|
||||
function ftsearch_refresh_all_pictures()
|
||||
{
|
||||
$rs = sql('SELECT `pictures`.`id` FROM `pictures` LEFT JOIN `search_index_times` ON `pictures`.`id`=`search_index_times`.`object_id` AND 6=`search_index_times`.`object_type` WHERE ISNULL(`search_index_times`.`object_id`) UNION DISTINCT SELECT `pictures`.`id` FROM `pictures` INNER JOIN `search_index_times` ON `search_index_times`.`object_type`=6 AND `pictures`.`id`=`search_index_times`.`object_id` WHERE `pictures`.`last_modified`>`search_index_times`.`last_refresh`');
|
||||
while ($r = sql_fetch_assoc($rs))
|
||||
ftsearch_refresh_picture($r['id']);
|
||||
sql_free_result($rs);
|
||||
}
|
||||
|
||||
function ftsearch_refresh_picture($id)
|
||||
{
|
||||
$rs = sql("SELECT `caches`.`cache_id`, `pictures`.`title`, `pictures`.`last_modified` FROM `pictures` INNER JOIN `caches` ON `pictures`.`object_type`=2 AND `caches`.`cache_id`=`pictures`.`object_id` WHERE `pictures`.`id`='&1' UNION DISTINCT SELECT `cache_logs`.`cache_id` , `pictures`.`title`, `pictures`.`last_modified` FROM `pictures` INNER JOIN `cache_logs` ON `pictures`.`object_type`=1 AND `cache_logs`.`id`=`pictures`.`object_id` WHERE `pictures`.`id`='&1' LIMIT 1", $id);
|
||||
if ($r = sql_fetch_assoc($rs))
|
||||
{
|
||||
ftsearch_set_entries(6, $id, $r['cache_id'], $r['title'], $r['last_modified']);
|
||||
}
|
||||
sql_free_result($rs);
|
||||
}
|
||||
|
||||
function ftsearch_refresh_all_cache_logs()
|
||||
{
|
||||
$rs = sql('SELECT `cache_logs`.`id` FROM `cache_logs` LEFT JOIN `search_index_times` ON `cache_logs`.`id`=`search_index_times`.`object_id` AND 1=`search_index_times`.`object_type` WHERE ISNULL(`search_index_times`.`object_id`) UNION DISTINCT SELECT `cache_logs`.`id` FROM `cache_logs` INNER JOIN `search_index_times` ON `search_index_times`.`object_type`=1 AND `cache_logs`.`id`=`search_index_times`.`object_id` WHERE `cache_logs`.`last_modified`>`search_index_times`.`last_refresh`');
|
||||
while ($r = sql_fetch_assoc($rs))
|
||||
ftsearch_refresh_cache_logs($r['id']);
|
||||
sql_free_result($rs);
|
||||
}
|
||||
|
||||
function ftsearch_refresh_cache_logs($id)
|
||||
{
|
||||
$rs = sql("SELECT `cache_id`, `text`, `last_modified` FROM `cache_logs` WHERE `id`='&1'", $id);
|
||||
if ($r = sql_fetch_assoc($rs))
|
||||
{
|
||||
$r['text'] = ftsearch_strip_html($r['text']);
|
||||
ftsearch_set_entries(1, $id, $r['cache_id'], $r['text'], $r['last_modified']);
|
||||
}
|
||||
sql_free_result($rs);
|
||||
}
|
||||
|
||||
function ftsearch_delete_entries($object_type, $object_id, $cache_id)
|
||||
{
|
||||
sql("DELETE FROM `search_index` WHERE `object_type`='&1' AND `cache_id`='&2'", $object_type, $cache_id);
|
||||
sql("DELETE FROM `search_index_times` WHERE `object_type`='&1' AND `object_id`='&2'", $object_type, $object_id);
|
||||
}
|
||||
|
||||
function ftsearch_set_entries($object_type, $object_id, $cache_id, &$text, $last_modified)
|
||||
{
|
||||
ftsearch_delete_entries($object_type, $object_id, $cache_id);
|
||||
|
||||
$ahash = ftsearch_hash($text);
|
||||
foreach ($ahash AS $k => $h)
|
||||
{
|
||||
sql("INSERT INTO `search_index` (`object_type`, `cache_id`, `hash`, `count`) VALUES ('&1', '&2', '&3', '&4') ON DUPLICATE KEY UPDATE `count`=`count`+1", $object_type, $cache_id, $h, 1);
|
||||
}
|
||||
sql("INSERT INTO `search_index_times` (`object_id`, `object_type`, `last_refresh`) VALUES ('&1', '&2', '&3') ON DUPLICATE KEY UPDATE `last_refresh`='&3'", $object_id, $object_type, $last_modified);
|
||||
}
|
||||
|
||||
function ftsearch_strip_html($text)
|
||||
{
|
||||
$text = str_replace("\n", ' ', $text);
|
||||
$text = str_replace("\r", ' ', $text);
|
||||
$text = str_replace('<br />', ' ', $text);
|
||||
$text = str_replace('<br/>', ' ', $text);
|
||||
$text = str_replace('<br>', ' ', $text);
|
||||
$text = strip_tags($text);
|
||||
$text = html_entity_decode($text, ENT_COMPAT, 'UTF-8');
|
||||
|
||||
return $text;
|
||||
}
|
||||
?>
|
514
htdocs/lib/search1/search.gpx.inc.php
Normal file
514
htdocs/lib/search1/search.gpx.inc.php
Normal file
@@ -0,0 +1,514 @@
|
||||
<?php
|
||||
/****************************************************************************
|
||||
For license information see doc/license.txt
|
||||
|
||||
Unicode Reminder メモ
|
||||
|
||||
GPX search output (GC compatible)
|
||||
used by Ocprop
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
require_once('lib2/logic/npas.inc.php');
|
||||
|
||||
$search_output_file_download = true;
|
||||
$content_type_plain = 'application/gpx';
|
||||
|
||||
|
||||
function search_output()
|
||||
{
|
||||
global $absolute_server_URI, $locale, $usr, $login;
|
||||
global $cache_note_text;
|
||||
|
||||
$gpxHead =
|
||||
'<?xml version="1.0" encoding="utf-8"?>
|
||||
<gpx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="1.0" creator="Opencaching.de - http://www.opencaching.de" xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd http://www.groundspeak.com/cache/1/0/1 http://www.groundspeak.com/cache/1/0/1/cache.xsd" xmlns="http://www.topografix.com/GPX/1/0">
|
||||
<name>Cache listing generated from Opencaching.de</name>
|
||||
<desc>This is a waypoint file generated from Opencaching.de{wpchildren}</desc>
|
||||
<author>Opencaching.de</author>
|
||||
<email>contact@opencaching.de</email>
|
||||
<url>http://www.opencaching.de</url>
|
||||
<urlname>Opencaching.de - Geocaching in Deutschland, Oesterreich und der Schweiz</urlname>
|
||||
<time>{time}</time>
|
||||
<keywords>cache, geocache, opencaching, waypoint</keywords>
|
||||
';
|
||||
|
||||
$gpxLine =
|
||||
' <wpt lat="{lat}" lon="{lon}">
|
||||
<time>{time}</time>
|
||||
<name>{waypoint}</name>
|
||||
<desc>{cachename}</desc>
|
||||
<src>www.opencaching.de</src>
|
||||
<url>' . $absolute_server_URI . 'viewcache.php?cacheid={cacheid}</url>
|
||||
<urlname>{cachename}</urlname>
|
||||
<sym>{sym}</sym>
|
||||
<type>Geocache|{type}</type>
|
||||
<groundspeak:cache id="{cacheid}" {status} xmlns:groundspeak="http://www.groundspeak.com/cache/1/0/1">
|
||||
<groundspeak:name>{cachename}</groundspeak:name>
|
||||
<groundspeak:placed_by>{owner}</groundspeak:placed_by>
|
||||
<groundspeak:owner id="{userid}">{owner}</groundspeak:owner>
|
||||
<groundspeak:type>{type}</groundspeak:type>
|
||||
<groundspeak:container>{container}</groundspeak:container>
|
||||
<groundspeak:attributes>
|
||||
{attributes} </groundspeak:attributes>
|
||||
<groundspeak:difficulty>{difficulty}</groundspeak:difficulty>
|
||||
<groundspeak:terrain>{terrain}</groundspeak:terrain>
|
||||
<groundspeak:country>{country}</groundspeak:country>
|
||||
<groundspeak:state>{state}</groundspeak:state>
|
||||
<groundspeak:short_description html="True">{shortdesc}</groundspeak:short_description>
|
||||
<groundspeak:long_description html="True">{desc}<br />{images}</groundspeak:long_description>
|
||||
{hints} <groundspeak:logs>
|
||||
{logs} </groundspeak:logs>
|
||||
<groundspeak:travelbugs>
|
||||
{geokrety} </groundspeak:travelbugs>
|
||||
</groundspeak:cache>
|
||||
</wpt>
|
||||
{cache_waypoints}';
|
||||
/* Ocprop:
|
||||
* <wpt\s+lat=\"([0-9\-\+\.]+)\"\s+lon=\"([0-9\-\+\.]+)\">
|
||||
* <time>(.*?)<\/time>
|
||||
* (Date: ^([0-9]{4})\-([0-9]{2})\-([0-9]{2})T[0-9\:\-\.]+(Z)?$/s)
|
||||
* <name>(.*?)<\/name>
|
||||
* <url>http:\/\/www\.opencaching\.de\/viewcache\.php\?cacheid=([0-9]+)<\/url>
|
||||
* <sym>(.*?)<\/sym>
|
||||
* <groundspeak:cache\s+id=\"[0-9]+\"\s+available=\"(True|False)\"\s+archived=\"(True|False)\"
|
||||
* <groundspeak:name>(.*?)<\/groundspeak:name>
|
||||
* <groundspeak:placed_by>(.*?)<\/groundspeak:placed_by>
|
||||
* <groundspeak:owner id="([0-9])+">(.*?)<\/groundspeak:owner>
|
||||
* <groundspeak:type>(.*?)<\/groundspeak:type>
|
||||
* <groundspeak:container>(.*?)<\/groundspeak:container>
|
||||
* <groundspeak:difficulty>(.*?)<\/groundspeak:difficulty>
|
||||
* <groundspeak:terrain>(.*?)<\/groundspeak:terrain>
|
||||
* <groundspeak:country>(.*?)<\/groundspeak:country>
|
||||
* <groundspeak:state>(.*?)<\/groundspeak:state>
|
||||
* <groundspeak:short_description html="(.*?)".*?>(.*?)<\/groundspeak:short_description>
|
||||
* <groundspeak:long_description html="(.*?)".*?>(.*?)<\/groundspeak:long_description>
|
||||
* <groundspeak:encoded_hints>(.*?)<\/groundspeak:encoded_hints>
|
||||
*/
|
||||
|
||||
$gpxAttributes = ' <groundspeak:attribute id="{attrib_id}" inc="{attrib_inc}">{attrib_name}</groundspeak:attribute>';
|
||||
|
||||
$gpxLog = ' <groundspeak:log id="{id}">
|
||||
<groundspeak:date>{date}</groundspeak:date>
|
||||
<groundspeak:type>{type}</groundspeak:type>
|
||||
<groundspeak:finder id="{userid}">{username}</groundspeak:finder>
|
||||
<groundspeak:text encoded="False">{text}</groundspeak:text>
|
||||
</groundspeak:log>';
|
||||
|
||||
$gpxGeokrety = ' <groundspeak:travelbug id="{gkid}" ref="{gkref}">
|
||||
<groundspeak:name>{gkname}</groundspeak:name>
|
||||
</groundspeak:travelbug>';
|
||||
|
||||
$gpxWaypoints = ' <wpt lat="{wp_lat}" lon="{wp_lon}">
|
||||
<time>{time}</time>
|
||||
<name>{name}</name>
|
||||
<cmt>{comment}</cmt>
|
||||
<desc>{desc}</desc>
|
||||
<url>' . $absolute_server_URI . 'viewcache.php?cacheid={cacheid}</url>
|
||||
<urlname>{parent} {cachename}</urlname>
|
||||
<sym>{type}</sym>
|
||||
<type>Waypoint|{type}</type>
|
||||
<gsak:wptExtension xmlns:gsak="http://www.gsak.net/xmlv1/4">
|
||||
<gsak:Parent>{parent}</gsak:Parent>
|
||||
</gsak:wptExtension>
|
||||
</wpt>
|
||||
';
|
||||
|
||||
$gpxFoot = '</gpx>';
|
||||
|
||||
$gpxTimeFormat = 'Y-m-d\TH:i:s\Z';
|
||||
|
||||
$gpxStatus[0] = 'available="False" archived="False"'; // other (unavailable, not archived)
|
||||
$gpxStatus[1] = 'available="True" archived="False"'; //available, not archived
|
||||
$gpxStatus[2] = 'available="False" archived="False"'; //unavailable, not archived
|
||||
$gpxStatus[3] = 'available="False" archived="True"'; //unavailable, archived
|
||||
$gpxStatus[6] = 'available="False" archived="True"'; //locked, visible
|
||||
|
||||
$gpxContainer[0] = 'Other';
|
||||
$gpxContainer[2] = 'Micro';
|
||||
$gpxContainer[3] = 'Small';
|
||||
$gpxContainer[4] = 'Regular';
|
||||
$gpxContainer[5] = 'Large';
|
||||
$gpxContainer[6] = 'Large';
|
||||
$gpxContainer[7] = 'Virtual';
|
||||
$gpxContainer[8] = 'Micro';
|
||||
|
||||
// cache types known by gpx
|
||||
$gpxType[0] = 'Unknown Cache';
|
||||
$gpxType[2] = 'Traditional Cache';
|
||||
$gpxType[3] = 'Multi-cache';
|
||||
$gpxType[4] = 'Virtual Cache';
|
||||
$gpxType[5] = 'Webcam Cache';
|
||||
$gpxType[6] = 'Event Cache';
|
||||
|
||||
// unknown ... converted
|
||||
$gpxType[7] = 'Unknown Cache';
|
||||
$gpxType[8] = 'Unknown Cache';
|
||||
$gpxType[10] = 'Traditional Cache';
|
||||
|
||||
$gpxLogType[0] = 'Other';
|
||||
$gpxLogType[1] = 'Found it';
|
||||
$gpxLogType[2] = 'Didn\'t find it';
|
||||
$gpxLogType[3] = 'Write note';
|
||||
$gpxLogType[7] = 'Attended';
|
||||
$gpxLogType[8] = 'Will attend';
|
||||
$gpxLogType[9] = 'Archive';
|
||||
$gpxLogType[10] = 'Owner Maintenance';
|
||||
$gpxLogType[11] = 'Temporarily Disable Listing';
|
||||
$gpxLogType[13] = 'Archive';
|
||||
$gpxLogType[14] = 'Archive';
|
||||
|
||||
$gpxSymNormal = 'Geocache';
|
||||
$gpxSymFound = 'Geocache Found';
|
||||
|
||||
$childwphandler = new ChildWp_Handler();
|
||||
$children='';
|
||||
$rs = sql('SELECT `searchtmp`.`cache_id` `cacheid` FROM `searchtmp`');
|
||||
while ($r = sql_fetch_array($rs))
|
||||
if (count($childwphandler->getChildWps($r['cacheid'])))
|
||||
$children=" (HasChildren)";
|
||||
mysql_free_result($rs);
|
||||
|
||||
$gpxHead = mb_ereg_replace('{wpchildren}', $children, $gpxHead);
|
||||
$gpxHead = mb_ereg_replace('{time}', date($gpxTimeFormat, time()), $gpxHead);
|
||||
append_output($gpxHead);
|
||||
|
||||
if ($usr === false)
|
||||
$user_id = 0;
|
||||
else
|
||||
$user_id = $usr['userid'];
|
||||
|
||||
$rs = sql_slave("SELECT SQL_BUFFER_RESULT `searchtmp`.`cache_id` `cacheid`, `searchtmp`.`longitude` `longitude`, `searchtmp`.`latitude` `latitude`,
|
||||
`cache_location`.`adm2` `state`, `caches`.`wp_oc` `waypoint`, `caches`.`date_hidden` `date_hidden`, `caches`.`name` `name`,
|
||||
`caches`.`country` `country`, `countries`.`name` AS `country_name`, `caches`.`terrain` `terrain`, `caches`.`difficulty` `difficulty`, `caches`.`desc_languages` `desc_languages`,
|
||||
`caches`.`size` `size`, `caches`.`type` `type`, `caches`.`status` `status`, `user`.`username` `username`, `caches`.`user_id` `userid`, `user`.`data_license`,
|
||||
`cache_desc`.`desc` `desc`, `cache_desc`.`short_desc` `short_desc`, `cache_desc`.`hint` `hint`,
|
||||
IFNULL(`stat_cache_logs`.`found`, 0) AS `found`
|
||||
FROM `searchtmp`
|
||||
INNER JOIN `caches` ON `searchtmp`.`cache_id`=`caches`.`cache_id`
|
||||
INNER JOIN `countries` ON `caches`.`country`=`countries`.`short`
|
||||
INNER JOIN `user` ON `searchtmp`.`user_id`=`user`.`user_id`
|
||||
INNER JOIN `cache_desc` ON `caches`.`cache_id`=`cache_desc`.`cache_id`AND `caches`.`default_desclang`=`cache_desc`.`language`
|
||||
LEFT JOIN `cache_location` ON `searchtmp`.`cache_id`=`cache_location`.`cache_id`
|
||||
LEFT JOIN `stat_cache_logs` ON `searchtmp`.`cache_id`=`stat_cache_logs`.`cache_id` AND `stat_cache_logs`.`user_id`='&1'", $user_id);
|
||||
|
||||
while ($r = sql_fetch_array($rs))
|
||||
{
|
||||
$thisline = $gpxLine;
|
||||
|
||||
$lat = sprintf('%01.5f', $r['latitude']);
|
||||
$thisline = mb_ereg_replace('{lat}', $lat, $thisline);
|
||||
|
||||
$lon = sprintf('%01.5f', $r['longitude']);
|
||||
$thisline = mb_ereg_replace('{lon}', $lon, $thisline);
|
||||
|
||||
$time = date($gpxTimeFormat, strtotime($r['date_hidden']));
|
||||
$thisline = mb_ereg_replace('{time}', $time, $thisline);
|
||||
$thisline = mb_ereg_replace('{waypoint}', $r['waypoint'], $thisline);
|
||||
$thisline = mb_ereg_replace('{cacheid}', $r['cacheid'], $thisline);
|
||||
$thisline = mb_ereg_replace('{cachename}', xmlentities($r['name']), $thisline);
|
||||
$thisline = mb_ereg_replace('{country}', $r['country_name'], $thisline);
|
||||
$thisline = mb_ereg_replace('{state}', xmlentities($r['state']), $thisline);
|
||||
|
||||
if ($r['hint'] == '')
|
||||
$thisline = mb_ereg_replace('{hints}', '', $thisline);
|
||||
else
|
||||
// Ocprop: <groundspeak:encoded_hints>(.*?)<\/groundspeak:encoded_hints>
|
||||
$hint = html_entity_decode(strip_tags($r['hint']), ENT_COMPAT, "UTF-8");
|
||||
$thisline = mb_ereg_replace('{hints}', ' <groundspeak:encoded_hints>' . xmlentities($hint) . '</groundspeak:encoded_hints>
|
||||
', $thisline);
|
||||
|
||||
$thisline = mb_ereg_replace('{shortdesc}', xmlentities($r['short_desc']), $thisline);
|
||||
|
||||
$desc = str_replace('<img src="images/uploads/','<img src="' . $absolute_server_URI . 'images/uploads/', $r['desc']);
|
||||
$license = getLicenseDisclaimer(
|
||||
$r['userid'], $r['username'], $r['data_license'], $r['cacheid'], $locale, true, true);
|
||||
if ($license != "")
|
||||
$desc .= "<p><em>$license</em></p>\n";
|
||||
$desc .= get_desc_npas($r['cacheid']);
|
||||
$thisline = mb_ereg_replace('{desc}', xmlentities(decodeEntities($desc)), $thisline);
|
||||
|
||||
$thisline = mb_ereg_replace('{images}', xmlentities(getPictures($r['cacheid'])), $thisline);
|
||||
|
||||
if (isset($gpxType[$r['type']]))
|
||||
$thisline = mb_ereg_replace('{type}', $gpxType[$r['type']], $thisline);
|
||||
else
|
||||
$thisline = mb_ereg_replace('{type}', $gpxType[0], $thisline);
|
||||
|
||||
if (isset($gpxContainer[$r['size']]))
|
||||
$thisline = mb_ereg_replace('{container}', $gpxContainer[$r['size']], $thisline);
|
||||
else
|
||||
$thisline = mb_ereg_replace('{container}', $gpxContainer[0], $thisline);
|
||||
|
||||
if (isset($gpxStatus[$r['status']]))
|
||||
$thisline = mb_ereg_replace('{status}', $gpxStatus[$r['status']], $thisline);
|
||||
else
|
||||
$thisline = mb_ereg_replace('{status}', $gpxStatus[0], $thisline);
|
||||
|
||||
$sDiffDecimals = '';
|
||||
if ($r['difficulty'] % 2) $sDiffDecimals = '.5';
|
||||
$r['difficulty'] -= $r['difficulty'] % 2;
|
||||
$thisline = mb_ereg_replace('{difficulty}', ($r['difficulty']/2) . $sDiffDecimals, $thisline);
|
||||
|
||||
$sTerrDecimals = '';
|
||||
if ($r['terrain'] % 2) $sTerrDecimals = '.5';
|
||||
$r['terrain'] -= $r['terrain'] % 2;
|
||||
$thisline = mb_ereg_replace('{terrain}', ($r['terrain']/2) . $sTerrDecimals, $thisline);
|
||||
|
||||
$thisline = mb_ereg_replace('{owner}', xmlentities($r['username']), $thisline);
|
||||
$thisline = mb_ereg_replace('{userid}', xmlentities($r['userid']), $thisline);
|
||||
|
||||
if ($r['found'] > 0)
|
||||
$thisline = mb_ereg_replace('{sym}', xmlentities($gpxSymFound), $thisline);
|
||||
else
|
||||
$thisline = mb_ereg_replace('{sym}', xmlentities($gpxSymNormal), $thisline);
|
||||
|
||||
// clear cache specific data
|
||||
$logentries = '';
|
||||
$cache_note = false;
|
||||
$attribentries = '';
|
||||
$waypoints = '';
|
||||
$gkentries = '';
|
||||
|
||||
// fetch logs
|
||||
|
||||
if ($user_id != 0)
|
||||
{
|
||||
// insert personal note
|
||||
$cacheNote = getCacheNote($user_id, $r['cacheid']);
|
||||
if ($cacheNote)
|
||||
{
|
||||
$thislog = $gpxLog;
|
||||
|
||||
$thislog = mb_ereg_replace('{id}', 0, $thislog);
|
||||
$thislog = mb_ereg_replace('{date}', date($gpxTimeFormat), $thislog);
|
||||
$thislog = mb_ereg_replace('{userid}', $user_id, $thislog);
|
||||
$thislog = mb_ereg_replace('{username}', xmlentities($login->username), $thislog);
|
||||
$thislog = mb_ereg_replace('{type}', $gpxLogType[3], $thislog);
|
||||
$thislog = mb_ereg_replace('{text}', xmlentities($cacheNote['note']), $thislog);
|
||||
|
||||
$logentries .= $thislog . "\n";
|
||||
}
|
||||
|
||||
// current users logs
|
||||
$rsLogs = sql_slave("SELECT `cache_logs`.`id`, `cache_logs`.`type`, `cache_logs`.`date`, `cache_logs`.`text`, `user`.`username`, `user`.`user_id` FROM `cache_logs`, `user` WHERE `cache_logs`.`user_id`=`user`.`user_id` AND `cache_logs`.`cache_id`=&1 AND `user`.`user_id`=&2 ORDER BY `cache_logs`.`date` DESC", $r['cacheid'], $user_id);
|
||||
while ($rLog = sql_fetch_array($rsLogs))
|
||||
{
|
||||
$thislog = $gpxLog;
|
||||
|
||||
$thislog = mb_ereg_replace('{id}', $rLog['id'], $thislog);
|
||||
$thislog = mb_ereg_replace('{date}', date($gpxTimeFormat, strtotime($rLog['date'])), $thislog);
|
||||
$thislog = mb_ereg_replace('{userid}', xmlentities($rLog['user_id']), $thislog);
|
||||
$thislog = mb_ereg_replace('{username}', xmlentities($rLog['username']), $thislog);
|
||||
|
||||
if (isset($gpxLogType[$rLog['type']]))
|
||||
$logtype = $gpxLogType[$rLog['type']];
|
||||
else
|
||||
$logtype = $gpxLogType[0];
|
||||
|
||||
$thislog = mb_ereg_replace('{type}', $logtype, $thislog);
|
||||
$thislog = mb_ereg_replace('{text}', xmlentities(decodeEntities($rLog['text'])), $thislog);
|
||||
|
||||
$logentries .= $thislog . "\n";
|
||||
}
|
||||
mysql_free_result($rsLogs);
|
||||
}
|
||||
|
||||
// newest 20 logs (except current users)
|
||||
$rsLogs = sql_slave("SELECT `cache_logs`.`id`, `cache_logs`.`type`, `cache_logs`.`date`, `cache_logs`.`text`, `user`.`username`, `user`.`user_id` FROM `cache_logs`, `user` WHERE `cache_logs`.`user_id`=`user`.`user_id` AND `cache_logs`.`cache_id`=&1 AND `user`.`user_id`!=&2 ORDER BY `cache_logs`.`date` DESC LIMIT 20", $r['cacheid'], $user_id);
|
||||
while ($rLog = sql_fetch_array($rsLogs))
|
||||
{
|
||||
$thislog = $gpxLog;
|
||||
|
||||
$thislog = mb_ereg_replace('{id}', $rLog['id'], $thislog);
|
||||
$thislog = mb_ereg_replace('{date}', date($gpxTimeFormat, strtotime($rLog['date'])), $thislog);
|
||||
$thislog = mb_ereg_replace('{userid}', xmlentities($rLog['user_id']), $thislog);
|
||||
$thislog = mb_ereg_replace('{username}', xmlentities($rLog['username']), $thislog);
|
||||
|
||||
if (isset($gpxLogType[$rLog['type']]))
|
||||
$logtype = $gpxLogType[$rLog['type']];
|
||||
else
|
||||
$logtype = $gpxLogType[0];
|
||||
|
||||
$thislog = mb_ereg_replace('{type}', $logtype, $thislog);
|
||||
$thislog = mb_ereg_replace('{text}', xmlentities(decodeEntities($rLog['text'])), $thislog);
|
||||
|
||||
$logentries .= $thislog . "\n";
|
||||
}
|
||||
mysql_free_result($rsLogs);
|
||||
$thisline = mb_ereg_replace('{logs}', $logentries, $thisline);
|
||||
|
||||
// attributes
|
||||
$rsAttributes = sql_slave("SELECT `gc_id`, `gc_inc`, `gc_name`
|
||||
FROM `caches_attributes`
|
||||
INNER JOIN `cache_attrib` ON `cache_attrib`.`id`=`caches_attributes`.`attrib_id`
|
||||
WHERE `caches_attributes`.`cache_id`=&1", $r['cacheid']);
|
||||
$gc_ids = array();
|
||||
while ($rAttrib = sql_fetch_array($rsAttributes))
|
||||
{
|
||||
// Multiple OC attributes can be mapped to one GC attribute, either with
|
||||
// the same "inc"s or with different. Both may disturb applications, so we
|
||||
// output each GC ID only once.
|
||||
if (!isset($gc_ids[$rAttrib['gc_id']]))
|
||||
{
|
||||
$thisattribute = mb_ereg_replace('{attrib_id}', $rAttrib['gc_id'], $gpxAttributes);
|
||||
$thisattribute = mb_ereg_replace('{attrib_inc}', $rAttrib['gc_inc'], $thisattribute);
|
||||
$thisattribute = mb_ereg_replace('{attrib_name}', xmlentities($rAttrib['gc_name']), $thisattribute);
|
||||
$attribentries .= $thisattribute . "\n";
|
||||
$gc_ids[$rAttrib['gc_id']] = true;
|
||||
}
|
||||
}
|
||||
|
||||
mysql_free_result($rsAttributes);
|
||||
$thisline = mb_ereg_replace('{attributes}', $attribentries, $thisline);
|
||||
|
||||
// geokrety
|
||||
$rsGeokrety = sql_slave("SELECT `gk_item`.`id`, `gk_item`.`name`, `caches`.`wp_oc` FROM `gk_item` INNER JOIN `gk_item_waypoint` ON `gk_item`.`id`=`gk_item_waypoint`.`id` INNER JOIN `caches` ON `gk_item_waypoint`.`wp`=`caches`.`wp_oc` WHERE `caches`.`cache_id`=&1", $r['cacheid']);
|
||||
while ($rGK = sql_fetch_array($rsGeokrety))
|
||||
{
|
||||
$thiskrety = $gpxGeokrety;
|
||||
|
||||
$thiskrety = mb_ereg_replace('{gkid}', $rGK['id'], $thiskrety);
|
||||
$thiskrety = mb_ereg_replace('{gkref}', sprintf("GK%04X",$rGK['id']), $thiskrety);
|
||||
$thiskrety = mb_ereg_replace('{gkname}', xmlentities($rGK['name']), $thiskrety);
|
||||
|
||||
$gkentries .= $thiskrety . "\n";
|
||||
}
|
||||
mysql_free_result($rsGeokrety);
|
||||
$thisline = mb_ereg_replace('{geokrety}', $gkentries, $thisline);
|
||||
|
||||
// additional waypoints, including personal cache note
|
||||
$childWaypoints = $childwphandler->getChildWps($r['cacheid']);
|
||||
$n = 1;
|
||||
$digits = "%0" . strlen(count($childWaypoints)) . "d";
|
||||
|
||||
foreach ($childWaypoints as $childWaypoint)
|
||||
{
|
||||
$thiswp = $gpxWaypoints;
|
||||
$thiswp = mb_ereg_replace('{wp_lat}', sprintf('%01.5f', $childWaypoint['latitude']), $thiswp);
|
||||
$thiswp = mb_ereg_replace('{wp_lon}', sprintf('%01.5f', $childWaypoint['longitude']), $thiswp);
|
||||
$thiswp = mb_ereg_replace('{time}', $time, $thiswp);
|
||||
$thiswp = mb_ereg_replace('{name}', $r['waypoint'].'-'.sprintf($digits,$n) , $thiswp);
|
||||
$thiswp = mb_ereg_replace('{cachename}', xmlentities($r['name']), $thiswp);
|
||||
$thiswp = mb_ereg_replace('{comment}',xmlentities($childWaypoint['description']), $thiswp);
|
||||
$thiswp = mb_ereg_replace('{desc}', xmlentities($childWaypoint['name']), $thiswp);
|
||||
switch ($childWaypoint['type'])
|
||||
{
|
||||
case 1: $wp_typename = "Parking Area"; break; // well-known garmin symbols
|
||||
case 2: $wp_typename = "Flag, Green"; break; // stage / ref point
|
||||
case 3: $wp_typename = "Flag, Blue"; break; // path
|
||||
case 4: $wp_typename = "Circle with X"; break; // final
|
||||
case 5: $wp_typename = "Diamond, Green"; break; // point of interest
|
||||
default: $wp_typename = "Flag, Blue"; break; // for the case new types are forgotten here ..
|
||||
}
|
||||
$thiswp = mb_ereg_replace('{type}', $wp_typename, $thiswp);
|
||||
$thiswp = mb_ereg_replace('{parent}', $r['waypoint'], $thiswp);
|
||||
$thiswp = mb_ereg_replace('{cacheid}', $r['cacheid'], $thiswp);
|
||||
$waypoints .= $thiswp;
|
||||
++$n;
|
||||
}
|
||||
|
||||
if ($cacheNote && !empty($cacheNote['latitude']) && !empty($cacheNote['longitude']))
|
||||
{
|
||||
$thiswp = $gpxWaypoints;
|
||||
$thiswp = mb_ereg_replace('{wp_lat}', sprintf('%01.5f', $cacheNote['latitude']), $thiswp);
|
||||
$thiswp = mb_ereg_replace('{wp_lon}', sprintf('%01.5f', $cacheNote['longitude']), $thiswp);
|
||||
$thiswp = mb_ereg_replace('{time}', $time, $thiswp);
|
||||
$thiswp = mb_ereg_replace('{name}', $r['waypoint'].'NOTE', $thiswp);
|
||||
$thiswp = mb_ereg_replace('{cachename}', xmlentities($r['name']), $thiswp);
|
||||
$thiswp = mb_ereg_replace('{comment}', xmlentities($cacheNote['note']), $thiswp);
|
||||
$thiswp = mb_ereg_replace('{desc}', $cache_note_text, $thiswp);
|
||||
$thiswp = mb_ereg_replace('{type}', "Reference Point", $thiswp);
|
||||
$thiswp = mb_ereg_replace('{parent}', $r['waypoint'], $thiswp);
|
||||
$thiswp = mb_ereg_replace('{cacheid}', $r['cacheid'], $thiswp);
|
||||
$waypoints .= $thiswp;
|
||||
}
|
||||
|
||||
$thisline = mb_ereg_replace('{cache_waypoints}', $waypoints, $thisline);
|
||||
|
||||
append_output($thisline);
|
||||
}
|
||||
mysql_free_result($rs);
|
||||
|
||||
append_output($gpxFoot);
|
||||
}
|
||||
|
||||
|
||||
function decodeEntities($str)
|
||||
{
|
||||
$str = changePlaceholder($str);
|
||||
$str = html_entity_decode($str, ENT_COMPAT, "UTF-8");
|
||||
$str = changePlaceholder($str, true);
|
||||
return $str;
|
||||
}
|
||||
|
||||
function changePlaceholder($str, $inverse = false)
|
||||
{
|
||||
static $translate = array(
|
||||
'<' => '{oc-placeholder-lt}',
|
||||
'>' => '{oc-placeholder-gt}',
|
||||
'&' => '{oc-placeholder-amp}'
|
||||
);
|
||||
|
||||
foreach ($translate as $entity => $placeholder)
|
||||
{
|
||||
if (!$inverse)
|
||||
{
|
||||
$str = mb_ereg_replace($entity, $placeholder, $str);
|
||||
}
|
||||
else
|
||||
{
|
||||
$str = mb_ereg_replace($placeholder, $entity, $str);
|
||||
}
|
||||
}
|
||||
return $str;
|
||||
}
|
||||
|
||||
function xmlentities($str)
|
||||
{
|
||||
$str = htmlspecialchars($str, ENT_NOQUOTES, "UTF-8");
|
||||
return filterevilchars($str);
|
||||
}
|
||||
|
||||
function filterevilchars($str)
|
||||
{
|
||||
return mb_ereg_replace('[\\x00-\\x09|\\x0B-\\x0C|\\x0E-\\x1F]', '', $str);
|
||||
}
|
||||
|
||||
function getCacheNote($userid, $cacheid)
|
||||
{
|
||||
$cacheNoteHandler = new CacheNote_Handler();
|
||||
$cacheNote = $cacheNoteHandler->getCacheNote($userid, $cacheid);
|
||||
|
||||
if (isset($cacheNote['note']) || isset($cacheNote['latitude']) || isset($cacheNote['longitude']))
|
||||
return $cacheNote;
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
// based on oc.pl code, but embedded thumbs instead of full pictures
|
||||
// (also to hide spoilers first)
|
||||
function getPictures($cacheid)
|
||||
{
|
||||
global $translate, $absolute_server_URI;
|
||||
|
||||
$retval = "";
|
||||
$rs = sql_slave("SELECT uuid, title, url, spoiler FROM pictures
|
||||
WHERE object_id='&1' AND object_type=2 AND display=1
|
||||
ORDER BY date_created", $cacheid);
|
||||
|
||||
while ($r = sql_fetch_array($rs))
|
||||
{
|
||||
$retval .= '<div style="float:left; padding:8px"><a href="' . $r['url'] . '" target="_blank">' .
|
||||
'<img src="' . $absolute_server_URI . 'thumbs.php?uuid=' . $r["uuid"]. '" >' .
|
||||
'</a><br />' . $r['title'];
|
||||
if ($r['spoiler'])
|
||||
$retval .= ' (' . $translate->t('click on spoiler to display','',basename(__FILE__), __LINE__) . ')';
|
||||
$retval .= "</div>";
|
||||
}
|
||||
mysql_free_result($rs);
|
||||
|
||||
return $retval;
|
||||
}
|
||||
|
||||
?>
|
262
htdocs/lib/search1/search.html.inc.php
Normal file
262
htdocs/lib/search1/search.html.inc.php
Normal file
@@ -0,0 +1,262 @@
|
||||
<?php
|
||||
/***************************************************************************
|
||||
For license information see doc/license.txt
|
||||
|
||||
Unicode Reminder メモ
|
||||
|
||||
(X)HTML search output
|
||||
Used by Ocprop
|
||||
****************************************************************************/
|
||||
|
||||
require_once($stylepath . '/search1/icons.inc.php');
|
||||
require_once('lib/search1/cache_icon.inc.php');
|
||||
|
||||
$search_output_file_download = false;
|
||||
|
||||
$sAddFields .= ', `caches`.`name`, `caches`.`difficulty`, `caches`.`terrain`,
|
||||
`caches`.`desc_languages`, `caches`.`date_created`,
|
||||
`user`.`username`,
|
||||
`cache_type`.`icon_large`,
|
||||
`cache_type`.`name` `cacheTypeName`,
|
||||
IFNULL(`stat_caches`.`found`, 0) `founds`,
|
||||
IFNULL(`stat_caches`.`toprating`, 0) `topratings`,
|
||||
IF(ISNULL(`tbloconly`.`cache_id`), 0, 1) AS `oconly`';
|
||||
|
||||
$sAddJoin .= 'INNER JOIN `user` ON `caches`.`user_id`=`user`.`user_id`
|
||||
INNER JOIN `cache_type` ON `cache_type`.`id`=`caches`.`type`
|
||||
LEFT JOIN `caches_attributes` AS `tbloconly`
|
||||
ON `caches`.`cache_id`=`tbloconly`.`cache_id` AND `tbloconly`.`attrib_id`=6';
|
||||
|
||||
|
||||
function search_output()
|
||||
{
|
||||
global $sqldebug, $stylepath, $tplname, $logdateformat, $usr, $bgcolor1, $bgcolor2;
|
||||
global $string_by, $caches_olddays, $caches_newstring, $caches_oconlystring, $showonmap;
|
||||
global $options, $lat_rad, $lon_rad, $distance_unit, $startat, $caches_per_page, $sql;
|
||||
|
||||
$tplname = 'search1/search.result.caches';
|
||||
$cache_line = read_file($stylepath . '/search1/search.result.caches.row.tpl.php');
|
||||
$cache_line = mb_ereg_replace('{string_by}', $string_by, $cache_line);
|
||||
$caches_output = '';
|
||||
|
||||
// output range
|
||||
$startat = floor($startat / $caches_per_page) * $caches_per_page;
|
||||
$sql .= ' LIMIT ' . $startat . ', ' . $caches_per_page;
|
||||
|
||||
// run SQL query
|
||||
$nRowIndex = 0;
|
||||
$rs_caches = sql_slave("SELECT SQL_BUFFER_RESULT SQL_CALC_FOUND_ROWS " . $sql, $sqldebug);
|
||||
$resultcount = sql_value_slave('SELECT FOUND_ROWS()', 0);
|
||||
tpl_set_var('results_count', $resultcount);
|
||||
|
||||
while ($caches_record = sql_fetch_array($rs_caches))
|
||||
{
|
||||
$tmpline = $cache_line;
|
||||
|
||||
list($iconname, $inactive) = getCacheIcon($usr['userid'], $caches_record['cache_id'], $caches_record['status'],
|
||||
$caches_record['user_id'], $caches_record['icon_large']);
|
||||
|
||||
$tmpline = mb_ereg_replace('{icon_large}', $iconname, $tmpline);
|
||||
|
||||
$tmpline = mb_ereg_replace('{cachetype}', htmlspecialchars(t($caches_record['cacheTypeName']), ENT_COMPAT, 'UTF-8'), $tmpline);
|
||||
|
||||
// short_desc ermitteln TODO: nicht die erste sondern die richtige wählen
|
||||
$rsdesc = sql_slave("SELECT `short_desc` FROM `cache_desc` WHERE `cache_id`='&1' LIMIT 1", $caches_record['cache_id']);
|
||||
$desc_record = sql_fetch_array($rsdesc);
|
||||
mysql_free_result($rsdesc);
|
||||
|
||||
$tmpline = mb_ereg_replace('{short_desc}', htmlspecialchars($desc_record['short_desc'], ENT_COMPAT, 'UTF-8'), $tmpline);
|
||||
|
||||
$dDiff = abs(dateDiff('d', $caches_record['date_created'], date('Y-m-d')));
|
||||
if ($dDiff < $caches_olddays)
|
||||
$tmpline = mb_ereg_replace('{new}', $caches_newstring, $tmpline);
|
||||
else
|
||||
$tmpline = mb_ereg_replace('{new}', '', $tmpline);
|
||||
|
||||
$tmpline = mb_ereg_replace('{diffpic}', icon_difficulty("diff", $caches_record['difficulty']), $tmpline);
|
||||
$tmpline = mb_ereg_replace('{terrpic}', icon_difficulty("terr", $caches_record['terrain']), $tmpline);
|
||||
$tmpline = mb_ereg_replace('{ratpic}', icon_rating($caches_record['founds'], $caches_record['topratings']), $tmpline);
|
||||
|
||||
if ($caches_record['oconly'] == 1)
|
||||
$tmpline = mb_ereg_replace('{oconly}', $caches_oconlystring, $tmpline);
|
||||
else
|
||||
$tmpline = mb_ereg_replace('{oconly}', '', $tmpline);
|
||||
|
||||
// get last logs
|
||||
if ($options['sort'] != 'bymylastlog' || $usr === false)
|
||||
$ownlogs = "";
|
||||
else
|
||||
$ownlogs = " AND `cache_logs`.`user_id`='" . sql_escape($usr['userid']) . "'";
|
||||
$sql = 'SELECT `cache_logs`.`id` `id`, `cache_logs`.`type` `type`, `cache_logs`.`date` `date`, `log_types`.`icon_small` `icon_small`
|
||||
FROM `cache_logs`, `log_types`
|
||||
WHERE `cache_logs`.`cache_id`=\'' . sql_escape($caches_record['cache_id']) . '\'
|
||||
AND `log_types`.`id`=`cache_logs`.`type`' . $ownlogs . '
|
||||
ORDER BY `cache_logs`.`date` DESC LIMIT 6';
|
||||
$result = sql_slave($sql);
|
||||
|
||||
if ($row = sql_fetch_array($result))
|
||||
{
|
||||
$loglink = '<a href=\'viewlogs.php?cacheid='.htmlspecialchars($caches_record['cache_id'], ENT_COMPAT, 'UTF-8').'#log'.htmlspecialchars($row['id'], ENT_COMPAT, 'UTF-8').'\'>';
|
||||
$tmpline = mb_ereg_replace('{logimage1}',
|
||||
$loglink . icon_log_type($row['icon_small'], ""). '</a>{gray_s}' . $loglink. date($logdateformat, strtotime($row['date'])) . '{gray_e}</a>', $tmpline);
|
||||
$tmpline = mb_ereg_replace('{logdate1}', "", $tmpline);
|
||||
}
|
||||
else
|
||||
{
|
||||
$tmpline = mb_ereg_replace('{logimage1}', "<img src='images/trans.gif' border='0' width='16' height='16' />", $tmpline);
|
||||
$tmpline = mb_ereg_replace('{logdate1}', "--.--.----", $tmpline);
|
||||
}
|
||||
|
||||
$lastlogs = "";
|
||||
while ($row = sql_fetch_array($result))
|
||||
{
|
||||
$lastlogs .= '<a href=\'viewlogs.php?cacheid=' . urlencode($caches_record['cache_id']) . '#log' . htmlspecialchars($row['id'], ENT_COMPAT, 'UTF-8') . '\'>' . icon_log_type($row['icon_small'], '') . '</a> ';
|
||||
}
|
||||
$tmpline = mb_ereg_replace('{lastlogs}', $lastlogs, $tmpline);
|
||||
|
||||
// und jetzt noch die Richtung ...
|
||||
if ($caches_record['distance'] > 0)
|
||||
{
|
||||
$tmpline = mb_ereg_replace('{direction}', Bearing2Text(calcBearing($lat_rad / 3.14159 * 180, $lon_rad / 3.14159 * 180, $caches_record['latitude'], $caches_record['longitude']), 1), $tmpline);
|
||||
}
|
||||
else
|
||||
$tmpline = mb_ereg_replace('{direction}', '', $tmpline);
|
||||
|
||||
$desclangs = '';
|
||||
$aLangs = mb_split(',', $caches_record['desc_languages']);
|
||||
foreach ($aLangs AS $thislang)
|
||||
{
|
||||
$desclangs .= '<a href="viewcache.php?cacheid=' . urlencode($caches_record['cache_id']) . '&desclang=' . urlencode($thislang) . '" style="text-decoration:none;"><b><font color="blue">' . htmlspecialchars($thislang, ENT_COMPAT, 'UTF-8') . '</font></b></a> ';
|
||||
}
|
||||
|
||||
// strikeout inavtive caches
|
||||
// see also res_cachestatus_span.tpl
|
||||
$status_style = ""; // (colored) strike-through for inactive caches
|
||||
$line_style = ""; // color of the linked cache name
|
||||
$name_style = ""; // color of "by <username>"
|
||||
switch ($caches_record['status'])
|
||||
{
|
||||
case 2: // disabled
|
||||
$status_style = "text-decoration: line-through;";
|
||||
break;
|
||||
case 3: // archived
|
||||
case 6: // locked
|
||||
$status_style = "text-decoration: line-through; color: #c00000;";
|
||||
// $line_style = "color:grey";
|
||||
break;
|
||||
case 7: // locked, invisible
|
||||
$status_style = "text-decoration: line-through; color: #e00000";
|
||||
$name_style = "color: #e00000";
|
||||
// $line_style = "color:grey";
|
||||
break;
|
||||
case 5: // not published yet
|
||||
$name_style = "color: #e00000";
|
||||
break;
|
||||
default: $status_style = $line_style = "";
|
||||
}
|
||||
|
||||
$tmpline = mb_ereg_replace('{line_style}', $line_style, $tmpline);
|
||||
$tmpline = mb_ereg_replace('{status_style}', $status_style, $tmpline);
|
||||
$tmpline = mb_ereg_replace('{name_style}', $name_style, $tmpline);
|
||||
$tmpline = mb_ereg_replace('{desclangs}', $desclangs, $tmpline);
|
||||
$tmpline = mb_ereg_replace('{cachename}', htmlspecialchars($caches_record['name'], ENT_COMPAT, 'UTF-8'), $tmpline);
|
||||
$tmpline = mb_ereg_replace('{urlencode_cacheid}', htmlspecialchars(urlencode($caches_record['cache_id']), ENT_COMPAT, 'UTF-8'), $tmpline);
|
||||
$tmpline = mb_ereg_replace('{urlencode_userid}', htmlspecialchars(urlencode($caches_record['user_id']), ENT_COMPAT, 'UTF-8'), $tmpline);
|
||||
$tmpline = mb_ereg_replace('{username}', htmlspecialchars($caches_record['username'], ENT_COMPAT, 'UTF-8'), $tmpline);
|
||||
$tmpline = mb_ereg_replace('{position}', $nRowIndex + $startat + 1, $tmpline);
|
||||
|
||||
if ($caches_record['distance'] == NULL)
|
||||
$tmpline = mb_ereg_replace('{distance}', '', $tmpline);
|
||||
else
|
||||
$tmpline = mb_ereg_replace('{distance}', htmlspecialchars(sprintf("%01.1f", $caches_record['distance']), ENT_COMPAT, 'UTF-8'), $tmpline);
|
||||
|
||||
// backgroundcolor of line
|
||||
if (($nRowIndex % 2) == 1) $bgcolor = $bgcolor2;
|
||||
else $bgcolor = $bgcolor1;
|
||||
|
||||
if ($inactive)
|
||||
{
|
||||
//$bgcolor = $bgcolor_inactive;
|
||||
$tmpline = mb_ereg_replace('{gray_s}', "<span class='text_gray'>", $tmpline);
|
||||
$tmpline = mb_ereg_replace('{gray_e}', "</span>", $tmpline);
|
||||
}
|
||||
else
|
||||
{
|
||||
$tmpline = mb_ereg_replace('{gray_s}', "", $tmpline);
|
||||
$tmpline = mb_ereg_replace('{gray_e}', "", $tmpline);
|
||||
}
|
||||
|
||||
$tmpline = mb_ereg_replace('{bgcolor}', $bgcolor, $tmpline);
|
||||
|
||||
$nRowIndex++;
|
||||
$caches_output .= $tmpline;
|
||||
}
|
||||
mysql_free_result($rs_caches);
|
||||
|
||||
tpl_set_var('results', $caches_output);
|
||||
|
||||
// more than one page?
|
||||
if ($resultcount <= $caches_per_page)
|
||||
$pages = '';
|
||||
else
|
||||
{
|
||||
if ($startat > 0) // Ocprop: queryid=([0-9]+)
|
||||
$pages = '<a href="search1.php?queryid=' . $options['queryid'] . '&startat=0"><img src="resource2/ocstyle/images/navigation/16x16-browse-first.png" width="16" height="16"></a> <a href="search1.php?queryid=' . $options['queryid'] . '&startat=' . ($startat - $caches_per_page) . '"><img src="resource2/ocstyle/images/navigation/16x16-browse-prev.png" width="16" height="16"></a></a> ';
|
||||
else
|
||||
$pages = ' <img src="resource2/ocstyle/images/navigation/16x16-browse-first-inactive.png" width="16" height="16"></a> <img src="resource2/ocstyle/images/navigation/16x16-browse-prev-inactive.png" width="16" height="16"></a> ';
|
||||
|
||||
$frompage = ($startat / $caches_per_page) - 3;
|
||||
if ($frompage < 1) $frompage = 1;
|
||||
$maxpage = ceil($resultcount / $caches_per_page);
|
||||
$topage = $frompage + 8;
|
||||
if ($topage > $maxpage) $topage = $maxpage;
|
||||
|
||||
for ($i = $frompage; $i <= $topage; $i++)
|
||||
{
|
||||
if (($startat / $caches_per_page + 1) == $i)
|
||||
$pages .= ' <b>' . $i . '</b>';
|
||||
else
|
||||
$pages .= ' <a href="search1.php?queryid=' . $options['queryid'] . '&startat=' . (($i - 1) * $caches_per_page) . '">' . $i . '</a>';
|
||||
}
|
||||
|
||||
if ($startat / $caches_per_page < ($maxpage - 1))
|
||||
$pages .= ' <a href="search1.php?queryid=' . $options['queryid'] . '&startat=' . ($startat + $caches_per_page) . '"><img src="resource2/ocstyle/images/navigation/16x16-browse-next.png" width="16" height="16"></a> <a href="search1.php?queryid=' . $options['queryid'] . '&startat=' . (($maxpage - 1) * $caches_per_page) . '"><img src="resource2/ocstyle/images/navigation/16x16-browse-last.png" width="16" height="16"></a> ';
|
||||
else
|
||||
$pages .= ' <img src="resource2/ocstyle/images/navigation/16x16-browse-next-inactive.png" width="16" height="16"> <img src="resource2/ocstyle/images/navigation/16x16-browse-last-inactive.png" width="16" height="16"></a>';
|
||||
}
|
||||
|
||||
//'<a href="search1.php?queryid=' . $options['queryid'] . '&startat=20">20</a> 40 60 80 100';
|
||||
//$caches_per_page
|
||||
//count($caches) - 1
|
||||
tpl_set_var('pages', $pages);
|
||||
tpl_set_var('showonmap', $showonmap);
|
||||
|
||||
// downloads
|
||||
tpl_set_var('queryid', $options['queryid']);
|
||||
tpl_set_var('startat', $startat);
|
||||
|
||||
tpl_set_var('startatp1', min($resultcount,$startat + 1));
|
||||
|
||||
if (($resultcount - $startat) < 500)
|
||||
tpl_set_var('endat', $startat + $resultcount - $startat);
|
||||
else
|
||||
tpl_set_var('endat', $startat + 500);
|
||||
|
||||
// kompatibilität!
|
||||
if ($distance_unit == 'sm')
|
||||
tpl_set_var('distanceunit', 'mi');
|
||||
else if ($distance_unit == 'nm')
|
||||
tpl_set_var('distanceunit', 'sm');
|
||||
else
|
||||
tpl_set_var('distanceunit', $distance_unit);
|
||||
|
||||
tpl_set_var('displaylastlogs', $options['sort'] == 'bymylastlog' ? 'none' : 'inline');
|
||||
tpl_set_var('displayownlogs', $options['sort'] == 'bymylastlog' ? 'inline' : 'none');
|
||||
|
||||
if ($sqldebug == true)
|
||||
sqldbg_end();
|
||||
else
|
||||
tpl_BuildTemplate();
|
||||
}
|
||||
|
||||
?>
|
153
htdocs/lib/search1/search.inc.php
Normal file
153
htdocs/lib/search1/search.inc.php
Normal file
@@ -0,0 +1,153 @@
|
||||
<?php
|
||||
/****************************************************************************
|
||||
./lib/search.inc.php
|
||||
--------------------
|
||||
begin : Sun September 25 2005
|
||||
|
||||
For license information see doc/license.txt
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
|
||||
Unicode Reminder メモ
|
||||
|
||||
functions for the search-engine
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
require_once('lib2/data-license.inc.php');
|
||||
|
||||
/* begin conversion rules */
|
||||
|
||||
$search_simplerules[] = array('qu', 'k');
|
||||
$search_simplerules[] = array('ts', 'z');
|
||||
$search_simplerules[] = array('tz', 'z');
|
||||
$search_simplerules[] = array('alp', 'alb');
|
||||
$search_simplerules[] = array('y', 'i');
|
||||
$search_simplerules[] = array('ai', 'ei');
|
||||
$search_simplerules[] = array('ou', 'u');
|
||||
$search_simplerules[] = array('th', 't');
|
||||
$search_simplerules[] = array('ph', 'f');
|
||||
$search_simplerules[] = array('oh', 'o');
|
||||
$search_simplerules[] = array('ah', 'a');
|
||||
$search_simplerules[] = array('eh', 'e');
|
||||
$search_simplerules[] = array('aux', 'o');
|
||||
$search_simplerules[] = array('eau', 'o');
|
||||
$search_simplerules[] = array('eux', 'oe');
|
||||
$search_simplerules[] = array('^ch', 'sch');
|
||||
$search_simplerules[] = array('ck', 'k');
|
||||
$search_simplerules[] = array('ie', 'i');
|
||||
$search_simplerules[] = array('ih', 'i');
|
||||
$search_simplerules[] = array('ent', 'end');
|
||||
$search_simplerules[] = array('uh', 'u');
|
||||
$search_simplerules[] = array('sh', 'sch');
|
||||
$search_simplerules[] = array('ver', 'wer');
|
||||
$search_simplerules[] = array('dt', 't');
|
||||
$search_simplerules[] = array('hard', 'hart');
|
||||
$search_simplerules[] = array('egg', 'ek');
|
||||
$search_simplerules[] = array('eg', 'ek');
|
||||
$search_simplerules[] = array('cr', 'kr');
|
||||
$search_simplerules[] = array('ca', 'ka');
|
||||
$search_simplerules[] = array('ce', 'ze');
|
||||
$search_simplerules[] = array('x', 'ks');
|
||||
$search_simplerules[] = array('ve', 'we');
|
||||
$search_simplerules[] = array('va', 'wa');
|
||||
|
||||
/* end conversion rules */
|
||||
|
||||
function search_text2simple($str)
|
||||
{
|
||||
global $search_simplerules;
|
||||
|
||||
$str = search_text2sort($str);
|
||||
|
||||
// regeln anwenden
|
||||
foreach ($search_simplerules AS $rule)
|
||||
{
|
||||
$str = mb_ereg_replace($rule[0], $rule[1], $str);
|
||||
}
|
||||
|
||||
// doppelte chars ersetzen
|
||||
for ($c = ord('a'); $c <= ord('z'); $c++)
|
||||
$str = mb_ereg_replace(chr($c) . chr($c), chr($c), $str);
|
||||
|
||||
return $str;
|
||||
}
|
||||
|
||||
function search_text2sort($str)
|
||||
{
|
||||
$str = mb_strtolower($str);
|
||||
|
||||
// alles was nicht a-z ist ersetzen
|
||||
$str = mb_ereg_replace('0', '', $str);
|
||||
$str = mb_ereg_replace('1', '', $str);
|
||||
$str = mb_ereg_replace('2', '', $str);
|
||||
$str = mb_ereg_replace('3', '', $str);
|
||||
$str = mb_ereg_replace('4', '', $str);
|
||||
$str = mb_ereg_replace('5', '', $str);
|
||||
$str = mb_ereg_replace('6', '', $str);
|
||||
$str = mb_ereg_replace('7', '', $str);
|
||||
$str = mb_ereg_replace('8', '', $str);
|
||||
$str = mb_ereg_replace('9', '', $str);
|
||||
|
||||
// deutsches
|
||||
$str = mb_ereg_replace('ä', 'ae', $str);
|
||||
$str = mb_ereg_replace('ö', 'oe', $str);
|
||||
$str = mb_ereg_replace('ü', 'ue', $str);
|
||||
$str = mb_ereg_replace('Ä', 'ae', $str);
|
||||
$str = mb_ereg_replace('Ö', 'oe', $str);
|
||||
$str = mb_ereg_replace('Ü', 'ue', $str);
|
||||
$str = mb_ereg_replace('ß', 'ss', $str);
|
||||
|
||||
// akzente usw.
|
||||
$str = mb_ereg_replace('à', 'a', $str);
|
||||
$str = mb_ereg_replace('á', 'a', $str);
|
||||
$str = mb_ereg_replace('â', 'a', $str);
|
||||
$str = mb_ereg_replace('è', 'e', $str);
|
||||
$str = mb_ereg_replace('é', 'e', $str);
|
||||
$str = mb_ereg_replace('ë', 'e', $str);
|
||||
$str = mb_ereg_replace('É', 'e', $str);
|
||||
$str = mb_ereg_replace('ô', 'o', $str);
|
||||
$str = mb_ereg_replace('ó', 'o', $str);
|
||||
$str = mb_ereg_replace('ò', 'o', $str);
|
||||
$str = mb_ereg_replace('ê', 'e', $str);
|
||||
$str = mb_ereg_replace('ě', 'e', $str);
|
||||
$str = mb_ereg_replace('û', 'u', $str);
|
||||
$str = mb_ereg_replace('ç', 'c', $str);
|
||||
$str = mb_ereg_replace('c', 'c', $str);
|
||||
$str = mb_ereg_replace('ć', 'c', $str);
|
||||
$str = mb_ereg_replace('î', 'i', $str);
|
||||
$str = mb_ereg_replace('ï', 'i', $str);
|
||||
$str = mb_ereg_replace('ì', 'i', $str);
|
||||
$str = mb_ereg_replace('í', 'i', $str);
|
||||
$str = mb_ereg_replace('ł', 'l', $str);
|
||||
$str = mb_ereg_replace('š', 's', $str);
|
||||
$str = mb_ereg_replace('Š', 's', $str);
|
||||
$str = mb_ereg_replace('u', 'u', $str);
|
||||
$str = mb_ereg_replace('ý', 'y', $str);
|
||||
$str = mb_ereg_replace('ž', 'z', $str);
|
||||
$str = mb_ereg_replace('Ž', 'Z', $str);
|
||||
|
||||
$str = mb_ereg_replace('Æ', 'ae', $str);
|
||||
$str = mb_ereg_replace('æ', 'ae', $str);
|
||||
$str = mb_ereg_replace('œ', 'oe', $str);
|
||||
|
||||
// interpunktion
|
||||
$str = mb_ereg_replace('\\?', '', $str);
|
||||
$str = mb_ereg_replace('\\)', '', $str);
|
||||
$str = mb_ereg_replace('\\(', '', $str);
|
||||
$str = mb_ereg_replace('\\.', ' ', $str);
|
||||
$str = mb_ereg_replace('´', ' ', $str);
|
||||
$str = mb_ereg_replace('`', ' ', $str);
|
||||
$str = mb_ereg_replace('\'', ' ', $str);
|
||||
|
||||
// sonstiges
|
||||
$str = str_replace('', '', $str);
|
||||
|
||||
// der rest
|
||||
$str = mb_ereg_replace('[^a-z]', '', $str);
|
||||
|
||||
return $str;
|
||||
}
|
||||
|
||||
?>
|
213
htdocs/lib/search1/search.kml.inc.php
Normal file
213
htdocs/lib/search1/search.kml.inc.php
Normal file
@@ -0,0 +1,213 @@
|
||||
<?php
|
||||
/***************************************************************************
|
||||
For license information see doc/license.txt
|
||||
|
||||
Unicode Reminder メモ
|
||||
|
||||
kml search output
|
||||
****************************************************************************/
|
||||
|
||||
$search_output_file_download = true;
|
||||
$content_type_plain = 'vnd.google-earth.kml';
|
||||
$content_type_zipped = 'vnd.google-earth.kmz';
|
||||
|
||||
|
||||
function search_output()
|
||||
{
|
||||
global $sqldebug, $stylepath;
|
||||
global $state_temporarily_na, $state_archived, $state_locked;
|
||||
|
||||
$kmlLine =
|
||||
'
|
||||
<Placemark>
|
||||
<description><![CDATA[<a href="http://www.opencaching.de/viewcache.php?cacheid={cacheid}">Beschreibung ansehen</a><br>Von {username}<br> <br><table cellspacing="0" cellpadding="0" border="0"><tr><td>{typeimgurl} </td><td>Art: {type}<br>Größe: {size}</td></tr><tr><td colspan="2">Schwierigkeit: {difficulty} von 5.0<br>Gelände: {terrain} von 5.0</td></tr></table>]]></description>
|
||||
<name>{name}{archivedflag}</name>
|
||||
<LookAt>
|
||||
<longitude>{lon}</longitude>
|
||||
<latitude>{lat}</latitude>
|
||||
<range>5000</range>
|
||||
<tilt>0</tilt>
|
||||
<heading>3</heading>
|
||||
</LookAt>
|
||||
<styleUrl>#{icon}</styleUrl>
|
||||
<Point>
|
||||
<coordinates>{lon},{lat},0</coordinates>
|
||||
</Point>
|
||||
<Snippet>D: {difficulty}/T: {terrain} {size} von {username}</Snippet>
|
||||
</Placemark>
|
||||
';
|
||||
|
||||
$kmlFoot = '</Folder></Document></kml>';
|
||||
|
||||
$kmlTimeFormat = 'Y-m-d\TH:i:s\Z';
|
||||
$kmlDetailHead = read_file($stylepath . '/search.result.caches.kml.head.tpl.php');
|
||||
|
||||
$rsMinMax = sql_slave('
|
||||
SELECT
|
||||
MIN(`longitude`) `minlon`,
|
||||
MAX(`longitude`) `maxlon`,
|
||||
MIN(`latitude`) `minlat`,
|
||||
MAX(`latitude`) `maxlat`
|
||||
FROM
|
||||
`searchtmp`', $sqldebug);
|
||||
$rMinMax = sql_fetch_array($rsMinMax);
|
||||
mysql_free_result($rsMinMax);
|
||||
|
||||
$kmlDetailHead = mb_ereg_replace('{minlat}', $rMinMax['minlat'], $kmlDetailHead);
|
||||
$kmlDetailHead = mb_ereg_replace('{minlon}', $rMinMax['minlon'], $kmlDetailHead);
|
||||
$kmlDetailHead = mb_ereg_replace('{maxlat}', $rMinMax['maxlat'], $kmlDetailHead);
|
||||
$kmlDetailHead = mb_ereg_replace('{maxlon}', $rMinMax['maxlon'], $kmlDetailHead);
|
||||
$kmlDetailHead = mb_ereg_replace('{time}', date($kmlTimeFormat), $kmlDetailHead);
|
||||
|
||||
append_output($kmlDetailHead);
|
||||
|
||||
/*
|
||||
wp
|
||||
name
|
||||
username
|
||||
type
|
||||
size
|
||||
lon
|
||||
lat
|
||||
icon
|
||||
*/
|
||||
|
||||
$rs = sql_slave('
|
||||
SELECT SQL_BUFFER_RESULT
|
||||
`searchtmp`.`cache_id` `cacheid`,
|
||||
`searchtmp`.`longitude`,
|
||||
`searchtmp`.`latitude`,
|
||||
`searchtmp`.`type`,
|
||||
`caches`.`date_hidden`,
|
||||
`caches`.`name`,
|
||||
`caches`.`status`,
|
||||
`cache_type`.`de` `typedesc`,
|
||||
`cache_size`.`de` `sizedesc`,
|
||||
`caches`.`terrain`,
|
||||
`caches`.`difficulty`,
|
||||
`user`.`username`
|
||||
FROM
|
||||
`searchtmp`,
|
||||
`caches`,
|
||||
`cache_type`,
|
||||
`cache_size`,
|
||||
`user`
|
||||
WHERE
|
||||
`searchtmp`.`cache_id`=`caches`.`cache_id` AND
|
||||
`searchtmp`.`type`=`cache_type`.`id` AND
|
||||
`searchtmp`.`size`=`cache_size`.`id` AND
|
||||
`searchtmp`.`user_id`=`user`.`user_id`',
|
||||
$sqldebug);
|
||||
|
||||
while ($r = sql_fetch_array($rs))
|
||||
{
|
||||
$thisline = $kmlLine;
|
||||
|
||||
// icon suchen
|
||||
switch ($r['type'])
|
||||
{
|
||||
case 2:
|
||||
$icon = 'tradi';
|
||||
$typeimgurl = '<img src="http://www.opencaching.de/resource2/ocstyle/images/cacheicon/traditional.gif" alt="Normaler Cache" title="Normaler Cache" />';
|
||||
break;
|
||||
case 3:
|
||||
$icon = 'multi';
|
||||
$typeimgurl = '<img src="http://www.opencaching.de/resource2/ocstyle/images/cacheicon/multi.gif" alt="Multicache" title="Multicache" />';
|
||||
break;
|
||||
case 4:
|
||||
$icon = 'virtual';
|
||||
$typeimgurl = '<img src="http://www.opencaching.de/resource2/ocstyle/images/cacheicon/virtual.gif" alt="virtueller Cache" title="virtueller Cache" />';
|
||||
break;
|
||||
case 5:
|
||||
$icon = 'webcam';
|
||||
$typeimgurl = '<img src="http://www.opencaching.de/resource2/ocstyle/images/cacheicon/webcam.gif" alt="Webcam Cache" title="Webcam Cache" />';
|
||||
break;
|
||||
case 6:
|
||||
$icon = 'event';
|
||||
$typeimgurl = '<img src="http://www.opencaching.de/resource2/ocstyle/images/cacheicon/event.gif" alt="Event Cache" title="Event Cache" />';
|
||||
break;
|
||||
case 7:
|
||||
$icon = 'mystery';
|
||||
$typeimgurl = '<img src="http://www.opencaching.de/resource2/ocstyle/images/cacheicon/mystery.gif" alt="Rätselcache" title="Event Cache" />';
|
||||
break;
|
||||
case 8:
|
||||
$icon = 'mathe';
|
||||
$typeimgurl = '<img src="http://www.opencaching.de/resource2/ocstyle/images/cacheicon/mathe.gif" alt="Mathe-/Physik-Cache" title="Event Cache" />';
|
||||
break;
|
||||
case 9:
|
||||
$icon = 'moving';
|
||||
$typeimgurl = '<img src="http://www.opencaching.de/resource2/ocstyle/images/cacheicon/moving.gif" alt="Moving Cache" title="Event Cache" />';
|
||||
break;
|
||||
case 10:
|
||||
$icon = 'drivein';
|
||||
$typeimgurl = '<img src="http://www.opencaching.de/resource2/ocstyle/images/cacheicon/drivein.gif" alt="Drive-In Cache" title="Event Cache" />';
|
||||
break;
|
||||
default:
|
||||
$icon = 'other';
|
||||
$typeimgurl = '<img src="http://www.opencaching.de/resource2/ocstyle/images/cacheicon/unknown.gif" alt="unbekannter Cachetyp" title="unbekannter Cachetyp" />';
|
||||
break;
|
||||
}
|
||||
$thisline = mb_ereg_replace('{icon}', $icon, $thisline);
|
||||
$thisline = mb_ereg_replace('{typeimgurl}', $typeimgurl, $thisline);
|
||||
|
||||
$lat = sprintf('%01.5f', $r['latitude']);
|
||||
$thisline = mb_ereg_replace('{lat}', $lat, $thisline);
|
||||
|
||||
$lon = sprintf('%01.5f', $r['longitude']);
|
||||
$thisline = mb_ereg_replace('{lon}', $lon, $thisline);
|
||||
|
||||
$time = date($kmlTimeFormat, strtotime($r['date_hidden']));
|
||||
$thisline = mb_ereg_replace('{time}', $time, $thisline);
|
||||
|
||||
$thisline = mb_ereg_replace('{name}', xmlentities($r['name']), $thisline);
|
||||
|
||||
if (($r['status'] == 2) || ($r['status'] == 3) || ($r['status'] == 6))
|
||||
{
|
||||
if ($r['status'] == 2)
|
||||
$thisline = mb_ereg_replace('{archivedflag}', ' ('.$state_temporarily_na.')', $thisline);
|
||||
elseif ($r['status'] == 3)
|
||||
$thisline = mb_ereg_replace('{archivedflag}', ' ('.$state_archived.')', $thisline);
|
||||
else
|
||||
$thisline = mb_ereg_replace('{archivedflag}', ' ('.$state_locked.')', $thisline);
|
||||
}
|
||||
else
|
||||
$thisline = mb_ereg_replace('{archivedflag}', '', $thisline);
|
||||
|
||||
$thisline = mb_ereg_replace('{type}', xmlentities($r['typedesc']), $thisline);
|
||||
$thisline = mb_ereg_replace('{size}', xmlentities($r['sizedesc']), $thisline);
|
||||
|
||||
$difficulty = sprintf('%01.1f', $r['difficulty'] / 2);
|
||||
$thisline = mb_ereg_replace('{difficulty}', $difficulty, $thisline);
|
||||
|
||||
$terrain = sprintf('%01.1f', $r['terrain'] / 2);
|
||||
$thisline = mb_ereg_replace('{terrain}', $terrain, $thisline);
|
||||
|
||||
$time = date($kmlTimeFormat, strtotime($r['date_hidden']));
|
||||
$thisline = mb_ereg_replace('{time}', $time, $thisline);
|
||||
|
||||
$thisline = mb_ereg_replace('{username}', xmlentities($r['username']), $thisline);
|
||||
$thisline = mb_ereg_replace('{cacheid}', xmlentities($r['cacheid']), $thisline);
|
||||
|
||||
append_output($thisline);
|
||||
}
|
||||
mysql_free_result($rs);
|
||||
|
||||
append_output($kmlFoot);
|
||||
}
|
||||
|
||||
|
||||
function xmlentities($str)
|
||||
{
|
||||
$from[0] = '&'; $to[0] = '&';
|
||||
$from[1] = '<'; $to[1] = '<';
|
||||
$from[2] = '>'; $to[2] = '>';
|
||||
$from[3] = '"'; $to[3] = '"';
|
||||
$from[4] = '\''; $to[4] = ''';
|
||||
|
||||
for ($i = 0; $i <= 4; $i++)
|
||||
$str = mb_ereg_replace($from[$i], $to[$i], $str);
|
||||
|
||||
return $str;
|
||||
}
|
||||
|
||||
?>
|
111
htdocs/lib/search1/search.loc.inc.php
Normal file
111
htdocs/lib/search1/search.loc.inc.php
Normal file
@@ -0,0 +1,111 @@
|
||||
<?php
|
||||
/***************************************************************************
|
||||
For license information see doc/license.txt
|
||||
|
||||
Unicode Reminder メモ
|
||||
|
||||
loc search output
|
||||
****************************************************************************/
|
||||
|
||||
$search_output_file_download = true;
|
||||
$content_type_plain = 'application/loc';
|
||||
|
||||
|
||||
function search_output()
|
||||
{
|
||||
global $state_temporarily_na, $state_archived, $state_locked;
|
||||
|
||||
$locHead = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><loc version="1.0" src="opencaching.de">' . "\n";
|
||||
|
||||
$locLine =
|
||||
'
|
||||
<waypoint>
|
||||
<name id="{waypoint}"><![CDATA[{archivedflag}{name} by {username}]]></name>
|
||||
<coord lat="{lat}" lon="{lon}"/>
|
||||
<type>Geocache</type>
|
||||
<link text="Beschreibung">http://www.opencaching.de/viewcache.php?cacheid={cacheid}</link>
|
||||
</waypoint>
|
||||
';
|
||||
|
||||
$locFoot = '</loc>';
|
||||
|
||||
append_output($locHead);
|
||||
|
||||
/*
|
||||
{waypoint}
|
||||
status -> {archivedflag}
|
||||
{name}
|
||||
{username}
|
||||
{lon}
|
||||
{lat}
|
||||
{cacheid}
|
||||
*/
|
||||
|
||||
$rs = sql_slave('
|
||||
SELECT SQL_BUFFER_RESULT
|
||||
`searchtmp`.`cache_id` `cacheid`,
|
||||
`searchtmp`.`longitude`,
|
||||
`searchtmp`.`latitude`,
|
||||
`caches`.`name`,
|
||||
`caches`.`status`,
|
||||
`caches`.`wp_oc` `waypoint`,
|
||||
`user`.`username` `username`
|
||||
FROM
|
||||
`searchtmp`,
|
||||
`caches`,
|
||||
`user`
|
||||
WHERE
|
||||
`searchtmp`.`cache_id`=`caches`.`cache_id` AND
|
||||
`searchtmp`.`user_id`=`user`.`user_id`');
|
||||
|
||||
while ($r = sql_fetch_array($rs))
|
||||
{
|
||||
$thisline = $locLine;
|
||||
|
||||
$lat = sprintf('%01.5f', $r['latitude']);
|
||||
$thisline = mb_ereg_replace('{lat}', $lat, $thisline);
|
||||
|
||||
$lon = sprintf('%01.5f', $r['longitude']);
|
||||
$thisline = mb_ereg_replace('{lon}', $lon, $thisline);
|
||||
|
||||
$thisline = mb_ereg_replace('{waypoint}', $r['waypoint'], $thisline);
|
||||
$thisline = mb_ereg_replace('{name}', xmlentities($r['name']), $thisline);
|
||||
|
||||
if (($r['status'] == 2) || ($r['status'] == 3) || ($r['status'] == 6))
|
||||
{
|
||||
if ($r['status'] == 2)
|
||||
$thisline = mb_ereg_replace('{archivedflag}', $state_temporarily_na.'!, ', $thisline);
|
||||
elseif ($r['status'] == 3)
|
||||
$thisline = mb_ereg_replace('{archivedflag}', $state_archived.'!, ', $thisline);
|
||||
else
|
||||
$thisline = mb_ereg_replace('{archivedflag}', $state_locked.'!, ', $thisline);
|
||||
}
|
||||
else
|
||||
$thisline = mb_ereg_replace('{archivedflag}', '', $thisline);
|
||||
|
||||
$thisline = mb_ereg_replace('{username}', xmlentities($r['username']), $thisline);
|
||||
$thisline = mb_ereg_replace('{cacheid}', $r['cacheid'], $thisline);
|
||||
|
||||
append_output($thisline);
|
||||
}
|
||||
mysql_free_result($rs);
|
||||
|
||||
append_output($locFoot);
|
||||
}
|
||||
|
||||
|
||||
function xmlentities($str)
|
||||
{
|
||||
$from[0] = '&'; $to[0] = '&';
|
||||
$from[1] = '<'; $to[1] = '<';
|
||||
$from[2] = '>'; $to[2] = '>';
|
||||
$from[3] = '"'; $to[3] = '"';
|
||||
$from[4] = '\''; $to[4] = ''';
|
||||
|
||||
for ($i = 0; $i <= 4; $i++)
|
||||
$str = mb_ereg_replace($from[$i], $to[$i], $str);
|
||||
|
||||
return $str;
|
||||
}
|
||||
|
||||
?>
|
72
htdocs/lib/search1/search.map2.inc.php
Normal file
72
htdocs/lib/search1/search.map2.inc.php
Normal file
@@ -0,0 +1,72 @@
|
||||
<?php
|
||||
/***************************************************************************
|
||||
* For license information see doc/license.txt
|
||||
*
|
||||
* Unicode Reminder メモ
|
||||
*
|
||||
* Execute search request for map.php
|
||||
* (use caching of the same quries)
|
||||
* TODO:cleanup
|
||||
***************************************************************************/
|
||||
|
||||
global $dblink, $dbslaveid;
|
||||
|
||||
$sqlchecksum = sprintf('%u', crc32($cachesFilter."\n".$sqlFilter));
|
||||
|
||||
/* config */
|
||||
$opt['map']['maxcacheage'] = 3600;
|
||||
|
||||
// check if query was already executed within the cache period
|
||||
$rsMapCache = sql("SELECT `result_id` FROM `map2_result` WHERE `sqlchecksum`='&1' AND DATE_ADD(`date_created`, INTERVAL '&2' SECOND)>NOW() AND `sqlquery`='&3'", $sqlchecksum, $opt['map']['maxcacheage'], $sqlFilter);
|
||||
if ($rMapCache = sql_fetch_assoc($rsMapCache))
|
||||
{
|
||||
$resultId = $rMapCache['result_id'];
|
||||
sql("UPDATE `map2_result` SET `shared_counter`=`shared_counter`+1 WHERE `result_id`='" . ($resultId+0) . "'");
|
||||
}
|
||||
else
|
||||
{
|
||||
db_connect_anyslave();
|
||||
|
||||
// ensure that query is performed without errors before reserving the result_id
|
||||
sql_slave("CREATE TEMPORARY TABLE `tmpmapresult` (`cache_id` INT UNSIGNED NOT NULL, PRIMARY KEY (`cache_id`)) ENGINE=MEMORY");
|
||||
sql_slave("INSERT INTO `tmpmapresult` (`cache_id`) " . $sqlFilter);
|
||||
|
||||
sql("INSERT INTO `map2_result` (`slave_id`, `sqlchecksum`, `sqlquery`, `date_created`, `date_lastqueried`) VALUES ('&1', '&2', '&3', NOW(), NOW())", $dbslaveid, $sqlchecksum, $cachesFilter."\n".$sqlFilter);
|
||||
$resultId = mysql_insert_id($dblink);
|
||||
|
||||
sql_slave("INSERT IGNORE INTO `map2_data` (`result_id`, `cache_id`) SELECT '&1', `cache_id` FROM `tmpmapresult`", $resultId);
|
||||
sql_slave("DROP TEMPORARY TABLE `tmpmapresult`");
|
||||
}
|
||||
|
||||
if ($map2_bounds)
|
||||
{
|
||||
$rs = sql_slave("SELECT MIN(`latitude`) AS `lat_min`,
|
||||
MAX(`latitude`) AS `lat_max`,
|
||||
MIN(`longitude`) AS `lon_min`,
|
||||
MAX(`longitude`) AS `lon_max`
|
||||
FROM `map2_data`, `caches`
|
||||
WHERE `result_id`='&1'
|
||||
AND `caches`.`cache_id`=`map2_data`.`cache_id`",
|
||||
$resultId);
|
||||
if (($rBounds = sql_fetch_assoc($rs)) && $rBounds['lat_min'] !== null /* >0 caches */)
|
||||
{
|
||||
if ($rBounds['lat_min'] == $rBounds['lat_max'] &&
|
||||
$rBounds['lon_min'] == $rBounds['lon_max']) // 1 Cache
|
||||
{
|
||||
$halfwin = 0.02;
|
||||
$rBounds['lat_min'] -= $halfwin;
|
||||
$rBounds['lat_max'] += $halfwin;
|
||||
$rBounds['lon_min'] -= $halfwin;
|
||||
$rBounds['lon_max'] += $halfwin;
|
||||
}
|
||||
$bounds_param = "&lat_min=" . round($rBounds['lat_min'],5) . "&lat_max=" . round($rBounds['lat_max'],5) . '&lon_min=' . round($rBounds['lon_min'],5) . '&lon_max=' . round($rBounds['lon_max'],5);
|
||||
}
|
||||
sql_free_result($rs);
|
||||
|
||||
tpl_redirect('map2.php?queryid=' . $options['queryid'] . '&resultid=' . $resultId . $bounds_param);
|
||||
}
|
||||
else
|
||||
echo $resultId;
|
||||
|
||||
exit;
|
||||
?>
|
87
htdocs/lib/search1/search.ov2.inc.php
Normal file
87
htdocs/lib/search1/search.ov2.inc.php
Normal file
@@ -0,0 +1,87 @@
|
||||
<?php
|
||||
/***************************************************************************
|
||||
For license information see doc/license.txt
|
||||
|
||||
Unicode Reminder メモ
|
||||
|
||||
ov2 search output
|
||||
****************************************************************************/
|
||||
|
||||
$search_output_file_download = true;
|
||||
$content_type_plain = 'application/ov2';
|
||||
|
||||
|
||||
function search_output()
|
||||
{
|
||||
global $sqldebug;
|
||||
|
||||
/*
|
||||
cacheid
|
||||
name
|
||||
latitude
|
||||
longitude
|
||||
type
|
||||
size
|
||||
difficulty
|
||||
terrain
|
||||
username
|
||||
waypoint
|
||||
*/
|
||||
|
||||
$sql = '
|
||||
SELECT
|
||||
`searchtmp`.`cache_id` `cacheid`,
|
||||
`searchtmp`.`longitude`,
|
||||
`searchtmp`.`latitude`,
|
||||
`caches`.`name`,
|
||||
`caches`.`wp_oc`,
|
||||
`caches`.`terrain`,
|
||||
`caches`.`difficulty`,
|
||||
`cache_type`.`short` `typedesc`,
|
||||
`cache_size`.`de` `sizedesc`,
|
||||
`user`.`username`
|
||||
FROM
|
||||
`searchtmp`,
|
||||
`caches`,
|
||||
`cache_type`,
|
||||
`cache_size`,
|
||||
`user`
|
||||
WHERE
|
||||
`searchtmp`.`cache_id`=`caches`.`cache_id` AND
|
||||
`searchtmp`.`type`=`cache_type`.`id` AND
|
||||
`searchtmp`.`size`=`cache_size`.`id` AND
|
||||
`searchtmp`.`user_id`=`user`.`user_id`';
|
||||
|
||||
$rs = sql_slave($sql, $sqldebug);
|
||||
|
||||
while ($r = sql_fetch_array($rs))
|
||||
{
|
||||
$lat = sprintf('%07d', $r['latitude'] * 100000);
|
||||
$lon = sprintf('%07d', $r['longitude'] * 100000);
|
||||
$name = convert_string($r['name']);
|
||||
$username = convert_string($r['username']);
|
||||
$type = convert_string($r['typedesc']);
|
||||
$size = convert_string($r['sizedesc']);
|
||||
$difficulty = sprintf('%01.1f', $r['difficulty'] / 2);
|
||||
$terrain = sprintf('%01.1f', $r['terrain'] / 2);
|
||||
$cacheid = convert_string($r['wp_oc']);
|
||||
|
||||
$line = "$name by $username, $type, $size, $cacheid";
|
||||
$record = pack("CLllA*x", 2, 1 + 4 + 4 + 4 + strlen($line) + 1, (int)$lon, (int)$lat, $line);
|
||||
|
||||
append_output($record);
|
||||
}
|
||||
mysql_free_result($rs);
|
||||
}
|
||||
|
||||
|
||||
function convert_string($str)
|
||||
{
|
||||
$newstr = iconv("UTF-8", "ISO-8859-1", $str);
|
||||
if ($newstr == false)
|
||||
return "--- charset error ---";
|
||||
else
|
||||
return $newstr;
|
||||
}
|
||||
|
||||
?>
|
78
htdocs/lib/search1/search.ovl.inc.php
Normal file
78
htdocs/lib/search1/search.ovl.inc.php
Normal file
@@ -0,0 +1,78 @@
|
||||
<?php
|
||||
/***************************************************************************
|
||||
For license information see doc/license.txt
|
||||
|
||||
Unicode Reminder メモ
|
||||
|
||||
ovl search output for TOP25, TOP50 etc.
|
||||
****************************************************************************/
|
||||
|
||||
$search_output_file_download = true;
|
||||
$content_type_plain = 'application/ovl';
|
||||
|
||||
|
||||
function search_output()
|
||||
{
|
||||
$ovlLine = "[Symbol {symbolnr1}]\r\nTyp=6\r\nGroup=1\r\nWidth=20\r\nHeight=20\r\nDir=100\r\nArt=1\r\nCol=3\r\nZoom=1\r\nSize=103\r\nArea=2\r\nXKoord={lon}\r\nYKoord={lat}\r\n[Symbol {symbolnr2}]\r\nTyp=2\r\nGroup=1\r\nCol=3\r\nArea=1\r\nZoom=1\r\nSize=130\r\nFont=1\r\nDir=100\r\nXKoord={lonname}\r\nYKoord={latname}\r\nText={cachename}\r\n";
|
||||
$ovlFoot = "[Overlay]\r\nSymbols={symbolscount}\r\n";
|
||||
|
||||
/*
|
||||
{symbolnr1}
|
||||
{lon}
|
||||
{lat}
|
||||
{symbolnr2}
|
||||
{lonname}
|
||||
{latname}
|
||||
{cachename}
|
||||
{symbolscount}
|
||||
*/
|
||||
|
||||
$nr = 1;
|
||||
$rs = sql_slave('
|
||||
SELECT SQL_BUFFER_RESULT
|
||||
`searchtmp`.`cache_id` `cacheid`,
|
||||
`searchtmp`.`longitude`,
|
||||
`searchtmp`.`latitude`,
|
||||
`caches`.`name`
|
||||
FROM
|
||||
`searchtmp`,
|
||||
`caches`
|
||||
WHERE
|
||||
`searchtmp`.`cache_id`=`caches`.`cache_id`');
|
||||
|
||||
while ($r = sql_fetch_array($rs))
|
||||
{
|
||||
$thisline = $ovlLine;
|
||||
|
||||
$lat = sprintf('%01.5f', $r['latitude']);
|
||||
$thisline = mb_ereg_replace('{lat}', $lat, $thisline);
|
||||
$thisline = mb_ereg_replace('{latname}', $lat, $thisline);
|
||||
|
||||
$lon = sprintf('%01.5f', $r['longitude']);
|
||||
$thisline = mb_ereg_replace('{lon}', $lon, $thisline);
|
||||
$thisline = mb_ereg_replace('{lonname}', $lon, $thisline);
|
||||
|
||||
$thisline = mb_ereg_replace('{cachename}', convert_string($r['name']), $thisline);
|
||||
$thisline = mb_ereg_replace('{symbolnr1}', $nr, $thisline);
|
||||
$thisline = mb_ereg_replace('{symbolnr2}', $nr + 1, $thisline);
|
||||
|
||||
append_output($thisline);
|
||||
$nr += 2;
|
||||
}
|
||||
mysql_free_result($rs);
|
||||
|
||||
$ovlFoot = mb_ereg_replace('{symbolscount}', $nr - 1, $ovlFoot);
|
||||
append_output($ovlFoot);
|
||||
}
|
||||
|
||||
|
||||
function convert_string($str)
|
||||
{
|
||||
$newstr = iconv("UTF-8", "ISO-8859-1", $str);
|
||||
if ($newstr == false)
|
||||
return $str;
|
||||
else
|
||||
return $newstr;
|
||||
}
|
||||
|
||||
?>
|
210
htdocs/lib/search1/search.txt.inc.php
Normal file
210
htdocs/lib/search1/search.txt.inc.php
Normal file
@@ -0,0 +1,210 @@
|
||||
<?php
|
||||
/***************************************************************************
|
||||
For license information see doc/license.txt
|
||||
|
||||
Unicode Reminder メモ
|
||||
|
||||
GPX search output
|
||||
****************************************************************************/
|
||||
|
||||
$search_output_file_download = true;
|
||||
$content_type_plain = 'text/plain';
|
||||
$zip_threshold = 1;
|
||||
$add_to_zipfile = false;
|
||||
|
||||
|
||||
function search_output()
|
||||
{
|
||||
global $absolute_server_URI, $locale;
|
||||
global $converted_from_html;
|
||||
global $phpzip, $bUseZip;
|
||||
|
||||
$txtLine = "Name: {cachename} von {owner}
|
||||
Koordinaten: {lon} {lat}
|
||||
Status: {status}
|
||||
|
||||
Versteckt am: {time}
|
||||
Wegpunkt: {waypoint}
|
||||
Land: {country}
|
||||
Cacheart: {type}
|
||||
Behälter: {container}
|
||||
D/T: {difficulty}/{terrain}
|
||||
Online: " . $absolute_server_URI . "viewcache.php?wp={waypoint}
|
||||
|
||||
Kurzbeschreibung: {shortdesc}
|
||||
|
||||
Beschreibung{htmlwarn}:
|
||||
<===================>
|
||||
{desc}
|
||||
<===================>
|
||||
|
||||
Zusätzliche Hinweise:
|
||||
<===================>
|
||||
{hints}
|
||||
<===================>
|
||||
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
|
||||
|
||||
Logeinträge:
|
||||
{logs}
|
||||
";
|
||||
|
||||
$txtLogs = "<===================>
|
||||
{username} / {date} / {type}
|
||||
|
||||
{text}
|
||||
";
|
||||
|
||||
$rs = sql_slave('
|
||||
SELECT SQL_BUFFER_RESULT
|
||||
`searchtmp`.`cache_id` `cacheid`,
|
||||
`searchtmp`.`longitude` `longitude`,
|
||||
`searchtmp`.`latitude` `latitude`,
|
||||
`caches`.`wp_oc` `waypoint`,
|
||||
`caches`.`date_hidden` `date_hidden`,
|
||||
`caches`.`name` `name`,
|
||||
`caches`.`country` `country`,
|
||||
`caches`.`terrain` `terrain`,
|
||||
`caches`.`difficulty` `difficulty`,
|
||||
`caches`.`desc_languages` `desc_languages`,
|
||||
`cache_size`.`de` `size`,
|
||||
`cache_type`.`de` `type`,
|
||||
`cache_status`.`de` `status`,
|
||||
`user`.`username` `username`,
|
||||
`cache_desc`.`desc` `desc`,
|
||||
`cache_desc`.`short_desc` `short_desc`,
|
||||
`cache_desc`.`hint` `hint`,
|
||||
`cache_desc`.`desc_html` `html`,
|
||||
`user`.`user_id`,
|
||||
`user`.`username`,
|
||||
`user`.`data_license`
|
||||
FROM
|
||||
`searchtmp`,
|
||||
`caches`,
|
||||
`user`,
|
||||
`cache_desc`,
|
||||
`cache_type`,
|
||||
`cache_status`,
|
||||
`cache_size`
|
||||
WHERE
|
||||
`searchtmp`.`cache_id`=`caches`.`cache_id` AND
|
||||
`caches`.`cache_id`=`cache_desc`.`cache_id` AND
|
||||
`caches`.`default_desclang`=`cache_desc`.`language` AND
|
||||
`searchtmp`.`user_id`=`user`.`user_id` AND
|
||||
`caches`.`type`=`cache_type`.`id` AND
|
||||
`caches`.`status`=`cache_status`.`id` AND
|
||||
`caches`.`size`=`cache_size`.`id`');
|
||||
|
||||
while ($r = sql_fetch_array($rs))
|
||||
{
|
||||
$thisline = $txtLine;
|
||||
|
||||
$lat = sprintf('%01.5f', $r['latitude']);
|
||||
$thisline = mb_ereg_replace('{lat}', help_latToDegreeStr($lat), $thisline);
|
||||
|
||||
$lon = sprintf('%01.5f', $r['longitude']);
|
||||
$thisline = mb_ereg_replace('{lon}', help_lonToDegreeStr($lon), $thisline);
|
||||
|
||||
$time = date('d.m.Y', strtotime($r['date_hidden']));
|
||||
$thisline = mb_ereg_replace('{time}', $time, $thisline);
|
||||
$thisline = mb_ereg_replace('{waypoint}', $r['waypoint'], $thisline);
|
||||
$thisline = mb_ereg_replace('{cacheid}', $r['cacheid'], $thisline);
|
||||
$thisline = mb_ereg_replace('{cachename}', $r['name'], $thisline);
|
||||
$thisline = mb_ereg_replace('{country}', db_CountryFromShort($r['country']), $thisline);
|
||||
|
||||
if ($r['hint'] == '')
|
||||
$thisline = mb_ereg_replace('{hints}', '', $thisline);
|
||||
else
|
||||
$thisline = mb_ereg_replace('{hints}', str_rot13_html(decodeEntities(strip_tags($r['hint']))), $thisline);
|
||||
|
||||
$thisline = mb_ereg_replace('{shortdesc}', $r['short_desc'], $thisline);
|
||||
|
||||
$license = getLicenseDisclaimer(
|
||||
$r['user_id'], $r['username'], $r['data_license'], $r['cacheid'], $locale, true, false, true);
|
||||
if ($license != "")
|
||||
$license = "\r\n\r\n$license";
|
||||
|
||||
if ($r['html'] == 0)
|
||||
{
|
||||
$thisline = mb_ereg_replace('{htmlwarn}', '', $thisline);
|
||||
$thisline = mb_ereg_replace('{desc}', decodeEntities(strip_tags($r['desc'])) . $license, $thisline);
|
||||
}
|
||||
else
|
||||
{
|
||||
$thisline = mb_ereg_replace('{htmlwarn}', " ($converted_from_html)", $thisline);
|
||||
$thisline = mb_ereg_replace('{desc}', html2txt($r['desc']) . $license, $thisline);
|
||||
}
|
||||
|
||||
$thisline = mb_ereg_replace('{type}', $r['type'], $thisline);
|
||||
$thisline = mb_ereg_replace('{container}', $r['size'], $thisline);
|
||||
$thisline = mb_ereg_replace('{status}', $r['status'], $thisline);
|
||||
|
||||
$difficulty = sprintf('%01.1f', $r['difficulty'] / 2);
|
||||
$thisline = mb_ereg_replace('{difficulty}', $difficulty, $thisline);
|
||||
|
||||
$terrain = sprintf('%01.1f', $r['terrain'] / 2);
|
||||
$thisline = mb_ereg_replace('{terrain}', $terrain, $thisline);
|
||||
|
||||
$thisline = mb_ereg_replace('{owner}', $r['username'], $thisline);
|
||||
|
||||
// logs ermitteln
|
||||
$logentries = '';
|
||||
$rsLogs = sql_slave("SELECT `cache_logs`.`id`, `cache_logs`.`text_html`, `log_types`.`de` `type`, `cache_logs`.`date`, `cache_logs`.`text`, `user`.`username` FROM `cache_logs`, `user`, `log_types` WHERE `cache_logs`.`user_id`=`user`.`user_id` AND `cache_logs`.`type`=`log_types`.`id` AND `cache_logs`.`cache_id`=&1 ORDER BY `cache_logs`.`date` DESC LIMIT 20", $r['cacheid']);
|
||||
while ($rLog = sql_fetch_array($rsLogs))
|
||||
{
|
||||
$thislog = $txtLogs;
|
||||
|
||||
$thislog = mb_ereg_replace('{id}', $rLog['id'], $thislog);
|
||||
if (substr($rLog['date'],11) == "00:00:00")
|
||||
$dateformat = "d.m.Y";
|
||||
else
|
||||
$dateformat = "d.m.Y H:i";
|
||||
$thislog = mb_ereg_replace('{date}', date($dateformat, strtotime($rLog['date'])), $thislog);
|
||||
$thislog = mb_ereg_replace('{username}', $rLog['username'], $thislog);
|
||||
|
||||
$logtype = $rLog['type'];
|
||||
|
||||
$thislog = mb_ereg_replace('{type}', $logtype, $thislog);
|
||||
if ($rLog['text_html'] == 0)
|
||||
$thislog = mb_ereg_replace('{text}', decodeEntities(strip_tags($rLog['text'])), $thislog);
|
||||
else
|
||||
$thislog = mb_ereg_replace('{text}', html2txt($rLog['text']), $thislog);
|
||||
|
||||
$logentries .= $thislog . "\n";
|
||||
}
|
||||
$thisline = mb_ereg_replace('{logs}', $logentries, $thisline);
|
||||
|
||||
$thisline = lf2crlf($thisline);
|
||||
if (($rCount['count'] == 1) && !$bUseZip)
|
||||
echo $thisline;
|
||||
else
|
||||
{
|
||||
$phpzip->add_data($r['waypoint'] . '.txt', $thisline);
|
||||
}
|
||||
}
|
||||
mysql_free_result($rs);
|
||||
}
|
||||
|
||||
|
||||
function decodeEntities($str)
|
||||
{
|
||||
$str = html_entity_decode($str, ENT_COMPAT, "UTF-8");
|
||||
return $str;
|
||||
}
|
||||
|
||||
function html2txt($html)
|
||||
{
|
||||
$str = mb_ereg_replace("\r\n", '', $html);
|
||||
$str = mb_ereg_replace("\n", '', $str);
|
||||
$str = mb_ereg_replace('<br />', "\n", $str);
|
||||
$str = strip_tags($str);
|
||||
$str = decodeEntities($str);
|
||||
return $str;
|
||||
}
|
||||
|
||||
function lf2crlf($str)
|
||||
{
|
||||
return mb_ereg_replace("\r\r\n" ,"\r\n" , mb_ereg_replace("\n" ,"\r\n" , $str));
|
||||
}
|
||||
|
||||
?>
|
195
htdocs/lib/search1/search.xml.inc.php
Normal file
195
htdocs/lib/search1/search.xml.inc.php
Normal file
@@ -0,0 +1,195 @@
|
||||
<?php
|
||||
|
||||
/***************************************************************************
|
||||
For license information see doc/license.txt
|
||||
|
||||
XML search output
|
||||
****************************************************************************/
|
||||
|
||||
$search_output_file_download = false;
|
||||
|
||||
|
||||
function search_output()
|
||||
{
|
||||
global $sqldebug;
|
||||
global $distance_unit, $startat, $count, $sql, $sqlLimit;
|
||||
|
||||
$encoding = 'UTF-8';
|
||||
|
||||
$xmlLine = " <cache>
|
||||
<name><![CDATA[{cachename}]]></name>
|
||||
<owner id=\"{ownerid}\"><![CDATA[{owner}]]></owner>
|
||||
<id>{cacheid}</id>
|
||||
<waypoint>{waypoint}</waypoint>
|
||||
<hidden>{time}</hidden>
|
||||
<status id=\"{statusid}\">{status}</status>
|
||||
<lon value=\"{lonvalue}\">{lon}</lon>
|
||||
<lat value=\"{latvalue}\">{lat}</lat>
|
||||
<distance unit=\"".$distance_unit."\">{distance}</distance>
|
||||
<type id=\"{typeid}\">{type}</type>
|
||||
<difficulty>{difficulty}</difficulty>
|
||||
<terrain>{terrain}</terrain>
|
||||
<size id=\"{sizeid}\">{container}</size>
|
||||
<country id=\"{countryid}\">{country}</country>
|
||||
<link><![CDATA[http://www.opencaching.de/viewcache.php?wp={waypoint}]]></link>
|
||||
<desc><![CDATA[{shortdesc}]]></desc>
|
||||
<hints><![CDATA[{hints}]]></hints>
|
||||
</cache>
|
||||
";
|
||||
|
||||
// create temporary table
|
||||
sql_slave('CREATE TEMPORARY TABLE `searchtmp`
|
||||
SELECT SQL_BUFFER_RESULT SQL_CALC_FOUND_ROWS ' . $sql . $sqlLimit);
|
||||
|
||||
$resultcount = sql_value_slave('SELECT FOUND_ROWS()', 0);
|
||||
|
||||
$rsCount = sql_slave('SELECT COUNT(*) `count` FROM `searchtmp`');
|
||||
$rCount = sql_fetch_array($rsCount);
|
||||
mysql_free_result($rsCount);
|
||||
|
||||
// start output
|
||||
if ($sqldebug == false)
|
||||
{
|
||||
header("Content-type: application/xml; charset=".$encoding);
|
||||
//header("Content-Disposition: attachment; filename=" . $sFilebasename . ".txt");
|
||||
}
|
||||
|
||||
echo "<?xml version=\"1.0\" encoding=\"".$encoding."\"?>\n";
|
||||
echo "<result>\n";
|
||||
|
||||
echo " <docinfo>\n";
|
||||
echo " <results>" . $rCount['count'] . "</results>\n";
|
||||
echo " <startat>" . $startat . "</startat>\n";
|
||||
echo " <perpage>" . $count . "</perpage>\n";
|
||||
echo " <total>" . $resultcount . "</total>\n";
|
||||
echo " </docinfo>\n";
|
||||
|
||||
$rs = sql_slave('SELECT `searchtmp`.`cache_id` `cacheid`,
|
||||
`searchtmp`.`longitude` `longitude`,
|
||||
`searchtmp`.`latitude` `latitude`,
|
||||
`caches`.`wp_oc` `waypoint`,
|
||||
`caches`.`date_hidden` `date_hidden`,
|
||||
`caches`.`name` `name`,
|
||||
`caches`.`country` `country`,
|
||||
`caches`.`terrain` `terrain`,
|
||||
`caches`.`difficulty` `difficulty`,
|
||||
`caches`.`desc_languages` `desc_languages`,
|
||||
`cache_size`.`name` `size`,
|
||||
`cache_size`.`id` `size_id`,
|
||||
`cache_type`.`name` `type`,
|
||||
`cache_type`.`id` `type_id`,
|
||||
`cache_status`.`name` `status`,
|
||||
`cache_status`.`id` `status_id`,
|
||||
`user`.`username` `username`,
|
||||
`user`.`user_id` `user_id`,
|
||||
`cache_desc`.`desc` `desc`,
|
||||
`cache_desc`.`short_desc` `short_desc`,
|
||||
`cache_desc`.`hint` `hint`,
|
||||
`cache_desc`.`desc_html` `html`,
|
||||
`searchtmp`.`distance` `distance`
|
||||
FROM `searchtmp`
|
||||
INNER JOIN `caches` ON `searchtmp`.`cache_id`=`caches`.`cache_id`
|
||||
INNER JOIN `user` ON `searchtmp`.`user_id`=`user`.`user_id`
|
||||
INNER JOIN `cache_desc` ON `caches`.`cache_id`=`cache_desc`.`cache_id` AND `caches`.`default_desclang`=`cache_desc`.`language`
|
||||
INNER JOIN `cache_type` ON `caches`.`type`=`cache_type`.`id`
|
||||
INNER JOIN `cache_status` ON `caches`.`status`=`cache_status`.`id`
|
||||
INNER JOIN `cache_size` ON `caches`.`size`=`cache_size`.`id`');
|
||||
while ($r = sql_fetch_array($rs))
|
||||
{
|
||||
$thisline = $xmlLine;
|
||||
|
||||
$lat = sprintf('%01.5f', $r['latitude']);
|
||||
$thisline = str_replace('{lat}', help_latToDegreeStr($lat), $thisline);
|
||||
$thisline = str_replace('{latvalue}', $lat, $thisline);
|
||||
|
||||
$lon = sprintf('%01.5f', $r['longitude']);
|
||||
$thisline = str_replace('{lon}', help_lonToDegreeStr($lon), $thisline);
|
||||
$thisline = str_replace('{lonvalue}', $lon, $thisline);
|
||||
|
||||
$time = date('d.m.Y', strtotime($r['date_hidden']));
|
||||
$thisline = str_replace('{time}', $time, $thisline);
|
||||
$thisline = str_replace('{waypoint}', $r['waypoint'], $thisline);
|
||||
$thisline = str_replace('{cacheid}', $r['cacheid'], $thisline);
|
||||
$thisline = str_replace('{cachename}', filterevilchars($r['name']), $thisline);
|
||||
$thisline = str_replace('{country}', db_CountryFromShort($r['country']), $thisline);
|
||||
$thisline = str_replace('{countryid}', $r['country'], $thisline);
|
||||
|
||||
if ($r['hint'] == '')
|
||||
$thisline = str_replace('{hints}', '', $thisline);
|
||||
else
|
||||
$thisline = str_replace('{hints}', str_rot13_html(filterevilchars(strip_tags($r['hint']))), $thisline);
|
||||
|
||||
$thisline = str_replace('{shortdesc}', filterevilchars($r['short_desc']), $thisline);
|
||||
|
||||
if ($r['html'] == 0)
|
||||
{
|
||||
$thisline = str_replace('{htmlwarn}', '', $thisline);
|
||||
$thisline = str_replace('{desc}', filterevilchars(strip_tags($r['desc'])), $thisline);
|
||||
}
|
||||
else
|
||||
{
|
||||
$thisline = str_replace('{htmlwarn}', ' (Text converted from HTML)', $thisline);
|
||||
$thisline = str_replace('{desc}', html2txt(filterevilchars($r['desc'])), $thisline);
|
||||
}
|
||||
|
||||
$thisline = str_replace('{type}', $r['type'], $thisline);
|
||||
$thisline = str_replace('{typeid}', $r['type_id'], $thisline);
|
||||
$thisline = str_replace('{container}', $r['size'], $thisline);
|
||||
$thisline = str_replace('{sizeid}', $r['size_id'], $thisline);
|
||||
$thisline = str_replace('{status}', $r['status'], $thisline);
|
||||
$thisline = str_replace('{statusid}', $r['status_id'], $thisline);
|
||||
|
||||
$difficulty = sprintf('%01.1f', $r['difficulty'] / 2);
|
||||
$thisline = str_replace('{difficulty}', $difficulty, $thisline);
|
||||
|
||||
$terrain = sprintf('%01.1f', $r['terrain'] / 2);
|
||||
$thisline = str_replace('{terrain}', $terrain, $thisline);
|
||||
|
||||
$thisline = str_replace('{owner}', filterevilchars($r['username']), $thisline);
|
||||
$thisline = str_replace('{ownerid}', filterevilchars($r['user_id']), $thisline);
|
||||
$thisline = str_replace('{distance}', htmlspecialchars(sprintf("%01.1f", $r['distance'])), $thisline);
|
||||
|
||||
$thisline = lf2crlf($thisline);
|
||||
|
||||
echo $thisline;
|
||||
}
|
||||
mysql_free_result($rs);
|
||||
sql_slave('DROP TABLE `searchtmp`');
|
||||
if ($sqldebug == true) sqldbg_end();
|
||||
echo "</result>\n";
|
||||
}
|
||||
|
||||
|
||||
function html2txt($html)
|
||||
{
|
||||
$str = str_replace("\r\n", '', $html);
|
||||
$str = str_replace("\n", '', $str);
|
||||
$str = str_replace('<br />', "\n", $str);
|
||||
$str = strip_tags($str);
|
||||
return $str;
|
||||
}
|
||||
|
||||
function lf2crlf($str)
|
||||
{
|
||||
return str_replace("\r\r\n" ,"\r\n" , str_replace("\n" ,"\r\n" , $str));
|
||||
}
|
||||
|
||||
function filterevilchars($str)
|
||||
{
|
||||
$evilchars = array(31 => 31, 30 => 30,
|
||||
29 => 29, 28 => 28, 27 => 27, 26 => 26, 25 => 25, 24 => 24,
|
||||
23 => 23, 22 => 22, 21 => 21, 20 => 20, 19 => 19, 18 => 18,
|
||||
17 => 17, 16 => 16, 15 => 15, 14 => 14, 12 => 12, 11 => 11,
|
||||
9 => 9, 8 => 8, 7 => 7, 6 => 6, 5 => 5, 4 => 4, 3 => 3,
|
||||
2 => 2, 1 => 1, 0 => 0);
|
||||
|
||||
foreach ($evilchars AS $ascii)
|
||||
$str = str_replace(chr($ascii), '', $str);
|
||||
|
||||
$str = preg_replace('/&([a-zA-Z]{1})caron;/', '\\1', $str);
|
||||
$str = preg_replace('/&([a-zA-Z]{1})acute;/', '\\1', $str);
|
||||
|
||||
return $str;
|
||||
}
|
||||
|
||||
?>
|
2150
htdocs/search1.php
Normal file
2150
htdocs/search1.php
Normal file
File diff suppressed because it is too large
Load Diff
@@ -261,7 +261,7 @@ function switchAttributeCat2()
|
||||
</script>
|
||||
{/literal}
|
||||
|
||||
<div class="content2-pagetitle"><img src="resource2/ocstyle/images/misc/32x32-search.png" style="align: left; margin-right: 10px;" width="32" height="32" alt="{t}Search for caches{/t}" />{t}Search for caches{/t}</div>
|
||||
<div class="content2-pagetitle"><img src="resource2/ocstyle/images/misc/32x32-search.png" style="align: left; margin-right: 10px;" width="32" height="32" alt="{t}Search for caches{/t}" />{t}Search for caches{/t} <small style="font-weight:normal">(→ <a href="search1.php">{t}old{/t}</a>)</small></div>
|
||||
|
||||
<form name="optionsform" style="display:inline;">
|
||||
|
||||
@@ -273,7 +273,7 @@ function switchAttributeCat2()
|
||||
<td colspan="2">
|
||||
<div style="padding:0 0 5px 0">
|
||||
<input type="radio" name="sort" value="byname" index="0" id="l_sortbyname" class="radio" onclick="sync_options(this)" {if $byname_checked}checked="checked"{/if} > <label for="l_sortbyname">{t}Cachename{/t}</label>
|
||||
<input type="radio" name="sort" value="bydistance" index="1" id="l_sortbydistance" class="radio" onclick="sync_options(this)" {if $bydistance_checked}checked="checked"{/if} {if !$bydistance_enabled}disabled="disabled"{/if} {if $disable_nologin}disabled="disabled"{/if}> <label for="l_sortbydistance" {if $disable_nologin}class="disabled">{/if}{t}Distance from <a href="myprofile.php">user-profile home coordinates</a>{/t}</label></div>
|
||||
<input type="radio" name="sort" value="bydistance" index="1" id="l_sortbydistance" class="radio" onclick="sync_options(this)" {if $bydistance_checked}checked="checked"{/if} {if !$bydistance_enabled}disabled="disabled"{/if} {if $disable_nologin}disabled="disabled"{/if}> <label for="l_sortbydistance" {if $disable_nologin}class="disabled"{/if}>{t}Distance from <a href="myprofile.php">user-profile home coordinates</a>{/t}</label></div>
|
||||
<input type="radio" name="sort" value="bycreated" index="2" id="l_sortbycreated" class="radio" onclick="sync_options(this)" {if $bycreated_checked}checked="checked"{/if}> <label for="l_sortbycreated">{t}Listed since{/t}</label>
|
||||
<input type="radio" name="sort" value="bylastlog" index="3" id="l_sortbylastlog" class="radio" onclick="sync_options(this)" {if $bylastlog_checked}checked="checked"{/if}> <label for="l_sortbylastlog" >{t}Last log{/t}</label>
|
||||
<input type="radio" name="sort" value="bymylastlog" index="4" id="l_sortbymylastlog" class="radio" onclick="sync_options(this)" {if $bymylastlog_checked}checked="checked"{/if} {if $disable_nologin}disabled="disabled"{/if}> <label for="l_sortbymylastlog" {if $disable_nologin}class="disabled"{/if}>{t}My last log{/t}</label>
|
||||
|
Reference in New Issue
Block a user