Plugin Directory

Changeset 2961302

Timestamp:
08/31/2023 04:58:36 PM (11 months ago)
Author:
tidevapps
Message:

Corração na geração do certificados e upload de modelos.

Location:
gerador-de-certificados-devapps/trunk
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • gerador-de-certificados-devapps/trunk/README.txt

    r2865262 r2961302  
    33Tags: Certificado, Cursos online, Certificado para cursos, Certificado para eventos, certifica, certificação, diploma, evento online, palestra, palestrante
    44Requires at least: 5.0
    5 Tested up to: 6.1
    6 Stable tag: 1.0.2
     5Tested up to: 6.1
     6Stable tag: 1.0.
    77Requires PHP: 7.0
    88License: GPLv2 or later
     
    5252= 1.0.2 =
    5353* Atualização do dominio de texto
     54
     55
     56
     57
     58
  • gerador-de-certificados-devapps/trunk/admin/class-devapps-certificate-generator-admin.php

    r2865262 r2961302  
    109109    public function create_main_page()
    110110    {
    111         devapps_get_view('main', true, array());
     111        // Verifica se foi enviado um POST
     112        if ($_SERVER['REQUEST_METHOD'] === 'POST') {
     113            $this->save_certificate_model();
     114        }
     115       
     116        $models = $this->get_models();
     117       
     118        devapps_get_view('main', true, compact('models'));
     119    }
     120   
     121    public function get_models(){
     122        global $wpdb;
     123
     124        return $wpdb->get_results("SELECT * FROM {$wpdb->prefix}devapps_certificate_models;", ARRAY_A);
     125    }
     126   
     127    public function save_certificate_model(){
     128        $uploaded_file = $_FILES['upload_model_file'];
     129
     130        // Verifique se o upload foi bem-sucedido
     131        if ($uploaded_file['error'] == 0) {
     132            $upload_dir = wp_upload_dir(); // Obtém o diretório de upload padrão do WordPress
     133
     134            // Defina o diretório de destino personalizado dentro de uploads
     135            $custom_upload_dir = $upload_dir['basedir'] . '/models';
     136
     137            // Certifique-se de que o diretório de destino exista; caso contrário, crie-o
     138            if (!file_exists($custom_upload_dir)) {
     139                wp_mkdir_p($custom_upload_dir);
     140            }
     141
     142            // Gere um nome de arquivo único
     143            $unique_filename = wp_unique_filename($custom_upload_dir, $uploaded_file['name']);
     144
     145            // Caminho completo para o arquivo de destino
     146            $target_file = $custom_upload_dir . '/' . $unique_filename;
     147
     148            // Move o arquivo para o diretório de destino personalizado
     149            if (move_uploaded_file($uploaded_file['tmp_name'], $target_file)) {
     150                $status = $this->save_model(array(
     151                    'path' => $target_file,
     152                    'url'  => $upload_dir['baseurl'] . '/models/' . $unique_filename
     153                ));
     154               
     155                wp_redirect(admin_url('admin.php?page=devapps-certificate-generator&status='.  $status));
     156                exit;
     157            }
     158        }
     159    }
     160   
     161    public function save_model(array $data){
     162        global $wpdb;
     163        try {
     164            $wpdb->insert("{$wpdb->prefix}devapps_certificate_models", $data);
     165            return 1;
     166        } catch (Exception $ex) {
     167            return 0;
     168        }
    112169    }
    113170
     
    116173        $data['model'] = DEVAPPS_CERTIFICATE_GENERATOR_PATH . "models/default.jpg";
    117174
    118         if (isset($_POST['model']) && !empty($_POST['model']) && $_POST['model'] != "default") {
     175        if (isset($_POST['model']) && !empty($_POST['model']) && $_POST['model'] != "default") {
    119176            $model = $this->check_model_exists($_POST['model']);
    120 
    121177            if ($model && file_exists($model->path)) {
    122178                $data['model'] = $model->path;
    123179            }
    124180        }
    125 
    126         $data['person']     = sanitize_text_field($_POST['person']);
    127         $data['course']     = sanitize_text_field($_POST['course']);
     181       
     182        $data['person']     = $_POST['person']);
     183        $data['course']     = $_POST['course']);
    128184        $data['preview']    = sanitize_text_field($_POST['preview']);
    129185
     
    174230        global $wpdb;
    175231
    176         $result = $wpdb->get_row("SELECT * FROM {$wpdb->prefix}certificate_models WHERE code = '${$model}';");
    177 
     232        $result = $wpdb->get_row("SELECT * FROM {$wpdb->prefix}devapps_certificate_models WHERE code = '{$model}';");
    178233        if (!empty($result)) {
    179234            return $result;
  • gerador-de-certificados-devapps/trunk/admin/js/devapps-certificate-generator-admin.js

    r2865262 r2961302  
    288288        });
    289289
    290 
     290        $('#upload_model_file').on('change',function(){
     291            var fileName = $(this).val();
     292            $(this).next('.custom-file-label').html(fileName);
     293        })
    291294
    292295        course_name.on('input', function () {
  • gerador-de-certificados-devapps/trunk/admin/views/main.php

    r2865262 r2961302  
    4444                    <div class="tab-pane fade show active" id="pills-models" role="tabpanel" aria-labelledby="pills-models-tab">
    4545                        <?php
    46                             devapps_get_view('tabs/models', true);
     46                            devapps_get_view('tabs/models', true);
    4747                        ?>
    4848                    </div>
  • gerador-de-certificados-devapps/trunk/admin/views/tabs/generate.php

    r2865262 r2961302  
    1010    </div>
    1111    <div class="row">
    12         <div class="col-12 mb-4">
     12        <div class="col-12 mb-4">
    1313            <div class="form-check form-check-inline p-0">
    1414                <input class="form-check-input" type="checkbox" value="1" id="send_mail">
     
    1717                </label>
    1818            </div>
    19         </div>
     19        </div>
    2020    </div>
    2121    <div class="row">
  • gerador-de-certificados-devapps/trunk/admin/views/tabs/models.php

    r2865262 r2961302  
    4242            </div>
    4343        </div>
     44
     45
     46
     47
     48
     49
     50
     51
     52
     53
     54
     55
     56
     57
     58
     59
    4460    </div>
    4561    <div class="row">
  • gerador-de-certificados-devapps/trunk/devapps-certificate-generator.php

    r2865262 r2961302  
    1010 *
    1111 * @link              https://devapps.com.br
    12  * @since             1.0.0
     12 * @since             1.0.
    1313 * @package           Devapps_Certificate_Generator
    1414 *
     
    1717 * Plugin URI:        https://devapps.com.br/plugins/devapps-certificate-generator
    1818 * Description:       Gerador de certificados para cursos e eventos.
    19  * Version:           1.0.2
     19 * Version:           1.0.
    2020 * Author:            DevApps Consultoria e Desenvolvimento de Sistemas
    2121 * Author URI:        https://devapps.com.br
     
    3636 * Rename this for your plugin and update it as you release new versions.
    3737 */
    38 define('DEVAPPS_CERTIFICATE_GENERATOR_VERSION', '1.0.2');
     38define('DEVAPPS_CERTIFICATE_GENERATOR_VERSION', '1.0.');
    3939
    4040
  • gerador-de-certificados-devapps/trunk/includes/class-devapps-certificate-generator-activator.php

    r2865262 r2961302  
    3535        require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
    3636
    37         if (version_compare(DEVAPPS_CERTIFICATE_GENERATOR_VERSION, "1.0.0", "==")) {
     37        if (version_compare(DEVAPPS_CERTIFICATE_GENERATOR_VERSION, "")) {
    3838            self::create_tables_1_0_0();
    3939        }
Note: See TracChangeset for help on using the changeset viewer.