source: extensions/AMetaData/main.inc.php @ 12225

Last change on this file since 12225 was 12225, checked in by grum, 13 years ago

bug:2030 - metadata tabs are messed up when adding certain of xmp:dc tags

  • Property svn:executable set to *
File size: 11.7 KB
RevLine 
[4905]1<?php
2/*
3Plugin Name: Advanced MetaData
[10302]4Version: 0.6.0
[4905]5Description: An advanced metadata manager
[5935]6Plugin URI: http://piwigo.org/ext/extension_view.php?eid=364
7Author: grum@piwigo.org
8Author URI: http://photos.grum.fr/
[4905]9*/
10
11/*
12--------------------------------------------------------------------------------
13  Author     : Grum
14    email    : grum@piwigo.org
15    website  : http://photos.grum.fr
16    PWG user : http://forum.piwigo.org/profile.php?id=3706
17
18    << May the Little SpaceFrog be with you ! >>
19--------------------------------------------------------------------------------
20
21:: HISTORY
22
23| release | date       |
[5227]24| 0.0     | 2010/01/21 | * start coding
[5959]25|         |            |
[6950]26|         |            |
[5227]27| 0.1b    | 2010/03/21 | * beta release
[5959]28|         |            |
[6950]29|         |            |
[5791]30| 0.2b    | 2010/03/23 | * beta release
[5959]31|         |            |
[6950]32|         |            |
[5791]33| 0.3b    | 2010/04/11 | * beta release
[4905]34|         |            |
[6950]35|         |            |
[6722]36| 0.4.0   | 2010/04/24 | * release for Piwigo 2.1
[6950]37|         |            |
[5959]38|         |            | * uses some GPC 3.1.0 functions
[6950]39|         |            |
[5959]40|         |            | * optimize ajax request to fill the metadata database
[6950]41|         |            |
[5959]42|         |            | * replace all the 'mysql_*' functions with 'pwg_db_*'
43|         |            |   functions
[6950]44|         |            |
[5959]45|         |            | * update some html/css
[4905]46|         |            |
[6891]47|         |            |
[6950]48| 0.5.0   | 2010/07/24 | * release 0.5.0 was not published, implemented features
49|         |            |   are reported in the release 0.5.1
50|         |            |
51|         |            |
[6987]52| 0.5.1   | 2010/09/12 | * update to the JpegMetadata class 1.1.1 to fix the
53|         |            |   mantis bugs&features 1686, 1718, 1719, 1826, 1859 and
54|         |            |   1870
[6950]55|         |            |
[6722]56|         |            | * mantis : bug 1686
57|         |            |   . Picture analysis finish with an Error 500 or with a
58|         |            |     problem of memory limit
[6950]59|         |            |
[6722]60|         |            | * mantis : feature 1719
61|         |            |   . Coding a DateTime class
[6950]62|         |            |
[6722]63|         |            | * mantis : feature 1718
64|         |            |   . Make test images lighter
65|         |            |     The weight of tests images provided with the
[6977]66|         |            |     JpegMetadata class was too heavy ; the file size
67|         |            |     has been reduced from 9Mb to 230Kb
[6950]68|         |            |
[6722]69|         |            | * mantis : feature 1688
70|         |            |   . Improve performance when the database is filled
71|         |            |     each time a page is displayed (now using an ajax
72|         |            |     call)
[6950]73|         |            |
[6722]74|         |            | * mantis : feature 1692
75|         |            |   . Add possibility for user to build their own "magic"
76|         |            |     tags
[6950]77|         |            |
[6729]78|         |            | * mantis : feature 1777
79|         |            |   . Weight of the metadata database can becomes very
80|         |            |     heavy
[6950]81|         |            |
[6891]82|         |            | * mantis : feature 1691
83|         |            |   . Add possibility to search picture by metadata
84|         |            |     properties
[6950]85|         |            |
86|         |            | * mantis bug:1826
87|         |            |   . digiKam XMP tags are not recognized
88|         |            |
[6891]89|         |            | * mantis : feature 1846
90|         |            |   . Read the metadata in the HD picture
[6950]91|         |            |
[6919]92|         |            | * mantis : feature 1857
93|         |            |   . Implement a basic and an advanced interface mode
[6950]94|         |            |
95|         |            | * mantis : feature 1858
96|         |            |   . Ability to import tags from picture to piwigo tags
97|         |            |
98|         |            | * mantis bug:1859
99|         |            |   . JpegMetadata class can't manage multiple IPTC keywords
100|         |            |     keywords
101|         |            |
102|         |            | * mantis bug:1861
103|         |            |   . Accentued chars from ISO-8859-1 charset are not
104|         |            |     recognized
105|         |            |
[6987]106|         |            | * mantis bug:1870
107|         |            |   . Xmp ISOSpeedRatings was not interpreted by
108|         |            |     'Magic' metadata
109|         |            |
[6891]110|         |            | * ajax management entirely rewritted
[6950]111|         |            |
[6722]112|         |            | * user interface reviewed
[6950]113|         |            |
[6891]114|         |            | * add some triggers events when picture metadata are
115|         |            |   loaded in the picture.php page
116|         |            |   . amd_jpegMD_loaded
117|         |            |   . amd_jpegMD_userDefinedValues_built
[4905]118|         |            |
[6950]119|         |            | * mantis : feature 1858
120|         |            |   . Ability to import tags from picture to piwigo tags
[6722]121|         |            |
[7036]122| 0.5.2   | 2010/09/28 | * fix bug, need to load GPC CommonPlugin.class.inc.php
123|         |            |   on the main.inc.php file
124|         |            | * the "templates/amd_dialog_metadata_choose.tpl" file
125|         |            |   was not commit on the repository ; so need to build a
126|         |            |   new package
[6722]127|         |            |
[7519]128| 0.5.3   | 2010/09/30 | * mantis bug:1894
[7399]129|         |            |   . Error when filling the metadata repository
[6722]130|         |            |
[7399]131|         |            | * mantis bug:1898
132|         |            |   . Warning "division by zero" on Canon images
[6722]133|         |            |
[7399]134|         |            | * mantis bug:1911
135|         |            |   . Unable to read Jpeg file if there is extradata
136|         |            |     after the EOI marker
[6722]137|         |            |
[7399]138|         |            | * mantis bug:1863
139|         |            |   . Except "keywords" meta, all IPTC meta declared
140|         |            |     as "repeatable" are not managed
[6722]141|         |            |
[7399]142|         |            | * mantis bug:1955
143|         |            |   . Incorrect mapping for IPTC File format
[6891]144|         |            |
[7399]145|         |            | * mantis bug:1956
146|         |            |   . IPTC "Subject Reference" is not implemented
[6891]147|         |            |
[7399]148|         |            | * mantis bug:1925
149|         |            |   . default selected tags works only for the french
150|         |            |     user
151|         |            |
[7443]152|         |            | * mantis bug:1912
153|         |            |   . Reading digiKam hierarchical keywords as 'flat'
154|         |            |     keywords
[7399]155|         |            |
[7443]156|         |            | * mantis bug:1968
157|         |            |   . Keyword to tag conversion generate duplicated tags
[7399]158|         |            |
[7444]159|         |            | * mantis bug:1923
160|         |            |   . with google chrome, the métadata list is not
161|         |            |     displayed
[7399]162|         |            |
[7447]163|         |            | * mantis bug:1294
164|         |            |   . filling database method
[7399]165|         |            |
[7519]166|         |            | * mantis bug:1975
167|         |            |   . Implement COM segment as a tag
[7399]168|         |            |
[7519]169|         |            | * mantis bug:1976
170|         |            |   . Implement keywords as magic tag
[7443]171|         |            |
[7519]172|         |            | * mantis bug:1978
173|         |            |   . Some meta names are not translated in french
[7444]174|         |            |
[7563]175| 0.5.4   | 2010/11/01 | * mantis bug:1990
176|         |            |   . Since release 0.5.3, unable to do search
[7519]177|         |            |
[7569]178| 0.5.5   | 2010-11-02 | * mantis bug:1992
179|         |            |   . On Canon file, debug informations are displayed
[7519]180|         |            |
[7677]181| 0.5.6   | 2010-11-07 | * mantis bug:2015
182|         |            |   . Can't add a new personnal tag
[7519]183|         |            |
[7677]184|         |            | * mantis bug:2017
185|         |            |   . MySQL 5.1 incompatibility
[7519]186|         |            |
[7700]187| 0.5.7   | 2010-11-08 | * mantis bug:2019
188|         |            |   . Personnal metadata are not correct
[7563]189|         |            |
[7700]190|         |            | * mantis bug:2020
[8969]191|         |            |   . Impossible to install plugin if it_IT language is
[7700]192|         |            |     activated
193|         |            |
[8969]194| 0.5.8   | 2011-01-29 | * add language ru_RU
[7700]195|         |            |
[8969]196| 0.5.9   | 2011-01-29 | * mantis bug:2141
197|         |            |   . MakerNotes on some Nikon file are not recognized
198|         |            |     and script is terminated with a memory allocation
199|         |            |     error
[7700]200|         |            |
[9231]201|         |            | * mantis bug:2191
202|         |            |   . Array to strong conversion message on MagicTag "Author"
[7700]203|         |            |
[10302]204| 0.6.0   | 2011-04-11 | * mantis bug:2143
205|         |            |   . compatibility with piwigo 2.2
[8969]206|         |            |
[10517]207|         |            | * mantis bug:2222
208|         |            |   . Division by zero with Exif ShutterSpeedValue
[8969]209|         |            |
[12222]210| 0.6.1   | 2011-09-25 | * mantis bug:2028
211|         |            |   . Use of deprecated function
[10517]212|         |            |
[12223]213|         |            | * mantis bug:2272
214|         |            |   . Incompatibility with IE
[10517]215|         |            |
[12224]216|         |            | * mantis bug:2438
217|         |            |   . order defined for metadata is not applied
[12222]218|         |            |
[12225]219|         |            | * mantis bug:2030
220|         |            |   . metadata tabs are messed up when adding certain
221|         |            |     of xmp:dc tags
[12222]222|         |            |
223|         |            |
224|         |            |
[4905]225
226
227:: TO DO
228
229--------------------------------------------------------------------------------
[6891]230*
231* :: NFO
232* AMD_AIM : classe to manage plugin integration into plugin menu
233* AMD_AIP : classe to manage plugin admin pages
234* AMD_PIP : classe to manage plugin public integration
235*
236*
237* :: Triggers & data provided
238* - amd_jpegMD_loaded
239*   . triggered on the picture.php page, when metadata were loaded from the
240*     picture file
241*   . the JpegMetadata object is provided as data to the callback function
242*
243* - amd_jpegMD_userDefinedValues_built
244*   . triggered on the picture.php page, when metadata were loaded from the
245*     picture file and user defined tags were built
246*   . an array is provided as data to the callback function
247*       $data['picture'] : an array of (tagId => value) with only the selected
248*                          metadata
249*       $data['user']    : an array of (tagId => value) with only the user
250*                          defined metadata built
251*
252*
[4905]253--------------------------------------------------------------------------------
254*/
255
256// pour faciliter le debug - make debug easier :o)
[5935]257// ini_set('error_reporting', E_ALL);
258// ini_set('display_errors', true);
[4905]259
260if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
261
262define('AMD_DIR' , basename(dirname(__FILE__)));
263define('AMD_PATH' , PHPWG_PLUGINS_PATH . AMD_DIR . '/');
264
[7036]265include_once(PHPWG_PLUGINS_PATH.'GrumPluginClasses/classes/CommonPlugin.class.inc.php');
[5935]266include_once('amd_version.inc.php'); // => Don't forget to update this file !!
[4905]267
268global $prefixeTable, $page;
269
270
271if(defined('IN_ADMIN'))
272{
273  //AMD admin part loaded and active only if in admin page
274  include_once("amd_aim.class.inc.php");
275  $obj = new AMD_AIM($prefixeTable, __FILE__);
[5935]276  $obj->initEvents();
[4905]277  set_plugin_data($plugin['id'], $obj);
278}
279else
280{
[6977]281  //AMD public part loaded and active only if in public page and if GPC is up to date
[7563]282  if(CommonPlugin::checkGPCRelease(3,3,2))
[6977]283  {
284    include_once("amd_pip.class.inc.php");
285    $obj = new AMD_PIP($prefixeTable, __FILE__);
286    set_plugin_data($plugin['id'], $obj);
287  }
[4905]288}
289
290
291?>
Note: See TracBrowser for help on using the repository browser.