Valider 7a9b3692 rédigé par esj's avatar esj
Parcourir les fichiers

Petits bugs dans la pagination Ajax de l'espace privé:

	- mauvais répérage de la tranche affichée dans la barre de navigation, qui mettait en gras et en non clicable systématiquement le lien nommé '''1'''

	- confusion entre le pas et la limite dans la navigation des signatures; tant qu'à faire, on met le pas comme argument du script, mais il manque l'interface graphique permettant de l'utiliser autrement qu'en écrivant soi-même l'URL

Du coup on peut retirer la constante _TRANCHE de ecrire/index.php pour la mettre dans le seul fichier qui l'utilise: presenter_liste.
parent 17cb9106
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+10 −9
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -12,6 +12,8 @@

if (!defined("_ECRIRE_INC_VERSION")) return;

include_spip('inc/presentation');

// http://doc.spip.org/@exec_controle_petition_dist
function exec_controle_petition_dist()
{
@@ -19,14 +21,13 @@ function exec_controle_petition_dist()
		_request('type'),
		_request('date'),
		intval(_request('debut')),
				    intval(_request('id_signature')));
		intval(_request('id_signature')),
		intval(_request('pas'))); // a proposer grapiquement
}

// http://doc.spip.org/@exec_controle_petition_args
function exec_controle_petition_args($id_article, $type, $date, $debut, $id_signature)
function exec_controle_petition_args($id_article, $type, $date, $debut, $id_signature, $pas=0)
{
	include_spip('inc/presentation');

	if (!preg_match('/^\w+$/',$type)) $type = 'public';
	$statut='new';
	$where = '';
@@ -63,8 +64,8 @@ function exec_controle_petition_args($id_article, $type, $date, $debut, $id_sign
		if ($type == 'interne')   $where = "NOT($where)";
		if ($id_article) $where .= " AND id_article=$id_article";
		$order = "date_time DESC";
		if (!$pas) $pas = 15;
		$signatures = charger_fonction('signatures', 'inc');
		$pas = floor(1.5*_TRANCHES);
		if ($date) {
			include_spip('inc/forum');
			$query = array('SELECT' => 'UNIX_TIMESTAMP(date_time) AS d',
@@ -74,7 +75,7 @@ function exec_controle_petition_args($id_article, $type, $date, $debut, $id_sign
			$debut = navigation_trouve_date($date, 'd', $pas, $query);
		}

		$r = $signatures('controle_petition', $id_article, $debut, $pas, $where, $order, 15,  $type);
		$r = $signatures('controle_petition', $id_article, $debut, $pas, $where, $order, $type);

		if (_AJAX) {
			ajax_retour($r);
+8 −5
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -12,6 +12,8 @@

if (!defined("_ECRIRE_INC_VERSION")) return;

define('_TRANCHES', 10);

// Cette fonction prend un argument un tableau decrivant une requete Select
// et une fonction formatant chaque ligne du resultat de la requete
// Elle renvoie une enumeration HTML de ces lignes formatees, 
@@ -24,7 +26,7 @@ function inc_presenter_liste_dist($requete, $fonc, &$prims, $own, $force, $style

	// $requete est passe par reference, pour modifier l'index LIMIT
	if ($idom AND $spip_display != 4)
		$tranches = affiche_tranche_bandeau($requete, $idom, $url, $cpt);
		$tranches = affiche_tranche_bandeau($requete, $idom, $url, $cpt, _TRANCHES);
	else $tranches = '';

	$prim = $prims;
@@ -99,7 +101,7 @@ function afficher_tranches_requete($num_rows, $idom, $url='', $nb_aff = 10, $old
	$self = self();
	$ie_style = ($browser_name == "MSIE") ? "height:1%" : '';
	$style = "style='visibility: hidden; float: $spip_lang_right'";
	$nav= navigation_pagination($num_rows, $nb_aff, $url, _request('idom'), $idom, true);
	$nav= navigation_pagination($num_rows, $nb_aff, $url, _request($idom), $idom, true);
	$script = parametre_url($self, $idom, -1);
	$l = htmlentities(_T('lien_tout_afficher'));

@@ -114,7 +116,7 @@ function afficher_tranches_requete($num_rows, $idom, $url='', $nb_aff = 10, $old
}

// http://doc.spip.org/@affiche_tranche_bandeau
function affiche_tranche_bandeau(&$requete, $idom, $url='', $cpt=NULL)
function affiche_tranche_bandeau(&$requete, $idom, $url='', $cpt=NULL, $pas=10)
{
	if (!isset($requete['GROUP BY'])) $requete['GROUP BY'] = '';

@@ -122,11 +124,12 @@ function affiche_tranche_bandeau(&$requete, $idom, $url='', $cpt=NULL)
		$cpt = sql_countsel($requete['FROM'], $requete['WHERE'], $requete['GROUP BY']);

	$deb_aff = intval(_request($idom));
	$nb_aff = floor(1.5 * _TRANCHES);
	$nb_aff = $pas + ($pas>>1);

	if (isset($requete['LIMIT'])) $cpt = min($requete['LIMIT'], $cpt);

	if ($cpt > $nb_aff) {
		$nb_aff = (_TRANCHES); 
		$nb_aff = $pas;
		$res = afficher_tranches_requete($cpt, $idom, $url, $nb_aff);
	} else $res = '';

+2 −2
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -19,7 +19,7 @@ function message_de_signature($row)
}

// http://doc.spip.org/@inc_signatures_dist
function inc_signatures_dist($script, $id, $debut, $pas, $where, $order, $limit='', $type='') {
function inc_signatures_dist($script, $id, $debut, $pas, $where, $order, $type='') {
	charger_generer_url();

	if ($id) { 
@@ -32,7 +32,7 @@ function inc_signatures_dist($script, $id, $debut, $pas, $where, $order, $limit=
		$res = navigation_pagination($t, $pas, generer_url_ecrire($script, $args), $debut, 'debut', false);
	} else $res = '';

	$limit = (!$limit AND !$debut) ? '' : (($debut ? "$debut," : "") . $limit);
	$limit = (!$pas AND !$debut) ? '' : (($debut ? "$debut," : "") . $pas);

	$request = sql_select('*', 'spip_signatures', $where, '', $order, $limit);

+0 −2
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -117,8 +117,6 @@ if (isset($_COOKIE['spip_lang_ecrire'])) {

utiliser_langue_visiteur(); 

define('_TRANCHES', 10);

//
// Gestion d'une page normale de l'espace prive
//