Ignore:
Timestamp:
Mar 17, 2011, 8:25:13 PM (13 years ago)
Author:
mistic100
Message:

[extensions] Contest Results

  • New bloc for PWG Stuffs
  • Use new admin links and javascript implementation
  • Distinguish pending and running contests (both pending before)
Location:
extensions/ContestResults/admin
Files:
1 deleted
10 edited

Legend:

Unmodified
Added
Removed
  • extensions/ContestResults/admin/config.php

    r9419 r9745  
    66// +-----------------------------------------------------------------------+
    77if (isset($_POST['config_submit'])) {
    8         $user_config = array(
     8        $conf['ContestResults'] = array(
    99                'menubar_mode' => array(
    1010                        'link' => (isset($_POST['menubar_mode_link'])) ? 1 : 0,
     
    1818                        'number' => $_POST['menubar_block_number'],
    1919                ),
     20                'truncate_summary' => $_POST['truncate_summary'],
    2021        );
    2122       
    22         pwg_query("UPDATE " . CONFIG_TABLE . " SET `value` = '" . serialize($user_config) . "' WHERE `param` = 'ContestResults';");
    23         redirect(CR_ADMIN . '&tab=config&msg=saved');
     23        pwg_query("UPDATE " . CONFIG_TABLE . " SET `value` = '" . serialize($conf['ContestResults']) . "' WHERE `param` = 'ContestResults';");
     24        $page['infos'][] = l10n('Information data registered in database');
    2425}       
    2526
     
    2728//                              Définition des variables template
    2829// +-----------------------------------------------------------------------+
    29 if (isset($_GET['msg']) AND $_GET['msg'] == 'saved')
    30         array_push($page['infos'], l10n('Information data registered in database'));
    31        
    32 
    3330$template->assign(array(
    3431        'MODE_LINK' => ($conf['ContestResults']['menubar_mode']['link']) ? 'checked="checked"' : '',
     
    3734        'LINK_SPECIALS' => ($conf['ContestResults']['menubar_link']['specials']) ? 'checked="checked"' : '',
    3835        'BLOCK_NUMBER' => $conf['ContestResults']['menubar_block']['number'],
     36        'TRUNCATE_SUMMARY' => $conf['ContestResults']['truncate_summary'],
    3937));
    4038
     
    4442$template->set_filenames(array('plugin_admin_content' => dirname(__FILE__).'/template/config.tpl'));
    4543$template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');
     44
    4645?>
  • extensions/ContestResults/admin/get_tn.php

    r9572 r9745  
    99
    1010if (!pwg_db_num_rows($image)) {
    11         $themeconf = $template->get_template_vars('themeconf');
     11        //$themeconf = $template->get_template_vars('themeconf');
    1212        //$data['TN_SRC'] = $themeconf['admin_icon_dir'] . '/errors.png';
    1313        $data['TN_SRC'] = 'admin/themes/default/icon/errors.png';
  • extensions/ContestResults/admin/manage.php

    r9572 r9745  
    88        pwg_query('DELETE FROM ' . CR_TABLE_1 . ' WHERE id = ' . $_GET['delete_contest'] . ';');
    99        pwg_query('DELETE FROM ' . CR_TABLE_2 . ' WHERE contest_id = ' . $_GET['delete_contest'] . ';');
    10         redirect(CR_ADMIN .'&tab=manage&msg=deleted');
     10        $page['infos'][] = l10n('CR_contest_deleted');
    1111}
    1212
    1313if (isset($_GET['msg'])){
    14         array_push($page['infos'], l10n('CR_contest_'. $_GET['msg']));
     14        $_GET['msg'] = explode('.', $_GET['msg']);
     15        $page[$_GET['msg'][0]][] = l10n('CR_'. $_GET['msg'][1]);
    1516}
    1617
     
    2930
    3031while ($contest = pwg_db_fetch_assoc($contests)) {
    31         if (is_date_passed($contest['date_end'])) {
    32                 $contest['status'] = 'finished';
    33         } else {
    34                 $contest['status'] = 'pending';
    35         }
     32        $contest = array_merge($contest, get_contest_status($contest['date_begin'],$contest['date_end']));
     33
    3634        $template->append('contests_'.$contest['status'], array(
    37                 'NAME' => trigger_event('render_CR_content', $contest['name']),
    38                 'VISIBLE' => $contest['visible'],
     35                'NAME' =>               trigger_event('render_CR_content', $contest['name']),
     36                'VISIBLE' =>    $contest['visible'],
    3937                'DATE_BEGIN' => format_date($contest['date_begin']),
    40                 'DATE_END' => format_date($contest['date_end']),
    41                 'LOGO' => $contest['logo'],
    42                 'U_RESULTS' => CR_ADMIN . '&tab=results&contest_id=' . $contest['id'],
    43                 'U_EDIT' => CR_ADMIN . '&tab=edit&contest_id=' . $contest['id'],
    44                 'U_DELETE' => CR_ADMIN . '&delete_contest=' . $contest['id'],
    45                 'URL' => CR_PUBLIC . $contest['id'] . '-' . str2url(trigger_event('render_CR_content', $contest['name'])),
    46                 'DAYS' => DateDiff($contest['date_end'],date('Y-m-d')),
     38                'DATE_END' =>   format_date($contest['date_end']),
     39                'LOGO' =>               $contest['logo'],
     40                'U_RESULTS' =>  CR_ADMIN . '-results&contest_id=' . $contest['id'],
     41                'U_EDIT' =>     CR_ADMIN . '-edit&contest_id=' . $contest['id'],
     42                'U_DELETE' =>   CR_ADMIN . '-manage&delete_contest=' . $contest['id'],
     43                'URL' =>                CR_PUBLIC . $contest['id'] . '-' . str2url(trigger_event('render_CR_content', $contest['name'])),
     44                'DAYS' =>               $contest['days'],
    4745        ));
    4846}
     
    5351$template->set_filenames(array('plugin_admin_content' => dirname(__FILE__).'/template/manage.tpl'));
    5452$template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');
     53
    5554?>
  • extensions/ContestResults/admin/new.php

    r9572 r9745  
    88        if ($_POST['name'] != null) {
    99                // Mise en forme des descriptions
    10                 if (isset($_POST['description'])) {
    11                         $new_description = array();
    12                         foreach ($_POST['description'] as $data) {
    13                                 $new_description[] = array(
    14                                         'name' => $data['name'],
    15                                         'content' => $data['content']
    16                                 );
     10                if (isset($_POST['description'])) {                             
     11                        for ($i=0; $i<=count($_POST['description']); $i++) {
     12                                unset($_POST['description'][$i]['rank']);
    1713                        }
    1814                        // encoder le tableau sérialisé est le seul moyen que j'ai trouvé pour pas perdre les caractères spéciaux et planter unserialize
    19                         $_POST['description'] = base64_encode(serialize($new_description));
     15                        $_POST['description'] = base64_encode(serialize($_POST['description']));
     16                } else {
     17                        $_POST['description'] = null;
    2018                }
    2119                       
    2220                // Modification d'un concours
    23                 if (isset($_GET['contest_id'])) {       
     21                if (isset($_GET['contest_id']) AND get_contest_name($_GET['contest_id'])) {     
    2422                        pwg_query("UPDATE " . CR_TABLE_1 . " SET
    2523                                `name` = '" . $_POST['name'] ."',
     
    3735                                redirect(CR_PUBLIC . $_GET['contest_id'] . '-' . str2url(trigger_event('render_CR_content', $_POST['name'])));
    3836                        } else {
    39                                 redirect(CR_ADMIN .'&amp;tab=manage&amp;msg=saved');
     37                                redirect(CR_ADMIN .'-manage&amp;msg=infos.contest_saved');
    4038                        }
    4139                       
     
    6361                                        '" . $_POST['description'] ."'
    6462                                );");
    65                         redirect(CR_ADMIN .'&amp;tab=manage&amp;msg=added');
     63                       
     64                        redirect(CR_ADMIN .'-manage&amp;msg=infos.contest_added');
    6665                }
    6766               
    6867        } else {
    69                 array_push($page['errors'], l10n('CR_name_empty'));
     68                $page['errors'][] = l10n('CR_name_empty');
    7069        }
    7170}
     
    7574//                              Définition des variables template
    7675// +-----------------------------------------------------------------------+   
    77 // Formulaire incomplet ##############################################################################################################################################################
     76// Formulaire incomplet
    7877if ($page['errors']) {
    7978        $template->assign(array(
     
    10099
    101100// Edition d'un concours
    102 } else if (isset($_GET['contest_id'])) {
     101} else if (isset($_GET['contest_id']) AND get_contest_name($_GET['contest_id'])) {
    103102        $query = "SELECT * FROM " . CR_TABLE_1 . " WHERE id = " . $_GET['contest_id'] . ";";
    104103        $contest = pwg_db_fetch_assoc(pwg_query($query));
     
    115114        ));
    116115       
    117         if ($contest['description'] != null) {
     116        if (!empty($contest['description'])) {
    118117                $contest['description'] = unserialize(base64_decode($contest['description']));
    119118                $i=0;
     
    146145$template->set_filenames(array('plugin_admin_content' => dirname(__FILE__).'/template/new.tpl'));
    147146$template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');
     147
    148148?>
  • extensions/ContestResults/admin/results.php

    r9419 r9745  
    88        pwg_query("DELETE FROM " . CR_TABLE_2 . " WHERE `contest_id` = " . $_GET['contest_id'] .";");
    99       
     10        $registered_ids = array();
     11        $_DUPLICATE = array();
     12       
    1013        foreach ($_POST['results'] AS $i => $data) {
    11                 pwg_query("INSERT INTO " . CR_TABLE_2 . "
    12                         (
    13                                 image_id,
    14                                 contest_id,
    15                                 rank,
    16                                 comment,
    17                                 author
    18                         )
    19                         VALUES(
    20                                 '" . $data['image_id'] ."',
    21                                 '" . $_GET['contest_id'] ."',
    22                                 '" . $data['rank'] ."',
    23                                 '" . $data['comment'] ."',
    24                                 '" . $data['author'] . "'
    25                         );");
     14                if (!in_array($data['image_id'], $registered_ids)) {
     15                        $registered_ids[] = $data['image_id'];
     16                       
     17                        pwg_query("INSERT INTO " . CR_TABLE_2 . "
     18                                (
     19                                        image_id,
     20                                        contest_id,
     21                                        rank,
     22                                        comment,
     23                                        author
     24                                )
     25                                VALUES(
     26                                        '" . $data['image_id'] ."',
     27                                        '" . $_GET['contest_id'] ."',
     28                                        '" . $data['rank'] ."',
     29                                        '" . $data['comment'] ."',
     30                                        '" . $data['author'] . "'
     31                                );");
     32               
     33                } else {
     34                        $_DUPLICATE[] = $data;
     35                }
    2636        }
    2737       
    28         redirect(CR_ADMIN . '&amp;tab=results&amp;msg=saved&amp;contest_id=' . $_GET['contest_id']);
     38        if (isset($_GET['redirect']) AND $_GET['redirect'] == 'page') {
     39                redirect(CR_PUBLIC . $_GET['contest_id'] . '-' . str2url(trigger_event('render_CR_content', get_contest_name($_GET['contest_id']))) . '#results');
     40        } else if (!isset($_DUPLICATE)) {
     41                $page['infos'][] = l10n('CR_results_saved');
     42        }
    2943}
    3044
     
    3246//                              Affichage des résultats
    3347// +-----------------------------------------------------------------------+
    34 if (isset($_GET['msg']) AND $_GET['msg'] == 'saved')
    35         array_push($page['infos'], l10n('CR_results_saved'));
     48
     49if (!get_contest_name($_GET['contest_id'])) {
     50        redirect(CR_ADMIN .'-manage&amp;msg=errors.notavailable');
    3651       
    37        
    38 // Nom du concours
    39 $query = "SELECT name FROM " . CR_TABLE_1 . " WHERE id = " . $_GET['contest_id'] . ";";
    40 $contest = pwg_db_fetch_assoc(pwg_query($query));
     52} else {
     53        // Nom du concours
     54        $query = "SELECT name FROM " . CR_TABLE_1 . " WHERE id = " . $_GET['contest_id'] . ";";
     55        $contest = pwg_db_fetch_assoc(pwg_query($query));
    4156
    42 $template->assign(array(
    43         'NAME' => trigger_event('render_CR_content', $contest['name']),
    44         'CONTEST_ID' => $_GET['contest_id']
    45 ));
     57        $template->assign(array(
     58                'NAME' => trigger_event('render_CR_content', $contest['name']),
     59                'CONTEST_ID' => $_GET['contest_id']
     60        ));
    4661
    47 // Résultats
    48 $results = pwg_query("SELECT * FROM " . CR_TABLE_2 . " WHERE contest_id = " . $_GET['contest_id'] . " ORDER BY rank;");
     62        // Résultats en double
     63        if (isset($_DUPLICATE)) {
     64                foreach ($_DUPLICATE AS $result) {
     65                        $data = array(
     66                                'RANK' => 0,
     67                                'IMAGE_ID' => $result['image_id'],
     68                                'AUTHOR' => $result['author'],
     69                                'COMMENT' => $result['comment'],
     70                                'ERROR' => true,
     71                        );
     72                       
     73                        // Infos de l'image
     74                        $image = pwg_query("SELECT id, name, file, path, tn_ext
     75                                FROM " . IMAGES_TABLE . "
     76                                WHERE id = " . $result['image_id'] . ";");
     77                       
     78                        if (!pwg_db_num_rows($image)) {
     79                                $themeconf = $template->get_template_vars('themeconf');
     80                                $data['TN_SRC'] = $themeconf['admin_icon_dir'] . '/errors.png';
     81                                $data['IMAGE_NAME'] = 'N/A';           
     82                        } else {
     83                                $image = pwg_db_fetch_assoc($image);
     84                                $data['TN_SRC'] = get_thumbnail_url($image);
     85                                $data['IMAGE_NAME'] = (empty($image['name'])) ? get_name_from_file($image['file']) : $image['name'];
     86                        }
     87                       
     88                        $page['errors'][] = l10n_dec('CR_duplicate_result %d', 'CR_duplicate_result %d', $result['image_id']);
     89                        $template->append('results', $data);
     90                }
     91        }
    4992
    50 while ($result = pwg_db_fetch_assoc($results)) {
    51         $data = array(
    52                 'RANK' => $result['rank'],
    53                 'IMAGE_ID' => $result['image_id'],
    54                 'AUTHOR' => $result['author'],
    55                 'COMMENT' => $result['comment'],
    56         );
    57        
    58         // Infos de l'image
    59         $image = pwg_query("SELECT id, name, file, path, tn_ext
    60                 FROM " . IMAGES_TABLE . "
    61                 WHERE id = " . $result['image_id'] . ";");
    62        
    63         if (!pwg_db_num_rows($image)) {
    64                 $themeconf = $template->get_template_vars('themeconf');
    65                 $data['TN_SRC'] = $themeconf['admin_icon_dir'] . '/errors.png';
    66                 $data['IMAGE_NAME'] = 'N/A';
    67                 $page['errors'][] = l10n_dec('CR_id_unknown %d', 'CR_id_unknown %d', $result['image_id']);
     93        // Résultats enregistrés
     94        $results = pwg_query("SELECT * FROM " . CR_TABLE_2 . " WHERE contest_id = " . $_GET['contest_id'] . " ORDER BY rank;");
     95
     96        while ($result = pwg_db_fetch_assoc($results)) {
     97                $data = array(
     98                        'RANK' => $result['rank'],
     99                        'IMAGE_ID' => $result['image_id'],
     100                        'AUTHOR' => $result['author'],
     101                        'COMMENT' => $result['comment'],
     102                );
    68103               
    69         } else {
    70                 $image = pwg_db_fetch_assoc($image);
    71                 $data['TN_SRC'] = get_thumbnail_url($image);
    72                 $data['IMAGE_NAME'] = (empty($image['name'])) ? get_name_from_file($image['file']) : $image['name'];
     104                // Infos de l'image
     105                $image = pwg_query("SELECT id, name, file, path, tn_ext
     106                        FROM " . IMAGES_TABLE . "
     107                        WHERE id = " . $result['image_id'] . ";");
     108               
     109                if (!pwg_db_num_rows($image)) {
     110                        $themeconf = $template->get_template_vars('themeconf');
     111                        $data['TN_SRC'] = $themeconf['admin_icon_dir'] . '/errors.png';
     112                        $data['IMAGE_NAME'] = 'N/A';
     113                        $data['ERROR'] = true;
     114                        $page['errors'][] = l10n_dec('CR_id_unknown %d', 'CR_id_unknown %d', $result['image_id']);
     115                } else {
     116                        $image = pwg_db_fetch_assoc($image);
     117                        $data['TN_SRC'] = get_thumbnail_url($image);
     118                        $data['IMAGE_NAME'] = (empty($image['name'])) ? get_name_from_file($image['file']) : $image['name'];
     119                }
     120               
     121                $template->append('results', $data);
    73122        }
    74        
    75         $template->append('results', $data);
     123
     124        // +-----------------------------------------------------------------------+
     125        //                              Template
     126        // +-----------------------------------------------------------------------+
     127        $template->set_filenames(array('plugin_admin_content' => dirname(__FILE__) . '/template/results.tpl'));
     128        $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');
    76129}
    77130
    78 // +-----------------------------------------------------------------------+
    79 //                              Template
    80 // +-----------------------------------------------------------------------+
    81 $template->set_filenames(array('plugin_admin_content' => dirname(__FILE__) . '/template/results.tpl'));
    82 $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');
    83131?>
  • extensions/ContestResults/admin/template/config.tpl

    r9572 r9745  
    1 {combine_script id='jquery' path='themes/default/js/jquery.min.js'}
    2 {combine_css id='cr_admin_style' path=$CR_PATH|@cat:'admin/template/style.css'}
     1{combine_css path=$CR_PATH|@cat:'admin/template/style.css'}
    32
    4 {html_head}
    5         <style type="text/css">
    6                 tr td:first-child {ldelim}
    7                         max-width:300px;
    8                         min-width:300px;
     3{footer_script require='jquery'}
     4{literal}
     5        function ToggleConfig(sel, section) {
     6                var obj = jQuery('#config_'+section);
     7                if (sel.checked) {
     8                        obj.show();
     9                } else {
     10                        obj.hide();
    911                }
    10         </style>
     12        }
    1113       
    12         <script type="text/javascript">
    13                 function ToggleConfig(sel, section){ldelim}
    14                         var obj = jQuery('#config_'+section);
    15                         if(sel.checked){ldelim}
    16                                 obj.show();
    17                         }else{ldelim}
    18                                 obj.hide();
    19                         }
    20                 }
    21         </script>
    22 {/html_head}
     14        ToggleConfig(document.forms['CR_config'].elements['menubar_mode_link'], 'link');
     15        ToggleConfig(document.forms['CR_config'].elements['menubar_mode_block'], 'block');
     16{/literal}
     17{/footer_script}
    2318
    24 <h2 style="float:right;top:-24px;position:relative;font-style:italic;margin-bottom:-20px;font-size:12px;font-weight:normal;">{$CR_VERSION}</h2>
     19<h2 class="version_title">{$CR_VERSION}</h2>
    2520
    2621<div class="titrePage">
     
    2823</div>
    2924
    30 <form method="post" action="" class="properties">
     25<form method="post" action="" class="properties" id="CR_config">
     26        <fieldset>
     27                <legend>{'Preferences'|@translate}</legend>
     28               
     29                <table>
     30                        <tr>
     31                                <td><span class="title">{'CR_truncate_summary'|@translate}</span></td>
     32                                <td><input type="text" size="3" name="truncate_summary" value="{$TRUNCATE_SUMMARY}"/></td>
     33                        </tr>
     34                </table>
     35        </fieldset>
     36       
    3137        <fieldset>
    3238                <legend>{'Menu'|@translate}</legend>
     
    5662                        <tr>
    5763                                <td><span class="title">{'CR_menubar_block_number'|@translate}</span></td>
    58                                 <td><input type="text" size="2" maxlength="2" name="menubar_block_number" value="{$BLOCK_NUMBER}"/></td>
     64                                <td><input type="text" size="2" name="menubar_block_number" value="{$BLOCK_NUMBER}"/></td>
    5965                        </tr>
    6066                </table>
     
    6369        <p><input class="submit" type="submit" value="{'Submit'|@translate}" name="config_submit"/></p>
    6470</form>
    65 
    66 <script type="text/javascript">
    67         ToggleConfig(document.forms[0].elements['menubar_mode_link'], 'link');
    68         ToggleConfig(document.forms[0].elements['menubar_mode_block'], 'block');
    69 </script>
  • extensions/ContestResults/admin/template/manage.tpl

    r9572 r9745  
    1 {combine_css id='cr_admin_style' path=$CR_PATH|@cat:'admin/template/style.css'}
     1{combine_css path=$CR_PATH|@cat:'admin/template/style.css'}
    22
    3 <h2 style="float:right;top:-24px;position:relative;font-style:italic;margin-bottom:-20px;font-size:12px;font-weight:normal;">{$CR_VERSION}</h2>
     3<h2 class="version_title">{$CR_VERSION}</h2>
    44
    55<div class="titrePage">
     
    77</div>
    88
    9 {if !isset($contests_pending) and !isset($contests_finished)}
     9{if !isset($contests_pending) and !isset($contests_running) and !isset($contests_finished)}
    1010        {'CR_no_contest'|@translate}<br>
    11         <a href="admin.php?page=plugin&section=ContestResults/admin/admin.php&tab=new">{'CR_new_tab'|@translate}</a>
     11        <a href="{$CR_ADMIN}&tab=new">{'CR_new_tab'|@translate}</a>
    1212{/if}
    1313
    1414{if isset($contests_pending)}
    15         <fieldset>
    16                 <legend>{'CR_pending_title'|@translate}</legend>
    17                 <form id="categoryOrdering">
    18                         <ul class="categoryUl">
    19                                 {foreach from=$contests_pending item=contest name=pending_loop}
    20                                         <li class="categoryLi {if $smarty.foreach.pending_loop.index is odd}virtual_cat{/if} {if $contest.VISIBLE == 0}novisible{/if}">
    21                                                 <ul class="categoryActions">
    22                                                         <li>
    23                                                                 <a href="{$contest.U_EDIT}" title="{'CR_edit_tab'|@translate}">
    24                                                                         <img src="{$themeconf.admin_icon_dir}/category_edit.png" class="button" alt="{'CR_edit_tab'|@translate}"/>
    25                                                                 </a>
    26                                                         </li>
    27                                                         <li>
    28                                                                 <a href="{$contest.U_RESULTS}" title="{'CR_results_tab'|@translate}">
    29                                                                         <img src="{$themeconf.admin_icon_dir}/category_elements.png" class="button" alt="{'CR_results_tab'|@translate}"/>
    30                                                                 </a>
    31                                                         </li>
    32                                                         <li>
    33                                                                 <a href="{$contest.U_DELETE}" title="{'CR_delete'|@translate}" onclick="return confirm('{'Are you sure?'|@translate}');">
    34                                                                         <img src="{$themeconf.admin_icon_dir}/category_delete.png" class="button" alt="{'CR_delete'|@translate}" />
    35                                                                 </a>
    36                                                         </li>
    37                                                 </ul>
    38                                                 <p>
    39                                                         {if !empty($contest.LOGO)}<img src="{$contest.LOGO}" width="13px" class="button"/>{/if}
    40                                                         <strong><a href="{$contest.URL}" title="{'CR_go'|@translate}">{$contest.NAME}</a></strong> - {$contest.DATE_BEGIN} | {$contest.DATE_END}
    41                                                         <span class="CR_finished">{$contest.DAYS} {'CR_days'|@translate}</span>
    42                                                 </p>
     15<fieldset>
     16        <legend>{'CR_pending_title'|@translate}</legend>
     17        <form id="categoryOrdering">
     18                <ul class="categoryUl">
     19                        {foreach from=$contests_pending item=contest name=pending_loop}
     20                        <li class="categoryLi {if $smarty.foreach.pending_loop.index is odd}virtual_cat{/if} {if $contest.VISIBLE == 0}novisible{/if}">
     21                                <ul class="categoryActions">
     22                                        <li>
     23                                                <a href="{$contest.U_EDIT}" title="{'CR_edit_tab'|@translate}">
     24                                                        <img src="{$themeconf.admin_icon_dir}/category_edit.png" class="button" alt="{'CR_edit_tab'|@translate}"/>
     25                                                </a>
    4326                                        </li>
    44                                 {/foreach}
    45                         </ul>
    46                 </form>
    47         </fieldset>
     27                                        <li>
     28                                                <a href="{$contest.U_DELETE}" title="{'CR_delete'|@translate}" onclick="return confirm('{'Are you sure?'|@translate}');">
     29                                                        <img src="{$themeconf.admin_icon_dir}/category_delete.png" class="button" alt="{'CR_delete'|@translate}" />
     30                                                </a>
     31                                        </li>
     32                                </ul>
     33                                <p>
     34                                        {if !empty($contest.LOGO)}<img src="{$contest.LOGO}" width="13px" class="button"/>{/if}
     35                                        <strong><a href="{$contest.URL}" title="{'CR_go'|@translate}">{$contest.NAME}</a></strong> - {$contest.DATE_BEGIN} | {$contest.DATE_END}
     36                                        <span class="CR_finished">{$contest.DAYS}</span>
     37                                </p>
     38                        </li>
     39                        {/foreach}
     40                </ul>
     41        </form>
     42</fieldset>
     43{/if}
     44
     45{if isset($contests_running)}
     46<fieldset>
     47        <legend>{'CR_running_title'|@translate}</legend>
     48        <form id="categoryOrdering">
     49                <ul class="categoryUl">
     50                        {foreach from=$contests_running item=contest name=running_loop}
     51                        <li class="categoryLi {if $smarty.foreach.running_loop.index is odd}virtual_cat{/if} {if $contest.VISIBLE == 0}novisible{/if}">
     52                                <ul class="categoryActions">
     53                                        <li>
     54                                                <a href="{$contest.U_EDIT}" title="{'CR_edit_tab'|@translate}">
     55                                                        <img src="{$themeconf.admin_icon_dir}/category_edit.png" class="button" alt="{'CR_edit_tab'|@translate}"/>
     56                                                </a>
     57                                        </li>
     58                                        <li>
     59                                                <a href="{$contest.U_RESULTS}" title="{'CR_results_tab'|@translate}">
     60                                                        <img src="{$themeconf.admin_icon_dir}/category_elements.png" class="button" alt="{'CR_results_tab'|@translate}"/>
     61                                                </a>
     62                                        </li>
     63                                        <li>
     64                                                <a href="{$contest.U_DELETE}" title="{'CR_delete'|@translate}" onclick="return confirm('{'Are you sure?'|@translate}');">
     65                                                        <img src="{$themeconf.admin_icon_dir}/category_delete.png" class="button" alt="{'CR_delete'|@translate}" />
     66                                                </a>
     67                                        </li>
     68                                </ul>
     69                                <p>
     70                                        {if !empty($contest.LOGO)}<img src="{$contest.LOGO}" width="13px" class="button"/>{/if}
     71                                        <strong><a href="{$contest.URL}" title="{'CR_go'|@translate}">{$contest.NAME}</a></strong> - {$contest.DATE_BEGIN} | {$contest.DATE_END}
     72                                        <span class="CR_finished">{$contest.DAYS}</span>
     73                                </p>
     74                        </li>
     75                        {/foreach}
     76                </ul>
     77        </form>
     78</fieldset>
    4879{/if}
    4980
    5081{if isset($contests_finished)}
    51         <fieldset>
    52                 <legend>{'CR_finished_title'|@translate}</legend>
    53                 <form id="categoryOrdering">
    54                         <ul class="categoryUl">
    55                                 {foreach from=$contests_finished item=contest name=finished_loop}
    56                                         <li class="categoryLi {if $smarty.foreach.finished_loop.index is odd}virtual_cat{/if} {if $contest.VISIBLE == 0}novisible{/if}">
    57                                                 <ul class="categoryActions">
    58                                                         <li>
    59                                                                 <a href="{$contest.U_EDIT}" title="{'CR_edit_tab'|@translate}">
    60                                                                         <img src="{$themeconf.admin_icon_dir}/category_edit.png" class="button" alt="{'CR_edit_tab'|@translate}"/>
    61                                                                 </a>
    62                                                         </li>
    63                                                         <li>
    64                                                                 <a href="{$contest.U_RESULTS}" title="{'CR_results_tab'|@translate}">
    65                                                                         <img src="{$themeconf.admin_icon_dir}/category_elements.png" class="button" alt="{'CR_results_tab'|@translate}"/>
    66                                                                 </a>
    67                                                         </li>
    68                                                         <li>
    69                                                                 <a href="{$contest.U_DELETE}" title="{'CR_delete'|@translate}" onclick="return confirm('{'Are you sure?'|@translate}');">
    70                                                                         <img src="{$themeconf.admin_icon_dir}/category_delete.png" class="button" alt="{'CR_delete'|@translate}" />
    71                                                                 </a>
    72                                                         </li>
    73                                                 </ul>
    74                                                 <p>
    75                                                         {if !empty($contest.LOGO)}<img src="{$contest.LOGO}" width="13px" class="button"/>{/if}
    76                                                         <strong><a href="{$contest.URL}" title="{'CR_go'|@translate}">{$contest.NAME}</a></strong> - {$contest.DATE_BEGIN} | {$contest.DATE_END}
    77                                                 </p>
     82<fieldset>
     83        <legend>{'CR_finished_title'|@translate}</legend>
     84        <form id="categoryOrdering">
     85                <ul class="categoryUl">
     86                        {foreach from=$contests_finished item=contest name=finished_loop}
     87                        <li class="categoryLi {if $smarty.foreach.finished_loop.index is odd}virtual_cat{/if} {if $contest.VISIBLE == 0}novisible{/if}">
     88                                <ul class="categoryActions">
     89                                        <li>
     90                                                <a href="{$contest.U_EDIT}" title="{'CR_edit_tab'|@translate}">
     91                                                        <img src="{$themeconf.admin_icon_dir}/category_edit.png" class="button" alt="{'CR_edit_tab'|@translate}"/>
     92                                                </a>
    7893                                        </li>
    79                                 {/foreach}
    80                         </ul>
    81                 </form>
    82         </fieldset>
     94                                        <li>
     95                                                <a href="{$contest.U_RESULTS}" title="{'CR_results_tab'|@translate}">
     96                                                        <img src="{$themeconf.admin_icon_dir}/category_elements.png" class="button" alt="{'CR_results_tab'|@translate}"/>
     97                                                </a>
     98                                        </li>
     99                                        <li>
     100                                                <a href="{$contest.U_DELETE}" title="{'CR_delete'|@translate}" onclick="return confirm('{'Are you sure?'|@translate}');">
     101                                                        <img src="{$themeconf.admin_icon_dir}/category_delete.png" class="button" alt="{'CR_delete'|@translate}" />
     102                                                </a>
     103                                        </li>
     104                                </ul>
     105                                <p>
     106                                        {if !empty($contest.LOGO)}<img src="{$contest.LOGO}" width="13px" class="button"/>{/if}
     107                                        <strong><a href="{$contest.URL}" title="{'CR_go'|@translate}">{$contest.NAME}</a></strong> - {$contest.DATE_BEGIN} | {$contest.DATE_END}
     108                                        <span class="CR_finished">{$contest.DAYS}</span>
     109                                </p>
     110                        </li>
     111                        {/foreach}
     112                </ul>
     113        </form>
     114</fieldset>
    83115{/if}
  • extensions/ContestResults/admin/template/new.tpl

    r9572 r9745  
    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'}
     1{combine_script id='jquery.ui'                  require='jquery' path='themes/default/js/ui/minified/jquery.ui.core.min.js'}
     2{combine_script id='jquery.ui.sortable' require='jquery' path='themes/default/js/ui/minified/jquery.ui.sortable.min.js'}
     3{combine_script id='jquery.cluetip'     require='jquery' path='themes/default/js/plugins/jquery.cluetip.js'}
     4
     5{combine_css path=$CR_PATH|@cat:'admin/template/style.css'}
    66{include file='include/autosize.inc.tpl'}
    77{include file='include/datepicker.inc.tpl'}
    88
     9{footer_script require='jquery'}
     10        // AJOUTE UN CHAMP DE RESULTAT
     11        function CreateDescField(j, new_desc){ldelim}
     12                // Si il n'y a aucun résultats on efface le message
     13                if(new_desc) jQuery('#categoryUl').html('');
     14               
     15                // Ajoute à la fin de la liste une nouvelle ligne de résultat vide
     16                jQuery('<li id="desc_'+ j +'" class="categoryLi virtual_cat"></li>').appendTo('#categoryUl');
     17               
     18                // Contenu de la ligne
     19                jQuery('#desc_'+ j).html('<ul class="categoryActions"> '+
     20                                '<li> '+
     21                                        '<a href="#" title="{'CR_delete_desc'|@translate}" onclick="jQuery(\'#desc_'+ j +'\').remove();return false;"> '+
     22                                                '<img src="{$themeconf.admin_icon_dir}/category_delete.png" class="button" alt="{'CR_delete_result'|@translate}"/> '+
     23                                        '</a> '+
     24                                '</li> '+
     25                        '</ul> '+
     26                        '<p> '+
     27                                '<img src="{$themeconf.admin_icon_dir}/cat_move.png" class="button drag_button" style="display:none;" title="{'Drag to re-order'|@translate}"> '+
     28                                '<input type="text" size="65" name="description['+ j +'][name]" value=""/> '+
     29                                '<textarea class="result_comment" name="description['+ j +'][content]"></textarea> '+
     30                        '</p> '+
     31                        '<p class="catPos">{'CR_rank'|@translate} : <input type="text" name="description['+ j +'][rank]" value=""/></p>');
     32               
     33                // Remplace le lien de création
     34                jQuery('#AddLink').html('<input class="submit" type="reset" onclick="CreateDescField('+ (j+1) +');return false;" value="{'CR_addfield'|@translate}"/>');
     35               
     36                // Réinitiliase les fonctions jQuery
     37                jQuery('.catPos').hide();
     38                jQuery('.drag_button').show();
     39                jQuery('.categoryLi').css('cursor', 'move');
     40                jQuery('textarea').autogrow();
     41                jQuery('textarea').css('overflow-y', 'hidden');
     42        }
     43
     44{literal}
     45        jQuery().ready(function(){
     46                //  Drag-and-Drop
     47                jQuery('.catPos').hide();
     48                jQuery('.drag_button').show();
     49                jQuery('.categoryLi').css('cursor', 'move');
     50                jQuery('.categoryUl').sortable({
     51                        axis: 'y',
     52                        opacity: 0.8
     53                });
     54                jQuery('#categoryOrdering').submit(function(){
     55                        ar = jQuery('.categoryUl').sortable('toArray');
     56                        for(i=0; i<ar.length; i++) {
     57                                cat = ar[i].split('desc_');
     58                                document.getElementsByName('description[' + cat[1] + '][rank]')[0].value = i+1;
     59                        }
     60                });
     61                // Cluetip
     62                jQuery('.cluetip').cluetip({
     63                        width: 550,
     64                        splitTitle: '|'
     65                });
     66        });
     67
     68        $(function() {
     69                $('#DateBegin').datepicker({dateFormat:'yy-mm-dd', firstDay:1});
     70                $('#DateEnd').datepicker({dateFormat:'yy-mm-dd', firstDay:1});
     71        });
     72{/literal}
     73{/footer_script}
     74
    975{html_head}
    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 
    85         <style type="text/css">
    86                 .cluetip:after {ldelim}
    87                         content:url('{$themeconf.admin_icon_dir}/help.png');
    88                 }
    89         </style>
     76<style type="text/css">
     77        .cluetip:after {ldelim}
     78                content:url('{$themeconf.admin_icon_dir}/help.png');
     79        }
     80</style>
    9081{/html_head}
    9182
    92 <h2 style="float:right;top:-24px;position:relative;font-style:italic;margin-bottom:-20px;font-size:12px;font-weight:normal;">{$CR_VERSION}</h2>
     83<h2 class="version_title">{$CR_VERSION}</h2>
    9384
    9485<div class="titrePage">
     
    159150                                        <ul class="categoryActions">
    160151                                                <li>
    161                                                         <a href="#" title="{'CR_delete_desc'|@translate}" onclick="DeleteDescField({$i});return false;">
     152                                                        <a href="#" title="{'CR_delete_desc'|@translate}" onclick="jQuery('#desc_{$i}').remove();return false;">
    162153                                                                <img src="{$themeconf.admin_icon_dir}/category_delete.png" class="button" alt="{'CR_delete_result'|@translate}"/>
    163154                                                        </a>
  • extensions/ContestResults/admin/template/results.tpl

    r9572 r9745  
    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_script id='jquery.vtip' path=$CR_PATH|@cat:'admin/template/vtip.js'}
    6 {combine_css id='cr_admin_style' path=$CR_PATH|@cat:'admin/template/style.css'}
     1{combine_script id='jquery.ui'                  require='jquery' path='themes/default/js/ui/minified/jquery.ui.core.min.js'}
     2{combine_script id='jquery.ui.sortable' require='jquery' path='themes/default/js/ui/minified/jquery.ui.sortable.min.js'}
     3{combine_script id='jquery.cluetip'     require='jquery' path='themes/default/js/plugins/jquery.cluetip.js'}
     4{combine_script id='jquery.vtip'                require='jquery' path=$CR_PATH|@cat:'admin/template/vtip.js'}
     5
     6{combine_css path=$CR_PATH|@cat:'admin/template/style.css'}
    77{include file='include/autosize.inc.tpl'}
    88
     9{footer_script require='jquery'}
     10        // AJOUTE UN CHAMP DE RESULTAT
     11        function CreateResultField(j, new_contest){ldelim}
     12                // Si il n'y a aucun résultats on efface le message
     13                if(new_contest) jQuery('#categoryUl').html('');
     14               
     15                // Ajoute à la fin de la liste une nouvelle ligne de résultat vide
     16                jQuery('<li id="result_'+ j +'" class="categoryLi virtual_cat"></li>').appendTo('#categoryUl');
     17               
     18                // Contenu de la ligne
     19                jQuery('#result_'+ j).html('<ul class="categoryActions"> '+
     20                                '<li> '+
     21                                        '<a href="#" title="{'CR_delete_result'|@translate}" onclick="jQuery(\'#result_'+ j +'\').remove();return false;"> '+
     22                                                '<img src="{$themeconf.admin_icon_dir}/category_delete.png" class="button" alt="{'CR_delete_result'|@translate}"/> '+
     23                                        '</a> '+
     24                                '</li> '+
     25                        '</ul> '+
     26                        '<p> '+
     27                                '<img src="{$themeconf.admin_icon_dir}/cat_move.png" class="button drag_button" style="display:none;" title="{'Drag to re-order'|@translate}"> '+
     28                                '{'CR_image_no'|@translate} <input type="text" size="6" name="results['+ j +'][image_id]" value="" onkeyup="UpdatePreview('+ j +', this);"/> '+
     29                                '<span id="preview-'+ j +'"> '+
     30                                        '<span class="vtip" title="<img src=\'admin/themes/default/icon/errors.png\'/><br>N/A"> '+
     31                                                '<img src="{$CR_PATH}admin/template/image/images.png"/> '+
     32                                        '</span> '+
     33                                '</span> '+
     34                                '{'CR_author'|@translate} : <input type="text" name="results['+ j +'][author]" value=""/> '+
     35                                '<textarea class="result_comment" name="results['+ j +'][comment]"></textarea> '+
     36                        '</p> '+
     37                        '<p class="catPos">{'CR_rank'|@translate} : <input type="text" name="results['+ j +'][rank]" value=""/></p>');
     38               
     39                // Remplace le lien de création
     40                jQuery('#AddLink').html('<input class="submit" type="reset" onclick="CreateResultField('+ (j+1) +');return false;" value="{'CR_addfield'|@translate}"/>');
     41               
     42                // Réinitiliase les fonctions jQuery
     43                jQuery('.catPos').hide();
     44                jQuery('.drag_button').show();
     45                jQuery('.categoryLi').css('cursor', 'move');
     46                jQuery('textarea').autogrow();
     47                jQuery('textarea').css('overflow-y', 'hidden');
     48                vtip();
     49        }
     50       
     51        // MET A JOUR LA PREVISUALISATION DE L'IMAGE
     52        function UpdatePreview(image_id, input){ldelim}
     53                $.get("{$CR_PATH}admin/get_tn.php", {ldelim}image_id: input.value},
     54                        function success(data){ldelim}
     55                                document.getElementById('preview-'+image_id).innerHTML = '<span class="vtip" title="'+ data + '">'+
     56                                                '<img src="{$CR_PATH}admin/template/image/images.png"/>'+
     57                                        '</span>';
     58                                vtip();
     59                        }
     60                );
     61        }
     62               
     63{literal}
     64        jQuery().ready(function(){
     65                //  Drag-and-Drop
     66                jQuery('.catPos').hide();
     67                jQuery('.drag_button').show();
     68                jQuery('.categoryLi').css('cursor', 'move');
     69                jQuery('.categoryUl').sortable({
     70                        axis: 'y',
     71                        opacity: 0.8
     72                });
     73                jQuery('#categoryOrdering').submit(function(){
     74                        ar = jQuery('.categoryUl').sortable('toArray');
     75                        for(i=0; i<ar.length; i++) {
     76                                cat = ar[i].split('result_');
     77                                document.getElementsByName('results[' + cat[1] + '][rank]')[0].value = i+1;
     78                        }
     79                });
     80                // Cluetip
     81                jQuery('.cluetip').cluetip({
     82                        width: 550,
     83                        splitTitle: '|'
     84                });
     85        });
     86{/literal}
     87{/footer_script}
     88
    989{html_head}
    10         <script type="text/javascript">
    11                 // AJOUTE UN CHAMP DE RESULTAT
    12                 function CreateResultField(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', 'result_'+(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_result'|@translate}" onclick="DeleteResultField('+ 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                                         '{'CR_image_no'|@translate} <input type="text" size="6" name="results['+ j +'][image_id]" value="" onkeyup="UpdatePreview('+ j +', this);"/> '+
    33                                         '<span id="preview-'+ j +'"> '+
    34                                                 '<span class="vtip" title="<img src=\'admin/themes/default/icon/errors.png\'/><br>N/A"> '+
    35                                                         '<img src="{$CR_PATH}admin/template/image/images.png"/> '+
    36                                                 '</span> '+
    37                                         '</span> '+
    38                                         '{'CR_author'|@translate} : <input type="text" name="results['+ j +'][author]" value=""/> '+
    39                                         '<textarea class="result_comment" name="results['+ j +'][comment]"></textarea> '+
    40                                 '</p> '+
    41                                 '<p class="catPos">{'CR_rank'|@translate} : <input type="text" name="results['+ j +'][rank]" value=""/></p>';
    42                        
    43                         // Remplace le lien de création
    44                         document.getElementById('AddLink').innerHTML = '<input class="submit" type="reset" onclick="CreateResultField('+ (j+1) +');return false;" value="{'CR_addfield'|@translate}"/>';
    45                        
    46                         // Réinitiliase les fonctions jQuery
    47                         jQuery('.catPos').hide();
    48                         jQuery('.drag_button').show();
    49                         jQuery('.categoryLi').css('cursor', 'move');
    50                         jQuery('textarea').autogrow();
    51                         jQuery('textarea').css('overflow-y', 'hidden');
    52                         vtip();
    53                 }
    54                
    55                 // SUPPRIME UN CHAMP DE RESULTAT
    56                 function DeleteResultField(k){ldelim}
    57                         var result = document.getElementById('result_'+k);
    58                         var parent = result.parentNode;
    59                         parent.removeChild(result);
    60                 }
    61 
    62                 jQuery().ready(function(){ldelim}
    63                         //  Drag-and-Drop
    64                         jQuery('.catPos').hide();
    65                         jQuery('.drag_button').show();
    66                         jQuery('.categoryLi').css('cursor', 'move');
    67                         jQuery('.categoryUl').sortable({ldelim}
    68                                 axis: 'y',
    69                                 opacity: 0.8
    70                         });
    71                         jQuery('#categoryOrdering').submit(function(){ldelim}
    72                                 ar = jQuery('.categoryUl').sortable('toArray');
    73                                 for(i=0; i<ar.length; i++) {ldelim}
    74                                         cat = ar[i].split('result_');
    75                                         document.getElementsByName('results[' + cat[1] + '][rank]')[0].value = i+1;
    76                                 }
    77                         });
    78                         // Cluetip
    79                         jQuery('.cluetip').cluetip({ldelim}
    80                                 width: 550,
    81                                 splitTitle: '|'
    82                         });
    83                 });
    84                
    85                 // MET A JOUR LA PREVISUALISATION DE L'IMAGE
    86                 function UpdatePreview(image_id, input){ldelim}
    87                         $.get("{$CR_PATH}admin/get_tn.php", {ldelim}image_id: input.value},
    88                                 function success(data){ldelim}
    89                                         document.getElementById('preview-'+image_id).innerHTML = '<span class="vtip" title="'+ data + '">'+
    90                                                         '<img src="{$CR_PATH}admin/template/image/images.png"/>'+
    91                                                 '</span>';
    92                                         vtip();
    93                                 }
    94                         );
    95                 }
    96         </script>
    97        
    98         <style type="text/css">
    99                 .cluetip:after {ldelim}
    100                         content:url('{$themeconf.admin_icon_dir}/help.png');
    101                 }
    102         </style>
     90<style type="text/css">
     91        .cluetip:after {ldelim}
     92                content:url('{$themeconf.admin_icon_dir}/help.png');
     93        }
     94</style>
    10395{/html_head}
    10496
    105 <h2 style="float:right;top:-24px;position:relative;font-style:italic;margin-bottom:-20px;font-size:12px;font-weight:normal;">{$CR_VERSION}</h2>
     97<h2 class="version_title">{$CR_VERSION}</h2>
    10698
    10799<div class="titrePage">
     
    114106        {if isset($results)}
    115107                {foreach from=$results item=result}
    116                         <li class="categoryLi {if $result.IMAGE_NAME == 'N/A'}error_cat{/if}" id="result_{$i}">
     108                        <li class="categoryLi {if isset($result.ERROR)}error_cat{/if}" id="result_{$i}">
    117109                                <ul class="categoryActions">
    118110                                        <li>
    119                                                 <a href="#" title="{'CR_delete_result'|@translate}" onclick="DeleteResultField({$i});return false;">
     111                                                <a href="#" title="{'CR_delete_result'|@translate}" onclick="jQuery('#result_{$i}').remove();return false;">
    120112                                                        <img src="{$themeconf.admin_icon_dir}/category_delete.png" class="button" alt="{'CR_delete_result'|@translate}"/>
    121113                                                </a>
  • extensions/ContestResults/admin/template/style.css

    r9572 r9745  
    1 .titrePage {
    2         clear:right;
    3 }
    4 .titrePage h2 {
    5         text-align:center;
    6 }
    7 
    81.result_comment {
    92        width:95%;
     
    7164        color:#a00;
    7265}
     66
     67#CR_config tr td:first-child {
     68        max-width:300px;
     69        min-width:300px;
     70}
     71
     72.version_title {
     73        float:right;
     74        position:relative;
     75        top:-24px;
     76        margin-bottom:-20px !important;
     77        font-size:12px !important;
     78        font-style:italic;
     79        font-weight:normal;
     80}
Note: See TracChangeset for help on using the changeset viewer.