Des documents datés

All contributions published for previous SPIP versions

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>";}
##########################        

updated on 6 October 2016

Discussion

Aucune discussion

Comment on this article

Who are you?
  • [Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom