Changeset 17765 for trunk/admin
- Timestamp:
- Sep 5, 2012, 10:38:30 PM (12 years ago)
- Location:
- trunk/admin
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/admin/batch_manager.php
r17289 r17765 115 115 ); 116 116 } 117 118 if (substr_compare($_GET['cat'],'tag-',0,4)==0) 119 { 120 $_SESSION['bulk_manager_filter']=array(); 121 $_SESSION['bulk_manager_filter']['tags'] = array(intval(substr($_GET['cat'],4))); 122 $_SESSION['bulk_manager_filter']['tag_mode'] = 'AND'; 123 } 117 124 } 118 125 -
trunk/admin/batch_manager_unit.php
r16280 r17765 181 181 ); 182 182 $template->assign(array('navbar' => $nav_bar)); 183 184 // tags185 $all_tags = get_all_tags();186 183 187 184 $element_ids = array(); -
trunk/admin/include/functions.php
r17724 r17765 1206 1206 return array('error' => l10n('The name of an album must not be empty')); 1207 1207 } 1208 1208 1209 1209 $insert = array( 1210 1210 'name' => $category_name, … … 1475 1475 } 1476 1476 1477 mass_inserts( 1478 IMAGE_TAG_TABLE, 1479 array_keys($inserts[0]), 1480 $inserts 1481 ); 1477 if (count($inserts)) 1478 { 1479 mass_inserts( 1480 IMAGE_TAG_TABLE, 1481 array_keys($inserts[0]), 1482 $inserts 1483 ); 1484 } 1482 1485 } 1483 1486 } … … 1499 1502 return false; 1500 1503 } 1501 1504 1502 1505 // get existing associations 1503 1506 $query = ' … … 1510 1513 ;'; 1511 1514 $result = pwg_query($query); 1512 1515 1513 1516 $existing = array(); 1514 1517 while ($row = pwg_db_fetch_assoc($result)) … … 2120 2123 2121 2124 $taglist = array(); 2125 $altlist = array(); 2122 2126 while ($row = pwg_db_fetch_assoc($result)) 2123 2127 { 2124 if (!$only_user_language and preg_match_all('#\[lang=(.*?)\](.*?)\[/lang\]#is', $row['name'], $matches)) 2125 { 2126 foreach ($matches[2] as $tag_name) 2128 $raw_name = $row['name']; 2129 $name = trigger_event('render_tag_name', $raw_name); 2130 2131 $taglist[] = array( 2132 'name' => $name, 2133 'id' => '~~'.$row['id'].'~~', 2134 ); 2135 2136 if (!$only_user_language) 2137 { 2138 $alt_names = trigger_event('get_tag_alt_names', array(), $raw_name); 2139 2140 // TEMP 2.4 2141 if (count($alt_names)==0 and preg_match_all('#\[lang=(.*?)\](.*?)\[/lang\]#is', $row['name'], $matches)) 2127 2142 { 2128 array_push( 2129 $taglist, 2130 array( 2131 'name' => trigger_event('render_tag_name', $tag_name), 2143 foreach ($matches[2] as $alt) 2144 { 2145 $alt_names[] = $alt; 2146 } 2147 } 2148 2149 foreach( array_diff( array_unique($alt_names), array($name) ) as $alt) 2150 { 2151 $altlist[] = array( 2152 'name' => $alt, 2132 2153 'id' => '~~'.$row['id'].'~~', 2133 )2134 2154 ); 2135 2155 } 2136 2137 $row['name'] = preg_replace('#\[lang=(.*?)\](.*?)\[/lang\]#is', null, $row['name']); 2138 } 2139 2140 if (strlen($row['name']) > 0) 2141 { 2142 array_push( 2143 $taglist, 2144 array( 2145 'name' => trigger_event('render_tag_name', $row['name']), 2146 'id' => '~~'.$row['id'].'~~', 2147 ) 2148 ); 2149 } 2150 } 2151 2152 $cmp = create_function('$a,$b', 'return strcasecmp($a["name"], $b["name"]);'); 2153 usort($taglist, $cmp); 2156 } 2157 } 2158 2159 usort($taglist, 'tag_alpha_compare'); 2160 if (count($altlist)) 2161 { 2162 usort($altlist, 'tag_alpha_compare'); 2163 $taglist = array_merge($taglist, $altlist); 2164 } 2154 2165 2155 2166 return $taglist; -
trunk/admin/tags.php
r16526 r17765 46 46 ;'; 47 47 $existing_names = array_from_query($query, 'name'); 48 48 49 49 50 50 $current_name_of = array(); … … 59 59 $current_name_of[ $row['id'] ] = $row['name']; 60 60 } 61 61 62 62 $updates = array(); 63 63 // we must not rename tag with an already existing name … … 111 111 ;'; 112 112 $existing_names = array_from_query($query, 'name'); 113 113 114 114 115 115 $current_name_of = array(); … … 124 124 $current_name_of[ $row['id'] ] = $row['name']; 125 125 } 126 126 127 127 $updates = array(); 128 128 // we must not rename tag with an already existing name … … 180 180 ); 181 181 } 182 182 183 183 if (count($inserts) > 0) 184 184 { … … 227 227 $destination_tag_id = $_POST['destination_tag']; 228 228 $tag_ids = explode(',', $_POST['merge_list']); 229 229 230 230 if (is_array($tag_ids) and count($tag_ids) > 1) 231 231 { … … 243 243 $name_of_tag[ $row['id'] ] = trigger_event('render_tag_name', $row['name']); 244 244 } 245 245 246 246 $tag_ids_to_delete = array_diff( 247 247 $tag_ids, … … 298 298 $tags_deleted[] = $name_of_tag[$tag_id]; 299 299 } 300 300 301 301 array_push( 302 302 $page['infos'], … … 326 326 327 327 delete_tags($_POST['tags']); 328 328 329 329 array_push( 330 330 $page['infos'], 331 331 l10n_dec( 332 'The following tag was deleted', 332 'The following tag was deleted', 333 333 'The %d following tags were deleted', 334 334 count($tag_names)).' : '. … … 344 344 { 345 345 check_pwg_token(); 346 346 347 347 delete_orphan_tags(); 348 348 $_SESSION['page_infos'] = array(l10n('Orphan tags deleted')); … … 378 378 ) 379 379 ); 380 380 381 381 array_push( 382 382 $page['infos'], … … 441 441 // +-----------------------------------------------------------------------+ 442 442 443 444 // tag counters 445 $query = ' 446 SELECT tag_id, COUNT(image_id) AS counter 447 FROM '.IMAGE_TAG_TABLE.' 448 GROUP BY tag_id'; 449 $tag_counters = simple_hash_from_query($query, 'tag_id', 'counter'); 450 451 // all tags 452 $query = ' 453 SELECT * 454 FROM '.TAGS_TABLE.' 455 ;'; 456 $result = pwg_query($query); 457 $all_tags = array(); 458 while ($tag = pwg_db_fetch_assoc($result)) 459 { 460 $raw_name = $tag['name']; 461 $tag['name'] = trigger_event('render_tag_name', $raw_name); 462 $tag['counter'] = intval(@$tag_counters[ $tag['id'] ]); 463 $tag['U_VIEW'] = make_index_url(array('tags'=>array($tag))); 464 $tag['U_EDIT'] = 'admin.php?page=batch_manager&cat=tag-'.$tag['id']; 465 466 $alt_names = trigger_event('get_tag_alt_names', array(), $raw_name); 467 $alt_names = array_diff( array_unique($alt_names), array($tag['name']) ); 468 if (count($alt_names)) 469 { 470 $tag['alt_names'] = implode(', ', $alt_names); 471 } 472 $all_tags[] = $tag; 473 } 474 usort($all_tags, 'tag_alpha_compare'); 475 476 477 443 478 $template->assign( 444 479 array( 445 'TAG_SELECTION' => get_html_tag_selection( 446 get_all_tags(), 447 'tags' 448 ), 480 'all_tags' => $all_tags, 449 481 ) 450 482 ); … … 461 493 $list_name = 'MERGE_TAGS_LIST'; 462 494 } 463 495 464 496 $template->assign( 465 497 array( -
trunk/admin/themes/default/template/tags.tpl
r16526 r17765 41 41 <tr> 42 42 <td>{$tag.NAME}</td> 43 <td><input type="text" name="tag_name-{$tag.ID}" value="{$tag.NAME}" size=" 30"></td>43 <td><input type="text" name="tag_name-{$tag.ID}" value="{$tag.NAME}" size="50"></td> 44 44 </tr> 45 45 {/foreach} … … 65 65 <tr> 66 66 <td>{$tag.NAME}</td> 67 <td><input type="text" name="tag_name-{$tag.ID}" value="{$tag.NAME}" size=" 30"></td>67 <td><input type="text" name="tag_name-{$tag.ID}" value="{$tag.NAME}" size="50"></td> 68 68 </tr> 69 69 {/foreach} … … 96 96 <label> 97 97 {'New tag'|@translate} 98 <input type="text" name="add_tag" size=" 30">98 <input type="text" name="add_tag" size="50"> 99 99 </label> 100 100 … … 104 104 <fieldset> 105 105 <legend>{'Tag selection'|@translate}</legend> 106 107 {$TAG_SELECTION} 106 {html_style} 107 .showInfo{ldelim}position:static; display:inline-block; text-indent:6px} 108 {/html_style} 109 {footer_script}{literal} 110 jQuery('.showInfo').tipTip({ 111 'delay' : 0, 112 'fadeIn' : 200, 113 'fadeOut' : 200, 114 'maxWidth':'300px', 115 'keepAlive':true, 116 'activation':'click' 117 }); 118 {/literal}{/footer_script} 119 <ul class="tagSelection"> 120 {foreach from=$all_tags item=tag} 121 <li>{capture name='showInfo'}<b>{$tag.name}</b><br>{$pwg->l10n_dec('%d photo', '%d photos', $tag.counter)} <a href="{$tag.U_VIEW}">{'View'|@translate}</a> <a href="{$tag.U_EDIT}">{'Edit'|@translate}</a>{if !empty($tag.alt_names)}<br>{$tag.alt_names}{/if}{/capture} 122 <a class="showInfo" title="{$smarty.capture.showInfo|@htmlspecialchars}">i</a> 123 <label> 124 <input type="checkbox" name="tags[]" value="{$tag.id}"> {$tag.name} 125 </label> 126 </li> 127 {/foreach} 128 </ul> 108 129 109 130 <p>
Note: See TracChangeset
for help on using the changeset viewer.