Pour permettre la sélection des billets directement dans la page d'affichage des billets (page par défaut de la zone d'administration), j'ai donc modifié quatre fichiers (parmi ceux-ci encore une classe en plus, c'est vraiment pas bien du tout ça) pour avoir au final un lien "sélectionner" à côté de "mettre hors ligne".

sélection des billets facilitée

Voici donc les différentes modifications que j'ai faites pour arriver à mes fins.

dans /inc/classes/class.blog.php

//après
 
# Inversion de status d'un billet
function statusPost($id)
{
	$updReq = 'UPDATE '.$this->t_post.' SET '.
			'post_pub = 1-post_pub '.
			//',post_upddt = SYSDATE() '.
			'WHERE post_id = '.$id.' ';
	
	if (!$this->con->execute($updReq)) {
		$this->setError('MySQL : '.$this->con->error(),2000);
		return false;
	} else {
		$this->triggerMassUpd();
		$this->tiggerLog('post',$id,'Change status');
	}
}
 
//j'ai ajouté
 
# Inversion de la selection d'un billet
function selectedPost($id)
{
	$updReq = 'UPDATE '.$this->t_post.' SET '.
			'post_selected	 = 1-post_selected	 '.
			'WHERE post_id = '.$id.' ';
	
	if (!$this->con->execute($updReq)) {
		$this->setError('MySQL : '.$this->con->error(),2000);
		return false;
	} else {
		$this->triggerMassUpd();
		$this->tiggerLog('post',$id,'Change selected status');
	}
}
 

dans /l10n/fr/main.lang.php (choisi selon la langue utilisée bien sûr)

//après
 
$GLOBALS['__l10n']['set online'] = 'mettre en ligne';
$GLOBALS['__l10n']['set offline'] = 'mettre hors ligne';
 
//j'ai ajouté
 
$GLOBALS['__l10n']['set selected'] = 'sélectionner';
$GLOBALS['__l10n']['set unselected'] = 'déselectionner';

dans /ecrire/poster.php

//après
 
# Changement du status d'un billet
if (!empty($_GET['cancel']) && $is_editable)
{
	if ($blog->statusPost($post_id) !== false) {
		header('Location: '.$return_link);
		exit;
	} else {
		$err = $blog->error(1);
	}
}
 
//j'ai ajouté
 
# Changement de la selection d'un billet
if (!empty($_GET['select']) && $is_editable)
{
	if ($blog->selectedPost($post_id) !== false) {
		header('Location: '.$return_link);
		exit;
	} else {
		$err = $blog->error(1);
	}
}

et dans /ecrire/index.php

//j'ai remplacé
 
if ($posts->f('post_selected') == 1) {
	$post_selected = '<img src="images/selected.png" '.
			'alt="'.__('This entry is selected').'" class="status" />';
} else {
	$post_selected = '';
}
 
//par
 
if ($posts->f('post_selected') == 1) {
	$post_select = __('set unselected');
	$post_selected = '<img src="images/selected.png" '.
			'alt="'.__('This entry is selected').'" class="status" />';
} else {
	$post_select = __('set selected');
	$post_selected = '';
}
 
//et j'ai aussi remplacé
 
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').'&amp;cancel=1">'.
	$post_cancel.'</a> ]';
}
 
//par
 
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').'&amp;cancel=1">'.
	$post_cancel.'</a> | '.
	'<a href="poster.php?post_id='.$posts->f('post_id').'&amp;select=1">'.
	$post_select.'</a> ] ';
}

Je vous invite à ne pas faire toutes ces modifications inutiles mais si vous insistez, sauvegardez bien les fichiers originaux parce qu'on est jamais trop prudent :whistle: