function action_rapide_tri_auteurs($id_article=0) { spip_log("action_rapide_tri_auteurs : $id_article, $id_auteur, $monter"); $id = $id_article?$id_article:_request('id_article'); include_spip('public/assembler'); // pour recuperer_fond(), SPIP < 2.0 $texte = trim(recuperer_fond('fonds/tri_auteurs', array('id_article'=>$id))); // syntaxe : ajax_action_auteur($action, $id, $script, $args='', $corps=false, $args_ajax='', $fct_ajax='') if(strlen($texte)) // un clic sur 'monter' ou 'descendre' va permettre une redirection vers // les fonctions : boites_privees_URL_objet_exec(), puis action_rapide_tri_auteurs() $texte = ajax_action_auteur('action_rapide', 'tri_auteurs', 'articles', "arg=boites_privees|URL_objet&fct=tri_auteurs&id_article=$id#bp_tri_auteurs_corps", $texte); // si appel exec, l'id article est nul... if(!$id_article) return $texte; // ici, 1er affichage ! if(!strlen($texte)) return ''; // SPIP < 2.0 if(!defined('_SPIP19300')) return debut_cadre_relief(find_in_path('img/couteau-24.gif'), true) . cs_div_configuration() . "<div class='verdana1' style='text-align: left;'>" . block_parfois_visible('bp_ta', '<b>'._T('couteau:tri_auteurs').'</b>', "<div id='bp_tri_auteurs_corps'>$texte</div>", 'text-align: center;') . "</div>" . fin_cadre_relief(true); // SPIP >= 2.0 return cadre_depliable(find_in_path('img/couteau-24.gif'), cs_div_configuration().'<b>'._T('couteau:tri_auteurs').'</b>', false, // true = deplie "<div id='bp_tri_auteurs_corps'>$texte</div>", 'bp_tri_auteurs'); }
function inc_iconifier_dist($id_objet, $id, $script, $visible=false, $flag_modif=true) { if ($GLOBALS['spip_display'] == 4) return ""; $texteon = $GLOBALS['logo_libelles'][($id OR $id_objet != 'id_rubrique') ? $id_objet : 'id_racine']; $chercher_logo = charger_fonction('chercher_logo', 'inc'); // Add the redirect url when uploading via iframe $iframe_script = generer_url_ecrire('iconifier',"type=$id_objet&$id_objet=$id&script=$script",true); $iframe = "<input type='hidden' name='iframe_redirect' value='".rawurlencode($iframe_script)."' />\n"; $logo = $chercher_logo($id, $id_objet, 'on'); $logo_s = $chercher_logo($id, $id_objet, 'off'); if (!$logo) { if ($flag_modif AND $GLOBALS['meta']['activer_logos'] != 'non') { $masque = indiquer_logo($texteon, $id_objet, 'on', $id, $script, $iframe); $masque = "<div class='cadre_padding'>$masque</div>"; $bouton = bouton_block_depliable($texteon, $visible, "on-$id_objet-$id"); $res = debut_block_depliable($visible,"on-$id_objet-$id") . $masque . fin_block(); } } else { list($img, $clic) = decrire_logo($id_objet,'on',$id, 170, 170, $logo, $texteon, $script, $flag_modif AND !$logo_s); $bouton = bouton_block_depliable($texteon, $visible, "on-$id_objet-$id"); $survol = ''; $texteoff = _T('logo_survol'); if (!$logo = $logo_s) { if ($flag_modif AND $GLOBALS['meta']['activer_logos_survol'] == 'oui') { $masque = "<br />".indiquer_logo($texteoff, $id_objet, 'off', $id, $script, $iframe); $survol .= "<br />".block_parfois_visible("off-$id_objet-$id", $texteoff, $masque, null, $visible); } $masque = debut_block_depliable($visible,"on-$id_objet-$id") . "<div class='cadre_padding'>" . $clic . $survol . "</div>" . fin_block(); } else { list($imgoff, $clicoff) = decrire_logo($id_objet, 'off', $id, 170, 170, $logo, $texteoff, $script, $flag_modif); $masque = debut_block_depliable($visible, "off-$id_objet-$id") . $clicoff . fin_block(); $survol .= "<br />".bouton_block_depliable($texteoff, $visible, "off-$id_objet-$id") . "<div class='cadre_padding'>".$imgoff.$masque."</div>"; $masque = debut_block_depliable($visible,"on-$id_objet-$id") . $clic . fin_block() . $survol; } $res = "$img$masque"; } if ($res) { $res = debut_cadre('r', 'image-24.gif', '', $bouton, '', '', false) . $res . fin_cadre_relief(true); if(_request("exec")!="iconifier") { $js = http_script('', 'async_upload.js') . http_script('$("form.form_upload_icon").async_upload(async_upload_icon)'); } else $js = ""; return ajax_action_greffe("iconifier", $id, $res).$js; } else return ''; }
function inc_legender_dist($id_document, $document, $script, $type, $id, $ancre, $deplier=false) { // premier appel if ($document) { $flag = $deplier; } elseif (!$id_document) { return ''; } else { // retour d'Ajax $document = sql_fetsel("*", "spip_documents", "id_document = " . intval($id_document)); $document['vu'] = sql_getfetsel("vu", 'spip_documents_liens', "id_objet=" . intval($id) ." AND objet=" . sql_quote($type) . " AND id_document=".intval($id_document)); if (!$document['vu']) $document['vu'] = 'non'; $flag = 'ajax'; } if ($document['mode'] == 'image') { $supp = 'image-24.gif'; $label = _T('entree_titre_image'); $taille = $vignette = ''; } else { $supp = 'doc-24.gif'; $label = _T('entree_titre_document'); $taille = formulaire_taille($document); $vignette = "<div style='margin-bottom: 10px;'>".vignette_formulaire_legender($id_document, $document, $script, $type, $id, $ancre)."</div>"; } $s = ($ancre =='documents' ? '': '-'); $corps = legender_corps($ancre, $flag, $id, $id_document, $script, $type, $document, $label, $taille) . $vignette . "\n\n" . legender_suppression($id, $id_document, $ancre, $s, $script, $supp, $type); // ne pas afficher le bouton de changement dans le portfolio ? // mais tout cela n'est pas tr�s extensible et declenchera d'autres bugs plus tard... if (preg_match(",_edit,",$script)) $corps .= legender_image_doc($document, $id_document, $id, $type, $s, $script, $ancre); $corps = block_parfois_visible("legender-aff-$id_document", legender_entete($document), $corps, "text-align:center;", $flag); return ajax_action_greffe("legender", $id_document, $corps); }
function aide_menu($aide) { $contenu = aide_contenu(); preg_match_all(_SECTIONS_AIDE, $contenu, $sections, PREG_SET_ORDER); return $sections; global $spip_lang; $afficher = false; $ligne = $numrub = 0; $texte = $res = ''; foreach ($sections as $section) { list(, $prof, $sujet, $bloc) = $section; if ($prof == '1') { if ($afficher && $texte) { $res .= block_parfois_visible("block{$numrub}", "<div class='rubrique'>{$titre}</div>", "\n{$texte}", '', $ouvrir); } $afficher = $bloc ? $bloc == 'redac' : true; $texte = ''; if ($afficher) { $numrub++; $ouvrir = 0; $titre = $sujet; } } else { ++$ligne; $id = "ligne{$ligne}"; if ($aide == $sujet) { $ouvrir = 1; $class = "article-actif"; $texte .= http_script("curr_article = '{$id}';"); } else { $class = "article-inactif"; } $h = generer_url_aide("aide={$sujet}&frame=body&var_lang={$spip_lang}"); $texte .= "<a class='{$class}' target='droite' id='{$id}' href='{$h}' onclick=\"activer_article('{$id}');return true;\">" . $bloc . "</a><br style='clear:both;' />\n"; } } if ($afficher && $texte) { $res .= block_parfois_visible("block{$numrub}", "<div class='rubrique'>{$titre}</div>", "\n{$texte}", '', $ouvrir); } return $res; }
function spiplistes_dater_envoi ( $type_objet, $id_objet, $statut_objet , $flag_autorise , $titre_boite , $date_debut_envoi , $btn_nom_valider, $enveloppe_formulaire = true ) { global $spip_lang_left, $spip_lang_right; if($statut_objet=='vide') { return(false); } $date_valide = spiplistes_date_heure_valide($date_debut_envoi); $courrier_editable = ($type_objet == 'courrier') && ( ($statut_objet == _SPIPLISTES_COURRIER_STATUT_REDAC) || ($statut_objet == _SPIPLISTES_COURRIER_STATUT_ENCOURS) ) ; $liste_editable = ($type_objet == 'liste') && in_array($statut_objet, explode(";", _SPIPLISTES_LISTES_STATUTS_OK)) ; if($flag_autorise && ($courrier_editable || $liste_editable)) { if(!$date_valide) { // propose date maintenant par défaut $date_debut_envoi = normaliser_date(time()); $date_valide = spiplistes_date_heure_valide($date_debut_envoi); } list($annee, $mois, $jour, $heure, $minute, $seconde) = $date_valide; $js = "size='1' class='fondl'"; if($enveloppe_formulaire) $js .= "onchange=\"findObj_forcer('valider_date').style.visibility='visible';\""; $invite = "" . "<span class='verdana1 titre-boite-date'>" . "<span class='titre'>" . $titre_boite . "</span>" . ": " . ( (!$date_valide) ? "<span class='gray'>" . _T('spiplistes:date_non_precisee') . "</span>" : "<span class='date'>" . affdate_heure($date_debut_envoi) . "</span>" ) . "</span>\n" ; $masque = afficher_jour($jour, "name='jour' $js", true) . afficher_mois($mois, "name='mois' $js", true) . afficher_annee($annee, "name='annee' $js") . " - " . afficher_heure($heure, "name='heure' $js") . afficher_minute($minute, "name='minute' $js") . " \n" ; if($enveloppe_formulaire) { $masque = "" . "<!-- dater_envoi form -->\n" . "<form action='".generer_url_ecrire(_SPIPLISTES_EXEC_COURRIER_GERER,'id_$type_objet='.$id_objet)."' method='post' style='margin: 5px; margin-$spip_lang_left: 20px;'>\n" . $masque . "<input type='submit' name='$btn_nom_valider' id='valider_date' " . ( ($date_valide) ? "value=\""._T('bouton_changer')."\" class='fondo visible_au_chargement'" : "value=\""._T('bouton_valider')."\" class='fondo'" ) . "/>" . "</form>\n" ; } $result = block_parfois_visible('daterblock', $invite, $masque, 'text-align: left'); } else { $result = "" . "<div style='text-align:center;'>" . "<span class='verdana1 titre-boite-date'><span class='titre'>" . ( ($statut_objet == 'encour') ? _T('spiplistes:courrier_en_cours_') : _T('spiplistes:date_expedition_') ) . "</span>: <span class='date'>" . ( ($date_valide) ? affdate_heure($date_debut_envoi) : _T('spiplistes:attente_validation') ) . "</span></span>" . "</div>\n" ; } if(!empty($result)) { $result = "" . "<div style='margin-top:1ex;clear:right;'>" . debut_cadre_couleur('',true) . $result . fin_cadre_couleur(true) . "</div>\n" ; } return ($result); }
function dater_redac($id, $type, $script, $possedeDateRedac, $date_redac, $fct_ajax) { if ($possedeDateRedac) $date_affichee = majuscules(affdate($date_redac)); else $date_affichee = majuscules(_T('jour_non_connu_nc')); $invite = "<b>" . "<span class='verdana1'>" . majuscules(_T('texte_date_publication_anterieure')) . '</span> ' . $date_affichee . " " . aide('artdate_redac') . "</b>"; $js = "\"findObj_forcer('valider_date_redac-$id').style.visibility='visible';\""; $label = "<input type='radio' name='avec_redac' value='non' id='avec_redac_on$id'" . ($possedeDateRedac ? '' : " checked='checked'") . " onclick=$js" . " /> <label for='avec_redac_on$id'>" . _T('texte_date_publication_anterieure_nonaffichee'). '</label>' . "<br /><input type='radio' name='avec_redac' value='oui' id='avec_redac_off$id'" . (!$possedeDateRedac ? '' : " checked='checked'") . " onclick=$js /> <label for='avec_redac_off$id'>" . _T('bouton_radio_afficher'). ' :</label> '; $masque = dater_ajax($id, $type, $script, $date_redac, $fct_ajax, 0, '_redac', $label, true); return block_parfois_visible("dateredac-$id", $invite, $masque, 'text-align: left'); }
function cs_cadre_depliable($titre, $id, $texte) { // SPIP < 2.0 if(!defined('_SPIP19300')) return debut_cadre_relief(find_in_path('img/couteau-24.gif'), true) . cs_div_configuration() . "<div class='verdana1' style='text-align: left;'>" . block_parfois_visible($id, "<b>$titre</b>", $texte, 'text-align: center;') . "</div>" . fin_cadre_relief(true); // SPIP >= 2.0 return cadre_depliable(find_in_path('img/couteau-24.gif'), cs_div_configuration()."<b>$titre</b>", false /*true = deplie*/, $texte, $id); }
function help_menu_rubrique($aide, $contenu) { global $spip_lang; $afficher = false; $ligne = $numrub = 0; $texte = $res = ''; preg_match_all(_SECTIONS_AIDE, $contenu, $sections, PREG_SET_ORDER); foreach ($sections as $section) { list(,$prof, $sujet, $bloc) = $section; if ($prof == '1') { if ($afficher && $texte) $res .= block_parfois_visible("block$numrub", "<div class='rubrique'>$titre</div>", "\n$texte",'', $ouvrir); $afficher = $bloc ? ($bloc == 'redac') : true; $texte = ''; if ($afficher) { $numrub++; $ouvrir = 0; $titre = $sujet; } } else { ++$ligne; $id = "ligne$ligne"; if ($aide == $sujet) { $ouvrir = 1; $class = "article-actif"; $texte .= http_script("curr_article = '$id';"); } else $class = "article-inactif"; $h = generer_url_aide("aide=$sujet&frame=body&var_lang=$spip_lang"); $texte .= "<a class='$class' target='droite' id='$id' href='$h' onclick=\"activer_article('$id');return true;\">" . $bloc . "</a><br style='clear:both;' />\n"; } } if ($afficher && $texte) $res .= block_parfois_visible("block$numrub", "<div class='rubrique'>$titre</div>", "\n$texte",'', $ouvrir); return $res; }
/** * Formulaire de selection destinataire * * $flag_admin: si true, possibilite de modifier le destinataire * sinon, ne fait qu'afficher l'etat * * Renvoie : * $$nom_bouton_validation: si bouton de validation presse * $radio_destination: determine le choix * -> soit 'email_test' si adresse mail choisie * -> soit 'id_liste' si c'est une liste qui est choisie * $email_test: adresse email de test * $id_liste: id de la liste choisie */ function spiplistes_destiner_envoi ( $id_courrier, $id_liste , $flag_admin , $flag_moderateur , $listes_moderees , $statut, $type, $nom_bouton_validation, $email_test = "") { include_spip('inc/presentation'); include_spip('inc/texte'); include_spip('inc/actions'); include_spip('inc/date'); global $spip_lang_left , $spip_lang_right , $options ; $id_liste = intval($id_liste); $result = $destinataire = ""; if($id_liste) { if($row = sql_fetsel("titre", "spip_listes", "id_liste=".sql_quote($id_liste))) { $destinataire = $row['titre']; } } else if (!empty($email_test)) { $destinataire = $email_test; } if(empty($destinataire)) { $destinataire = "<span style='color:gray;font-size:90%;'>"._T('spiplistes:Choix_non_defini')."</span>"; } $invite = "<strong><span class='verdana1' style='text-transform: uppercase;'>" . _T('spiplistes:Destination') . ' : </span> ' . $destinataire . "</strong>" ; if( ($flag_admin || $flag_moderateur) && (($statut == _SPIPLISTES_COURRIER_STATUT_REDAC) || ($statut == _SPIPLISTES_COURRIER_STATUT_READY)) ) { $adresse_test = $GLOBALS['auteur_session']['email']; $listes_abos = spiplistes_listes_lister_abos(); $liste_disabled = $listes_abos ? "" : " disabled='disabled'"; // propose l'envoi en test $masque = "" . "<ul class='verdana2' style='list-style-type:none;padding-left:0;'>" . "<li> <input type='radio' name='radio_destination' value='email_test' checked='checked' id='desttest' />" . "<label for='desttest'>"._T('spiplistes:email_tester')."</label> : " . "<input type='text' name='email_test' value='$adresse_test' class='fondo' size='35' />\n" . "</li>" . "<li> <input type='radio' name='radio_destination' value='id_liste' id='destlist' $liste_disabled />" . "<label for='destlist'>"._T('spiplistes:listes_de_diffusion_')."</label> : " ; // propose les listes if($listes_abos) { $masque .= "" . "<select class='verdana2' name='id_liste' onchange='document.getElementById(\"destlist\").checked=true;' >\n" ; foreach($listes_abos as $row) { if( ($row['nb_abos'] > 0) && ( $flag_admin || ($flag_moderateur && in_array($row['id_liste'], $listes_moderees)) ) ) { $checked = ($id_liste == $row['id_liste']) ? "checked='checked'" : ""; $nb_abos = spiplistes_singulier_pluriel_str_get( $row['nb_abos'] , _T('spiplistes:nb_abonnes_sing') , _T('spiplistes:nb_abonnes_plur') ) ; $masque .= "<option value='" . $row['id_liste'] . "' $checked >" . spiplistes_calculer_balise_titre(extraire_multi($row['titre'])) . " (" . $nb_abos . ")</option>\n"; } } $masque .= "" . "</select>\n" ; } else { $masque .= _T('spiplistes:aucune_liste_dispo'); } $masque .= "" . "</li>" . "</ul>" . "<div style='text-align:right;'>" . "<input type='submit' name='$nom_bouton_validation' value=\""._T('bouton_valider')."\" class='fondo' /></div>\n" ; // enveloppe dans un formulaire $masque = "" . "<form action='".generer_url_ecrire(_SPIPLISTES_EXEC_COURRIER_GERER,'id_courrier='.$id_courrier)."' method='post'>\n" . $masque . "</form>\n" ; $result = block_parfois_visible('destinerblock', $invite, $masque, 'text-align: left'); } else { $result = $invite; } if(!empty($result)) { $result = "<div style='margin-top:1ex;'>" . debut_cadre_couleur('',true) . $result . fin_cadre_couleur(true) ."</div>\n"; } return ($result); }
function admin_sauvegardes($dir_dump, $tri) { $liste_dump = preg_files(_DIR_DUMP,'\.xml(\.gz)?$',50,false); $selected = end($liste_dump); $n = strlen(_DIR_DUMP); $tl = $tt = $td = array(); $f = ""; $i = 0; foreach($liste_dump as $fichier){ $i++; $d = filemtime($fichier); $t = filesize($fichier); $s = ($fichier==$selected); $class = 'row_'.alterner($i, 'even', 'odd'); $fichier = substr($fichier, $n); $tl[]= liste_sauvegardes($i, $fichier, $class, $s, $d, $t); $td[] = $d; $tt[] = $t; } if ($tri == 'taille') array_multisort($tt, SORT_ASC, $tl); elseif ($tri == 'date') array_multisort($td, SORT_ASC, $tl); $fichier_defaut = $f ? basename($f) : str_replace(array("@stamp@","@nom_site@"),array("",""),_SPIP_DUMP); $self = self(); $class = 'row_'.alterner($i+1, 'even', 'odd'); $head = !$tl ? '' : ( "\n<tr>" . '<th></th><th><a href="' . parametre_url($self, 'tri', 'nom') . '#sauvegardes">' . _T('info_nom') . "</a></th>\n" . '<th><a href="' . parametre_url($self, 'tri', 'taille') . '#sauvegardes">' . _T('taille_octets', array('taille' => '')) . "</a></th>\n" . '<th><a href="' . parametre_url($self, 'tri', 'date') . '#sauvegardes">' . _T('public:date') . '</a></th></tr>'); $texte = _T('texte_compresse_ou_non')." "; $h = _T('texte_restaurer_sauvegarde', array('dossier' => '<i>'.$dir_dump.'</i>')); $res = "\n<p style='text-align: justify;'> " . $h . '</p>' . _T('entree_nom_fichier', array('texte_compresse' => $texte)) . "\n<br /><br /><table class='spip' id='sauvegardes'>" . $head . join('',$tl) . "\n<tr class='$class'><td><input type='radio' name='archive' id='archive' value='' /></td><td colspan='3'>" . "\n<span class='spip_x-small'><input type='text' name='archive_perso' id='archive_perso' value='$fichier_defaut' size='55' /></span></td></tr>" . '</table>'; $plie = _T('info_options_avancees'); // restauration partielle / fusion $opt = debut_cadre_enfonce('',true) . "\n<div>" . "<input name='insertion' id='insertion' type='checkbox' /> <label for='insertion'>". _T('sauvegarde_fusionner') . "</label><br />\n" . "<input name='statut' id='statut' type='checkbox' /> <label for='statut'>\n". _T('sauvegarde_fusionner_depublier') . "</label><br />\n" . "<label for='url_site'>" . _T('sauvegarde_url_origine') . "</label>" . " \n<input name='url_site' id='url_site' type='text' size='25' />" . '</div>' . fin_cadre_enfonce(true); $res .= block_parfois_visible('import_tables', $plie, $opt, '', false); return generer_form_ecrire('import_all', $res, '', _T('bouton_restaurer_base')); }