Changeset 95781 in spip-zone


Ignore:
Timestamp:
Mar 5, 2016, 11:03:41 AM (4 years ago)
Author:
bystrano@…
Message:

respecter les règles de codage dans les fichiers php

Location:
_plugins_/massicot/trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/massicot/trunk/base/massicot.php

    r95678 r95781  
    33 * Définitions des tables du plugin Massicot
    44 *
    5  * @plugin     Massicot
     5 * @plugin         Massicot
    66 * @copyright  2015
    7  * @author     Michel @ Vertige ASBL
    8  * @licence    GNU/GPL
     7 * @author         Michel @ Vertige ASBL
     8 * @licence        GNU/GPL
    99 */
    1010
     
    1414 * @pipeline declarer_tables_interfaces
    1515 * @param array $interfaces
    16  *     Déclarations d'interface pour le compilateur
     16 *         Déclarations d'interface pour le compilateur
    1717 * @return array
    18  *     Déclarations d'interface pour le compilateur
     18 *         Déclarations d'interface pour le compilateur
    1919 */
    2020function massicot_declarer_tables_interfaces($interfaces) {
    2121
    2222        if ((! isset($interfaces['table_des_traitements']['FICHIER']['documents']))
    23             or is_null($interfaces['table_des_traitements']['FICHIER']['documents'])) {
     23                or is_null($interfaces['table_des_traitements']['FICHIER']['documents'])) {
    2424                $interfaces['table_des_traitements']['FICHIER']['documents'] = '%s';
    25     }
     25        }
    2626
    27     $interfaces['table_des_traitements']['FICHIER']['documents'] =
    28       'massicoter_document(' . $interfaces['table_des_traitements']['FICHIER']['documents'] . ')';
     27        $interfaces['table_des_traitements']['FICHIER']['documents'] =
     28          'massicoter_document(' . $interfaces['table_des_traitements']['FICHIER']['documents'] . ')';
    2929
    30     $interfaces['table_des_traitements']['LOGO_DOCUMENT'][] =
    31       'massicoter_logo_document(%s, $connect, $Pile[1])';
     30        $interfaces['table_des_traitements']['LOGO_DOCUMENT'][] =
     31          'massicoter_logo_document(%s, $connect, $Pile[1])';
    3232
    33     if (! isset($interfaces['table_des_traitements']['URL_DOCUMENT'])) {
    34             $interfaces['table_des_traitements']['URL_DOCUMENT'] = array();
    35     }
     33        if (! isset($interfaces['table_des_traitements']['URL_DOCUMENT'])) {
     34                $interfaces['table_des_traitements']['URL_DOCUMENT'] = array();
     35        }
    3636
    37     if ((! isset($interfaces['table_des_traitements']['URL_DOCUMENT']['documents'])) or
    38         is_null($interfaces['table_des_traitements']['URL_DOCUMENT']['documents'])) {
     37        if ((! isset($interfaces['table_des_traitements']['URL_DOCUMENT']['documents'])) or
     38                is_null($interfaces['table_des_traitements']['URL_DOCUMENT']['documents'])) {
    3939
    40             $interfaces['table_des_traitements']['URL_DOCUMENT']['documents'] = '%s';
    41     }
     40                $interfaces['table_des_traitements']['URL_DOCUMENT']['documents'] = '%s';
     41        }
    4242
    43     $interfaces['table_des_traitements']['URL_DOCUMENT']['documents'] =
    44       'massicoter_document(' . $interfaces['table_des_traitements']['URL_DOCUMENT']['documents'] . ')';
     43        $interfaces['table_des_traitements']['URL_DOCUMENT']['documents'] =
     44          'massicoter_document(' . $interfaces['table_des_traitements']['URL_DOCUMENT']['documents'] . ')';
    4545
    46     /* On traîte aussi les balises #HAUTEUR et #LARGEUR des documents */
    47     $interfaces['table_des_traitements']['LARGEUR']['documents'] =
    48       'massicoter_largeur(%s, $connect, $Pile[1])';
    49     $interfaces['table_des_traitements']['HAUTEUR']['documents'] =
    50       'massicoter_hauteur(%s, $connect, $Pile[1])';
     46        /* On traîte aussi les balises #HAUTEUR et #LARGEUR des documents */
     47        $interfaces['table_des_traitements']['LARGEUR']['documents'] =
     48          'massicoter_largeur(%s, $connect, $Pile[1])';
     49        $interfaces['table_des_traitements']['HAUTEUR']['documents'] =
     50          'massicoter_hauteur(%s, $connect, $Pile[1])';
    5151
    52     /* Pour chaque objet éditorial existant, ajouter un traitement sur
    53        les logos */
    54     foreach (lister_tables_objets_sql() as $table => $valeurs) {
     52        /* Pour chaque objet éditorial existant, ajouter un traitement sur
     53           les logos */
     54        foreach (lister_tables_objets_sql() as $table => $valeurs) {
    5555
    56         if ($table !== 'spip_documents') {
     56                if ($table !== 'spip_documents') {
    5757
    58                 $logo_type = strtoupper('LOGO_'.objet_type($table));
     58                        $logo_type = strtoupper('LOGO_'.objet_type($table));
    5959
    60                 if (!empty($interfaces['table_des_traitements'][$logo_type])) {
    61                         $interfaces['table_des_traitements'][$logo_type][0] = 'massicoter_logo('.$interfaces['table_des_traitements'][$logo_type][0].', $connect, '.objet_type($table).', $Pile[1][\''.id_table_objet($table).'\'])';
    62                 } else {
    63                         $interfaces['table_des_traitements'][$logo_type][] = 'massicoter_logo(%s, $connect, '.objet_type($table).', $Pile[1][\''.id_table_objet($table).'\'])';
    64                 }
    65        }
    66     }
     60                        if (!empty($interfaces['table_des_traitements'][$logo_type])) {
     61                                $interfaces['table_des_traitements'][$logo_type][0]
     62                                        = 'massicoter_logo('.$interfaces['table_des_traitements'][$logo_type][0]
     63                                        . ', $connect'
     64                                        . ', '.objet_type($table)
     65                                        .', $Pile[1][\''.id_table_objet($table)
     66                                        .'\'])';
     67                        } else {
     68                                $interfaces['table_des_traitements'][$logo_type][]
     69                                        = 'massicoter_logo(%s, $connect, '.objet_type($table)
     70                                        . ', $Pile[1][\''.id_table_objet($table).'\'])';
     71                        }
     72                }
     73        }
    6774
    68     return $interfaces;
     75        return $interfaces;
    6976}
    7077
     
    7481 * @pipeline declarer_tables_principales
    7582 * @param  array $tables  Tables principales
    76  * @return array          Tables principales
     83 * @return array                  Tables principales
    7784 */
    78 function massicot_declarer_tables_principales ($tables_principales) {
     85function massicot_declarer_tables_principales($tables_principales) {
    7986
    80     $tables_principales['spip_massicotages'] = array(
    81         'field' => array(
    82             'id_massicotage' => "bigint(21) NOT NULL",
    83             'traitements'    => "text NOT NULL",
    84         ),
    85         'key' => array(
    86             'PRIMARY KEY' => "id_massicotage",
    87         ),
    88     );
     87        $tables_principales['spip_massicotages'] = array(
     88                'field' => array(
     89                        'id_massicotage' => 'bigint(21) NOT NULL',
     90                        'traitements'    => 'text NOT NULL',
     91                ),
     92                'key' => array(
     93                        'PRIMARY KEY' => 'id_massicotage',
     94                ),
     95        );
    8996
    90     $tables_principales['spip_massicotages']['tables_jointures'][] = 'spip_massicotages_liens';
     97        $tables_principales['spip_massicotages']['tables_jointures'][] = 'spip_massicotages_liens';
    9198
    92     return $tables_principales;
     99        return $tables_principales;
    93100}
    94101
     
    98105 * @pipeline declarer_tables_auxiliaires
    99106 * @param  array $tables  Tables auxiliaires
    100  * @return array          Tables auxiliaires
     107 * @return array                  Tables auxiliaires
    101108 */
    102 function massicot_declarer_tables_auxiliaires ($tables_auxiliaires) {
     109function massicot_declarer_tables_auxiliaires($tables_auxiliaires) {
    103110
    104     $tables_auxiliaires['spip_massicotages_liens'] = array(
    105         'field' => array(
    106             "id_massicotage" => "bigint(21) DEFAULT '0' NOT NULL",
    107             "id_objet"      => "bigint(21) DEFAULT '0' NOT NULL",
    108             "objet"          => "VARCHAR(25) DEFAULT '' NOT NULL",
    109             "vu"            => "VARCHAR(6) DEFAULT 'non' NOT NULL"
    110         ),
    111         'key' => array(
    112             "PRIMARY KEY"        => "id_massicotage,id_objet,objet",
    113             "KEY id_massicotage" => "id_massicotage",
    114         ),
    115     );
     111        $tables_auxiliaires['spip_massicotages_liens'] = array(
     112                'field' => array(
     113                        'id_massicotage' => "bigint(21) DEFAULT '0' NOT NULL",
     114                        'id_objet'              => "bigint(21) DEFAULT '0' NOT NULL",
     115                        'objet'                  => "VARCHAR(25) DEFAULT '' NOT NULL",
     116                        'vu'                    => "VARCHAR(6) DEFAULT 'non' NOT NULL"
     117                ),
     118                'key' => array(
     119                        'PRIMARY KEY'            => 'id_massicotage,id_objet,objet',
     120                        'KEY id_massicotage' => 'id_massicotage',
     121                ),
     122        );
    116123
    117     return $tables_auxiliaires;
     124        return $tables_auxiliaires;
    118125}
  • _plugins_/massicot/trunk/formulaires/massicoter_image.php

    r95708 r95781  
    33 * Traitements du formulaire de massicotage
    44 *
    5  * @plugin     Massicot
     5 * @plugin         Massicot
    66 * @copyright  2015
    7  * @author     Michel @ Vertige ASBL
    8  * @licence    GNU/GPL
     7 * @author         Michel @ Vertige ASBL
     8 * @licence        GNU/GPL
    99 */
    1010
     
    1313 *
    1414 * @return array
    15  *     Tableau des saisies du formulaire
     15 *         Tableau des saisies du formulaire
    1616 */
    1717function formulaires_massicoter_image_saisies_dist($objet, $id_objet, $redirect, $forcer_dimensions = null) {
    1818
    19     $saisies = array(
    20         array(
    21             'saisie' => 'hidden',
    22             'options' => array(
    23                 'nom' => 'zoom',
    24             ),
    25         ),
    26         array(
    27             'saisie' => 'hidden',
    28             'options' => array(
    29                 'nom' => 'x1',
    30             ),
    31         ),
    32         array(
    33             'saisie' => 'hidden',
    34             'options' => array(
    35                 'nom' => 'x2',
    36             ),
    37         ),
    38         array(
    39             'saisie' => 'hidden',
    40             'options' => array(
    41                 'nom' => 'y1',
    42             ),
    43         ),
    44         array(
    45             'saisie' => 'hidden',
    46             'options' => array(
    47                 'nom' => 'y2',
    48             ),
    49         ),
    50     );
     19        $saisies = array(
     20                array(
     21                        'saisie' => 'hidden',
     22                        'options' => array(
     23                                'nom' => 'zoom',
     24                        ),
     25                ),
     26                array(
     27                        'saisie' => 'hidden',
     28                        'options' => array(
     29                                'nom' => 'x1',
     30                        ),
     31                ),
     32                array(
     33                        'saisie' => 'hidden',
     34                        'options' => array(
     35                                'nom' => 'x2',
     36                        ),
     37                ),
     38                array(
     39                        'saisie' => 'hidden',
     40                        'options' => array(
     41                                'nom' => 'y1',
     42                        ),
     43                ),
     44                array(
     45                        'saisie' => 'hidden',
     46                        'options' => array(
     47                                'nom' => 'y2',
     48                        ),
     49                ),
     50        );
    5151
    52     if (isset($GLOBALS['presets_format_massicot'])) {
     52        if (isset($GLOBALS['presets_format_massicot'])) {
    5353
    54             $datas = array();
    55             foreach ($GLOBALS['presets_format_massicot'] as $preset) {
    56                     $cle = $preset['largeur'] . ':' . $preset['hauteur'];
    57                     $datas[$cle] = _T($preset['nom']);
    58             }
     54                $datas = array();
     55                foreach ($GLOBALS['presets_format_massicot'] as $preset) {
     56                        $cle = $preset['largeur'] . ':' . $preset['hauteur'];
     57                        $datas[$cle] = _T($preset['nom']);
     58                }
    5959
    60             $saisies[] = array(
    61                     'saisie' => 'selection',
    62                     'options' => array(
    63                             'nom' => 'format',
    64                             'label' => _T('massicot:label_format'),
    65                             'datas' => $datas,
    66                     ),
    67             );
    68     }
     60                $saisies[] = array(
     61                        'saisie' => 'selection',
     62                        'options' => array(
     63                                'nom' => 'format',
     64                                'label' => _T('massicot:label_format'),
     65                                'datas' => $datas,
     66                        ),
     67                );
     68        }
    6969
    70     return $saisies;
     70        return $saisies;
    7171}
    7272
     
    7777 *
    7878 * @return array
    79  *     Environnement du formulaire
     79 *         Environnement du formulaire
    8080 */
    8181function formulaires_massicoter_image_charger_dist($objet, $id_objet, $redirect, $forcer_dimensions = null) {
    8282
    83     $parametres = massicot_get_parametres($objet, $id_objet);
     83        $parametres = massicot_get_parametres($objet, $id_objet);
    8484
    85     if (! $parametres) {
    86         $parametres = array(
    87             'zoom' => 1,
    88         );
    89     }
     85        if (! $parametres) {
     86                $parametres = array(
     87                        'zoom' => 1,
     88                );
     89        }
    9090
    91     if ($forcer_dimensions) {
    92             $parametres['forcer_dimensions'] = $forcer_dimensions;
    93     }
     91        if ($forcer_dimensions) {
     92                $parametres['forcer_dimensions'] = $forcer_dimensions;
     93        }
    9494
    95     $parametres['objet']    = $objet;
    96     $parametres['id_objet'] = $id_objet;
     95        $parametres['objet']    = $objet;
     96        $parametres['id_objet'] = $id_objet;
    9797
    98     return $parametres;
     98        return $parametres;
    9999}
    100100
     
    105105 *
    106106 * @return array
    107  *     Retours des traitements
     107 *         Retours des traitements
    108108 */
    109109function formulaires_massicoter_image_traiter_dist($objet, $id_objet, $redirect, $forcer_dimensions = null) {
    110110
    111     if (! _request('annuler')) {
     111        if (! _request('annuler')) {
    112112
    113         $parametres = array(
    114             'zoom' => _request('zoom'),
    115             'x1'   => _request('x1'),
    116             'x2'   => _request('x2'),
    117             'y1'   => _request('y1'),
    118             'y2'   => _request('y2'),
    119         );
     113                $parametres = array(
     114                        'zoom' => _request('zoom'),
     115                        'x1'   => _request('x1'),
     116                        'x2'   => _request('x2'),
     117                        'y1'   => _request('y1'),
     118                        'y2'   => _request('y2'),
     119                );
    120120
    121         if ($err = massicot_enregistrer($objet, $id_objet, $parametres)) {
    122             spip_log($err, 'massicot.'._LOG_ERREUR);
    123         }
    124     }
     121                if ($err = massicot_enregistrer($objet, $id_objet, $parametres)) {
     122                        spip_log($err, 'massicot.'._LOG_ERREUR);
     123                }
     124        }
    125125
    126     return array(
    127         'redirect' => $redirect,
    128     );
     126        return array(
     127                'redirect' => $redirect,
     128        );
    129129}
  • _plugins_/massicot/trunk/massicot_administrations.php

    r93583 r95781  
    33 * Fichier gérant l'installation et désinstallation du plugin Massicot
    44 *
    5  * @plugin     Massicot
     5 * @plugin         Massicot
    66 * @copyright  2015
    7  * @author     Michel @ Vertige ASBL
    8  * @licence    GNU/GPL
    9  * @package    SPIP\Massicot\Installation
     7 * @author         Michel @ Vertige ASBL
     8 * @licence        GNU/GPL
     9 * @package        SPIP\Massicot\Installation
    1010 */
    1111
     
    1414 *
    1515 * @param string $nom_meta_base_version
    16  *     Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP
     16 *         Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP
    1717 * @param string $version_cible
    18  *     Version du schéma de données dans ce plugin (déclaré dans paquet.xml)
     18 *         Version du schéma de données dans ce plugin (déclaré dans paquet.xml)
    1919 * @return void
    2020**/
    2121function massicot_upgrade($nom_meta_base_version, $version_cible) {
    22     $maj = array();
     22        $maj = array();
    2323
    24     $maj['create'] = array(array('maj_tables', array('spip_massicotages', 'spip_massicotages_liens')));
     24        $maj['create'] = array(array('maj_tables', array('spip_massicotages', 'spip_massicotages_liens')));
    2525
    26     include_spip('base/upgrade');
    27     maj_plugin($nom_meta_base_version, $version_cible, $maj);
     26        include_spip('base/upgrade');
     27        maj_plugin($nom_meta_base_version, $version_cible, $maj);
    2828}
    2929
     
    3333 *
    3434 * @param string $nom_meta_base_version
    35  *     Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP
     35 *         Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP
    3636 * @return void
    3737**/
    3838function massicot_vider_tables($nom_meta_base_version) {
    3939
    40     sql_drop_table("spip_massicotages");
    41     sql_drop_table("spip_massicotages_liens");
     40        sql_drop_table('spip_massicotages');
     41        sql_drop_table('spip_massicotages_liens');
    4242
    43     effacer_meta($nom_meta_base_version);
     43        effacer_meta($nom_meta_base_version);
    4444}
  • _plugins_/massicot/trunk/massicot_fonctions.php

    r95779 r95781  
    33 * Fonctions utiles au plugin Massicot
    44 *
    5  * @plugin     Massicot
     5 * @plugin         Massicot
    66 * @copyright  2015
    7  * @author     Michel @ Vertige ASBL
    8  * @licence    GNU/GPL
    9  * @package    SPIP\Massicot\Fonctions
     7 * @author         Michel @ Vertige ASBL
     8 * @licence        GNU/GPL
     9 * @package        SPIP\Massicot\Fonctions
    1010 */
    1111
     
    2323function massicot_chemin_image($objet, $id_objet) {
    2424
    25     include_spip('base/abstract_sql');
    26     include_spip('base/objets');
    27 
    28     if (objet_type($objet) === 'document') {
    29 
    30         $fichier = sql_getfetsel(
    31                 'fichier',
    32                 'spip_documents',
    33                 'id_document='.intval($id_objet)
    34         );
    35         return $fichier ?
    36             find_in_path(_NOM_PERMANENTS_ACCESSIBLES . $fichier) : '';
    37 
    38     } else {
    39 
    40         $chercher_logo = charger_fonction('chercher_logo', 'inc');
    41         $logo = $chercher_logo($id_objet, id_table_objet($objet), 'on');
    42         if (is_array($logo)) {
    43             return array_shift($logo);
    44         }
    45     }
     25        include_spip('base/abstract_sql');
     26        include_spip('base/objets');
     27
     28        if (objet_type($objet) === 'document') {
     29
     30                $fichier = sql_getfetsel(
     31                        'fichier',
     32                        'spip_documents',
     33                        'id_document='.intval($id_objet)
     34                );
     35                return $fichier ?
     36                        find_in_path(_NOM_PERMANENTS_ACCESSIBLES . $fichier) : '';
     37
     38        } else {
     39
     40                $chercher_logo = charger_fonction('chercher_logo', 'inc');
     41                $logo = $chercher_logo($id_objet, id_table_objet($objet), 'on');
     42                if (is_array($logo)) {
     43                        return array_shift($logo);
     44                }
     45        }
    4646}
    4747
     
    5252 * @param integer $id_objet : l'identifiant de l'objet
    5353 * @param array parametres : Un tableau de parametres pour le
    54  *                          massicotage, doit contenir les clés
    55  *                          'zoom', 'x1', 'x2', 'y1', et 'y2'
     54 *                                                      massicotage, doit contenir les clés
     55 *                                                      'zoom', 'x1', 'x2', 'y1', et 'y2'
    5656 *
    5757 * @return mixed   Rien si tout s'est bien passé, un message d'erreur
    58  *                 sinon
     58 *                                 sinon
    5959 */
    6060function massicot_enregistrer($objet, $id_objet, $parametres) {
    6161
    62     include_spip('action/editer_objet');
    63     include_spip('action/editer_liens');
    64 
    65     /* Tester l'existence des parametres nécessaires */
    66     if (! isset($parametres['zoom'])) {
    67         return _T('massicot:erreur_parametre_manquant', array('parametre' => 'zoom'));
    68     } elseif (! isset($parametres['x1'])) {
    69         return _T('massicot:erreur_parametre_manquant', array('parametre' => 'x1'));
    70     } elseif (! isset($parametres['x2'])) {
    71         return _T('massicot:erreur_parametre_manquant', array('parametre' => 'x2'));
    72     } elseif (! isset($parametres['y1'])) {
    73         return _T('massicot:erreur_parametre_manquant', array('parametre' => 'y1'));
    74     } elseif (! isset($parametres['y2'])) {
    75         return _T('massicot:erreur_parametre_manquant', array('parametre' => 'y2'));
    76     }
    77 
    78     $chemin_image = massicot_chemin_image($objet, $id_objet);
    79     list($width, $height) = getimagesize($chemin_image);
    80 
    81     $id_massicotage = sql_getfetsel(
    82             'id_massicotage',
    83             'spip_massicotages_liens',
    84             array(
    85                     'objet='.sql_quote($objet),
    86                     'id_objet='.intval($id_objet),
    87             )
    88     );
    89 
    90     if (! $id_massicotage) {
    91         $id_massicotage = objet_inserer('massicotage');
    92         objet_associer(
    93                 array('massicotage' => $id_massicotage),
    94                 array($objet => $id_objet)
    95         );
    96     }
    97 
    98     if ($err = objet_modifier(
    99             'massicotage',
    100             $id_massicotage,
    101             array('traitements' => serialize($parametres))
    102     )) {
    103         return $err;
    104     }
     62        include_spip('action/editer_objet');
     63        include_spip('action/editer_liens');
     64
     65        /* Tester l'existence des parametres nécessaires */
     66        if (! isset($parametres['zoom'])) {
     67                return _T('massicot:erreur_parametre_manquant', array('parametre' => 'zoom'));
     68        } elseif (! isset($parametres['x1'])) {
     69                return _T('massicot:erreur_parametre_manquant', array('parametre' => 'x1'));
     70        } elseif (! isset($parametres['x2'])) {
     71                return _T('massicot:erreur_parametre_manquant', array('parametre' => 'x2'));
     72        } elseif (! isset($parametres['y1'])) {
     73                return _T('massicot:erreur_parametre_manquant', array('parametre' => 'y1'));
     74        } elseif (! isset($parametres['y2'])) {
     75                return _T('massicot:erreur_parametre_manquant', array('parametre' => 'y2'));
     76        }
     77
     78        $chemin_image = massicot_chemin_image($objet, $id_objet);
     79        list($width, $height) = getimagesize($chemin_image);
     80
     81        $id_massicotage = sql_getfetsel(
     82                'id_massicotage',
     83                'spip_massicotages_liens',
     84                array(
     85                        'objet='.sql_quote($objet),
     86                        'id_objet='.intval($id_objet),
     87                )
     88        );
     89
     90        if (! $id_massicotage) {
     91                $id_massicotage = objet_inserer('massicotage');
     92                objet_associer(
     93                        array('massicotage' => $id_massicotage),
     94                        array($objet => $id_objet)
     95                );
     96        }
     97
     98        if ($err = objet_modifier(
     99                'massicotage',
     100                $id_massicotage,
     101                array('traitements' => serialize($parametres))
     102        )) {
     103                return $err;
     104        }
    105105}
    106106
     
    118118function massicot_get_parametres($objet, $id_objet) {
    119119
    120     include_spip('base/abstract_sql');
    121 
    122     $traitements = sql_getfetsel(
    123         'traitements',
    124         'spip_massicotages as M '
    125         . 'INNER JOIN spip_massicotages_liens as L ON M.id_massicotage=L.id_massicotage',
    126         array(
    127                 'L.objet='.sql_quote($objet),
    128                 'L.id_objet='.intval($id_objet)
    129         )
    130     );
    131 
    132     if ($traitements) {
    133         return unserialize($traitements);
    134     } else {
    135         return array();
    136     }
     120        include_spip('base/abstract_sql');
     121
     122        $traitements = sql_getfetsel(
     123                'traitements',
     124                'spip_massicotages as M '
     125                . 'INNER JOIN spip_massicotages_liens as L ON M.id_massicotage=L.id_massicotage',
     126                array(
     127                        'L.objet='.sql_quote($objet),
     128                        'L.id_objet='.intval($id_objet)
     129                )
     130        );
     131
     132        if ($traitements) {
     133                return unserialize($traitements);
     134        } else {
     135                return array();
     136        }
    137137}
    138138
     
    145145 *
    146146 * @return mixed : Un tableau représentant l'objet, rien si on n'a pas
    147  *                 réussi à deviner
     147 *                                 réussi à deviner
    148148 */
    149149function massicot_trouver_objet_logo($fichier) {
    150150
    151     $fichier = basename($fichier);
    152 
    153     /* on retire l'extension */
    154     $fichier = substr($fichier, 0, strpos($fichier, '.'));
    155 
    156     $row = explode('on', $fichier);
    157 
    158     if (is_array($row) and (count($row) === 2)) {
    159 
    160         return array(
    161             'objet' => objet_type(
    162                 array_search($row[0], $GLOBALS['table_logos'])
    163             ),
    164             'id_objet' => $row[1],
    165         );
    166     }
     151        $fichier = basename($fichier);
     152
     153        /* on retire l'extension */
     154        $fichier = substr($fichier, 0, strpos($fichier, '.'));
     155
     156        $row = explode('on', $fichier);
     157
     158        if (is_array($row) and (count($row) === 2)) {
     159
     160                return array(
     161                        'objet' => objet_type(
     162                                array_search($row[0], $GLOBALS['table_logos'])
     163                        ),
     164                        'id_objet' => $row[1],
     165                );
     166        }
    167167}
    168168
     
    179179function massicoter_fichier($fichier, $parametres) {
    180180
    181     include_spip('inc/filtres');
    182     include_spip('inc/filtres_images_mini');
    183     include_spip('filtres/images_transforme');
    184 
    185     /* on vire un éventuel query string */
    186     $fichier = parse_url($fichier);
    187     $fichier = $fichier['path'];
    188 
    189     // On ne traite pas les documents distants
    190     if (! file_exists($fichier)) {
    191             return $fichier;
    192     }
    193 
    194     /* la balise #FICHIER sur les boucles documents donne un chemin
    195        relatif au dossier IMG qu'on ne peut pas retourner tel quel,
    196        sous peine de de casser le portfolio de la dist.
    197        (constaté sur SPIP 3.1 RC1) */
    198     if (! file_exists($fichier)) {
    199         $fichier = _DIR_IMG . $fichier;
    200     }
    201 
    202     /* ne rien faire s'il n'y a pas de massicotage défini */
    203     if (! $parametres) {
    204         return $fichier;
    205     }
    206 
    207     list($width, $height) = getimagesize($fichier);
    208 
    209     $fichier = extraire_attribut(
    210         image_reduire(
    211                 $fichier,
    212                 $parametres['zoom'] * $width,
    213                 $parametres['zoom'] * $height
    214         ),
    215         'src'
    216     );
    217 
    218     /* on vire un éventuel query string */
    219     $fichier = parse_url($fichier);
    220     $fichier = $fichier['path'];
    221 
    222     list($width, $height) = getimagesize($fichier);
    223 
    224     $fichier = extraire_attribut(
    225         image_recadre(
    226                 $fichier,
    227                 $width  - $parametres['x1'],
    228                 $height - $parametres['y1'],
    229                 'bottom right'
    230         ),
    231         'src'
    232     );
    233 
    234     $fichier = extraire_attribut(
    235         image_recadre(
    236                 $fichier,
    237                 $parametres['x2'] - $parametres['x1'],
    238                 $parametres['y2'] - $parametres['y1'],
    239                 'top left'
    240         ),
    241         'src'
    242     );
    243 
    244     return $fichier;
     181        include_spip('inc/filtres');
     182        include_spip('inc/filtres_images_mini');
     183        include_spip('filtres/images_transforme');
     184
     185        /* on vire un éventuel query string */
     186        $fichier = parse_url($fichier);
     187        $fichier = $fichier['path'];
     188
     189        // On ne traite pas les documents distants
     190        if (! file_exists($fichier)) {
     191                return $fichier;
     192        }
     193
     194        /* la balise #FICHIER sur les boucles documents donne un chemin
     195           relatif au dossier IMG qu'on ne peut pas retourner tel quel,
     196           sous peine de de casser le portfolio de la dist.
     197           (constaté sur SPIP 3.1 RC1) */
     198        if (! file_exists($fichier)) {
     199                $fichier = _DIR_IMG . $fichier;
     200        }
     201
     202        /* ne rien faire s'il n'y a pas de massicotage défini */
     203        if (! $parametres) {
     204                return $fichier;
     205        }
     206
     207        list($width, $height) = getimagesize($fichier);
     208
     209        $fichier = extraire_attribut(
     210                image_reduire(
     211                        $fichier,
     212                        $parametres['zoom'] * $width,
     213                        $parametres['zoom'] * $height
     214                ),
     215                'src'
     216        );
     217
     218        /* on vire un éventuel query string */
     219        $fichier = parse_url($fichier);
     220        $fichier = $fichier['path'];
     221
     222        list($width, $height) = getimagesize($fichier);
     223
     224        $fichier = extraire_attribut(
     225                image_recadre(
     226                        $fichier,
     227                        $width  - $parametres['x1'],
     228                        $height - $parametres['y1'],
     229                        'bottom right'
     230                ),
     231                'src'
     232        );
     233
     234        $fichier = extraire_attribut(
     235                image_recadre(
     236                        $fichier,
     237                        $parametres['x2'] - $parametres['x1'],
     238                        $parametres['y2'] - $parametres['y1'],
     239                        'top left'
     240                ),
     241                'src'
     242        );
     243
     244        return $fichier;
    245245}
    246246
     
    260260        }
    261261
    262     include_spip('base/abstract_sql');
    263     include_spip('inc/documents');
    264 
    265     $parametres = sql_getfetsel(
    266         'traitements',
    267         'spip_massicotages as M' .
    268         ' INNER JOIN spip_massicotages_liens as L ON L.id_massicotage = M.id_massicotage' .
    269         ' INNER JOIN spip_documents as D ON (D.id_document = L.id_objet AND L.objet="document")',
    270         'D.fichier='.sql_quote(set_spip_doc($fichier))
    271     );
    272 
    273     return massicoter_fichier($fichier, unserialize($parametres));
     262        include_spip('base/abstract_sql');
     263        include_spip('inc/documents');
     264
     265        $parametres = sql_getfetsel(
     266                'traitements',
     267                'spip_massicotages as M' .
     268                ' INNER JOIN spip_massicotages_liens as L ON L.id_massicotage = M.id_massicotage' .
     269                ' INNER JOIN spip_documents as D ON (D.id_document = L.id_objet AND L.objet="document")',
     270                'D.fichier='.sql_quote(set_spip_doc($fichier))
     271        );
     272
     273        return massicoter_fichier($fichier, unserialize($parametres));
    274274}
    275275
     
    289289function massicoter_objet($fichier, $objet, $id_objet) {
    290290
    291     return massicoter_fichier($fichier, massicot_get_parametres($objet, $id_objet));
     291        return massicoter_fichier($fichier, massicot_get_parametres($objet, $id_objet));
    292292}
    293293
     
    303303function massicoter_logo_document($logo, $connect = null, $doc = array()) {
    304304
    305     include_spip('inc/filtres');
    306     include_spip('inc/filtres_images_mini');
    307 
    308     /* S'il n'y a pas de fichier dans la pile, on va le chercher dans
    309        la table documents */
    310     if (! isset($doc['fichier'])) {
    311         include_spip('base/abstract_sql');
    312         $rows = sql_allfetsel(
    313                 'fichier, extension',
    314                 'spip_documents',
    315                 'id_document='.intval($doc['id_document'])
    316         );
    317 
    318         $doc['fichier']   = $rows[0]['fichier'];
    319         $doc['extension'] = $rows[0]['extension'];
    320     }
     305        include_spip('inc/filtres');
     306        include_spip('inc/filtres_images_mini');
     307
     308        /* S'il n'y a pas de fichier dans la pile, on va le chercher dans
     309           la table documents */
     310        if (! isset($doc['fichier'])) {
     311                include_spip('base/abstract_sql');
     312                $rows = sql_allfetsel(
     313                        'fichier, extension',
     314                        'spip_documents',
     315                        'id_document='.intval($doc['id_document'])
     316                );
     317
     318                $doc['fichier']   = $rows[0]['fichier'];
     319                $doc['extension'] = $rows[0]['extension'];
     320        }
    321321
    322322   /* Si le document en question n'est pas une image, on ne fait rien */
    323     if ((! $logo)
    324         or (preg_match('/^(jpe?g|png|gif)$/i', $doc['extension']) === 0)) {
    325 
    326         return $logo;
    327     }
    328 
    329     /* S'il y a un lien sur le logo, on le met de côté pour le
    330        remettre après massicotage */
    331     if (preg_match('#(<a.*?>)<img.*$#', $logo) === 1) {
    332         $lien = preg_replace('#(<a.*?>)<img.*$#', '$1', $logo);
    333     }
    334 
    335     $fichier = extraire_attribut($logo, 'src');
    336     /* On se débarasse d'un éventuel query string */
    337     $fichier = preg_replace('#\?[0-9]+#', '', $fichier);
    338 
    339     list($largeur_logo, $hauteur_logo) =
    340         getimagesize($fichier);
    341 
    342     $balise_img = charger_filtre('balise_img');
    343 
    344     $fichier_massicote = massicoter_document(get_spip_doc($doc['fichier']));
    345 
    346     /* Comme le logo reçu en paramètre peut avoir été réduit grâce aux
    347        paramètres de la balise LOGO_, il faut s'assurer que l'image
    348        qu'on renvoie fait bien la même taille que le logo qu'on a
    349        reçu. */
    350     $balise = image_reduire(
    351         $balise_img($fichier_massicote, '', 'spip_logos'),
    352         $largeur_logo,
    353         $hauteur_logo
    354     );
    355 
    356     if (isset($lien)) {
    357         $balise = $lien . $balise . '</a>';
    358     }
    359 
    360     return $balise;
     323        if ((! $logo)
     324                or (preg_match('/^(jpe?g|png|gif)$/i', $doc['extension']) === 0)) {
     325
     326                return $logo;
     327        }
     328
     329        /* S'il y a un lien sur le logo, on le met de côté pour le
     330           remettre après massicotage */
     331        if (preg_match('#(<a.*?>)<img.*$#', $logo) === 1) {
     332                $lien = preg_replace('#(<a.*?>)<img.*$#', '$1', $logo);
     333        }
     334
     335        $fichier = extraire_attribut($logo, 'src');
     336        /* On se débarasse d'un éventuel query string */
     337        $fichier = preg_replace('#\?[0-9]+#', '', $fichier);
     338
     339        list($largeur_logo, $hauteur_logo) =
     340                getimagesize($fichier);
     341
     342        $balise_img = charger_filtre('balise_img');
     343
     344        $fichier_massicote = massicoter_document(get_spip_doc($doc['fichier']));
     345
     346        /* Comme le logo reçu en paramètre peut avoir été réduit grâce aux
     347           paramètres de la balise LOGO_, il faut s'assurer que l'image
     348           qu'on renvoie fait bien la même taille que le logo qu'on a
     349           reçu. */
     350        $balise = image_reduire(
     351                $balise_img($fichier_massicote, '', 'spip_logos'),
     352                $largeur_logo,
     353                $hauteur_logo
     354        );
     355
     356        if (isset($lien)) {
     357                $balise = $lien . $balise . '</a>';
     358        }
     359
     360        return $balise;
    361361}
    362362
     
    372372function massicoter_logo($logo, $connect = null, $objet_type = null, $id_objet = null) {
    373373
    374     include_spip('inc/filtres');
    375 
    376     if (! $logo) {
    377         return $logo;
    378     }
    379 
    380     $fichier = extraire_attribut($logo, 'src');
    381 
    382     /* S'il n'y a pas d'id_objet, on essaie de le deviner avec le nom du
    383        fichier, c'est toujours mieux que rien. Sinon on abandonne… */
    384     if (is_null($id_objet)) {
    385 
    386         $objet = massicot_trouver_objet_logo($fichier);
    387 
    388         if (is_null($objet)) {
    389             return $logo;
    390         }
    391 
    392         $objet_type = $objet['objet'];
    393         $id_objet   = $objet['id_objet'];
    394     }
    395 
    396     $parametres = massicot_get_parametres($objet_type, $id_objet);
    397 
    398     $fichier = massicoter_fichier($fichier, $parametres);
    399 
    400     $balise_img = charger_filtre('balise_img');
    401 
    402     return $balise_img($fichier, '', 'spip_logos');
     374        include_spip('inc/filtres');
     375
     376        if (! $logo) {
     377                return $logo;
     378        }
     379
     380        $fichier = extraire_attribut($logo, 'src');
     381
     382        /* S'il n'y a pas d'id_objet, on essaie de le deviner avec le nom du
     383           fichier, c'est toujours mieux que rien. Sinon on abandonne… */
     384        if (is_null($id_objet)) {
     385
     386                $objet = massicot_trouver_objet_logo($fichier);
     387
     388                if (is_null($objet)) {
     389                        return $logo;
     390                }
     391
     392                $objet_type = $objet['objet'];
     393                $id_objet       = $objet['id_objet'];
     394        }
     395
     396        $parametres = massicot_get_parametres($objet_type, $id_objet);
     397
     398        $fichier = massicoter_fichier($fichier, $parametres);
     399
     400        $balise_img = charger_filtre('balise_img');
     401
     402        return $balise_img($fichier, '', 'spip_logos');
    403403}
    404404
     
    412412function massicoter_largeur($largeur, $connect = null, $doc = array()) {
    413413
    414     if ((! $largeur) or (! isset($doc['id_document']))) {
    415         return $largeur;
    416     }
    417 
    418     $parametres = massicot_get_parametres('document', $doc['id_document']);
    419 
    420     // Si les paramètre de l'image sont vide, on renvoie la largeur directement
    421     if (empty($parametres)) {
    422         return $largeur;
    423     }
    424 
    425     return (string) round(($parametres['x2'] - $parametres['x1']));
     414        if ((! $largeur) or (! isset($doc['id_document']))) {
     415                return $largeur;
     416        }
     417
     418        $parametres = massicot_get_parametres('document', $doc['id_document']);
     419
     420        // Si les paramètre de l'image sont vide, on renvoie la largeur directement
     421        if (empty($parametres)) {
     422                return $largeur;
     423        }
     424
     425        return (string) round(($parametres['x2'] - $parametres['x1']));
    426426}
    427427
     
    435435function massicoter_hauteur($hauteur, $connect = null, $doc = array()) {
    436436
    437     if ((! $hauteur) or (! isset($doc['id_document']))) {
    438         return $hauteur;
    439     }
    440 
    441     $parametres = massicot_get_parametres('document', $doc['id_document']);
    442 
    443     // Si les paramètre de l'image sont vide, on renvoie la hauteur directement
    444     if (empty($parametres)) {
    445         return $hauteur;
    446     }
    447 
    448     return (string) round(($parametres['y2'] - $parametres['y1']));
    449 }
     437        if ((! $hauteur) or (! isset($doc['id_document']))) {
     438                return $hauteur;
     439        }
     440
     441        $parametres = massicot_get_parametres('document', $doc['id_document']);
     442
     443        // Si les paramètre de l'image sont vide, on renvoie la hauteur directement
     444        if (empty($parametres)) {
     445                return $hauteur;
     446        }
     447
     448        return (string) round(($parametres['y2'] - $parametres['y1']));
     449}
  • _plugins_/massicot/trunk/massicot_pipelines.php

    r94974 r95781  
    33 * Utilisations de pipelines par Massicot
    44 *
    5  * @plugin     Massicot
     5 * @plugin         Massicot
    66 * @copyright  2015
    7  * @author     Michel @ Vertige ASBL
    8  * @licence    GNU/GPL
    9  * @package    SPIP\Massicot\Pipelines
     7 * @author         Michel @ Vertige ASBL
     8 * @licence        GNU/GPL
     9 * @package        SPIP\Massicot\Pipelines
    1010 */
    1111
     
    1515 * @pipeline jquery_plugins
    1616 * @param  array $scripts  Les scripts qui seront insérés dans la page
    17  * @return array       La liste des scripts complétée
     17 * @return array           La liste des scripts complétée
    1818 */
    1919function massicot_jquery_plugins($scripts) {
     
    2323        }
    2424
    25     return $scripts;
     25        return $scripts;
    2626}
    2727
     
    3131 * @pipeline jqueryui_plugins
    3232 * @param  array $scripts  Plugins jqueryui à charger
    33  * @return array       Liste des plugins jquerui complétée
     33 * @return array           Liste des plugins jquerui complétée
    3434 */
    3535function massicot_jqueryui_plugins($scripts) {
     
    3838                $scripts[] = 'jquery.ui.slider';
    3939        }
    40     return $scripts;
     40        return $scripts;
    4141}
    4242
     
    4646 * @pipeline header_prive
    4747 * @param  array $flux Données du pipeline
    48  * @return array       Données du pipeline
     48 * @return array           Données du pipeline
    4949 */
    5050function massicot_header_prive($flux) {
    5151        if (test_espace_prive()) {
    5252                $flux .= '<link rel="stylesheet" type="text/css" media="screen" href="' .
    53                       find_in_path('css/massicot.css') . '" />';
     53                          find_in_path('css/massicot.css') . '" />';
    5454
    5555                $flux .= '<link rel="stylesheet" type="text/css" media="screen" href="' .
    56                       find_in_path('lib/jquery.imgareaselect.js/distfiles/css/imgareaselect-default.css') . '" />';
     56                          find_in_path('lib/jquery.imgareaselect.js/distfiles/css/imgareaselect-default.css') . '" />';
    5757        }
    58     return $flux;
     58        return $flux;
    5959}
    6060
     
    6464 * @pipeline editer_document_actions
    6565 * @param  array $flux Données du pipeline
    66  * @return array       Données du pipeline
     66 * @return array           Données du pipeline
    6767 */
    6868function massicot_document_desc_actions($flux) {
    6969
    70     $flux['data'] .= recuperer_fond(
    71             'prive/squelettes/inclure/lien_recadre',
    72             $flux['args']
    73     );
     70        $flux['data'] .= recuperer_fond(
     71                'prive/squelettes/inclure/lien_recadre',
     72                $flux['args']
     73        );
    7474
    75     return $flux;
     75        return $flux;
    7676}
Note: See TracChangeset for help on using the changeset viewer.