Changeset 20162


Ignore:
Timestamp:
Jan 15, 2013, 12:41:50 AM (11 years ago)
Author:
julien1311
Message:

[piwecard] several improvements

Location:
extensions/Piwecard
Files:
13 edited

Legend:

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

    r20103 r20162  
    1010        $configuration = array();
    1111
    12     $configuration['validity_default'] = $_POST['ecard_validity_default'];
    13     $configuration['sender_copy'] = isset($_POST['ecard_sender_copy']);
     12        $configuration['validity'] = $_POST['ecard_validity_list'];
     13        $configuration['validity'] = explode(',', $configuration['validity']);
     14       
     15    $configuration['validity_default'] = isset($_POST['ecard_validity_default']) ? $_POST['ecard_validity_default'] : null;
     16       
     17        if ($configuration['validity'][0] == null) {
     18                $errors['validity'] = array(
     19                                                                        'style_error_text' => 'display: block;',
     20                                                                        'style_error_input'     => 'class="ecard_error_input"',
     21                );
     22        } elseif (!in_array($configuration['validity_default'], $configuration['validity'])) {
     23                $configuration['validity_default'] = $configuration['validity'];
     24        }
     25        $conf_validity = array();
     26        foreach ($configuration['validity'] as $validity) {
     27                array_push($conf_validity, intval($validity));
     28        }
     29        $configuration['validity'] = array_unique($conf_validity, SORT_NUMERIC);
     30        asort($configuration['validity']);
     31       
     32        $configuration['validity_choice'] = ((isset($_POST['ecard_validity_choice']) && $_POST['ecard_validity_choice'] == '1') ? true : false);
     33    $configuration['sender_copy'] = ((isset($_POST['ecard_sender_copy']) && $_POST['ecard_sender_copy'] == '1') ? true : false);
    1434        $configuration['image_size'] = $_POST['ecard_image_size'];
    15     $configuration['sender_email_change'] = isset($_POST['ecard_sender_email_change']);
     35    $configuration['sender_email_change'] = ((isset($_POST['ecard_sender_email_change']) && $_POST['ecard_sender_email_change'] == '1') ? true : false);
    1636       
    1737        $ecard_email_format_array = array();
     
    2343        if (!in_array($configuration['email_format_default'], $configuration['email_format_authorized']))
    2444                $errors['email_format_default'] = array(
    25                                                                                                 'style_error_text' => 'display: inline;',
     45                                                                                                'style_error_text' => 'display: block;',
    2646                );
    27     $configuration['show_image_infos'] = ((isset($_POST['ecard_show_image_infos']) && $_POST['ecard_show_image_infos'] == '1') ? '1' : '0');
     47    $configuration['show_image_infos'] = ((isset($_POST['ecard_show_image_infos']) && $_POST['ecard_show_image_infos'] == '1') ? true : false);
    2848    $configuration['default_guest_email'] = $_POST['ecard_default_guest_email'];
    29         if ($configuration['default_guest_email'] !='' && !$piwecard->is_valid_email($configuration['default_guest_email']))
     49        if ($configuration['default_guest_email'] != '' && !$piwecard->is_valid_email($configuration['default_guest_email']))
    3050                $errors['default_guest_email'] = array(
    31                                                                                                 'style_error_text'      => 'display: inline;',
    32                                                                                                 'style_error_input'     => 'class="ecard_admin_error_input"',
     51                                                                                                'style_error_text'      => 'display: block;',
     52                                                                                                'style_error_input'     => 'class="ecard_error_input"',
    3353                );
    3454        $configuration['email_subject'] = htmlspecialchars($_POST['ecard_email_subject']);
    3555        if ($configuration['email_subject'] == '')
    3656                $errors['email_subject'] = array(
    37                                                                                                 'style_error_text'      => 'display: inline;',
    38                                                                                                 'style_error_input'     => 'class="ecard_admin_error_input"',
     57                                                                                                'style_error_text'      => 'display: block;',
     58                                                                                                'style_error_input'     => 'class="ecard_error_input"',
    3959                );
    4060        $configuration['email_message']['text'] = htmlspecialchars($_POST['ecard_email_message_text']);
    4161        if ($configuration['email_message']['text'] == '')
    4262                $errors['email_message']['text'] = array(
    43                                                                                                 'style_error_text'      => 'display: inline;',
    44                                                                                                 'style_error_input'     => 'class="ecard_admin_error_input"',
     63                                                                                                'style_error_text'      => 'display: block;',
     64                                                                                                'style_error_input'     => 'class="ecard_error_input"',
    4565                );
    4666        $configuration['email_message']['html'] = stripslashes($_POST['ecard_email_message_html']);
    4767        if ($configuration['email_message']['html'] == '')
    4868                $errors['email_message']['html'] = array(
    49                                                                                                 'style_error_text'      => 'display: inline;',
    50                                                                                                 'style_error_input'     => 'class="ecard_admin_error_input"',
     69                                                                                                'style_error_text'      => 'display: block;',
     70                                                                                                'style_error_input'     => 'class="ecard_error_input"',
    5171                );
    5272       
     
    6686}
    6787
     88if (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'];
     94       
     95        $piwecard->set_config();
     96       
     97        array_push($page['infos'], l10n('Information data registered in database'));
     98}
     99
     100if (isset($errors['validity'])) {
     101        $piwecard->config['validity'] = null;
     102        $configuration['validity'] = null;
     103}
     104$template->assign('ecard_validity_list',((isset($configuration['validity'])) ? $configuration['validity'] : $piwecard->config['validity']));
     105
     106if (isset($piwecard->config['validity'])) {
     107        foreach($piwecard->config['validity'] as $validity) {
     108                $template->append('ecard_validity', array(
     109                                                                                                'id' => $validity,
     110                                                                                                'name' => ($validity == 0) ? l10n('piwecard_nolimit') : $validity.' '.l10n('piwecard_days'),
     111                                                                                                'selected' => (($piwecard->config['validity_default'] == $validity) ? 'selected' : ''),
     112                                                                                        )
     113                );
     114        }
     115}
     116$template->assign('ecard_validity_choice', $piwecard->config['validity_choice'] ? 'checked="checked"' : '');
     117
    68118$derivative_map = array();
    69119foreach(ImageStdParams::get_defined_type_map() as $params) {
     
    76126$template->assign('generate_derivatives_types', $derivative_map);
    77127
    78 foreach($piwecard->config['validity'] as $validity) {
    79         $template->append('ecard_validity', array(
    80                                                                                         'id' => $validity,
    81                                                                                         'name' => ($validity == 0) ? l10n('piwecard_nolimit') : $validity.' '.l10n('piwecard_days'),
    82                                                                                         'selected' => (($piwecard->config['validity_default'] == $validity) ? 'selected' : ''),
    83                                                                                 )
    84         );
    85 }
    86128$template->assign('ecard_sender_copy', $piwecard->config['sender_copy'] ? 'checked="checked"' : '');
    87129$template->assign('ecard_sender_email_change', $piwecard->config['sender_email_change'] ? 'checked="checked"' : '');
  • extensions/Piwecard/admin/admin_permissions.php

    r20088 r20162  
    3636}
    3737
    38 if (isset($_POST['submit'])) { 
     38if (isset($_POST['submit'])) {
    3939        $piwecard->config['authorized_cats'] = $_POST['ecard_authorized_cats'];
     40        if ($_POST['ecard_authorized_cats'] == 'user')
     41                $piwecard->config['user_cats_case_sensitive'] = ((isset($_POST['ecard_user_cats_case_sensitive']) && $_POST['ecard_user_cats_case_sensitive'] == '1') ? true : false);
    4042        $piwecard->set_config();
    4143        array_push($page['infos'], l10n('Information data registered in database'));
     
    8385                                                                'selected_cats_checked' => (($piwecard->config['authorized_cats'] == 'selected') ? 'checked="checked"' : ''),
    8486                                                                'user_cats_checked' => (($piwecard->config['authorized_cats'] == 'user') ? 'checked="checked"' : ''),
     87                                                                'user_cats_case_sensitive' => (($piwecard->config['user_cats_case_sensitive']) ? 'checked="checked"' : ''),
    8588                                                        )
    8689);
  • extensions/Piwecard/admin/template/admin_configuration.tpl

    r20112 r20162  
     1{include file='include/colorbox.inc.tpl'}
     2
     3{combine_script id='jquery.tokeninput' load='async' require='jquery' path='themes/default/js/plugins/jquery.tokeninput.js'}
    14{combine_script id='piwecard' load="footer" path='plugins/Piwecard/js/piwecard.js'}
    25
     
    3235
    3336function piwecard_checkForm(form) {
    34         var guestEmailOK;
    35         if (form.ecard_default_guest_email.value == '')
    36                 guestEmailOK = true;
    37         else
    38                 guestEmailOK = piwecard_checkField(form.ecard_default_guest_email, 1);
     37        var guestEmailOK = piwecard_checkField(form.ecard_default_guest_email, 1, true);
    3938        var subjectOK = piwecard_checkField(form.ecard_email_subject, 0);
    4039        var messageTextOK = piwecard_checkField(form.ecard_email_message_text, 0);
     
    4847{/literal}
    4948{/footer_script}
     49{footer_script require='jquery.tokeninput'}
     50jQuery(document).ready(function() {ldelim}
     51        jQuery('select[name="ecard_validity_list"]').tokenInput(
     52                [{foreach from=$validity item=validity name=validity}{ldelim}"{$validity|@escape:'javascript'}"{rdelim}{if !$smarty.foreach.validity.last},{/if}{/foreach}],
     53    {ldelim}
     54                searchDelay: 0,
     55                minChars: 1,
     56                hintText: '',
     57                noResultsText: '',
     58                searchingText: '',
     59                newText: '',
     60                animateDropdown: false,
     61                preventDuplicates: true,
     62                allowCreation: true,
     63                onAdd:function(item){ldelim}$("<option value=\""+item.name+"\">"+((item.name == '0') ? "{'piwecard_nolimit'|@translate}" : item.name+" {'piwecard_days'|@translate}")+"</option>").appendTo("#ecard_validity_default");{rdelim},
     64                onDelete:function(item){ldelim}$("#ecard_validity_default option[value="+item.name+"]").remove();{rdelim},
     65    }
     66  );
     67
     68  jQuery("a.preview-box").colorbox();
     69});
     70{/footer_script}
    5071
    5172<div class="titrePage">
     
    5374</div>
    5475<div id="ECardAdminConfiguration">
    55         <form method="post" onsubmit="return piwecard_checkForm(this);">
     76        <form method="post" action="" onsubmit="return piwecard_checkForm(this);">
    5677                <fieldset>
    5778                        <legend>{'piwecard_configuration'|@translate}</legend>
     79                        <div class="ecard_form_line">
     80                                {'piwecard_validity_list'|@translate}
     81                                <span class="ecard_error" id="ecard_validity_list_error" style="{$ecard_errors.validity.style_error_text}">{'piwecard_error'|@translate} {'piwecard_error_validity_list'|@translate}</span>
     82                                <select id="ecard_validity_list" name="ecard_validity_list">
     83                                        {foreach from=$ecard_validity_list item=ecard_validity_list}
     84                                                <option value="{$ecard_validity_list}">{$ecard_validity_list}</option>
     85                                        {/foreach}
     86                                </select>
     87                        </div>
    5888                        <div class="ecard_form_line">
    5989                                {'piwecard_validity_default'|@translate}
     
    6595                        </div>
    6696                        <div class="ecard_form_line">
    67                                 <input type="checkbox" name="ecard_show_image_infos" id="ecard_show_image_infos" {$ecard_show_image_infos} value="1" /><label for="ecard_show_image_infos"> {'piwecard_show_image_infos'|@translate}</label>
     97                                <input type="checkbox" name="ecard_validity_choice" id="ecard_validity_choice" {$ecard_validity_choice} value="1" />
     98                                <label for="ecard_validity_choice"> {'piwecard_validity_choice'|@translate}</label>
     99                        </div>
     100                        <div class="ecard_form_line">
     101                                <input type="checkbox" name="ecard_show_image_infos" id="ecard_show_image_infos" {$ecard_show_image_infos} value="1" />
     102                                <label for="ecard_show_image_infos"> {'piwecard_show_image_infos'|@translate}</label>
    68103                        </div>
    69104                        <div class="ecard_form_line">
     
    106141                        <div class="ecard_form_line ecard_email_config">
    107142                                <label for="ecard_default_guest_email">{'piwecard_default_guest_email'|@translate}</label><span class="ecard_error" id="ecard_default_guest_email_error" style="{$ecard_errors.default_guest_email.style_error_text}">{'piwecard_error'|@translate} {'piwecard_error_email'|@translate}</span>
    108                                 <input type="text" maxlength="50" name="ecard_default_guest_email" id="ecard_default_guest_email" {$ecard_errors.default_guest_email.style_error_input} value="{$ecard_default_guest_email}" onblur="piwecard_checkField(this, 1);" />
     143                                <input type="text" maxlength="50" name="ecard_default_guest_email" id="ecard_default_guest_email" {$ecard_errors.default_guest_email.style_error_input} value="{$ecard_default_guest_email}" onblur="piwecard_checkField(this, 1, true);" />
    109144                        </div>
    110145                        <div class="ecard_form_line ecard_email_config">
    111                                 <label for="ecard_email_subject">{'piwecard_email_subject'|@translate}</label><span class="ecard_error" id="ecard_email_subject_error" style="{$ecard_errors.email_subject.style_error_text}">{'piwecard_error'|@translate} {'piwecard_error_text'|@translate}</span>
     146                                <label for="ecard_email_subject">{'piwecard_email_subject'|@translate}*</label><span class="ecard_error" id="ecard_email_subject_error" style="{$ecard_errors.email_subject.style_error_text}">{'piwecard_error'|@translate} {'piwecard_error_text'|@translate}</span>
    112147                                <input type="text" maxlength="255" name="ecard_email_subject" id="ecard_email_subject" {$ecard_errors.email_subject.style_error_input} value="{$ecard_email_subject}" />
    113148                        </div>
    114149                        <div class="ecard_form_line ecard_email_config">
    115                                 <label for="ecard_email_message_text">{'piwecard_email_message_text'|@translate}</label><span class="ecard_error" id="ecard_email_message_text_error" style="{$ecard_errors.email_message.text.style_error_text}">{'piwecard_error'|@translate} {'piwecard_error_text'|@translate}</span>
     150                                <label for="ecard_email_message_text">{'piwecard_email_message_text'|@translate}*</label><span class="ecard_error" id="ecard_email_message_text_error" style="{$ecard_errors.email_message.text.style_error_text}">{'piwecard_error'|@translate} {'piwecard_error_text'|@translate}</span>
    116151                                <textarea name="ecard_email_message_text" id="ecard_email_message_text" {$ecard_errors.email_message.text.style_error_input}>{$ecard_email_message_text}</textarea>
    117152                        </div>
    118153                        <div class="ecard_form_line ecard_email_config">
    119                                 <label for="ecard_email_message_html">{'piwecard_email_message_html'|@translate}</label><span class="ecard_error" id="ecard_email_message_html_error" style="{$ecard_errors.email_message.html.style_error_text}">{'piwecard_error'|@translate} {'piwecard_error_text'|@translate}</span>
     154                                <label for="ecard_email_message_html">{'piwecard_email_message_html'|@translate}*</label><span class="ecard_error" id="ecard_email_message_html_error" style="{$ecard_errors.email_message.html.style_error_text}">{'piwecard_error'|@translate} {'piwecard_error_text'|@translate}</span>
    120155                                <textarea name="ecard_email_message_html" id="ecard_email_message_html" {$ecard_errors.email_message.html.style_error_input}>{$ecard_email_message_html}</textarea>
    121156                        </div>
    122157                        <div id="ecard_form_line ecard_parameters_description">
    123158                                <div id="ecard_form_line">
    124                                         {'Parameters'|@translate}<br />
     159                                        <span class="ecard_parameters_description_parameter">{'Parameters'|@translate}</span>
    125160                                </div>
    126161                                <div id="ecard_form_line">
     
    140175                </fieldset>
    141176                <div id="ecard_submit">
    142                         <input type="submit" name="submit" value="{'Submit'|@translate}" />
     177                        <input type="submit" class="submit" name="submit" value="{'Submit'|@translate}" />
     178                        <input type="submit" class="submit" name="reset" value="{'piwicard_email_reset'|@translate}" />
    143179                </div>
    144180        </form>
  • extensions/Piwecard/admin/template/admin_permissions.tpl

    r20088 r20162  
     1{combine_script id='jquery.chosen' load='footer' path='themes/default/js/plugins/chosen.jquery.min.js'}
     2{combine_css path="themes/default/js/plugins/chosen.css"}
     3
     4{footer_script}{literal}
     5jQuery(document).ready(function() {
     6        jQuery(".chzn-select").chosen();
     7
     8        function checkStatusOptions() {
     9                if ($("#ecard_granted_group_user").prop('checked') == true || $("#ecard_denied_group_user").prop('checked') == true) {
     10                        jQuery("#ecard_authorized_group_user_options").show("fast");
     11                } else {
     12                        jQuery("#ecard_authorized_group_user_options").hide("fast");
     13                }
     14        }
     15
     16        checkStatusOptions();
     17        jQuery("#ecard_authorized_group_user").change(function() {
     18                checkStatusOptions();
     19        });
     20
     21        jQuery("#indirectPermissionsDetailsShow").click(function(){
     22                jQuery("#indirectPermissionsDetailsShow").hide();
     23                jQuery("#indirectPermissionsDetailsHide").show();
     24                jQuery("#indirectPermissionsDetails").show();
     25                return false;
     26        });
     27
     28        jQuery("#indirectPermissionsDetailsHide").click(function(){
     29                jQuery("#indirectPermissionsDetailsShow").show();
     30                jQuery("#indirectPermissionsDetailsHide").hide();
     31                jQuery("#indirectPermissionsDetails").hide();
     32                return false;
     33        });
     34});
     35{/literal}{/footer_script}
     36
    137{footer_script}
    238{literal}
     
    743                $("#ecard_selected_cats_options").css("display","none");
    844        }
     45        if ($("#ecard_user_cats").prop('checked') == true) {
     46                $("#ecard_user_cats_options").css("display","block");
     47        } else {
     48                $("#ecard_user_cats_options").css("display","none");
     49        }
    950
    1051        $("#ECardAdminPermissions").click(function(){
     
    1354                } else {
    1455                        $("#ecard_selected_cats_options").hide("fast");
     56                }
     57                if ($("#ecard_user_cats").prop('checked') == true) {
     58                        $("#ecard_user_cats_options").show("fast");
     59                } else {
     60                        $("#ecard_user_cats_options").hide("fast");
    1561                }
    1662        });
     
    3985                        <div class="ecard_radio">
    4086                                <input type="radio" name="ecard_authorized_cats" id="ecard_user_cats" value="user" {$ecard.user_cats_checked} /><label for="ecard_user_cats"> {'piwecard_permissions_user_cat'|@translate}</label>
     87                                <div id="ecard_user_cats_options">
     88                                        <label><input type="checkbox" id="ecard_user_cats_case_sensitive" name="ecard_user_cats_case_sensitive" {$ecard.user_cats_case_sensitive} value="1" /> {'piwecard_user_cats_case_sensitive'|@translate}</label>
     89                                </div>
    4190                        </div>
     91                </fieldset>
     92                <fieldset id="ecard_authorized_group_user">
     93                        <legend>{'piwecard_permissions_group_user'|@translate}</legend>
     94                        <div class="ecard_radio">
     95                                <input type="radio" name="ecard_authorized_group_user" id="ecard_all_group_user" value="all" {$ecard.all_group_user_checked} /><label for="ecard_all_group_user"> {'piwecard_permissions_all_group_user'|@translate}</label>
     96                        </div>
     97                        <div class="ecard_radio">
     98                                <input type="radio" name="ecard_authorized_group_user" id="ecard_granted_group_user" value="granted" {$ecard.granted_group_user_checked} /><label for="ecard_granted_group_user"> {'piwecard_permissions_granted_group_user'|@translate}</label>
     99                        </div>
     100                        <div class="ecard_radio">
     101                                <input type="radio" name="ecard_authorized_group_user" id="ecard_denied_group_user" value="denied" {$ecard.denied_group_user_checked} /><label for="ecard_denied_group_user"> {'piwecard_permissions_denied_group_user'|@translate}</label>
     102                        </div>
     103                </fieldset>
     104                <fieldset id="ecard_authorized_group_user_options">
     105                        <legend>{'Groups and users'|@translate}</legend>
     106                        <div>
     107                                {if count($groups) > 0}
     108                                        <div>{'Groups'|@translate}</div>
     109                                        <div>
     110                                                <select data-placeholder="{'Select groups...'|@translate}" class="chzn-select" multiple style="width:700px;" name="groups[]">
     111                                                        {html_options options=$groups selected=$groups_selected}
     112                                                </select>
     113                                        </div>
     114                                {else}
     115                                        {'There is no group in this gallery.'|@translate} <a href="admin.php?page=group_list" class="externalLink">{'Group management'|@translate}</a>
     116                                {/if}
     117                        </div>
     118                        <div>
     119                                <div>{'Users'|@translate}</div>
     120                                <div>
     121                                        <select data-placeholder="{'Select users...'|@translate}" class="chzn-select" multiple style="width:700px;" name="users[]">
     122                                                {html_options options=$users selected=$users_selected}
     123                                        </select>
     124                                </div>
     125                        </div>
     126                        {if isset($nb_users_granted_indirect)}
     127                                <div>
     128                                        {'%u users have automatic permission because they belong to a granted group.'|@translate|@sprintf:$nb_users_granted_indirect}
     129                                        <a href="#" id="indirectPermissionsDetailsHide" style="display:none">{'hide details'|@translate}</a>
     130                                        <a href="#" id="indirectPermissionsDetailsShow">{'show details'|@translate}</a>
     131                                        <ul id="indirectPermissionsDetails" style="display:none">
     132                                                {foreach from=$user_granted_indirect_groups item=group_details}
     133                                                        <li><span>{$group_details.group_name}</span> : {$group_details.group_users}</li>
     134                                                {/foreach}
     135                                        </ul>
     136                                </div>
     137                        {/if}
    42138                </fieldset>
    43139                <div id="ecard_submit">
  • extensions/Piwecard/css/admin.css

    r20112 r20162  
    33}
    44
    5 #ECardAdminPermissions .ecard_radio #ecard_selected_cats_options {
     5#ECardAdminPermissions .ecard_radio #ecard_selected_cats_options, #ECardAdminPermissions .ecard_radio #ecard_user_cats_options {
    66        margin-left: 5%;
    77        margin-right: 5%;
  • extensions/Piwecard/css/piwecard.css

    r20109 r20162  
    1 .ecard_error {
     1#addECardForm .ecard_error, #ECardAdminConfiguration .ecard_error, #ECardAdminManagement  .ecard_error {
    22        color: #ff0000;
    33        font-weight: bold;
     
    55}
    66
    7 .ecard_error_input {
     7#addECardForm .ecard_error_input, #ECardAdminConfiguration .ecard_error_input, #ECardAdminManagement  .ecard_error_input {
    88        border: 1px solid rgb(255, 112, 112);
    99        color: rgb(255, 112, 112);
  • extensions/Piwecard/include/piwecard.class.php

    r20088 r20162  
    199199                                // Username or the current user
    200200                                $username = $user['username'];
     201                                if (!$this->config['user_cats_case_sensitive'])
     202                                        $catname = array_map('strtolower', $catname);
    201203                               
    202204                                // author of the photo
     
    212214                        if (($this->config['authorized_cats'] == 'all')         //Parameter : all
    213215                                OR ($this->config['authorized_cats'] == 'selected' AND !empty($upper_ids) AND (array_intersect($upper_ids, $this->config['selected_cats']) != array())) //Parameter : selected
    214                                 OR      ($this->config['authorized_cats'] == 'user' AND (in_array($username, $catname) OR $username == $authorname)) //Parameter : user
     216                                OR      ($this->config['authorized_cats'] == 'user' AND $this->config['user_cats_case_sensitive'] AND (in_array($username, $catname) OR $username == $authorname)) //Parameter : user AND case sensitive
     217                                OR      ($this->config['authorized_cats'] == 'user' AND !$this->config['user_cats_case_sensitive'] AND (in_array(strtolower($username), $catname) OR $username == $authorname)) //Parameter : user AND not case sensitive
    215218                        ) {
    216219                                // Check if user is guest.
     
    244247                                                );
    245248                                        }
     249                                } else {
     250                                        $template->assign('ecard_validity_hidden', $this->config['validity_default']);
    246251                                }
    247252
     
    254259                                        );
    255260                                }
     261                               
     262                                $template->set_filenames(array('ecard_template' =>  PIWECARD_ROOT.'/template/ecard.tpl'));
     263                                $template->concat('COMMENT_IMG', $template->parse('ecard_template', true));
    256264
    257265                                // Send the card
    258266                                if (isset($_POST['ecard_submit'])) {
    259267                                        $email_format = $_POST['ecard_email_format'];
     268                                       
     269                                        //Check fields
     270                                        if ($_POST['ecard_sender_name'] == ''
     271                                                OR $_POST['ecard_recipient_name'] == ''
     272                                                OR $_POST['ecard_sender_email'] == ''
     273                                                OR $_POST['ecard_recipient_email'] == ''
     274                                                OR $_POST['ecard_title'] == ''
     275                                                OR $_POST['ecard_message'] == '') {
     276                                                return;
     277                                        }
     278                                       
     279                                        if (($_POST['ecard_sender_email'] != '' AND !$piwecard->is_valid_email($_POST['ecard_sender_email']))
     280                                                OR ($_POST['ecard_recipient_email'] != '' AND !$piwecard->is_valid_email($_POST['ecard_recipient_email']))) {
     281                                                return;
     282                                        }
    260283                                       
    261284                                        // If conf doesn't allow to modify the %yourmail% param, force it to user mail
     
    322345                                        );
    323346                                        unset_make_full_url();
    324 
     347                                       
    325348                                        $email_subject = htmlspecialchars_decode($this->parse($this->config['email_subject'], $_POST, $image_element));
    326349                                        $email_message = htmlspecialchars_decode($this->parse($this->config['email_message'][$email_format], $_POST, $image_element));
     
    355378                                        pwg_mail($_POST['ecard_recipient_email'], $email_arg);
    356379                                }
    357                                
    358                                 $template->set_filenames(array('ecard_template' =>  PIWECARD_ROOT.'/template/ecard.tpl'));
    359                                 $template->concat('COMMENT_IMG', $template->parse('ecard_template', true));
    360380                        }
    361381                }
  • extensions/Piwecard/install/default_values.inc.php

    r20103 r20162  
    33$ecard_default_values['authorized_cats'] = 'selected';                          //Determine the page from which the user can send ecard : 'all' (all categories the user can access), 'selected' (only the categories defined in the parameter 'selected_cats') or 'user' (only the categories which are named like the user)
    44$ecard_default_values['selected_cats'] = array();                                       //List of categories where the plugin is active
     5$ecard_default_values['user_cats_case_sensitive'] = true;                       //List of categories where the plugin is active
    56
    67//Configuration parameters
    78$ecard_default_values['validity'] = array('0', '5', '10', '15');        //Number of days a card is available
    89$ecard_default_values['validity_default'] = '10';                                       //Default number of days a card is available
    9 $ecard_default_values['validity_choice'] = '1';                                         //Add function for a user to choose the valid duration of an ecard
     10$ecard_default_values['validity_choice'] = true;                                        //Add function for a user to choose the valid duration of an ecard
    1011$ecard_default_values['sender_copy'] = false;                                           //Send a copy to sender
    1112$ecard_default_values['image_size'] = 'small';                                          //Size of the image in the ecard
     
    1415$ecard_default_values['email_format_default'] = 'html';                         //Default email format
    1516$ecard_default_values['email_format_authorized'] = array('text', 'html');       //Type of mail sent : 'text' or 'html' or both
    16 $ecard_default_values['show_image_infos'] = '1';                                        //Default : show infos under the image in ecard
     17$ecard_default_values['show_image_infos'] = true;                                       //Default : show infos under the image in ecard
    1718$ecard_default_values['default_guest_email'] = '';                              //Default email used for guest user
    18 $ecard_default_values['email_subject'] = "Une eCard vous a ete envoyee par %yourname%"; //Subject of the email for plain text emails
    19 $ecard_default_values['email_message']['text'] =
    20 "Bonjour %recipientname% !
    21 %yourname% vous a envoye une carte virtuelle depuis le site %website%.
    22 Vous pouvez la consulter sur %ecardurl%.
    23 A bientot sur %website% (%websiteurl%) !
    24 Le Webmaster";
    25 $ecard_default_values['email_message']['html'] =
    26 '<p>Bonjour %recipientname% !</p>
    27 <p><b>%yourname%</b> vous a envoy&eacute; une eCard depuis le site <a href="%websiteurl%">%website%</a> :</p>
    28 <p><b>%ecardtitle%</b></p>
    29 <p><a href="%ecardurl%"><img class="theImage" src="%pictureurl%" /></a><p>
    30 <p>%pictureinfos%</p><br />
    31 <p>%ecardmessage%</p>
    32 <p>Vous pouvez &eacute;galement consulter la carte virtuelle <a href="%ecardurl%">en cliquant sur le lien ici</a>.</p>
    33 <p>A bientot sur <a href="%websiteurl%">%website%</a> !</p>
    34 <p>Le Webmaster</p>';
     19$ecard_default_values['email_subject'] = l10n('piwecard_default_email_subject');                                                //Subject of the email for plain text emails
     20$ecard_default_values['email_message']['text'] = l10n('piwecard_default_email_message_text');
     21$ecard_default_values['email_message']['html'] = l10n('piwecard_default_email_message_html');
    3522
    3623//Management parameters
  • extensions/Piwecard/js/piwecard.js

    r20109 r20162  
    1 function piwecard_checkField(element, elementType) {
     1function piwecard_checkField(element, elementType, nullIsOK) {
    22        var TEXT = 0;
    33        var EMAIL = 1;
    44        var NUMBER = 2;
    55       
    6         switch (elementType) {
    7                 case TEXT:
    8                         if (element.value == '') {
    9                                 document.getElementById(element.id+'_error').style.display = 'block';
    10                                 element.className += " ecard_error_input";
     6        optionalArg = (typeof nullIsOK === "undefined") ? false : nullIsOK;
     7       
     8        if (nullIsOK && element.value === '') {
     9                return true;
     10        } else {
     11                switch (elementType) {
     12                        case TEXT:
     13                                if (element.value == '') {
     14                                        document.getElementById(element.id+'_error').style.display = 'block';
     15                                        element.className += " ecard_error_input";
     16                                        return false;
     17                                } else {
     18                                        document.getElementById(element.id+'_error').style.display = 'none';
     19                                        element.className = element.className.replace( /(?:^|\s)ecard_error_input(?!\S)/g , '');
     20                                        return true;
     21                                }
     22                                break;
     23                        case EMAIL:
     24                                var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
     25                                if (!filter.test(element.value)) {
     26                                        document.getElementById(element.id+'_error').style.display = 'block';
     27                                        element.className += " ecard_error_input";
     28                                        return false;
     29                                } else {
     30                                        document.getElementById(element.id+'_error').style.display = 'none';
     31                                        element.className = element.className.replace( /(?:^|\s)ecard_error_input(?!\S)/g , '');
     32                                        return true;
     33                                }
     34                                break;
     35                        case NUMBER:
     36                                if (element.value == '') {
     37                                        document.getElementById(element.id+'_error').style.display = 'inline';
     38                                        element.className += " ecard_error_input";
     39                                        return false;
     40                                } else {
     41                                        if (parseFloat(element.value) % 1 == 0){
     42                                                return true;
     43                                        } else {
     44                                                document.getElementById(element.id+'_error').style.display = 'inline';
     45                                                element.className += " ecard_error_input";
     46                                                return false;
     47                                        }
     48                                }
     49                                break;
     50                        default:
    1151                                return false;
    12                         } else {
    13                                 document.getElementById(element.id+'_error').style.display = 'none';
    14                                 element.className = element.className.replace( /(?:^|\s)ecard_error_input(?!\S)/g , '');
    15                                 return true;
    16                         }
    17                         break;
    18                 case EMAIL:
    19                         var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    20                         if (!filter.test(element.value)) {
    21                                 document.getElementById(element.id+'_error').style.display = 'block';
    22                                 element.className += " ecard_error_input";
    23                                 return false;
    24                         } else {
    25                                 document.getElementById(element.id+'_error').style.display = 'none';
    26                                 element.className = element.className.replace( /(?:^|\s)ecard_error_input(?!\S)/g , '');
    27                                 return true;
    28                         }
    29                         break;
    30                 case NUMBER:
    31                         if (element.value == '') {
    32                                 document.getElementById(element.id+'_error').style.display = 'inline';
    33                                 element.className += " ecard_admin_error_input";
    34                                 return false;
    35                         } else {
    36                                 if(parseFloat(element.value) % 1 == 0){
    37                                         return true;
    38                                 } else {
    39                                         document.getElementById(element.id+'_error').style.display = 'inline';
    40                                         element.className += " ecard_admin_error_input";
    41                                         return false;
    42                                 }
    43                         }
    44                         break;
    45                 default:
    46                         return false;
    47                         break;
     52                                break;
     53                }
    4854        }
    4955}
  • extensions/Piwecard/language/en_UK/plugin.lang.php

    r20151 r20162  
    99//admin_permissions.php
    1010$lang['piwecard_selected_cats']                                 = 'Selected categories';
    11 $lang['piwecard_non_selected_cats'] = 'Non-selected categories';
     11$lang['piwecard_non_selected_cats']                     = 'Non-selected categories';
    1212
    1313//admin_permissions.tpl
    1414$lang['piwecard_permissions_cat']                               = 'Permissions depending on the category';
    1515$lang['piwecard_permissions_all_cats']                  = 'Sending of e-cards is authorized on all the categories accessible by the user';
    16 $lang['piwecard_permissions_selected_cats'] = 'Sending of e-cards is authorized only on a selection of categories and if selected categories are accessible by the user';
    17 $lang['piwecard_permissions_user_cat']                  = 'Sending of e-cards is authorized only if the category or one of its parents is named after the user (case sensitive) or if the user is the author of the image';
     16$lang['piwecard_permissions_selected_cats']     = 'Sending of e-cards is authorized only on a selection of categories and if selected categories are accessible by the user';
     17$lang['piwecard_permissions_user_cat']                  = 'Sending of e-cards is authorized only if the category or one of its parents is named after the user or if the user is the author of the image';
     18$lang['piwecard_user_cats_case_sensitive']              = 'Case sensitive (the category or one of its parents is named after the user)';
    1819
    1920//admin_configuration.php
     
    2324//admin_configuration.tpl
    2425$lang['piwecard_configuration']                                 = 'Standard configuration';
     26$lang['piwecard_validity_list']                                 = 'List of validity periods in days (0 for unlimited)';
    2527$lang['piwecard_ecard_derivative']                              = 'Choose the size of the image in the e-card:';
    2628$lang['piwecard_validity_default']                              = 'Default validity of the e-card';
     29$lang['piwecard_validity_choice']                               = 'Allow the user to choose the e-card validity';
    2730$lang['piwecard_sender_copy']                                   = 'Send a copy of the e-card to the sender';
    2831$lang['piwecard_sender_email_change']                   = 'Allow the sender to change his/her e-mail address (not applicable to guests unless the default e-mail address is configured)';
     
    4649$lang['piwecard_ecard_message']                                 = 'Message';
    4750$lang['piwecard_ecard_image_url']                               = 'Image URL';
    48 $lang['piwecard_ecard_image_infos'] = 'Image info (title and author)';
     51$lang['piwecard_ecard_image_infos']                     = 'Image info (title and author)';
     52$lang['piwicard_email_reset']                                   = 'Reset * fields with default values in your language';
    4953
    5054//admin_management.tpl
     
    5357$lang['piwecard_valid']                                                 = 'Valid';
    5458$lang['piwecard_invalid']                                               = 'Expired';
    55 $lang['piwecard_delete_all_invalid'] = 'Delete all expired e-cards';
     59$lang['piwecard_delete_all_invalid']                    = 'Delete all expired e-cards';
    5660$lang['piwecard_validity']                                              = 'Validity date';
    5761$lang['piwecard_delete']                                                = 'Delete selected e-cards';
    5862$lang['piwecard_deleted']                                               = 'Selected e-cards have been deleted.';
    5963$lang['piwecard_invalid_deleted']                               = 'All expired e-cards have been deleted.';
    60 $lang['piwecard_nb_ecard_page'] = 'Number of e-cards per page';
     64$lang['piwecard_nb_ecard_page']                                 = 'Number of e-cards per page';
    6165$lang['piwecard_no_ecard']                                              = 'No e-card in the database';
    6266$lang['piwecard_delete_selected']                               = 'Delete selected e-cards';
     
    6468//ecard.tpl
    6569$lang['piwecard_send_stage1']                                   = 'Stage 1: Write the message';
    66 $lang['piwecard_send_stage2'] = 'Stage 2: Edit the information';
     70$lang['piwecard_send_stage2']                                   = 'Stage 2: Edit the information';
    6771$lang['piwecard_send_stage3']                                   = 'Stage 3: Options';
    6872$lang['piwecard_send_stage4']                                   = 'Stage 4: Send the e-card!';
     
    7175$lang['piwecard_error_email']                                   = 'Please enter a valid e-mail.';
    7276$lang['piwecard_error_integer']                                 = 'Please enter a valid number.';
    73 $lang['piwecard_errors'] = 'See error details below';
     77$lang['piwecard_error_validity_list']                   = 'The list cannot be empty and the periods must be numbers.';
     78$lang['piwecard_errors']                                                = 'See error details below';
    7479$lang['piwecard_sender']                                                = 'Sender';
    7580$lang['piwecard_recipient']                                     = 'Recipient';
     
    8691$lang['piwecard_message']                                               = 'Message';
    8792$lang['piwecard_days']                                                  = 'days';
     93
     94//default_values.inc.php
     95$lang['piwecard_default_email_subject']                 = '%yourname% has sent you an e-card';
     96$lang['piwecard_default_email_message_text']    =
     97'Hello %recipientname% !
     98%yourname% has sent you an e-card from the website %website%.
     99You can view this e-card at the following address: %ecardurl%.
     100See you on %website% (%websiteurl%) !
     101The Webmaster';
     102$lang['piwecard_default_email_message_html']    =
     103'<p>Hello %recipientname% !</p>
     104<p><b>%yourname%</b> has sent you an e-card from the website <a href="%websiteurl%">%website%</a> :</p>
     105<p><b>%ecardtitle%</b></p>
     106<p><a href="%ecardurl%"><img class="theImage" src="%pictureurl%" /></a><p>
     107<p>%pictureinfos%</p><br />
     108<p>%ecardmessage%</p>
     109<p>You can also view the e-card <a href="%ecardurl%">at the following address</a>.</p>
     110<p>See you on <a href="%websiteurl%">%website%</a> !</p>
     111<p>The Webmaster</p>';
    88112?>
  • extensions/Piwecard/language/fr_FR/plugin.lang.php

    r20112 r20162  
    1515$lang['piwecard_permissions_all_cats'] = 'L\'envoi de carte virtuelle est autorisé sur tous les albums accessibles par l\'utilisateur';
    1616$lang['piwecard_permissions_selected_cats']  = 'L\'envoi de carte virtuelle est autorisé uniquement sur une sélection d\'albums et si les albums sélectionnés sont accessibles à l\'utilisateur';
    17 $lang['piwecard_permissions_user_cat'] = 'L\'envoi de carte virtuelle est autorisé uniquement si l\'album ou une de ses parents porte le même nom que l\'utilisateur (sensible à la casse) ou si l\'utilisateur est l\'auteur de la photo';
     17$lang['piwecard_permissions_user_cat'] = 'L\'envoi de carte virtuelle est autorisé uniquement si l\'album ou un de ses parents porte le même nom que l\'utilisateur ou si l\'utilisateur est l\'auteur de la photo';
     18$lang['piwecard_user_cats_case_sensitive'] = 'Sensible à la casse (l\'album ou un de ses parents porte le même nom que l\'utilisateur)';
    1819
    1920//admin_configuration.php
     
    2324//admin_configuration.tpl
    2425$lang['piwecard_configuration'] = 'Configuration de base';
     26$lang['piwecard_validity_list'] = 'Liste des durées de validité en jours (0 pour illimité)';
    2527$lang['piwecard_ecard_derivative'] = 'Choix de la taille de l\'image dans la carte virtuelle :';
    2628$lang['piwecard_validity_default'] = 'Validité de la carte virtuelle par défaut';
     29$lang['piwecard_validity_choice'] = 'Autorise l\'utilisateur à choisir la validité de la carte virtuelle';
    2730$lang['piwecard_sender_copy'] = 'Envoyer une copie de la carte virtuelle à l\'expéditeur';
    2831$lang['piwecard_sender_email_change'] = 'Autoriser l\'expéditeur de changer son adresse email (non appliquable aux guests sauf si l\'adresse email par défaut est configurée)';
     
    4750$lang['piwecard_ecard_image_url'] = 'Adresse de l\'image';
    4851$lang['piwecard_ecard_image_infos'] = 'Informations de l\'image (titre et auteur)';
     52$lang['piwicard_email_reset'] = 'RAZ champs * avec les valeurs par défaut dans votre langue';
    4953
    5054//admin_management.tpl
     
    7175$lang['piwecard_error_email'] = 'Entrer une adresse email valide.';
    7276$lang['piwecard_error_integer'] = 'Entrer un nombre.';
     77$lang['piwecard_error_validity_list'] = 'La liste ne peut être vide et les durées doivent être des nombres.';
    7378$lang['piwecard_errors'] = 'Voir le détail des erreurs ci-dessous';
    7479$lang['piwecard_sender'] = 'Expéditeur';
     
    8691$lang['piwecard_message'] = 'Message';
    8792$lang['piwecard_days'] = 'jours';
     93
     94//Piwecard default values
     95$lang['piwecard_default_email_subject'] = 'Une carte virtuelle vous a été envoyée par %yourname%';
     96$lang['piwecard_default_email_message_text'] =
     97'Bonjour %recipientname% !
     98%yourname% vous a envoyé une carte virtuelle depuis le site %website%.
     99Vous pouvez la consulter sur %ecardurl%.
     100A bientot sur %website% (%websiteurl%) !
     101Le Webmestre';
     102$lang['piwecard_default_email_message_html'] =
     103'<p>Bonjour %recipientname% !</p>
     104<p><b>%yourname%</b> vous a envoy&eacute; une carte virtuelle depuis le site <a href="%websiteurl%">%website%</a> :</p>
     105<p><b>%ecardtitle%</b></p>
     106<p><a href="%ecardurl%"><img class="theImage" src="%pictureurl%" /></a><p>
     107<p>%pictureinfos%</p><br />
     108<p>%ecardmessage%</p>
     109<p>Vous pouvez &eacute;galement consulter la carte virtuelle <a href="%ecardurl%">en cliquant sur ce lien</a>.</p>
     110<p>A bient&ocirc;t sur <a href="%websiteurl%">%website%</a> !</p>
     111<p>Le Webmestre</p>';
    88112?>
  • extensions/Piwecard/main.inc.php

    r20098 r20162  
    99
    1010if (!defined('PHPWG_ROOT_PATH'))  die('Hacking attempt!');
     11
     12if (mobile_theme())
     13        return;
    1114
    1215global $prefixeTable;
  • extensions/Piwecard/template/ecard.tpl

    r20109 r20162  
    8484                                        </span>
    8585                                </div>
    86                                 {if isset($ecard_validity)}
    8786                                        <div class="ecard_field">
    88                                                 <span class="ecard_label">{'piwecard_validity_label'|@translate} :</span>
    89                                                 <span>
    90                                                         {foreach from=$ecard_validity item=ecard_validity}
    91                                                                 <input type="radio" name="ecard_validity" id="ecard_validity_{$ecard_validity.id}" value="{$ecard_validity.id}" {$ecard_validity.selected}><label for="ecard_validity_{$ecard_validity.id}"> {$ecard_validity.name} </label>
    92                                                         {/foreach}
    93                                                 </span>
     87                                                {if isset($ecard_validity)}
     88                                                        <span class="ecard_label">{'piwecard_validity_label'|@translate} :</span>
     89                                                        <span>
     90                                                                {foreach from=$ecard_validity item=ecard_validity}
     91                                                                        <input type="radio" name="ecard_validity" id="ecard_validity_{$ecard_validity.id}" value="{$ecard_validity.id}" {$ecard_validity.selected}><label for="ecard_validity_{$ecard_validity.id}"> {$ecard_validity.name} </label>
     92                                                                {/foreach}
     93                                                        </span>
     94                                                {else}
     95                                                        <input type="hidden" name="ecard_validity" id="ecard_validity" value="{$ecard_validity_hidden}">
     96                                                {/if}
    9497                                        </div>
    95                                 {/if}
    9698                        </fieldset>
    9799                        <fieldset>
Note: See TracChangeset for help on using the changeset viewer.