Пример #1
0
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');
}
Пример #2
0
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 '';

}
Пример #3
0
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);
}
Пример #4
0
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;
}
Пример #5
0
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")
			. "&nbsp;\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);
}
Пример #6
0
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');
}
Пример #7
0
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);
}
Пример #8
0
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;
}
Пример #9
0
/**
 * 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);
}
Пример #10
0
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')."&nbsp;";

	$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' />&nbsp; <label for='insertion'>". 
		  _T('sauvegarde_fusionner') .
		  "</label><br />\n" .
		 "<input name='statut' id='statut' type='checkbox' />&nbsp; <label for='statut'>\n". 
		  _T('sauvegarde_fusionner_depublier') .
		  "</label><br />\n" .
		  "<label for='url_site'>" .
		  _T('sauvegarde_url_origine') .
		  "</label>" .
		  " &nbsp;\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'));
}