Changeset 100600 in spip-zone for _plugins_/albums


Ignore:
Timestamp:
Nov 21, 2016, 1:10:55 PM (4 years ago)
Author:
kent1@…
Message:

PSR SPIP

Location:
_plugins_/albums/trunk
Files:
14 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/albums/trunk/albums_administrations.php

    r86340 r100600  
    1111
    1212// Sécurité
    13 if (!defined('_ECRIRE_INC_VERSION')) return;
     13if (!defined('_ECRIRE_INC_VERSION')) {
     14        return;
     15}
    1416
    1517
     
    2325 * @return void
    2426 */
    25 function albums_upgrade($nom_meta_base_version, $version_cible){
     27function albums_upgrade($nom_meta_base_version, $version_cible) {
    2628        $maj = array();
    2729
     
    7072
    7173        # Supression des tables
    72         sql_drop_table("spip_albums");
    73         sql_drop_table("spip_albums_liens");
     74        sql_drop_table('spip_albums');
     75        sql_drop_table('spip_albums_liens');
    7476
    7577        # Suppression des liens des documents liés aux albums
    76         sql_delete("spip_documents_liens",    sql_in("objet", array('album')));
     78        sql_delete('spip_documents_liens', sql_in('objet', array('album')));
    7779
    7880        # Nettoyer les versionnages et forums
    79         sql_delete("spip_versions",           sql_in("objet", array('album')));
    80         sql_delete("spip_versions_fragments", sql_in("objet", array('album')));
    81         sql_delete("spip_forum",              sql_in("objet", array('album')));
     81        sql_delete('spip_versions', sql_in('objet', array('album')));
     82        sql_delete('spip_versions_fragments', sql_in('objet', array('album')));
     83        sql_delete('spip_forum', sql_in('objet', array('album')));
    8284
    8385        # Suppression meta
     
    8688
    8789        # Retirer les albums de la liste des objets où téléverser des documents
    88         if (in_array('spip_albums', $objets=@array_filter(explode(',',$GLOBALS['meta']['documents_objets'])))){
    89                 $objets = array_diff($objets,array('spip_albums'));
    90                 ecrire_meta('documents_objets',implode(',',$objets));
     90        if (in_array('spip_albums', $objets = @array_filter(explode(',', $GLOBALS['meta']['documents_objets'])))) {
     91                $objets = array_diff($objets, array('spip_albums'));
     92                ecrire_meta('documents_objets', implode(',', $objets));
    9193        }
    92 
    9394}
    9495
     
    101102 */
    102103function meta_documents_albums() {
    103         if (!in_array('spip_albums', $e = explode(',',$GLOBALS['meta']['documents_objets']))){
     104        if (!in_array('spip_albums', $e = explode(',', $GLOBALS['meta']['documents_objets']))) {
    104105                $e = array_filter($e);
    105106                $e[] = 'spip_albums';
    106                 ecrire_meta('documents_objets',implode(',',$e));
     107                ecrire_meta('documents_objets', implode(',', $e));
    107108        }
    108109}
    109 
    110 ?>
  • _plugins_/albums/trunk/albums_autorisations.php

    r88148 r100600  
    1111
    1212// Sécurité
    13 if (!defined('_ECRIRE_INC_VERSION')) return;
     13if (!defined('_ECRIRE_INC_VERSION')) {
     14        return;
     15}
    1416
    1517
     
    1719 * Fonction d'appel pour le pipeline
    1820 * @pipeline autoriser */
    19 function albums_autoriser(){}
     21function albums_autoriser() {
     22}
    2023
    2124
     
    3437 * @return bool          true s'il a le droit, false sinon
    3538 */
    36 function autoriser_albumcreer_menu_dist($faire, $type, $id, $qui, $opts){
    37         return autoriser('creer','album',$id,$qui,$opts);
    38 }
    39 
     39function autoriser_albumcreer_menu_dist($faire, $type, $id, $qui, $opts) {
     40        return autoriser('creer', 'album', $id, $qui, $opts);
     41}
    4042
    4143/**
     
    5355 * @return bool          true s'il a le droit, false sinon
    5456 */
    55 function autoriser_albums_menu_dist($faire, $type, $id, $qui, $opts){
    56         return autoriser('administrer','albumotheque',$id,$qui,$opts);
    57 }
    58 
     57function autoriser_albums_menu_dist($faire, $type, $id, $qui, $opts) {
     58        return autoriser('administrer', 'albumotheque', $id, $qui, $opts);
     59}
    5960
    6061/**
     
    7475        return $autoriser;
    7576}
    76 
    7777
    7878/**
     
    149149                (
    150150                        // objet activé
    151                         in_array(table_objet_sql($type),array_filter($config))
     151                        in_array(table_objet_sql($type), array_filter($config))
    152152                )
    153                 AND
     153                and
    154154                (
    155155                        // identifiant positif : cas «normal»
    156156                        (
    157157                                $id>0
    158                                 AND
     158                                and
    159159                                (
    160                                         ($qui['statut'] == '0minirezo' AND !$qui['restreint'])
     160                                        ($qui['statut'] == '0minirezo' and !$qui['restreint'])
    161161                                        // il faut être autorisé à modifier l'objet...
    162                                         OR autoriser('modifier', $type, $id, $qui, $opts)
     162                                        or autoriser('modifier', $type, $id, $qui, $opts)
    163163                                        // ...mais ça donne un faux négatif depuis le pipeline «post_insertion» (cf. note),
    164164                                        // dans ce cas là on vérifie si l'objet est récent et qu'on a le droit d'écrire.
    165                                         OR (
    166                                                 (time()-strtotime(generer_info_entite($id,$type,'date'))) < (60*1) // age < 1 min, cf. note
    167                                                 AND autoriser('ecrire', $type, $id, $qui, $opts)
     165                                        or (
     166                                                (time()-strtotime(generer_info_entite($id, $type, 'date'))) < (60*1) // age < 1 min, cf. note
     167                                                and autoriser('ecrire', $type, $id, $qui, $opts)
    168168                                        )
    169169                                )
    170170                        )
    171171                        // identifiant négatif : objet nouveau pas encore enregistré en base (cf. note)
    172                         OR
     172                        or
    173173                        (
    174174                                $id<0
    175                                 AND
     175                                and
    176176                                (
    177177                                        abs($id) == $qui['id_auteur']
    178                                         AND autoriser('ecrire', $type, $id, $qui, $opts)
     178                                        and autoriser('ecrire', $type, $id, $qui, $opts)
    179179                                )
    180180                        )
     
    192192 * ou qu'il s'agisse d'un album en cours de création (vide, pas d'auteur et récent, cf. note),
    193193 * ou être admin complet,
    194  * ou que l'album soit lié à une rubrique wiki/ouverte ou un de ses article et utilisé une seule fois (plugin autorité).
     194 * ou que l'album soit lié à une rubrique wiki/ouverte ou un de ses article
     195 * et utilisé une seule fois (plugin autorité).
    195196 *
    196197 * @note
     
    221222        // être un des auteurs de l'album
    222223        $auteurs_album = array();
    223         if (is_array($liens_auteurs = objet_trouver_liens(array('auteur'=>'*'),array('album'=>$id))))
    224                 foreach($liens_auteurs as $a)
     224        if (is_array($liens_auteurs = objet_trouver_liens(array('auteur'=>'*'), array('album'=>$id)))) {
     225                foreach ($liens_auteurs as $a) {
    225226                        $auteurs_album[] = $a['id_auteur'];
    226         $auteur_album = in_array($qui['id_auteur'],$auteurs_album) ? true : false;
     227                }
     228        }
     229        $auteur_album = in_array($qui['id_auteur'], $auteurs_album) ? true : false;
    227230
    228231        // droit de modifier tous les objets auxquels l'album est lié
     
    230233        // dans ce cas id_objet est négatif
    231234        $autoriser_modifier_objets_lies = true;
    232         $liens_objets = objet_trouver_liens(array('album'=>$id),'*');
    233         if (is_array($liens_objets) AND count($liens_objets)){
    234                 foreach($liens_objets as $l) {
     235        $liens_objets = objet_trouver_liens(array('album'=>$id), '*');
     236        if (is_array($liens_objets) and count($liens_objets)) {
     237                foreach ($liens_objets as $l) {
    235238                        $objet = $l['objet'];
    236239                        $id_objet = $l['id_objet'];
    237                         if (
    238                                 ($id_objet>0 AND !autoriser('modifier',$objet,$id_objet))
    239                                 OR ($id_objet<0 AND !autoriser('ecrire',$objet,$id_objet))
     240                        if (($id_objet > 0 and !autoriser('modifier', $objet, $id_objet))
     241                                or ($id_objet < 0 and !autoriser('ecrire', $objet, $id_objet))
    240242                        ) {
    241243                                $autoriser_modifier_objets_lies = false;
     
    250252                (
    251253                        !count($auteurs_album)
    252                         AND !sql_countsel("spip_documents_liens", "objet='album' AND id_objet=".$id) // vide
    253                         AND ((time()-strtotime(sql_getfetsel("date","spip_albums","id_album=".$id))) < (60*1)) // age < 1 min
     254                        and !sql_countsel('spip_documents_liens', "objet='album' AND id_objet=".$id) // vide
     255                        and ((time()-strtotime(sql_getfetsel('date', 'spip_albums', 'id_album='.$id))) < (60*1)) // age < 1 min
    254256                ) ?
    255257                true : false;
    256258
    257259        // les admins complets ont tous les droits !
    258         $admin_complet = ($qui['statut'] == '0minirezo' AND !$qui['restreint']) ?
     260        $admin_complet = ($qui['statut'] == '0minirezo' and !$qui['restreint']) ?
    259261                true : false;
    260262
     
    263265        // on vérifie que l'objet auquel il est lié possède un champ `id_secteur`, et qu'on a le droit de publier dedans.
    264266        $album_wiki = false;
    265         if (defined('_DIR_PLUGIN_AUTORITE')){
    266                 if (
    267                         // album utilisé une seule fois...
    268                         is_array($liens_objets)
    269                         AND count($liens_objets) == 1
     267        if (defined('_DIR_PLUGIN_AUTORITE')) {
     268                if (is_array($liens_objets) // album utilisé une seule fois...
     269                        and count($liens_objets) == 1
    270270                        // ...et lié à un objet...
    271                         AND $objet = $liens_objets[0]['objet']
    272                         AND $id_objet = $liens_objets[0]['id_objet']
     271                        and $objet = $liens_objets[0]['objet']
     272                        and $id_objet = $liens_objets[0]['id_objet']
    273273                        // ...qui possède un champ `id_secteur`
    274                         AND is_array($infos_objet = lister_tables_objets_sql(table_objet_sql($objet)))
    275                         AND
    276                         (
    277                                 (
     274                        and is_array($infos_objet = lister_tables_objets_sql(table_objet_sql($objet)))
     275                        and
     276                        ((
    278277                                isset($infos_objet['field']['id_secteur'])
    279                                 AND $id_secteur = sql_getfetsel('id_secteur',table_objet_sql($objet),id_table_objet($objet).'='.intval($id_objet))
    280                                 )
    281                                 OR
    282                                 (
    283                                 isset($infos_objet['field']['id_rubrique'])
    284                                 AND $id_rubrique = sql_getfetsel('id_rubrique',table_objet_sql($objet),id_table_objet($objet).'='.intval($id_objet))
    285                                 AND $id_secteur = sql_getfetsel('id_secteur',table_objet_sql('rubrique'),'id_rubrique='.intval($id_rubrique))
    286                                 )
    287                         )
     278                                and $id_secteur = sql_getfetsel('id_secteur', table_objet_sql($objet), id_table_objet($objet).'='.intval($id_objet)))
     279                                or
     280                                (isset($infos_objet['field']['id_rubrique'])
     281                                and $id_rubrique = sql_getfetsel('id_rubrique', table_objet_sql($objet), id_table_objet($objet).'='.intval($id_objet))
     282                                and $id_secteur = sql_getfetsel('id_secteur', table_objet_sql('rubrique'), 'id_rubrique='.intval($id_rubrique))
     283                        ))
    288284                ) {
    289285                        // on cherche à savoir si le secteur est wiki/ouvert.
    290286                        // faute de fonction générique, on reprend une partie du code de l'autorisation 'rubrique_publierdans'.
    291287                        // cf. inc/autoriser.php L291 à 317
    292                         if (
    293                                 (
     288                        if ((
    294289                                        $GLOBALS['autorite']['espace_publieur']
    295                                         AND autorisation_publie_visiteur($qui, $id_secteur)
    296                                         AND $qui['statut']
     290                                        and autorisation_publie_visiteur($qui, $id_secteur)
     291                                        and $qui['statut']
    297292                                )
    298                                 OR (
     293                                or (
    299294                                        $GLOBALS['autorite']['espace_wiki']
    300                                         AND autorisation_wiki_visiteur($qui, $id_secteur)
    301                                         AND (
     295                                        and autorisation_wiki_visiteur($qui, $id_secteur)
     296                                        and (
    302297                                                $GLOBALS['autorite']['espace_wiki_rubrique_anonyme']
    303                                                 OR $qui['statut']
     298                                                or $qui['statut']
    304299                                        )
    305300                                )
    306                         ){
     301                        ) {
    307302                                $album_wiki = true;
    308303                        }
     
    311306
    312307        $autoriser = (
    313                 ($auteur_album AND $autoriser_modifier_objets_lies)
    314                 OR $nouvel_album
    315                 OR $admin_complet
    316                 OR $album_wiki
     308                ($auteur_album and $autoriser_modifier_objets_lies)
     309                or $nouvel_album
     310                or $admin_complet
     311                or $album_wiki
    317312        ) ? true : false;
    318313
     
    336331
    337332        $id = intval($id);
    338         $statut = sql_getfetsel("statut", "spip_albums", "id_album=$id");
    339         $documents = sql_countsel("spip_documents_liens", "objet=".sql_quote($type)."AND id_objet=$id");
    340         $liaisons = sql_countsel("spip_albums_liens", "id_album=$id");
     333        $statut = sql_getfetsel('statut', 'spip_albums', "id_album=$id");
     334        $documents = sql_countsel('spip_documents_liens', 'objet='.sql_quote($type)."AND id_objet=$id");
     335        $liaisons = sql_countsel('spip_albums_liens', "id_album=$id");
    341336
    342337        $autoriser = (
    343338                !$liaisons # inutilisé
    344                 AND !$documents # vide
    345                 AND
     339                and !$documents # vide
     340                and
    346341                (
    347342                        (
    348343                                ($statut != 'publie') #non publié
    349                                 AND (autoriser('modifier', $type, $id, $qui)) #auteur ou admin
     344                                and (autoriser('modifier', $type, $id, $qui)) #auteur ou admin
    350345                        )
    351                         OR
     346                        or
    352347                        (
    353                                 $qui['statut'] == '0minirezo' AND !$qui['restreint'] #admin complet
     348                                $qui['statut'] == '0minirezo' and !$qui['restreint'] #admin complet
    354349                        )
    355350                )
     
    386381
    387382        $autoriser = (
    388                 ($qui['statut'] == '0minirezo' AND !$qui['restreint'])
    389                 OR (autoriser('modifier', $opts['objet'], $opts['id_objet'], $qui))
     383                ($qui['statut'] == '0minirezo' and !$qui['restreint'])
     384                or (autoriser('modifier', $opts['objet'], $opts['id_objet'], $qui))
    390385        ) ? true : false;
    391386
     
    421416        $autoriser = (
    422417                autoriser('associer', 'album', $id, $qui, $opts)
    423                 AND (sql_getfetsel('vu', "spip_albums_liens", "id_album=".intval($id)." AND objet=".sql_quote($opts['objet'])." AND id_objet=".intval($opts['id_objet']))=='non')
     418                and (sql_getfetsel('vu', 'spip_albums_liens', 'id_album='.intval($id).' AND objet='.sql_quote($opts['objet']).' AND id_objet='.intval($opts['id_objet']))=='non')
    424419        ) ? true : false;
    425420
     
    462457        include_spip('inc/config');
    463458        // dans le contexte d'un objet, on doit pouvoir modifier tous les albums liés
    464         if ($type AND intval($id)>0) {
     459        if ($type and intval($id) > 0) {
    465460                $autoriser_modifier_albums = true;
    466461                include_spip('action/editer_liens');
    467                 if (is_array($liens_albums=objet_trouver_liens(array('album'=>'*'),array($type=>$id))) AND count($liens_albums)){
    468                         foreach($liens_albums as $l) {
    469                                 if (!autoriser('modifier','album',$l['id_album'])) {
     462                if (is_array($liens_albums = objet_trouver_liens(array('album' => '*'), array($type => $id))) and count($liens_albums)) {
     463                        foreach ($liens_albums as $l) {
     464                                if (!autoriser('modifier', 'album', $l['id_album'])) {
    470465                                        $autoriser_modifier_albums = false;
    471466                                        break;
     
    473468                        }
    474469                }
     470        } else {
     471                // sinon, il faut qu'il y ait au moins 2 albums
     472                $autoriser_modifier_albums = sql_countsel('spip_albums') > 1;
    475473        }
    476         // sinon, il faut qu'il y ait au moins 2 albums
    477         else {
    478                 $autoriser_modifier_albums = sql_countsel('spip_albums')>1;
    479         }
    480 
    481         $autoriser = (
    482                 lire_config('albums/deplacer_documents','')=='on'
    483                 AND
     474
     475        $autoriser = (
     476                lire_config('albums/deplacer_documents', '') == 'on'
     477                and
    484478                (
    485                         $qui['statut'] == '0minirezo' AND !$qui['restreint']
    486                         OR $autoriser_modifier_albums
     479                        $qui['statut'] == '0minirezo' and !$qui['restreint']
     480                        or $autoriser_modifier_albums
    487481                )
    488482        ) ? true : false;
     
    507501
    508502        include_spip('action/editer_liens');
    509         $rempli = count(objet_trouver_liens(array('document'=>'*'),array('album'=>$id)))>0;
    510         $admin = $qui['statut']=='0minirezo' AND !$qui['restreint'];
    511         $autoriser = ($admin AND $rempli) ? true : false;
     503        $rempli = count(objet_trouver_liens(array('document'=>'*'), array('album'=>$id))) > 0;
     504        $admin = $qui['statut']=='0minirezo' and !$qui['restreint'];
     505        $autoriser = ($admin and $rempli) ? true : false;
    512506
    513507        return $autoriser;
     
    518512 * Autorisation de transvaser les documents d'un album
    519513 *
    520  * Il faut que l'album soit lié à l'objet et 
     514 * Il faut que l'album soit lié à l'objet et
    521515 * avoir le droit de modifier l'album et d'ajouter des documents ou être admin complet.
    522516 *
     
    535529        $objet = $opts['objet'];
    536530        $id_objet = $opts['id_objet'];
    537         $liaison = (count(objet_trouver_liens(array('album'=>$id),array($objet=>$id_objet)))>0) ? true : false;
    538         $autoriser_modifier = autoriser('modifier','album',$id);
    539         $autoriser_joindredocument = autoriser('joindredocument',$objet,$id_objet);
    540         $admin = $qui['statut']=='0minirezo' AND !$qui['restreint'];
     531        $liaison = (count(objet_trouver_liens(array('album'=>$id), array($objet=>$id_objet))) > 0) ? true : false;
     532        $autoriser_modifier = autoriser('modifier', 'album', $id);
     533        $autoriser_joindredocument = autoriser('joindredocument', $objet, $id_objet);
     534        $admin = $qui['statut']=='0minirezo' and !$qui['restreint'];
    541535
    542536        $autoriser = (
    543537                $liaison
    544                 AND
     538                and
    545539                (
    546540                        (
    547541                        $autoriser_modifier
    548                         AND $autoriser_joindredocument
     542                        and $autoriser_joindredocument
    549543                        )
    550                         OR
     544                        or
    551545                        $admin
    552546                )
     
    555549        return $autoriser;
    556550}
    557 
    558 
    559 ?>
  • _plugins_/albums/trunk/albums_fonctions.php

    r99738 r100600  
    1111
    1212// Sécurité
    13 if (!defined('_ECRIRE_INC_VERSION')) return;
     13if (!defined('_ECRIRE_INC_VERSION')) {
     14        return;
     15}
    1416
    1517/**
     
    2830        $boucle = &$boucles[$idb];
    2931        $cond = $crit->cond;
    30         $not = $crit->not?"":"NOT";
     32        $not = $crit->not ? '' : 'NOT';
    3133
    32         $select = sql_get_select("DISTINCT id_album","spip_albums_liens as oooo");
     34        $select = sql_get_select('DISTINCT id_album', 'spip_albums_liens as oooo');
    3335        $where = "'" .$boucle->id_table.".id_album $not IN (SELECT * FROM($select) AS subquery)'";
    34         if ($cond){
     36        if ($cond) {
    3537                $_quoi = '@$Pile[0]["orphelins"]';
    3638                $where = "($_quoi) ? $where : ''";
     
    6163        $boucle = &$boucles[$idb];
    6264        $cond = $crit->cond;
    63         $not = $crit->not ? "NOT" : "";
     65        $not = $crit->not ? 'NOT' : '';
    6466        // par defaut, parametre adjacent au critere, sinon parametre present dans l environnement
    65         if (isset($crit->param[0]))
     67        if (isset($crit->param[0])) {
    6668                $_media = calculer_liste($crit->param[0], array(), $boucles, $boucles[$idb]->id_parent);
    67         else
     69        } else {
    6870                $_media = $_env = '@$Pile[0]["contenu"]';
     71        }
    6972
    7073        $where = "'" .$boucle->id_table.".id_album $not IN ('.albums_calculer_critere_contenu_select($_media).')'";
    71         if ($cond)
     74        if ($cond) {
    7275                $where = "($_env) ? $where : ''";
     76        }
    7377
    7478        $boucle->where[]= $where;
    75 
    7679}
    7780
     
    8689 * @return string               select
    8790 */
    88 function albums_calculer_critere_contenu_select($media='') {
     91function albums_calculer_critere_contenu_select($media = '') {
    8992
    9093        // albums contenant un type de media en particulier
    91         if ($media AND preg_match('#image|audio|video|file#', $media)) {
     94        if ($media and preg_match('#image|audio|video|file#', $media)) {
    9295                $select = sql_get_select(
    93                         "DISTINCT(id_album)",
     96                        'DISTINCT(id_album)',
    9497                        array(
    95                                 "spip_albums AS albums",
    96                                 "spip_documents AS docs",
    97                                 "spip_documents_liens AS liens",
     98                                'spip_albums AS albums',
     99                                'spip_documents AS docs',
     100                                'spip_documents_liens AS liens',
    98101                        ),
    99102                        array(
    100103                                "liens.objet = 'album'",
    101                                 "liens.id_objet = albums.id_album",
    102                                 "docs.id_document = liens.id_document",
    103                                 "docs.media REGEXP " . sql_quote($media)
     104                                'liens.id_objet = albums.id_album',
     105                                'docs.id_document = liens.id_document',
     106                                'docs.media REGEXP ' . sql_quote($media)
    104107                        )
    105108                );
    106109        // albums pleins ou vides
    107         } else if (!$media OR in_array($media, array('oui','non'))) {
     110        } elseif (!$media or in_array($media, array('oui','non'))) {
    108111                // albums pleins : contenant au moins un document
    109112                $select_pleins = sql_get_select(
    110                         "DISTINCT liens.id_objet AS id_album",
    111                         "spip_documents_liens AS liens",
     113                        'DISTINCT liens.id_objet AS id_album',
     114                        'spip_documents_liens AS liens',
    112115                        "liens.objet = 'album'"
    113116                );
    114                 if (!$media OR ($media == 'oui')) {
     117                if (!$media or ($media == 'oui')) {
    115118                        $select = $select_pleins;
    116119                }
     
    118121                if ($media == 'non') {
    119122                        $select = sql_get_select(
    120                                 "DISTINCT(id_album)",
    121                                 "spip_albums AS albums",
     123                                'DISTINCT(id_album)',
     124                                'spip_albums AS albums',
    122125                                "id_album NOT IN ($select_pleins)"
    123126                        );
  • _plugins_/albums/trunk/albums_options.php

    r99759 r100600  
    1111
    1212// Sécurité
    13 if (!defined('_ECRIRE_INC_VERSION')) return;
     13if (!defined('_ECRIRE_INC_VERSION')) {
     14        return;
     15}
    1416
    1517// Paramètres par défaut des modèles
     
    1719
    1820// [tous] Pas de pagination (nombre de documents affichés en même temps) : nombre
    19 if (!defined('_ALBUMS_PAGINATION'))                    define('_ALBUMS_PAGINATION',20);
    20 if (!defined('_ALBUMS_PAGINATION_VIGNETTES'))          define('_ALBUMS_PAGINATION_VIGNETTES','');
    21 if (!defined('_ALBUMS_PAGINATION_LISTE'))              define('_ALBUMS_PAGINATION_LISTE','');
     21if (!defined('_ALBUMS_PAGINATION')) {
     22        define('_ALBUMS_PAGINATION', 20);
     23}
     24if (!defined('_ALBUMS_PAGINATION_VIGNETTES')) {
     25        define('_ALBUMS_PAGINATION_VIGNETTES', '');
     26}
     27if (!defined('_ALBUMS_PAGINATION_LISTE')) {
     28        define('_ALBUMS_PAGINATION_LISTE', '');
     29}
    2230
    2331// [tous] Balise dans laquelle est placé le titre : balise HTML *sans les chevrons*, ex.: `span`, `h3`, `strong`...
    24 if (!defined('_ALBUMS_BALISE_TITRE'))                  define('_ALBUMS_BALISE_TITRE','strong');
    25 if (!defined('_ALBUMS_BALISE_TITRE_VIGNETTES'))        define('_ALBUMS_BALISE_TITRE_VIGNETTES','');
    26 if (!defined('_ALBUMS_BALISE_TITRE_LISTE'))            define('_ALBUMS_BALISE_TITRE_LISTE','');
     32if (!defined('_ALBUMS_BALISE_TITRE')) {
     33        define('_ALBUMS_BALISE_TITRE', 'strong');
     34}
     35if (!defined('_ALBUMS_BALISE_TITRE_VIGNETTES')) {
     36        define('_ALBUMS_BALISE_TITRE_VIGNETTES', '');
     37}
     38if (!defined('_ALBUMS_BALISE_TITRE_LISTE')) {
     39        define('_ALBUMS_BALISE_TITRE_LISTE', '');
     40}
    2741
    2842// [tous] Affichage de la légende (titre et/ou descriptif) : `true` ou `oui`
    29 if (!defined('_ALBUMS_AFFICHER_TITRE'))                define('_ALBUMS_AFFICHER_TITRE','');
    30 if (!defined('_ALBUMS_AFFICHER_DESCRIPTIF'))           define('_ALBUMS_AFFICHER_DESCRIPTIF','');
     43if (!defined('_ALBUMS_AFFICHER_TITRE')) {
     44        define('_ALBUMS_AFFICHER_TITRE', '');
     45}
     46if (!defined('_ALBUMS_AFFICHER_DESCRIPTIF')) {
     47        define('_ALBUMS_AFFICHER_DESCRIPTIF', '');
     48}
    3149
    3250
    3351// [tous] Position de la légende (titre et descriptif) : `top` ou `bottom`
    34 if (!defined('_ALBUMS_POSITION_LEGENDE'))              define('_ALBUMS_POSITION_LEGENDE','top');
    35 if (!defined('_ALBUMS_POSITION_LEGENDE_VIGNETTES'))    define('_ALBUMS_POSITION_LEGENDE_VIGNETTES','bottom');
    36 if (!defined('_ALBUMS_POSITION_LEGENDE_LISTE'))        define('_ALBUMS_POSITION_LEGENDE_LISTE','');
     52if (!defined('_ALBUMS_POSITION_LEGENDE')) {
     53        define('_ALBUMS_POSITION_LEGENDE', 'top');
     54}
     55if (!defined('_ALBUMS_POSITION_LEGENDE_VIGNETTES')) {
     56        define('_ALBUMS_POSITION_LEGENDE_VIGNETTES', 'bottom');
     57}
     58if (!defined('_ALBUMS_POSITION_LEGENDE_LISTE')) {
     59        define('_ALBUMS_POSITION_LEGENDE_LISTE', '');
     60}
    3761
    3862// [vignettes] Dimension maximale des vignettes : nombre
    39 if (!defined('_ALBUMS_TAILLE_PREVIEW'))                define('_ALBUMS_TAILLE_PREVIEW',150);
     63if (!defined('_ALBUMS_TAILLE_PREVIEW')) {
     64        define('_ALBUMS_TAILLE_PREVIEW', 150);
     65}
    4066
    4167// [vignettes] Recadrer ou non les vignettes
    42 if (!defined('_ALBUMS_RECADRER'))                      define('_ALBUMS_RECADRER',false);
     68if (!defined('_ALBUMS_RECADRER')) {
     69        define('_ALBUMS_RECADRER', false);
     70}
    4371
    4472// [vignettes] Titre long ou court sur les liens (et donc la légende des mediabox)
    45 if (!defined('_ALBUMS_TITRE_COURT'))                   define('_ALBUMS_TITRE_COURT',false);
     73if (!defined('_ALBUMS_TITRE_COURT')) {
     74        define('_ALBUMS_TITRE_COURT', false);
     75}
    4676
    4777// [liste] Informations affichées pour chaque fichier, séparées par un tiret `-` : 'extension-taille-dimensions'
    48 if (!defined('_ALBUMS_LISTE_METAS'))                   define('_ALBUMS_LISTE_METAS','');
    49 
    50 ?>
     78if (!defined('_ALBUMS_LISTE_METAS')) {
     79        define('_ALBUMS_LISTE_METAS', '');
     80}
  • _plugins_/albums/trunk/albums_pipelines.php

    r99737 r100600  
    1111
    1212// Sécurité
    13 if (!defined('_ECRIRE_INC_VERSION')) return;
     13if (!defined('_ECRIRE_INC_VERSION')) {
     14        return;
     15}
    1416
    1517
     
    2123 *
    2224 * @note
    23  * Les portfolios ne sont affichés que pour les objets qu'on a le droit d'éditer (cf. `autoriser_joindredocument_dist`).
     25 * Les portfolios ne sont affichés que pour les objets qu'on a le droit d'éditer
     26 * (cf. `autoriser_joindredocument_dist`).
    2427 * Mais pour les albums, les documents doivent être visibles dans tous les cas.
    2528 * Si nécessaire, on affiche donc les documents via notre squelette maison.
     
    3336function albums_afficher_complement_objet($flux) {
    3437
    35         $texte = "";
     38        $texte = '';
    3639        $e     = trouver_objet_exec($flux['args']['type']);
    3740        $id    = intval($flux['args']['id']);
     
    4043        if (
    4144                $e !== false // page d'un objet éditorial
    42                 AND $e['edition'] === false // pas en mode édition
    43                 AND $type = $e['type']
    44                 AND autoriser('ajouteralbum',$type,$id)
     45                and $e['edition'] === false // pas en mode édition
     46                and $type = $e['type']
     47                and autoriser('ajouteralbum', $type, $id)
    4548        ) {
    4649                // on vérifie d'abord que les albums vus sont bien liés
     
    4851                $table_objet     = table_objet($type);
    4952                $id_table_objet  = id_table_objet($type);
    50                 $champs          = sql_fetsel('*',$table_objet_sql,addslashes($id_table_objet)."=".intval($id));
    51                 $marquer_doublons_album = charger_fonction('marquer_doublons_album','inc');
     53                $champs          = sql_fetsel('*', $table_objet_sql, addslashes($id_table_objet).'='.intval($id));
     54                $marquer_doublons_album = charger_fonction('marquer_doublons_album', 'inc');
    5255                $marquer_doublons_album($champs,$id,$type,$id_table_objet,$table_objet,$table_objet_sql);
    5356                // puis on récupère le squelette
    5457                $texte .= recuperer_fond('prive/squelettes/contenu/portfolio_albums', array(
    55                         'objet' => $type,
    56                         'id_objet' => $id,
    57                         ),
    58                         array('ajax'=>'albums')
    59                 );
     58                                'objet' => $type,
     59                                'id_objet' => $id,
     60                        ), array('ajax'=>'albums'));
    6061        }
    6162
     
    6364        if (
    6465                $e !== false // page d'un objet éditorial
    65                 AND $e['edition'] === false // pas en mode édition
    66                 AND ($type=$e['type']) == 'album'
    67                 AND !autoriser('joindredocument',$type,$id)
     66                and $e['edition'] === false // pas en mode édition
     67                and ($type=$e['type']) == 'album'
     68                and !autoriser('joindredocument', $type, $id)
    6869        ) {
    69                 $texte .= recuperer_fond('prive/squelettes/inclure/documents_album', array('id_album' => $id, 'pagination_documents'=>30));
     70                $texte .= recuperer_fond(
     71                        'prive/squelettes/inclure/documents_album',
     72                        array('id_album' => $id, 'pagination_documents'=>30)
     73                );
    7074        }
    7175
    7276        if ($texte) {
    73                 if ($p=strpos($flux['data'],"<!--afficher_complement_objet-->"))
    74                         $flux['data'] = substr_replace($flux['data'],$texte,$p,0);
    75                 else
     77                if ($p = strpos($flux['data'], '<!--afficher_complement_objet-->')) {
     78                        $flux['data'] = substr_replace($flux['data'], $texte, $p, 0);
     79                } else {
    7680                        $flux['data'] .= $texte;
     81                }
    7782        }
    7883
     
    9297 * @return array       Données du pipeline
    9398 */
    94 function albums_affiche_milieu($flux){
    95 
    96         $texte = "";
     99function albums_affiche_milieu($flux) {
     100
     101        $texte = '';
    97102        $e     = trouver_objet_exec($flux['args']['exec']);
    98103
     
    100105        if (
    101106                $e !== false // page d'un objet éditorial
    102                 AND $e['edition'] === false // pas en mode édition
    103                 AND $e['type'] == 'album'
    104                 AND $id_objet=$flux['args'][$e['id_table_objet']]
     107                and $e['edition'] === false // pas en mode édition
     108                and $e['type'] == 'album'
     109                and $id_objet=$flux['args'][$e['id_table_objet']]
    105110        ) {
    106111                // liste des auteurs liés
     
    114119                include_spip('action/editer_liens');
    115120                $auteurs_album = array();
    116                 if (is_array($liens_auteurs = objet_trouver_liens(array('auteur'=>'*'),array('album'=>$id_objet))))
    117                         foreach($liens_auteurs as $l)
     121                if (is_array($liens_auteurs = objet_trouver_liens(array('auteur' => '*'), array('album'=>$id_objet)))) {
     122                        foreach ($liens_auteurs as $l) {
    118123                                $auteurs_album[] = $l['id_auteur'];
     124                        }
     125                }
    119126                $id_auteur = $GLOBALS['visiteur_session']['id_auteur'];
    120                 if (in_array($id_auteur,$auteurs_album) AND !autoriser(modifier,album,$id_objet)) {
     127                if (in_array($id_auteur, $auteurs_album) and !autoriser(modifier, album, $id_objet)) {
    121128                        $texte .= recuperer_fond('prive/squelettes/inclure/message_album_non_editable');
    122129                }
     
    124131
    125132        if ($texte) {
    126                 if ($p=strpos($flux['data'],"<!--affiche_milieu-->"))
    127                         $flux['data'] = substr_replace($flux['data'],$texte,$p,0);
    128                 else
     133                if ($p = strpos($flux['data'], '<!--affiche_milieu-->')) {
     134                        $flux['data'] = substr_replace($flux['data'], $texte, $p, 0);
     135                } else {
    129136                        $flux['data'] .= $texte;
     137                }
    130138        }
    131139
     
    153161 * @return array       Données du pipeline
    154162 */
    155 function albums_affiche_gauche($flux){
    156 
    157         $texte = "";
     163function albums_affiche_gauche($flux) {
     164
     165        $texte = '';
    158166        $e = trouver_objet_exec($flux['args']['exec']);
    159167
     
    161169        if (
    162170                $e !== false // page d'un objet éditorial
    163                 AND $e['edition'] !== false // mode édition uniquement
    164                 AND $type = $e['type']
    165                 AND $id_table_objet = $e['id_table_objet']
    166                 AND (
    167                         (isset($flux['args'][$id_table_objet]) AND $id = intval($flux['args'][$id_table_objet]))
     171                and $e['edition'] !== false // mode édition uniquement
     172                and $type = $e['type']
     173                and $id_table_objet = $e['id_table_objet']
     174                and (
     175                        (isset($flux['args'][$id_table_objet]) and $id = intval($flux['args'][$id_table_objet]))
    168176                        // id non défini pour les nouveaux objets : on met un identifiant negatif
    169                         OR ($id = 0-$GLOBALS['visiteur_session']['id_auteur'])
     177                        or ($id = 0-$GLOBALS['visiteur_session']['id_auteur'])
    170178                )
    171                 AND autoriser('ajouteralbum',$type,$id)
    172                 AND !autoriser('joindredocument',$type,$id)
    173         ){
    174                 $texte .= recuperer_fond('prive/objets/editer/colonne_document',array('objet'=>$type,'id_objet'=>$id));
     179                and autoriser('ajouteralbum', $type, $id)
     180                and !autoriser('joindredocument', $type, $id)
     181        ) {
     182                $texte .= recuperer_fond(
     183                        'prive/objets/editer/colonne_document',
     184                        array('objet'=>$type,'id_objet'=>$id)
     185                );
    175186        }
    176187
     
    203214 * @return array       Données du pipeline
    204215**/
    205 function albums_post_insertion($flux){
     216function albums_post_insertion($flux) {
    206217
    207218        $objet    = objet_type($flux['args']['table']);
     
    211222        if (
    212223                autoriser('ajouteralbum', $objet, $id_objet)
    213                 AND $id_auteur = intval($GLOBALS['visiteur_session']['id_auteur'])
    214         ){
     224                and $id_auteur = intval($GLOBALS['visiteur_session']['id_auteur'])
     225        ) {
    215226                $id_temporaire = 0-$id_auteur;
    216227                include_spip('action/editer_liens');
    217                 $liens = objet_trouver_liens(array('album'=>'*'),array($objet=>$id_temporaire));
    218                 foreach($liens as $lien){
    219                         objet_associer(array('album'=>$lien['id_album']),array($objet=>$id_objet));
     228                $liens = objet_trouver_liens(array('album'=>'*'), array($objet=>$id_temporaire));
     229                foreach ($liens as $lien) {
     230                        objet_associer(array('album'=>$lien['id_album']), array($objet=>$id_objet));
    220231                }
    221232                // un simple delete pour supprimer les liens temporaires
    222                 sql_delete("spip_albums_liens", array("id_objet=".$id_temporaire,"objet=".sql_quote($objet)));
     233                sql_delete('spip_albums_liens', array('id_objet='.$id_temporaire, 'objet='.sql_quote($objet)));
    223234        }
    224235
     
    241252 * @return array       Données du pipeline
    242253 */
    243 function albums_post_edition($flux){
     254function albums_post_edition($flux) {
    244255
    245256        // si on édite un objet, mettre ses albums liés à jour
    246257        if (isset($flux['args']['table']) and $flux['args']['table'] != 'spip_albums') {
    247 
    248258                $table_objet_sql = $flux['args']['table'];
    249259                $serveur         = (isset($flux['args']['serveur']) ? $flux['args']['serveur'] : '');
     
    251261                $id_objet        = $flux['args']['id_objet'];
    252262                $id_table_objet  = id_table_objet($type, $serveur);
    253                 $table_objet     = isset($flux['args']['table_objet']) ? $flux['args']['table_objet'] : table_objet($table_objet_sql, $serveur);
     263                $table_objet     = isset($flux['args']['table_objet']) ?
     264                        $flux['args']['table_objet'] : table_objet($table_objet_sql, $serveur);
    254265
    255266                include_spip('inc/autoriser');
    256                 if (autoriser('autoassocieralbum', $type, $id_objet)){
     267                if (autoriser('autoassocieralbum', $type, $id_objet)) {
    257268                        $marquer_doublons_album = charger_fonction('marquer_doublons_album', 'inc');
    258269                        $marquer_doublons_album($flux['data'], $id_objet, $type, $id_table_objet, $table_objet, $table_objet_sql, '', $serveur);
     
    272283 * @return array          Liste complétée des js chargés
    273284**/
    274 function albums_jqueryui_plugins($plugins){
    275         if (test_espace_prive()){
     285function albums_jqueryui_plugins($plugins) {
     286        if (test_espace_prive()) {
    276287                include_spip('inc/config');
    277288                $plugins[] = 'jquery.ui.autocomplete';
    278                 if (lire_config('albums/deplacer_documents'))
     289                if (lire_config('albums/deplacer_documents')) {
    279290                        $plugins[] = 'jquery.ui.sortable';
     291                }
    280292        }
    281293        return $plugins;
     
    293305function albums_insert_head_css($flux) {
    294306
    295         if (!defined('_ALBUMS_INSERT_HEAD_CSS') OR !_ALBUMS_INSERT_HEAD_CSS){
    296                 include_spip("inc/config");
    297                 if (!function_exists('liste_plugin_actifs')) include_spip('inc/plugin');
    298                 $cfg = (defined('_ALBUMS_INSERT_HEAD_CSS')?_ALBUMS_INSERT_HEAD_CSS:lire_config("albums/insert_head_css",1));
    299                 if ($cfg){
    300 
     307        if (!defined('_ALBUMS_INSERT_HEAD_CSS') or !_ALBUMS_INSERT_HEAD_CSS) {
     308                include_spip('inc/config');
     309                if (!function_exists('liste_plugin_actifs')) {
     310                        include_spip('inc/plugin');
     311                }
     312                $cfg = (defined('_ALBUMS_INSERT_HEAD_CSS') ? _ALBUMS_INSERT_HEAD_CSS : lire_config('albums/insert_head_css', 1));
     313                if ($cfg) {
    301314                        // feuille de style minimale de base
    302315                        $flux .= '<link rel="stylesheet" href="'.find_in_path('css/albums.css').'" type="text/css" />';
    303 
    304316                }
    305317        }
     
    317329 * @return array       Données du pipeline
    318330 */
    319 function albums_objet_compte_enfants($flux){
     331function albums_objet_compte_enfants($flux) {
    320332
    321333        if ($objet = $flux['args']['objet']
    322           AND $id=intval($flux['args']['id_objet'])) {
     334                and $id=intval($flux['args']['id_objet'])) {
    323335                // juste les publiés ?
    324336                if (array_key_exists('statut', $flux['args']) and ($flux['args']['statut'] == 'publie')) {
    325                         $flux['data']['album'] = sql_countsel('spip_albums AS D JOIN spip_albums_liens AS L ON D.id_album=L.id_album', "L.objet=".sql_quote($objet)."AND L.id_objet=".intval($id)." AND (D.statut='publie')");
     337                        $flux['data']['album'] = sql_countsel(
     338                                'spip_albums AS D JOIN spip_albums_liens AS L ON D.id_album=L.id_album',
     339                                'L.objet='.sql_quote($objet).'AND L.id_objet='.intval($id)." AND (D.statut='publie')"
     340                        );
    326341                } else {
    327                         $flux['data']['album'] = sql_countsel('spip_albums AS D JOIN spip_albums_liens AS L ON D.id_album=L.id_album', "L.objet=".sql_quote($objet)."AND L.id_objet=".intval($id)." AND (D.statut='publie' OR D.statut='prepa')");
     342                        $flux['data']['album'] = sql_countsel(
     343                                'spip_albums AS D JOIN spip_albums_liens AS L ON D.id_album=L.id_album',
     344                                'L.objet='.sql_quote($objet).'
     345                                        AND L.id_objet='.intval($id)."
     346                                        AND (D.statut='publie' OR D.statut='prepa')"
     347                        );
    328348                }
    329349        }
     
    341361 * @return array       Données du pipeline
    342362 */
    343 function albums_boite_infos($flux){
     363function albums_boite_infos($flux) {
    344364
    345365        if ($flux['args']['type']=='rubrique'
    346           AND $id_rubrique = $flux['args']['id']){
    347                 if ($nb = sql_countsel('spip_albums_liens',"objet='rubrique' AND id_objet=".intval($id_rubrique))){
    348                         $nb = "<div>". singulier_ou_pluriel($nb, "album:info_1_album", "album:info_nb_albums") . "</div>";
    349                         if ($p = strpos($flux['data'],"<!--nb_elements-->"))
    350                                 $flux['data'] = substr_replace($flux['data'],$nb,$p,0);
     366                and $id_rubrique = $flux['args']['id']) {
     367                if ($nb = sql_countsel('spip_albums_liens', "objet='rubrique' AND id_objet=".intval($id_rubrique))) {
     368                        $nb = '<div>'. singulier_ou_pluriel($nb, 'album:info_1_album', 'album:info_nb_albums') . '</div>';
     369                        if ($p = strpos($flux['data'], '<!--nb_elements-->')) {
     370                                $flux['data'] = substr_replace($flux['data'], $nb, $p, 0);
     371                        }
    351372                }
    352373        }
     
    368389 * @return array       Données du pipeline
    369390 */
    370 function albums_optimiser_base_disparus($flux){
     391function albums_optimiser_base_disparus($flux) {
    371392
    372393        // albums à la poubelle
    373394        if (
    374                 isset($flux['args']['date']) AND $flux['args']['date']
    375                 AND is_array($ids_albums_poubelle=sql_allfetsel('id_album', table_objet_sql('album'), "statut='poubelle' AND maj < ".$flux['args']['date']))
    376         ){
     395                isset($flux['args']['date']) and $flux['args']['date']
     396                and is_array($ids_albums_poubelle = sql_allfetsel(
     397                        'id_album',
     398                        table_objet_sql('album'),
     399                        "statut='poubelle' AND maj < ".$flux['args']['date']
     400                ))) {
    377401                $ids_albums_poubelle = array_keys($ids_albums_poubelle);
    378402                include_spip('inc/albums');
     
    382406        // optimiser les liens morts entre documents et albums
    383407        include_spip('action/editer_liens');
    384         $flux['data'] += objet_optimiser_liens(array('document'=>'*'),array('album'=>'*'));
     408        $flux['data'] += objet_optimiser_liens(array('document'=>'*'), array('album'=>'*'));
    385409
    386410        return $flux;
     
    400424 * @return array       Données du pipeline
    401425 */
    402 function albums_formulaire_fond($flux){
    403 
    404         if (
    405                 $flux['args']['form'] == 'configurer_documents'
    406                 AND $avertissement = albums_message_cfg_documents(true)
    407         ) {
     426function albums_formulaire_fond($flux) {
     427        if ($flux['args']['form'] == 'configurer_documents'
     428                and $avertissement = albums_message_cfg_documents(true)) {
    408429                // On cherche titre du formulaire : <h3 class="titrem">...</h3>
    409430                // On le capture entièrement pour le faire suivre du message
     
    424445 * @return string|bool  le message d'avertissement, sinon false
    425446 */
    426 function albums_message_cfg_documents($baliser=false){
    427 
     447function albums_message_cfg_documents($baliser = false) {
    428448        $message = false;
    429         $config = explode(',',$GLOBALS['meta']['documents_objets']);
     449        $config = explode(',', $GLOBALS['meta']['documents_objets']);
    430450        $config = (is_array($config)) ? $config : array();
    431         if (!in_array(table_objet_sql('album'),$config)) {
     451        if (!in_array(table_objet_sql('album'), $config)) {
    432452                $message = _T('album:message_avertissement_cfg_documents');
    433                 if ($baliser) $message=inserer_attribut(wrap($message,'<p>'),'class','notice');
     453                if ($baliser) {
     454                        $message=inserer_attribut(wrap($message, '<p>'), 'class', 'notice');
     455                }
    434456        }
    435457
     
    458480 * @return array       Données du pipeline
    459481 */
    460 function albums_formulaire_traiter($flux){
    461 
    462         if (
    463                 $flux['args']['form'] == 'joindre_document'
    464                 AND !intval($flux['args']['args'][0]) // nouveau document
    465                 AND $flux['args']['args'][2] == 'album'
    466                 AND $id_album = intval($flux['args']['args'][1])
    467                 AND isset($flux['data']['message_ok']) // ajout = succès
     482function albums_formulaire_traiter($flux) {
     483        if ($flux['args']['form'] == 'joindre_document'
     484                and !intval($flux['args']['args'][0]) // nouveau document
     485                and $flux['args']['args'][2] == 'album'
     486                and $id_album = intval($flux['args']['args'][1])
     487                and isset($flux['data']['message_ok']) // ajout = succès
    468488        ) {
    469489                // déterminer les identifiants des documents
     
    471491                if (is_array($flux['data']['ids'])) {
    472492                        $ids_documents = $flux['data']['ids'];
    473                 }
    474                 // ...soit il faut les récupérer à la main d'après le message de retour
    475                 // dans le callback du script dans le message, on a les identifiants des divs #docX
    476                 else {
    477                         $reg = "/#doc(\d*)/";
    478                         preg_match_all($reg,$flux['data']['message_ok'],$matches);
     493                } else {
     494                        // ...soit il faut les récupérer à la main d'après le message de retour
     495                        // dans le callback du script dans le message, on a les identifiants des divs #docX
     496                        $reg = '/#doc(\d*)/';
     497                        preg_match_all($reg, $flux['data']['message_ok'], $matches);
    479498                        $ids_documents = is_array($matches[1]) ? array_unique($matches[1]) : array();
    480499                }
    481500                // en callback, animation de chaque document ajouté (#documentX_albumY)
    482501                if (count($ids_documents)) {
    483                         foreach ($ids_documents as $id_document)
     502                        $divs_documents = array();
     503                        foreach ($ids_documents as $id_document) {
    484504                                $divs_documents[] = "#document${id_document}-album${id_album}";
    485                         $divs_documents = implode(',',$divs_documents);
     505                        }
     506                        $divs_documents = implode(',', $divs_documents);
    486507                        $callback = "jQuery('$divs_documents').animateAppend();";
    487508                }
     
    490511                $js = "if (window.jQuery) jQuery(function(){ajaxReload('documents-album$id_album',{callback:function(){ $callback }});});";
    491512                $js = "<script type='text/javascript'>$js</script>";
    492                 if (isset($flux['data']['message_erreur']))
     513                if (isset($flux['data']['message_erreur'])) {
    493514                        $flux['data']['message_erreur'].= $js;
    494                 else
     515                } else {
    495516                        $flux['data']['message_ok'] .= $js;
     517                }
    496518        }
    497519
     
    518540
    519541        switch ($pipeline) {
    520 
    521542                case 'affiche_milieu':
    522543                        switch ($exec) {
    523 
    524544                                case 'albums':
    525545                                        if (!isset($vus['albums'])) {
     
    542562                        }
    543563                        break;
    544 
    545564        }
    546565
     
    554573 * Renvoie une liste des boutons d'actions des albums.
    555574 * Ils sont affichés dans les listes d'albums (footer), ou sur la fiche d'un album (boîte infos latérale).
    556  * Cette liste est un tableau associatif, donc les plugins peuvent ajouter les leurs mais également modifier certaines entrées (voir note).
     575 * Cette liste est un tableau associatif,
     576 * donc les plugins peuvent ajouter les leurs mais également modifier certaines entrées (voir note).
    557577 *
    558578 * @note
     
    578598 *     Données du pipeline
    579599**/
    580 function albums_album_boutons_actions($flux){
    581 
    582         if (!function_exists('bouton_action')) include_spip('inc/filtres');
    583         if (!function_exists('generer_action_auteur')) include_spip('inc/actions');
    584         if (!function_exists('autoriser')) include_spip('inc/autoriser');
    585 
    586         $data = (is_array($flux['data']) AND count($flux['data'])) ? $flux['data'] : array();
     600function albums_album_boutons_actions($flux) {
     601
     602        if (!function_exists('bouton_action')) {
     603                include_spip('inc/filtres');
     604        }
     605        if (!function_exists('generer_action_auteur')) {
     606                include_spip('inc/actions');
     607        }
     608        if (!function_exists('autoriser')) {
     609                include_spip('inc/autoriser');
     610        }
     611
     612        $data = (is_array($flux['data']) and count($flux['data'])) ? $flux['data'] : array();
    587613        $id_album = intval($flux['args']['id_album']);
    588         $position = (isset($flux['args']['position']) AND in_array($flux['args']['position'],array('footer','boite_infos'))) ? $flux['args']['position'] : null;
     614        $position = (isset($flux['args']['position']) and in_array($flux['args']['position'], array('footer', 'boite_infos'))) ? $flux['args']['position'] : null;
    589615        $objet    = (isset($flux['args']['objet'])) ? $flux['args']['objet'] : '';
    590         $id_objet = (isset($flux['args']['id_objet']) AND intval($flux['args']['id_objet'])) ? $flux['args']['id_objet'] : '';
    591         $liaison  = ($objet AND $id_objet) ? true : false;
     616        $id_objet = (isset($flux['args']['id_objet']) and intval($flux['args']['id_objet'])) ? $flux['args']['id_objet'] : '';
     617        $liaison  = ($objet and $id_objet) ? true : false;
    592618
    593619        // liste de tous les boutons possibles
     
    599625                        'positions' => array('footer'),
    600626                        'liaison'   => true,
    601                         'autoriser' => autoriser('dissocier','album',$id_album,'',array('objet'=>$objet,'id_objet'=>$id_objet)),
     627                        'autoriser' => autoriser('dissocier', 'album', $id_album, '', array('objet'=>$objet, 'id_objet'=>$id_objet)),
    602628                        'html'      => bouton_action(
    603629                                _T('album:bouton_dissocier'),
    604                                 generer_action_auteur('dissocier_album',$id_album.'/'.$objet.'/'.$id_objet,self()),
     630                                generer_action_auteur('dissocier_album', $id_album.'/'.$objet.'/'.$id_objet, self()),
    605631                                'ajax dissocier',
    606632                                '',
     
    612638                        'positions' => array('footer','boite_infos'),
    613639                        'liaison'   => false,
    614                         'autoriser' => autoriser('supprimer','album',$id_album),
     640                        'autoriser' => autoriser('supprimer', 'album', $id_album),
    615641                        'html'      => bouton_action(
    616642                                _T('album:bouton_supprimer'),
    617                                 generer_action_auteur('supprimer_album',$id_album,self()),
     643                                generer_action_auteur('supprimer_album', $id_album, self()),
    618644                                'ajax supprimer',
    619645                                _T('album:message_supprimer'),
     
    625651                        'positions' => array('footer','boite_infos'),
    626652                        'liaison'   => false,
    627                         'autoriser' => autoriser('vider','album',$id_album),
     653                        'autoriser' => autoriser('vider', 'album', $id_album),
    628654                        'html'      => bouton_action(
    629655                                _T('album:bouton_vider'),
    630                                 generer_action_auteur('vider_album',"$id_album",self()),
     656                                generer_action_auteur('vider_album', "$id_album", self()),
    631657                                'ajax vider',
    632658                                '',
     
    650676                        'positions' => array('footer'),
    651677                        'liaison' => '',
    652                         'autoriser' => autoriser('modifier','album',$id_album),
     678                        'autoriser' => autoriser('modifier', 'album', $id_album),
    653679                        'html' => '<a href="#" class="bouton remplir" role="button" tabindex="0">'._T('medias:bouton_ajouter_document').'</a>'
    654680                ),
     
    658684        $boutons_affiches = array();
    659685        foreach (array_keys($boutons) as $k) {
    660                 if (
    661                         is_null($position) ? !$position : in_array($position,$boutons[$k]['positions'])
    662                         AND $boutons[$k]['liaison'] ? $boutons[$k]['liaison'] === $liaison : !$boutons[$k]['liaison']
    663                         AND $boutons[$k]['autoriser'] === true
    664                 )
     686                if (is_null($position) ? !$position : in_array($position, $boutons[$k]['positions'])
     687                        and $boutons[$k]['liaison'] ? $boutons[$k]['liaison'] === $liaison : !$boutons[$k]['liaison']
     688                        and $boutons[$k]['autoriser'] === true) {
    665689                        $boutons_affiches[$k] = $boutons[$k]['html'];
    666         }
    667 
    668         $data = array_merge($data,$boutons_affiches);
     690                }
     691        }
     692
     693        $data = array_merge($data, $boutons_affiches);
    669694        $flux['data'] = $data;
    670695
     
    695720                //and isset($flux['args']['contexte']['form'])
    696721                //and in_array($flux['args']['contexte']['form'], array('joindre_document', 'ajouter_album'))
    697         ){
    698 
     722        ) {
    699723                // Changer l'identifiant du conteneur
    700724                // Définition de l'identifiant dans le squelette : _#ENV{mode}|concat{'_',#ENV{id,new}}
     
    713737                if (isset($flux['args']['contexte']['form'])
    714738                        and $flux['args']['contexte']['form'] == 'ajouter_album'
    715                 ){
     739                ) {
    716740                        $enregistrer = _T('bouton_enregistrer');
    717741                        $cherche = array(
  • _plugins_/albums/trunk/autocomplete_albums_fonctions.php

    r86340 r100600  
    1111
    1212// Sécurité
    13 if (!defined('_ECRIRE_INC_VERSION')) return;
     13if (!defined('_ECRIRE_INC_VERSION')) {
     14        return;
     15}
    1416
    1517/**
     
    3234 * @param string $type
    3335 *     Type d'objet recherché
    34   * @param string $type2
     36 * @param string $type2
    3537 *     Type d'objet lié
    3638 * @param bool $pivot2
     
    5052 *     tableau contenant une sélection des objets avec leur identifiant et leur titre.
    5153 */
    52 function filtre_albums_autocomplete($type='',$type2='',$pivot2=false,$terme='',$champ='',$nb=''){
     54function filtre_albums_autocomplete($type = '', $type2 = '', $pivot2 = false, $terme = '', $champ = '', $nb = '') {
    5355
    5456        // vérifications préliminaires
    55         if (
    56                 (!$type = objet_info($type,'type')) // type d'objet valide
    57                 OR ($type2 AND !$type2 = objet_info($type2,'type')) // type d'objet secondaire valide
    58         )
     57        if ((!$type = objet_info($type, 'type')) // type d'objet valide
     58                or ($type2 and !$type2 = objet_info($type2, 'type')) // type d'objet secondaire valide
     59        ) {
    5960                return;
     61        }
    6062
    6163        // Objet principal (celui recherché)
     
    6365        $table_objet = table_objet($type); // ex. mots
    6466        // champ contenant le titre d'après la déclaration sql de la table (une chaîne du genre «titre, '' AS lang»)
    65         $champ_titre = objet_info($type,'titre');
     67        $champ_titre = objet_info($type, 'titre');
    6668        // champ utilisé pour la recherche : s'il est donné on vérifie qu'il est valide, sinon on prend le champ de titre
    67         $champ = ($champ and in_array($champ,array_keys(objet_info($type,'field')))) ? $champ.' AS titre' : $champ_titre;
     69        $champ = ($champ and in_array($champ, array_keys(objet_info($type, 'field')))) ? $champ.' AS titre' : $champ_titre;
    6870        // nombre maximal de résultats
    69         if (!intval($nb) OR is_null($nb)) $nb = 20;
    70         else $nb = intval($nb);
     71        if (!intval($nb) or is_null($nb)) {
     72                $nb = 20;
     73        } else {
     74                $nb = intval($nb);
     75        }
    7176
    7277        // Objet secondaire (optionnel)
     
    8186        $pivot = ($type2) ? ($pivot2) ? 'secondaire' : 'principal' : '';
    8287        $res = array();
    83         switch ($pivot){
    84 
     88        switch ($pivot) {
    8589                /*
    8690                1) pas de pivot : on cherche des `$type` tout simplement
     
    109113                                        : "$alias.titre LIKE ".sql_quote("%$terme%");
    110114                        }
    111                         $groupby = "id";
     115                        $groupby = 'id';
    112116                        $orderby = '';
    113117                        $limit = "0,$nb";
    114                         $res = sql_allfetsel('titre,id',$getselect,$where,$groupby,$orderby,$limit);
     118                        $res = sql_allfetsel('titre,id', $getselect, $where, $groupby, $orderby, $limit);
    115119                        //var_dump(sql_allfetsel('titre,id',$getselect,$where,'','','','','',false));
    116120                        break;
     
    131135                        // clé primaire de l'objet (id_xxx) et sa table de liens
    132136                        include_spip('action/editer_liens');
    133                         if (!$a = objet_associable($type)) return;
     137                        if (!$a = objet_associable($type)) {
     138                                return;
     139                        }
    134140                        list($id_table_objet, $table_objet_sql_liens) = $a;
    135141                        // préparer la requête
     
    142148                                ." INNER JOIN $table_objet_sql_liens AS L1"
    143149                                ." ON (L1.$id_table_objet = T1.$id_table_objet)";
    144                         $where_sub[] = "L1.objet=".sql_quote($type2);
     150                        $where_sub[] = 'L1.objet='.sql_quote($type2);
    145151                        $getselect = '('.sql_get_select($select, $from, $where_sub).') '.$alias;
    146152                        if ($terme) {
     
    149155                                        : "$alias.titre LIKE ".sql_quote("%$terme%");
    150156                        }
    151                         $groupby = "id";
     157                        $groupby = 'id';
    152158                        $orderby = '';
    153159                        $limit = "0,$nb";
    154160                        // requête
    155                         $res = sql_allfetsel('titre,id',$getselect,$where,$groupby,$orderby,$limit);
     161                        $res = sql_allfetsel('titre,id', $getselect, $where, $groupby, $orderby, $limit);
    156162                        //var_dump(sql_allfetsel('titre,id',$getselect,$where,'','','','','',false));
    157163                        break;
    158  
     164
    159165                /*
    160166                3) l'objet secondaire sert de pivot : on cherche des `$type` auxquels sont liés des `$type2`
     
    171177                        // clé primaire de l'objet (id_xxx) et sa table de liens
    172178                        include_spip('action/editer_liens');
    173                         if (!$a = objet_associable($type2)) return;
     179                        if (!$a = objet_associable($type2)) {
     180                                return;
     181                        }
    174182                        list($id_table_objet2, $table_objet_sql_liens2) = $a;
    175183                        $id_table_objet = id_table_objet($type);
     
    182190                        $from = "$table_objet_sql AS T1"
    183191                                ." INNER JOIN $table_objet_sql_liens2 AS L2"
    184                                 ." ON ( L2.objet = ".sql_quote($type)." AND L2.id_objet = T1.$id_table_objet )";
     192                                .' ON ( L2.objet = '.sql_quote($type)." AND L2.id_objet = T1.$id_table_objet )";
    185193                        $getselect = '('.sql_get_select($select, $from).') '.$alias;
    186194                        if ($terme) {
     
    189197                                        : "$alias.titre LIKE ".sql_quote("%$terme%");
    190198                        }
    191                         $groupby = "id";
     199                        $groupby = 'id';
    192200                        $orderby = '';
    193201                        $limit = "0,$nb";
    194202                        // requête
    195                         $res = sql_allfetsel('titre,id',$getselect,$where,$groupby,$orderby,$limit);
     203                        $res = sql_allfetsel('titre,id', $getselect, $where, $groupby, $orderby, $limit);
    196204                        //var_dump(sql_allfetsel('titre,id',$getselect,$where,'','','','','',false));
    197205                        break;
    198 
    199206        }
    200207
    201208        return $res;
    202209}
    203 
    204 ?>
  • _plugins_/albums/trunk/formulaires/ajouter_album.php

    r91750 r100600  
    1717
    1818// Sécurité
    19 if (!defined('_ECRIRE_INC_VERSION')) return;
     19if (!defined('_ECRIRE_INC_VERSION')) {
     20        return;
     21}
    2022
    2123/**
     
    3840 *     Environnement du formulaire
    3941 */
    40 function formulaires_ajouter_album_charger_dist($objet='', $id_objet=0, $retour='', $lier_trad=0){
    41 
     42function formulaires_ajouter_album_charger_dist($objet = '', $id_objet = 0, $retour = '', $lier_trad = 0) {
     43        $valeurs = array();
    4244        $valeurs['ids_albums_associer'] = '';
    4345        $valeurs['objet_associer'] = $objet;
     
    4547
    4648        // valeurs du formulaire d'édition d'un album
    47         $charger_editer_album = charger_fonction('charger','formulaires/editer_album');
    48         $valeurs_editer_album = $charger_editer_album('new',$retour,$objet.'|'.$id_objet,$lier_trad);
    49         if (count($valeurs_editer_album)) $valeurs = array_merge($valeurs,$valeurs_editer_album);
     49        $charger_editer_album = charger_fonction('charger', 'formulaires/editer_album');
     50        $valeurs_editer_album = $charger_editer_album('new', $retour, $objet.'|'.$id_objet, $lier_trad);
     51        if (count($valeurs_editer_album)) {
     52                $valeurs = array_merge($valeurs, $valeurs_editer_album);
     53        }
    5054
    5155        // valeurs du formulaire d'ajout de documents
    52         $charger_joindre_document = charger_fonction('charger','formulaires/joindre_document');
    53         $valeurs_joindre_document = $charger_joindre_document('new',0-$GLOBALS['visiteur_session']['id_auteur'],'album','document');
    54         if (count($valeurs_joindre_document)) $valeurs = array_merge($valeurs,$valeurs_joindre_document);
     56        $charger_joindre_document = charger_fonction('charger', 'formulaires/joindre_document');
     57        $valeurs_joindre_document = $charger_joindre_document(
     58                'new',
     59                0-$GLOBALS['visiteur_session']['id_auteur'],
     60                'album',
     61                'document'
     62        );
     63        if (count($valeurs_joindre_document)) {
     64                $valeurs = array_merge($valeurs, $valeurs_joindre_document);
     65        }
    5566
    5667        // valeur de l'identifiant négatif pour l'ajout de documents
    5768        // cf. medias_pipelines.php L.161
    5869        $valeurs['_id_temporaire'] = 0-$GLOBALS['visiteur_session']['id_auteur'];
    59 
    6070        return $valeurs;
    61 
    6271}
    6372
     
    8190 *     Tableau des erreurs
    8291 */
    83 function formulaires_ajouter_album_verifier_dist($objet='', $id_objet=0, $retour='', $lier_trad=0){
     92function formulaires_ajouter_album_verifier_dist($objet = '', $id_objet = 0, $retour = '', $lier_trad = 0) {
    8493
    8594        $erreurs = array();
     
    8796        // onglet créer un album
    8897        if (!_request('choisir_album')) {
    89 
    9098                // erreurs du formulaire d'édition d'un album
    91                 $verifier_editer_album = charger_fonction('verifier','formulaires/editer_album');
    92                 $erreurs_editer_album = $verifier_editer_album('new',$retour,$objet.'|'.$id_objet,$lier_trad);
    93                 if (
    94                         is_array($erreurs_editer_album)
    95                         AND count($erreurs_editer_album)
     99                $verifier_editer_album = charger_fonction('verifier', 'formulaires/editer_album');
     100                $erreurs_editer_album = $verifier_editer_album('new', $retour, $objet.'|'.$id_objet, $lier_trad);
     101                if (is_array($erreurs_editer_album)
     102                        and count($erreurs_editer_album)
    96103                ) {
    97104                        $erreurs = array_merge($erreurs, $erreurs_editer_album);
     
    101108                // on autorise le fait de ne pas avoir choisi de fichier (album vide)
    102109                // FIXME on se base sur le texte du message d'erreur retourné, il y a sans doute plus propre
    103                 $verifier_joindre_document = charger_fonction('verifier','formulaires/joindre_document');
    104                 $erreurs_joindre_document = $verifier_joindre_document('new',0-$GLOBALS['visiteur_session']['id_auteur'],'album','document');
    105                 $messages_aucun_document = array(_T('medias:erreur_indiquez_un_fichier'),_T('medias:erreur_aucun_document'));
    106                 if (
    107                         is_array($erreurs_joindre_document)
    108                         AND count($erreurs_joindre_document)
    109                         AND !in_array($erreurs_joindre_document['message_erreur'],$messages_aucun_document)
     110                $verifier_joindre_document = charger_fonction('verifier', 'formulaires/joindre_document');
     111                $erreurs_joindre_document = $verifier_joindre_document(
     112                        'new',
     113                        0-$GLOBALS['visiteur_session']['id_auteur'],
     114                        'album',
     115                        'document'
     116                );
     117                $messages_aucun_document = array(
     118                        _T('medias:erreur_indiquez_un_fichier'),
     119                        _T('medias:erreur_aucun_document')
     120                );
     121                if (is_array($erreurs_joindre_document)
     122                        and count($erreurs_joindre_document)
     123                        and !in_array($erreurs_joindre_document['message_erreur'], $messages_aucun_document)
    110124                ) {
    111125                        $erreurs = array_merge($erreurs, $erreurs_joindre_document);
     
    114128        // onglet choisir un album
    115129        } else {
    116                 if (!_request('ids_albums_associer'))
     130                if (!_request('ids_albums_associer')) {
    117131                        $erreurs['ids_albums_associer'] = _T('info_obligatoire');
     132                }
    118133        }
    119134
     
    140155 *     Retours des traitements
    141156 */
    142 function formulaires_ajouter_album_traiter_dist($objet='', $id_objet=0, $retour='', $lier_trad=0){
     157function formulaires_ajouter_album_traiter_dist($objet = '', $id_objet = 0, $retour = '', $lier_trad = 0) {
    143158
    144159        $res = array();
     
    146161        // onglet créer un album
    147162        if (!_request('choisir_album')) {
    148 
    149163                // traitement des documents si des fichiers ont été choisis
    150164                include_spip('inc/joindre_document');
    151165                $id_temporaire = 0-$GLOBALS['visiteur_session']['id_auteur'];
    152                 $traiter_joindre_document = charger_fonction('traiter','formulaires/joindre_document');
    153                 $res_joindre_document = $traiter_joindre_document('new',$id_temporaire,'album','document');
     166                $traiter_joindre_document = charger_fonction('traiter', 'formulaires/joindre_document');
     167                $res_joindre_document = $traiter_joindre_document('new', $id_temporaire, 'album', 'document');
    154168                $res = array_merge($res, $res_joindre_document);
    155169                // pas besoin du js ajouté dans le message de retour
    156                 if (isset($res['message_ok']) AND $res['message_ok']){
    157                         $res['message_ok'] = preg_replace('/(<script.*<\/script>)/is','',$res['message_ok']);
     170                if (isset($res['message_ok']) and $res['message_ok']) {
     171                        $res['message_ok'] = preg_replace('/(<script.*<\/script>)/is', '', $res['message_ok']);
    158172                }
    159173
    160174                // traitement de l'album
    161                 set_request('statut','publie');
    162                 $traiter_editer_album = charger_fonction('traiter','formulaires/editer_album');
     175                set_request('statut', 'publie');
     176                $traiter_editer_album = charger_fonction('traiter', 'formulaires/editer_album');
    163177                $res_editer_album = $traiter_editer_album('new',$retour,$objet.'|'.$id_objet,$lier_trad);
    164                 if (is_array($res_editer_album))
     178                if (is_array($res_editer_album)) {
    165179                        $res = array_merge($res, $res_editer_album);
    166                 if (
    167                         isset($res['message_ok']) AND $res['message_ok']
    168                         AND $id_album = $res['id_album']
    169                 ){
    170                         $res['message_ok'] = _T('album:message_id_album_ajoute',array('id_album'=>$id_album,'url'=>ancre_url(self(),'album'.$id_album)));
     180                }
     181                if (isset($res['message_ok'])
     182                        and $res['message_ok']
     183                        and $id_album = $res['id_album']
     184                ) {
     185                        $res['message_ok'] = _T(
     186                                'album:message_id_album_ajoute',
     187                                array('id_album' => $id_album, 'url' => ancre_url(self(), 'album'.$id_album))
     188                        );
    171189                        $res['message_ok'] .= js_ajouter_albums($id_album);
    172190                        // r.a.z des champs
    173                         foreach(array('titre','descriptif','refdoc_joindre') as $champ) set_request($champ,'');
     191                        foreach (array('titre','descriptif','refdoc_joindre') as $champ) {
     192                                set_request($champ, '');
     193                        }
    174194                }
    175195
     
    177197        } else {
    178198                $ids = _request('ids_albums_associer');
    179                 $ids = explode(',',$ids);
     199                $ids = explode(',', $ids);
    180200                include_spip('action/editer_liens');
    181                 if ($nb=objet_associer(array('album'=>$ids), array($objet=>$id_objet))) {
     201                if ($nb=objet_associer(array('album'=>$ids), array($objet => $id_objet))) {
    182202                        // singulier_ou_pluriel ne semble pas aimer les chaines avec parametres
    183203                        if ($nb == 1) {
    184204                                $id_album=intval($ids[0]);
    185                                 $message = _T('album:message_id_album_ajoute',array('id_album'=>$id_album,'url'=>ancre_url(self(),'album'.$id_album)));
     205                                $message = _T(
     206                                        'album:message_id_album_ajoute',
     207                                        array('id_album' => $id_album, 'url' => ancre_url(self(), 'album'.$id_album))
     208                                );
    186209                        } elseif ($nb > 1) {
    187210                                $message = _T('album:message_nb_albums_ajoutes');
     
    190213                        $res['message_ok'] .= js_ajouter_albums($ids);
    191214                        // r.a.z du champ
    192                         set_request('ids_albums_associer','');
     215                        set_request('ids_albums_associer', '');
    193216                } else {
    194217                        $res['message_erreur'] = _T('erreur');
    195218                }
    196219        }
    197 
    198220        $res['editable'] = true;
    199 
    200221        return $res;
    201 
    202222}
    203223
     
    208228 * @return string message js
    209229 */
    210 function js_ajouter_albums($ids=array()){
    211         if (!intval($ids)) return;
    212         if (!is_array($ids)) $ids = array($ids);
    213         foreach($ids as $id) $divs[] = "#album${id}";
    214         $divs = implode(',',$divs);
     230function js_ajouter_albums($ids = array()) {
     231        if (!intval($ids)) {
     232                return;
     233        }
     234        if (!is_array($ids)) {
     235                $ids = array($ids);
     236        }
     237        $divs = array();
     238        foreach ($ids as $id) {
     239                $divs[] = "#album${id}";
     240        }
     241        $divs = implode(',', $divs);
    215242        $callback = "jQuery('${divs}').animateAppend();";
    216         $js = "if (window.jQuery) jQuery(function(){ajaxReload('liste_albums',{callback:function(){ $callback }});});";;
     243        $js = "if (window.jQuery) jQuery(function(){ajaxReload('liste_albums',{callback:function(){ $callback }});});";
    217244        $js = "<script type='text/javascript'>${js}</script>";
    218245        return $js;
    219246}
    220 
    221 ?>
  • _plugins_/albums/trunk/formulaires/albums_deplacer_documents.php

    r94580 r100600  
    2222
    2323// Sécurité
    24 if (!defined("_ECRIRE_INC_VERSION")) return;
     24if (!defined('_ECRIRE_INC_VERSION')) {
     25        return;
     26}
    2527
    2628/**
     
    3739 *     Environnement du formulaire
    3840 */
    39 function formulaires_albums_deplacer_documents_charger_dist($objet='',$id_objet=''){
     41function formulaires_albums_deplacer_documents_charger_dist($objet = '', $id_objet = '') {
    4042        // option pas activée = pas de chocolat
    4143        include_spip('inc/config');
    42         if (!lire_config('albums/deplacer_documents','')) $valeurs['editable'] = false;
    4344        $valeurs = array();
     45        if (!lire_config('albums/deplacer_documents', '')) {
     46                $valeurs['editable'] = false;
     47        }
    4448        // champ contenant la liste des déplacements à effectuer (auto complété par js)
    4549        $valeurs['_deplacements'] = '';
     
    6670 *     Tableau des erreurs
    6771 */
    68 function formulaires_albums_deplacer_documents_verifier_dist($objet='',$id_objet=''){
     72function formulaires_albums_deplacer_documents_verifier_dist($objet = '', $id_objet = '') {
    6973        $erreurs = array();
    7074
    71         if (_request('valider')){
    72 
    73                 if (
    74                         is_array($deplacements=json_decode(_request('_deplacements'),true))
    75                         AND count($deplacements=array_filter($deplacements))
     75        if (_request('valider')) {
     76                if (is_array($deplacements = json_decode(_request('_deplacements'), true))
     77                        and count($deplacements = array_filter($deplacements))
    7678                ) {
    77 
    7879                        // vérifier que les tous les documents dissociés sont également associés
    7980                        $associers = array();
    8081                        $dissociers = array();
    81                         foreach ($deplacements as $alias_objet => $actions) {
    82                                 if (isset($actions['associer']) AND count($actions['associer']))
    83                                         foreach ($actions['associer'] as $doc)
     82                        foreach ($deplacements as $actions) {
     83                                if (isset($actions['associer']) and count($actions['associer'])) {
     84                                        foreach ($actions['associer'] as $doc) {
    8485                                                $associers[] = $doc;
    85                                 if (isset($actions['dissocier']) AND count($actions['dissocier']))
    86                                         foreach ($actions['dissocier'] as $doc)
     86                                        }
     87                                }
     88                                if (isset($actions['dissocier']) and count($actions['dissocier'])) {
     89                                        foreach ($actions['dissocier'] as $doc) {
    8790                                                $dissociers[] = $doc;
    88                         }
    89                         if (count(array_diff($associers,$dissociers)) > 0) {
     91                                        }
     92                                }
     93                        }
     94                        if (count(array_diff($associers, $dissociers)) > 0) {
    9095                                $message_erreur = _T('album:erreur_deplacement');
    91                         }
    92                         // si le compte est bon, continuer
    93                         else {
     96                        } else {
     97                                // si le compte est bon, continuer
    9498                                include_spip('action/editer_liens');
    95                                 foreach ($deplacements as $alias=>$actions) {
    96 
     99                                foreach ($deplacements as $alias => $actions) {
    97100                                        // objet_action = objet sur lequel on va associer/dissocier un document
    98                                         list($objet_action, $id_objet_action) = preg_split('/_/',$alias);
     101                                        list($objet_action, $id_objet_action) = preg_split('/_/', $alias);
    99102                                        $id_objet_action = intval($id_objet_action);
    100103
    101104                                        // si l'objet traité n'est pas un album,
    102105                                        // ce doit être l'objet du contexte et un objet connu
    103                                         if (
    104                                                 $objet_action != "album"
    105                                                 AND (
     106                                        if ($objet_action != 'album'
     107                                                and (
    106108                                                        $objet_action != $objet
    107                                                         OR $id_objet_action != $id_objet
    108                                                         OR !in_array($objet_action,array_keys(lister_types_surnoms()))
     109                                                        or $id_objet_action != $id_objet
     110                                                        or !in_array($objet_action, array_keys(lister_types_surnoms()))
    109111                                                )
    110112                                        ) {
     
    121123                                        // si associer, vérifier que les docs ne sont pas déjà liés à l'objet
    122124                                        // (pour éviter de les dissocier d'un autre objet par erreur)
    123                                         if (isset($actions['associer']) AND count($actions['associer'])) {
     125                                        if (isset($actions['associer']) and count($actions['associer'])) {
    124126                                                foreach ($actions['associer'] as $id_document) {
    125                                                         if (count(objet_trouver_liens(array('document'=>$id_document),array($objet_action=>$id_objet_action)))) {
     127                                                        if (count(objet_trouver_liens(array('document'=>$id_document), array($objet_action => $id_objet_action)))) {
    126128                                                                $message_erreur = _T('album:erreur_deplacement');
    127129                                                                break;
     
    132134                                        // si dissocier, vérifier que les docs sont bien liés à l'objet
    133135                                        // FIXME : vérif superflue ?
    134                                         if (isset($actions['dissocier']) AND count($actions['dissocier'])) {
     136                                        if (isset($actions['dissocier']) and count($actions['dissocier'])) {
    135137                                                foreach ($actions['dissocier'] as $id_document) {
    136                                                         if (!count(objet_trouver_liens(array('document'=>$id_document),array($objet_action=>$id_objet_action)))) {
     138                                                        if (!count(objet_trouver_liens(array('document' => $id_document), array($objet_action => $id_objet_action)))) {
    137139                                                                $message_erreur = _T('album:erreur_deplacement');
    138140                                                                break;
     
    140142                                                }
    141143                                        }
    142 
    143                                 }
    144                         }
    145                 }
    146                 // la chaîne décrivant les déplacements est vide ou invalide
    147                 else {
     144                                }
     145                        }
     146                } else {
     147                        // la chaîne décrivant les déplacements est vide ou invalide
    148148                        $message_erreur = _T('album:erreur_deplacement');
    149149                }
    150150        }
    151151
    152         if (isset($message_erreur) AND $message_erreur) {
     152        if (isset($message_erreur) and $message_erreur) {
    153153                $erreurs['message_erreur'] = $message_erreur;
    154154        }
     
    170170 *     Retours des traitements
    171171 */
    172 function formulaires_albums_deplacer_documents_traiter_dist($objet='',$id_objet=''){
    173 
     172function formulaires_albums_deplacer_documents_traiter_dist($objet = '', $id_objet = '') {
    174173        $res = array();
    175174
    176         if (
    177                 _request('valider')
    178                 AND is_array($deplacements = json_decode(_request('_deplacements'),true))
    179                 AND count($deplacements)
     175        if (_request('valider')
     176                and is_array($deplacements = json_decode(_request('_deplacements'), true))
     177                and count($deplacements)
    180178        ) {
    181179                include_spip('action/editer_liens');
    182                 foreach ($deplacements as $alias=>$actions) {
    183                         if (list($objet_action, $id_objet_action) = preg_split('/_/',$alias)) {
    184                                 if ($objet_action=='album') $albums[]=$id_objet_action;
     180                $albums = array();
     181                foreach ($deplacements as $alias => $actions) {
     182                        if (list($objet_action, $id_objet_action) = preg_split('/_/', $alias)) {
     183                                if ($objet_action=='album') {
     184                                        $albums[]=$id_objet_action;
     185                                }
    185186                                foreach ($actions as $action => $documents) {
    186187                                        if ($action == 'associer') {
    187                                                 foreach ($documents as $id_document)
    188                                                         objet_associer(array('document'=>intval($id_document)), array($objet_action=>intval($id_objet_action)));
     188                                                foreach ($documents as $id_document) {
     189                                                        objet_associer(array('document' => intval($id_document)), array($objet_action => intval($id_objet_action)));
     190                                                }
    189191                                        }
    190192                                        if ($action == 'dissocier') {
    191                                                 foreach ($documents as $id_document)
    192                                                         objet_dissocier(array('document'=>intval($id_document)), array($objet_action=>intval($id_objet_action)));
    193                                         }
    194                                 }
    195                         }
    196                         if (isset($albums) AND count($albums)) $albums=array_unique($albums);
     193                                                foreach ($documents as $id_document) {
     194                                                        objet_dissocier(array('document' => intval($id_document)), array($objet_action => intval($id_objet_action)));
     195                                                }
     196                                        }
     197                                }
     198                        }
     199                        if (isset($albums) and count($albums)) {
     200                                $albums = array_unique($albums);
     201                        }
    197202                }
    198203                $res['message_ok'] = _T('info_modification_enregistree');
     
    203208        // annuler : cacher le formulaire
    204209        // TODO : ne recharger que les albums impactés au lieu de toute la liste (cf. $albums)
    205         if (
    206                 (_request('valider') AND isset($res['message_ok']) AND $res['message_ok'])
    207                 OR (_request('annuler'))
     210        if ((_request('valider') and isset($res['message_ok']) and $res['message_ok'])
     211                or (_request('annuler'))
    208212        ) {
    209                 $contexte_objet = ($objet AND intval($id_objet)>0) ? true : false;
    210                 $ajaxReload_documents =  ($contexte_objet) ? "ajaxReload('documents');" : "";
    211                 $id_form = "#formulaire_albums_deplacer_documents";
    212                 $id_form .= ($contexte_objet) ? "_${objet}${id_objet}" : "";
     213                $contexte_objet = ($objet and intval($id_objet)>0) ? true : false;
     214                $ajaxReload_documents = ($contexte_objet) ? "ajaxReload('documents');" : '';
     215                $id_form = '#formulaire_albums_deplacer_documents';
     216                $id_form .= ($contexte_objet) ? "_${objet}${id_objet}" : '';
    213217                //if (_request('valider')) $callback = "jQuery('${id_form}').find('.boutons').hide();";
    214218                $callback = '';
     
    219223                $js = "if (window.jQuery) jQuery(function(){ajaxReload('liste_albums',{callback:function(){ ${callback} }});${ajaxReload_documents}});";
    220224                $js = "<script type='text/javascript'>${js}</script>";
    221                 set_request('_js',$js);
     225                set_request('_js', $js);
    222226        }
    223227
     
    226230        return $res;
    227231}
    228 
    229 
    230 ?>
  • _plugins_/albums/trunk/formulaires/balise_album.php

    r86340 r100600  
    2121 */
    2222
    23 if (!defined('_ECRIRE_INC_VERSION')) return;
     23if (!defined('_ECRIRE_INC_VERSION')) {
     24        return;
     25}
    2426
    2527/**
     
    3335 *     Environnement du formulaire
    3436 */
    35 function formulaires_balise_album_charger_dist($id_album=0){
     37function formulaires_balise_album_charger_dist($id_album = 0) {
    3638
    3739        // sans les plugins adéquats, ni la liste des modèles, on peut pas test
    3840        // mais il faut quand même afficher la balise de base
    3941        include_spip('inc/albums');
    40         if (
    41                 !defined('_DIR_PLUGIN_YAML') OR !_DIR_PLUGIN_YAML
    42                 OR !defined('_DIR_PLUGIN_SAISIES') OR !_DIR_PLUGIN_SAISIES
    43                 OR !count($liste_modeles = albums_lister_modeles())
     42        if (!defined('_DIR_PLUGIN_YAML')
     43                or !_DIR_PLUGIN_YAML
     44                or !defined('_DIR_PLUGIN_SAISIES')
     45                or !_DIR_PLUGIN_SAISIES
     46                or !count($liste_modeles = albums_lister_modeles())
    4447        ) {
    4548                $balise = htmlspecialchars('<album'.$id_album.'>');
     
    5558
    5659        switch ($etape) {
    57 
    5860                // étape 0 : balise de base
    59                 case 1;
     61                case 1:
    6062                        $valeurs['_balise'] = $balise = htmlspecialchars('<album'.$id_album.'>');
    6163                        $valeurs['_js_balise'] = js_balise($balise);
    6264                        break;
    63 
    6465                // étape 1 : choix du modèle
    65                 case 2;
    66                         foreach($liste_modeles as $modele=>$infos)
     66                case 2:
     67                        $datas_modeles = array();
     68                        foreach ($liste_modeles as $modele => $infos) {
    6769                                $datas_modeles[$modele] = $infos['alias'];
     70                        }
    6871                        $saisies_modeles = array(
    6972                                array(
     
    7982                        $valeurs['_saisies'] = $saisies_modeles;
    8083                        break;
    81 
    8284                // étape 3 : choix des paramètres puis affichage
    83                 case 3;
     85                case 3:
    8486                        // choix des paramètres
    8587                        if (_request('choisir')) {
    8688                                $modele = _request('modele');
    8789                                // déclarer les champs du modèle choisi
    88                                 if (
    89                                         $infos = infos_modele_album($modele)
    90                                         AND isset($infos['parametres'])
    91                                         AND is_array($saisies = $infos['parametres'])
     90                                if ($infos = infos_modele_album($modele)
     91                                        and isset($infos['parametres'])
     92                                        and is_array($saisies = $infos['parametres'])
    9293                                ) {
    9394                                        $valeurs['_saisies'] = $saisies;
    9495                                        include_spip('inc/config');
    9596                                        // valeurs des saisies
    96                                         foreach($saisies as $saisie=>$params) {
     97                                        foreach ($saisies as $params) {
    9798                                                $nom = $params['options']['nom'];
    9899                                                $valeurs[$nom] = '';
    99100                                                // on récupère éventuellement la valeur par défaut dans un meta
    100                                                 if (isset($params['options']['config']))
     101                                                if (isset($params['options']['config'])) {
    101102                                                        $valeurs[$nom] = lire_config($params['options']['config']);
    102                                                 // on donne une valeur par défaut à « id_album » afin de cacher le champ « id_modele » (via afficher_si),
     103                                                }
     104                                                // on donne une valeur par défaut à « id_album » afin de cacher le champ « id_modele »
     105                                                // (via afficher_si),
    103106                                                // qui n'est là que pour compatibilité avec le plugin « Insérer modèles »
    104107                                                $valeurs['id_album'] = $id_album;
    105108                                        }
    106109                                }
    107                         }
    108                         // affichage de la balise
    109                         elseif(_request('generer')) {
     110                        } elseif (_request('generer')) {
     111                                // affichage de la balise
    110112                                $valeurs['_balise'] = _request('_balise');
    111113                                $valeurs['_js_balise'] = _request('_js_balise');
     
    116118
    117119        return $valeurs;
    118 
    119120}
    120121
     
    129130 *     Tableau des erreurs
    130131 */
    131 function formulaires_balise_album_verifier_3_dist($id_album=0){
     132function formulaires_balise_album_verifier_3_dist($id_album = 0) {
    132133
    133134        $erreurs = array();
     
    152153 *     Retours des traitements
    153154 */
    154 function formulaires_balise_album_traiter_dist($id_album=0){
     155function formulaires_balise_album_traiter_dist($id_album = 0) {
    155156
    156157        $res = array();
     
    161162        $infos = infos_modele_album($modele);
    162163        $champs = array();
    163         if (
    164                 $infos = infos_modele_album($modele)
    165                 AND isset($infos['parametres'])
    166                 AND is_array($saisies = $infos['parametres'])
     164        if ($infos = infos_modele_album($modele)
     165                and isset($infos['parametres'])
     166                and is_array($saisies = $infos['parametres'])
    167167        ) {
    168                 foreach($saisies as $saisie=>$params)
    169                         $champs[] = $params['options']['nom'];
     168                foreach ($saisies as $params) {
     169                        if (isset($params['options']) and $params['options']['nom']) {
     170                                $champs[] = $params['options']['nom'];
     171                        }
     172                }
    170173        }
    171174
    172175        $balise = '<album'.$id_album;
    173176        // d'abord les options connues : variante, classe, align
    174         if (_request('variante') && _request('variante')!='')
     177        if (_request('variante') && _request('variante') != '') {
    175178                $balise .= '|'._request('variante');
    176         if (_request('classe') && _request('classe')!='')
     179        }
     180        if (_request('classe') && _request('classe') != '') {
    177181                $balise .= '|'._request('classe');
    178         if (_request('align') && _request('align')!='')
     182        }
     183        if (_request('align') && _request('align') != '') {
    179184                $balise .= '|'._request('align');
     185        }
    180186        // puis les options propres au modèle
    181187        foreach ($champs as $champ) {
    182                 if(
    183                         !in_array($champ,array('modele','id_modele','id_album','classe','align','variante'))
    184                         && _request($champ) && _request($champ)!=''
     188                if (!in_array($champ, array('modele', 'id_modele', 'id_album', 'classe', 'align', 'variante'))
     189                        && _request($champ) && _request($champ) != ''
    185190                ) {
    186                         if($champ == _request($champ))
     191                        if ($champ == _request($champ)) {
    187192                                $balise .= "|$champ";
    188                         // On transforme les tableaux en une liste
    189                         elseif (is_array(_request($champ)))
    190                                 $balise .= "|$champ=".implode(',',_request($champ));
    191                         else
     193                        } elseif (is_array(_request($champ))) {
     194                                // On transforme les tableaux en une liste
     195                                $balise .= "|$champ=".implode(',', _request($champ));
     196                        } else {
    192197                                $balise .= "|$champ="._request($champ);
     198                        }
    193199                }
    194200        }
    195201        $balise .= '>';
    196202        // ajout de <wbr> pour des retours à la ligne corrects
    197         $balise_txt = preg_replace("/([\|,])/","<wbr>$1",htmlspecialchars($balise));
    198         set_request('_balise',$balise_txt);
    199         set_request('_js_balise',js_balise($balise));
     203        $balise_txt = preg_replace('/([\|,])/', '<wbr>$1', htmlspecialchars($balise));
     204        set_request('_balise', $balise_txt);
     205        set_request('_js_balise', js_balise($balise));
    200206        //$res['message_ok'] = _T('album:texte_double_clic_inserer_balise');
    201 
    202207        return $res;
    203 
    204208}
    205209
     
    213217        return "barre_inserer('".texte_script($balise)."', $('textarea[name=texte]')[0]);";
    214218}
    215 
    216 ?>
  • _plugins_/albums/trunk/formulaires/editer_album.php

    r94579 r100600  
    1010 */
    1111
    12 if (!defined('_ECRIRE_INC_VERSION')) return;
     12if (!defined('_ECRIRE_INC_VERSION')) {
     13        return;
     14}
    1315
    1416include_spip('inc/actions');
     
    3638 *     Hash du formulaire
    3739 */
    38 function formulaires_editer_album_identifier_dist($id_album='new', $retour='', $associer_objet='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
     40function formulaires_editer_album_identifier_dist($id_album = 'new', $retour = '', $associer_objet = '', $lier_trad = 0, $config_fonc = '', $row = array(), $hidden = '') {
    3941        return serialize(array(intval($id_album), $associer_objet));
    4042}
     
    6567 *     Environnement du formulaire
    6668 */
    67 function formulaires_editer_album_charger_dist($id_album='new', $retour='', $associer_objet='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
    68         $valeurs = formulaires_editer_objet_charger('album',$id_album,'',$lier_trad,$retour,$config_fonc,$row,$hidden);
     69function formulaires_editer_album_charger_dist($id_album = 'new', $retour = '', $associer_objet = '', $lier_trad = 0, $config_fonc = '', $row = array(), $hidden = '') {
     70        $valeurs = formulaires_editer_objet_charger('album', $id_album, '', $lier_trad, $retour, $config_fonc, $row, $hidden);
    6971
    7072        // lorsqu'on créé un album associé à un objet...
    71         if (
    72                 !intval($id_album)
    73                 AND $associer_objet
    74                 AND list($objet, $id_objet) = explode('|', $associer_objet)
    75         ){
     73        if (!intval($id_album)
     74                and $associer_objet
     75                and list($objet, $id_objet) = explode('|', $associer_objet)
     76        ) {
    7677                // le publier d'office
    7778                $valeurs['statut'] = 'publie';
    7879                // donner un titre par défaut selon la configuration
    7980                include_spip('inc/config');
    80                 if (lire_config('albums/utiliser_titre_defaut') == 'on'){
     81                if (lire_config('albums/utiliser_titre_defaut') == 'on') {
    8182                        $valeurs['titre_defaut'] = generer_info_entite($id_objet, $objet, 'titre');
    8283                }
     
    8485
    8586        return $valeurs;
    86 
    8787}
    8888
     
    112112 *     Tableau des erreurs
    113113 */
    114 function formulaires_editer_album_verifier_dist($id_album='new', $retour='', $associer_objet='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
    115         return formulaires_editer_objet_verifier('album',$id_album,array());
     114function formulaires_editer_album_verifier_dist($id_album = 'new', $retour = '', $associer_objet = '', $lier_trad = 0, $config_fonc = '', $row = array(), $hidden = '') {
     115        return formulaires_editer_objet_verifier('album', $id_album, array());
    116116}
    117117
     
    141141 *     Retours des traitements
    142142 */
    143 function formulaires_editer_album_traiter_dist($id_album='new', $retour='', $associer_objet='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
     143function formulaires_editer_album_traiter_dist($id_album = 'new', $retour = '', $associer_objet = '', $lier_trad = 0, $config_fonc = '', $row = array(), $hidden = '') {
    144144
    145145        // traitements génériques
    146         $res = formulaires_editer_objet_traiter('album',$id_album,'',$lier_trad,$retour,$config_fonc,$row,$hidden);
     146        $res = formulaires_editer_objet_traiter('album', $id_album, '', $lier_trad, $retour, $config_fonc, $row, $hidden);
    147147
    148148        // peupler le titre à posteriori s'il est vide lors de la création (création rapide d'un album)
    149         if (!intval($id_album='new') AND !_request('titre') AND $res['id_album']){
    150                 objet_modifier("album",$res['id_album'],array('titre' => _T('album:info_nouvel_album')." "._T('info_numero_abbreviation').$res['id_album']));
     149        if (!intval($id_album = 'new') and !_request('titre') and $res['id_album']) {
     150                objet_modifier('album', $res['id_album'], array('titre' => _T('album:info_nouvel_album').' '._T('info_numero_abbreviation'). $res['id_album']));
    151151        }
    152152
    153153        // un lien a prendre en compte ?
    154         if ($associer_objet AND $id_album = $res['id_album']) {
     154        if ($associer_objet and $id_album = $res['id_album']) {
    155155                if (list($objet, $id_objet) = explode('|', $associer_objet)) {
    156156                        include_spip('action/editer_liens');
    157157                        objet_associer(array('album' => $id_album), array($objet => $id_objet));
    158158                        if (isset($res['redirect'])) {
    159                                 $res['redirect'] = ancre_url(parametre_url($res['redirect'],'id_album','','&'),'album'.$res['id_album']);
     159                                $res['redirect'] = ancre_url(parametre_url($res['redirect'], 'id_album', '', '&'), 'album'.$res['id_album']);
    160160                        }
    161161                }
     
    168168                $js = "if (window.jQuery) jQuery(function(){ajaxReload('liste_albums');});";
    169169                $js = "<script type='text/javascript'>$js</script>";
    170                 if (isset($res['message_erreur']))
     170                if (isset($res['message_erreur'])) {
    171171                        $res['message_erreur'].= $js;
    172                 else
     172                } else {
    173173                        $res['message_ok'] .= $js;
     174                }
    174175        }
    175176
    176177        return $res;
    177 
    178178}
    179 
    180 
    181 ?>
  • _plugins_/albums/trunk/formulaires/migrer_albums.php

    r86340 r100600  
    1111
    1212// Sécurité
    13 if (!defined("_ECRIRE_INC_VERSION")) return;
     13if (!defined('_ECRIRE_INC_VERSION')) {
     14        return;
     15}
    1416
    1517/**
     
    2123 *     Environnement du formulaire
    2224 */
    23 function formulaires_migrer_albums_charger_dist(){
    24 
     25function formulaires_migrer_albums_charger_dist() {
    2526        $valeurs = array(
    2627                'id_parent'=>'',
     
    4243 *     Tableau des erreurs
    4344 */
    44 function formulaires_migrer_albums_verifier_dist(){
    45 
     45function formulaires_migrer_albums_verifier_dist() {
    4646        $erreurs = array();
    4747        $oblis = array('id_parent');
    4848
    49         foreach ($oblis as $obli){
    50                 if (!_request($obli))
     49        foreach ($oblis as $obli) {
     50                if (!_request($obli)) {
    5151                        $erreurs[$obli] = _T('info_obligatoire');
     52                }
    5253        }
    5354
    5455        if (!isset($erreurs['groupes_mots'])
    55           AND $groupes = _request('groupes_mots')){
    56 
    57                 if (!is_array($groupes))
     56                and $groupes = _request('groupes_mots')) {
     57                if (!is_array($groupes)) {
    5858                        $erreurs['groupes_mots'] = _T('migreralbums:erreur_choix_incorrect');
    59                 else {
    60                         $groupes = array_map('intval',$groupes);
    61                         if (sql_countsel('spip_groupes_mots',sql_in('id_groupe',$groupes))!=count($groupes))
     59                } else {
     60                        $groupes = array_map('intval', $groupes);
     61                        if (sql_countsel('spip_groupes_mots', sql_in('id_groupe', $groupes)) != count($groupes)) {
    6262                                $erreurs['groupes_mots'] = _T('migreralbums:erreur_choix_incorrect');
     63                        }
    6364                }
    6465        }
    6566
    6667        // pas d'erreurs ? verifier ce qui va etre fait et l'annoncer
    67         if (!count($erreurs) AND !_request('confirm')){
    68                 $where = migrer_albums_where_articles(_request('id_parent'),_request('toute_la_branche'));
    69                 $nba = sql_countsel("spip_articles",$where);
     68        if (!count($erreurs) and !_request('confirm')) {
     69                $where = migrer_albums_where_articles(_request('id_parent'), _request('toute_la_branche'));
     70                $nba = sql_countsel('spip_articles', $where);
    7071                $erreurs['nb'] = $nba;
    7172
    72                 $message = sinon(singulier_ou_pluriel($nba,'info_1_article','info_nb_articles'),_T('info_aucun_article'));
    73                 $message .= " " ._T('migreralbums:info_migration_articles');
     73                $message = sinon(singulier_ou_pluriel($nba, 'info_1_article', 'info_nb_articles'), _T('info_aucun_article'));
     74                $message .= ' ' ._T('migreralbums:info_migration_articles');
    7475
    7576                $erreurs['confirmer'] = $message;
     
    8788 *     Retours des traitements
    8889 */
    89 function formulaires_migrer_albums_traiter_dist(){
     90function formulaires_migrer_albums_traiter_dist() {
    9091        $id_rubrique = _request('id_parent');
    9192        $where_articles = migrer_albums_where_articles($id_rubrique, _request('toute_la_branche'));
     
    9394        $lier_rubriques = (_request('lier_rubriques') ? true : false);
    9495        $groupes = _request('groupes_mots');
    95         if (!$groupes)
     96        if (!$groupes) {
    9697                $groupes = array();
     98        }
    9799        $where_mots = migrer_albums_where_mots($groupes);
    98100
     
    100102        $nb = albums_migrer_articles($where_articles, $where_mots, $refuser, $lier_rubriques);
    101103
    102         $message = sinon(singulier_ou_pluriel($nb,'info_1_article','info_nb_articles'),_T('info_aucun_article'));
    103         $message .= " " ._T('migreralbums:info_migration_articles_reussi');
     104        $message = sinon(singulier_ou_pluriel($nb, 'info_1_article', 'info_nb_articles'), _T('info_aucun_article'));
     105        $message .= ' ' ._T('migreralbums:info_migration_articles_reussi');
    104106
    105107        return array('message_ok'=>$message);
     
    111113 * @return int nombre d'articles migrés
    112114 */
    113 function albums_migrer_articles($where_articles, $where_mots, $refuser, $lier_rubriques){
    114         include_spip("action/editer_objet");
    115         include_spip("action/editer_liens");
    116 
    117         $where_mots = implode(" AND ",$where_mots);
     115function albums_migrer_articles($where_articles, $where_mots, $refuser, $lier_rubriques) {
     116        include_spip('action/editer_objet');
     117        include_spip('action/editer_liens');
     118
     119        $where_mots = implode(' AND ', $where_mots);
    118120
    119121        $nb = 0;
    120         $res = sql_select("*","spip_articles",$where_articles);
    121         while ($row = sql_fetch($res)){
     122        $res = sql_select('*', 'spip_articles', $where_articles);
     123        while ($row = sql_fetch($res)) {
    122124                // y a-t-il deja un album associe ?
    123                 $liens = objet_trouver_liens(array('album'=>'*'),array('article'=>$row['id_article']));
     125                $liens = objet_trouver_liens(array('album' => '*'), array('article' => $row['id_article']));
    124126                if (!count($liens)
    125                   AND $id_album = objet_inserer('album')){
    126 
     127                        and $id_album = objet_inserer('album')) {
    127128                        // associer tout de suite à l'article
    128                         objet_associer(array('album'=>$id_album),array('article'=>$row['id_article']));
     129                        objet_associer(array('album' => $id_album), array('article' => $row['id_article']));
    129130                        // et peut-être en plus à la rubrique
    130                         if ($lier_rubriques){
    131                                 objet_associer(array('album'=>$id_album),array('rubrique'=>$row['id_rubrique']));
    132                         }
    133                        
     131                        if ($lier_rubriques) {
     132                                objet_associer(array('album' => $id_album), array('rubrique' => $row['id_rubrique']));
     133                        }
     134
    134135                        // réassocier les bons auteurs
    135                         if ($liens_auteurs = objet_trouver_liens(array('auteur'=>'*'), array('article'=>$row['id_article']))){
     136                        if ($liens_auteurs = objet_trouver_liens(array('auteur' => '*'), array('article' => $row['id_article']))) {
    136137                                $auteurs = array();
    137                                 foreach ($liens_auteurs as $lien){
     138                                foreach ($liens_auteurs as $lien) {
    138139                                        $auteurs[] = $lien['id_auteur'];
    139140                                }
    140                                 objet_dissocier(array('auteur'=>'*'), array('album'=>$id_album));
    141                                 objet_associer(array('auteur'=>$auteurs), array('album'=>$id_album));
    142                         }
    143                        
    144                        
     141                                objet_dissocier(array('auteur' => '*'), array('album' => $id_album));
     142                                objet_associer(array('auteur' => $auteurs), array('album' => $id_album));
     143                        }
     144
     145
    145146                        // titrer et decrire
    146147                        $descriptif = array();
    147                         if (strlen($row['chapo']))
     148                        if (strlen($row['chapo'])) {
    148149                                $descriptif[] = $row['chapo'];
    149                         if (strlen($row['texte']))
     150                        }
     151                        if (strlen($row['texte'])) {
    150152                                $descriptif[] = $row['texte'];
    151                         if (strlen($row['ps']))
     153                        }
     154                        if (strlen($row['ps'])) {
    152155                                $descriptif[] = $row['ps'];
    153                         $descriptif = implode("\n\n",$descriptif);
     156                        }
     157                        $descriptif = implode("\n\n", $descriptif);
    154158
    155159                        $set = array(
     
    158162                        );
    159163
    160                         objet_modifier("album",$id_album,$set);
     164                        objet_modifier('album', $id_album, $set);
    161165
    162166                        // ajouter les documents : en sql pour ne pas exploser si plein de docs en base
    163                         $docs = sql_allfetsel('D.id_document','spip_documents AS D JOIN spip_documents_liens AS L ON (D.id_document=L.id_document AND L.objet='.sql_quote('article').')',"id_objet=".intval($row['id_article']));
    164 
    165                         if (count($docs)){
     167                        $docs = sql_allfetsel(
     168                                'D.id_document',
     169                                'spip_documents AS D JOIN spip_documents_liens AS L
     170                                        ON (D.id_document=L.id_document AND L.objet="article")',
     171                                'id_objet='.intval($row['id_article'])
     172                        );
     173
     174                        if (count($docs)) {
    166175                                $insert = array();
    167                                 foreach ($docs as $doc){
    168                                         $insert[] = array('id_document'=>$doc['id_document'],'objet'=>'album','id_objet'=>$id_album);
     176                                foreach ($docs as $doc) {
     177                                        $insert[] = array('id_document' => $doc['id_document'], 'objet' => 'album','id_objet' => $id_album);
    169178                                }
    170                                 sql_insertq_multi("spip_documents_liens",$insert);
     179                                sql_insertq_multi('spip_documents_liens', $insert);
    171180                        }
    172181
    173182                        // associer les mots : en sql pour ne pas exploser si plein de mots en base
    174                         $mots = sql_allfetsel('M.id_mot','spip_mots AS M JOIN spip_mots_liens AS L ON (M.id_mot=L.id_mot AND L.objet='.sql_quote('article').')',"id_objet=".intval($row['id_article'])." AND (".$where_mots.")");
    175                         if (count($mots)){
     183                        $mots = sql_allfetsel(
     184                                'M.id_mot',
     185                                'spip_mots AS M JOIN spip_mots_liens AS L
     186                                        ON (M.id_mot=L.id_mot AND L.objet="article")',
     187                                'id_objet='.intval($row['id_article']).' AND ('.$where_mots.')'
     188                        );
     189                        if (count($mots)) {
    176190                                $insert = array();
    177                                 foreach ($mots as $mot){
     191                                foreach ($mots as $mot) {
    178192                                        $insert[] = array('id_mot'=>$mot['id_mot'],'objet'=>'album','id_objet'=>$id_album);
    179193                                }
    180                                 sql_insertq_multi("spip_mots_liens",$insert);
     194                                sql_insertq_multi('spip_mots_liens', $insert);
    181195                        }
    182196
    183197                        // publier l'album
    184                         objet_modifier('album',$id_album,array('date'=>$row['date'],'statut'=>'publie'));
     198                        objet_modifier('album', $id_album, array('date' => $row['date'],'statut' => 'publie'));
    185199
    186200                        $nb++;
     
    189203                // refuser l'article si option demandee
    190204                // meme si c'est un article migre un coup avant
    191                 if (count($liens) OR $id_album){
    192                         if ($refuser){
    193                                 objet_modifier('article',$row['id_article'],array('statut'=>'refuse'));
    194                         }
    195                 }
    196 
    197         }
    198 
     205                if (count($liens) or $id_album) {
     206                        if ($refuser) {
     207                                objet_modifier('article', $row['id_article'], array('statut' => 'refuse'));
     208                        }
     209                }
     210        }
    199211        return $nb;
    200212}
     
    205217 * @return array
    206218 */
    207 function migrer_albums_where_articles($id_rubrique,$branche = false){
     219function migrer_albums_where_articles($id_rubrique, $branche = false) {
    208220
    209221        $where = array();
    210         $where[] = "statut=".sql_quote('publie');
    211         if ($id_rubrique > 0){
    212                 if ($branche){
    213                         include_spip("inc/rubriques");
    214                         $where[] = sql_in('id_rubrique',calcul_branche_in($id_rubrique));
    215                 }
    216                 else
    217                         $where[] = "id_rubrique=".intval($id_rubrique);
     222        $where[] = 'statut='.sql_quote('publie');
     223        if ($id_rubrique > 0) {
     224                if ($branche) {
     225                        include_spip('inc/rubriques');
     226                        $where[] = sql_in('id_rubrique', calcul_branche_in($id_rubrique));
     227                } else {
     228                        $where[] = 'id_rubrique='.intval($id_rubrique);
     229                }
    218230        }
    219231
     
    226238 * @return array
    227239 */
    228 function migrer_albums_where_mots($groupes){
     240function migrer_albums_where_mots($groupes) {
    229241        $id_groupe = array();
    230242
    231         $rows = sql_allfetsel('*','spip_groupes_mots',sql_in('id_groupe',$groupes));
    232         foreach($rows as $row){
     243        $rows = sql_allfetsel('*', 'spip_groupes_mots', sql_in('id_groupe', $groupes));
     244        foreach ($rows as $row) {
    233245                $id_groupe[] = $row['id_groupe'];
    234                 $tables_liees = explode(',',$row['tables_liees']);
     246                $tables_liees = explode(',', $row['tables_liees']);
    235247                $tables_liees = array_filter($tables_liees);
    236248                // ajouter les evenements a ce groupe de mot
    237                 if (!in_array('albums',$tables_liees)){
    238                         include_spip("action/editer_groupe_mots");
     249                if (!in_array('albums', $tables_liees)) {
     250                        include_spip('action/editer_groupe_mots');
    239251                        $tables_liees[] = 'albums';
    240                         $tables_liees = implode(',',$tables_liees);
    241                         groupemots_modifier($row['id_groupe'],array('tables_liees'=>$tables_liees));
    242                 }
    243         }
    244 
    245         $where = array(sql_in('id_groupe',$id_groupe));
     252                        $tables_liees = implode(',', $tables_liees);
     253                        groupemots_modifier($row['id_groupe'], array('tables_liees' => $tables_liees));
     254                }
     255        }
     256
     257        $where = array(sql_in('id_groupe', $id_groupe));
    246258
    247259        return $where;
    248260}
    249 
    250 ?>
  • _plugins_/albums/trunk/inc/albums.php

    r88148 r100600  
    1111
    1212// Sécurité
    13 if (!defined("_ECRIRE_INC_VERSION")) return;
     13if (!defined('_ECRIRE_INC_VERSION')) {
     14        return;
     15}
    1416
    1517
     
    2628 *     true pour supprimer les documents rendus orphelins
    2729 */
    28 function supprimer_albums($ids_albums, $supprimer_docs_orphelins=false) {
    29 
    30         if (!$ids_albums) return false;
    31         if (!is_array($ids_albums)) $ids_albums = array(intval($ids_albums));
     30function supprimer_albums($ids_albums, $supprimer_docs_orphelins = false) {
     31
     32        if (!$ids_albums) {
     33                return false;
     34        }
     35        if (!is_array($ids_albums)) {
     36                $ids_albums = array(intval($ids_albums));
     37        }
    3238
    3339        // Vider les albums de leurs documents
    34         vider_albums($ids_albums,$supprimer_docs_orphelins);
     40        vider_albums($ids_albums, $supprimer_docs_orphelins);
    3541
    3642        // Nettoyer la table de liens
    3743        include_spip('action/editer_liens');
    38         objet_dissocier(array('album'=>$ids_albums),'*');
     44        objet_dissocier(array('album'=>$ids_albums), '*');
    3945
    4046        // Supprimer les albums
     
    4450        // Invalider les caches
    4551        include_spip('inc/invalideur');
    46         suivre_invalideur("id='album/$id_album'");
     52        suivre_invalideur("id='album/$ids_albums'");
    4753
    4854        return;
     
    6167 * - les images en mode document : `I/document`
    6268 * - les documents en mode document : 'D/document'
    63  * 
     69 *
    6470 * Cf. fonction `dissocier_document` dans `action/dissocier_document.php`.
    65  * 
     71 *
    6672 * @param int|string|array $id_albums
    6773 *     Identifiant unique ou tableau d'identifiants des albums
     
    7278 *     [succes => [x,y,z]],[erreurs => [x,y,z]]
    7379 */
    74 function vider_albums($ids_albums, $supprimer_docs_orphelins=false) {
    75 
    76         if (!$ids_albums) return false;
    77         if (!is_array($ids_albums)) $ids_albums = array($ids_albums);
     80function vider_albums($ids_albums, $supprimer_docs_orphelins = false) {
     81
     82        if (!$ids_albums) {
     83                return false;
     84        }
     85        if (!is_array($ids_albums)) {
     86                $ids_albums = array($ids_albums);
     87        }
    7888        $supprimer_docs_orphelins = ($supprimer_docs_orphelins==true) ? 'suppr' : '';
    7989
    8090        include_spip('inc/autoriser');
    8191        include_spip('action/editer_liens');
    82 
    83         foreach($ids_albums as $id_album) {
    84                 if (
    85                         $id_album = intval($id_album)
    86                         AND autoriser('modifier','album',$id_album)
    87                         AND count(objet_trouver_liens(array('document'=>'*'),array('album'=>$id_album)))
    88                 ){
    89                         $dissocier_document = charger_fonction('dissocier_document','action');
     92        $succes = $erreurs = array();
     93        foreach ($ids_albums as $id_album) {
     94                if ($id_album = intval($id_album)
     95                        and autoriser('modifier', 'album', $id_album)
     96                        and count(objet_trouver_liens(array('document'=>'*'), array('album'=>$id_album)))
     97                ) {
     98                        $dissocier_document = charger_fonction('dissocier_document', 'action');
    9099                        $modes_documents = array('I/image','I/document','D/document'); // cf. @note
    91                         foreach($modes_documents as $mode) {
     100                        foreach ($modes_documents as $mode) {
    92101                                $dissocier_document("${id_album}-album-${mode}-${supprimer_docs_orphelins}");
    93102                                // dès que l'album est vide, on arrête
    94                                 if (!count(objet_trouver_liens(array('document'=>'*'),array('album'=>$id_album))))
     103                                if (!count(objet_trouver_liens(array('document' => '*'), array('album' => $id_album)))) {
    95104                                        break;
     105                                }
    96106                        }
    97107                        $succes[] = $id_album;
     
    101111        }
    102112
    103         return array('succes'=>$succes, 'erreurs'=>$erreurs);
     113        return array('succes' => $succes, 'erreurs' => $erreurs);
    104114}
    105115
     
    129139 *     false en cas d'erreur
    130140 */
    131 function transvaser_album($id_album, $objet, $id_objet, $remplir=true, $supprimer=false) {
     141function transvaser_album($id_album, $objet, $id_objet, $remplir = true, $supprimer = false) {
    132142
    133143        include_spip('inc/autoriser');
     
    139149
    140150        // au besoin, on crée d'abord un album et on l'associe à l'objet
    141         if (
    142                 !intval($id_album)
    143                 AND $remplir === true
     151        if (!intval($id_album)
     152                and $remplir === true
    144153        ) {
    145154                $id_album = objet_inserer('album');
    146                 objet_associer(array('album'=>$id_album),array($objet=>$id_objet));
    147         }
    148 
    149         if (autoriser('transvaser','album',$id_album,'',array('objet'=>$objet,'id_objet'=>$id_objet))){
    150 
     155                objet_associer(array('album' => $id_album), array($objet => $id_objet));
     156        }
     157
     158        if (autoriser('transvaser', 'album', $id_album, '', array('objet' => $objet, 'id_objet' => $id_objet))) {
    151159                $objet_source = ($remplir === true) ? $objet : 'album';
    152160                $id_objet_source = ($remplir === true) ? $id_objet : $id_album;
     
    156164                // changer les liens existants
    157165                // on ne peut pas changer objet et id_objet avec objet_qualifier_liens, donc on fait ça à la main
    158                 if (
    159                         $liens_docs = objet_trouver_liens(array('document'=>'*'),array($objet_source=>$id_objet_source))
    160                         AND is_array($liens_docs)
    161                 ){
    162                         foreach ($liens_docs as $lien){
     166                if ($liens_docs = objet_trouver_liens(array('document' => '*'), array($objet_source => $id_objet_source))
     167                        and is_array($liens_docs)
     168                ) {
     169                        foreach ($liens_docs as $lien) {
    163170                                $qualif = array('objet'=>$objet_destination,'id_objet'=>$id_objet_destination);
    164                                 $where = 'id_document='.intval($lien['id_document']).' AND objet='.sql_quote($objet_source).' AND id_objet='.intval($id_objet_source);
    165                                 $res = sql_updateq('spip_documents_liens',$qualif,$where);
    166                                 if ($res===false)
     171                                $where = 'id_document='.intval($lien['id_document']).'
     172                                                        AND objet='.sql_quote($objet_source).'
     173                                                        AND id_objet='.intval($id_objet_source);
     174                                $res = sql_updateq('spip_documents_liens', $qualif, $where);
     175                                if ($res === false) {
    167176                                        $echec = true;
    168                                 else
     177                                } else {
    169178                                        $nb_maj++;
     179                                }
    170180                        }
    171181                }
    172182                // en cas de vidage, dissocier l'album
    173183                // puis éventuellement le supprimer
    174                 if (
    175                         $remplir === false
    176                         AND $echec !== false
    177                 ){
    178                         objet_dissocier(array('album'=>$id_album),array($objet=>$id_objet));
    179                         if (
    180                                 $supprimer === true
    181                                 AND autoriser('supprimer','album',$id_album)
     184                if ($remplir === false
     185                        and $echec !== false
     186                ) {
     187                        objet_dissocier(array('album' => $id_album), array($objet => $id_objet));
     188                        if ($supprimer === true
     189                                and autoriser('supprimer', 'album', $id_album)
    182190                        ) {
    183191                                supprimer_albums($id_album);
     
    199207 * @return array
    200208 */
    201 function albums_lister_modeles(){
     209function albums_lister_modeles() {
    202210
    203211        static $liste_modeles_albums = false;
    204212        if ($liste_modeles_albums === false) {
    205                 $liste_modeles_albums = array();
     213                $liste_modeles_albums = $pre_liste = array();
    206214
    207215                // d'abord, on liste les 2 modèles par défaut afin qu'ils soient en tête de liste
    208                 foreach(array('album.yaml','album_liste.yaml') as $modele)
    209                         $pre_liste[$modele] = find_in_path($modele,'modeles/');
     216                foreach (array('album.yaml','album_liste.yaml') as $modele) {
     217                        $pre_liste[$modele] = find_in_path($modele, 'modeles/');
     218                }
    210219                // ensuite, on liste tous les modèles
    211                 $liste = find_all_in_path('modeles/', "album(_.*)?\.yaml$");
     220                $liste = find_all_in_path('modeles/', 'album(_.*)?\.yaml$');
    212221                // puis on mélange
    213                 $liste = array_merge($pre_liste,$liste);
    214 
    215                 if (count($liste)){
     222                $liste = array_merge($pre_liste, $liste);
     223
     224                if (count($liste)) {
    216225                        include_spip('inc/yaml');
    217                         foreach($liste as $fichier => $chemin)
     226                        foreach ($liste as $fichier => $chemin) {
    218227                                $liste_modeles_albums[$fichier] = yaml_charger_inclusions(yaml_decode_file($chemin));
     228                        }
    219229                }
    220230        }
     
    230240 * @return array
    231241 */
    232 function infos_modele_album($fichier){
     242function infos_modele_album($fichier) {
    233243
    234244        static $infos_modeles_album = array();
    235245        if (!isset($infos_modeles_album[$fichier])) {
    236                 if (substr($fichier,-5) != '.yaml')
    237                         $formulaire .= '.yaml';
    238                 if ($chemin = find_in_path($fichier,'modeles/')) {
     246                if (substr($fichier, -5) != '.yaml') {
     247                        $fichier .= '.yaml';
     248                }
     249                if ($chemin = find_in_path($fichier, 'modeles/')) {
    239250                        include_spip('inc/yaml');
    240251                        $infos_modeles_album[$fichier] = yaml_charger_inclusions(yaml_decode_file($chemin));
     
    244255        return $infos_modeles_album[$fichier];
    245256}
    246 
    247 ?>
  • _plugins_/albums/trunk/inc/marquer_doublons_album.php

    r86340 r100600  
    1313
    1414// Sécurité
    15 if (!defined("_ECRIRE_INC_VERSION")) return;
     15if (!defined('_ECRIRE_INC_VERSION')) {
     16        return;
     17}
    1618
    17 // On liste tous les champs susceptibles de contenir des albums si on veut que ces derniers soient liés a l'objet lorsqu on y fait reference par <albumXX>
    18 // la dist ne regarde que chapo et texte, on laisse comme ça, mais ca permet d'étendre à descriptif ou toto depuis d'autres plugins
     19// On liste tous les champs susceptibles de contenir des albums
     20// si on veut que ces derniers soient liés a l'objet lorsqu on y fait reference par <albumXX>
     21// la dist ne regarde que chapo et texte, on laisse comme ça,
     22// mais ca permet d'étendre à descriptif ou toto depuis d'autres plugins
    1923$GLOBALS['albums_liste_champs'][] = 'texte';
    2024$GLOBALS['albums_liste_champs'][] = 'chapo';
     
    3337 * @return void
    3438 */
    35 function inc_marquer_doublons_album_dist($champs,$id,$type,$id_table_objet,$table_objet,$table_objet_sql,$desc=array(),$serveur=''){
    36         $champs_selection=array();
     39function inc_marquer_doublons_album_dist($champs, $id, $type, $id_table_objet, $table_objet, $table_objet_sql, $desc = array(), $serveur = '') {
     40        $champs_selection = array();
    3741
    3842        foreach ($GLOBALS['albums_liste_champs'] as $champs_choisis) {
    39                 if ( isset($champs[$champs_choisis]) )
    40                         array_push($champs_selection,$champs_choisis);
     43                if (isset($champs[$champs_choisis])) {
     44                        array_push($champs_selection, $champs_choisis);
     45                }
    4146        }
    42         if (count($champs_selection) == 0)
     47        if (count($champs_selection) == 0) {
    4348                return;
    44         if (!$desc){
     49        }
     50        if (!$desc) {
    4551                $trouver_table = charger_fonction('trouver_table', 'base');
    4652                $desc = $trouver_table($table_objet, $serveur);
    4753        }
    48         $load = "";
     54
    4955        // charger le champ manquant en cas de modif partielle de l'objet
    5056        // seulement si le champ existe dans la table demande
    51 
    52         $champs_a_traiter = "";
     57        $load = $champs_a_traiter = '';
    5358        foreach ($champs_selection as $champs_a_parcourir) {
    5459                if (isset($desc['field'][$champs_a_parcourir])) {
     
    5863        }
    5964
    60         if ($load){
    61                 $champs[$load] = "";
    62                 $row = sql_fetsel($load, $table_objet_sql, "$id_table_objet=".sql_quote($id));
    63                 if ($row AND isset($row[$load]))
     65        if ($load) {
     66                $champs[$load] = '';
     67                $row = sql_fetsel($load, $table_objet_sql, "$id_table_objet=".intval($id));
     68                if ($row and isset($row[$load])) {
    6469                        $champs[$load] = $row[$load];
     70                }
    6571        }
    6672        include_spip('inc/texte');
     
    7682                $id_table_objet => $id
    7783        );
    78         traiter_modeles($champs_a_traiter,array('albums'=>$modeles),'','',null,$env); // détecter les doublons
    79         objet_qualifier_liens(array('album'=>'*'),array($type=>$id),array('vu'=>'non'));
    80         if (count($GLOBALS['doublons_albums_inclus'])){
     84        traiter_modeles($champs_a_traiter, array('albums' => $modeles), '', '', null, $env); // détecter les doublons
     85        objet_qualifier_liens(array('album' => '*'), array($type => $id), array('vu' => 'non'));
     86        if (count($GLOBALS['doublons_albums_inclus'])) {
    8187                // on repasse par une requete sur spip_albums pour verifier que les albums existent bien
    82                 $in_liste = sql_in('id_album',$GLOBALS['doublons_albums_inclus']);
    83                 $res = sql_allfetsel("id_album", "spip_albums", $in_liste);
    84                 $res = array_map('reset',$res);
     88                $in_liste = sql_in('id_album', $GLOBALS['doublons_albums_inclus']);
     89                $res = sql_allfetsel('id_album', 'spip_albums', $in_liste);
     90                $res = array_map('reset', $res);
    8591                // créer le lien s'il n'existe pas deja
    86                 objet_associer(array('album'=>$res),array($type=>$id),array('vu'=>'oui'));
    87                 objet_qualifier_liens(array('album'=>$res),array($type=>$id),array('vu'=>'oui'));
     92                objet_associer(array('album'=>$res), array($type => $id), array('vu' => 'oui'));
     93                objet_qualifier_liens(array('album' => $res), array($type => $id), array('vu' => 'oui'));
    8894        }
    8995}
    90 
    91 ?>
  • _plugins_/albums/trunk/inc/precharger_album.php

    r86340 r100600  
    1010
    1111// Sécurité
    12 if (!defined('_ECRIRE_INC_VERSION')) return;
     12if (!defined('_ECRIRE_INC_VERSION')) {
     13        return;
     14}
    1315
    1416include_spip('inc/precharger_objet');
     
    1820 *
    1921 * Lors d'une création, certains champs peuvent être préremplis
    20  * (c'est le cas des traductions) 
     22 * (c'est le cas des traductions)
    2123 *
    2224 * @param string|int $id_album
     
    2931 *     Couples clés / valeurs des champs du formulaire à charger.
    3032**/
    31 function inc_precharger_album_dist($id_album, $id_rubrique=0, $lier_trad=0) {
     33function inc_precharger_album_dist($id_album, $id_rubrique = 0, $lier_trad = 0) {
    3234        return precharger_objet('album', $id_album, $id_rubrique, $lier_trad, 'titre');
    3335}
     
    3537/**
    3638 * Récupère les valeurs d'une traduction de référence pour la création
    37  * d'un album (préremplissage du formulaire). 
     39 * d'un album (préremplissage du formulaire).
    3840 *
    3941 * @note
    4042 *     Fonction facultative si pas de changement dans les traitements
    41  * 
     43 *
    4244 * @param string|int $id_album
    4345 *     Identifiant de l'album, ou "new" pour une création
     
    4951 *     Couples clés / valeurs des champs du formulaire à charger
    5052**/
    51 function inc_precharger_traduction_album_dist($id_album, $id_rubrique=0, $lier_trad=0) {
     53function inc_precharger_traduction_album_dist($id_album, $id_rubrique = 0, $lier_trad = 0) {
    5254        return precharger_traduction_objet('album', $id_album, $id_rubrique, $lier_trad, 'titre');
    5355}
    54 
    55 ?>
Note: See TracChangeset for help on using the changeset viewer.