Liste des mots_cles 

version n°1 PB le 09/07/2001

Cette page a pour but de présenter un tableau récapitulatif des mots clés attachés aux pages des documents et/ou aux versions de documents applicables. Les résultats présentent la paire de mots_clés 1 et 2, le titre du document qui les porte et son lien html pour la navigation directe vers le document, et le numéro de version du document.

Les critères suivants ont été retenus pour la sélection :

*** : S'il n'y a pas de rubrique en cours (Session ("type_doc" == ""), i.e. si le portail est situé sur une mire de département, le lien vers "Mots Clés" pointe sur All_Users/mots_cles_01.asp.
Dans le cas contraire, si une rubrique a été choisie pour le département en cours, le lien pointe sur Moteurs/"moteur_de_la_rubrique"/mots_cles_01.asp. Ainsi la page "Mots Clés" restreint sa recherche à ce type de document et peut éventuellement tenir compte des spécificités de chaque moteur.

    var today = new Date; 
    var date_visu = "" + Session("date_visu");
    var int_date_visu = parseInt (date_visu.substring (6,10) + formatage (date_visu.substring (3,5),2) + formatage (date_visu.substring (0,2), 2));
    var int_today = parseInt (format_time_comp (today));

    var sqltemp = "";
    sqltemp += "select "
    sqltemp += "documents_mots_cles.doc_id, "
    sqltemp += "documents_mots_cles.ver_id, "
    sqltemp += "documents_mots_cles.pag_id, "
    sqltemp += "documents_mots_cles.key1, "
    sqltemp += "documents_mots_cles.key2, "
    sqltemp += "documents_pages.pag_titre, "
    sqltemp += "documents_pages.pag_ref_info, "
    sqltemp += "documents_versions.ver_no_valide, "
    sqltemp += "documents_versions.ver_no_projet, "
    sqltemp += "documents_versions.ver_application_date, "
    sqltemp += "documents_versions.ver_nouveaute_duree, "
    
    sqltemp += "documents.doc_titre, ";
    sqltemp += "documents.doc_comment, ";
    sqltemp += "documents.doc_type_doc, ";
    sqltemp += "param_doc.par_txt_bouton ";    
    
    sqltemp += "from "
    sqltemp += "documents, "
    sqltemp += "documents_versions, "
    sqltemp += "documents_pages, "
    sqltemp += "documents_mots_cles, "
    sqltemp += "param_doc "
    
    sqltemp += "where "
    sqltemp += "documents.doc_id = documents_versions.doc_id and "
    sqltemp += "documents.doc_id = documents_pages.doc_id and "
    sqltemp += "documents.doc_id = documents_mots_cles.doc_id and "
    sqltemp += "documents_versions.ver_id = documents_pages.ver_id and "
    sqltemp += "documents_versions.ver_id = documents_mots_cles.ver_id and "
    sqltemp += "documents_pages.pag_id = documents_mots_cles.pag_id and "

    sqltemp += "documents.doc_dept_code = '" + Session ("dept_code") + "' and "
    //if ("" + Session ("type_doc") != "") sqltemp += "documents.doc_type_doc = '" + Session ("type_doc") + "' and "

    if (Session ("projets") == "non" ){sqltemp += "ver_no_projet = 0 and" ;}

    sqltemp += " (ver_application_date <= cast ('" + date_visu + "' as datetime) or ver_application_date is null) and"
    sqltemp += " (ver_peremption_date > cast ('" + date_visu  + "' as datetime) or ver_peremption_date is null) and"    

    sqltemp += " param_doc.dept_code = documents.doc_dept_code and";
    sqltemp += " param_doc.type_code = documents.doc_type_doc ";    
    
    //sqltemp += " order by par_txt_bouton,1,2,3,4,5,8,9;"
    //sqltemp += " order by documents_mots_cles.doc_id DESC;"
    
    //chargement du premier resultset dans une table temporaire TEMP_MOTS_CLES    
    OBJECT_temp = new DWGenerator ("OBJECT_temp", "SuneTeam");
    OBJECT_temp.cursor = OBJECT_temp.conn.CreateCursor (sqltemp);
    if (null == OBJECT_temp.cursor) {OBJECT_temp.WriteError ();};
    if (!OBJECT_temp.cursor.EOF()) {
      OBJECT_temp.cursor.MoveFirst();

      OBJECT_fill = new DWGenerator ("OBJECT_fill","SuneTeam");
      sqlquery = "select * from temp_mots_cles";
      OBJECT_fill.cursor = OBJECT_fill.conn.CreateCursor (sqlquery);
      if (null == OBJECT_fill.cursor) {OBJECT_fill.WriteError();};

      //var doc_cours = "";
      var insert_new = "";      
      
      for (i=0; !OBJECT_temp.cursor.EOF(); i++) {
        
        //if (("" + OBJECT_temp.cursor.GetValue("doc_id") != doc_cours) || ("" + Session ("client") == "admin")) {
          //doc_cours = "" + OBJECT_temp.cursor.GetValue("doc_id");    
          
       if (1 == 1) {
          OBJECT_fill.cursor.addNew();
          OBJECT_fill.cursor.SetValue ("SESSION_ID", Session.SessionID);          
          OBJECT_fill.cursor.SetValue ("DOC_ID", OBJECT_temp.cursor.GetValue ("doc_id"));
          OBJECT_fill.cursor.SetValue ("VER_ID", OBJECT_temp.cursor.GetValue ("ver_id"));
          OBJECT_fill.cursor.SetValue ("PAG_ID", OBJECT_temp.cursor.GetValue ("pag_id"));
          OBJECT_fill.cursor.SetValue ("KEY1", OBJECT_temp.cursor.GetValue ("key1"));  
          OBJECT_fill.cursor.SetValue ("KEY2", OBJECT_temp.cursor.GetValue ("key2"));  
          
          //NEW ! ???
                //on prépare la date de référence
                    var str_visu = "" + Session("date_visu");
                    var date_ref = new Date ();
                    date_ref.setDate(parseInt(str_visu.substring (0,2)));
                    date_ref.setMonth(parseInt(str_visu.substring (3,5)-1));
                    date_ref.setYear(parseInt(str_visu.substring (6,10)));
                    var int_date_ref = parseInt(format_time_comp(date_ref));

                // ... la date d'application  ... 
                    var str_application = "" + OBJECT_temp.cursor.GetValue ("ver_application_date");
                    var date_appli = new Date ();
                    date_appli.setDate(parseInt(str_application.substring (0,2)));
                    date_appli.setMonth(parseInt(str_application.substring (3,5)-1));
                    date_appli.setYear(parseInt(str_application.substring (6,10)));          
                    var int_date_appli = parseInt(format_time_comp(date_appli));

                // ... la date de fin de nouveaute grace à la date d'application + la duree de nouveaute
                    var int_duree_nouveaute = parseInt("" + OBJECT_temp.cursor.GetValue ("ver_nouveaute_duree"));
                    date_appli.setDate(date_appli.getDate() + int_duree_nouveaute);
                    var int_date_fin_nouveaute = parseInt(format_time_comp(date_appli));
              
              if (int_date_ref <= int_date_fin_nouveaute) {insert_new = "<font color=\"blue\">New ! </font>";} else {insert_new = "";};
          
          OBJECT_fill.cursor.SetValue ("PAG_TITRE", insert_new + OBJECT_temp.cursor.GetValue ("pag_titre"));  
          OBJECT_fill.cursor.SetValue ("PAG_REF_INFO", OBJECT_temp.cursor.GetValue ("pag_ref_info"));  
          OBJECT_fill.cursor.SetValue ("VER_NO_VALIDE", OBJECT_temp.cursor.GetValue ("ver_no_valide"));  
          OBJECT_fill.cursor.SetValue ("VER_NO_PROJET", OBJECT_temp.cursor.GetValue ("ver_no_projet")); 
          
          if ("" + OBJECT_temp.cursor.GetValue ("ver_application_date") != "&nbsp") {
          OBJECT_fill.cursor.SetValue ("VER_APPLICATION_DATE", OBJECT_temp.cursor.GetValue ("ver_application_date")); 
          };
          OBJECT_fill.cursor.SetValue ("DOC_TITRE", OBJECT_temp.cursor.GetValue ("doc_titre")); 
          OBJECT_fill.cursor.SetValue ("DOC_COMMENT", OBJECT_temp.cursor.GetValue ("doc_comment"));
          OBJECT_fill.cursor.SetValue ("DOC_TYPE_DOC", OBJECT_temp.cursor.GetValue ("doc_type_doc"));           
          OBJECT_fill.cursor.SetValue ("PAR_TXT_BOUTON", OBJECT_temp.cursor.GetValue ("par_txt_bouton"));                     
          
          OBJECT_fill.cursor.update();      
          }
        OBJECT_temp.cursor.MoveNext();
        }    
    }; //fin du if !EOF
    
        Response.Write ("\n   <TABLE class=data>");
        Response.Write ("\n      <TR>");
        Response.Write ("\n         <TD COLSPAN=\"7\" class=tableTitle>");
        WriteHelpCell_SuneTeam();
        Response.Write (trad('T_MOTS_CLES_01') + " - " + Session ("dept_libelle"));
        Response.Write ("</TD>");
        Response.Write ("\n      </TR>");

        Response.Write ("\n      <TR>")
        WriteTeteCol ('','KEY1')
        WriteTeteCol ('','KEY2')
        WriteTeteCol ('','VER_APPLICATION_DATE')
        WriteTeteCol ('','DOC_TITRE')
        WriteTeteCol ('','Version')        
        WriteTeteCol ('','PAG_TITRE')
        WriteTeteCol ('','DOC_COMMENT')        
        Response.Write ("\n      </TR>")
    
    //remplissage de l'écran par une requête sur la table temporaire
    OBJECT_keys = new DWGenerator ("OBJECT_keys", "SuneTeam");
    sqlquery =  "select * from temp_mots_cles where SESSION_ID = " + Session.SessionID + " order by doc_type_doc, key1, key2";    
    
    OBJECT_keys.cursor = OBJECT_keys.conn.CreateCursor (sqlquery);
    if (null == OBJECT_keys.cursor) {OBJECT_keys.WriteError ();};
    if (!OBJECT_keys.cursor.EOF()) OBJECT_keys.cursor.MoveFirst(); 
    
    var rubrique_cours = "";
    var key1_cours = "";
    
    //On se positionne sur la première ligne à afficher
    for (var i =0; i < OBJECT_keys.startrow; i++) {OBJECT_keys.cursor.MoveNext();}

    for (i=0; (!OBJECT_keys.cursor.EOF() && i < GetNbLignes () * 2); i++) {
        
            //gestion des lignes-titres de rubriques :
            if ((i == 0) || ("" + OBJECT_keys.cursor.GetValue ('doc_type_doc') != rubrique_cours)) {
            rubrique_cours = OBJECT_keys.cursor.GetValue ('doc_type_doc');
            Response.Write ("<TR><TD class=tableTitleRubrique COLSPAN=\"4\">" + OBJECT_keys.cursor.GetValue ('par_txt_bouton') + "</TD></TR>");            
            }            
                
          if (i%2==1){Response.Write ("\n      <TR class=tableTD1>");} else {Response.Write ("\n      <TR class=tableTD2>");};
          if (i == 0) {key1_cours = "" + OBJECT_keys.cursor.GetValue("key1"); Response.Write ("<TD><B>" + key1_cours + "</B></TD>");};
          if ((i != 0) && ("" + OBJECT_keys.cursor.GetValue("key1") != key1_cours)) {Response.Write ("<TD><B>" + OBJECT_keys.cursor.GetValue("key1") + "</B></TD>");}
          if ((i != 0) && ("" + OBJECT_keys.cursor.GetValue("key1") == key1_cours)) {Response.Write ("<TD> - </TD>");}
          key1_cours = "" + OBJECT_keys.cursor.GetValue("key1");
          Response.Write ("<TD><B>" + OBJECT_keys.cursor.GetValue("key2") + "</B></TD>");
          Response.Write ("<TD>" + OBJECT_keys.cursor.GetValue("ver_application_date") + "</TD>");  
          Response.Write ("<TD>" + OBJECT_keys.cursor.GetValue("doc_titre") + "</TD>");          
          Response.Write ("<TD ALIGN=\"center\">" + OBJECT_keys.cursor.GetValue("ver_no_valide") + "." + OBJECT_keys.cursor.GetValue("ver_no_projet") + "</TD>");          
          Response.Write ("<TD><A HREF=\"" + OBJECT_keys.cursor.GetValue("pag_ref_info") + "\">" + OBJECT_keys.cursor.GetValue("pag_titre") + "</A></TD>");
          Response.Write ("<TD>" + OBJECT_keys.cursor.GetValue("doc_comment") + "</TD>");          
          Response.Write ("</TR>");
          OBJECT_keys.cursor.MoveNext();
          }

    Response.Write ("</TABLE>");

    //vidage de la table temporaire pour l'utilisateur courant
    OBJECT_empty = new DWGenerator ("OBJECT_empty","SuneTeam");
    var sql_empty = "delete from temp_mots_cles where SESSION_ID = " + Session.SessionID;
    OBJECT_empty.cursor = OBJECT_empty.conn.CreateCursor (sql_empty);
    if (null == OBJECT_empty.cursor) {OBJECT_empty.WriteError();};
    
    WriteNavig(OBJECT_keys);