Exemple #1
0
function ajouter_auteur_et_rediriger($type, $id, $id_auteur, $redirect)
{
	$jointure = table_jointure('auteur', $type);
	if (preg_match(',^[a-z]*$,',$type)){
		$res = sql_fetsel("id_$type", "spip_{$jointure}", "id_auteur=" . sql_quote($id_auteur) . " AND id_{$type}=" . $id);
		if (!$res) {
			sql_insertq("spip_{$jointure}", 
				    array('id_auteur' => $id_auteur,
					  "id_$type" => $id));
		}
		// Notifications, gestion des revisions, reindexation...
		pipeline('post_edition',
			array(
				'args' => array(
					'operation' => 'ajouter_auteur',
					'table' => table_objet_sql($type),
					'id_objet' => $id
				),
				'data' => null
			)
		);
	}

	if ($redirect) redirige_par_entete($redirect);
}
Exemple #2
0
function autoriser_iconifier_dist($faire,$quoi,$id,$qui,$opts){
	// On reprend le code de l'ancien iconifier pour definir les autorisations pour les autres
	// objets SPIP. De ce fait meme de nouveaux objets bases sur cet algorithme peuvent continuer
	// a fonctionner. Cependant il est recommander de leur definir une autorisation specifique
	$table = table_objet_sql($quoi);
	$id_objet = id_table_objet($quoi);
	$row = sql_fetsel("id_rubrique, statut", $table, "$id_objet=$id");
	$droit = autoriser('publierdans','rubrique',$row['id_rubrique']);

	if (!$droit AND  ($row['statut'] == 'prepa' OR $row['statut'] == 'prop' OR $row['statut'] == 'poubelle')) {
	  $jointure = table_jointure('auteur', 'article');
	  if ($droit = sql_fetsel("id_auteur", "spip_$jointure", "id_article=".sql_quote($id) . " AND id_auteur=$connect_id_auteur"))
		$droit = true;
	}

	return $droit;
}
Exemple #3
0
function afficher_auteurs_objet($type, $id, $edit, $cond, $script, $arg_ajax)
{
	
	$from = table_jointure('auteur', $type);
	if (!$from) return '' ; // securite
	$from = "spip_{$from}";
	$where = "id_{$type}=".sql_quote($id) . ($cond ? " AND $cond" : '');

	$presenter_liste = charger_fonction('presenter_liste', 'inc');

	$requete = array('SELECT' => "id_auteur", 'FROM' => $from, 'WHERE' => $where);
	$tmp_var = "editer_auteurs-$id";
	$url = generer_url_ecrire('editer_auteurs',$arg_ajax);

	// charger ici meme si pas d'auteurs
	// car inc_formater_auteur peut aussi redefinir 
	// determiner_non_auteurs qui sert plus loin
	if (!$formater = charger_fonction("formater_auteur_$type", 'inc',true))
		$formater = charger_fonction('formater_auteur', 'inc');

	$retirer = array(_T('lien_retirer_auteur')." ". http_img_pack('croix-rouge.gif', "X", " class='puce' style='vertical-align: bottom;'"));

	$styles = array(array('arial11', 14), array('arial2'), array('arial11'), array('arial11'), array('arial11'), array('arial1'));

	$tableau = array(); // ne sert pas
	$f = function_exists($edit) ? $edit : 'ajouter_auteur_un';
	return 	$presenter_liste($requete, $f, $tableau, array($formater, $retirer, $arg_ajax, $edit, $id, $type, $script), false, $styles, $tmp_var, '','', $url);
}