Changeset 20202


Ignore:
Timestamp:
01/17/13 00:06:49 (6 years ago)
Author:
julien1311
Message:

[piwecard] several changes (almost 2.4.a.b4)

Location:
extensions/Piwecard
Files:
14 edited

Legend:

Unmodified
Added
Removed
  • extensions/Piwecard/admin/admin_configuration.php

    r20162 r20202  
    3333    $configuration['sender_copy'] = ((isset($_POST['ecard_sender_copy']) && $_POST['ecard_sender_copy'] == '1') ? true : false); 
    3434        $configuration['image_size'] = $_POST['ecard_image_size']; 
    35     $configuration['sender_email_change'] = ((isset($_POST['ecard_sender_email_change']) && $_POST['ecard_sender_email_change'] == '1') ? true : false); 
     35     
     36        $configuration['image_border']['display'] = ((isset($_POST['ecard_image_border']) && $_POST['ecard_image_border'] == '1') ? true : false); 
     37        $configuration['image_border']['style'] = $_POST['ecard_image_border_style']; 
     38        $configuration['image_border']['width'] = ((isset($_POST['ecard_image_border_width']) && $_POST['ecard_image_border_width'] != '1') ? $_POST['ecard_image_border_width'] : $piwecard->get_default_config_param('ecard_image_border_width')); 
     39        $configuration['image_border']['color'] = ((isset($_POST['ecard_image_border_color']) && $_POST['ecard_image_border_color'] != '1') ? $_POST['ecard_image_border_color'] : $piwecard->get_default_config_param('ecard_image_border_color')); 
     40         
     41        $configuration['sender_email_change'] = ((isset($_POST['ecard_sender_email_change']) && $_POST['ecard_sender_email_change'] == '1') ? true : false); 
    3642         
    3743        $ecard_email_format_array = array(); 
     
    8793 
    8894if (isset($_POST['reset'])) { 
    89         require(PIWECARD_INSTALL_PATH.'default_values.inc.php'); 
    90          
    91         $piwecard->config['email_subject'] = $ecard_default_values['email_subject']; 
    92         $piwecard->config['email_message']['text'] = $ecard_default_values['email_message']['text']; 
    93         $piwecard->config['email_message']['html'] = $ecard_default_values['email_message']['html']; 
     95        $piwecard->config['email_subject'] = $piwecard->get_default_config_param('email_subject'); 
     96        $email_message = $piwecard->get_default_config_param('email_message'); 
     97        $piwecard->config['email_message']['text'] = $email_message['text']; 
     98        $piwecard->config['email_message']['html'] = $email_message['html']; 
    9499         
    95100        $piwecard->set_config(); 
     
    126131$template->assign('generate_derivatives_types', $derivative_map); 
    127132 
     133$template->assign('ecard_image_border', (($piwecard->config['image_border']['display']) ? 'checked="checked"' : '')); 
     134$template->assign('ecard_image_border_style', array( 
     135                                                                                                        'solid' => (($piwecard->config['image_border']['style'] == 'solid') ? 'checked="checked"' : ''), 
     136                                                                                                        'dashed' => (($piwecard->config['image_border']['style'] == 'dashed') ? 'checked="checked"' : ''), 
     137                                                                                                        'dotted' => (($piwecard->config['image_border']['style'] == 'dotted') ? 'checked="checked"' : ''), 
     138                                                                                                        'double' => (($piwecard->config['image_border']['style'] == 'double') ? 'checked="checked"' : ''), 
     139                                                                                                ) 
     140); 
     141$template->assign('ecard_image_border_width', $piwecard->config['image_border']['width']); 
     142$template->assign('ecard_image_border_color', $piwecard->config['image_border']['color']); 
     143 
    128144$template->assign('ecard_sender_copy', $piwecard->config['sender_copy'] ? 'checked="checked"' : ''); 
    129145$template->assign('ecard_sender_email_change', $piwecard->config['sender_email_change'] ? 'checked="checked"' : ''); 
  • extensions/Piwecard/admin/admin_management.php

    r20112 r20202  
    66$piwecard = get_plugin_data($plugin_id); 
    77 
    8 $query = 'SELECT * FROM '.PIWECARD_TABLE; 
     8$query = 'SELECT DISTINCT ecard_id, sender_name, sender_email, title, message, image, date_creation, date_validity FROM '.PIWECARD_TABLE; 
    99         
    1010if (isset($_POST['ecard_form_filter_submit'])) { 
     
    8484 
    8585$start =  (isset($_GET['start']) ? $_GET['start'] : 0); 
    86 if ($start != 0 and $piwecard->get_nb_ecard() == $piwecard->config['nb_ecard_page']) 
     86if ($start != 0 and $piwecard->get_nb_ecard() <= $piwecard->config['nb_ecard_page']) 
    8787        $start = 0; 
    8888 
     
    101101 
    102102while($file = pwg_db_fetch_assoc($result)) { 
    103         $ecard_url = embellish_url(get_absolute_root_url() . './index.php?/ecard/'.$file['id']); 
     103        //Recipients 
     104        $recipients = array(); 
     105        $query2 = 'SELECT recipient_name, recipient_email FROM piwigo_piwecard WHERE ecard_id="'.$file['ecard_id'].'";'; 
     106        $result2 = pwg_query($query2); 
     107         
     108        while($row = pwg_db_fetch_assoc($result2)) { 
     109                array_push($recipients, array( 
     110                                                                        'name' => $row['recipient_name'], 
     111                                                                        'email' => $row['recipient_email'], 
     112                                                                ) 
     113                ); 
     114        } 
     115         
     116        $ecard_url = embellish_url(get_absolute_root_url() . './index.php?/ecard/'.$file['ecard_id']); 
    104117 
    105118        // Check if the ecard is valid  
    106         $valid = $piwecard->is_valid($file['id']); 
     119        $valid = $piwecard->is_valid($file['ecard_id']); 
    107120 
    108121        $template->append('ecard_file',array( 
    109                                                                         'id'                            => $file['id'], 
     122                                                                        'id'                            => $file['ecard_id'], 
    110123                                                                        'title'                         => $file['title'], 
    111124                                                                        'url'                           => $ecard_url, 
    112125                                                                        'sender_name'           => $file['sender_name'], 
    113126                                                                        'sender_email'          => $file['sender_email'], 
    114                                                                         'recipient_name'        => $file['recipient_name'], 
    115                                                                         'recipient_email'       => $file['recipient_email'], 
     127                                                                        'recipients'            => $recipients, 
    116128                                                                        'date_creation'         => strftime('%d/%m/%y %H:%M', strtotime($file['date_creation'])), 
    117129                                                                        'date_validity'         => (isset($file['date_validity'])) ? strftime('%d/%m/%y %H:%M', strtotime($file['date_validity'])) : l10n('piwecard_nolimit'), 
  • extensions/Piwecard/admin/template/admin_configuration.tpl

    r20162 r20202  
    33{combine_script id='jquery.tokeninput' load='async' require='jquery' path='themes/default/js/plugins/jquery.tokeninput.js'} 
    44{combine_script id='piwecard' load="footer" path='plugins/Piwecard/js/piwecard.js'} 
     5{combine_script id='colorpicker' load="footer" path='plugins/Piwecard/js/colorpicker/js/colorpicker.js'} 
     6{combine_css path="plugins/Piwecard/js/colorpicker/css/colorpicker.css"} 
    57 
    68{footer_script require="piwecard"} 
     
    3133                        $("#ecard_email_format_default_text").prop('checked', true); 
    3234                } 
     35        }); 
     36         
     37        if ($("#ecard_image_border").prop('checked') == true) { 
     38                $("#ecard_image_border_options").css("display","block"); 
     39        } else { 
     40                $("#ecard_image_border_options").css("display","none"); 
     41        } 
     42 
     43        $("#ecard_image_border").change(function(){ 
     44                if ($("#ecard_image_border").prop('checked') == true) { 
     45                        $("#ecard_image_border_options").show("fast"); 
     46                } else { 
     47                        $("#ecard_image_border_options").hide("fast"); 
     48                } 
     49        }); 
     50         
     51        $('#ecard_image_border_color').ColorPicker({ 
     52                onSubmit: function(hsb, hex, rgb, element) { 
     53                        $(element).val(hex); 
     54                        $(element).ColorPickerHide(); 
     55                }, 
     56                onBeforeShow: function () { 
     57                        $(this).ColorPickerSetColor(this.value); 
     58                }, 
     59                onChange: function (hsb, hex, rgb) { 
     60                        $('#ecard_image_border_color').val(hex); 
     61                } 
     62        }) 
     63        .bind('keyup', function(){ 
     64                $(this).ColorPickerSetColor(this.value); 
    3365        }); 
    3466}); 
     
    110142                                {/foreach} 
    111143                        </div> 
     144                        <div class="ecard_form_line"> 
     145                                <div> 
     146                                        <input type="checkbox" name="ecard_image_border" id="ecard_image_border" {$ecard_image_border} value="1" /> 
     147                                        <label for="ecard_image_border"> {'piwecard_image_border'|@translate}</label> 
     148                                </div> 
     149                                <div id="ecard_image_border_options"> 
     150                                        <span> 
     151                                                <label for="ecard_image_border_style">{'piwecard_image_border_style'|@translate}</label> 
     152                                                <select name="ecard_image_border_style" id="ecard_image_border_style"> 
     153                                                        <option value="solid" {$ecard_image_border_style.solid}>{'piwecard_image_border_solid'|@translate}</option> 
     154                                                        <option value="dashed" {$ecard_image_border_style.dashed}>{'piwecard_image_border_dashed'|@translate}</option> 
     155                                                        <option value="dotted" {$ecard_image_border_style.dotted}>{'piwecard_image_border_dotted'|@translate}</option> 
     156                                                        <option value="double"{$ecard_image_border_style.double}>{'piwecard_image_border_double'|@translate}</option> 
     157                                                </select> 
     158                                        </span> 
     159                                        <span> 
     160                                                <label for="ecard_image_border_width">{'piwecard_image_border_width'|@translate}</label> 
     161                                                <input type="text" size="6" maxlength="20" name="ecard_image_border_width" id="ecard_image_border_width" value="{$ecard_image_border_width}" /> 
     162                                        </span> 
     163                                        <span> 
     164                                                <label for="ecard_image_border_color">{'piwecard_image_border_color'|@translate}</label> 
     165                                                <input type="text" maxlength="6" size="6" name="ecard_image_border_color" id="ecard_image_border_color" value="{$ecard_image_border_color}" /> 
     166                                        </span> 
     167                                </div> 
     168                        </div> 
    112169                </fieldset> 
    113170 
  • extensions/Piwecard/admin/template/admin_management.tpl

    r20112 r20202  
    103103                                                        </td> 
    104104                                                        <td> 
    105                                                                 <a href="{$ecard_file.url}">{$ecard_file.title}</a> 
     105                                                                <a href="{$ecard_file.url}" target="_blank">{$ecard_file.title}</a> 
    106106                                                        </td> 
    107107                                                        <td> 
     
    109109                                                        </td> 
    110110                                                        <td> 
    111                                                                 {$ecard_file.recipient_name} ({$ecard_file.recipient_email})  
     111                                                                {foreach from=$ecard_file.recipients item=recipient} 
     112                                                                        {$recipient.name} ({$recipient.email})<br /> 
     113                                                                {/foreach} 
    112114                                                        </td> 
    113115                                                        <td> 
     
    123125                                </tbody> 
    124126                        </table> 
     127                        {if !empty($navbar)}{include file='navigation_bar.tpl'|@get_extent:'navbar'}{/if} 
    125128                        <fieldset> 
    126129                                <legend>{'piwecard_delete_selected'|@translate}</legend> 
     
    144147        {/if} 
    145148</div> 
    146 {if !empty($navbar)}{include file='navigation_bar.tpl'|@get_extent:'navbar'}{/if} 
  • extensions/Piwecard/include/piwecard.class.php

    r20180 r20202  
    3434        } 
    3535 
     36        //Get the default value of a parameter 
     37        function get_default_config_param($param) { 
     38            require(PIWECARD_INSTALL_PATH.'default_values.inc.php'); 
     39                return $ecard_default_values[$param]; 
     40        } 
     41         
    3642        // Save  general configuration to config_database 
    3743        function set_config() { 
     
    8086        // Get the number of ecard in the database 
    8187        function get_nb_ecard() { 
    82                 $query = 'SELECT COUNT(DISTINCT id) AS nb FROM '.PIWECARD_TABLE.' ORDER BY date_creation;'; 
     88                $query = 'SELECT COUNT(DISTINCT ecard_id) AS nb FROM '.PIWECARD_TABLE.' ORDER BY date_creation;'; 
    8389                $result = pwg_query($query); 
    8490                 
     
    9298        // Get the number of valid ecard in the database 
    9399        function get_nb_valid_ecard() { 
    94                 $query = 'SELECT COUNT(DISTINCT id) AS nb FROM '.PIWECARD_TABLE.' WHERE date_validity IS NULL OR date_validity > NOW();'; 
     100                $query = 'SELECT COUNT(DISTINCT ecard_id) AS nb FROM '.PIWECARD_TABLE.' WHERE date_validity IS NULL OR date_validity > NOW();'; 
    95101                $result = pwg_query($query); 
    96102                 
     
    106112        function get_ecard($ecard_id = null) { 
    107113                if ($ecard_id!== null) { 
    108                         $query = 'SELECT * FROM ' . PIWECARD_TABLE .' WHERE id ="' . $ecard_id . '" LIMIT 1;'; 
     114                        $query = 'SELECT * FROM ' . PIWECARD_TABLE .' WHERE ecard_id="' . $ecard_id . '" LIMIT 1;'; 
    109115 
    110116                        $result = pwg_query($query); 
     
    144150        function delete_ecard($ecard_id = null) { 
    145151                if (isset($ecard_id)) { 
    146                         $query = 'DELETE FROM ' . PIWECARD_TABLE .' WHERE id="' . $ecard_id  . '";'; 
     152                        $query = 'DELETE FROM ' . PIWECARD_TABLE .' WHERE ecard_id="' . $ecard_id  . '";'; 
    147153                        pwg_query($query); 
    148154                } else 
     
    294300                                                        return; 
    295301                                                 
    296                                                 foreach ($_POST['ecard_recipient_name'] as $recipient) 
    297                                                         if ($recipient == '') 
    298                                                                 return; 
    299                                                  
    300                                                 foreach ($_POST['ecard_recipient_email'] as $recipient) 
    301                                                 if ($recipient == '' OR !$this->is_valid_email($recipient)) { 
    302                                                         return; 
    303                                                 } 
    304                                                  
    305302                                                // Initialize the array for image element 
    306303                                                $image_element = array(); 
     
    314311                                                // Generate random number 
    315312                                                $next_element_id_random  = $this->random(64); 
    316                                                 while (pwg_db_num_rows(pwg_query('SELECT id FROM '.PIWECARD_TABLE.' WHERE id="'.$next_element_id_random.'";')) != 0) { 
     313                                                while (pwg_db_num_rows(pwg_query('SELECT ecard_id FROM '.PIWECARD_TABLE.' WHERE ecard_id="'.$next_element_id_random.'";')) != 0) { 
    317314                                                        $next_element_id_random  = $this->random(64); 
    318315                                                } 
     
    348345                                                $recipient_infos = array_combine($_POST['ecard_recipient_name'], $_POST['ecard_recipient_email']); 
    349346                                                foreach ($recipient_infos as $recipient_name => $recipient_email) { 
     347                                                        if ($recipient_name == '' OR $recipient_email == '' OR !$this->is_valid_email($recipient_email)) 
     348                                                                continue; 
     349                                                 
    350350                                                        $parse_list = array( 
    351351                                                                                                'ecard_sender_name' => $_POST['ecard_sender_name'], 
     
    357357                                                        ); 
    358358                                                 
    359                                                         $email_subject = htmlspecialchars_decode($this->parse($this->config['email_subject'], $parse_list, $image_element)); 
    360                                                         $email_message = htmlspecialchars_decode($this->parse($this->config['email_message'][$email_format], $parse_list, $image_element)); 
    361                                                         $email_arg=array(       'from'                          => $_POST['ecard_sender_email'], 
    362                                                                                                 'subject'                       => $email_subject, 
    363                                                                                         ); 
     359                                                        $email_infos = array( 
     360                                                                                                'from_name' => $_POST['ecard_sender_name'], 
     361                                                                                                'from_email' => (isset($_POST['ecard_sender_email']) ? $_POST['ecard_sender_email'] : $user['email']), 
     362                                                                                                'to' => $recipient_email, 
     363                                                                                                'subject' => htmlspecialchars_decode($this->parse($this->config['email_subject'], $parse_list, $image_element)), 
     364                                                        ); 
    364365                                                         
     366                                                        $email_message_text = stripslashes(strip_tags($this->parse($this->config['email_message']['text'], $parse_list, $image_element))); 
     367                                                        $email_message_html = stripslashes($this->parse($this->config['email_message']['html'], $parse_list, $image_element)); 
    365368                                                        switch($email_format) { 
    366369                                                                case 'text': // text 
    367                                                                         $email_arg = array_merge($email_arg, array( 
    368                                                                                                                                                                 'content'                       => $email_message, 
    369                                                                                                                                                                 'content_format'        => "text/html", 
    370                                                                                                                                                                 'email_format'          => "text/plain" 
    371                                                                                                                                                         ) 
     370                                                                        $email_infos['message'] = array( 
     371                                                                                                                                        'text' => $email_message_text 
    372372                                                                        ); 
    373373                                                                        break; 
    374374                                                                case 'html': // html 
    375                                                                         $email_arg = array_merge($email_arg, array( 
    376                                                                                                                                                                 'content'                       => '<html><head><title>'.$email_subject.'</title></head><body>'.$email_message.'</body></html>', 
    377                                                                                                                                                                 'content_format'        => "text/html", 
    378                                                                                                                                                                 'email_format'          => array("text/plain", "text/html"), 
    379                                                                                                                                                         ) 
     375                                                                        $email_infos['message'] = array( 
     376                                                                                                                                        'text' => $email_message_text, 
     377                                                                                                                                        'html' => $email_message_html, 
    380378                                                                        ); 
    381379                                                                default: 
     
    383381                                                        } 
    384382                                                         
     383                                                        $this->mail($email_infos); 
     384                                                         
    385385                                                        // Add the copy to expe if param. 
    386386                                                        if (isset($_POST['ecard_copy']))        // send copy to sender 
    387                                                                 $email_arg['Bcc'] = array((isset($_POST['ecard_sender_email']) ? $_POST['ecard_sender_email'] : $user['email'])); 
    388                                                          
    389                                                         pwg_mail($recipient_email, $email_arg); 
    390                                                          
     387                                                                $email_infos['bcc'] = $email_infos['from_email']; 
     388 
     389                                                        //Insert into database 
    391390                                                        $insert = array( 
    392                                                                                 'id'                            => $image_element['next_element_id'], 
     391                                                                                'ecard_id'                      => $image_element['next_element_id'], 
    393392                                                                                'sender_name'           => $_POST['ecard_sender_name'], 
    394393                                                                                'recipient_name'        => $recipient_name, 
     
    412411                } 
    413412        } 
     413         
     414        //Send an email 
     415        function mail($email_infos) { 
     416                $from = $email_infos['from_name']." <".$email_infos['from_email'].">"; 
     417                $subject = encode_mime_header(trim(preg_replace('#[\n\r]+#s', '', $email_infos['subject']))); 
     418                $boundary = '_----------='.md5(uniqid(mt_rand())); 
     419 
     420                $headers  = 'From: '.$from."\n"; 
     421                $headers .= 'Reply-To: '.$from."\n"; 
     422                if (!empty($email_infos['bcc'])) 
     423                        $headers .= 'Bcc: '.$email_infos['bcc']."\n"; 
     424                $headers .= 'X-Sender: <'.get_absolute_root_url().'>'."\n"; 
     425                $headers .= 'X-Mailer: Piwigo Mailer'."\n"; 
     426                $headers .= 'X-auth-smtp-user: '.$from."\n"; 
     427                $headers .= 'X-abuse-contact: '.$from."\n"; 
     428                $headers .= 'Date: '.date("D, j M Y G:i:s O")."\n"; 
     429 
     430                $message = ''; 
     431                 
     432                if (empty($email_infos['message']['html'])) {           //Text plain email 
     433                        $headers .= 'Content-Transfer-Encoding: 8bit'."\n"; 
     434                        $message .= $email_infos['message']['text']; 
     435                } else { 
     436                        $headers .= 'MIME-Version: 1.0'."\n"; 
     437                        $headers .= 'Content-Type: multipart/alternative; boundary="'.$boundary.'"'; 
     438                        $message  .= 'This is a multi-part message in MIME format'."\n\n"; 
     439                        $message .= '--'.$boundary."\n"; 
     440                        $message .= 'Content-Type: text/plain; charset="'.get_pwg_charset().'"'."\n"; 
     441                        $message .= 'Content-Transfer-Encoding: binary'."\n\n"; 
     442                        $message .= $email_infos['message']['text']."\n\n"; 
     443                        $message .= '--'.$boundary."\n"; 
     444                        $message .= 'Content-Type: text/html; charset="'.get_pwg_charset().'"'."\n"; 
     445                        $message .= 'Content-Transfer-Encoding: binary;'."\n\n"; 
     446                        $message .= $email_infos['message']['html']."\n\n"; 
     447                        $message .= '--'.$boundary."--\n"; 
     448                } 
     449                 
     450                mail($email_infos['to'], $subject, $message, $headers); 
     451        } 
    414452} 
    415453?> 
  • extensions/Piwecard/include/publish.inc.php

    r20103 r20202  
    1010 
    1111if (isset($ecard_id) and $ecard_id != '' and $piwecard->is_valid($ecard_id)) { 
    12         $query = 'SELECT * FROM '.PIWECARD_TABLE.' WHERE id = "'.$ecard_id.'";'; 
     12        $query = 'SELECT * FROM '.PIWECARD_TABLE.' WHERE ecard_id="'.$ecard_id.'";'; 
    1313        $result = pwg_query($query); 
    1414        $result_array = pwg_db_fetch_assoc($result); 
    1515 
    16         if (isset($result_array['id'])) { 
     16        if (isset($result_array['ecard_id'])) { 
    1717                //Recover img infos. 
    1818                $query = 'SELECT DISTINCT * FROM '.IMAGES_TABLE.' AS img WHERE img.id = '.$result_array['image'].';'; 
     
    4141                                'image_title'   => (($piwecard->config['show_image_infos'] == '1') ? $row['name'] : null), 
    4242                                'image_author'  => (($piwecard->config['show_image_infos'] == '1') ? $row['author'] : null), 
    43                                 )); 
     43                                'image_border'  => array( 
     44                                                                                'display' => $piwecard->config['image_border']['display'], 
     45                                                                                'style' => $piwecard->config['image_border']['style'], 
     46                                                                                'width' => $piwecard->config['image_border']['width'], 
     47                                                                                'color' => $piwecard->config['image_border']['color'], 
     48                                ), 
     49                        ) 
     50                ); 
    4451                 
    4552        } 
  • extensions/Piwecard/install/default_values.inc.php

    r20180 r20202  
    1212$ecard_default_values['validity_default'] = '10';                                       //Default number of days a card is available 
    1313$ecard_default_values['validity_choice'] = true;                                        //Add function for a user to choose the valid duration of an ecard 
     14$ecard_default_values['image_border'] = array(                                          //Add a border to the image in the ecard page 
     15                                                        'display'       => false, 
     16                                                        'style'         => 'solid', 
     17                                                        'width'         => '10px', 
     18                                                        'color'         => '#FFFFFF', 
     19); 
    1420$ecard_default_values['sender_copy'] = false;                                           //Send a copy to sender 
    1521$ecard_default_values['image_size'] = 'small';                                          //Size of the image in the ecard 
  • extensions/Piwecard/install/functions.inc.php

    r20104 r20202  
    22function piwecard_db_create($table) { 
    33        $query = 'CREATE TABLE ' . $table . ' ( 
    4                                                 id CHAR(64) NOT NULL, 
     4                                                unique_id INT NOT NULL AUTO_INCREMENT, 
     5                                                ecard_id CHAR(64) NOT NULL, 
    56                                                sender_name CHAR(100) NOT NULL, 
    67                                                sender_email CHAR(100) NOT NULL, 
     
    1213                                                date_creation DATETIME NOT NULL, 
    1314                                                date_validity DATETIME DEFAULT NULL, 
    14                                                 PRIMARY KEY (id) 
     15                                                PRIMARY KEY (unique_id) 
    1516                                        ) DEFAULT CHARSET=utf8;'; 
    1617        pwg_query($query); 
     
    2223} 
    2324 
    24 function piwecard_db_populate($old_table, $new_table) { 
     25function piwecard_db_update_from_2_3($old_table, $new_table) { 
    2526        $query = 'SELECT * FROM '.$old_table.';'; 
    2627        $result = pwg_query($query); 
     
    2829        while($data = pwg_db_fetch_assoc($result)) { 
    2930                $insert = array( 
    30                                         'id' => $data['numero'], 
     31                                        'ecard_id' => $data['numero'], 
    3132                                        'sender_name' => $data['nomexp'], 
    3233                                        'sender_email' => $data['adrexp'], 
     
    4849} 
    4950 
     51function piwecard_db_update_from_2_4a_b3($table) { 
     52        $query = 'ALTER TABLE '.$table.' DROP PRIMARY KEY;'; 
     53        $result = pwg_query($query); 
     54        $query = 'ALTER TABLE '.$table.' ADD unique_id INT NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (unique_id);'; 
     55        $result = pwg_query($query); 
     56        $query = 'ALTER TABLE '.$table.' CHANGE id ecard_id CHAR(64) NOT NULL;'; 
     57        $result = pwg_query($query); 
     58} 
     59 
    5060function piwecard_conf_create($name) { 
    5161        $query = 'INSERT INTO '.CONFIG_TABLE.' (param,value,comment) VALUES ("'.$name.'","","'.ucfirst($name).' configuration");'; 
  • extensions/Piwecard/js/piwecard.js

    r20180 r20202  
    1111                switch (elementType) { 
    1212                        case TEXT: 
    13                                 if (element.value == '' || (element.value == element.title || element.className == "DefaultText")) { 
     13                                if (element.value == '' || element.className.indexOf("ecard_defaultTextActive") > 0) { 
    1414                                        document.getElementById(element.id+'_error').style.display = 'block'; 
    1515                                        element.className += " ecard_error_input"; 
  • extensions/Piwecard/language/en_UK/plugin.lang.php

    r20180 r20202  
    5656$lang['piwecard_ecard_image_infos']                     = 'Image info (title and author)'; 
    5757$lang['piwicard_email_reset']                                   = 'Reset * fields with default values in your language'; 
     58$lang['piwecard_image_border']                                  = 'Add a border to the e-card image:'; 
     59$lang['piwecard_image_border_style']                    = 'Style:'; 
     60$lang['piwecard_image_border_solid']                    = 'Solid'; 
     61$lang['piwecard_image_border_dashed']                   = 'Dashed'; 
     62$lang['piwecard_image_border_dotted']                   = 'Dotted'; 
     63$lang['piwecard_image_border_double']                   = 'Double'; 
     64$lang['piwecard_image_border_width']                    = 'Width:'; 
     65$lang['piwecard_image_border_color']                    = 'Color:'; 
    5866 
    5967//admin_management.tpl 
  • extensions/Piwecard/language/fr_FR/plugin.lang.php

    r20180 r20202  
    5656$lang['piwecard_ecard_image_infos'] = 'Informations de l\'image (titre et auteur)'; 
    5757$lang['piwicard_email_reset'] = 'RAZ champs * avec les valeurs par défaut dans votre langue'; 
     58$lang['piwecard_image_border'] = 'Ajoute une bordure à l\'image dans l\'ecard'; 
     59$lang['piwecard_image_border_style'] = 'Style :'; 
     60$lang['piwecard_image_border_solid'] = 'Continue'; 
     61$lang['piwecard_image_border_dashed'] = 'Tirets'; 
     62$lang['piwecard_image_border_dotted'] = 'Pointillés'; 
     63$lang['piwecard_image_border_double'] = 'Double'; 
     64$lang['piwecard_image_border_width'] = 'Largeur :'; 
     65$lang['piwecard_image_border_color'] = 'Couleur :'; 
    5866 
    5967//admin_management.tpl 
  • extensions/Piwecard/maintain.inc.php

    r19956 r20202  
    2727                if (pwg_db_num_rows($result_piwecard) == 0){ 
    2828                        piwecard_db_create($prefixeTable.'piwecard'); 
    29                         piwecard_db_populate($prefixeTable.'ecard', $prefixeTable.'piwecard'); 
     29                        piwecard_db_update_from_2_3($prefixeTable.'ecard', $prefixeTable.'piwecard'); 
    3030                } 
    3131                piwecard_db_delete($prefixeTable.'ecard'); 
    3232                 
    3333                piwecard_conf_rename('ecard', 'piwecard'); 
     34        } 
     35         
     36        $query_unique_id = 'SHOW COLUMNS FROM '.$prefixeTable.'piwecard LIKE "unique_id"'; 
     37        $result_unique_id = pwg_query($query_unique_id); 
     38        if(pwg_db_num_rows($result_unique_id) == 0) { 
     39                piwecard_db_update_from_2_4a_b3($prefixeTable.'piwecard'); 
    3440        } 
    3541} 
  • extensions/Piwecard/template/ecard.tpl

    r20180 r20202  
    33 
    44{footer_script require="piwecard"}{literal} 
    5 jQuery(document).ready(function(){ 
    6         jQuery(".createECardOpen").colorbox({ 
     5jQuery(document).ready(function(){       
     6        jQuery("#createECardOpen").colorbox({ 
    77                inline:true, 
    88                href:"#addECardForm", 
     
    1111                height:"90%", 
    1212                onComplete:function(){ 
     13                        $("#cboxLoadedContent").css('background-color', $("#the_page #content").css('background-color')); 
    1314                        $(".ecard_defaultText").blur(); 
    1415                } 
     
    7980        var allRecipientEmailsOK = false; 
    8081         
    81         recipientNameOK[0] = piwecard_checkField(form.ecard_recipient_name_0, 0); 
    82         recipientEMailOK[0] = piwecard_checkField(form.ecard_recipient_email_0, 1); 
    83          
    84         while(document.getElementById("ecard_recipient_email_" + (nbAdditionalRecipients++))) { 
     82        while(document.getElementById("ecard_recipient_email_" + nbAdditionalRecipients)) { 
    8583                var id_name = "ecard_recipient_name_"+nbAdditionalRecipients; 
    8684                var id_email = "ecard_recipient_email_"+nbAdditionalRecipients; 
    8785                recipientEMailOK[nbAdditionalRecipients] = piwecard_checkField(document.getElementById(id_email), 1, true); 
    88                 if (recipientEMailOK[nbAdditionalRecipients] && document.getElementById(id_email).value != '') 
     86                if (nbAdditionalRecipients == 0) { 
     87                        recipientNameOK[0] = piwecard_checkField(form.ecard_recipient_name_0, 0); 
     88                        recipientEMailOK[0] = piwecard_checkField(form.ecard_recipient_email_0, 1); 
     89                } else if (recipientEMailOK[nbAdditionalRecipients] && document.getElementById(id_email).value != '') { 
    8990                        recipientNameOK[nbAdditionalRecipients] = piwecard_checkField(document.getElementById(id_name), 0, true); 
     91                } 
     92                nbAdditionalRecipients++; 
    9093        } 
    9194         
     
    184187</div> 
    185188<p> 
    186         <a href="#" class="createECardOpen" title="{'piwecard_send_link'|@translate}">{'piwecard_send_link'|@translate}</a> 
     189        <a href="#" class="createECardOpen" id="createECardOpen" title="{'piwecard_send_link'|@translate}">{'piwecard_send_link'|@translate}</a> 
    187190</p><p> 
  • extensions/Piwecard/template/publish.tpl

    r20059 r20202  
     1{html_head} 
     2{if $ecard.image_border.display} 
     3        <style type="text/css"> 
     4                #ecard_image {ldelim} 
     5                        border-style: {$ecard.image_border.style} !important; 
     6                        border-width: {$ecard.image_border.width} !important; 
     7                        border-color: #{$ecard.image_border.color} !important; 
     8                {rdelim} 
     9        </style> 
     10{/if} 
     11{/html_head} 
     12 
    113<div id="ecard"> 
    214        {if !isset($ecard)} 
     
    719                        <div class="ecard_center"> 
    820                                <a href="{$ecard.url}" alt="{$ecard.url}">  
    9                                         <img class="theImage" src="{$ecard.image}" alt="{$ecard.name}" title="{$ecard.name}"/>  
     21                                        <img class="theImage" id="ecard_image" src="{$ecard.image}" alt="{$ecard.name}" title="{$ecard.name}"/>  
    1022                                </a> 
    1123 
Note: See TracChangeset for help on using the changeset viewer.