Plugin Directory

Changeset 2623787


Ignore:
Timestamp:
11/03/2021 08:11:04 AM (4 years ago)
Author:
Evarisk
Message:

Version 7.7.3

  • Add : Exportation de l'arborescence et des risques de Digirisk WP vers Digirisk Dolibarr.
Location:
digirisk/trunk
Files:
2 added
8 edited

Legend:

Unmodified
Added
Removed
  • digirisk/trunk/digirisk.config.json

    r2542108 r2623787  
    22    "name": "Digirisk",
    33    "slug": "digirisk",
    4     "version": "7.7.2",
     4    "version": "7.7.3",
    55    "description": "L'application Digirisk",
    66    "insert_scripts_pages_js": [
  • digirisk/trunk/digirisk.php

    r2542108 r2623787  
    44 * Plugin URI:  http://www.evarisk.com/document-unique-logiciel
    55 * Description: Avec le plugin Digirisk vous pourrez réaliser, de façon simple et intuitive, le ou les documents uniques de vos entreprises et gérer toutes les données liées à la sécurité de votre personnel.
    6  * Version:     7.7.2
     6 * Version:     7.7.3
    77 * Author:      Evarisk
    88 * Author URI:  http://www.evarisk.com
  • digirisk/trunk/modules/export_import/action/export.action.php

    r2541340 r2623787  
    2929    public function __construct() {
    3030        add_action( 'wp_ajax_digi_export_data', array( $this, 'callback_export_data' ) );
    31 
     31        add_action( 'wp_ajax_digi_export_tree_data', array( $this, 'callback_export_tree_data' ) );
     32        add_action( 'wp_ajax_digi_export_risks_data', array( $this, 'callback_export_risks_data' ) );
    3233    }
    3334
     
    4647    }
    4748
     49    /**
     50     * Fonction de rappel pour l'export des données
     51     *
     52     * @since 6.1.9
     53     * @version 6.1.9
     54     */
     55    public function callback_export_tree_data() {
     56        check_ajax_referer( 'digi_export_tree_data' );
     57
     58        $response = Export_Class::g()->exec_tree();
     59
     60        wp_send_json_success( $response );
     61    }
     62
     63    /**
     64     * Fonction de rappel pour l'export des données
     65     *
     66     * @since 6.1.9
     67     * @version 6.1.9
     68     */
     69    public function callback_export_risks_data() {
     70        check_ajax_referer( 'digi_export_risks_data' );
     71
     72        $response = Export_Class::g()->exec_risks();
     73
     74        wp_send_json_success( $response );
     75    }
    4876}
    4977
  • digirisk/trunk/modules/export_import/asset/js/export_import.backend.js

    r2541340 r2623787  
    3939 */
    4040window.eoxiaJS.digirisk.export.event = function() {
    41     jQuery( document ).on( 'submit', '#digi-data-export #digi-export-form', window.eoxiaJS.digirisk.export.create_export );
     41    jQuery( document ).on( 'submit', '#digi-data-export #digi-export-form, #digi-data-export #digi-export-tree, #digi-data-export #digi-export-risks', window.eoxiaJS.digirisk.export.create_export );
    4242    jQuery( document ).on( 'change', '#digi-data-export #digi-import-form input[type="file"]', window.eoxiaJS.digirisk.export.make_import );
    4343};
  • digirisk/trunk/modules/export_import/class/export.class.php

    r1961197 r2623787  
    6363
    6464    /**
     65     * Appelles différentes méthodes pour récupérer toutes les données pour exporter le DigiRisk
     66     *
     67     * @since 6.1.5
     68     * @version 6.4.1
     69     *
     70     * @return array
     71     */
     72    public function exec_tree() {
     73        $data_to_export = $this->export_groupments(0,false);
     74        return $this->generate_zip( $data_to_export, 'arborescence');
     75    }
     76
     77    /**
     78     * Appelles différentes méthodes pour récupérer toutes les données pour exporter le DigiRisk
     79     *
     80     * @since 6.1.5
     81     * @version 6.4.1
     82     *
     83     * @return array
     84     */
     85    public function exec_risks() {
     86        $data_to_export = $this->export_all_risks();
     87        return $this->generate_zip( $data_to_export, 'risques');
     88    }
     89
     90    /**
    6591     * Exportes tout le contenu d'un groupement
    6692     *
     
    7298     * @return array
    7399     */
    74     public function export_groupments( $parent_id = 0 ) {
     100    public function export_all_risks( $parent_id = 0) {
     101        $society = Society_Class::get_current_society();
     102
     103        $risks = get_posts(
     104            array(
     105                'numberposts' => -1,
     106                'post_parent' => $society['id'],
     107                'post_status' => array( 'publish', 'inherit' ),
     108                'post_type'   => 'digi-risk',
     109            )
     110        );
     111
     112        $list_data_exported = array();
     113
     114        if ( ! empty( $risks ) ) {
     115            foreach ( $risks as $element ) {
     116                // Récupères les risques du groupement.
     117                $element->list_risk = Risk_Class::g()->get( array( 'id' => $element->ID ) );
     118                $list_data_exported[] = array_shift($this->export_risks( $element->list_risk ));
     119            }
     120        }
     121
     122        return $list_data_exported;
     123    }
     124
     125    /**
     126     * Exportes tout le contenu d'un groupement
     127     *
     128     * @since 6.1.5
     129     * @version 6.5.0
     130     *
     131     * @param integer $parent_id (optional) Le groupement parent.
     132     *
     133     * @return array
     134     */
     135    public function export_groupments( $parent_id = 0 , $risk = true) {
    75136        $list_group = Society_Class::g()->get( array(
    76137            'posts_per_page' => -1,
     
    94155                    'title'         => $element->data['title'],
    95156                    'slug'          => $element->data['slug'],
     157                    'type'          => $element->data['type'],
    96158                    'status'        => $element->data['status'],
    97159                    'content'       => $element->data['content'],
    98160                    'link'          => $element->data['link'],
     161                    'id'            => $element->data['id'],
    99162                    'parent_id'     => $element->data['parent_id'],
    100                     'list_workunit' => $this->export_workunits( $element->list_workunit ),
    101                     'list_risk'     => $this->export_risks( $element->list_risk ),
    102                     'list_group'    => $this->export_groupments( $element->data['id'] ),
     163                    'list_workunit' => $this->export_workunits( $element->list_workunit, $risk),
     164                    'list_risk'     => ($risk) ? $this->export_risks( $element->list_risk ) : '',
     165                    'list_group'    => $this->export_groupments( $element->data['id'], $risk),
    103166                );
    104167
     
    156219     * @return array
    157220     */
    158     public function export_workunits( $workunits ) {
     221    public function export_workunits( $workunits, $risk = true ) {
    159222        $workunit_data_to_export = array();
    160223
     
    164227                    'title'     => $element->data['title'],
    165228                    'slug'      => $element->data['slug'],
     229                    'type'      => $element->data['type'],
    166230                    'status'    => $element->data['status'],
    167231                    'content'   => $element->data['content'],
    168232                    'link'      => $element->data['link'],
     233                    'id'        => $element->data['id'],
    169234                    'parent_id' => $element->data['parent_id'],
    170                     'list_risk' => $this->export_risks( $element->list_risk ),
     235                    'list_risk' => ($risk) ? $this->export_risks( $element->list_risk ) : '',
    171236                );
    172237
     
    198263                    'content'             => $element->data['content'],
    199264                    'link'                => $element->data['link'],
     265                    'id'                  => $element->data['id'],
    200266                    'parent_id'           => $element->data['parent_id'],
    201267                    'current_equivalence' => $element->data['current_equivalence'],
     
    315381     * @return array
    316382     */
    317     public function generate_zip( $list_data_exported ) {
     383    public function generate_zip( $list_data_exported, $filename = 'global') {
    318384        $element = Society_Class::g()->get( array(
    319385            'posts_per_page' => 1,
     
    324390
    325391        $current_time  = current_time( 'YmdHis' );
    326         $filename      = 'global';
    327392        $export_base   = $this->export_directory . $current_time . '_' . $filename . '_export';
    328393        $json_filename = $export_base . '.json';
  • digirisk/trunk/modules/export_import/shortcode/export.shortcode.php

    r1961197 r2623787  
    2929        add_shortcode( 'digi-export', array( $this, 'callback_export_interface' ) );
    3030        add_shortcode( 'digi-import', array( $this, 'callback_import_interface' ) );
     31        add_shortcode( 'digi-export-tree', array( $this, 'callback_export_tree_interface' ) );
     32        add_shortcode( 'digi-export-risks', array( $this, 'callback_export_risks_interface' ) );
    3133    }
    3234
     
    6567    }
    6668
     69    /**
     70     * Interface d'export / Export Interface filter callback
     71     *
     72     * @param array $param Les paramètres du shortcode / Shortcode parameters
     73     */
     74    public function callback_export_tree_interface( $param ) {
     75        $element_id = $element = null;
     76        /** On vérifie si il y a un élément défini pour l'affichage du shortcode / Check if there is an element specified for shortcode usage */
     77        if ( !empty( $param ) && !empty( $param[ 'post_id' ] ) && is_int( (int)$param[ 'post_id' ] ) ) {
     78            $element_id = $param[ 'post_id' ];
     79            $element = society_class::g()->show_by_type( $element_id );
     80        }
     81
     82        /** Affichage du formulaire d'export / Display export form */
     83        \eoxia\View_Util::exec( 'digirisk', 'export_import', 'export-tree', array( 'element_id' => $element_id, 'element' => $element ) );
     84    }
     85
     86    /**
     87     * Interface d'export / Export Interface filter callback
     88     *
     89     * @param array $param Les paramètres du shortcode / Shortcode parameters
     90     */
     91    public function callback_export_risks_interface( $param ) {
     92        $element_id = $element = null;
     93        /** On vérifie si il y a un élément défini pour l'affichage du shortcode / Check if there is an element specified for shortcode usage */
     94        if ( !empty( $param ) && !empty( $param[ 'post_id' ] ) && is_int( (int)$param[ 'post_id' ] ) ) {
     95            $element_id = $param[ 'post_id' ];
     96            $element = society_class::g()->show_by_type( $element_id );
     97        }
     98
     99        /** Affichage du formulaire d'export / Display export form */
     100        \eoxia\View_Util::exec( 'digirisk', 'export_import', 'export-risks', array( 'element_id' => $element_id, 'element' => $element ) );
     101    }
    67102}
    68103
  • digirisk/trunk/modules/tools/view/main.view.php

    r2541340 r2623787  
    4444                    </div>
    4545                </div>
     46
     47                <div class="block">
     48                    <div class="container">
     49                        <?php echo do_shortcode( '[digi-export-tree]' ); ?>
     50                    </div>
     51                </div>
     52
     53                <div class="block">
     54                    <div class="container">
     55                        <?php echo do_shortcode( '[digi-export-risks]' ); ?>
     56                    </div>
     57                </div>
    4658            </div>
    4759
  • digirisk/trunk/readme.txt

    r2542108 r2623787  
    44Donate link: http://www.evarisk.com/document-unique-logiciel
    55Requires at least: 4.4
    6 Tested up to: 5.7.2
    7 Stable tag: 7.7.2
     6Tested up to: 5.8.1
     7Stable tag: 7.7.3
    88License: AGPLv3
    99License URI: https://www.gnu.org/licenses/gpl-3.0.html
     
    7777
    7878* Veillez à bien sauvegarder vos données avant d'effectuer une mise à jour du plugin
     79
     80= Version 7.7.3 =
     81
     82- Add : Exportation de l'arborescence et des risques de Digirisk WP vers Digirisk Dolibarr.
    7983
    8084= Version 7.7.2 =
Note: See TracChangeset for help on using the changeset viewer.