Skip to content
Extraits de code Groupes Projets
Valider eca75a93 rédigé par esj's avatar esj
Parcourir les fichiers

Faciliter la surcharge du portfolio, notamment le critère de tri qui n'est...

Faciliter la surcharge du portfolio, notamment le critère de tri qui n'est d'ailleurs pas le même dans la présentation en colonne! Par ailleurs, il y a  2 arguments qui ne servent plus, et le dernier ne sert que pour "le plugin de Cédric" (sic). Est-ce encore utile ? 
parent 0e8237b8
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -22,31 +22,64 @@ function inc_documenter_dist( ...@@ -22,31 +22,64 @@ function inc_documenter_dist(
$type = "article", # article ou rubrique ? $type = "article", # article ou rubrique ?
$ancre = 'portfolio', # album d'images ou de documents ? $ancre = 'portfolio', # album d'images ou de documents ?
$ignore_flag = false, # IGNORE, remplace par autoriser(modifier,document) $ignore_flag = false, # IGNORE, remplace par autoriser(modifier,document)
$couleur='', # couleur des cases du tableau $couleur='', # IGNORE couleur des cases du tableau
$appelant ='' # pour le rappel (cf plugin) $appelant ='' # pour le rappel (cf plugin)
) { ) {
$table = 'spip_documents_' . $type . 's';
if (!id_table_objet($table)) {
spip_log("documenter: $type table inconnue");
$type = 'article';
$table = 'spip_documents_' . $type . 's';
}
$prim = 'id_' . $type;
if (is_int($doc)) { if (is_int($doc)) {
if ($ancre == 'portfolio') { $table = 'spip_documents_' . $type . 's';
$lies = sql_select("D.id_document, D.id_vignette, D.extension, D.titre, D.date, D.descriptif, D.fichier, D.taille, D.largeur, D.hauteur, D.mode, D.distant, l.vu, l." .$prim, "spip_documents AS D, $table AS l", "l.$prim=$doc AND l.id_document=D.id_document AND D.mode='document' AND D.extension IN ('gif', 'jpg', 'png')",'', "0+D.titre, D.date"); if (!id_table_objet($table)) {
} else { spip_log("documenter: $type table inconnue");
$lies = sql_select("D.id_document, D.id_vignette, D.extension, D.titre, D.date, D.descriptif, D.fichier, D.taille, D.largeur, D.hauteur, D.mode, D.distant, l.vu,l." . $prim, "spip_documents AS D, $table AS l", "l.$prim=$doc AND l.id_document=D.id_document AND D.mode='document' AND D.extension NOT IN ('gif', 'jpg', 'png')",'', "0+D.titre, D.date"); $type = 'article';
$table = 'spip_documents_' . $type . 's';
} }
$prim = 'id_' . $type;
$img = ($ancre == 'portfolio') ? '' : " NOT";
$select = "D.id_document, D.id_vignette, D.extension, D.titre, D.date, D.descriptif, D.fichier, D.taille, D.largeur, D.hauteur, D.mode, D.distant, L.vu, L." .$prim;
$from = "spip_documents AS D LEFT JOIN $table AS L ON L.id_document=D.id_document";
$where = "L.$prim=$doc AND D.mode='document' AND D.extension $img IN ('gif', 'jpg', 'png')";
$order = "0+D.titre, D.date";
$docs = rows_as_array($select, $from, $where, '', $order);
} else $docs = $doc;
if (!$docs) return '';
$tous = (count($docs) > 3);
$res = documenter_boucle($docs, $type, $ancre, $tous, $appelant);
$s = ($ancre =='documents' ? '': '-');
if (is_int($doc))
$res = documenter_bloc($doc, $res, $s, $script, $ancre, $tous, $type);
return ajax_action_greffe("documenter", "$s$doc", $res);
}
function rows_as_array($select, $from, $where='', $groupby='', $orderby='')
{
$q = sql_select($select, $from, $where, $groupby, $orderby);
$res = array();
while ($r = sql_fetch($q)) $res[] = $r;
return $res;
}
function documenter_bloc($id, $res, $s, $script, $ancre, $tous, $type)
{
if ($tous) {
$tous = "<div class='lien_tout_supprimer'>"
. ajax_action_auteur('documenter', "$s$id/$type", $script, "id_$type=$id&s=$s&type=$type",array(_T('lien_tout_supprimer')))
. "</div>\n";
} else $tous = '';
$documents = array(); $bouton = bouton_block_depliable(majuscules(_T("info_$ancre")),true,"portfolio_$ancre");
while ($document = sql_fetch($lies))
$documents[] = $document;
} else
$documents = $doc;
if (!$documents) return ''; return debut_cadre("$ancre","","",$bouton)
. debut_block_depliable(true,"portfolio_$ancre")
. $tous
. $res
. fin_block()
. fin_cadre();
}
function documenter_boucle($documents, $type, $ancre, &$tous_autorise, $appelant)
{
charger_generer_url(); charger_generer_url();
// la derniere case d'une rangee // la derniere case d'une rangee
$bord_droit = ($ancre == 'portfolio' ? 2 : 1); $bord_droit = ($ancre == 'portfolio' ? 2 : 1);
...@@ -66,8 +99,6 @@ function inc_documenter_dist( ...@@ -66,8 +99,6 @@ function inc_documenter_dist(
$show_docs = explode(',', _request('show_docs')); $show_docs = explode(',', _request('show_docs'));
$tous_autorises = true;
foreach ($documents as $document) { foreach ($documents as $document) {
$id_document = $document['id_document']; $id_document = $document['id_document'];
...@@ -77,20 +108,17 @@ function inc_documenter_dist( ...@@ -77,20 +108,17 @@ function inc_documenter_dist(
// ref a $exec inutilise en standard // ref a $exec inutilise en standard
$script = $appelant ? $appelant : $GLOBALS['exec']; $script = $appelant ? $appelant : $GLOBALS['exec'];
$vu = ($document['vu']=='oui') ? ' vu':'';
$deplier = in_array($id_document, $show_docs);
if (!$case) if (!$case)
$res .= "<tr>"; $res .= "<tr>";
$flag = autoriser('modifier', 'document', $id_document); $flag = autoriser('modifier', 'document', $id_document);
$tous_autorises &= $flag; $tous_autorises &= $flag;
$vu = ($document['vu']=='oui') ? ' vu':'';
$res .= "\n<td class='document$vu'>" $res .= "\n<td class='document$vu'>"
. $tourner($id_document, $document, $script, $flag, $type) . $tourner($id_document, $document, $script, $flag, $type)
. (!$flag ? '' : . (!$flag ? '' :
$legender($id_document, $document, $script, $type, $document["id_$type"], $ancre, $deplier)) $legender($id_document, $document, $script, $type, $document["id_$type"], $ancre, in_array($id_document, $show_docs)))
. (!isset($document['info']) ? '' : . (!isset($document['info']) ? '' :
("<div class='verdana1'>".$document['info']."</div>")) ("<div class='verdana1'>".$document['info']."</div>"))
. "</td>\n"; . "</td>\n";
...@@ -108,26 +136,8 @@ function inc_documenter_dist( ...@@ -108,26 +136,8 @@ function inc_documenter_dist(
$res .= "</tr>"; $res .= "</tr>";
} }
$s = ($ancre =='documents' ? '': '-'); return "\n<table width='100%' cellspacing='0' cellpadding='4'>"
$head = $pied = "";
if (is_int($doc)) {
$bouton = bouton_block_depliable(majuscules(_T("info_$ancre")),true,"portfolio_$ancre");
$head = debut_cadre("$ancre","","",$bouton);
if (count($documents) > 3
AND $tous_autorises) {
$head .= "<div class='lien_tout_supprimer'>"
. ajax_action_auteur('documenter', "$s$doc/$type", $script, "id_$type=$doc&s=$s&type=$type",array(_T('lien_tout_supprimer')))
. "</div>\n";
}
$head .= debut_block_depliable(true,"portfolio_$ancre");
$pied = fin_block().fin_cadre();
}
$res = $head
. "\n<table width='100%' cellspacing='0' cellpadding='4'>"
. $res . $res
. "</table>" . "</table>";
. $pied;
return ajax_action_greffe("documenter", "$s$doc", $res);
} }
?>
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter