| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316 | <?php# ***** BEGIN LICENSE BLOCK *****# This file is part of DotClear.# Copyright (c) 2004 Olivier Meunier and contributors. All rights# reserved.## DotClear is free software; you can redistribute it and/or modify# it under the terms of the GNU General Public License as published by# the Free Software Foundation; either version 2 of the License, or# (at your option) any later version.# # DotClear is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the# GNU General Public License for more details.# # You should have received a copy of the GNU General Public License# along with DotClear; if not, write to the Free Software# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA## ***** END LICENSE BLOCK *****require dirname(__FILE__).'/inc/prepend.php';$auth->check(1);include dirname(__FILE__).'/inc/connexion.php';if (!empty($_GET['logout'])) {	$blog->tiggerLog('','','Logout');	$_SESSION = array();	session_unset();	session_destroy();	setcookie(session_name(),'',0,'/');	setcookie('dc_admin', NULL, strtotime('-1 hour'),dc_app_url);	header('Location: index.php');	exit;}$q = (!empty($_GET['q'])) ? $_GET['q'] : '';# Sous menu$mySubMenu->addItem(	'<strong>'.__('New entry').'</strong>',array('poster.php','accesskey="n"'),'images/ico_edit.png',false);$mySubMenu->addItem(	__('Manage images'),'images.php','images/ico_image.png',false);$mySubMenu->addItem(	__('View blog'),dc_blog_url,'images/ico_goto.png',false);# Les catégories du blog$cat_id = (!empty($_GET['cat_id'])) ? $_GET['cat_id'] : '';$rsCat = $blog->getCat();$arry_cat[' '] = NULL;while (!$rsCat->EOF()){	$arry_cat[$rsCat->f('cat_libelle').			' ['.$rsCat->f('nb_post').']'] = $rsCat->f('cat_id');	$rsCat->moveNext();}# Tableau des mois du blog$arry_months = array();foreach ($blog->getAllDates('m','','','',$cat_id) as $k => $v) {	$arry_months[dt::str('%B %Y',$k)] = date('Ym',$k);}# Determiner $y et $m les dates de la pageif (!empty($_GET['m']) && in_array($_GET['m'],$arry_months)) {	$m = substr($_GET['m'],4);	$y = substr($_GET['m'],0,4);} else {	$my_dt = $blog->getEarlierDate($cat_id);	$my_dt = (empty($my_dt)) ? time() : strtotime($my_dt);	$m = $y = '';}# Les billets (et titre)if ($q != ''){	$posts = $blog->searchPost($q);	$nb_res = $posts->nbRow();		if ($nb_res > 1) {		$subtitle = sprintf(__('%1$d entries match your search of %2$s.'),		$nb_res,'<em>'.htmlspecialchars($q).'</em>');	} else {		$subtitle = sprintf(__('%1$d entrie matches search of %2$s.'),		$nb_res,'<em>'.htmlspecialchars($q).'</em>');	}}elseif (isset($_GET['offline'])) {	$blog->setPubMode(0);	$posts = $blog->getLastNews(NULL,'','post_dt DESC');	$subtitle = __('Offline entries.');}elseif (isset($_GET['selected'])) {	$posts = $blog->getLastNews(NULL,'','post_dt DESC',true);	$subtitle = __('Selected entries.');}elseif ($m == '' && $y == ''){	$posts = $blog->getLastNews(15,$cat_id,'post_dt DESC');	$subtitle = sprintf(__('Last %d entries.'),15);}else{	$posts = $blog->getPostByDate($y,$m,'',$cat_id,'post_dt DESC');}$h_script = '';if (!$posts->isEmpty()) {	$h_script =	'<script type="text/javascript">'."\n".	"var js_post_ids = new Array('".implode("','",$posts->getIDs('content'))."');\n".	//"window.onload = function() { mOpenClose(js_post_ids,-1); }\n".	"</script>\n";}openPage(__('Entries'),$h_script);echo '<h2>'.__('List of entries').'</h2>';# Formulaire avec les mois et les catégoriesecho'<form action="index.php" class="clear"><p>'.'<label for="m" style="display:inline;"><strong>'.__('Month').' : </strong></label>'.form::combo('m',array_merge(array(''=>''),$arry_months),$y.$m).' <label for="cat_id" style="display:inline;"><strong>'.__('Category').' : </strong></label>'.form::combo('cat_id',$arry_cat,$cat_id).' <input class="submit" type="submit" value="'.__('ok').'" />'.'</p></form>';# Affichage des mois suivants et précédentsif(!empty($arry_months) && $m != '' && $y != ''){	$m_invert = array_flip($arry_months);	$m_next = util::getNextPrev($m_invert,$y.$m,'prev');	$m_prev = util::getNextPrev($m_invert,$y.$m,'next');	echo '<p>';	if($m_next) {		echo '<a href="index.php?m='.key($m_next).'&cat_id='.$cat_id.'">« '.		current($m_next).'</a> - ';	}		echo '<strong>'.$m_invert[$y.$m].'</strong>';	if($m_prev) {		echo ' - <a href="index.php?m='.key($m_prev).'&cat_id='.$cat_id.'">'.		current($m_prev).' »</a>';	}	echo '</p>';}if (!empty($subtitle)) {	echo '<p>'.$subtitle.'</p>';}# Affichage des billetsif ($posts->isEmpty()){	echo '<p>'.__('No entry').'.</p>';}else{	if (dc_show_previews)	{		echo		'<p class="small"><a href="#" onclick="mOpenClose(js_post_ids,1); return false;">'.		__('show all').'</a> - <a href="#" onclick="mOpenClose(js_post_ids,-1); '.		'return false;">'.__('hide all').'</a></p>';	}		while(!$posts->EOF())	{		if ($posts->f('post_pub') == 0) {			$post_cancel = __('set online');			$post_class = 'cancel';			$post_img = '<img src="images/check_off.png" '.					'alt="'.__('This entry is offline').'" class="status" />';		} else {			$post_cancel = __('set offline');			$post_class = 'published';			$post_img = '<img src="images/check_on.png" '.					'alt="'.__('This entry is online').'" class="status" />';		}				if ($posts->f('post_selected') == 1) {			$post_selected = '<img src="images/selected.png" '.					'alt="'.__('This entry is selected').'" class="status" />';		} else {			$post_selected = '';		}				$nb_comments = $posts->getNbComments();		$nb_trackbacks = $posts->getNbTrackbacks();				# Liens pour l'édition et mise hors ligne accesibles uniquement au		# propriétaire du billet ou à un admin		if ($_SESSION['sess_user_level'] == 9 || $posts->f('user_id') == $_SESSION['sess_user_id']) {			$edit_links = '[ <strong><a href="poster.php?post_id='.$posts->f('post_id').'">'.			__('edit').'</a></strong> | '.			'<a href="poster.php?post_id='.$posts->f('post_id').'&cancel=1">'.			$post_cancel.'</a> ] ';		} else {			$edit_links = '[ <strong><a href="poster.php?post_id='.$posts->f('post_id').'">'.			__('read').'</a></strong> ] ';		}				# Nombre de commentaires et trackbacks		if ($nb_comments > 1) {			$str_comments = sprintf(__('%d comments'),$nb_comments);		} else {			$str_comments = sprintf(__('%d comment'),$nb_comments);		}				if ($nb_trackbacks > 1) {			$str_trackbacks= sprintf(__('%d trackbacks'),$nb_trackbacks);		} else {			$str_trackbacks= sprintf(__('%d trackback'),$nb_trackbacks);		}				echo		'<div class="ligne '.$post_class.'" id="p'.$posts->f('post_id').'">'.		'<h3 class="ligneTitre">'.		$post_img.' '.$post_selected;				if (dc_show_previews)		{			echo			'<a href="#" onclick="openClose(\'content'.$posts->f('post_id').			'\',0); return false;"><img src="images/plus.png" '.			'id="img_content'.$posts->f('post_id').'" '.			'alt="'.__('show/hide').'" title="'.__('show/hide').'" /></a>'.			'  ';		}				echo		$posts->f('post_titre').'</h3>'.				'<p class="ligneInfo">'.		'<strong>'.date('d/m/Y @ H:i:s',$posts->getTS()).'</strong> '.		$edit_links.		'<a href="poster.php?post_id='.$posts->f('post_id').'#comments">'.		$str_comments.		'</a> - '.		'<a href="poster.php?post_id='.$posts->f('post_id').'#trackbacks">'.		$str_trackbacks.		'</a></p>'.		'<p class="ligneInfo">'.		sprintf(__('by %s - in %s'),'<strong>'.$posts->getUserCN().'</strong>',		'<strong>'.$posts->f('cat_libelle').'</strong>').		'</p>'.					'<div id="content'.$posts->f('post_id').'" class="preview" style="display:none">';				if (dc_show_previews) {			echo			(($posts->f('post_chapo')!='') ? $posts->f('post_chapo').'<hr class="thin" />' : '').			$posts->f('post_content');		}					echo '</div>'.			'</div>';				$posts->moveNext();	}}echo'<form action="index.php"><p>'.'<label for="q" style="display:inline;">'.__('Search').' : </label> '.form::field('q',20,'',htmlspecialchars($q)).' <input class="submit" type="submit" value="'.__('ok').'" /></p></form>';if (count($_GET) == 0){	echo	'<ul>'.	'<li><a href="index.php?offline=1">'.__('View all offline entries').'</a></li>'.	'<li><a href="index.php?selected=1">'.__('View all selected entries').'</a></li>'.	'</ul>';		echo	'<h3>'.__('Bookmarklet').'</h3>'.	'<p>'.__('You can drag the following link to your links bar or add it to your '.	'bookmarks and when you "Blog this!" it will open up a popup window with '.	'information and a link to the site you\'re currently browsing so you can make '.	'a quick post about it.').'</p>';		if (substr($_SERVER['REQUEST_URI'],-1) == '/') {		$post_url = $_SERVER['REQUEST_URI'].'poster.php';	} else {		$post_url = dirname($_SERVER['REQUEST_URI']).'/poster.php';	}	$post_url = util::getHost().$post_url;		$bkm1 =	"javascript:if(navigator.userAgent.indexOf('Safari') >= 0){".		"Q=getSelection();".	"}else{".		"Q=document.selection?document.selection.createRange().text:document.getSelection();".	"}".	"void(window.open(".	"'".$post_url."?dcb=1'+'".	"&ptext='+escape(Q)+'".	"&purl='+escape(location.href)+'".	"&ptitle='+escape(document.title),".	"'DotClear bookmarklet',".	"'resizable=yes,scrollbars=yes,width=700,height=460,left=100,top=150,status=yes'));";		echo '<p><a href="'.$bkm1.'">Blog this! - '.dc_blog_name.'</a></p>';}closePage();?>
 |