Ignore:
Timestamp:
Apr 3, 2006, 12:26:19 AM (18 years ago)
Author:
plg
Message:

improvement: tags replace keywords. Better data model, less
limitations. Each image can be associated to as many tag as needed. Tags can
contain non ASCII characters. Oriented navigation with tags by association.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/admin/site_update.php

    r1107 r1119  
    716716  $start = get_moment();
    717717  $datas = array();
     718  $tags_of = array();
    718719  foreach ( $files as $id=>$file )
    719720  {
     
    724725      $data['id']=$id;
    725726      array_push($datas, $data);
     727
     728      foreach (array('keywords', 'tags') as $key)
     729      {
     730        if (isset($data[$key]))
     731        {
     732          if (!isset($tags_of[$id]))
     733          {
     734            $tags_of[$id] = array();
     735          }
     736       
     737          foreach (explode(',', $data[$key]) as $tag_name)
     738          {
     739            array_push(
     740              $tags_of[$id],
     741              tag_id_from_tag_name($tag_name)
     742              );
     743          }
     744        }
     745      }
    726746    }
    727747    else
     
    730750    }
    731751  }
    732   $update_fields = $site_reader->get_update_attributes();
    733   $update_fields = array_merge($update_fields, array('date_metadata_update'));
    734   $fields =
    735       array(
    736         'primary' => array('id'),
    737         'update'  => array_unique($update_fields)
    738         );
    739   //print_r($datas);
    740   if (!$simulate and count($datas)>0 )
    741   {
    742     mass_updates(IMAGES_TABLE, $fields, $datas);
     752
     753  if (!$simulate)
     754  {
     755    if (count($datas) > 0)
     756    {
     757      mass_updates(
     758        IMAGES_TABLE,
     759        // fields
     760        array(
     761          'primary' => array('id'),
     762          'update'  => array_unique(
     763            array_merge(
     764              array_diff(
     765                $site_reader->get_update_attributes(),
     766                // keywords and tags fields are managed separately
     767                array('keywords', 'tags')
     768                ),
     769              array('date_metadata_update'))
     770            )
     771          ),
     772        $datas
     773        );
     774    }
     775    set_tags_of($tags_of);
    743776  }
    744777
Note: See TracChangeset for help on using the changeset viewer.