Changeset 9745 for extensions/ContestResults/admin
- Timestamp:
- Mar 17, 2011, 8:25:13 PM (13 years ago)
- Location:
- extensions/ContestResults/admin
- Files:
-
- 1 deleted
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/ContestResults/admin/config.php
r9419 r9745 6 6 // +-----------------------------------------------------------------------+ 7 7 if (isset($_POST['config_submit'])) { 8 $ user_config= array(8 $conf['ContestResults'] = array( 9 9 'menubar_mode' => array( 10 10 'link' => (isset($_POST['menubar_mode_link'])) ? 1 : 0, … … 18 18 'number' => $_POST['menubar_block_number'], 19 19 ), 20 'truncate_summary' => $_POST['truncate_summary'], 20 21 ); 21 22 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'); 24 25 } 25 26 … … 27 28 // Définition des variables template 28 29 // +-----------------------------------------------------------------------+ 29 if (isset($_GET['msg']) AND $_GET['msg'] == 'saved')30 array_push($page['infos'], l10n('Information data registered in database'));31 32 33 30 $template->assign(array( 34 31 'MODE_LINK' => ($conf['ContestResults']['menubar_mode']['link']) ? 'checked="checked"' : '', … … 37 34 'LINK_SPECIALS' => ($conf['ContestResults']['menubar_link']['specials']) ? 'checked="checked"' : '', 38 35 'BLOCK_NUMBER' => $conf['ContestResults']['menubar_block']['number'], 36 'TRUNCATE_SUMMARY' => $conf['ContestResults']['truncate_summary'], 39 37 )); 40 38 … … 44 42 $template->set_filenames(array('plugin_admin_content' => dirname(__FILE__).'/template/config.tpl')); 45 43 $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content'); 44 46 45 ?> -
extensions/ContestResults/admin/get_tn.php
r9572 r9745 9 9 10 10 if (!pwg_db_num_rows($image)) { 11 $themeconf = $template->get_template_vars('themeconf');11 //$themeconf = $template->get_template_vars('themeconf'); 12 12 //$data['TN_SRC'] = $themeconf['admin_icon_dir'] . '/errors.png'; 13 13 $data['TN_SRC'] = 'admin/themes/default/icon/errors.png'; -
extensions/ContestResults/admin/manage.php
r9572 r9745 8 8 pwg_query('DELETE FROM ' . CR_TABLE_1 . ' WHERE id = ' . $_GET['delete_contest'] . ';'); 9 9 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'); 11 11 } 12 12 13 13 if (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]); 15 16 } 16 17 … … 29 30 30 31 while ($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 36 34 $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'], 39 37 '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'], 47 45 )); 48 46 } … … 53 51 $template->set_filenames(array('plugin_admin_content' => dirname(__FILE__).'/template/manage.tpl')); 54 52 $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content'); 53 55 54 ?> -
extensions/ContestResults/admin/new.php
r9572 r9745 8 8 if ($_POST['name'] != null) { 9 9 // 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']); 17 13 } 18 14 // 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; 20 18 } 21 19 22 20 // Modification d'un concours 23 if (isset($_GET['contest_id']) ) {21 if (isset($_GET['contest_id']) AND get_contest_name($_GET['contest_id'])) { 24 22 pwg_query("UPDATE " . CR_TABLE_1 . " SET 25 23 `name` = '" . $_POST['name'] ."', … … 37 35 redirect(CR_PUBLIC . $_GET['contest_id'] . '-' . str2url(trigger_event('render_CR_content', $_POST['name']))); 38 36 } else { 39 redirect(CR_ADMIN .' &tab=manage&msg=saved');37 redirect(CR_ADMIN .'-manage&msg=infos.contest_saved'); 40 38 } 41 39 … … 63 61 '" . $_POST['description'] ."' 64 62 );"); 65 redirect(CR_ADMIN .'&tab=manage&msg=added'); 63 64 redirect(CR_ADMIN .'-manage&msg=infos.contest_added'); 66 65 } 67 66 68 67 } else { 69 array_push($page['errors'], l10n('CR_name_empty'));68 $page['errors'][] = l10n('CR_name_empty'); 70 69 } 71 70 } … … 75 74 // Définition des variables template 76 75 // +-----------------------------------------------------------------------+ 77 // Formulaire incomplet ##############################################################################################################################################################76 // Formulaire incomplet 78 77 if ($page['errors']) { 79 78 $template->assign(array( … … 100 99 101 100 // 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'])) { 103 102 $query = "SELECT * FROM " . CR_TABLE_1 . " WHERE id = " . $_GET['contest_id'] . ";"; 104 103 $contest = pwg_db_fetch_assoc(pwg_query($query)); … … 115 114 )); 116 115 117 if ( $contest['description'] != null) {116 if (!empty($contest['description'])) { 118 117 $contest['description'] = unserialize(base64_decode($contest['description'])); 119 118 $i=0; … … 146 145 $template->set_filenames(array('plugin_admin_content' => dirname(__FILE__).'/template/new.tpl')); 147 146 $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content'); 147 148 148 ?> -
extensions/ContestResults/admin/results.php
r9419 r9745 8 8 pwg_query("DELETE FROM " . CR_TABLE_2 . " WHERE `contest_id` = " . $_GET['contest_id'] .";"); 9 9 10 $registered_ids = array(); 11 $_DUPLICATE = array(); 12 10 13 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 } 26 36 } 27 37 28 redirect(CR_ADMIN . '&tab=results&msg=saved&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 } 29 43 } 30 44 … … 32 46 // Affichage des résultats 33 47 // +-----------------------------------------------------------------------+ 34 if (isset($_GET['msg']) AND $_GET['msg'] == 'saved') 35 array_push($page['infos'], l10n('CR_results_saved')); 48 49 if (!get_contest_name($_GET['contest_id'])) { 50 redirect(CR_ADMIN .'-manage&msg=errors.notavailable'); 36 51 37 38 // Nom du concours39 $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)); 41 56 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 )); 46 61 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 } 49 92 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 ); 68 103 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); 73 122 } 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'); 76 129 } 77 130 78 // +-----------------------------------------------------------------------+79 // Template80 // +-----------------------------------------------------------------------+81 $template->set_filenames(array('plugin_admin_content' => dirname(__FILE__) . '/template/results.tpl'));82 $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');83 131 ?> -
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'} 3 2 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(); 9 11 } 10 </style>12 } 11 13 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} 23 18 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> 25 20 26 21 <div class="titrePage"> … … 28 23 </div> 29 24 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 31 37 <fieldset> 32 38 <legend>{'Menu'|@translate}</legend> … … 56 62 <tr> 57 63 <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> 59 65 </tr> 60 66 </table> … … 63 69 <p><input class="submit" type="submit" value="{'Submit'|@translate}" name="config_submit"/></p> 64 70 </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'} 2 2 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> 4 4 5 5 <div class="titrePage"> … … 7 7 </div> 8 8 9 {if !isset($contests_pending) and !isset($contests_ finished)}9 {if !isset($contests_pending) and !isset($contests_running) and !isset($contests_finished)} 10 10 {'CR_no_contest'|@translate}<br> 11 <a href=" admin.php?page=plugin§ion=ContestResults/admin/admin.php&tab=new">{'CR_new_tab'|@translate}</a>11 <a href="{$CR_ADMIN}&tab=new">{'CR_new_tab'|@translate}</a> 12 12 {/if} 13 13 14 14 {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> 43 26 </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> 48 79 {/if} 49 80 50 81 {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> 78 93 </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> 83 115 {/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'} 6 6 {include file='include/autosize.inc.tpl'} 7 7 {include file='include/datepicker.inc.tpl'} 8 8 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 9 75 {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> 90 81 {/html_head} 91 82 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> 93 84 94 85 <div class="titrePage"> … … 159 150 <ul class="categoryActions"> 160 151 <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;"> 162 153 <img src="{$themeconf.admin_icon_dir}/category_delete.png" class="button" alt="{'CR_delete_result'|@translate}"/> 163 154 </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'} 7 7 {include file='include/autosize.inc.tpl'} 8 8 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 9 89 {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> 103 95 {/html_head} 104 96 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> 106 98 107 99 <div class="titrePage"> … … 114 106 {if isset($results)} 115 107 {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}"> 117 109 <ul class="categoryActions"> 118 110 <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;"> 120 112 <img src="{$themeconf.admin_icon_dir}/category_delete.png" class="button" alt="{'CR_delete_result'|@translate}"/> 121 113 </a> -
extensions/ContestResults/admin/template/style.css
r9572 r9745 1 .titrePage {2 clear:right;3 }4 .titrePage h2 {5 text-align:center;6 }7 8 1 .result_comment { 9 2 width:95%; … … 71 64 color:#a00; 72 65 } 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.