added 404-errorpage including template and image, changed some variables
in templates and pulled parts out in new templates, fixed some bugs and typos from previous commits moved new events, ratings and caches HTML code generation into separate templates and changed templates accordingly to avoid redundant code moved generation of HTML code for RSSParser into separate smarty template and changed involved files accordingly moved code that generates the "new" (cache, event, rating, forum, blog, etc.) sections into separate class to avoid redundant code
This commit is contained in:
49
htdocs/404/index.php
Executable file
49
htdocs/404/index.php
Executable file
@ -0,0 +1,49 @@
|
||||
<?php
|
||||
/***************************************************************************
|
||||
* For license information see doc/license.txt
|
||||
*
|
||||
* Unicode Reminder メモ
|
||||
***************************************************************************/
|
||||
|
||||
$opt['rootpath'] = '../';
|
||||
require($opt['rootpath'].'lib2/web.inc.php');
|
||||
require($opt['rootpath'].'lib2/logic/logpics.inc.php');
|
||||
$sUserCountry = $login->getUserCountry();
|
||||
|
||||
// create object for "newest" information
|
||||
$getNew = new getNew($sUserCountry);
|
||||
|
||||
$tpl->main_template = 'sys_oc404';
|
||||
$tpl->name = 'sys_oc404';
|
||||
|
||||
$tpl->caching = false;
|
||||
$tpl->cache_lifetime = 300;
|
||||
$tpl->cache_id = $sUserCountry;
|
||||
|
||||
// rootpath
|
||||
$tpl->assign('rootpath',$opt['rootpath']);
|
||||
|
||||
// website
|
||||
// check length
|
||||
$uril = 70;
|
||||
$uri = 'http://'.strtolower($_SERVER['SERVER_NAME']).$_SERVER['REQUEST_URI'];
|
||||
// limit to $uril
|
||||
if(strlen($uri) > $uril) {
|
||||
$uri = substr($uri,0,$uril-3).'...';
|
||||
}
|
||||
$tpl->assign('website',$uri);
|
||||
|
||||
// get newest blog entries
|
||||
$tpl->assign('blog', $getNew->feedForSmarty('blog',3));
|
||||
|
||||
// get newest forum posts
|
||||
$tpl->assign('forum',$getNew->feedForSmarty('forum',3));
|
||||
|
||||
// get newest wiki
|
||||
$tpl->assign('wiki', $getNew->feedForSmarty('wiki',3));
|
||||
|
||||
// get newest caches
|
||||
$tpl->assign_rs('newcaches', $getNew->rsForSmarty('cache',array($sUserCountry, $opt['template']['locale'],3)));
|
||||
|
||||
$tpl->display();
|
||||
?>
|
@ -11,6 +11,9 @@
|
||||
require('./lib2/logic/logpics.inc.php');
|
||||
$sUserCountry = $login->getUserCountry();
|
||||
|
||||
// create object for "newest" information
|
||||
$getNew = new getNew($sUserCountry);
|
||||
|
||||
$tpl->name = 'start';
|
||||
$tpl->menuitem = MNU_START;
|
||||
|
||||
@ -52,9 +55,8 @@
|
||||
$url = str_replace('{style}', $opt['template']['style'], $url);
|
||||
$newscontent = read_file($url, $opt['news']['maxsize']);
|
||||
*/
|
||||
$newscontent = RSSParser::parse($opt['news']['count'],$opt['news']['include'], false);
|
||||
|
||||
$tpl->assign('news', $newscontent);
|
||||
// get newest blog entries
|
||||
$tpl->assign('news', $getNew->feedForSmarty('blog'));
|
||||
$tpl->assign('newsfeed', $opt['news']['include']);
|
||||
$tpl->assign('extern_news', true);
|
||||
}
|
||||
@ -72,9 +74,9 @@
|
||||
* requires $opt['forum']['count'] in settings for number of lastest forum-posts
|
||||
* requires $opt['forum']['url'] in settings: RSS-feed-URL of the forum
|
||||
*/
|
||||
$tpl->assign('phpbb_enabled', true);
|
||||
$forumcontent = RSSParser::parse($opt['forum']['count'], $opt['forum']['url'], false);
|
||||
$tpl->assign('forum',$forumcontent);
|
||||
// get newest forum posts
|
||||
$tpl->assign('phpbb_enabled', true);
|
||||
$tpl->assign('forum',$getNew->feedForSmarty('forum'));
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -93,89 +95,14 @@
|
||||
$tpl->assign('count_founds', sql_value_slave('SELECT COUNT(*) AS `founds` FROM `cache_logs` WHERE `type`=1', 0));
|
||||
$tpl->assign('count_users', sql_value_slave('SELECT COUNT(*) AS `users` FROM (SELECT DISTINCT `user_id` FROM `cache_logs` UNION DISTINCT SELECT DISTINCT `user_id` FROM `caches`) AS `t`', 0));
|
||||
|
||||
// new events
|
||||
$events = array();
|
||||
$rs = sql_slave("SELECT `user`.`user_id` `user_id`,
|
||||
`user`.`username` `username`,
|
||||
`caches`.`cache_id` `cache_id`,
|
||||
`caches`.`name` `name`,
|
||||
`caches`.`date_hidden`,
|
||||
IFNULL(`sys_trans_text`.`text`,`cache_location`.`adm1`) AS `adm1`,
|
||||
`cache_location`.`adm2`,
|
||||
`cache_location`.`adm3`,
|
||||
`cache_location`.`adm4`
|
||||
FROM `caches`
|
||||
INNER JOIN `user` ON `user`.`user_id`=`caches`.`user_id`
|
||||
LEFT JOIN `cache_location` ON `caches`.`cache_id`=`cache_location`.`cache_id`
|
||||
LEFT JOIN `countries` ON `countries`.`short`=`cache_location`.`code1`
|
||||
LEFT JOIN `sys_trans_text` ON `sys_trans_text`.`trans_id`=`countries`.`trans_id` AND `sys_trans_text`.`lang`='&2'
|
||||
WHERE `caches`.`country`='&1' AND
|
||||
`caches`.`date_hidden` >= curdate() AND
|
||||
`caches`.`type` = 6 AND
|
||||
`caches`.`status`=1
|
||||
ORDER BY `date_hidden` ASC LIMIT 0, 10",
|
||||
$sUserCountry, $opt['template']['locale']);
|
||||
$tpl->assign_rs('events', $rs);
|
||||
sql_free_result($rs);
|
||||
// get newest events
|
||||
$tpl->assign_rs('events', $getNew->rsForSmarty('event'));
|
||||
|
||||
// new caches
|
||||
$rs = sql_slave("SELECT `user`.`user_id` `user_id`,
|
||||
`user`.`username` `username`,
|
||||
`caches`.`cache_id` `cache_id`,
|
||||
`caches`.`name` `name`,
|
||||
`caches`.`date_created` `date_created`,
|
||||
`caches`.`type`,
|
||||
IFNULL(`sys_trans_text`.`text`,`cache_location`.`adm1`) AS `adm1`,
|
||||
`cache_location`.`adm2`,
|
||||
`cache_location`.`adm3`,
|
||||
`cache_location`.`adm4`
|
||||
FROM `caches`
|
||||
INNER JOIN `user` ON `user`.`user_id`=`caches`.`user_id`
|
||||
LEFT JOIN `cache_location` ON `caches`.`cache_id`=`cache_location`.`cache_id`
|
||||
LEFT JOIN `countries` ON `countries`.`short`=`cache_location`.`code1`
|
||||
LEFT JOIN `sys_trans_text` ON `sys_trans_text`.`trans_id`=`countries`.`trans_id` AND `sys_trans_text`.`lang`='&2'
|
||||
WHERE `caches`.`country`='&1' AND
|
||||
`caches`.`type` != 6 AND
|
||||
`caches`.`status` = 1
|
||||
ORDER BY `caches`.`date_created` DESC LIMIT 0, 10",
|
||||
$sUserCountry, $opt['template']['locale']);
|
||||
$tpl->assign_rs('newcaches', $rs);
|
||||
sql_free_result($rs);
|
||||
// get newest caches
|
||||
$tpl->assign_rs('newcaches', $getNew->rsForSmarty('cache'));
|
||||
|
||||
// last 30 days' top ratings
|
||||
//
|
||||
// 2012-08-24 following
|
||||
// optimized by adding rating_date field to cache_rating, so we don't need the log table.
|
||||
|
||||
$rs = sql_slave("SELECT COUNT(`cache_rating`.`user_id`) AS `cRatings`,
|
||||
MAX(`cache_rating`.`rating_date`) AS `dLastLog`,
|
||||
`user`.`user_id` AS `user_id`,
|
||||
`user`.`username` AS `username`,
|
||||
`caches`.`cache_id` AS `cache_id`,
|
||||
`caches`.`name` AS `name`,
|
||||
`caches`.`type`,
|
||||
IFNULL(`sys_trans_text`.`text`,`cache_location`.`adm1`) AS `adm1`,
|
||||
`cache_location`.`adm2`,
|
||||
`cache_location`.`adm3`,
|
||||
`cache_location`.`adm4`
|
||||
FROM `cache_rating`
|
||||
INNER JOIN `caches` ON `caches`.`cache_id`=`cache_rating`.`cache_id`
|
||||
INNER JOIN `user` ON `user`.`user_id`=`caches`.`user_id`
|
||||
LEFT JOIN `cache_location` ON `cache_rating`.`cache_id`=`cache_location`.`cache_id`
|
||||
LEFT JOIN `countries` ON `countries`.`short`=`cache_location`.`code1`
|
||||
LEFT JOIN `sys_trans_text` ON `sys_trans_text`.`trans_id`=`countries`.`trans_id` AND `sys_trans_text`.`lang`='&2'
|
||||
WHERE `caches`.`country`='&1' AND
|
||||
`cache_rating`.`rating_date`>DATE_SUB(NOW(), INTERVAL 30 DAY) AND
|
||||
`caches`.`type`!=6 AND
|
||||
`caches`.`status`=1
|
||||
GROUP BY `cache_rating`.`cache_id`
|
||||
ORDER BY `cRatings` DESC,
|
||||
`dLastLog` DESC,
|
||||
`cache_id` DESC
|
||||
LIMIT 0, 10",
|
||||
$sUserCountry, $opt['template']['locale']);
|
||||
$tpl->assign_rs('topratings', $rs);
|
||||
sql_free_result($rs);
|
||||
$tpl->assign_rs('topratings', $getNew->rsForSmarty('rating'));
|
||||
|
||||
$sUserCountryName = sql_value("SELECT IFNULL(`sys_trans_text`.`text`, `countries`.`name`)
|
||||
FROM `countries`
|
||||
|
@ -11,24 +11,22 @@ class RSSParser {
|
||||
* @return string $item feeditems as HTML-string
|
||||
*/
|
||||
public static function parse($items,$url,$includetext) {
|
||||
global $translate;
|
||||
|
||||
global $tpl;
|
||||
|
||||
if ($items <= 0)
|
||||
return '';
|
||||
|
||||
// error
|
||||
$error = false;
|
||||
$rss = array();
|
||||
|
||||
// check $url
|
||||
if(!preg_match('!^(http|https|ftp)\://([a-zA-Z0-9\.\-]+(\:[a-zA-Z0-9\.&%\$\-]+)*@)*((25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])|localhost|([a-zA-Z0-9\-]+\.)*[a-zA-Z0-9\-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(\:[0-9]+)*(/($|[a-zA-Z0-9\.\,\?\'\\\+&%\$#\=~_\-]+))*$!',$url)) {
|
||||
if(!preg_match('!^(http|https|ftp)\://([a-zA-Z0-9\.\-]+(\:[a-zA-Z0-9\.&%\$\-]+)*@)*((25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])|localhost|([a-zA-Z0-9\-]+\.)*[a-zA-Z0-9\-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(\:[0-9]+)*(/($|[a-zA-Z0-9\.\:\,\?\'\\\+&%\$#\=~_\-]+))*$!',$url)) {
|
||||
$error = true;
|
||||
} else {
|
||||
|
||||
// output
|
||||
$html = '<div class="buffer" style="width: 500px;height: 2px;"> </div>'."\n";
|
||||
$html .= '<div class="newsblock">';
|
||||
if (!$includetext)
|
||||
$html .= "<table class='narrowtable' style='margin-top:0'>\n";
|
||||
$tpl->assign('includetext',$includetext);
|
||||
|
||||
// get xml-data
|
||||
$data = @file_get_contents($url);
|
||||
@ -44,9 +42,9 @@ class RSSParser {
|
||||
// get SimpleXML-object
|
||||
$xml = new SimpleXMLElement($data);
|
||||
|
||||
// walk through items
|
||||
$i=0;
|
||||
$headlines = array();
|
||||
// walk through items
|
||||
foreach($xml->channel->item as $item) {
|
||||
|
||||
// check length
|
||||
@ -57,32 +55,31 @@ class RSSParser {
|
||||
// add html
|
||||
if ($includetext)
|
||||
{
|
||||
$html .= '<p class="content-title-noshade-size15" style="display: inline;">'."\n";
|
||||
$html .= strftime('%e. %B %Y',strtotime($item->pubDate)).' - '. $item->title;
|
||||
$html .= '</p> <p style="line-height: 1.6em;display: inline;"> [<b><a class="link" href="'.$item->link.'">mehr...</a></b>]</p>'."\n";
|
||||
$html .= '<div class="rsstext">'.$item->description.'</div>'."\n";
|
||||
// fill array
|
||||
$rss[] = array(
|
||||
'pubDate' => strftime('%e. %B %Y',strtotime($item->pubDate)),
|
||||
'title' => $item->title,
|
||||
'link' => $item->link,
|
||||
'description' => $item->description
|
||||
);
|
||||
// increment counter
|
||||
$i++;
|
||||
}
|
||||
else if (!in_array($item->title,$headlines) &&
|
||||
strpos($item->title,'VERSCHOBEN') === FALSE) // hack to exclude forum thread-move messages
|
||||
{
|
||||
$html .= '<tr><td style="text-align:right">' . strftime('%e. %B %Y',strtotime($item->pubDate)).'</td>';
|
||||
$html .= '<td><a class="links" href="'.$item->link.'">';
|
||||
$html .= $item->title;
|
||||
$html .= '</td></tr>';
|
||||
// fill array
|
||||
$rss[] = array(
|
||||
'pubDate' => strftime('%e. %B %Y',strtotime($item->pubDate)),
|
||||
'title' => $item->title,
|
||||
'link' => $item->link
|
||||
);
|
||||
$headlines[] = "" . $item->title;
|
||||
// increment counter
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// finish html
|
||||
if (!$includetext)
|
||||
$html .= "</table>";
|
||||
$html .= "</div>";
|
||||
$html .= '<div class="buffer" style="width: 500px;"> </div>'."\n";
|
||||
}
|
||||
catch(Exception $e) {
|
||||
$error = true;
|
||||
@ -90,12 +87,11 @@ class RSSParser {
|
||||
}
|
||||
}
|
||||
|
||||
// assign to template
|
||||
$tpl->assign('rsserror',$error);
|
||||
|
||||
// return
|
||||
if(!$error) {
|
||||
return $html;
|
||||
} else {
|
||||
return '<p><em>' . $translate->t('currently not available','','',0) . '</em></p>';
|
||||
}
|
||||
return $rss;
|
||||
}
|
||||
}
|
||||
|
||||
|
328
htdocs/lib2/getNew.class.php
Executable file
328
htdocs/lib2/getNew.class.php
Executable file
@ -0,0 +1,328 @@
|
||||
<?php
|
||||
/***************************************************************************
|
||||
* For license information see doc/license.txt
|
||||
*
|
||||
* Unicode Reminder メモ
|
||||
*
|
||||
* summarize methods to get new events, caches, ratings, etc.
|
||||
***************************************************************************/
|
||||
|
||||
|
||||
|
||||
class getNew {
|
||||
|
||||
// class variables
|
||||
private $userCountry;
|
||||
|
||||
|
||||
// getter/setter
|
||||
public function get_userCountry() {
|
||||
return $this->userCountry;
|
||||
}
|
||||
public function set_userCountry($userCountry) {
|
||||
$this->userCountry = $userCountry;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* constructor
|
||||
* creates the object
|
||||
*
|
||||
* @param string $userCountry country of the loggedin user as parameter for the sql statements
|
||||
* @return void
|
||||
*/
|
||||
public function __construct($userCountry) {
|
||||
|
||||
// set userCountry
|
||||
$this->set_userCountry($userCountry);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* rsForSmarty creates the result from database to use with smarty assign-rs method
|
||||
* based on $this->type
|
||||
*
|
||||
* @param string $type type of the "new"-information, i.e. cache, event, rating, etc
|
||||
* @param array $args numeric array containing the parameter for "sql_slave"
|
||||
* @return object mysql result used by smarty assign_rs
|
||||
*/
|
||||
public function rsForSmarty($type,$args=null) {
|
||||
|
||||
// check type
|
||||
if(method_exists($this,strtolower($type).'Rs')) {
|
||||
return call_user_func(array($this,$type.'Rs'),$args);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* feedForSmarty creates a HTML string to use with smarty assign method
|
||||
* based on $this->type by using RSSParser class
|
||||
*
|
||||
* @param string $type type of the "new"-information, i.e. cache, event, rating, etc
|
||||
* @param int $items number of feeditems to parse from feed (RSSParser)
|
||||
* @param string $url url of the feed to parse (RSSParser)
|
||||
* @param boolean $includetext ???following??? add table-tag?
|
||||
* @return string HTML string used for smarty assign method
|
||||
*/
|
||||
public function feedForSmarty($type,$items=null,$url=null,$includetext=null) {
|
||||
|
||||
// check type
|
||||
if(method_exists($this,strtolower($type).'Feed')) {
|
||||
return call_user_func(array($this,$type.'Feed'),$items,$url,$includetext);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* cacheRs executes the database statements for type "cache"
|
||||
*
|
||||
* @param array $args numeric array containing the parameter for "sql_slave"
|
||||
* @return object mysql result used by smarty assign_rs
|
||||
*/
|
||||
private function cacheRs($args=null) {
|
||||
|
||||
// global
|
||||
global $opt;
|
||||
|
||||
// check $args and set defaults
|
||||
if(is_null($args) || !is_array($args)) {
|
||||
$args = array($this->get_userCountry(), $opt['template']['locale'],10);
|
||||
}
|
||||
|
||||
// execute sql
|
||||
return sql_slave("SELECT `user`.`user_id` `user_id`,
|
||||
`user`.`username` `username`,
|
||||
`caches`.`cache_id` `cache_id`,
|
||||
`caches`.`name` `name`,
|
||||
`caches`.`date_created` `date_created`,
|
||||
`caches`.`type`,
|
||||
IFNULL(`sys_trans_text`.`text`,`cache_location`.`adm1`) AS `adm1`,
|
||||
`cache_location`.`adm2`,
|
||||
`cache_location`.`adm3`,
|
||||
`cache_location`.`adm4`
|
||||
FROM `caches`
|
||||
INNER JOIN `user` ON `user`.`user_id`=`caches`.`user_id`
|
||||
LEFT JOIN `cache_location` ON `caches`.`cache_id`=`cache_location`.`cache_id`
|
||||
LEFT JOIN `countries` ON `countries`.`short`=`cache_location`.`code1`
|
||||
LEFT JOIN `sys_trans_text` ON `sys_trans_text`.`trans_id`=`countries`.`trans_id` AND `sys_trans_text`.`lang`='&2'
|
||||
WHERE `caches`.`country`='&1' AND
|
||||
`caches`.`type` != 6 AND
|
||||
`caches`.`status` = 1
|
||||
ORDER BY `caches`.`date_created` DESC
|
||||
LIMIT 0, &3",
|
||||
$args);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* eventRs executes the database statements for type "event"
|
||||
*
|
||||
* @param array $args numeric array containing the parameter for "sql_slave"
|
||||
* @return object mysql result used by smarty assign_rs
|
||||
*/
|
||||
private function eventRs($args=null) {
|
||||
|
||||
// global
|
||||
global $opt;
|
||||
|
||||
// check $args and set defaults
|
||||
if(is_null($args) || !is_array($args)) {
|
||||
$args = array($this->get_userCountry(), $opt['template']['locale'],10);
|
||||
}
|
||||
|
||||
// execute sql
|
||||
return sql_slave("SELECT `user`.`user_id` `user_id`,
|
||||
`user`.`username` `username`,
|
||||
`caches`.`cache_id` `cache_id`,
|
||||
`caches`.`name` `name`,
|
||||
`caches`.`date_hidden`,
|
||||
IFNULL(`sys_trans_text`.`text`,`cache_location`.`adm1`) AS `adm1`,
|
||||
`cache_location`.`adm2`,
|
||||
`cache_location`.`adm3`,
|
||||
`cache_location`.`adm4`
|
||||
FROM `caches`
|
||||
INNER JOIN `user` ON `user`.`user_id`=`caches`.`user_id`
|
||||
LEFT JOIN `cache_location` ON `caches`.`cache_id`=`cache_location`.`cache_id`
|
||||
LEFT JOIN `countries` ON `countries`.`short`=`cache_location`.`code1`
|
||||
LEFT JOIN `sys_trans_text` ON `sys_trans_text`.`trans_id`=`countries`.`trans_id` AND `sys_trans_text`.`lang`='&2'
|
||||
WHERE `caches`.`country`='&1' AND
|
||||
`caches`.`date_hidden` >= curdate() AND
|
||||
`caches`.`type` = 6 AND
|
||||
`caches`.`status`=1
|
||||
ORDER BY `date_hidden` ASC
|
||||
LIMIT 0, &3",
|
||||
$args);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* ratingRs executes the database statements for type "rating"
|
||||
*
|
||||
* @param array $args numeric array containing the parameter for "sql_slave"
|
||||
* @return object mysql result used by smarty assign_rs
|
||||
*/
|
||||
private function ratingRs($args=null) {
|
||||
|
||||
// global
|
||||
global $opt;
|
||||
|
||||
// check $args and set defaults
|
||||
if(is_null($args) || !is_array($args)) {
|
||||
$args = array($this->get_userCountry(), $opt['template']['locale'],10);
|
||||
}
|
||||
|
||||
// execute sql
|
||||
// 2012-08-24 following
|
||||
// optimized by adding rating_date field to cache_rating, so we don't need the log table.
|
||||
return sql_slave("SELECT COUNT(`cache_rating`.`user_id`) AS `cRatings`,
|
||||
MAX(`cache_rating`.`rating_date`) AS `dLastLog`,
|
||||
`user`.`user_id` AS `user_id`,
|
||||
`user`.`username` AS `username`,
|
||||
`caches`.`cache_id` AS `cache_id`,
|
||||
`caches`.`name` AS `name`,
|
||||
`caches`.`type`,
|
||||
IFNULL(`sys_trans_text`.`text`,`cache_location`.`adm1`) AS `adm1`,
|
||||
`cache_location`.`adm2`,
|
||||
`cache_location`.`adm3`,
|
||||
`cache_location`.`adm4`
|
||||
FROM `cache_rating`
|
||||
INNER JOIN `caches` ON `caches`.`cache_id`=`cache_rating`.`cache_id`
|
||||
INNER JOIN `user` ON `user`.`user_id`=`caches`.`user_id`
|
||||
LEFT JOIN `cache_location` ON `cache_rating`.`cache_id`=`cache_location`.`cache_id`
|
||||
LEFT JOIN `countries` ON `countries`.`short`=`cache_location`.`code1`
|
||||
LEFT JOIN `sys_trans_text` ON `sys_trans_text`.`trans_id`=`countries`.`trans_id` AND `sys_trans_text`.`lang`='&2'
|
||||
WHERE `caches`.`country`='&1' AND
|
||||
`cache_rating`.`rating_date`>DATE_SUB(NOW(), INTERVAL 30 DAY) AND
|
||||
`caches`.`type`!=6 AND
|
||||
`caches`.`status`=1
|
||||
GROUP BY `cache_rating`.`cache_id`
|
||||
ORDER BY `cRatings` DESC,
|
||||
`dLastLog` DESC,
|
||||
`cache_id` DESC
|
||||
LIMIT 0, &3",
|
||||
$args);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* blogFeed executes the RSSParser for type "blog"
|
||||
*
|
||||
* @param int $items number of feeditems to parse from feed (RSSParser)
|
||||
* @param string $url url of the feed to parse (RSSParser)
|
||||
* @param boolean $includetext ???following??? add table-tag?
|
||||
* @return string HTML string used for smarty assign method
|
||||
*/
|
||||
private function blogFeed($items=null,$url=null,$includetext=null) {
|
||||
|
||||
// global
|
||||
global $opt;
|
||||
|
||||
// check $items and set defaults
|
||||
if(is_null($items) || !is_numeric($items)) {
|
||||
$items = $opt['news']['count'];
|
||||
}
|
||||
// check $url and set defaults
|
||||
if(is_null($url) || !is_string($url)) {
|
||||
$url = $opt['news']['include'];
|
||||
}
|
||||
// check $includetext and set defaults
|
||||
if(is_null($includetext) || !is_bool($includetext)) {
|
||||
$includetext = false;
|
||||
}
|
||||
|
||||
// execute RSSParser
|
||||
return RSSParser::parse($items,$url,$includetext);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* forumFeed executes the RSSParser for type "forum"
|
||||
*
|
||||
* @param int $items number of feeditems to parse from feed (RSSParser)
|
||||
* @param string $url url of the feed to parse (RSSParser)
|
||||
* @param boolean $includetext ???following??? add table-tag?
|
||||
* @return string HTML string used for smarty assign method
|
||||
*/
|
||||
private function forumFeed($items=null,$url=null,$includetext=null) {
|
||||
|
||||
// global
|
||||
global $opt;
|
||||
|
||||
// check $items and set defaults
|
||||
if(is_null($items) || !is_numeric($items)) {
|
||||
$items = $opt['forum']['count'];
|
||||
}
|
||||
// check $url and set defaults
|
||||
if(is_null($url) || !is_string($url)) {
|
||||
$url = $opt['forum']['url'];
|
||||
}
|
||||
// check $includetext and set defaults
|
||||
if(is_null($includetext) || !is_bool($includetext)) {
|
||||
$includetext = false;
|
||||
}
|
||||
|
||||
// execute RSSParser
|
||||
return RSSParser::parse($items,$url,$includetext);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* wikiFeed executes the RSSParser for type "wiki"
|
||||
*
|
||||
* @param int $items number of feeditems to parse from feed (RSSParser)
|
||||
* @param string $url url of the feed to parse (RSSParser)
|
||||
* @param boolean $includetext ???following??? add table-tag?
|
||||
* @return string HTML string used for smarty assign method
|
||||
*/
|
||||
private function wikiFeed($items=null,$url=null,$includetext=null) {
|
||||
|
||||
// global
|
||||
global $opt;
|
||||
|
||||
// check $items and set defaults
|
||||
if(is_null($items) || !is_numeric($items)) {
|
||||
$items = 10;
|
||||
}
|
||||
// check $url and set defaults
|
||||
if(is_null($url) || !is_string($url)) {
|
||||
$url = 'http://wiki.opencaching.de/index.php/Spezial:Neue_Seiten?feed=rss';
|
||||
}
|
||||
// check $includetext and set defaults
|
||||
if(is_null($includetext) || !is_bool($includetext)) {
|
||||
$includetext = false;
|
||||
}
|
||||
|
||||
// execute RSSParser
|
||||
return RSSParser::parse($items,$url,$includetext);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
?>
|
62
htdocs/resource2/ocstyle/css/style_oc404.css
Executable file
62
htdocs/resource2/ocstyle/css/style_oc404.css
Executable file
@ -0,0 +1,62 @@
|
||||
/***************************************************************************
|
||||
* You can find the license in the docs directory
|
||||
*
|
||||
* Unicode Reminder メモ
|
||||
***************************************************************************/
|
||||
/*
|
||||
* opencaching.de - landingpage styles
|
||||
*/
|
||||
|
||||
div#frame {
|
||||
width: 970px;
|
||||
margin: 0 auto 5px auto;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
a.links:visited {
|
||||
color: black;
|
||||
}
|
||||
|
||||
div#head {
|
||||
margin-left: 10px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div#content {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
div#foot {
|
||||
margin-top: 20px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
div#head img#oc404 {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
p.text {
|
||||
font-size: 165%;
|
||||
}
|
||||
|
||||
table.narrowtable {
|
||||
margin-left: 30px;
|
||||
}
|
||||
|
||||
div.sresult {
|
||||
margin: 20px 0 0 50px;
|
||||
}
|
||||
|
||||
span.dnf {
|
||||
font-size: 300%;
|
||||
font-weight: bold;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.center {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
ul.nodot li {
|
||||
font-size: 110%;
|
||||
}
|
BIN
htdocs/resource2/ocstyle/images/oc_404.png
Executable file
BIN
htdocs/resource2/ocstyle/images/oc_404.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 22 KiB |
@ -7,25 +7,25 @@
|
||||
{*cachetype=1 status=1 logtype=0 owner=false small=false*}
|
||||
|
||||
{if $cachetype==1}
|
||||
<img src="resource2/{$opt.template.style}/images/cacheicon/unknown.gif" alt="{t}Unknown Geocache{/t}" title="{t}Unknown Geocache{/t}" border="0" width="32" height="32" class="icon32" id="viewcache-cacheicon" />
|
||||
<img src="{$rootpath}resource2/{$opt.template.style}/images/cacheicon/unknown.gif" alt="{t}Unknown Geocache{/t}" title="{t}Unknown Geocache{/t}" border="0" width="32" height="32" class="icon32" id="viewcache-cacheicon" />
|
||||
{elseif $cachetype==2}
|
||||
<img src="resource2/{$opt.template.style}/images/cacheicon/traditional.gif" alt="{t}Traditional Geocache{/t}" title="{t}Traditional Geocache{/t}" border="0" width="32" height="32" class="icon32" id="viewcache-cacheicon" />
|
||||
<img src="{$rootpath}resource2/{$opt.template.style}/images/cacheicon/traditional.gif" alt="{t}Traditional Geocache{/t}" title="{t}Traditional Geocache{/t}" border="0" width="32" height="32" class="icon32" id="viewcache-cacheicon" />
|
||||
{elseif $cachetype==3} {* Ocprop: \/cacheicon\/multi\.gif"\s+alt="Multicache" *}
|
||||
<img src="resource2/{$opt.template.style}/images/cacheicon/multi.gif" alt="{t}Multicache{/t}" title="{t}Multicache{/t}" border="0" width="32" height="32" class="icon32" id="viewcache-cacheicon" />
|
||||
<img src="{$rootpath}resource2/{$opt.template.style}/images/cacheicon/multi.gif" alt="{t}Multicache{/t}" title="{t}Multicache{/t}" border="0" width="32" height="32" class="icon32" id="viewcache-cacheicon" />
|
||||
{elseif $cachetype==4}
|
||||
<img src="resource2/{$opt.template.style}/images/cacheicon/virtual.gif" alt="{t}Virtual Geocache{/t}" title="{t}Virtual Geocache{/t}" border="0" width="32" height="32" class="icon32" id="viewcache-cacheicon" />
|
||||
<img src="{$rootpath}resource2/{$opt.template.style}/images/cacheicon/virtual.gif" alt="{t}Virtual Geocache{/t}" title="{t}Virtual Geocache{/t}" border="0" width="32" height="32" class="icon32" id="viewcache-cacheicon" />
|
||||
{elseif $cachetype==5}
|
||||
<img src="resource2/{$opt.template.style}/images/cacheicon/webcam.gif" alt="{t}Webcam Geocache{/t}" title="{t}Webcam Geocache{/t}" border="0" width="32" height="32" class="icon32" id="viewcache-cacheicon" />
|
||||
<img src="{$rootpath}resource2/{$opt.template.style}/images/cacheicon/webcam.gif" alt="{t}Webcam Geocache{/t}" title="{t}Webcam Geocache{/t}" border="0" width="32" height="32" class="icon32" id="viewcache-cacheicon" />
|
||||
{elseif $cachetype==6}
|
||||
<img src="resource2/{$opt.template.style}/images/cacheicon/event.gif" alt="{t}Event Geocache{/t}" title="{t}Event Geocache{/t}" border="0" width="32" height="32" class="icon32" id="viewcache-cacheicon" />
|
||||
<img src="{$rootpath}resource2/{$opt.template.style}/images/cacheicon/event.gif" alt="{t}Event Geocache{/t}" title="{t}Event Geocache{/t}" border="0" width="32" height="32" class="icon32" id="viewcache-cacheicon" />
|
||||
{elseif $cachetype==7}
|
||||
<img src="resource2/{$opt.template.style}/images/cacheicon/mystery.gif" alt="{t}Quizcache{/t}" title="{t}Quizcache{/t}" border="0" width="32" height="32" class="icon32" id="viewcache-cacheicon" />
|
||||
<img src="{$rootpath}resource2/{$opt.template.style}/images/cacheicon/mystery.gif" alt="{t}Quizcache{/t}" title="{t}Quizcache{/t}" border="0" width="32" height="32" class="icon32" id="viewcache-cacheicon" />
|
||||
{elseif $cachetype==8}
|
||||
<img src="resource2/{$opt.template.style}/images/cacheicon/mathe.gif" alt="{t}Math/Physics Geocache{/t}" title="{t}Math/Physics Geocache{/t}" border="0" width="32" height="32" class="icon32" id="viewcache-cacheicon" />
|
||||
<img src="{$rootpath}resource2/{$opt.template.style}/images/cacheicon/mathe.gif" alt="{t}Math/Physics Geocache{/t}" title="{t}Math/Physics Geocache{/t}" border="0" width="32" height="32" class="icon32" id="viewcache-cacheicon" />
|
||||
{elseif $cachetype==9}
|
||||
<img src="resource2/{$opt.template.style}/images/cacheicon/moving.gif" alt="{t}Moving Geocache{/t}" title="{t}Moving Geocache{/t}" border="0" width="32" height="32" class="icon32" id="viewcache-cacheicon" />
|
||||
<img src="{$rootpath}resource2/{$opt.template.style}/images/cacheicon/moving.gif" alt="{t}Moving Geocache{/t}" title="{t}Moving Geocache{/t}" border="0" width="32" height="32" class="icon32" id="viewcache-cacheicon" />
|
||||
{elseif $cachetype==10}
|
||||
<img src="resource2/{$opt.template.style}/images/cacheicon/drivein.gif" alt="{t}Drive-In Geocache{/t}" title="{t}Drive-In Geocache{/t}" border="0" width="32" height="32" class="icon32" id="viewcache-cacheicon" />
|
||||
<img src="{$rootpath}resource2/{$opt.template.style}/images/cacheicon/drivein.gif" alt="{t}Drive-In Geocache{/t}" title="{t}Drive-In Geocache{/t}" border="0" width="32" height="32" class="icon32" id="viewcache-cacheicon" />
|
||||
{else}
|
||||
|
||||
{/if}
|
||||
|
@ -7,25 +7,25 @@
|
||||
{*cachetype=1 status=1 logtype=0 owner=false small=false*}
|
||||
|
||||
{if $cachetype==1}
|
||||
<img src="resource2/{$opt.template.style}/images/cacheicon/unknown.gif" alt="{t}Unknown Geocache{/t}" border="0" width="15" height="15" align="left" style="margin-right: 5px; padding-left: 25px;" />
|
||||
<img src="{$rootpath}resource2/{$opt.template.style}/images/cacheicon/unknown.gif" alt="{t}Unknown Geocache{/t}" border="0" width="15" height="15" align="left" style="margin-right: 5px; padding-left: 25px;" />
|
||||
{elseif $cachetype==2}
|
||||
<img src="resource2/{$opt.template.style}/images/cacheicon/traditional.gif" alt="{t}Traditional Geocache{/t}" border="0" width="15" height="15" align="left" style="margin-right: 5px; padding-left: 25px;" />
|
||||
<img src="{$rootpath}resource2/{$opt.template.style}/images/cacheicon/traditional.gif" alt="{t}Traditional Geocache{/t}" border="0" width="15" height="15" align="left" style="margin-right: 5px; padding-left: 25px;" />
|
||||
{elseif $cachetype==3}
|
||||
<img src="resource2/{$opt.template.style}/images/cacheicon/multi.gif" alt="{t}Multicache{/t}" border="0" width="15" height="15" align="left" style="margin-right: 5px; padding-left: 25px;" />
|
||||
<img src="{$rootpath}resource2/{$opt.template.style}/images/cacheicon/multi.gif" alt="{t}Multicache{/t}" border="0" width="15" height="15" align="left" style="margin-right: 5px; padding-left: 25px;" />
|
||||
{elseif $cachetype==4}
|
||||
<img src="resource2/{$opt.template.style}/images/cacheicon/virtual.gif" alt="{t}Virtual Geocache{/t}" border="0" width="15" height="15" align="left" style="margin-right: 5px; padding-left: 25px;" />
|
||||
<img src="{$rootpath}resource2/{$opt.template.style}/images/cacheicon/virtual.gif" alt="{t}Virtual Geocache{/t}" border="0" width="15" height="15" align="left" style="margin-right: 5px; padding-left: 25px;" />
|
||||
{elseif $cachetype==5}
|
||||
<img src="resource2/{$opt.template.style}/images/cacheicon/webcam.gif" alt="{t}Webcam Geocache{/t}" border="0" width="15" height="15" align="left" style="margin-right: 5px; padding-left: 25px;" />
|
||||
<img src="{$rootpath}resource2/{$opt.template.style}/images/cacheicon/webcam.gif" alt="{t}Webcam Geocache{/t}" border="0" width="15" height="15" align="left" style="margin-right: 5px; padding-left: 25px;" />
|
||||
{elseif $cachetype==6}
|
||||
<img src="resource2/{$opt.template.style}/images/cacheicon/event.gif" alt="{t}Event Geocache{/t}" border="0" width="15" height="15" align="left" style="margin-right: 5px; padding-left: 25px;" />
|
||||
<img src="{$rootpath}resource2/{$opt.template.style}/images/cacheicon/event.gif" alt="{t}Event Geocache{/t}" border="0" width="15" height="15" align="left" style="margin-right: 5px; padding-left: 25px;" />
|
||||
{elseif $cachetype==7}
|
||||
<img src="resource2/{$opt.template.style}/images/cacheicon/mystery.gif" alt="{t}Quizcache{/t}" border="0" width="15" height="15" align="left" style="margin-right: 5px; padding-left: 25px;" />
|
||||
<img src="{$rootpath}resource2/{$opt.template.style}/images/cacheicon/mystery.gif" alt="{t}Quizcache{/t}" border="0" width="15" height="15" align="left" style="margin-right: 5px; padding-left: 25px;" />
|
||||
{elseif $cachetype==8}
|
||||
<img src="resource2/{$opt.template.style}/images/cacheicon/mathe.gif" alt="{t}Math/Physics Geocache{/t}" border="0" width="15" height="15" align="left" style="margin-right: 5px; padding-left: 25px;" />
|
||||
<img src="{$rootpath}resource2/{$opt.template.style}/images/cacheicon/mathe.gif" alt="{t}Math/Physics Geocache{/t}" border="0" width="15" height="15" align="left" style="margin-right: 5px; padding-left: 25px;" />
|
||||
{elseif $cachetype==9}
|
||||
<img src="resource2/{$opt.template.style}/images/cacheicon/moving.gif" alt="{t}Moving Geocache{/t}" border="0" width="15" height="15" align="left" style="margin-right: 5px; padding-left: 25px;" />
|
||||
<img src="{$rootpath}resource2/{$opt.template.style}/images/cacheicon/moving.gif" alt="{t}Moving Geocache{/t}" border="0" width="15" height="15" align="left" style="margin-right: 5px; padding-left: 25px;" />
|
||||
{elseif $cachetype==10}
|
||||
<img src="resource2/{$opt.template.style}/images/cacheicon/drivein.gif" alt="{t}Drive-In Geocache{/t}" border="0" width="15" height="15" align="left" style="margin-right: 5px; padding-left: 25px;" />
|
||||
<img src="{$rootpath}resource2/{$opt.template.style}/images/cacheicon/drivein.gif" alt="{t}Drive-In Geocache{/t}" border="0" width="15" height="15" align="left" style="margin-right: 5px; padding-left: 25px;" />
|
||||
{else}
|
||||
|
||||
{/if}
|
||||
|
@ -7,25 +7,25 @@
|
||||
{*cachetype=1 status=1 logtype=0 owner=false small=false*}
|
||||
|
||||
{if $cachetype==1}
|
||||
<img src="resource2/{$opt.template.style}/images/cacheicon/unknown.gif" alt="{t}Unknown Geocache{/t}" border="0" width="22" height="22" align="left" style="margin-right: 5px;" />
|
||||
<img src="{$rootpath}resource2/{$opt.template.style}/images/cacheicon/unknown.gif" alt="{t}Unknown Geocache{/t}" border="0" width="22" height="22" align="left" style="margin-right: 5px;" />
|
||||
{elseif $cachetype==2}
|
||||
<img src="resource2/{$opt.template.style}/images/cacheicon/traditional.gif" alt="{t}Traditional Geocache{/t}" border="0" width="22" height="22" align="left" style="margin-right: 5px;" />
|
||||
<img src="{$rootpath}resource2/{$opt.template.style}/images/cacheicon/traditional.gif" alt="{t}Traditional Geocache{/t}" border="0" width="22" height="22" align="left" style="margin-right: 5px;" />
|
||||
{elseif $cachetype==3}
|
||||
<img src="resource2/{$opt.template.style}/images/cacheicon/multi.gif" alt="{t}Multicache{/t}" border="0" width="22" height="22" align="left" style="margin-right: 5px;" />
|
||||
<img src="{$rootpath}resource2/{$opt.template.style}/images/cacheicon/multi.gif" alt="{t}Multicache{/t}" border="0" width="22" height="22" align="left" style="margin-right: 5px;" />
|
||||
{elseif $cachetype==4}
|
||||
<img src="resource2/{$opt.template.style}/images/cacheicon/virtual.gif" alt="{t}Virtual Geocache{/t}" border="0" width="22" height="22" align="left" style="margin-right: 5px;" />
|
||||
<img src="{$rootpath}resource2/{$opt.template.style}/images/cacheicon/virtual.gif" alt="{t}Virtual Geocache{/t}" border="0" width="22" height="22" align="left" style="margin-right: 5px;" />
|
||||
{elseif $cachetype==5}
|
||||
<img src="resource2/{$opt.template.style}/images/cacheicon/webcam.gif" alt="{t}Webcam Geocache{/t}" border="0" width="22" height="22" align="left" style="margin-right: 5px;" />
|
||||
<img src="{$rootpath}resource2/{$opt.template.style}/images/cacheicon/webcam.gif" alt="{t}Webcam Geocache{/t}" border="0" width="22" height="22" align="left" style="margin-right: 5px;" />
|
||||
{elseif $cachetype==6}
|
||||
<img src="resource2/{$opt.template.style}/images/cacheicon/event.gif" alt="{t}Event Geocache{/t}" border="0" width="22" height="22" align="left" style="margin-right: 5px;" />
|
||||
<img src="{$rootpath}resource2/{$opt.template.style}/images/cacheicon/event.gif" alt="{t}Event Geocache{/t}" border="0" width="22" height="22" align="left" style="margin-right: 5px;" />
|
||||
{elseif $cachetype==7}
|
||||
<img src="resource2/{$opt.template.style}/images/cacheicon/mystery.gif" alt="{t}Quizcache{/t}" border="0" width="22" height="22" align="left" style="margin-right: 5px;" />
|
||||
<img src="{$rootpath}resource2/{$opt.template.style}/images/cacheicon/mystery.gif" alt="{t}Quizcache{/t}" border="0" width="22" height="22" align="left" style="margin-right: 5px;" />
|
||||
{elseif $cachetype==8}
|
||||
<img src="resource2/{$opt.template.style}/images/cacheicon/mathe.gif" alt="{t}Math/Physics Geocache{/t}" border="0" width="22" height="22" align="left" style="margin-right: 5px;" />
|
||||
<img src="{$rootpath}resource2/{$opt.template.style}/images/cacheicon/mathe.gif" alt="{t}Math/Physics Geocache{/t}" border="0" width="22" height="22" align="left" style="margin-right: 5px;" />
|
||||
{elseif $cachetype==9}
|
||||
<img src="resource2/{$opt.template.style}/images/cacheicon/moving.gif" alt="{t}Moving Geocache{/t}" border="0" width="22" height="22" align="left" style="margin-right: 5px;" />
|
||||
<img src="{$rootpath}resource2/{$opt.template.style}/images/cacheicon/moving.gif" alt="{t}Moving Geocache{/t}" border="0" width="22" height="22" align="left" style="margin-right: 5px;" />
|
||||
{elseif $cachetype==10}
|
||||
<img src="resource2/{$opt.template.style}/images/cacheicon/drivein.gif" alt="{t}Drive-In Geocache{/t}" border="0" width="22" height="22" align="left" style="margin-right: 5px;" />
|
||||
<img src="{$rootpath}resource2/{$opt.template.style}/images/cacheicon/drivein.gif" alt="{t}Drive-In Geocache{/t}" border="0" width="22" height="22" align="left" style="margin-right: 5px;" />
|
||||
{else}
|
||||
|
||||
{/if}
|
||||
|
23
htdocs/templates2/ocstyle/res_newcaches.tpl
Executable file
23
htdocs/templates2/ocstyle/res_newcaches.tpl
Executable file
@ -0,0 +1,23 @@
|
||||
{***************************************************************************
|
||||
* You can find the license in the docs directory
|
||||
*
|
||||
* Unicode Reminder メモ
|
||||
***************************************************************************}
|
||||
<ul class="nodot">
|
||||
{foreach name=newcaches from=$newcaches item=cacheitem}
|
||||
<li class="newcache_list_multi" style="margin-bottom: 8px;">
|
||||
{include file="res_cacheicon_22.tpl" cachetype=$cacheitem.type rootpath=$rootpath}
|
||||
{$cacheitem.date_created|date_format:$opt.format.date}
|
||||
<b><a class="links" href="viewcache.php?cacheid={$cacheitem.cache_id}">{$cacheitem.name|escape}</a></b>
|
||||
{t}by{/t}
|
||||
<b><a class="links" href="viewprofile.php?userid={$cacheitem.user_id}">{$cacheitem.username|escape}</a></b><br />
|
||||
<strong>
|
||||
<p class="content-title-noshade">
|
||||
{$cacheitem.adm1|escape} {if $cacheitem.adm1!=null & $cacheitem.adm2!=null} > {/if}
|
||||
{$cacheitem.adm2|escape} {if ($cacheitem.adm2!=null & $cacheitem.adm4!=null) | ($cacheitem.adm1!=null & $cacheitem.adm4!=null)} > {/if}
|
||||
{$cacheitem.adm4|escape}
|
||||
</p>
|
||||
</strong>
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
23
htdocs/templates2/ocstyle/res_newevents.tpl
Executable file
23
htdocs/templates2/ocstyle/res_newevents.tpl
Executable file
@ -0,0 +1,23 @@
|
||||
{***************************************************************************
|
||||
* You can find the license in the docs directory
|
||||
*
|
||||
* Unicode Reminder メモ
|
||||
***************************************************************************}
|
||||
<ul class="nodot">
|
||||
{foreach name=events from=$events item=eventitem}
|
||||
<li class="newcache_list_multi" style="margin-bottom: 8px;">
|
||||
<img src="resource2/{$opt.template.style}/images/cacheicon/event-rand{rand min=1 max=4}.gif" alt="{t}Event Geocache{/t}" border="0" width="22" height="22" align="left" style="margin-right: 5px;" />
|
||||
{$eventitem.date_hidden|date_format:$opt.format.date}
|
||||
<b><a class="links" href="viewcache.php?cacheid={$eventitem.cache_id}">{$eventitem.name|escape}</a></b>
|
||||
{t}by{/t}
|
||||
<b><a class="links" href="viewprofile.php?userid={$eventitem.user_id}">{$eventitem.username|escape}</a></b><br />
|
||||
<strong>
|
||||
<p class="content-title-noshade">
|
||||
{$eventitem.adm1|escape} {if $eventitem.adm1!=null & $eventitem.adm2!=null} > {/if}
|
||||
{$eventitem.adm2|escape} {if ($eventitem.adm2!=null & $eventitem.adm4!=null) | ($eventitem.adm1!=null & $eventitem.adm4!=null)} > {/if}
|
||||
{$eventitem.adm4|escape}
|
||||
</p>
|
||||
</strong>
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
28
htdocs/templates2/ocstyle/res_newratings.tpl
Executable file
28
htdocs/templates2/ocstyle/res_newratings.tpl
Executable file
@ -0,0 +1,28 @@
|
||||
{***************************************************************************
|
||||
* You can find the license in the docs directory
|
||||
*
|
||||
* Unicode Reminder メモ
|
||||
***************************************************************************}
|
||||
<ul class="nodot">
|
||||
{foreach name=topratings from=$topratings item=cacheitem}
|
||||
<li class="newcache_list_multi" style="margin-bottom: 8px;">
|
||||
{include file="res_cacheicon_22.tpl" cachetype=$cacheitem.type}
|
||||
{if $cacheitem.cRatings>=1}<img src="images/rating-star.gif" border="0" alt="{t 1=$cacheitem.cRatings}%1 Recommendations in the last 30 days{/t}">{/if}
|
||||
{if $cacheitem.cRatings>=2}<img src="images/rating-star.gif" border="0" alt="{t 1=$cacheitem.cRatings}%1 Recommendations in the last 30 days{/t}">{/if}
|
||||
{if $cacheitem.cRatings==3}<img src="images/rating-star.gif" border="0" alt="{t 1=$cacheitem.cRatings}%1 Recommendations in the last 30 days{/t}">{/if}
|
||||
{if $cacheitem.cRatings>3}<img src="images/rating-plus.gif" border="0" alt="{t 1=$cacheitem.cRatings}%1 Recommendations in the last 30 days{/t}">{/if}
|
||||
|
||||
<b><a class="links" href="viewcache.php?cacheid={$cacheitem.cache_id}">{$cacheitem.name|escape}</a></b>
|
||||
{t}by{/t}
|
||||
<b><a class="links" href="viewprofile.php?userid={$cacheitem.user_id}">{$cacheitem.username|escape}</a></b><br />
|
||||
<strong>
|
||||
<p class="content-title-noshade">
|
||||
{$cacheitem.adm1|escape} {if $cacheitem.adm1!=null & $cacheitem.adm2!=null} > {/if}
|
||||
{$cacheitem.adm2|escape} {if ($cacheitem.adm2!=null & $cacheitem.adm4!=null) | ($cacheitem.adm1!=null & $cacheitem.adm4!=null)} > {/if}
|
||||
{$cacheitem.adm4|escape}
|
||||
</p>
|
||||
</strong>
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
<p style="line-height: 1.6em;">{t}You can find more recommendations ><a href="tops.php">here</a><.{/t}</p>
|
24
htdocs/templates2/ocstyle/res_rssparser.tpl
Executable file
24
htdocs/templates2/ocstyle/res_rssparser.tpl
Executable file
@ -0,0 +1,24 @@
|
||||
<div class="buffer" style="width: 500px;height: 2px;"> </div>
|
||||
<div class="newsblock">
|
||||
{if !$includetext}
|
||||
<table class='narrowtable' style='margin-top:0'>
|
||||
{/if}
|
||||
|
||||
{foreach name=rss from=$rss item=rss}
|
||||
{if $includetext}
|
||||
<p class="content-title-noshade-size15" style="display: inline;">{$rss.pubDate} - {$rss.title}</p>
|
||||
<p style="line-height: 1.6em;display: inline;"> [<b><a class="link" href="{$rss.link}">mehr...</a></b>]</p>
|
||||
<div class="rsstext">{$rss.description}</div>
|
||||
{else}
|
||||
<tr>
|
||||
<td style="text-align:right">{$rss.pubDate}</td>
|
||||
<td><a class="links" href="{$rss.link}">{$rss.title}</a></td>
|
||||
</tr>
|
||||
{/if}
|
||||
|
||||
{/foreach}
|
||||
|
||||
{if !$includetext}
|
||||
</table>
|
||||
{/if}
|
||||
</div>
|
@ -50,8 +50,13 @@
|
||||
</table>
|
||||
{else}
|
||||
<div id="blog">
|
||||
{$news}
|
||||
{if !$rsserror}
|
||||
{include file="res_rssparser.tpl" rss=$news}
|
||||
{else}
|
||||
<p><em>{t}currently not available{/t}</em></p>
|
||||
{/if}
|
||||
</div>
|
||||
<div class="buffer" style="width: 500px;"> </div>
|
||||
{/if}
|
||||
|
||||
{* next events *}
|
||||
@ -61,24 +66,7 @@
|
||||
{t 1=$usercountry|escape}The next events in %1{/t}
|
||||
</p>
|
||||
</div>
|
||||
<ul class="nodot">
|
||||
{foreach name=events from=$events item=eventitem}
|
||||
<li class="newcache_list_multi" style="margin-bottom: 8px;">
|
||||
<img src="resource2/{$opt.template.style}/images/cacheicon/event-rand{rand min=1 max=4}.gif" alt="{t}Event Geocache{/t}" border="0" width="22" height="22" align="left" style="margin-right: 5px;" />
|
||||
{$eventitem.date_hidden|date_format:$opt.format.date}
|
||||
<b><a class="links" href="viewcache.php?cacheid={$eventitem.cache_id}">{$eventitem.name|escape}</a></b>
|
||||
{t}by{/t}
|
||||
<b><a class="links" href="viewprofile.php?userid={$eventitem.user_id}">{$eventitem.username|escape}</a></b><br />
|
||||
<strong>
|
||||
<p class="content-title-noshade">
|
||||
{$eventitem.adm1|escape} {if $eventitem.adm1!=null & $eventitem.adm2!=null} > {/if}
|
||||
{$eventitem.adm2|escape} {if ($eventitem.adm2!=null & $eventitem.adm4!=null) | ($eventitem.adm1!=null & $eventitem.adm4!=null)} > {/if}
|
||||
{$eventitem.adm4|escape}
|
||||
</p>
|
||||
</strong>
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
{include file="res_newevents.tpl" events=$events}
|
||||
|
||||
{* new logpix *}
|
||||
<div class="content2-container bg-blue02" style="margin-bottom:6px">
|
||||
@ -98,29 +86,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<p style="line-height: 1.6em;">{t 1=$usercountry|escape}Geocaches with most ratings in the last 30 days in %1.{/t}</p>
|
||||
<ul class="nodot">
|
||||
{foreach name=topratings from=$topratings item=cacheitem}
|
||||
<li class="newcache_list_multi" style="margin-bottom: 8px;">
|
||||
{include file="res_cacheicon_22.tpl" cachetype=$cacheitem.type}
|
||||
{if $cacheitem.cRatings>=1}<img src="images/rating-star.gif" border="0" alt="{t 1=$cacheitem.cRatings}%1 Recommendations in the last 30 days{/t}">{/if}
|
||||
{if $cacheitem.cRatings>=2}<img src="images/rating-star.gif" border="0" alt="{t 1=$cacheitem.cRatings}%1 Recommendations in the last 30 days{/t}">{/if}
|
||||
{if $cacheitem.cRatings==3}<img src="images/rating-star.gif" border="0" alt="{t 1=$cacheitem.cRatings}%1 Recommendations in the last 30 days{/t}">{/if}
|
||||
{if $cacheitem.cRatings>3}<img src="images/rating-plus.gif" border="0" alt="{t 1=$cacheitem.cRatings}%1 Recommendations in the last 30 days{/t}">{/if}
|
||||
|
||||
<b><a class="links" href="viewcache.php?cacheid={$cacheitem.cache_id}">{$cacheitem.name|escape}</a></b>
|
||||
{t}by{/t}
|
||||
<b><a class="links" href="viewprofile.php?userid={$cacheitem.user_id}">{$cacheitem.username|escape}</a></b><br />
|
||||
<strong>
|
||||
<p class="content-title-noshade">
|
||||
{$cacheitem.adm1|escape} {if $cacheitem.adm1!=null & $cacheitem.adm2!=null} > {/if}
|
||||
{$cacheitem.adm2|escape} {if ($cacheitem.adm2!=null & $cacheitem.adm4!=null) | ($cacheitem.adm1!=null & $cacheitem.adm4!=null)} > {/if}
|
||||
{$cacheitem.adm4|escape}
|
||||
</p>
|
||||
</strong>
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
<p style="line-height: 1.6em;">{t}You can find more recommendations ><a href="tops.php">here</a><.{/t}</p>
|
||||
{include file="res_newratings.tpl" topratings=$topratings}
|
||||
|
||||
{* forum news *}
|
||||
{if $phpbb_enabled==true}
|
||||
@ -138,8 +104,13 @@
|
||||
</div>
|
||||
*}
|
||||
<div id="forum">
|
||||
{$forum}
|
||||
{if !$rsserror}
|
||||
{include file="res_rssparser.tpl" rss=$forum}
|
||||
{else}
|
||||
<p><em>{t}currently not available{/t}</em></p>
|
||||
{/if}
|
||||
</div>
|
||||
<div class="buffer" style="width: 500px;"> </div>
|
||||
{*
|
||||
<ul class="nodot">
|
||||
{foreach from=$phpbb_topics item=phpbbItem}
|
||||
@ -163,22 +134,6 @@
|
||||
</p>
|
||||
</div>
|
||||
<p style="line-height: 1.6em;">({t 1=$count_hiddens 2=$count_founds 3=$count_users}Total of %1 active Caches and %2 founds by %3 users{/t})</p>
|
||||
<ul class="nodot">
|
||||
{foreach name=newcaches from=$newcaches item=cacheitem}
|
||||
<li class="newcache_list_multi" style="margin-bottom: 8px;">
|
||||
{include file="res_cacheicon_22.tpl" cachetype=$cacheitem.type}
|
||||
{$cacheitem.date_created|date_format:$opt.format.date}
|
||||
<b><a class="links" href="viewcache.php?cacheid={$cacheitem.cache_id}">{$cacheitem.name|escape}</a></b>
|
||||
{t}by{/t}
|
||||
<b><a class="links" href="viewprofile.php?userid={$cacheitem.user_id}">{$cacheitem.username|escape}</a></b><br />
|
||||
<strong>
|
||||
<p class="content-title-noshade">
|
||||
{$cacheitem.adm1|escape} {if $cacheitem.adm1!=null & $cacheitem.adm2!=null} > {/if}
|
||||
{$cacheitem.adm2|escape} {if ($cacheitem.adm2!=null & $cacheitem.adm4!=null) | ($cacheitem.adm1!=null & $cacheitem.adm4!=null)} > {/if}
|
||||
{$cacheitem.adm4|escape}
|
||||
</p>
|
||||
</strong>
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
{include file="res_newcaches.tpl" newcaches=$newcaches}
|
||||
|
||||
|
||||
|
92
htdocs/templates2/ocstyle/sys_oc404.tpl
Executable file
92
htdocs/templates2/ocstyle/sys_oc404.tpl
Executable file
@ -0,0 +1,92 @@
|
||||
{***************************************************************************
|
||||
* You can find the license in the docs directory
|
||||
*
|
||||
* Unicode Reminder メモ
|
||||
***************************************************************************}
|
||||
{*
|
||||
* Template for opencaching.de "page not found" and entry page
|
||||
* for nonexisting subdomains
|
||||
*}
|
||||
|
||||
{* OCSTYLE *}
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>
|
||||
404 opencaching.de - DNF
|
||||
</title>
|
||||
<meta name="KEYWORDS" content="geocaching, opencaching, geocashing, longitude, latitude, utm, coordinates, treasure hunting, treasure, GPS, global positioning system, garmin, magellan, mapping, geo, hiking, outdoors, sport, hunt, stash, cache, geocaching, geocache, cache, treasure, hunting, satellite, navigation, tracking, bugs, travel bugs" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
|
||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
|
||||
<meta http-equiv="Content-Style-Type" content="text/css" />
|
||||
<meta http-equiv="Content-Language" content="{$opt.template.locale}" />
|
||||
<meta http-equiv="gallerimg" content="no" />
|
||||
<meta http-equiv="cache-control" content="no-cache" />
|
||||
<link rel="SHORTCUT ICON" href="favicon.ico">
|
||||
<link rel="apple-touch-icon" href="{$rootpath}resource2/{$opt.template.style}/images/oclogo/apple-touch-icon-iphone.png" />
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="{$rootpath}resource2/{$opt.template.style}/images/oclogo/apple-touch-icon-ipad.png" />
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="{$rootpath}resource2/{$opt.template.style}/images/oclogo/apple-touch-icon-iphone-retina.png" />
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="{$rootpath}resource2/{$opt.template.style}/images/oclogo/apple-touch-icon-ipad-retina.png" />
|
||||
<link rel="stylesheet" type="text/css" href="{$rootpath}resource2/{$opt.template.style}/css/style_screen.css" />
|
||||
<link rel="stylesheet" type="text/css" href="{$rootpath}resource2/{$opt.template.style}/css/style_oc404.css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="frame">
|
||||
<div class="header">
|
||||
<div class="headerimage">
|
||||
<img src="{$rootpath}resource2/{$opt.template.style}/images/head/rotator.php?path={$opt.page.headimagepath}" class="headerimagecontent" />
|
||||
</div>
|
||||
<div class="headerlogo">
|
||||
<img src="{$rootpath}resource2/{$opt.template.style}/images/oclogo/oc_head_alpha3.png" class="headerimagecontent" />
|
||||
</div>
|
||||
</div>
|
||||
<div id="head">
|
||||
<p>
|
||||
<img id="oc404" src="{$rootpath}resource2/{$opt.template.style}/images/oc_404.png" title="opencaching.de 404" alt="opencaching.de 404" />
|
||||
<span class="dnf">- {t}Page not found{/t} - DNF</span>
|
||||
</p>
|
||||
</div>
|
||||
<div id="content">
|
||||
<p class="text">{t 1=$website|escape}The visited website <b>%1</b> does not exists, we found the following suitable pages:{/t}</p>
|
||||
<div class="sresult">
|
||||
<p class="content-title-noshade-size2"><a class="links" href="http://www.opencaching.de" title="{t}Cachedatabase{/t}">www.opencaching.de</a> {t}Here you can find a lot of individual caches.{/t}</p>
|
||||
<div>
|
||||
<p>{t}The newest caches:{/t}</p>
|
||||
{* newest cache template *}
|
||||
{include file="res_newcaches.tpl" newcaches=$newcaches rootpath=$rootpath}
|
||||
</div>
|
||||
</div>
|
||||
<div class="sresult">
|
||||
<p class="content-title-noshade-size2"><a class="links" href="http://forum.opencaching-network.org" title="Opencaching Forum">forum.opencaching-network.org</a> {t}Here you can discuss, improve or ask questions.{/t}</p>
|
||||
<div>
|
||||
<p>{t}The newest forumposts:{/t}</p>
|
||||
{* newest forum-entries template (RSSParser) *}
|
||||
{include file="res_rssparser.tpl" rss=$forum}
|
||||
</div>
|
||||
</div>
|
||||
<div class="sresult">
|
||||
<p class="content-title-noshade-size2"><a class="links" href="http://blog.opencaching.de" title="Opencaching Blog">blog.opencaching.de</a> {t}Any time there are news to post, you'll find them here.{/t}</p>
|
||||
<div>
|
||||
<p>{t}The newest blogposts:{/t}</p>
|
||||
{* newest blogpost template (RSSParser) *}
|
||||
{include file="res_rssparser.tpl" rss=$blog}
|
||||
</div>
|
||||
</div>
|
||||
<div class="sresult">
|
||||
<p class="content-title-noshade-size2"><a class="links" href="http://wiki.opencaching.de" title="Opencaching Wiki">wiki.opencaching.de</a> {t}Here you get tutorials, howtos and any information about opencaching.{/t}</p>
|
||||
<div>
|
||||
<p>{t}The newest wikiarticles:{/t}</p>
|
||||
{* newest wiki article template (RSSParser) *}
|
||||
{include file="res_rssparser.tpl" rss=$wiki}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="foot">
|
||||
<p class="text">{t}Not found? Contact us using{/t} <a class="links" href="mailto:contact@opencaching.de" title="{t}Contact{/t}">contact@opencaching.de</a>.</p>
|
||||
<p> </p>
|
||||
<p class="center"><a class="links" href="/articles.php?page=impressum" title="{t}Impressum{/t}">{t}Imprint{/t}</a> - <a class="links" href="/articles.php?page=verein" title="{t}Nonprofit organization{/t}">Opencaching Deutschland e.V.</a> - <a class="links" href="/articles.php?page=contact" title="{t}Contact{/t}">{t}Contact{/t}</a></p>
|
||||
<p class="center"><a class="links" href="/fb" title="{t}Opencaching on Facebook{/t}">Facebook</a> - <a class="links" href="/+" title="{t}Opencaching on Google+{/t}">Google+</a> - <a class="links" href="/t" title="{t}Opencaching on Twitter{/t}">Twitter</a></p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
Reference in New Issue
Block a user