Changeset 91031 in spip-zone


Ignore:
Timestamp:
Jul 24, 2015, 7:22:04 AM (4 years ago)
Author:
cyril@…
Message:

On ajoute les réseaux sociaux (dont Seenthis) aux types de coordonnées que l'on peut attribuer aux objets SPIP.

Location:
_plugins_/coordonnees/trunk
Files:
18 added
11 edited

Legend:

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

    r83084 r91031  
    1616        $interfaces['table_des_tables']['numeros'] = 'numeros';
    1717        $interfaces['table_des_tables']['emails'] = 'emails';
     18        $interfaces['table_des_tables']['rezos'] = 'rezos';
    1819
    1920        $interfaces['tables_jointures']['spip_auteurs'][] = 'adresses_liens';
    2021        $interfaces['tables_jointures']['spip_auteurs'][] = 'numeros_liens';
    2122        $interfaces['tables_jointures']['spip_auteurs'][] = 'emails_liens';
     23        $interfaces['tables_jointures']['spip_auteurs'][] = 'rezos_liens';
    2224
    2325        $interfaces['table_des_traitements']['VILLE'][] = _TRAITEMENT_TYPO;
     
    132134        );
    133135
     136    /* RESEAUX SOCIAUX */
     137    $tables['spip_rezos'] = array(
     138        'type'                   => 'rezo',
     139        'principale'             => "oui",
     140        'field'=> array(
     141            "id_rezo"            => "bigint(21) NOT NULL",
     142            "titre"              => "varchar(255) NOT NULL DEFAULT ''", // seenthis, linkedin, facebook, twitter...
     143            "rezo"               => "varchar(255) NOT NULL DEFAULT ''",
     144            "maj"                => "TIMESTAMP"
     145        ),
     146        'key' => array(
     147            "PRIMARY KEY"       => "id_rezo",
     148            "KEY rezo"          => "rezo"
     149        ),
     150        'titre' => "titre AS titre, '' AS lang",
     151        'champs_editables'       => array( 'titre', 'rezo' ),
     152        'champs_versionnes'      => array(),
     153        'rechercher_champs'      => array('titre'=>5, 'rezo'=>5),
     154        'tables_jointures'       => array('spip_rezos_liens'),
     155        /* Les textes standard */
     156        'texte_modifier'         => 'coordonnees:modifier_rezo',
     157        'texte_ajouter'          => 'coordonnees:ajouter_rezo',
     158        'texte_logo_objet'       => 'coordonnees:logo_rezo',
     159        'texte_creer'            => 'coordonnees:nouveau_rezo',
     160        'texte_objet'            => 'coordonnees:rezo',
     161        'texte_objets'           => 'coordonnees:rezos',
     162        'info_aucun_objet'       => 'coordonnees:info_aucun_rezo',
     163        'info_1_objet'           => 'coordonnees:info_1_rezo',
     164        'info_nb_objets'         => 'coordonnees:info_nb_rezos',
     165    );
     166
    134167        return $tables;
    135168}
     
    187220        );
    188221
     222        $tables['spip_rezos_liens'] = array(
     223                'field' => array(
     224                        "id_rezo"           => "bigint(21) DEFAULT '0' NOT NULL",
     225                        "id_objet"          => "bigint(21) DEFAULT '0' NOT NULL",
     226                        "objet"             => "VARCHAR(25) DEFAULT '' NOT NULL",
     227                        "type"              => "VARCHAR(25) DEFAULT '' NOT NULL",
     228                        "vu"                => "VARCHAR(6) DEFAULT 'non' NOT NULL"
     229                ),
     230                'key' => array(
     231                        "PRIMARY KEY"       => "id_rezo,id_objet,objet,type", // on rajoute le type car on en rajoute un par liaison et qu'il peut y en avoir plusieurs
     232                        "KEY id_rezo"       => "id_rezo",
     233                        "KEY id_objet"      => "id_objet",
     234                        "KEY objet"         => "objet",
     235                )
     236        );
     237
    189238        return $tables;
    190239}
  • _plugins_/coordonnees/trunk/coordonnees_administrations.php

    r83086 r91031  
    44 *
    55 * @plugin     Coordonnees
    6  * @copyright  2013
     6 * @copyright  2015
    77 * @author     Marcimat / Ateliers CYM
    88 * @licence    GNU/GPL
     
    111111        );
    112112
     113        // ajout de l'objet 'rezo'
     114        $maj['1.8.4']= array(
     115                array('maj_tables', array('spip_rezos','spip_rezos_liens')),
     116        );
     117
    113118        include_spip('base/upgrade');
    114119        maj_plugin($nom_meta_base_version, $version_cible, $maj);
     
    131136        sql_drop_table("spip_emails");
    132137        sql_drop_table("spip_emails_liens");
     138        sql_drop_table("spip_rezos");
     139        sql_drop_table("spip_rezos_liens");
    133140
    134141        effacer_meta('coordonnees');
  • _plugins_/coordonnees/trunk/coordonnees_autorisations.php

    r81978 r91031  
    44 *
    55 * @plugin     Coordonnees
    6  * @copyright  2013
     6 * @copyright  2015
    77 * @author     Marcimat / Ateliers CYM
    88 * @licence    GNU/GPL
     
    106106}
    107107
    108 
    109108// associer (lier / delier)
    110109function autoriser_associeremails_dist($faire, $type, $id, $qui, $opt) {
     
    113112
    114113
     114// ----------
     115// Objet rezo
     116
     117// creer
     118function autoriser_rezo_creer_dist($faire, $type, $id, $qui, $opt) {
     119        return in_array($qui['statut'], array('0minirezo', '1comite'));
     120}
     121
     122// voir les fiches completes
     123function autoriser_rezo_voir_dist($faire, $type, $id, $qui, $opt) {
     124        return true;
     125}
     126
     127// modifier
     128function autoriser_rezo_modifier_dist($faire, $type, $id, $qui, $opt) {
     129        return in_array($qui['statut'], array('0minirezo', '1comite'));
     130}
     131
     132// supprimer
     133// uniquement les orphelins
     134function autoriser_rezo_supprimer_dist($faire, $type, $id, $qui, $opt) {
     135        include_spip('action/editer_liens');
     136        return !count(objet_trouver_liens(array('rezos'=>$id),'*')) AND ($qui['statut'] == '0minirezo' OR $qui['restreint']);
     137}
     138
     139// associer (lier / delier)
     140function autoriser_associerrezos_dist($faire, $type, $id, $qui, $opt) {
     141        return $qui['statut'] == '0minirezo' OR $qui['restreint'];
     142}
     143
     144
    115145
    116146?>
  • _plugins_/coordonnees/trunk/coordonnees_fonctions.php

    r82265 r91031  
    5656                'adresse' => array('work','home','pref','postal','dom','intl','parcel'),
    5757                'numero'  => array('voice','work','home','msg','pref','fax','cell','dsl','video','pager','bbs','modem','car','isdn','pcs'),
    58                 'email'   => array('work','home','internet','pref','x400')
     58                'email'   => array('work','home','internet','pref','x400'),
     59                'rezo'    => array('facebook','google+','instagram','linkedin','seenthis','twitter','viadeo')
    5960        );
    6061
     
    6566                'tel'    => 'numero',
    6667                'mel'    => 'email',
    67                 'email'  => 'email'
     68                'email'  => 'email',
     69                'res'    => 'rezo',     
     70                'rezo'   => 'rezo'     
    6871        );
    6972        $coord2abbr = array_flip($abbr);
     
    119122
    120123/*
    121  * Filtre renvoyant les couples types de numéros/chaînes de langue ou la chaîne de langue d'une type en particulier
    122  *
    123  * @note
    124  * Quand on veut lister les types de numéros depuis un squelette, utiliser
    125  * `#EVAL{null}` au lieu de `#REM`
    126  *
    127  * @uses coordonnees_lister_types_coordonnees()
    128  *
    129  * @filtre
    130  * @param string $type
    131  *     Type dont on veut retourner la chaîne de langue
    132  * @return array|int
    133  *     Couples types/chaînes de langues
    134  *     ou chaîne de langue d'un type donné
     124 * idem pour les numéros
    135125**/
    136126function filtre_coordonnees_lister_types_numeros($type=null) {
     
    139129
    140130/*
    141  * Filtre renvoyant les couples types d'emails/chaînes de langue ou la chaîne de langue d'une type en particulier
    142  *
    143  * @note
    144  * Quand on veut lister les types d'emails depuis un squelette, utiliser
    145  * `#EVAL{null}` au lieu de `#REM`
    146  *
    147  * @uses coordonnees_lister_types_coordonnees()
    148  *
    149  * @filtre
    150  * @param string $type
    151  *     Type dont on veut retourner la chaîne de langue
    152  * @return array|int
    153  *     Couples types/chaînes de langues
    154  *     ou chaîne de langue d'un type donné
     131 * idem pour les emails
    155132**/
    156133function filtre_coordonnees_lister_types_emails($type=null) {
    157134        return coordonnees_lister_types_coordonnees('email',$type);
    158135}
     136
     137/*
     138 * idem pour les rezos
     139**/
     140function filtre_coordonnees_lister_types_rezos($type=null) {
     141        return coordonnees_lister_types_coordonnees('rezo',$type);
     142}
     143
     144
    159145
    160146/**
     
    199185                'tel'    => 'numero',
    200186                'mel'    => 'email',
    201                 'email'  => 'email'
     187                'email'  => 'email',
     188                'res'    => 'rezo',     
     189                'rezo'   => 'rezo'
    202190        );
    203191        $coord2abbr = array_flip($abbr);
     
    311299}
    312300
     301/**
     302 * Filtre d'affichage d'un type de réseau social
     303 *
     304 * Pas trouvé de références sur d'éventuels micro-formats de réseaux sociaux...
     305 * Compléments bienvenus
     306 *
     307**/
     308function filtre_logo_type_rezo($type_rezo) {
     309        return logo_type_('rezo', $type_rezo);
     310}
     311   
     312function filtre_logo_type_res($type_rezo) {
     313        return filtre_logo_type_rezo($type_rezo);
     314}
     315
    313316?>
  • _plugins_/coordonnees/trunk/coordonnees_pipelines.php

    r82184 r91031  
    44 *
    55 * @plugin     Coordonnees
    6  * @copyright  2013
     6 * @copyright  2015
    77 * @author     Marcimat / Ateliers CYM
    88 * @licence    GNU/GPL
     
    7676                !$e['edition']
    7777                and $type = $e['type']
    78                 and in_array($type,array('adresse','email','numero'))
     78                and in_array($type,array('adresse','email','numero','rezo'))
    7979                and $id_coordonnee = $flux['args']["id_${type}"]
    8080        ) {
     
    103103function coordonnees_optimiser_base_disparus($flux){
    104104        include_spip('action/editer_liens');
    105         $flux['data'] += objet_optimiser_liens(array('adresse'=>'*', 'numero'=>'*', 'email'=>'*'),'*');
     105        $flux['data'] += objet_optimiser_liens(array(
     106                'adresse'=>'*',
     107                'numero'=>'*',
     108                'email'=>'*',
     109                'rezo'=>'*'
     110                ),'*');
    106111        return $flux;
    107112}
  • _plugins_/coordonnees/trunk/lang/coordonnees_fr.php

    r86159 r91031  
    1313        'ajouter_adresse' => 'Ajouter une adresse',
    1414        'ajouter_email' => 'Ajouter un email',
    15         'ajouter_telephone' => 'Ajouter un numéro',
    1615        'ajouter_adresse_court' => 'Ajouter adresse',
    1716        'ajouter_email_court' => 'Ajouter email',
     17        'ajouter_rezo' => "Ajouter un réseau social",
     18        'ajouter_rezo_court' => "Ajouter réseau social",
     19        'ajouter_telephone' => 'Ajouter un numéro',
    1820        'ajouter_telephone_court' => 'Ajouter numéro',
    1921
    2022        // B
     23        'bouton_dissocier' => 'Retirer',
    2124        'bouton_dissocier_adresse' => 'Retirer cette adresse',
    2225        'bouton_dissocier_email' => 'Retirer cet email',
    2326        'bouton_dissocier_numero' => 'Retirer ce numéro',
    24         'bouton_dissocier' => 'Retirer',
     27        'bouton_dissocier_rezo' => 'Retirer ce réseau social',
    2528
    2629        // C
     
    4952        'info_1_email' => '1 courriel',
    5053        'info_1_numero' => '1 numero',
     54        'info_1_rezo' => '1 réseau social',
    5155        'info_adresse_utilisee_par' => 'Adresse utilisée par :',
    5256        'info_aucun_email' => 'Aucun courriel',
    5357        'info_aucun_numero' => 'Aucun numero',
    5458        'info_aucune_adresse' => 'Aucune adresse',
     59        'info_aucun_rezo' => 'Aucun réseau social',
    5560        'info_email_utilise_par' => 'Courriel utilisé par :',
    5661        'info_gauche_numero_adresse' => 'Adresse N°',
    5762        'info_gauche_numero_email' => 'Email N°',
    5863        'info_gauche_numero_numero' => 'Numéro N°',
     64        'info_gauche_rezo' => 'Réseau social N°',
    5965        'info_nb_adresses' => '@nb@ adresses',
    6066        'info_nb_emails' => '@nb@ courriels',
    6167        'info_nb_numeros' => '@nb@ numeros',
     68        'info_nb_rezos' => '@nb@ réseaux sociaux',
    6269        'info_numero_utilise_par' => 'Numéro utilisé par :',
    6370        'item_nouveau_numero' => 'Nouveau numéro',
    6471        'item_nouvel_email' => 'Nouveau courriel',
    6572        'item_nouvelle_adresse' => 'Nouvelle adresse',
     73        'item_nouveau_rezo' => 'Nouveau réseau social',
    6674
    6775        // L
     
    8088        'label_type_email' => 'Type de courriel',
    8189        'label_type_numero' => 'Type de numéro',
     90        'label_type_rezo' => 'Type de réseau social',
    8291        'label_ville' => 'Ville',
    8392        'label_voie' => 'N<sup>o</sup> & voie',
     
    8594        'logo_email' => 'Logo du courriel',
    8695        'logo_numero' => 'Logo du numero',
     96        'logo_rezo' => 'Logo du réseau social',
    8797
    8898        // M
     
    90100        'modifier_email' => 'Modifier ce courriel',
    91101        'modifier_numero' => 'Modifier ce numéro',
     102        'modifier_rezo' => 'Modifier ce réseau social',
    92103
    93104        // N
     105        'nouvelle_adresse' => 'Nouvelle adresse',
     106        'nouvel_email' => 'Nouveau courriel',
    94107        'nouveau_numero' => 'Nouveau numéro',
    95         'nouvel_email' => 'Nouveau courriel',
    96         'nouvelle_adresse' => 'Nouvelle adresse',
     108        'nouveau_rezo' => 'Nouveau réseau social',
    97109        'numeros' => 'Numéros',
    98110        'numero' => 'Numéro',
     
    104116        'placeholder_titre_email' => 'Un nom pour identifier l\'email',
    105117        'placeholder_titre_numero' => 'Un nom pour identifier le numéro de téléphone',
     118        'placeholder_titre_rezo' => 'Un nom pour identifier le réseau socail',
     119
     120        // R
     121        'rezo' => 'Réseau social',
     122        'rezos' => 'Réseaux sociaux',
    106123
    107124        // S
     
    109126        'supprimer_email' => 'Supprimer ce courriel',
    110127        'supprimer_numero' => 'Supprimer ce numéro',
     128        'supprimer_rezo' => 'Supprimer ce réseau social',
    111129
    112130        // T
     
    128146        'type_mel_intl' => 'International',
    129147        'type_mel_work' => 'Professionnel',
     148        'type_rezo_facebook' => 'FaceBook',
     149        'type_rezo_google+' => 'Google+',
     150        'type_rezo_instagram' => 'Instagram',
     151        'type_rezo_linkedin' => 'LinkedIn',
     152        'type_rezo_seenthis' => 'Seenthis',
     153        'type_rezo_twitter' => 'Twitter',
     154        'type_rezo_viadeo' => 'Viadeo',
    130155        'type_tel_bbs' => 'Service de messagerie',
    131156        'type_tel_car' => 'Voiture',
  • _plugins_/coordonnees/trunk/lang/paquet-coordonnees_en.php

    r51789 r91031  
    55        'coordonnees_nom' => "Address book",
    66        'coordonnees_slogan' => "Postal Adresses , Phone numbers ... for your authors",
    7         'coordonnees_description' => "Provides the ability to add postal details (addresses, e-mail, phone numbers) to SPIP objects, specifically to authors. Several addresses or phone numbers can be given to each single author.",
     7        'coordonnees_description' => "Provides the ability to add details (postal addresses, e-mail, phone numbers, social networks) to SPIP objects, specifically to authors. Several addresses or phone numbers can be given to each single author.",
    88);
    99?>
  • _plugins_/coordonnees/trunk/lang/paquet-coordonnees_fr.php

    r70500 r91031  
    44$GLOBALS[$GLOBALS['idx_lang']] = array(
    55        'coordonnees_nom' => "Coordonnées",
    6         'coordonnees_slogan' => "Adresses, téléphones & emails sur les objets",
    7         'coordonnees_description' => "Ajoute la possibilité de donner des coordonnées postales (adresses, mails, téléphones) aux objets de SPIP, et tout particulièrement aux auteurs. Plusieurs adresses et numéros de téléphone peuvent ainsi être donnés à chaque auteur.",
     6        'coordonnees_slogan' => "Adresses, téléphones, emails et réseaux sociaux sur les objets",
     7        'coordonnees_description' => "Ajoute la possibilité d'attribuer des coordonnées (adresses postales, mails, téléphones, réseaux sociaux) aux objets de SPIP, et tout particulièrement aux auteurs. Plusieurs adresses, numéros de téléphone , adresses mail et réseaux sociaux peuvent ainsi être attribués à chaque objet.",
    88);
    99
  • _plugins_/coordonnees/trunk/paquet.xml

    r86159 r91031  
    22        prefix="coordonnees"
    33        categorie="auteur"
    4         version="2.3.4"
    5         schema="1.8.3"
    6         etat="stable"
     4        version="2.3.5"
     5        schema="1.8.4"
     6        etat="dev"
    77        compatibilite="[3.0.0;3.0.*]"
    88        logo="prive/themes/spip/images/addressbook-128.png"
  • _plugins_/coordonnees/trunk/prive/squelettes/contenu/coordonnees.html

    r82165 r91031  
    11#SET{defaut,adresse}
    22#SET{objet, #ENV{coordonnee}|?{
    3         #ENV{coordonnee}|in_array{#LISTE{adresse,email,numero}}|?{#ENV{coordonnee},#GET{defaut}},
     3        #ENV{coordonnee}|in_array{#LISTE{adresse,email,numero, rezo}}|?{#ENV{coordonnee},#GET{defaut}},
    44        #GET{defaut}}}
    55<h1 class="grostitre"><:coordonnees:titre_coordonnees:></h1>
     
    99                <li>[(#SELF|parametre_url{coordonnee,numero}|lien_ou_expose{[(#CHEMIN_IMAGE{numero-16}|balise_img) ]<:coordonnees:numeros:>,#GET{objet}|=={numero},ajax})]</li>
    1010                <li>[(#SELF|parametre_url{coordonnee,email}|lien_ou_expose{[(#CHEMIN_IMAGE{email-16}|balise_img) ]<:coordonnees:emails:>,#GET{objet}|=={email},ajax})]</li>
     11                <li>[(#SELF|parametre_url{coordonnee,rezo}|lien_ou_expose{[(#CHEMIN_IMAGE{rezo-16}|balise_img) ]<:coordonnees:rezos:>,#GET{objet}|=={rezo},ajax})]</li>
    1112        </ul>
    1213</div>
  • _plugins_/coordonnees/trunk/prive/squelettes/contenu/coordonnees_fiche_objet.html

    r82192 r91031  
    1212<div class="icones-ajouter">
    1313        [(#SELF|parametre_url{coordonnee,adresse}|ancre_url{coordonnees}
    14                 |icone_horizontale{<:coordonnees:ajouter_adresse_court:>,adresse,new,'coordonnee ajouter ajax right'})]
     14                |icone_horizontale{<:coordonnees:adresse:>,adresse,new,'coordonnee ajouter ajax right'})]
    1515        [(#SELF|parametre_url{coordonnee,email}|ancre_url{coordonnees}
    16                 |icone_horizontale{<:coordonnees:ajouter_email_court:>,email,new,'coordonnee ajouter ajax right'})]
     16                |icone_horizontale{<:coordonnees:email:>,email,new,'coordonnee ajouter ajax right'})]
    1717        [(#SELF|parametre_url{coordonnee,numero}|ancre_url{coordonnees}
    18                 |icone_horizontale{<:coordonnees:ajouter_telephone_court:>,numero,new,'coordonnee ajouter ajax right'})]
     18                |icone_horizontale{<:coordonnees:numero:>,numero,new,'coordonnee ajouter ajax right'})]
     19        [(#SELF|parametre_url{coordonnee,rezo}|ancre_url{coordonnees}
     20                |icone_horizontale{<:coordonnees:rezo:>,rezo,new,'coordonnee ajouter ajax right'})]
    1921</div>
    2022]
     
    2931
    3032[(#REM) LISTES DES COORDONNEES LIEES ]
    31 <BOUCLE_listes(DATA){liste adresse,numero,email}>
     33<BOUCLE_listes(DATA){liste adresse,numero,email,rezo}>
    3234[(#INCLURE{fond=[prive/objets/liste/(#VALEUR)s_lies], env, boutons_actions=oui, ajax})]
    3335</BOUCLE_listes>
Note: See TracChangeset for help on using the changeset viewer.