Des documents datés

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Des dattes documentées, euh non.. cela permet d’attribuer une date (et eventuellement une heure) à un document, on peut également en changeant la date de l’article l’attribuer à tous les documents.

Testé sous spip7
Vous pourrez ainsi profiter pleinement de #DATE dans la boucle (DOCUMENTS)

3 fichiers à modifier

-  ecrire/articles.php3
-  ecrire/inc_documents.php3
-  rajouter dans ecrire/lang/spip_fr.php3 cette ligne :
’info_attribuer_date_art’ => ’Attribuer la date de l\’article &agrave tous les documents :’,


REVUE POUR SPIP 1.7.2(voir docs joints avec les explications---bouh, ça marche pas

SPIP 1.7.2 -MODIFICATIONS POUR LA DATE DES DOCS
rajouter dans ecrire/lang/spip_fr.php3 ces 2 ligne :
'info_attribuer_date_art' => 'Attribuer la date de l\'article à tous les documents :',
'info_date_doc' => 'Date du document :',

Ligne 721 à 735
REMPLACER 
if ($GLOBALS['coll'] > 0 AND $options == "avancees") {
			if (ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})", $date, $regs)) {
				$mois = $regs[2];
				$jour = $regs[3];
				$annee = $regs[1];
			}
			echo "<b>"._T('info_mise_en_ligne')."</b><br />\n";
			echo "<SELECT NAME='jour_doc' SIZE=1 CLASS='fondl' style='font-size:px;'>";
			afficher_jour($jour);
			echo "</SELECT> ";
			echo "<SELECT NAME='mois_doc' SIZE=1 CLASS='fondl' style='font-size:9px;'>";
			afficher_mois($mois);
			echo "</SELECT> ";
			echo "<SELECT NAME='annee_doc' SIZE=1 CLASS='fondl' style='font-size:9px;'>";
			afficher_annee($annee);
			echo "</SELECT><br />";
		}

		if ($options == "avancees") {
PAR
############## RAJOUT ALM
/////////////////if ($GLOBALS['coll'] > 0 AND $options == "avancees") {
		 
			if (ereg("([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})", $date, $regs)) {
				$mois_doc = $regs[2];
				$jour_doc = $regs[3];
				$annee_doc = $regs[1];
				$heure_doc = $regs[4];
				$minute_doc = $regs[5];
			////////}
			echo "<b>"._T('info_date_doc')."</b><br />\n";
			echo "<SELECT NAME='jour_doc' SIZE=1 CLASS='fondl' style='font-size:9px;'>";
			afficher_jour($jour_doc);
			echo "</SELECT> ";
			echo "<SELECT NAME='mois_doc' SIZE=1 CLASS='fondl' style='font-size:9px;'>";
			afficher_mois($mois_doc);
			echo "</SELECT> ";
			echo "<SELECT NAME='annee_doc' SIZE=1 CLASS='fondl' style='font-size:9px;'>";
			afficher_annee($annee_doc);
			echo "</SELECT> ";
############ rajout alm pour les documents télévisés  heure et minute
			if (($type_extension==mov) OR ($type_extension==avi) OR ($type_extension==rm) OR ($type_extension==ram) OR ($type_extension==ramx) OR ($type_extension==rpm) OR ($type_extension==qt) OR ($type_extension==mid)){
			echo "<SELECT NAME='heure_doc' SIZE=1 CLASS='fondl' style='font-size:9px;'>";
			afficher_heure($heure_doc);
			echo "</SELECT> ";
			echo "<SELECT NAME='minute_doc' SIZE=1 CLASS='fondl' style='font-size:9px;'>";
			afficher_minute($minute_doc);
			echo "</SELECT><br />";}
		}

///if ($options == "avancees" ) {
################ FIN RAJOUT ALM

-----------------------------------------------------------------------------------
pas besoin d'options avançées ligne 740 à 742 
/*} else {
			echo "<input type='hidden' name='descriptif_document' value='".entites_html($descriptif)."' />\n";
		}*/
-----------------------------------------------------------------------------------

et dans ecrire/articles.php3

SPIP 1.7.2 -MODIFICATIONS POUR LA DATE DES DOCS
rajouter dans ecrire/lang/spip_fr.php3 ces 2 ligne :
'info_attribuer_date_art' => 'Attribuer la date de l\'article à tous les documents :',
'info_date_doc' => 'Date du document :',

ecrire/articles.php3
-----------------------------------------------------------------------------------
-ligne 71 après  OR $statut_article == 'poubelle')));
déplacement coupe/ colle du bloc ligne 185 à 196 (+11 lignes)
// Passer les images/docs en "inclus=non"
$query = "SELECT docs.id_document FROM spip_documents AS docs, spip_documents_articles AS lien WHERE lien.id_article=$id_article AND lien.id_document=docs.id_document";
$result = spip_query($query);

while($row=spip_fetch_array($result)){
	$ze_doc[]=$row['id_document'];
}

