function exec_mots_edit_args($id_mot, $id_groupe, $new, $table='', $table_id='', $titre='', $redirect='', $ajouter_id_article='') { global $spip_lang_right, $connect_statut, $les_notes; $autoriser_editer = $editer = false; if ($new=='oui') $autoriser_editer = true; if (($new=='oui') OR $autoriser_editer) $editer = true; $ok = false; $row = sql_fetsel("*", "spip_mots", "id_mot=$id_mot"); if ($row) { $id_mot = $row['id_mot']; $titre_mot = $row['titre']; $descriptif = $row['descriptif']; $texte = $row['texte']; $extra = $row['extra']; $id_groupe = $row['id_groupe']; $onfocus =''; $autoriser_editer = autoriser('modifier', 'mot', $id_mot, null, array('id_groupe' => $id_groupe)); if (!_request('edit')) $editer = false; else $editer = $autoriser_editer; $ok = true; } else { $row = sql_countsel('spip_groupes_mots', ($table ? "tables_liees REGEXP '(^|,)$table($|,)'" : '') //($table ? "$table='oui'" : '') ); if (!$new OR !autoriser('modifier', 'mot', $id_mot, null, array('id_groupe' => $id_groupe)) OR (!$row AND !$table)) { include_spip('inc/minipres'); echo minipres(_T('info_mot_sans_groupe')); } else { $id_mot = 0; $descriptif = $texte = ''; if (!$row) { // cas pathologique: // creation d'un mot sans groupe de mots cree auparavant // (ne devrait arriver qu'en cas d'appel explicite ou // destruction concomittante des groupes de mots idoines) if ($redirect) $redirect = '&redirect=' . $redirect; if ($titre) $titre = "&titre=".rawurlencode($titre); include_spip('inc/headers'); redirige_par_entete(redirige_action_auteur('instituer_groupe_mots', $table, 'mots_edit', "new=$new&table=$table&table_id=$table_id&ajouter_id_article=$ajouter_id_article$titre$redirect", true)); } $ok = true; } } if ($ok) { pipeline('exec_init',array('args'=>array('exec'=>'mots_edit','id_mot'=>$id_mot),'data'=>'')); $commencer_page = charger_fonction('commencer_page', 'inc'); $out = $commencer_page("« ".sinon($titre_mot,_T('texte_nouveau_mot'))." »", "naviguer", "mots") . debut_gauche('',true); ////////////////////////////////////////////////////// // Boite "voir en ligne" // if ($id_mot) { $out .= debut_boite_info(true); $out .= "\n<div style='font-weight: bold; text-align: center' class='verdana1 spip_xx-small'>" . _T('titre_gauche_mots_edit') . "<br /><span class='spip_xx-large'>" . $id_mot . '</span></div>'; $out .= voir_en_ligne ('mot', $id_mot, false, 'racine-24.gif', false, false); $out .= fin_boite_info(true); // Logos du mot-clef $flag_editable = autoriser('modifier', 'mot', $id_mot, null, array('id_groupe' => $id_groupe)); $iconifier = charger_fonction('iconifier', 'inc'); $out .= $iconifier('id_mot', $id_mot, 'mots_edit', false, $flag_editable); } else $flag_editable = false; // // Afficher les boutons de creation // $res =''; if ($id_groupe AND autoriser('modifier','groupemots',$id_groupe)) { $res = icone_horizontale(_T('icone_modif_groupe_mots'), generer_url_ecrire("mots_type","id_groupe=$id_groupe"), "groupe-mot-24.gif", "edit.gif", false) . icone_horizontale(_T('icone_creation_mots_cles'), generer_url_ecrire("mots_edit", "new=oui&id_groupe=$id_groupe&redirect=" . generer_url_retour('mots_tous')), "mot-cle-24.gif", "creer.gif", false); } $out .= pipeline('affiche_gauche',array('args'=>array('exec'=>'mots_edit','id_mot'=>$id_mot),'data'=>'')) . bloc_des_raccourcis($res . icone_horizontale(_T('icone_voir_tous_mots_cles'), generer_url_ecrire("mots_tous",""), "mot-cle-24.gif", "rien.gif", false)) . creer_colonne_droite('',true) . pipeline('affiche_droite',array('args'=>array('exec'=>'mots_edit','id_mot'=>$id_mot),'data'=>'')) . debut_droite('',true); // --- Voir le mot ---- $out .= debut_cadre_relief("mot-cle-24.gif",true,'','','mot-voir',$editer?'none':''); if ($flag_editable) $out .= icone_inline(_T('icone_modifier_mot'), generer_url_ecrire('mots_edit',"id_mot=$id_mot&edit=oui"), "mot-cle-24.gif", "rien.gif",$spip_lang_right,false," onclick=\"$('#mot-editer').show();$('#mot-voir').hide();return false;\""); $out .= gros_titre(sinon($titre_mot,_T('texte_nouveau_mot')),'',false); $out .= "<div class='nettoyeur'></div>"; $contenu_mot = ""; if ($descriptif) { $contenu_mot .= "<div style='border: 1px dashed #aaaaaa; ' class='verdana1 spip_small'>" . "<b>" . _T('info_descriptif') . "</b> " . propre($descriptif) . " " . "</div>"; } if (strlen($texte)>0){ $contenu_mot .= "<p class='verdana1 spip_small'>" . propre($texte) . "</p>"; } if ($les_notes) { $contenu_mot .= debut_cadre_relief('',true) . "<div dir='" . lang_dir() ."' class='arial11'>" . justifier("<b>"._T('info_notes')." :</b> ".$les_notes) . "</div>" . fin_cadre_relief(true); } $contexte = array('id'=>$id_mot); // permettre aux plugin de faire des modifs ou des ajouts $contenu_mot = pipeline('afficher_contenu_objet', array( 'args'=>array( 'type'=>'mot', 'id_objet'=>$id_mot, 'contexte'=>$contexte ), 'data'=> $contenu_mot ) ); $out .= $contenu_mot; if ($id_mot) { if ($connect_statut == "0minirezo") $aff_articles = "'prepa','prop','publie','refuse'"; else $aff_articles = "'prop','publie'"; $out .= afficher_objets('rubrique','<b>' . _T('info_rubriques_liees_mot') . '</b>', array("FROM" => 'spip_rubriques AS rubrique LEFT JOIN spip_mots_rubriques AS lien ON lien.id_rubrique=rubrique.id_rubrique', 'WHERE' => "lien.id_mot=$id_mot", 'ORDER BY' => "rubrique.titre")); $out .= afficher_objets('article',_T('info_articles_lies_mot'), array('FROM' => "spip_articles AS articles LEFT JOIN spip_mots_articles AS lien ON lien.id_article=articles.id_article", 'WHERE' => "lien.id_mot=$id_mot AND articles.statut IN ($aff_articles)", 'ORDER BY' => "articles.date DESC")); $out .= afficher_objets('breve','<b>' . _T('info_breves_liees_mot') . '</b>', array("FROM" => 'spip_breves AS breves LEFT JOIN spip_mots_breves AS lien ON lien.id_breve=breves.id_breve', 'WHERE' => "lien.id_mot=$id_mot", 'ORDER BY' => "breves.date_heure DESC")); $out .= afficher_objets('site','<b>' . _T('info_sites_lies_mot') . '</b>', array("FROM" => 'spip_syndic AS syndic LEFT JOIN spip_mots_syndic AS lien ON lien.id_syndic=syndic.id_syndic', 'WHERE' => "lien.id_mot=$id_mot", 'ORDER BY' => "syndic.nom_site DESC")); } $out .= pipeline('affiche_milieu',array('args'=>array('exec'=>'mots_edit','id_mot'=>$id_mot),'data'=>'')) . fin_cadre_relief(true); // --- Editer le mot ---- if ($autoriser_editer){ $out .= "<div id='mot-editer'".($editer?"":" class='none'").'>'; $contexte = array( 'icone_retour'=>icone_inline(_T('icone_retour'),($editer AND $redirect)?rawurldecode($redirect): generer_url_ecrire('mots_edit','id_mot='.$id_mot,false,true), "mot-cle-24.gif", "rien.gif",$GLOBALS['spip_lang_left'],false,($editer AND $redirect)?"":" onclick=\"$('#mot-editer').hide();$('#mot-voir').show();return false;\""), 'redirect'=>$redirect?rawurldecode($redirect):generer_url_ecrire('mots_edit','id_mot='.$id_mot,'&',true), 'titre'=>sinon($titre_mot,$titre), 'new'=>$new == "oui"?$new:$id_mot, 'id_groupe'=>$id_groupe, 'config_fonc'=>'mots_edit_config', 'ajouter_id_article' => $ajouter_id_article, 'table'=>$table, 'table_id'=>$table_id ); $out .= recuperer_fond("prive/editer/mot", $contexte); $out .= '</div>'; } echo $out, fin_gauche(), fin_page(); } }
function creer_mot($table, $id_objet, $table_id, $url_base, $mot='', $id_groupe=0) { static $titres = array( 'articles'=>'icone_creer_mot_cle', 'breves'=>'icone_creer_mot_cle_breve', 'rubriques'=>'icone_creer_mot_cle_rubrique', 'sites'=>'icone_creer_mot_cle_site' ); if (!($id_groupe ? autoriser('modifier','groupemots', $id_groupe) : autoriser('modifier','groupemots')) ) return ''; $legende = isset($titres[$table]) ? _T($titres[$table]) : _T('icone_creer_mot_cle'); $args = "new=oui&ajouter_id_article=$id_objet&table=$table&table_id=$table_id" . (!$mot ? '' : ("&titre=".rawurlencode($mot))) . (!$id_groupe ? '' : ("&id_groupe=".intval($id_groupe))) . "&redirect=" . generer_url_retour($url_base, "$table_id=$id_objet"); return icone_horizontale_display($legende, generer_url_ecrire("mots_edit", $args), "mot-cle-24.gif", "creer.gif", false); }
function presenter_groupe_mots_boucle($row, $own) { global $connect_statut; $puce_statut = charger_fonction('puce_statut', 'inc'); list($occurrences, $total, $deb_aff) = $own; $id_mot = $row['id_mot']; $id_groupe = $row['id_groupe']; $titre = typo($row['titre']); $descriptif = entites_html($row['descriptif']); $droit = autoriser('modifier', 'mot', $id_mot, null, array('id_groupe' => $id_groupe)); if ($droit OR $occurrences['articles'][$id_mot] > 0) { $h = generer_url_ecrire('mots_edit', "id_mot=$id_mot&redirect=" . generer_url_retour('mots_tous') . "#editer_mots-$id_groupe"); if ($descriptif) $descriptif = " title=\"$descriptif\""; $cle = $puce_statut($id_mot, 'publie', $id_groupe, 'mot'); $titre = "<a href='$h' $descriptif>$cle $titre</a>"; } $vals = array($titre); $texte_lie = array(); $na = isset($occurrences['articles'][$id_mot]) ? $occurrences['articles'][$id_mot] : 0; if ($na == 1) $texte_lie[] = _T('info_1_article'); else if ($na > 1) $texte_lie[] = $na." "._T('info_articles_02'); $nb = isset($occurrences['breves'][$id_mot]) ? $occurrences['breves'][$id_mot] : 0; if ($nb == 1) $texte_lie[] = _T('info_1_breve'); else if ($nb > 1) $texte_lie[] = $nb." "._T('info_breves_03'); $ns = isset($occurrences['syndic'][$id_mot]) ? $occurrences['syndic'][$id_mot] : 0; if ($ns == 1) $texte_lie[] = _T('info_1_site'); else if ($ns > 1) $texte_lie[] = $ns." "._T('info_sites'); $nr = isset($occurrences['rubriques'][$id_mot]) ? $occurrences['rubriques'][$id_mot] : 0; if ($nr == 1) $texte_lie[] = _T('info_une_rubrique_02'); else if ($nr > 1) $texte_lie[] = $nr." "._T('info_rubriques_02'); $texte_lie = pipeline('afficher_nombre_objets_associes_a',array('args'=>array('objet'=>'mot','id_objet'=>$id_mot),'data'=>$texte_lie)); $texte_lie = join($texte_lie,", "); $vals[] = $texte_lie; if ($droit) { $clic = '<small>' ._T('info_supprimer_mot') . " <img style='vertical-align: bottom;' src='" . chemin_image('croix-rouge.gif') . "' alt='X' width='7' height='7' />" . '</small>'; if ($nr OR $na OR $ns OR $nb) $href = "<a href='" . generer_url_ecrire("mots_tous","conf_mot=$id_mot&na=$na&nb=$nb&nr=$nr&ns=$ns&son_groupe=$id_groupe") . "#editer_mots-$id_groupe" . "'>$clic</a>"; else { $href = generer_supprimer_mot($id_mot, $id_groupe, $clic, $total, $deb_aff); } $vals[] = "<div style='text-align:right;'>$href</div>"; } return $vals; }
function exec_mots_tous_dist() { global $spip_lang, $spip_lang_left, $spip_lang_right; $conf_mot = intval(_request('conf_mot')); $son_groupe = intval(_request('son_groupe')); pipeline('exec_init',array('args'=>array('exec'=>'mots_tous'),'data'=>'')); $commencer_page = charger_fonction('commencer_page', 'inc'); echo $commencer_page(_T('titre_page_mots_tous'), "naviguer", "mots"); echo debut_gauche('', true); echo pipeline('affiche_gauche',array('args'=>array('exec'=>'mots_tous'),'data'=>'')); if (autoriser('creer','groupemots') AND !$conf_mot){ $out = ""; $result = sql_select("*, ".sql_multi ("titre", "$spip_lang"), "spip_groupes_mots", "", "", "multi"); while ($row_groupes = sql_fetch($result)) { $id_groupe = $row_groupes['id_groupe']; $titre_groupe = typo($row_groupes['titre']); $out .= "<li class='item'><a href='#mots_tous-$id_groupe' onclick='$(\"div.mots_tous\").hide().filter(\"#mots_tous-$id_groupe\").show();return false;'>$titre_groupe</a></li>"; } if (strlen($out)) $out = "<a class='verdana1' href='#' onclick='$(\"div.mots_tous\").show();return false;'>"._T('icone_voir_tous_mots_cles')."</a>" ."<ul class='liste-items raccourcis_rapides'>" .$out ."</ul>" ; echo debut_boite_info(true) . $out . fin_boite_info(true); $res = icone_horizontale(_T('icone_creation_groupe_mots'), generer_url_ecrire("mots_type","new=oui"), "groupe-mot-24.gif", "creer.gif",false); echo bloc_des_raccourcis($res); } echo creer_colonne_droite('', true); echo pipeline('affiche_droite',array('args'=>array('exec'=>'mots_tous'),'data'=>'')); echo debut_droite('', true); echo gros_titre(_T('titre_mots_tous'),'', false); if (autoriser('creer','groupemots')) { echo typo(_T('info_creation_mots_cles')) . aide ("mots") ; } echo "<br /><br />"; // // On boucle d'abord sur les groupes de mots // $result = sql_select("*, ".sql_multi ("titre", "$spip_lang"), "spip_groupes_mots", "", "", "multi"); while ($row_groupes = sql_fetch($result)) { if (autoriser('voir','groupemots',$row_groupes['id_groupe'])){ $id_groupe = $row_groupes['id_groupe']; $titre_groupe = typo($row_groupes['titre']); $descriptif = $row_groupes['descriptif']; $texte = $row_groupes['texte']; $unseul = $row_groupes['unseul']; $obligatoire = $row_groupes['obligatoire']; $tables_liees = $row_groupes['tables_liees']; $acces_minirezo = $row_groupes['minirezo']; $acces_comite = $row_groupes['comite']; $acces_forum = $row_groupes['forum']; // Afficher le titre du groupe echo "<div id='mots_tous-$id_groupe' class='mots_tous'>"; echo debut_cadre_enfonce("groupe-mot-24.gif", true, '', $titre_groupe); // Affichage des options du groupe (types d'elements, permissions...) $res = ''; $tables_liees = explode(',',$tables_liees); $libelles = array('articles'=>'info_articles_2','breves'=>'info_breves_02','rubriques'=>'info_rubriques','syndic'=>'icone_sites_references'); $libelles = pipeline('libelle_association_mots',$libelles); foreach($tables_liees as $table) if (strlen($table)) $res .= "> " . _T(isset($libelles[$table])?$libelles[$table]:"$table:info_$table") . " "; if ($unseul == "oui" OR $obligatoire == "oui") $res .= "<br />"; if ($unseul == "oui") $res .= "> "._T('info_un_mot')." "; if ($obligatoire == "oui") $res .= "> "._T('info_groupe_important')." "; $res .= "<br />"; if ($acces_minirezo == "oui") $res .= "> "._T('info_administrateurs')." "; if ($acces_comite == "oui") $res .= "> "._T('info_redacteurs')." "; if ($acces_forum == "oui") $res .= "> "._T('info_visiteurs_02')." "; echo "<span class='verdana1 spip_x-small'>", $res, "</span>"; if (strlen($descriptif)) { echo "<div style='border: 1px dashed #aaa; background-color: #fff;' class='verdana1 spip_x-small '>", propre("{{"._T('info_descriptif')."}} ".$descriptif), " </div>"; } if (strlen($texte)>0){ echo "<div class='verdana1 spip_small'>", propre($texte), "</div>"; } // // Afficher les mots-cles du groupe // $groupe = sql_countsel("spip_mots", "id_groupe=$id_groupe"); echo "<div\nid='editer_mots-$id_groupe' style='position: relative;'>"; // Preliminaire: confirmation de suppression d'un mot lie a qqch // (cf fin de afficher_groupe_mots_boucle executee a l'appel precedent) if ($conf_mot AND $son_groupe==$id_groupe) { echo confirmer_mot($conf_mot, $row_groupes, $groupe); } if ($groupe) { $grouper_mots = charger_fonction('grouper_mots', 'inc'); echo $grouper_mots($id_groupe, $groupe); } echo "</div>"; if (autoriser('modifier','groupemots',$id_groupe)){ echo "\n<table cellpadding='0' cellspacing='0' border='0' width='100%'>"; echo "<tr>"; echo "<td>"; echo icone_inline(_T('icone_modif_groupe_mots'), generer_url_ecrire("mots_type","id_groupe=$id_groupe"), "groupe-mot-24.gif", "edit.gif", $spip_lang_left); echo "</td>"; echo "\n<td id='editer_mots-$id_groupe-supprimer'", (!$groupe ? '' : " style='visibility: hidden'"), ">"; echo icone_inline(_T('icone_supprimer_groupe_mots'), redirige_action_auteur('instituer_groupe_mots', "-$id_groupe", "mots_tous"), "groupe-mot-24.gif", "supprimer.gif", $spip_lang_left); echo "</td>"; echo "<td>"; echo icone_inline(_T('icone_creation_mots_cles'), generer_url_ecrire("mots_edit","new=oui&id_groupe=$id_groupe&redirect=" . generer_url_retour('mots_tous', "#mots_tous-$id_groupe")), "mot-cle-24.gif", "creer.gif", $spip_lang_right); echo "</td></tr></table>"; } echo fin_cadre_enfonce(true); echo "</div>"; } } echo pipeline('affiche_milieu',array('args'=>array('exec'=>'mots_tous'),'data'=>'')); echo fin_gauche(), fin_page(); }