-// -----------------------------------------------------------------------------------------------
-// Template for the whole page.
-/* Input: $data (associative array).
- Keys: 'body' : body of HTML document
- 'pageheader' : html code to show in page header (top of page)
- 'onload' : optional onload javascript for the <body>
-*/
-function templatePage($data)
-{
- global $STARTTIME;
- global $LINKSDB;
- $shaarli_version = shaarli_version;
-
- $newversion=checkUpdate();
- if ($newversion!='') $newversion='<div id="newversion"><span style="text-decoration:blink;">●</span> Shaarli '.htmlspecialchars($newversion).' is <a href="http://sebsauvage.net/wiki/doku.php?id=php:shaarli#download">available</a>.</div>';
- $linkcount = count($LINKSDB);
- $open='';
- if ($GLOBALS['config']['OPEN_SHAARLI'])
- {
- $menu=' <a href="?do=tools">Tools</a> <a href="?do=addlink"><b>Add link</b></a>';
- $open='Open ';
- }
- else
- $menu=(isLoggedIn() ? ' <a href="?do=logout">Logout</a> <a href="?do=tools">Tools</a> <a href="?do=addlink"><b>Add link</b></a>' : ' <a href="?do=login">Login</a>');
-
- foreach(array('pageheader','body','onload') as $k) // make sure all required fields exist (put an empty string if not).
- {
- if (!array_key_exists($k,$data)) $data[$k]='';
- }
- $jsincludes=''; $jsincludes_bottom = '';
- if ($GLOBALS['config']['OPEN_SHAARLI'] || isLoggedIn())
- {
- $source = serverUrl().$_SERVER['SCRIPT_NAME'];
- $jsincludes='<script language="JavaScript" src="jquery.min.js"></script><script language="JavaScript" src="jquery-ui.custom.min.js"></script>';
- $jsincludes_bottom = <<<JS
-<script language="JavaScript">
-$(document).ready(function()
-{
- $('#lf_tags').autocomplete({source:'{$source}?ws=tags',minLength:1});
- $('#searchtags').autocomplete({source:'{$source}?ws=tags',minLength:1});
- $('#fromtag').autocomplete({source:'{$source}?ws=singletag',minLength:1});
-});
-</script>
-JS;
- }
- $feedurl=htmlspecialchars(serverUrl().$_SERVER['SCRIPT_NAME']);
- $searchcrits=''; // Search criteria
- if (!empty($_GET['searchtags'])) $searchcrits.='&searchtags='.$_GET['searchtags'];
- elseif (!empty($_GET['searchterm'])) $searchcrits.='&searchterm='.$_GET['searchterm'];
- $filtered_feed= ($searchcrits=='' ? '' : 'Filtered ');
- $version=shaarli_version;
-
- $title = htmlspecialchars( $GLOBALS['title'] );
- $pagetitle = htmlspecialchars( empty($GLOBALS['pagetitle']) ? $title : $GLOBALS['pagetitle'] );
- echo <<<HTML
-<html>
-<head>
-<title>{$pagetitle}</title>
-<link rel="alternate" type="application/rss+xml" href="{$feedurl}?do=rss{$searchcrits}" title="{$filtered_feed}RSS Feed" />
-<link rel="alternate" type="application/atom+xml" href="{$feedurl}?do=atom{$searchcrits}" title="{$filtered_feed}ATOM Feed" />
-<link href="./images/favicon.ico" rel="shortcut icon" type="image/x-icon" />
-<link type="text/css" rel="stylesheet" href="shaarli.css?version={$version}" />
-{$jsincludes}
-</head>
-<body {$data['onload']}>{$newversion}
-<div id="pageheader"><div id="logo" title="Share your links !"></div><div style="float:right; font-style:italic; color:#bbb; text-align:right; padding:0 5 0 0;">Shaare your links...<br>{$linkcount} links</div>
- <span id="shaarli_title"><a href="?">{$title}</a></span> - <a href="?">Home</a> {$menu} <a href="{$feedurl}?do=rss{$searchcrits}">RSS Feed</a> <a href="{$feedurl}?do=atom{$searchcrits}" style="padding-left:10px;">ATOM Feed</a>
- <a href="?do=tagcloud">Tag cloud</a> <a href="?do=picwall{$searchcrits}">Picture wall</a>
-{$data['pageheader']}
-</div>
-{$data['body']}
-
-HTML;
- $exectime = round(microtime(true)-$STARTTIME,4);
- echo '<div id="footer"><b><a href="http://sebsauvage.net/wiki/doku.php?id=php:shaarli">Shaarli '.shaarli_version.'</a></b> - The personal, minimalist, super-fast, no-database delicious clone. By sebsauvage.net. Theme by idleman.fr.<br>Who gives a shit that this page was generated in '.$exectime.' seconds ?</div>';
- if (isLoggedIn()) echo '<script language="JavaScript">function confirmDeleteLink() { var agree=confirm("Are you sure you want to delete this link ?"); if (agree) return true ; else return false ; }</script>';
- echo $jsincludes_bottom.'</body></html>';
-}
-