Ignore:
Timestamp:
Mar 8, 2011, 1:19:06 PM (13 years ago)
Author:
mistic100
Message:

[extensions] ContestResults 1.3

  • Add error and success messages on admin page
  • Add Spain (es_ES) thanks to jpr928
  • Contest status is automatic and shows remaining days
  • More flexibility for description fields
  • Compatibility with Piwigo 2.2.0
File:
1 edited

Legend:

Unmodified
Added
Removed
  • extensions/ContestResults/admin/template/new.tpl

    r9419 r9572  
    1 {known_script id="jquery" src=$ROOT_URL|@cat:"themes/default/js/jquery.packed.js"}
    2 {known_script id="jquery.cluetip" src=$ROOT_URL|@cat:"themes/default/js/plugins/jquery.cluetip.packed.js"}
    3 
     1{combine_script id='jquery' path='themes/default/js/jquery.min.js'}
     2{combine_script id='jquery.ui' path='themes/default/js/ui/minified/jquery.ui.core.min.js'}
     3{combine_script id='jquery.ui.sortable' path='themes/default/js/ui/minified/jquery.ui.sortable.min.js'}
     4{combine_script id='jquery.cluetip' path='themes/default/js/plugins/jquery.cluetip.packed.js'}
     5{combine_css id='cr_admin_style' path=$CR_PATH|@cat:'admin/template/style.css'}
    46{include file='include/autosize.inc.tpl'}
    57{include file='include/datepicker.inc.tpl'}
    68
    79{html_head}
    8         <link rel="stylesheet" type="text/css" href="{$CR_PATH}admin/template/style.css">
     10        <script type="text/javascript">
     11                // AJOUTE UN CHAMP DE RESULTAT
     12                function CreateDescField(j, new_contest){ldelim}
     13                        // Si il n'y a aucun résultats on efface le message
     14                        if(new_contest) document.getElementById('categoryUl').innerHTML = '';
     15                       
     16                        // Ajoute à la fin de la liste une nouvelle ligne de résultat vide
     17                        var new_result = document.createElement('li');
     18                        new_result.setAttribute('id', 'desc_'+(j));
     19                        new_result.setAttribute('class', 'categoryLi virtual_cat');
     20                        document.getElementById('categoryUl').appendChild(new_result);
     21                       
     22                        // Contenu de la ligne
     23                        new_result.innerHTML = '<ul class="categoryActions"> '+
     24                                        '<li> '+
     25                                                '<a href="#" title="{'CR_delete_desc'|@translate}" onclick="DeleteDescField('+ j +');return false;"> '+
     26                                                        '<img src="{$themeconf.admin_icon_dir}/category_delete.png" class="button" alt="{'CR_delete_result'|@translate}"/> '+
     27                                                '</a> '+
     28                                        '</li> '+
     29                                '</ul> '+
     30                                '<p> '+
     31                                        '<img src="{$themeconf.admin_icon_dir}/cat_move.png" class="button drag_button" style="display:none;" title="{'Drag to re-order'|@translate}"> '+
     32                                        '<input type="text" size="65" name="description['+ j +'][name]" value=""/> '+
     33                                        '<textarea class="result_comment" name="description['+ j +'][content]"></textarea> '+
     34                                '</p> '+
     35                                '<p class="catPos">{'CR_rank'|@translate} : <input type="text" name="description['+ j +'][rank]" value=""/></p>';
     36                       
     37                        // Remplace le lien de création
     38                        document.getElementById('AddLink').innerHTML = '<input class="submit" type="reset" onclick="CreateDescField('+ (j+1) +');return false;" value="{'CR_addfield'|@translate}"/>';
     39                       
     40                        // Réinitiliase les fonctions jQuery
     41                        jQuery('.catPos').hide();
     42                        jQuery('.drag_button').show();
     43                        jQuery('.categoryLi').css('cursor', 'move');
     44                        jQuery('textarea').autogrow();
     45                        jQuery('textarea').css('overflow-y', 'hidden');
     46                        vtip();
     47                }
     48               
     49                // SUPPRIME UN CHAMP DE RESULTAT
     50                function DeleteDescField(k){ldelim}
     51                        var result = document.getElementById('desc_'+k);
     52                        var parent = result.parentNode;
     53                        parent.removeChild(result);
     54                }
     55
     56                jQuery().ready(function(){ldelim}
     57                        //  Drag-and-Drop
     58                        jQuery('.catPos').hide();
     59                        jQuery('.drag_button').show();
     60                        jQuery('.categoryLi').css('cursor', 'move');
     61                        jQuery('.categoryUl').sortable({ldelim}
     62                                axis: 'y',
     63                                opacity: 0.8
     64                        });
     65                        jQuery('#categoryOrdering').submit(function(){ldelim}
     66                                ar = jQuery('.categoryUl').sortable('toArray');
     67                                for(i=0; i<ar.length; i++) {ldelim}
     68                                        cat = ar[i].split('desc_');
     69                                        document.getElementsByName('description[' + cat[1] + '][rank]')[0].value = i+1;
     70                                }
     71                        });
     72                        // Cluetip
     73                        jQuery('.cluetip').cluetip({ldelim}
     74                                width: 550,
     75                                splitTitle: '|'
     76                        });
     77                });
     78
     79                $(function() {ldelim}
     80                        $('#DateBegin').datepicker({ldelim}dateFormat:'yy-mm-dd', firstDay:1});
     81                        $('#DateEnd').datepicker({ldelim}dateFormat:'yy-mm-dd', firstDay:1});
     82                });
     83        </script>
     84
    985        <style type="text/css">
    1086                .cluetip:after {ldelim}
     
    1288                }
    1389        </style>
    14         <script type="text/javascript">
    15                 $(function() {ldelim}
    16                         $('#DateBegin').datepicker({ldelim}dateFormat:'yy-mm-dd', firstDay:1});
    17                         $('#DateEnd').datepicker({ldelim}dateFormat:'yy-mm-dd', firstDay:1});
    18                 });
    19 
    20                 jQuery().ready(function(){ldelim}
    21                         jQuery('.cluetip').cluetip({ldelim}
    22                                 width: 550,
    23                                 splitTitle: '|'
    24                         });
    25                 });
    26         </script>
    2790{/html_head}
    2891
     
    39102</div>
    40103
    41 <form method="post" action="" class="properties">
     104<form method="post" action="" class="properties" id="categoryOrdering">
    42105        <fieldset>
    43106                <legend>{'Configuration'|@translate}</legend>
     
    52115                       
    53116                        <tr>
    54                                 <td><span class="title cluetip" title="{'CR_status'|@translate}|{'CR_help_status'|@translate}">{'CR_status'|@translate}</span></td>
    55                                 <td>
    56                                         <label><input type="radio" name="status" value="pending" {if $STATUS == 'pending'}checked="checked"{/if}> {'CR_pending'|@translate}</label>
    57                                         <label><input type="radio" name="status" value="finished" {if $STATUS == 'finished'}checked="checked"{/if}> {'CR_finished'|@translate}</label>
    58                                 </td>
    59117                                <td><span class="title cluetip" title="{'CR_visible'|@translate}|{'CR_help_visible'|@translate}">{'CR_visible'|@translate}</span></td>
    60118                                <td>
     
    62120                                        <label><input type="radio" name="visible" value="0" {if $VISIBLE == 0}checked="checked"{/if}> {'No'|@translate}</label>
    63121                                </td>
     122                                <td colspan="2"></td>
    64123                        </tr>
    65124                        <tr>
     
    85144                        <tr>
    86145                                <td><span class="title cluetip" title="{'CR_summary'|@translate}|{'CR_help_summary'|@translate}">{'CR_summary'|@translate}</span></td>
    87                                 <td colspan="3"><textarea name="summary" id ="textarea" rows="4" style="width:100%;">{$SUMMARY}</textarea></td>
     146                                <td colspan="3"><textarea name="summary" rows="4" style="width:100%;">{$SUMMARY}</textarea></td>
    88147                        </tr>
    89148                </table>
     
    93152                <legend><span class="title cluetip" title="{'CR_textareas'|@translate}|{'CR_help_textareas'|@translate}">{'CR_textareas'|@translate}</span></legend>
    94153               
    95                 <table>                 
    96                         <tr>
    97                                 <td><span class="title">{'CR_presentation'|@translate}</span></td>
    98                                 <td style="width:75%;"><textarea name="presentation" id ="textarea" rows="4" style="width:100%;">{$PRESENTATION}</textarea></td>
    99                         </tr>
    100                        
    101                         <tr><td colspan="2"><br/></td></tr>
    102                        
    103                         <tr>
    104                                 <td><span class="title">{'CR_rules'|@translate}</span></td>
    105                                 <td><textarea name="rules" id ="textarea" rows="4" style="width:100%;">{$RULES}</textarea></td>
    106                         </tr>
    107                        
    108                         <tr><td colspan="2"><br/></td></tr>
    109                        
    110                         <tr>
    111                                 <td><span class="title">{'CR_prices'|@translate}</span></td>
    112                                 <td><textarea name="prices" id ="textarea" rows="4" style="width:100%;">{$PRICES}</textarea></td>
    113                         </tr>
    114                        
    115                         <tr><td colspan="2"><br/></td></tr>
    116                        
    117                         <tr>
    118                                 <td><span class="title">{'CR_final'|@translate}</span></td>
    119                                 <td><textarea name="final" id ="textarea" rows="4" style="width:100%;">{$FINAL}</textarea></td>
    120                         </tr>
    121                 </table>
     154                <ul class="categoryUl" id="categoryUl">
     155                {counter start=0 assign=i}
     156                {if isset($description)}
     157                        {foreach from=$description item=desc}
     158                                <li class="categoryLi" id="desc_{$i}">
     159                                        <ul class="categoryActions">
     160                                                <li>
     161                                                        <a href="#" title="{'CR_delete_desc'|@translate}" onclick="DeleteDescField({$i});return false;">
     162                                                                <img src="{$themeconf.admin_icon_dir}/category_delete.png" class="button" alt="{'CR_delete_result'|@translate}"/>
     163                                                        </a>
     164                                                </li>
     165                                        </ul>
     166                                       
     167                                        <p>
     168                                                <img src="{$themeconf.admin_icon_dir}/cat_move.png" class="button drag_button" style="display:none;" title="{'Drag to re-order'|@translate}">
     169                                                <input type="text" size="65" name="description[{$i}][name]" value="{$desc.NAME}"/>
     170                                                <textarea class="result_comment" name="description[{$i}][content]">{$desc.CONTENT}</textarea>
     171                                        </p>
     172                                        <p class="catPos">{'CR_rank'|@translate} : <input type="text" name="description[{$i}][rank]" value="{$desc.RANK}"/></p>
     173                                </li>
     174                                {counter}
     175                        {/foreach}
     176                {else}
     177                        {'CR_no_result'|@translate}
     178                {/if}
     179                </ul>
     180               
     181                <span id="AddLink"><input class="submit" type="reset" onclick="CreateDescField({$i}{if !isset($description)}, true{/if});return false;" value="{'CR_addfield'|@translate}"/></span>
    122182        </fieldset>
    123183
Note: See TracChangeset for help on using the changeset viewer.