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

Last change on this file since 22118 was 17554, checked in by grum, 12 years ago

feature:2701
bug:2702
bug:2720
bug:2722

  • Property svn:executable set to *
File size: 13.0 KB
Line 
1<?php
2/*
3Plugin Name: Advanced MetaData
4Version: 0.7.1
5Description: An advanced metadata manager
6Plugin URI: http://piwigo.org/ext/extension_view.php?eid=364
7Author: grum@piwigo.org
8Author URI: http://www.grum.fr/
9*/
10
11/*
12--------------------------------------------------------------------------------
13  Author     : Grum
14    email    : grum@piwigo.org
15    website  : http://www.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       |
24| 0.0     | 2010/01/21 | * start coding
25|         |            |
26|         |            |
27| 0.1b    | 2010/03/21 | * beta release
28|         |            |
29|         |            |
30| 0.2b    | 2010/03/23 | * beta release
31|         |            |
32|         |            |
33| 0.3b    | 2010/04/11 | * beta release
34|         |            |
35|         |            |
36| 0.4.0   | 2010/04/24 | * release for Piwigo 2.1
37|         |            |
38|         |            | * uses some GPC 3.1.0 functions
39|         |            |
40|         |            | * optimize ajax request to fill the metadata database
41|         |            |
42|         |            | * replace all the 'mysql_*' functions with 'pwg_db_*'
43|         |            |   functions
44|         |            |
45|         |            | * update some html/css
46|         |            |
47|         |            |
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|         |            |
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
55|         |            |
56|         |            | * mantis : bug 1686
57|         |            |   . Picture analysis finish with an Error 500 or with a
58|         |            |     problem of memory limit
59|         |            |
60|         |            | * mantis : feature 1719
61|         |            |   . Coding a DateTime class
62|         |            |
63|         |            | * mantis : feature 1718
64|         |            |   . Make test images lighter
65|         |            |     The weight of tests images provided with the
66|         |            |     JpegMetadata class was too heavy ; the file size
67|         |            |     has been reduced from 9Mb to 230Kb
68|         |            |
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)
73|         |            |
74|         |            | * mantis : feature 1692
75|         |            |   . Add possibility for user to build their own "magic"
76|         |            |     tags
77|         |            |
78|         |            | * mantis : feature 1777
79|         |            |   . Weight of the metadata database can becomes very
80|         |            |     heavy
81|         |            |
82|         |            | * mantis : feature 1691
83|         |            |   . Add possibility to search picture by metadata
84|         |            |     properties
85|         |            |
86|         |            | * mantis bug:1826
87|         |            |   . digiKam XMP tags are not recognized
88|         |            |
89|         |            | * mantis : feature 1846
90|         |            |   . Read the metadata in the HD picture
91|         |            |
92|         |            | * mantis : feature 1857
93|         |            |   . Implement a basic and an advanced interface mode
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|         |            |
106|         |            | * mantis bug:1870
107|         |            |   . Xmp ISOSpeedRatings was not interpreted by
108|         |            |     'Magic' metadata
109|         |            |
110|         |            | * ajax management entirely rewritted
111|         |            |
112|         |            | * user interface reviewed
113|         |            |
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
118|         |            |
119|         |            | * mantis : feature 1858
120|         |            |   . Ability to import tags from picture to piwigo tags
121|         |            |
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
127|         |            |
128| 0.5.3   | 2010/09/30 | * mantis bug:1894
129|         |            |   . Error when filling the metadata repository
130|         |            |
131|         |            | * mantis bug:1898
132|         |            |   . Warning "division by zero" on Canon images
133|         |            |
134|         |            | * mantis bug:1911
135|         |            |   . Unable to read Jpeg file if there is extradata
136|         |            |     after the EOI marker
137|         |            |
138|         |            | * mantis bug:1863
139|         |            |   . Except "keywords" meta, all IPTC meta declared
140|         |            |     as "repeatable" are not managed
141|         |            |
142|         |            | * mantis bug:1955
143|         |            |   . Incorrect mapping for IPTC File format
144|         |            |
145|         |            | * mantis bug:1956
146|         |            |   . IPTC "Subject Reference" is not implemented
147|         |            |
148|         |            | * mantis bug:1925
149|         |            |   . default selected tags works only for the french
150|         |            |     user
151|         |            |
152|         |            | * mantis bug:1912
153|         |            |   . Reading digiKam hierarchical keywords as 'flat'
154|         |            |     keywords
155|         |            |
156|         |            | * mantis bug:1968
157|         |            |   . Keyword to tag conversion generate duplicated tags
158|         |            |
159|         |            | * mantis bug:1923
160|         |            |   . with google chrome, the métadata list is not
161|         |            |     displayed
162|         |            |
163|         |            | * mantis bug:1294
164|         |            |   . filling database method
165|         |            |
166|         |            | * mantis bug:1975
167|         |            |   . Implement COM segment as a tag
168|         |            |
169|         |            | * mantis bug:1976
170|         |            |   . Implement keywords as magic tag
171|         |            |
172|         |            | * mantis bug:1978
173|         |            |   . Some meta names are not translated in french
174|         |            |
175| 0.5.4   | 2010/11/01 | * mantis bug:1990
176|         |            |   . Since release 0.5.3, unable to do search
177|         |            |
178| 0.5.5   | 2010-11-02 | * mantis bug:1992
179|         |            |   . On Canon file, debug informations are displayed
180|         |            |
181| 0.5.6   | 2010-11-07 | * mantis bug:2015
182|         |            |   . Can't add a new personnal tag
183|         |            |
184|         |            | * mantis bug:2017
185|         |            |   . MySQL 5.1 incompatibility
186|         |            |
187| 0.5.7   | 2010-11-08 | * mantis bug:2019
188|         |            |   . Personnal metadata are not correct
189|         |            |
190|         |            | * mantis bug:2020
191|         |            |   . Impossible to install plugin if it_IT language is
192|         |            |     activated
193|         |            |
194| 0.5.8   | 2011-01-29 | * add language ru_RU
195|         |            |
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
200|         |            |
201|         |            | * mantis bug:2191
202|         |            |   . Array to strong conversion message on MagicTag "Author"
203|         |            |
204| 0.6.0   | 2011-04-11 | * mantis bug:2143
205|         |            |   . compatibility with piwigo 2.2
206|         |            |
207|         |            | * mantis bug:2222
208|         |            |   . Division by zero with Exif ShutterSpeedValue
209|         |            |
210| 0.6.1   | 2011-09-25 | * mantis bug:2028
211|         |            |   . Use of deprecated function
212|         |            |
213|         |            | * mantis bug:2272
214|         |            |   . Incompatibility with IE
215|         |            |
216|         |            | * mantis bug:2438
217|         |            |   . order defined for metadata is not applied
218|         |            |
219|         |            | * mantis bug:2030
220|         |            |   . metadata tabs are messed up when adding certain
221|         |            |     of xmp:dc tags
222|         |            |
223|         |            | * mantis bug:2029
224|         |            |   . metadata tab is hidden when a tab name is not
225|         |            |     specified for certain language
226|         |            |
227| 0.7.0   | 2012-05-25 | * mantis feature:2637
228|         |            |   . Compatibility with piwigo 2.4
229|         |            |
230| 0.7.1   | 2012-08-12 | * mantis feature:2701
231|         |            |   . Camera database is not up to date
232|         |            |     . update pentax tags definition (lenses&camera)
233|         |            |     . update canon tags definition (lenses&camera)
234|         |            |     . update nikon tags definition (lenses)
235|         |            |
236|         |            | * mantis bug:2702
237|         |            |   . Error message displayed when an unknown camera is encountered
238|         |            |
239|         |            | * mantis bug:2720
240|         |            |   . When malformatted XMP rational values encountered,
241|         |            |     error message is displayed
242|         |            |
243|         |            | * mantis bug:2722
244|         |            |   . error message php_uname() function is not available
245|         |            |
246|         |            |
247|         |            |
248|         |            |
249|         |            |
250|         |            |
251|         |            |
252
253
254:: TO DO
255
256--------------------------------------------------------------------------------
257*
258* :: NFO
259* AMD_AIM : classe to manage plugin integration into plugin menu
260* AMD_AIP : classe to manage plugin admin pages
261* AMD_PIP : classe to manage plugin public integration
262*
263*
264* :: Triggers & data provided
265* - amd_jpegMD_loaded
266*   . triggered on the picture.php page, when metadata were loaded from the
267*     picture file
268*   . the JpegMetadata object is provided as data to the callback function
269*
270* - amd_jpegMD_userDefinedValues_built
271*   . triggered on the picture.php page, when metadata were loaded from the
272*     picture file and user defined tags were built
273*   . an array is provided as data to the callback function
274*       $data['picture'] : an array of (tagId => value) with only the selected
275*                          metadata
276*       $data['user']    : an array of (tagId => value) with only the user
277*                          defined metadata built
278*
279*
280--------------------------------------------------------------------------------
281*/
282
283// pour faciliter le debug - make debug easier :o)
284// ini_set('error_reporting', E_ALL);
285// ini_set('display_errors', true);
286
287if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
288
289define('AMD_DIR' , basename(dirname(__FILE__)));
290define('AMD_PATH' , PHPWG_PLUGINS_PATH . AMD_DIR . '/');
291
292include_once(PHPWG_PLUGINS_PATH.'GrumPluginClasses/classes/CommonPlugin.class.inc.php');
293include_once('amd_version.inc.php'); // => Don't forget to update this file !!
294
295global $prefixeTable, $page;
296
297
298if(!defined('AJAX_CALL'))
299{
300  if(defined('IN_ADMIN'))
301  {
302    //AMD admin part loaded and active only if in admin page
303    include_once("amd_aim.class.inc.php");
304    $obj = new AMD_AIM($prefixeTable, __FILE__);
305    $obj->initEvents();
306    set_plugin_data($plugin['id'], $obj);
307  }
308  else
309  {
310    //AMD public part loaded and active only if in public page and if GPC is up to date
311    if(CommonPlugin::checkGPCRelease(AMD_GPC_NEEDED) and !mobile_theme())
312    {
313      include_once("amd_pip.class.inc.php");
314      $obj = new AMD_PIP($prefixeTable, __FILE__);
315      set_plugin_data($plugin['id'], $obj);
316    }
317  }
318}
319
320
321?>
Note: See TracBrowser for help on using the repository browser.