Changeset 39327 in spip-zone


Ignore:
Timestamp:
Jul 17, 2010, 9:01:27 PM (9 years ago)
Author:
kent1@…
Message:

Une licence sur les documents (éditable uniquement via mediathèque)

Location:
_plugins_/licence
Files:
2 added
1 deleted
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/licence/base/licence.php

    r34261 r39327  
    22/*
    33 * Plugin Licence
    4  * (c) 2007-2009 fanouch
     4 * (c) 2007-2010 fanouch
    55 * Distribue sous licence GPL
    66 *
     
    99
    1010function licence_declarer_tables_principales($tables_principales){
    11 
     11        $tables_principales['spip_documents']['field']['id_licence'] = "bigint(21) NOT NULL";
    1212        $tables_principales['spip_articles']['field']['id_licence'] = "bigint(21) NOT NULL";
    1313        return $tables_principales;
    1414}
    1515
    16 
    17 function licence_upgrade($nom_meta_base_version,$version_cible){
    18         include_spip('inc/meta');
    19         sql_alter("TABLE spip_articles ADD id_licence bigint(21) DEFAULT '0' NOT NULL AFTER id_article");
    20         ecrire_meta($nom_meta_base_version,$version_cible,'non');
    21         ecrire_metas();
    22 }
    23 
    24 
    25 function licence_vider_tables($nom_meta_base_version) {
    26         include_spip('inc/meta');
    27         sql_alter("TABLE spip_articles DROP id_licence");
    28         effacer_meta($nom_meta_base_version);
    29 }
    3016?>
  • _plugins_/licence/licence_pipelines.php

    r37462 r39327  
    4242}
    4343
     44
     45/**
     46 * Insertion dans le pipeline editer_contenu_objet
     47 *
     48 * Affiche les boutons supplémentaires de :
     49 * - changement de la valeur de podcast
     50 * - changement de la valeur de explicit
     51 *
     52 * @param array $flux Le contexte du pipeline
     53 * @return $flux Le contexte du pipeline complété
     54 */
     55function licence_editer_contenu_objet($flux){
     56        $type_form = $flux['args']['type'];
     57        $id_document = $flux['args']['id'];
     58        if(in_array($type_form,array('document'))){
     59                if(preg_match(",<li [^>]*class=[\"']editer_credits.*>(.*)<\/li>,Uims",$flux['data'],$regs)){
     60                        include_spip('inc/licence');
     61                        $ajouts .= recuperer_fond('prive/licence_document_saisies',array('id_document'=>$id_document,'licences' => $GLOBALS['licence_licences']));
     62                        $flux['data'] = preg_replace(",($regs[1]),Uims","\\1".$ajouts,$flux['data']);
     63                }
     64        }
     65        return $flux;
     66}
     67
     68/**
     69 * Insertion dans le pipeline pre_edition
     70 * Récupération de l'id_licence lors de la validation du formulaire de documents
     71 *
     72 * @param array $flux Le contexte du pipeline
     73 * @return $flux Le contexte du pipeline complété
     74 */
     75function licence_pre_edition($flux){
     76        if(($flux['args']['type'] == 'document') && ($flux['args']['action'] == 'modifier') && _request('id_licence')){
     77                $flux['data']['id_licence'] = _request('id_licence');
     78        }
     79        return $flux;
     80}
    4481?>
  • _plugins_/licence/plugin.xml

    r37462 r39327  
    11<plugin>
    2         <nom>Une Licence pour mes articles</nom>
     2        <nom>
     3                <multi>
     4                [fr]Une Licence pour mes articles et mes documents
     5                [en]A license for articles and documents
     6                </multi>
     7        </nom>
    38        <icon>img_pack/licence_logo.png</icon>
    49        <auteur>
    5           fanouch - lesguppies@free.fr - <a href="http://www.spip-contrib.net/spip.php?article2147">Site du plugins</a>
    6     <br />Sur une idée originale de :  <a href='http://www.spip-contrib.net/Filtre-Licence'>erational</a>
     10                <multi>
     11                [fr]fanouch - lesguppies@free.fr
     12        <br />Sur une idée originale de :  <a href='http://www.spip-contrib.net/Filtre-Licence'>erational</a>
     13                [en]fanouch - lesguppies@free.fr
     14                <br />Based on an original idea of : <a href='http://www.spip-contrib.net/Filtre-Licence'>erational</a>
     15                </multi>
    716        </auteur>
    817        <version>0.2.1</version>
    9         <version_base>0.1</version_base>
     18        <version_base>0.2</version_base>
    1019        <etat>test</etat>
    11         <description>Permet de relier une licence d'utilisation à un article</description>
    12         <lien>http://www.spip-contrib.net/Une-licence-pour-un-article</lien>
     20        <description>
     21                <multi>
     22                        [fr]Permet de relier une licence d'utilisation à un article ou un document
     23                        [en]Link a license on articles and documents
     24                </multi>
     25        </description>
     26        <lien>http://www.spip-contrib.net/spip.php?article2147</lien>
    1327        <fonctions>licence_fonctions.php</fonctions>
    1428        <prefix>licence</prefix>
    15         <install>base/licence.php</install>
     29        <install>base/licence_upgrade.php</install>
    1630        <pipeline>
    1731                <nom>declarer_tables_principales</nom>
     
    2640                <inclure>licence_pipelines.php</inclure>
    2741        </pipeline>
     42        <pipeline>
     43                <nom>pre_edition</nom>
     44                <inclure>licence_pipelines.php</inclure>
     45        </pipeline>
     46        <pipeline>
     47                <nom>editer_contenu_objet</nom>
     48                <inclure>licence_pipelines.php</inclure>
     49        </pipeline>
    2850        <necessite id="SPIP" version="[2.0.10;]" />
    2951        <necessite id="spip_bonux" version="[1.8.7;]" />
Note: See TracChangeset for help on using the changeset viewer.