Changeset 89917 in spip-zone


Ignore:
Timestamp:
Jun 5, 2015, 9:39:42 AM (5 years ago)
Author:
marcimat@…
Message:

Notice PHP en moins lorsqu'on calcule le titre d'un objet, mais que celui ci est vide : cela appelle historiquement
un champ 'surnom' (qui était utilisé dans la table document il fut un temps (fichier AS surnom).

Je laisse cette possibilité, même si ce n'est plus utilisé sur la zone (medias utilise maintenant
en déclaration de titre : CASE WHEN length(titre)>0 THEN titre ELSE fichier END as titre, '' AS lang
pour mettre en titre 'fichier' si un titre de document n'est pas présent).

+phpdoc.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _core_/plugins/textwheel/inc/lien.php

    r89619 r89917  
    657657}
    658658
    659 // Retourne le champ textuel associe a une cle primaire, et sa langue
     659/**
     660 * Retourne le titre et la langue d'un objet éditorial
     661 *
     662 * @param int $id Identifiant de l'objet
     663 * @param string $type Type d'objet
     664 * @param string|null $connect Connecteur SQL utilisé
     665 * @return array {
     666 *     @var string $titre Titre si présent, sinon ''
     667 *     @var string $lang Langue si présente, sinon ''
     668 * }
     669**/
    660670function traiter_raccourci_titre($id, $type, $connect=NULL) {
    661671        $trouver_table = charger_fonction('trouver_table', 'base');
    662672        $desc = $trouver_table(table_objet($type));
    663        
     673
    664674        if (!($desc AND $s = $desc['titre'])) {
    665675                return array();
    666676        }
    667        
     677
    668678        $_id = $desc['key']['PRIMARY KEY'];
    669679        $r = sql_fetsel($s, $desc['table'], "$_id=$id", '','','','',$connect);
    670        
     680
    671681        if (!$r) {
    672682                return array();
    673683        }
    674        
     684
    675685        $r['titre'] = supprimer_numero($r['titre']);
    676        
    677         if (!$r['titre']) {
     686
     687        if (!$r['titre'] and !empty($r['surnom'])) {
    678688                $r['titre'] = $r['surnom'];
    679689        }
    680        
     690
    681691        if (!isset($r['lang'])) {
    682692                $r['lang'] = '';
    683693        }
    684        
     694
    685695        return $r;
    686696}
     
    901911}
    902912
    903 ?>
Note: See TracChangeset for help on using the changeset viewer.