v3.0.5 code review: lots of small fixes and cleanup
- fixed nano selection in search form - removed unused, duplicate thumb replacement pics - freed mysql result in lib1 helppage-link generation - fixed logpic-is-on-first-page calculation - fixed and improved user option set handling - readded map dragzoom - improved log pic pages layout - user pics page counter fix
This commit is contained in:
@@ -21,7 +21,6 @@
|
|||||||
|
|
||||||
//prepare the templates and include all neccessary
|
//prepare the templates and include all neccessary
|
||||||
require_once('./lib/common.inc.php');
|
require_once('./lib/common.inc.php');
|
||||||
require_once('./lib2/logic/const.inc.php');
|
|
||||||
|
|
||||||
function getWaypoints($cacheid)
|
function getWaypoints($cacheid)
|
||||||
{
|
{
|
||||||
|
@@ -343,8 +343,8 @@ function switchAttributeCat2()
|
|||||||
<table class="table">
|
<table class="table">
|
||||||
<tr>
|
<tr>
|
||||||
<td>{t}Cachesize:{/t}</td>
|
<td>{t}Cachesize:{/t}</td>
|
||||||
<td><input type="checkbox" id="cachesize8" name="cachesize8" value="8" onclick="sync_options(this)" class="checkbox" {cachesize2checked} /> <label for="cachesize2">{t}nano{/t}</label> </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" {cachesize8checked} /> <label for="cachesize2">{t}micro{/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="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>
|
<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>
|
||||||
|
@@ -1222,7 +1222,7 @@ function __autoload($class_name)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// wiki help embedding
|
// external help embedding
|
||||||
// pay attention to use only ' quotes in $text (escape other ')
|
// pay attention to use only ' quotes in $text (escape other ')
|
||||||
//
|
//
|
||||||
// see corresponding function in lib2/common.inc.php
|
// see corresponding function in lib2/common.inc.php
|
||||||
@@ -1245,6 +1245,7 @@ function helppagelink($ocpage)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
$helppage = "";
|
$helppage = "";
|
||||||
|
mysql_free_result($rs);
|
||||||
|
|
||||||
$imgtitle = $translate->t('Instructions', '', basename(__FILE__), __LINE__);
|
$imgtitle = $translate->t('Instructions', '', basename(__FILE__), __LINE__);
|
||||||
$imgtitle = "alt='" . $imgtitle . "' title='" . $imgtitle . "'";
|
$imgtitle = "alt='" . $imgtitle . "' title='" . $imgtitle . "'";
|
||||||
|
@@ -317,7 +317,7 @@ function fix_magic_quotes_gpc()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// wiki help embedding
|
// external help embedding
|
||||||
// pay attention to use only ' quotes in $text (escape other ')
|
// pay attention to use only ' quotes in $text (escape other ')
|
||||||
//
|
//
|
||||||
// see corresponding function in lib/common.inc.php
|
// see corresponding function in lib/common.inc.php
|
||||||
|
@@ -32,10 +32,4 @@
|
|||||||
define('DB_MODE_BUSINESSLAYER', 1);
|
define('DB_MODE_BUSINESSLAYER', 1);
|
||||||
define('DB_MODE_USER', 2);
|
define('DB_MODE_USER', 2);
|
||||||
define('DB_DATE_FORMAT', '%Y-%m-%d %H:%M:%S');
|
define('DB_DATE_FORMAT', '%Y-%m-%d %H:%M:%S');
|
||||||
|
|
||||||
// constants for user options (must match values in DB!)
|
|
||||||
define('USR_OPT_GMZOOM', 1);
|
|
||||||
define('USR_OPT_SHOWSTATS', 5);
|
|
||||||
define('USR_OPT_TRANSLANG', 6);
|
|
||||||
define('USR_OPT_PICSTAT', 11);
|
|
||||||
?>
|
?>
|
||||||
|
@@ -53,4 +53,15 @@
|
|||||||
// As of march 2013, there are a good deal of OC.de caches with 50-100 pics,
|
// As of march 2013, there are a good deal of OC.de caches with 50-100 pics,
|
||||||
// but only one with more (~500 pics). If lots of caches have >100 pics,
|
// but only one with more (~500 pics). If lots of caches have >100 pics,
|
||||||
// it may pay out to limit the gallery e.g. to 60 pics and implement browsing.
|
// it may pay out to limit the gallery e.g. to 60 pics and implement browsing.
|
||||||
|
|
||||||
|
// constants for user options (must match values in DB!)
|
||||||
|
define('USR_OPT_GMZOOM', 1);
|
||||||
|
define('USR_OPT_SHOWSTATS', 5);
|
||||||
|
define('USR_OPT_MAP_MENU', 6);
|
||||||
|
define('USR_OPT_MAP_OVERVIEW', 7);
|
||||||
|
define('USR_OPT_MAP_MAXCACHES', 8);
|
||||||
|
define('USR_OPT_MAP_ICONSET', 9);
|
||||||
|
define('USR_OPT_MAP_PREVIEW', 10);
|
||||||
|
define('USR_OPT_PICSTAT', 11);
|
||||||
|
define('USR_OPT_TRANSLANG', 12);
|
||||||
?>
|
?>
|
@@ -25,14 +25,6 @@ function get_logpics($purpose, $userid=0, $cacheid=0, $startat=0)
|
|||||||
{
|
{
|
||||||
global $login;
|
global $login;
|
||||||
|
|
||||||
// Variables to return for res_logpictures are
|
|
||||||
//
|
|
||||||
// from pictures: uuid, url and title
|
|
||||||
// from cache_logs: id, cache_id, date and type (type currently unused)
|
|
||||||
// from user: user_id and username, only if no $userid param is given
|
|
||||||
|
|
||||||
$rs = false;
|
|
||||||
|
|
||||||
$fields = "`pics`.`uuid` AS `pic_uuid`, `pics`.`url` AS `pic_url`,
|
$fields = "`pics`.`uuid` AS `pic_uuid`, `pics`.`url` AS `pic_url`,
|
||||||
`pics`.`title`, `pics`.`date_created`,
|
`pics`.`title`, `pics`.`date_created`,
|
||||||
`logs`.`user_id`, `logs`.`cache_id`,
|
`logs`.`user_id`, `logs`.`cache_id`,
|
||||||
@@ -44,6 +36,8 @@ function get_logpics($purpose, $userid=0, $cacheid=0, $startat=0)
|
|||||||
"INNER JOIN `cache_status` ON `caches`.`status`=`cache_status`.`id` AND `allow_user_view`=1";
|
"INNER JOIN `cache_status` ON `caches`.`status`=`cache_status`.`id` AND `allow_user_view`=1";
|
||||||
$join_user = "INNER JOIN `user` ON `user`.`user_id`=`logs`.`user_id`";
|
$join_user = "INNER JOIN `user` ON `user`.`user_id`=`logs`.`user_id`";
|
||||||
|
|
||||||
|
$rs = false;
|
||||||
|
|
||||||
switch ($purpose)
|
switch ($purpose)
|
||||||
{
|
{
|
||||||
case LOGPICS_FOR_STARTPAGE_GALLERY:
|
case LOGPICS_FOR_STARTPAGE_GALLERY:
|
||||||
|
@@ -239,7 +239,7 @@ class picture
|
|||||||
return null;
|
return null;
|
||||||
else
|
else
|
||||||
$rs = sql("SELECT `id` FROM `cache_logs` WHERE `cache_id`='&1'
|
$rs = sql("SELECT `id` FROM `cache_logs` WHERE `cache_id`='&1'
|
||||||
ORDER BY `date` DESC
|
ORDER BY `date`, `id` DESC
|
||||||
LIMIT &2",
|
LIMIT &2",
|
||||||
$this->getCacheId(), MAX_LOGENTRIES_ON_CACHEPAGE);
|
$this->getCacheId(), MAX_LOGENTRIES_ON_CACHEPAGE);
|
||||||
$firstlogs = false;
|
$firstlogs = false;
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* You can find the license in the docs directory
|
* For license information see doc/license.txt
|
||||||
*
|
*
|
||||||
* Unicode Reminder メモ
|
* Unicode Reminder メモ
|
||||||
*
|
*
|
||||||
@@ -10,6 +10,7 @@
|
|||||||
global $opt;
|
global $opt;
|
||||||
|
|
||||||
require_once($opt['rootpath'] . '../lib/htmlpurifier-4.2.0/library/HTMLPurifier.auto.php');
|
require_once($opt['rootpath'] . '../lib/htmlpurifier-4.2.0/library/HTMLPurifier.auto.php');
|
||||||
|
require_once($opt['rootpath'] . 'lib2/logic/const.inc.php');
|
||||||
|
|
||||||
class useroptions
|
class useroptions
|
||||||
{
|
{
|
||||||
@@ -17,7 +18,7 @@ class useroptions
|
|||||||
var $nUserId = 0;
|
var $nUserId = 0;
|
||||||
var $nOptions;
|
var $nOptions;
|
||||||
|
|
||||||
function __construct($nUserId=ID_NEW, $optionset=1)
|
function __construct($nUserId=ID_NEW)
|
||||||
{
|
{
|
||||||
$this->nUserId = $nUserId+0;
|
$this->nUserId = $nUserId+0;
|
||||||
|
|
||||||
@@ -31,13 +32,12 @@ class useroptions
|
|||||||
$rs = sqll("SELECT `p`.`id`, `p`.`name`, `p`.`default_value`, `p`.`check_regex`, `p`.`option_order`, IFNULL(`u`.`option_visible`, 0) AS `option_visible`, `p`.`internal_use`, IFNULL(`u`.`option_value`, `p`.`default_value`) AS `option_value`
|
$rs = sqll("SELECT `p`.`id`, `p`.`name`, `p`.`default_value`, `p`.`check_regex`, `p`.`option_order`, IFNULL(`u`.`option_visible`, 0) AS `option_visible`, `p`.`internal_use`, IFNULL(`u`.`option_value`, `p`.`default_value`) AS `option_value`
|
||||||
FROM `profile_options` AS `p`
|
FROM `profile_options` AS `p`
|
||||||
LEFT JOIN `user_options` AS `u` ON `p`.`id`=`u`.`option_id` AND (`u`.`user_id` IS NULL OR `u`.`user_id`='&1')
|
LEFT JOIN `user_options` AS `u` ON `p`.`id`=`u`.`option_id` AND (`u`.`user_id` IS NULL OR `u`.`user_id`='&1')
|
||||||
WHERE `optionset`='&2'
|
|
||||||
UNION
|
UNION
|
||||||
SELECT `u`.`option_id` AS `id`, `p`.`name`, `p`.`default_value`, `p`.`check_regex`, `p`.`option_order`, `u`.`option_visible`, `p`.`internal_use`, IFNULL(`u`.`option_value`, `p`.`default_value`) AS `option_value`
|
SELECT `u`.`option_id` AS `id`, `p`.`name`, `p`.`default_value`, `p`.`check_regex`, `p`.`option_order`, `u`.`option_visible`, `p`.`internal_use`, IFNULL(`u`.`option_value`, `p`.`default_value`) AS `option_value`
|
||||||
FROM `user_options` AS `u`
|
FROM `user_options` AS `u`
|
||||||
LEFT JOIN `profile_options` AS `p` ON `p`.`id`=`u`.`option_id`
|
LEFT JOIN `profile_options` AS `p` ON `p`.`id`=`u`.`option_id`
|
||||||
WHERE `u`.`user_id`='&1'",
|
WHERE `u`.`user_id`='&1'",
|
||||||
$this->nUserId, $optionset);
|
$this->nUserId);
|
||||||
}
|
}
|
||||||
|
|
||||||
while($record = sql_fetch_array($rs))
|
while($record = sql_fetch_array($rs))
|
||||||
@@ -52,7 +52,7 @@ class useroptions
|
|||||||
{
|
{
|
||||||
return $this->nUserId;
|
return $this->nUserId;
|
||||||
}
|
}
|
||||||
function getOptSet()
|
function getOptSet($pId)
|
||||||
{
|
{
|
||||||
return $this->nOptions[$pId]['optionset'];
|
return $this->nOptions[$pId]['optionset'];
|
||||||
}
|
}
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* You can find the license in the docs directory
|
* For license information see doc/license.txt
|
||||||
*
|
*
|
||||||
* Unicode Reminder メモ
|
* Unicode Reminder メモ
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
@@ -8,6 +8,7 @@
|
|||||||
require('./lib2/web.inc.php');
|
require('./lib2/web.inc.php');
|
||||||
require_once('./lib2/logic/cache.class.php');
|
require_once('./lib2/logic/cache.class.php');
|
||||||
require_once('./lib2/logic/user.class.php');
|
require_once('./lib2/logic/user.class.php');
|
||||||
|
require_once('./lib2/logic/useroptions.class.php');
|
||||||
require_once('./lib2/logic/attribute.class.php');
|
require_once('./lib2/logic/attribute.class.php');
|
||||||
|
|
||||||
/* because the map does access some private info like
|
/* because the map does access some private info like
|
||||||
@@ -60,11 +61,10 @@
|
|||||||
else if ($sMode == 'fullscreen' ||
|
else if ($sMode == 'fullscreen' ||
|
||||||
($sMode == '' &&
|
($sMode == '' &&
|
||||||
sql_value("SELECT option_value FROM user_options
|
sql_value("SELECT option_value FROM user_options
|
||||||
INNER JOIN user ON user_options.user_id=user.user_id
|
WHERE option_id=6 AND user_id='&1'", true, $login->userid)))
|
||||||
WHERE option_id=6 AND user.user_id='&1'", true, $login->userid)))
|
|
||||||
{
|
{
|
||||||
$fullscreen = true;
|
$fullscreen = true;
|
||||||
$tpl->popup = true; // disables page header and -framefrapage
|
$tpl->popup = true; // disables page header and -frame
|
||||||
$tpl->popupmargin = false;
|
$tpl->popupmargin = false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -75,26 +75,15 @@
|
|||||||
// save options
|
// save options
|
||||||
if (isset($_REQUEST['submit']) && $_REQUEST['submit'] && $login->userid > 0)
|
if (isset($_REQUEST['submit']) && $_REQUEST['submit'] && $login->userid > 0)
|
||||||
{
|
{
|
||||||
sql("INSERT INTO `user_options` (`user_id`, `option_id`, `option_visible`, `option_value`)
|
$useroptions = new useroptions($login->userid);
|
||||||
VALUES ('&1', '&2', '&3', '&4')
|
|
||||||
ON DUPLICATE KEY UPDATE `option_value`='&4'",
|
if (isset($_REQUEST['opt_menumap'])) $useroptions->setOptValue(USR_OPT_MAP_MENU, $_REQUEST['opt_menumap']+0);
|
||||||
$login->userid, 6, 0, min(max($_REQUEST['opt_menumap']+0, 0), 1) );
|
if (isset($_REQUEST['opt_overview'])) $useroptions->setOptValue(USR_OPT_MAP_OVERVIEW, $_REQUEST['opt_overview']+0);
|
||||||
sql("INSERT INTO `user_options` (`user_id`, `option_id`, `option_visible`, `option_value`)
|
if (isset($_REQUEST['opt_maxcaches'])) $useroptions->setOptValue(USR_OPT_MAP_MAXCACHES, $_REQUEST['opt_maxcaches'] == 0 ? 0 : min(max(round($_REQUEST['opt_maxcaches']+0), $opt['map']['min_maxrecords']), $opt['map']['max_maxrecords']) );
|
||||||
VALUES ('&1', '&2', '&3', '&4')
|
if (isset($_REQUEST['opt_cacheicons'])) $useroptions->setOptValue(USR_OPT_MAP_ICONSET, $_REQUEST['opt_cacheicons']+0);
|
||||||
ON DUPLICATE KEY UPDATE `option_value`='&4'",
|
if (isset($_REQUEST['opt_pictures'])) $useroptions->setOptValue(USR_OPT_MAP_PREVIEW, min(max(round($_REQUEST['opt_pictures']+0), 0), 50) );
|
||||||
$login->userid, 7, 0, isset($_REQUEST['opt_overview']) ? min(max(round($_REQUEST['opt_overview']+0), 0), 1) : 0);
|
|
||||||
sql("INSERT INTO `user_options` (`user_id`, `option_id`, `option_visible`, `option_value`)
|
$useroptions->save();
|
||||||
VALUES ('&1', '&2', '&3', '&4')
|
|
||||||
ON DUPLICATE KEY UPDATE `option_value`='&4'",
|
|
||||||
$login->userid, 8, 0, $_REQUEST['opt_maxcaches'] == 0 ? 0 : min(max(round($_REQUEST['opt_maxcaches']+0), $opt['map']['min_maxrecords']), $opt['map']['max_maxrecords']) );
|
|
||||||
sql("INSERT INTO `user_options` (`user_id`, `option_id`, `option_visible`, `option_value`)
|
|
||||||
VALUES ('&1', '&2', '&3', '&4')
|
|
||||||
ON DUPLICATE KEY UPDATE `option_value`='&4'",
|
|
||||||
$login->userid, 9, 0, min(max($_REQUEST['opt_cacheicons']+0, 1), 2) );
|
|
||||||
sql("INSERT INTO `user_options` (`user_id`, `option_id`, `option_visible`, `option_value`)
|
|
||||||
VALUES ('&1', '&2', '&3', '&4')
|
|
||||||
ON DUPLICATE KEY UPDATE `option_value`='&4'",
|
|
||||||
$login->userid, 10, 0, min(max($_REQUEST['opt_pictures']+0, 0), 50) );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$tpl->name = 'map2';
|
$tpl->name = 'map2';
|
||||||
@@ -111,6 +100,7 @@
|
|||||||
$tpl->add_header_javascript('http://maps.googleapis.com/maps/api/js?sensor=false&key=' . urlencode($sGMKey));
|
$tpl->add_header_javascript('http://maps.googleapis.com/maps/api/js?sensor=false&key=' . urlencode($sGMKey));
|
||||||
// https is supported by google, but may make problems in some environments,
|
// https is supported by google, but may make problems in some environments,
|
||||||
// e.g. does not work with MSIE 7 on WinXP
|
// e.g. does not work with MSIE 7 on WinXP
|
||||||
|
$tpl->add_header_javascript('resource2/misc/map/dragzoom_packed.js');
|
||||||
$tpl->add_body_load('mapLoad()');
|
$tpl->add_body_load('mapLoad()');
|
||||||
$tpl->add_body_unload('mapUnload()');
|
$tpl->add_body_unload('mapUnload()');
|
||||||
|
|
||||||
@@ -212,22 +202,12 @@
|
|||||||
$tpl->assign('maxAttributeId', $maxaid);
|
$tpl->assign('maxAttributeId', $maxaid);
|
||||||
|
|
||||||
// options
|
// options
|
||||||
$rs = sql("SELECT `profile_options`.`id`,
|
$useroptions = new useroptions($login->userid);
|
||||||
IF(`option_value` IS NULL, `default_value`, `option_value`) AS `value`
|
$tpl->assign('opt_menumap', $useroptions->getOptValue(USR_OPT_MAP_MENU));
|
||||||
FROM `profile_options`
|
$tpl->assign('opt_overview', $useroptions->getOptValue(USR_OPT_MAP_OVERVIEW));
|
||||||
LEFT JOIN `user_options` ON `profile_options`.`id`=`user_options`.`option_id` AND `user_id`='&1'
|
$tpl->assign('opt_maxcaches', $useroptions->getOptValue(USR_OPT_MAP_MAXCACHES));
|
||||||
WHERE `optionset`=2",
|
$tpl->assign('opt_cacheicons', $useroptions->getOptValue(USR_OPT_MAP_ICONSET));
|
||||||
$login->userid);
|
$tpl->assign('opt_pictures', $useroptions->getOptValue(USR_OPT_MAP_PREVIEW));
|
||||||
while ($r = sql_fetch_assoc($rs))
|
|
||||||
switch ($r['id'])
|
|
||||||
{
|
|
||||||
case 6: $tpl->assign('opt_menumap', $r['value']); break;
|
|
||||||
case 7: $tpl->assign('opt_overview', $r['value']); break;
|
|
||||||
case 8: $tpl->assign('opt_maxcaches', $r['value']); break;
|
|
||||||
case 9: $tpl->assign('opt_cacheicons', $r['value']); break;
|
|
||||||
case 10: $tpl->assign('opt_pictures', $r['value']); break;
|
|
||||||
}
|
|
||||||
sql_free_result($rs);
|
|
||||||
|
|
||||||
$tpl->assign('maxrecords',$opt['map']['maxrecords'] + 0);
|
$tpl->assign('maxrecords',$opt['map']['maxrecords'] + 0);
|
||||||
$tpl->assign('min_maxrecords', $opt['map']['min_maxrecords']);
|
$tpl->assign('min_maxrecords', $opt['map']['min_maxrecords']);
|
||||||
@@ -408,7 +388,7 @@ function output_namesearch($sName, $nLat, $nLon, $nResultId)
|
|||||||
function output_searchresult($nResultId, $compact, $nLon1, $nLon2, $nLat1, $nLat2,
|
function output_searchresult($nResultId, $compact, $nLon1, $nLon2, $nLat1, $nLat2,
|
||||||
$cachenames, $smallmap)
|
$cachenames, $smallmap)
|
||||||
{
|
{
|
||||||
global $login, $opt, $maxrecords, $msie;
|
global $login, $opt, $msie;
|
||||||
|
|
||||||
// check if data is available and connect the right slave server
|
// check if data is available and connect the right slave server
|
||||||
$nSlaveId = sql_value("SELECT `slave_id` FROM `map2_result` WHERE `result_id`='&1' AND DATE_ADD(`date_created`, INTERVAL '&2' SECOND)>NOW()", -2, $nResultId, $opt['map']['maxcacheage']);
|
$nSlaveId = sql_value("SELECT `slave_id` FROM `map2_result` WHERE `result_id`='&1' AND DATE_ADD(`date_created`, INTERVAL '&2' SECOND)>NOW()", -2, $nResultId, $opt['map']['maxcacheage']);
|
||||||
|
@@ -1,3 +1,7 @@
|
|||||||
|
// Old CacheMarker implementation from the Google version 2 map.
|
||||||
|
// Currently not used, because it slows down marker handling;
|
||||||
|
// renders current Firefox unsusable.
|
||||||
|
|
||||||
function CacheMarker(latlng, wp, type, flags, map)
|
function CacheMarker(latlng, wp, type, flags, map)
|
||||||
{
|
{
|
||||||
this.latlng = latlng;
|
this.latlng = latlng;
|
||||||
|
@@ -1,117 +0,0 @@
|
|||||||
/* LatLonDisplayControl
|
|
||||||
*/
|
|
||||||
function LatLonDisplayControl() {}
|
|
||||||
LatLonDisplayControl.prototype = new GControl();
|
|
||||||
LatLonDisplayControl.prototype.initialize = function(map)
|
|
||||||
{
|
|
||||||
var control = this;
|
|
||||||
var container = document.createElement("div");
|
|
||||||
|
|
||||||
var latDiv = document.createElement("div");
|
|
||||||
var latText = document.createTextNode(" ");
|
|
||||||
this.setLabelStyle_(map, latDiv);
|
|
||||||
container.appendChild(latDiv);
|
|
||||||
latDiv.appendChild(latText);
|
|
||||||
|
|
||||||
var lonDiv = document.createElement("div");
|
|
||||||
var lonText = document.createTextNode(" ");
|
|
||||||
this.setLabelStyle_(map, lonDiv);
|
|
||||||
container.appendChild(lonDiv);
|
|
||||||
lonDiv.appendChild(lonText);
|
|
||||||
|
|
||||||
GEvent.addListener(map, "maptypechanged", function(latLng)
|
|
||||||
{
|
|
||||||
if (map.getCurrentMapType().getName(false) == "Hybrid")
|
|
||||||
{
|
|
||||||
latDiv.style.color = "white";
|
|
||||||
lonDiv.style.color = "white";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
latDiv.style.color = "black";
|
|
||||||
lonDiv.style.color = "black";
|
|
||||||
}
|
|
||||||
});
|
|
||||||
GEvent.addListener(map, "mouseout", function(latLng)
|
|
||||||
{
|
|
||||||
var newLonText = document.createTextNode(" ");
|
|
||||||
lonDiv.replaceChild(newLonText, lonText);
|
|
||||||
lonText = newLonText;
|
|
||||||
|
|
||||||
var newLatText = document.createTextNode(" ");
|
|
||||||
latDiv.replaceChild(newLatText, latText);
|
|
||||||
latText = newLatText;
|
|
||||||
});
|
|
||||||
GEvent.addListener(map, "mousemove", function(latLng)
|
|
||||||
{
|
|
||||||
var newLonText = document.createTextNode(control.formatLon_(latLng.lng()));
|
|
||||||
lonDiv.replaceChild(newLonText, lonText);
|
|
||||||
lonText = newLonText;
|
|
||||||
|
|
||||||
var newLatText = document.createTextNode(control.formatLat_(latLng.lat()));
|
|
||||||
latDiv.replaceChild(newLatText, latText);
|
|
||||||
latText = newLatText;
|
|
||||||
});
|
|
||||||
|
|
||||||
map.getContainer().appendChild(container);
|
|
||||||
return container;
|
|
||||||
}
|
|
||||||
|
|
||||||
LatLonDisplayControl.prototype.getDefaultPosition = function()
|
|
||||||
{
|
|
||||||
return new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(7, 32));
|
|
||||||
}
|
|
||||||
|
|
||||||
LatLonDisplayControl.prototype.setLabelStyle_ = function(map, button)
|
|
||||||
{
|
|
||||||
if (map.getCurrentMapType().getName(false) == "Hybrid")
|
|
||||||
button.style.color = "white";
|
|
||||||
else
|
|
||||||
button.style.color = "black";
|
|
||||||
|
|
||||||
button.style.font = "small Arial";
|
|
||||||
button.style.padding = "0px";
|
|
||||||
button.style.marginBottom = "1px";
|
|
||||||
button.style.textAlign = "right";
|
|
||||||
button.style.width = "10em";
|
|
||||||
}
|
|
||||||
|
|
||||||
LatLonDisplayControl.prototype.formatLat_ = function(lat)
|
|
||||||
{
|
|
||||||
var sPrefix = "";
|
|
||||||
if (lat<0)
|
|
||||||
sPrefix = "S ";
|
|
||||||
else
|
|
||||||
sPrefix = "N ";
|
|
||||||
|
|
||||||
return sPrefix + this.formatLatLon_(lat, 2);
|
|
||||||
}
|
|
||||||
|
|
||||||
LatLonDisplayControl.prototype.formatLon_ = function(lon)
|
|
||||||
{
|
|
||||||
var sPrefix = "";
|
|
||||||
if (lon<0)
|
|
||||||
sPrefix = "W ";
|
|
||||||
else
|
|
||||||
sPrefix = "E ";
|
|
||||||
|
|
||||||
return sPrefix + this.formatLatLon_(lon, 3);
|
|
||||||
}
|
|
||||||
|
|
||||||
LatLonDisplayControl.prototype.formatLatLon_ = function(value, nDegLength)
|
|
||||||
{
|
|
||||||
value = Math.abs(value);
|
|
||||||
var nDeg = Math.floor(value);
|
|
||||||
var nDecimal = Math.round((value - nDeg) * 60 * 1000) / 1000;
|
|
||||||
if (nDecimal>=60)
|
|
||||||
{
|
|
||||||
nDecimal = nDecimal - 60
|
|
||||||
nDeg = nDeg + 1;
|
|
||||||
}
|
|
||||||
var sDeg = nDeg.toString();
|
|
||||||
var sDecimal = nDecimal.toFixed(3);
|
|
||||||
while (sDeg.length<nDegLength) sDeg = "0" + sDeg;
|
|
||||||
while (sDecimal.length<6) sDecimal = "0" + sDecimal;
|
|
||||||
|
|
||||||
return sDeg + "° " + sDecimal + "'";
|
|
||||||
}
|
|
File diff suppressed because one or more lines are too long
Binary file not shown.
Before Width: | Height: | Size: 1.2 KiB |
Binary file not shown.
Before Width: | Height: | Size: 1.8 KiB |
Binary file not shown.
Before Width: | Height: | Size: 987 B |
Binary file not shown.
Before Width: | Height: | Size: 718 B |
Binary file not shown.
Before Width: | Height: | Size: 1.3 KiB |
Binary file not shown.
@@ -22,6 +22,7 @@
|
|||||||
{else}
|
{else}
|
||||||
|
|
||||||
<form action="activation.php" method="post" enctype="application/x-www-form-urlencoded" style="display: inline;">
|
<form action="activation.php" method="post" enctype="application/x-www-form-urlencoded" style="display: inline;">
|
||||||
|
<input type="hidden" name="submit" value="1" />
|
||||||
<div class="content2-pagetitle">
|
<div class="content2-pagetitle">
|
||||||
<img src="resource2/{$opt.template.style}/images/profile/32x32-profile.png" style="align: left; margin-right: 10px;" width="32" height="32" alt="{t}Activation{/t}" />
|
<img src="resource2/{$opt.template.style}/images/profile/32x32-profile.png" style="align: left; margin-right: 10px;" width="32" height="32" alt="{t}Activation{/t}" />
|
||||||
{t}Activate account{/t}
|
{t}Activate account{/t}
|
||||||
|
@@ -61,6 +61,7 @@
|
|||||||
<li>Javascript-Warnung beim Loggen auf der italenischen Seite beseitigt</li>
|
<li>Javascript-Warnung beim Loggen auf der italenischen Seite beseitigt</li>
|
||||||
<li>dänische Flagge bei dänischen Cachebeschreibungen</li>
|
<li>dänische Flagge bei dänischen Cachebeschreibungen</li>
|
||||||
<li>Suchprobleme nach Logout behoben</li>
|
<li>Suchprobleme nach Logout behoben</li>
|
||||||
|
<li>Auswahl der Nano-Größe im Suchforumlar korrigiert</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p><strong>Version 3.0.4</strong> – 17. Februar 2013</p>
|
<p><strong>Version 3.0.4</strong> – 17. Februar 2013</p>
|
||||||
|
@@ -59,6 +59,7 @@
|
|||||||
<li>removed JavaScript warning when logging on the Italien page</li>
|
<li>removed JavaScript warning when logging on the Italien page</li>
|
||||||
<li>show Danish flag with Danish cache descriptions</li>
|
<li>show Danish flag with Danish cache descriptions</li>
|
||||||
<li>fixed search problems after logging out</li>
|
<li>fixed search problems after logging out</li>
|
||||||
|
<li>fixed nano size selection in search form</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p><strong>Release 3.0.4</strong> – February 17, 2013
|
<p><strong>Release 3.0.4</strong> – February 17, 2013
|
||||||
|
@@ -356,6 +356,7 @@ function mapLoad()
|
|||||||
};
|
};
|
||||||
|
|
||||||
moMap = new google.maps.Map(document.getElementById("googlemap"), myOptions);
|
moMap = new google.maps.Map(document.getElementById("googlemap"), myOptions);
|
||||||
|
moMap.enableKeyDragZoom();
|
||||||
|
|
||||||
setMapType("OSM", "OpenStreetMap", "http://tile.openstreetmap.org/", 18);
|
setMapType("OSM", "OpenStreetMap", "http://tile.openstreetmap.org/", 18);
|
||||||
setMapType("MQ"," MapQuest", "http://otile1.mqcdn.com/tiles/1.0.0/osm/", 19);
|
setMapType("MQ"," MapQuest", "http://otile1.mqcdn.com/tiles/1.0.0/osm/", 19);
|
||||||
|
@@ -5,7 +5,7 @@
|
|||||||
***************************************************************************}
|
***************************************************************************}
|
||||||
{* OCSTYLE *}
|
{* OCSTYLE *}
|
||||||
<div class="content2-pagetitle">
|
<div class="content2-pagetitle">
|
||||||
<img src="resource2/{$opt.template.style}/images/cacheicon/traditional.gif" style="align: left; margin-right: 10px;" width="32" height="32" alt="{t}Latest logs entries{/t}" />
|
<img src="resource2/{$opt.template.style}/images/cacheicon/webcam.gif" style="align: left; margin-right: 10px;" width="32" height="32" alt="" />
|
||||||
{t}New log pictures{/t}
|
{t}New log pictures{/t}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@@ -5,7 +5,7 @@
|
|||||||
***************************************************************************}
|
***************************************************************************}
|
||||||
{* OCSTYLE *}
|
{* OCSTYLE *}
|
||||||
<div class="content2-pagetitle">
|
<div class="content2-pagetitle">
|
||||||
<img src="resource2/{$opt.template.style}/images/cacheicon/traditional.gif" style="align: left; margin-right: 10px;" width="32" height="32" alt="{t}Latest logs entries{/t}" />
|
<img src="resource2/{$opt.template.style}/images/cacheicon/traditional.gif" style="align: left; margin-right: 10px;" width="32" height="32" alt="" />
|
||||||
{t}Latest logs entries{/t}
|
{t}Latest logs entries{/t}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@@ -64,7 +64,7 @@
|
|||||||
|
|
||||||
<a onclick="enlarge(document.getElementById('pic{$pictureItem.id}'))" style="cursor:pointer">{$pictureItem.title|escape}</a>
|
<a onclick="enlarge(document.getElementById('pic{$pictureItem.id}'))" style="cursor:pointer">{$pictureItem.title|escape}</a>
|
||||||
{* the position of this image is the anchor for enlargit activity: *}
|
{* the position of this image is the anchor for enlargit activity: *}
|
||||||
<img id="pic{$pictureItem.id}" src="resource2/ocstyle/images/misc/empty.png" longdesc="{$pictureItem.url}" alt="{$pictureItem.title|escape}" style="cursor:pointer" onclick="enlarge(this)"/>
|
<img id="pic{$pictureItem.id}" src="resource2/ocstyle/images/misc/empty.png" longdesc="{$pictureItem.url}" />
|
||||||
{if $logItem.userid==$login.userid}
|
{if $logItem.userid==$login.userid}
|
||||||
[<a href="picture.php?action=edit&uuid={$pictureItem.uuid|escape}">{t}Edit{/t}</a>]
|
[<a href="picture.php?action=edit&uuid={$pictureItem.uuid|escape}">{t}Edit{/t}</a>]
|
||||||
[<a href="picture.php?action=delete&uuid={$pictureItem.uuid|escape}">{t}Delete{/t}</a>]
|
[<a href="picture.php?action=delete&uuid={$pictureItem.uuid|escape}">{t}Delete{/t}</a>]
|
||||||
|
@@ -179,7 +179,6 @@
|
|||||||
<td class="header-small" >{t 1=$recommended 2=$maxrecommended}%1 of %2 possibles{/t} [<a href="usertops.php?userid={$userid}">{t}Show all{/t}</a>]
|
<td class="header-small" >{t 1=$recommended 2=$maxrecommended}%1 of %2 possibles{/t} [<a href="usertops.php?userid={$userid}">{t}Show all{/t}</a>]
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr><td class="spacer" colspan="2"></td></tr>
|
|
||||||
|
|
||||||
{if $show_picstat}
|
{if $show_picstat}
|
||||||
<tr>
|
<tr>
|
||||||
|
@@ -5,7 +5,7 @@
|
|||||||
***************************************************************************}
|
***************************************************************************}
|
||||||
{* OCSTYLE *}
|
{* OCSTYLE *}
|
||||||
<div class="content2-pagetitle">
|
<div class="content2-pagetitle">
|
||||||
<img src="resource2/{$opt.template.style}/images/cacheicon/traditional.gif" style="align: left; margin-right: 10px;" width="32" height="32" alt="{t}Log pictures{/t}" />
|
<img src="resource2/{$opt.template.style}/images/cacheicon/webcam.gif" style="align: left; margin-right: 10px;" width="32" height="32" alt="" />
|
||||||
{t 1=$username}Log pictures of %1{/t}
|
{t 1=$username}Log pictures of %1{/t}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@@ -104,7 +104,9 @@
|
|||||||
{
|
{
|
||||||
// user has allowed picture stat and gallery view
|
// user has allowed picture stat and gallery view
|
||||||
$tpl->assign('allpics',$allpics);
|
$tpl->assign('allpics',$allpics);
|
||||||
if ($allpics)
|
if (!$allpics)
|
||||||
|
$tpl->assign('logpics', get_logpics(LOGPICS_FOR_USER_STAT, $userid));
|
||||||
|
else
|
||||||
{
|
{
|
||||||
$pictures = get_logpics(LOGPICS_FOR_USER_GALLERY, $userid, 0, $startat);
|
$pictures = get_logpics(LOGPICS_FOR_USER_GALLERY, $userid, 0, $startat);
|
||||||
$more = (count($pictures) > MAX_PICTURES_PER_GALLERY_PAGE);
|
$more = (count($pictures) > MAX_PICTURES_PER_GALLERY_PAGE);
|
||||||
@@ -116,7 +118,7 @@
|
|||||||
$tpl->assign('paging', $paging);
|
$tpl->assign('paging', $paging);
|
||||||
if ($paging)
|
if ($paging)
|
||||||
{
|
{
|
||||||
$pages = floor(get_logpics(LOGPICS_FOR_USER_STAT, $userid)/MAX_PICTURES_PER_GALLERY_PAGE) + 1;
|
$pages = floor((get_logpics(LOGPICS_FOR_USER_STAT, $userid) + MAX_PICTURES_PER_GALLERY_PAGE - 1)/MAX_PICTURES_PER_GALLERY_PAGE);
|
||||||
$page = floor($startat/MAX_PICTURES_PER_GALLERY_PAGE) + 1;
|
$page = floor($startat/MAX_PICTURES_PER_GALLERY_PAGE) + 1;
|
||||||
|
|
||||||
$pl = "";
|
$pl = "";
|
||||||
@@ -136,8 +138,6 @@
|
|||||||
$tpl->name = 'viewprofile_pics';
|
$tpl->name = 'viewprofile_pics';
|
||||||
// actually we dont need all the other stuff here ..
|
// actually we dont need all the other stuff here ..
|
||||||
}
|
}
|
||||||
else
|
|
||||||
$tpl->assign('logpics', get_logpics(LOGPICS_FOR_USER_STAT, $userid));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$tpl->assign('showcountry', (strlen(trim($record['country'])) > 0));
|
$tpl->assign('showcountry', (strlen(trim($record['country'])) > 0));
|
||||||
|
@@ -59,7 +59,8 @@ abstract class ChildWp_Presenter
|
|||||||
{
|
{
|
||||||
$this->childWpHandler = $childWpHandler;
|
$this->childWpHandler = $childWpHandler;
|
||||||
$this->cacheId = $cacheId;
|
$this->cacheId = $cacheId;
|
||||||
$this->waypointTypes = $childWpHandler->getChildWpIdAndNames(); $this->typeImages = $childWpHandler->getChildNamesAndImages();
|
$this->waypointTypes = $childWpHandler->getChildWpIdAndNames();
|
||||||
|
$this->typeImages = $childWpHandler->getChildNamesAndImages();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function initChildWp($childId, $childWp)
|
public function initChildWp($childId, $childWp)
|
||||||
|
Reference in New Issue
Block a user