diff options
| author | Bharat Mediratta <bharat@menalto.com> | 2009-05-12 05:48:15 +0000 | 
|---|---|---|
| committer | Bharat Mediratta <bharat@menalto.com> | 2009-05-12 05:48:15 +0000 | 
| commit | fdb17d75cebed56be0011eea2abba237320ceddf (patch) | |
| tree | 9a5fdf3a8fd19d595b8f76a3d924501cc826eba1 /modules/g2_import/helpers/g2_import.php | |
| parent | c397cc73bef3bf2a092e1f0ddf73fd415db49da3 (diff) | |
Import keywords as tags.
Refactor the general flow of g2_import_task::import() to simplify it
and make it more sensible.  It had gotten a little overgrown.  It's
still a little overgrown, but I don't see an easy way to simplify it
from here.
Diffstat (limited to 'modules/g2_import/helpers/g2_import.php')
| -rw-r--r-- | modules/g2_import/helpers/g2_import.php | 20 | 
1 files changed, 18 insertions, 2 deletions
| diff --git a/modules/g2_import/helpers/g2_import.php b/modules/g2_import/helpers/g2_import.php index bea0328e..482f4089 100644 --- a/modules/g2_import/helpers/g2_import.php +++ b/modules/g2_import/helpers/g2_import.php @@ -236,7 +236,6 @@ class g2_import_Core {      $album->view_count = g2(GalleryCoreApi::fetchItemViewCount($g2_album_id));      $album->created = $g2_album->getCreationTimestamp(); -    // @todo support "keywords", "originationTimestamp", and "random" sort orders.      $order_map = array(        "originationTimestamp" => "captured",        "creationTimestamp" => "created", @@ -256,9 +255,9 @@ class g2_import_Core {      }      $album->save(); +    self::import_keywords_as_tags($g2_album->getKeywords(), $album);      self::set_map($g2_album_id, $album->id); -    // @todo import keywords as tags      // @todo import album highlights    } @@ -304,6 +303,10 @@ class g2_import_Core {        break;      } +    if (!empty($item)) { +      self::import_keywords_as_tags($g2_item->getKeywords(), $item); +    } +      if (isset($item)) {        self::set_map($g2_item_id, $item->id);      } @@ -355,6 +358,19 @@ class g2_import_Core {      // have an id for each individual tag mapping anyway so it'd be hard to set up the mapping.    } +  static function import_keywords_as_tags($keywords, $item) { +    if (!module::is_installed("tag")) { +      return; +    } + +    foreach (preg_split("/[,;]/", $keywords) as $keyword) { +      $keyword = trim($keyword); +      if ($keyword) { +        tag::add($item, $keyword); +      } +    } +  } +    /**     * If the thumbnails and resizes created for the Gallery2 photo match the dimensions of the     * ones we expect to create for Gallery3, then copy the files over instead of recreating them. | 
