Changeset 26837
- Timestamp:
- Jan 17, 2014, 11:19:44 PM (10 years ago)
- Location:
- trunk
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/admin/rating.php
r26461 r26837 213 213 214 214 $tpl_image = 215 array( 216 'U_THUMB' => $thumbnail_src, 217 'U_URL' => $image_url, 218 'SCORE_RATE' => $image['score'], 215 array( 216 'id' => $image['id'], 217 'U_THUMB' => $thumbnail_src, 218 'U_URL' => $image_url, 219 'SCORE_RATE' => $image['score'], 219 220 'AVG_RATE' => $image['avg_rates'], 220 221 'SUM_RATE' => $image['sum_rates'], … … 227 228 while ($row = pwg_db_fetch_assoc($result)) 228 229 { 229 230 $url_del = PHPWG_ROOT_PATH.'admin.php'.231 get_query_string_diff(array('del'));232 233 $del_param = 'e='.$image['id'].234 '&u='.$row['user_id'].235 '&a='.$row['anonymous_id'];236 237 $url_del .= '&del='.urlencode(urlencode($del_param));238 239 230 if ( isset($users[$row['user_id']]) ) 240 231 { … … 250 241 } 251 242 252 $tpl_image['rates'][] = 253 array( 254 'DATE' => /*format_date*/($row['date']), 255 'RATE' => $row['rate'], 256 'USER' => $user_rate, 257 'U_DELETE' => $url_del 258 ); 243 $row['USER'] = $user_rate; 244 $tpl_image['rates'][] = $row; 259 245 } 260 246 $template->append( 'images', $tpl_image ); -
trunk/admin/themes/default/template/rating.tpl
r12528 r26837 41 41 <td>{'Average rate'|@translate}</td> 42 42 <td>{'Sum of rates'|@translate}</td> 43 <td>{'Rate'|@translate}</td> 44 <td>{'Username'|@translate}</td> 45 <td>{'Rate date'|@translate}</td> 43 <td>{'Rate'|@translate}/{'Username'|@translate}/{'Rate date'|@translate}</td> 46 44 <td></td> 47 45 </tr> 48 46 {foreach from=$images item=image name=image} 49 47 <tr valign="top" class="{if $smarty.foreach.image.index is odd}row1{else}row2{/if}"> 50 <td rowspan="{$image.NB_RATES_TOTAL+1}"><a href="{$image.U_URL}"><img src="{$image.U_THUMB}" alt="{$image.FILE}" title="{$image.FILE}"></a></td> 51 <td rowspan="{$image.NB_RATES_TOTAL+1}"><strong>{$image.NB_RATES}/{$image.NB_RATES_TOTAL}</strong></td> 52 <td rowspan="{$image.NB_RATES_TOTAL+1}"><strong>{$image.SCORE_RATE}</strong></td> 53 <td rowspan="{$image.NB_RATES_TOTAL+1}"><strong>{$image.AVG_RATE}</strong></td> 54 <td rowspan="{$image.NB_RATES_TOTAL+1}" style="border-right: 1px solid;" ><strong>{$image.SUM_RATE}</strong></td> 48 <td><a href="{$image.U_URL}"><img src="{$image.U_THUMB}" alt="{$image.FILE}" title="{$image.FILE}"></a></td> 49 <td><strong>{$image.NB_RATES}/{$image.NB_RATES_TOTAL}</strong></td> 50 <td><strong>{$image.SCORE_RATE}</strong></td> 51 <td><strong>{$image.AVG_RATE}</strong></td> 52 <td style="border-right:1px solid" ><strong>{$image.SUM_RATE}</strong></td> 53 <td> 54 <table style="width:100%"> 55 {foreach from=$image.rates item=rate name=rate} 56 <tr> 57 <td>{$rate.rate}</td> 58 <td><b>{$rate.USER}</b></td> 59 <td>{$rate.date}</td> 60 <td><a onclick="return del(this,{$image.id},{$rate.user_id}{if !empty({$rate.anonymous_id})},'{$rate.anonymous_id}'{/if})" class="icon-trash"> </a></td> 55 61 </tr> 56 {foreach from=$image.rates item=rate name=rate} 57 <tr class="{if ($smarty.foreach.image.index+$smarty.foreach.rate.index) is odd}row1{else}row2{/if}"> 58 <td>{$rate.RATE}</td> 59 <td><b>{$rate.USER}</b></td> 60 <td>{$rate.DATE}</td> 61 <td><a href="{$rate.U_DELETE}"><img src="{$themeconf.admin_icon_dir}/delete.png" alt="[{'Delete'|@translate}]"></a></td> 62 {/foreach}{*rates*} 63 </table> 64 </td> 62 65 </tr> 63 {/foreach} {*rates*} 64 {/foreach} {*images*} 66 {/foreach}{*images*} 65 67 </table> 68 {combine_script id='core.scripts' load='async' path='themes/default/js/scripts.js'} 69 {footer_script} 70 function del(node,id,uid,aid){ 71 var tr = jQuery(node).parents("tr").first().fadeTo(1000, 0.4), 72 data = { 73 image_id: id, 74 user_id: uid 75 }; 76 if (aid) 77 data.anonymous_id = aid; 66 78 67 {if !empty($navbar) }{include file='navigation_bar.tpl'|@get_extent:'navbar'}{/if} 79 (new PwgWS('{$ROOT_URL|@escape:javascript}')).callService( 80 'pwg.rates.delete', data, 81 { 82 method: 'POST', 83 onFailure: function(num, text) { tr.stop(); tr.fadeTo(0,1); alert(num + " " + text); }, 84 onSuccess: function(result){ 85 if (result) 86 tr.remove(); 87 else 88 alert(result); 89 } 90 } 91 ); 92 return false; 93 } 94 {/footer_script} 95 96 {if !empty($navbar)}{include file='navigation_bar.tpl'|@get_extent:'navbar'}{/if} -
trunk/admin/themes/default/template/rating_user.tpl
r12796 r26837 1 {combine_script id='jquery.dataTables' load='footer' path='themes/default/js/plugins/jquery.dataTables.js'} 2 {html_style} 3 .sorting { background: url({$ROOT_URL}themes/default/js/plugins/datatables/images/sort_both.png) no-repeat center right; cursor:pointer; } 4 .sorting_asc { background: url({$ROOT_URL}themes/default/js/plugins/datatables/images/sort_asc.png) no-repeat center right; } 5 .sorting_desc { background: url({$ROOT_URL}themes/default/js/plugins/datatables/images/sort_desc.png) no-repeat center right; } 6 7 .sorting, .sorting_asc, .sorting_desc { 8 padding: 3px 18px 3px 10px; 9 } 10 .sorting_asc_disabled { background: url({$ROOT_URL}themes/default/js/plugins/datatables/images/sort_asc_disabled.png) no-repeat center right; } 11 .sorting_desc_disabled { background: url({$ROOT_URL}themes/default/js/plugins/datatables/images/sort_desc_disabled.png) no-repeat center right; } 12 13 .dtBar { 14 text-align:left; 15 padding-left: 20px; 16 } 17 {/html_style} 18 1 19 <h2>{$ratings|@count} {'Users'|@translate}</h2> 2 20 3 21 <form action="{$F_ACTION}" method="GET"> 4 22 <fieldset> 23 <noscript> 5 24 <label>{'Sort by'|@translate} 6 25 <select name="order_by"> … … 8 27 </select> 9 28 </label> 29 </noscript> 10 30 <label>{'Number of rates'|@translate}> 11 31 <input type="text" size="5" name="f_min_rates" value="{$F_MIN_RATES}"> … … 18 38 19 39 {combine_script id='core.scripts' load='async' path='themes/default/js/scripts.js'} 20 {footer_script}{literal} 21 function del(elt,uid,aid) 22 { 23 if (!confirm({/literal}'{'Are you sure?'|@translate|@escape:'javascript'}'{literal})) 40 {footer_script} 41 var oTable = jQuery('#rateTable').dataTable({ 42 sDom : '<"dtBar"f>rt', 43 bPaginate: false, 44 aaSorting: [[4,'desc']], 45 aoColumnDefs: [ 46 { 47 aTargets: ["dtc_user"], 48 }, 49 { 50 aTargets: ["dtc_stat"], 51 asSorting: ["desc","asc"], 52 bSearchable: false 53 }, 54 { 55 aTargets: ["dtc_rate"], 56 asSorting: ["desc","asc"], 57 bSearchable: false 58 }, 59 { 60 aTargets: ["dtc_del"], 61 bSortable: false, 62 bSearchable: false 63 } 64 ] 65 }); 66 67 function del(elt,uid,aid){ 68 if (!confirm('{'Are you sure?'|@translate|@escape:'javascript'}')) 24 69 return false; 25 70 var tr = elt; 26 71 while ( tr.nodeName != "TR") tr = tr.parentNode; 27 72 tr = jQuery(tr).fadeTo(1000, 0.4); 28 (new PwgWS({/literal}'{$ROOT_URL|@escape:javascript}'{literal})).callService( 29 'pwg.rates.delete', {user_id:uid, anonymous_id:aid}, 73 74 (new PwgWS('{$ROOT_URL|@escape:javascript}')).callService( 75 'pwg.rates.delete', { user_id:uid, anonymous_id:aid}, 30 76 { 31 77 method: 'POST', 32 78 onFailure: function(num, text) { tr.stop(); tr.fadeTo(0,1); alert(num + " " + text); }, 33 onSuccess: function(result) { if (result) {tr.remove();} else alert(result); } 79 onSuccess: function(result){ 80 if (result) 81 oTable.fnDeleteRow(tr[0]); 82 else 83 alert(result); 84 } 34 85 } 35 86 ); 87 36 88 return false; 37 89 } 38 {/literal}{/footer_script} 39 <table> 90 {/footer_script} 91 <table id="rateTable"> 92 <thead> 40 93 <tr class="throw"> 41 <td >{'Username'|@translate}</td>42 <td >{'Number of rates'|@translate}</td>43 <td >{'Average rate'|@translate}</td>44 <td >{'Variation'|@translate}</td>45 <td >{'Consensus deviation'|@translate|@replace:' ':'<br>'}</td>94 <td class="dtc_user">{'Username'|@translate}</td> 95 <td class="dtc_stat">{'Number of rates'|@translate}</td> 96 <td class="dtc_stat">{'Average rate'|@translate}</td> 97 <td class="dtc_stat">{'Variation'|@translate}</td> 98 <td class="dtc_stat">{'Consensus deviation'|@translate|@replace:' ':'<br>'}</td> 46 99 {foreach from=$available_rates item=rate} 47 <td >{$rate}</td>100 <td class="dtc_rate">{$rate}</td> 48 101 {/foreach} 49 <td ></td>102 <td class="dtc_del"></td> 50 103 </tr> 104 </thead> 51 105 {foreach from=$ratings item=rating key=user} 52 106 <tr> … … 63 117 {/if}</td> 64 118 {/foreach} 65 <td><a onclick="return del(this,{$rating.uid},'{$rating.aid}');" ><img src="{$themeconf.admin_icon_dir}/delete.png" alt="[{'Delete'|@translate}]"></a></td>119 <td><a onclick="return del(this,{$rating.uid},'{$rating.aid}');" class="icon-trash"></a></td> 66 120 </tr> 67 121 {/foreach} -
trunk/include/ws_functions/pwg.php
r26461 r26837 272 272 $query .= ' AND anonymous_id=\''.$params['anonymous_id'].'\''; 273 273 } 274 if (!empty($params['image_id'])) 275 { 276 $query .= ' AND element_id='.$params['image_id']; 277 } 274 278 275 279 $changes = pwg_db_changes(pwg_query($query)); -
trunk/ws.php
r26461 r26837 308 308 'user_id' => array('type'=>WS_TYPE_ID), 309 309 'anonymous_id' => array('default'=>null), 310 'image_id' => array('flags'=>WS_PARAM_OPTIONAL, 'type'=>WS_TYPE_ID), 310 311 ), 311 312 'Deletes all rates for a user.',
Note: See TracChangeset
for help on using the changeset viewer.