if (count($ze_doc)>0){
	$ze_docs = join($ze_doc,",");
	spip_query("UPDATE spip_documents SET inclus='non' WHERE id_document IN ($ze_docs)");
}
-----------------------------------------------------------------------------------
-ligne 84 (devenue ligne 95) enlever le parse qui tue 
et ajouter ce bloc de 23 lignes: 
///le parse qui tue alm }
##########///////   rajout alm modification de la date d'un doc
	if ($jour_doc AND $flag_editable) {
		if ($annee_doc == "0000") $mois_doc = "00";
		if ($mois_doc == "00") $jour_doc = "00";
		////if ($heure_doc == "00") $heure_doc = "00";
		////if ($minute_doc == "00") $minute_doc = "00";
		$query = "UPDATE spip_documents SET date='$annee_doc-$mois_doc-$jour_doc $heure_doc:$minute_doc:00' WHERE id_document=$id_document";
		$result = spip_query($query);
		calculer_dates_rubriques();
	}
	}
	//////////
	////////   rajout alm modification de la date de tous les docs
    ////sans AND $connect_statut == '0minirezo' AND acces_rubrique($coll)
	if ( $jour && $flag_editable AND $check_jour_docs ) {
		if ($annee == "0000") $mois = "00";
		if ($mois == "00") $jour = "00";
		$query = "UPDATE spip_documents SET date='$annee-$mois-$jour $heure_doc:$minute_doc:00' WHERE id_document IN ($ze_docs)";
		$result = spip_query($query);
		calculer_dates_rubriques();
	}
#########////////// fin rajout alm modification de la date doc(s)
-----------------------------------------------------------------------------------
-le bloc 216 à 233 est visible annulé /**/ ex-bloc ligne 185 à 196
-----------------------------------------------------------------------------------
-ligne 356 suppression DU BLOC de 5 lignes (356 à 360)(soit 388 à 392)
if (ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})", $date, $regs)) {
        $mois = $regs[2];
        $jour = $regs[3];
        $annee = $regs[1];
}
REMPLACER PAR (de 394 à 400)
if (ereg("([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})", $date, $regs)) {
				$mois = $regs[2];
				$jour = $regs[3];
				$annee = $regs[1];
				$heure = $regs[4];
				$minute = $regs[5];
}
-----------------------------------------------------------------------------------
-ligne 712 à 722 SUPPRIMER LE BLOC de 10 lignes (soit 750 à 760)
function afficher_annee($annee){
	// Cette ligne permettrait de faire des articles sans date de publication
	// my_sel("0000","n.c.",$annee);

	if($annee<1996 AND $annee <> 0){
		echo "<OPTION VALUE='$annee' SELECTED>$annee\n";
	}
	for($i=1996;$i<date(Y)+2;$i++){
		my_sel($i,$i,$annee);
	}
}
REMPLACER PAR 
################## modif alm
function afficher_annee($annee){
	// Cette ligne permettrait de faire des articles sans date de publication
	// my_sel("0000","n.c.",$annee);

	if($annee<1789 AND $annee <> 0){
		echo "<OPTION VALUE='$annee' SELECTED>$annee\n";
	}
	for($i=1789;$i<date(Y)+10;$i++){
		my_sel($i,$i,$annee);
	}
}
###############

-----------------------------------------------------------------------------------
-ligne 731 apres function afficher_jour($jour) et avant debut_cadre_relief();
echo "<CENTER>"; soit ligne 782 à 807
RAJOUTER
############## ALM heure et minute
################## modif alm
function afficher_heure($heure){

	my_sel("00",'00',$heure);
	echo"H";
	for($i=1;$i<24;$i++){
		if ($i<10){$aff="0".$i;}else{$aff=$i;}
		my_sel($i,$aff,$heure);
		echo"H";
	}
}

################## modif alm
function afficher_minute($minute){

	my_sel("00",'00',$minute);
	echo"Mn";
	for($i=1;$i<60;$i++){
		if ($i<10){$aff="0".$i;}else{$aff=$i;}
		my_sel($i,$aff,$minute);
		echo"Mn";
	}
}
###############
#############


-----------------------------------------------------------------------------------

-ligne 847 après afficher_annee($annee);
		echo "</SELECT>"; (soit la ligne 922) AJOUTER 
############ rajout alm pour les documents télévisés  heure et minute
			echo "<br><SELECT NAME='heure' SIZE=1 CLASS='fondl'>";
			afficher_heure($heure);
			echo "</SELECT> ";
			echo "<SELECT NAME='minute' SIZE=1 CLASS='fondl'>";
			afficher_minute($minute);
			echo "</SELECT>";
		#############



-----------------------------------------------------------------------------------
-avant la ligne 850 (soit la ligne 933) qui est
echo "</TD></TR></TABLE>";
RAJOUTER
#######################///////////rajout ALM date sur tous les docs
if (count($ze_doc)>0){
		echo "</td>
		</tr><tr>
		  <td> <div align='right'>
		  "._T('info_attribuer_date_art')."
		   </div></td> 
		  <td>
		      <div align='left'>
			    <input type='checkbox' name='check_jour_docs' value='oui'>
              </div>";}
##########################	

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom