Changeset 17765 for trunk/admin/tags.php


Ignore:
Timestamp:
Sep 5, 2012, 10:38:30 PM (12 years ago)
Author:
rvelices
Message:

feature 2737: improve tag administration screen
show for every tag

  • the number of photos
  • link to public index page
  • link to batch manager edit

add an event for extended description multi language strings (used for autocompletion and shown in the tag admin screen) instead of hard coded in the core [lang=..

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/admin/tags.php

    r16526 r17765  
    4646;';
    4747  $existing_names = array_from_query($query, 'name');
    48  
     48
    4949
    5050  $current_name_of = array();
     
    5959    $current_name_of[ $row['id'] ] = $row['name'];
    6060  }
    61  
     61
    6262  $updates = array();
    6363  // we must not rename tag with an already existing name
     
    111111;';
    112112  $existing_names = array_from_query($query, 'name');
    113  
     113
    114114
    115115  $current_name_of = array();
     
    124124    $current_name_of[ $row['id'] ] = $row['name'];
    125125  }
    126  
     126
    127127  $updates = array();
    128128  // we must not rename tag with an already existing name
     
    180180            );
    181181        }
    182  
     182
    183183        if (count($inserts) > 0)
    184184        {
     
    227227    $destination_tag_id = $_POST['destination_tag'];
    228228    $tag_ids = explode(',', $_POST['merge_list']);
    229    
     229
    230230    if (is_array($tag_ids) and count($tag_ids) > 1)
    231231    {
     
    243243        $name_of_tag[ $row['id'] ] = trigger_event('render_tag_name', $row['name']);
    244244      }
    245      
     245
    246246      $tag_ids_to_delete = array_diff(
    247247        $tag_ids,
     
    298298        $tags_deleted[] = $name_of_tag[$tag_id];
    299299      }
    300      
     300
    301301      array_push(
    302302        $page['infos'],
     
    326326
    327327  delete_tags($_POST['tags']);
    328  
     328
    329329  array_push(
    330330    $page['infos'],
    331331    l10n_dec(
    332       'The following tag was deleted', 
     332      'The following tag was deleted',
    333333      'The %d following tags were deleted',
    334334      count($tag_names)).' : '.
     
    344344{
    345345  check_pwg_token();
    346  
     346
    347347  delete_orphan_tags();
    348348  $_SESSION['page_infos'] = array(l10n('Orphan tags deleted'));
     
    378378        )
    379379      );
    380    
     380
    381381    array_push(
    382382      $page['infos'],
     
    441441// +-----------------------------------------------------------------------+
    442442
     443
     444// tag counters
     445$query = '
     446SELECT 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 = '
     453SELECT *
     454  FROM '.TAGS_TABLE.'
     455;';
     456$result = pwg_query($query);
     457$all_tags = array();
     458while ($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}
     474usort($all_tags, 'tag_alpha_compare');
     475
     476
     477
    443478$template->assign(
    444479  array(
    445     'TAG_SELECTION' => get_html_tag_selection(
    446       get_all_tags(),
    447       'tags'
    448       ),
     480    'all_tags' => $all_tags,
    449481    )
    450482  );
     
    461493    $list_name = 'MERGE_TAGS_LIST';
    462494  }
    463  
     495
    464496  $template->assign(
    465497    array(
Note: See TracChangeset for help on using the changeset viewer.