source: extensions/GrumPluginClasses/main.inc.php @ 17735

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

version 3.5.4 - fix minor bug & add new functions to framework

  • Property svn:executable set to *
File size: 10.5 KB
Line 
1<?php
2/*
3Plugin Name: Grum Plugins Classes.3
4Version: 3.5.4
5Description: Collection de classes partagées entre mes plugins (existants, ou à venir) / Partaged classes between my plugins (actuals or futures)
6Plugin URI: http://piwigo.org/ext/extension_view.php?eid=199
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
17    << May the Little SpaceFrog be with you ! >>
18--------------------------------------------------------------------------------
19
20:: HISTORY
21
22| release | date       |
23| 2.0.0   | 2008/07/20 | * convert classes for piwigo 2.0
24|         |            |
25| 2.0.1   | 2008/12/28 | * convert classe tables.class.inc to php5
26|         |            |
27| 2.0.2   | 2009/04/26 | * add setOptions/getOptions for GPCPagesNavigation class
28|         |            | * add option to set first/prev/next/last textes
29|         |            |
30| 2.0.3   | 2009/07/24 | * modify common_plugin class config loader (r2.0.1)
31|         |            |
32| 2.0.4   | 2009/11/29 | * modify users class
33|         |            |
34| 3.0.0   | 2010/03/28 | * Uses piwigo pwg_db_* functions instead of mysql_* functions
35|         |            | * update classes & functions names
36|         |            | * include the JpegMetaData class
37|         |            |
38| 3.0.1   | 2010/04/11 | * little bug on the template (call of an undefined var)
39|         |            | * Add new languages
40|         |            |   . es_ES
41|         |            |   . hu_HU
42|         |            |   . it_IT
43|         |            |
44| 3.1.0   | 2010/04/24 | * add the GPCTabSheet class
45|         |            | * add the GPCRequestBuilder class
46|         |            | * add the pageNavigator.js
47|         |            | * update the GPCCore class
48|         |            | * Add new languages
49|         |            |   . nl_NL
50|         |            |   . de_DE
51|         |            |
52| 3.1.1   | 2010/05/18 | * fix bug in the install process (CommonPlugin not
53|         |            |   included)
54|         |            |
55| 3.2.0   | 2010/09/12 | * Enhance GPCTabSheet functionnalities
56|         |            |   - possibility to choose tab classes
57|         |            | * Add the simpleTip.js
58|         |            | * Enhance GPCRequestBuilder functionnalities
59|         |            |   - now abble to manage complex request with multi-record
60|         |            |   - result can be stored in the caddie
61|         |            |
62| 3.2.1   | 2010/10/09 | * Enhance GPCTabSheet functionnalities
63|         |            |   - add 'id' attribute for tabs (<li> items)
64|         |            |
65|         |            | * Fix JS & CSS bug with IE8
66|         |            |
67| 3.3.0   | 2010/10/13 | * Add the jQuery plugins
68|         |            |   . ui.iconSelector.js + ui.iconSelector.packed.js
69|         |            |   . ui.categorySelector.js + ui.categorySelector.packed.js
70|         |            |
71|         |            | * Pack JS scripts
72|         |            |   . pagesNavigator.packed.js
73|         |            |   . criteriaBuilder.packed.js
74|         |            |   . simpleTip.packed.js
75|         |            |
76|         |            | * Adding GPCCategorySelector class
77|         |            |
78| 3.3.1   | ---- -- -- | * nothing changed, the 3.3.1 package was built to
79|         |            |   replace a wrong file
80|         |            |
81| 3.3.2   | 2010/10/20 | * Fix mantis bug:1945
82|         |            |   . categorySelector : category list is empty
83|         |            |
84|         |            | * Fix many bugs on request builder and improve the css
85|         |            |   and templates
86|         |            |
87|         |            | * Add the jQuery plugins
88|         |            |   . ui.tagSelector.js + ui.tagSelector.packed.js
89|         |            |
90|         |            | * Externalize and pack JS scripts
91|         |            |   . rbSearch.js + rbSearch.packed.js
92|         |            |
93|         |            | * Rename js script
94|         |            |   . criteriaBuilder.js => rbCriteriaBuilder.js
95|         |            |
96| 3.3.3   | 2010/10/20 | * Enhance GPCPublicIntegration functionnalities
97|         |            |   . add the 'pageIsSection()' function
98|         |            |
99|         |            | * mantis bug:1960
100|         |            |   . Ajax function *.tagSelector.get don't work with
101|         |            |     uppercase
102|         |            |
103|         |            | * mantis bug:1971
104|         |            |   . optimization for RBuilder loading language management
105|         |            |
106| 3.4.0   | 2011/01/28 | * mantis bug:1984
107|         |            |   . RBuilder returns an error message when one picture
108|         |            |     have multiple categories
109|         |            |
110|         |            | * fix bug:2109
111|         |            |   . Incompatibility with IE8 (rbuilder)
112|         |            |
113|         |            | * Fix bug on simpleTip.js (script release 1.0.1)
114|         |            |
115|         |            | * GPCCore, GPCTranslate, GPCUsersGroups classes updated
116|         |            |
117|         |            | * add jQuery plugin pack & associated css files
118|         |            |   . inputText
119|         |            |   . inputList
120|         |            |   . inputRadio
121|         |            |   . inputCheckbox
122|         |            |   . inputColorPicker
123|         |            |   . inputColorsFB
124|         |            |   . inputConsole
125|         |            |   . inputDotArea
126|         |            |   . inputNum
127|         |            |   . inputPosition
128|         |            |   . inputStatusBar
129|         |            |
130|         |            | * update categorySelector jQuery plugin
131|         |            |
132|         |            | * minify js scripts (larger size than packed files but
133|         |            |   better performance)
134|         |            |
135| 3.4.1   | 2011/01/31 | * mantis bug:2156
136|         |            |   . undefined variable on RBuilder screens
137|         |            |
138| 3.4.2   | 2011/01/31 | * mantis bug:2162
139|         |            |   . Personalised blocks : when adding a new block,
140|         |            |     previous title & content are not reseted  (AMM bug
141|         |            |     due to inputText.js ui component)
142|         |            |
143| 3.4.3   | 2011/02/01 | * mantis bug:2167
144|         |            |   . RBuilder and GPCore not correctly initialized on
145|         |            |     fresh install
146|         |            |
147| 3.4.4   | 2011/02/02 | * mantis bug:2170
148|         |            |   . File path for RBuilder registered plugins is corrupted
149|         |            |
150|         |            | * mantis bug:2178
151|         |            |   . RBuilder register function don't work
152|         |            |
153|         |            | * mantis bug:2179
154|         |            |   . JS file loaded in wrong order made incompatibility
155|         |            |     with Lightbox, GMaps & ASE plugins (and probably other)
156|         |            |
157|         |            | * add language pt_PT (thanks to translator)
158|         |            |
159| 3.5.0   | 2011/04/10 | * mantis bug:2149
160|         |            |   . Compatibility with piwigo 2.2
161|         |            |
162| 3.5.1   | 2011/05/15 | * mantis bug:2302
163|         |            |   . Request builder interface don't work
164|         |            |
165| 3.5.2   | 2012/05/15 | * Add function to manage special markup
166|         |            |   . BB like markup [b],[i],[url]...
167|         |            |   . [var=<name>] markup
168|         |            |   . [tabs],[tab=id(;default);<tab title>]
169|         |            |   . [form_mail]
170|         |            |
171|         |            | * Add UserAgent classes
172|         |            |
173|         |            | * mantis bug:2160
174|         |            |   . CategorySelector : extended description are not
175|         |            |     managed
176|         |            |
177|         |            | * mantis feature:2634
178|         |            |   . Compatibility with Piwigo 2.4
179|         |            |
180|         |            | * optimization & rename of some JS framework components
181|         |            |
182| 3.5.3   | 2012/08/14 | * mantis bug:2723
183|         |            |   . Error message when on page using GPC tabsheets
184|         |            |
185| 3.5.4   | 2012/08/29 | * Add ui.inputTreeList object
186|         |            |
187|         |            | * Improve ui.dynamicTable object
188|         |            |
189|         |            |
190|         |            |
191|         |            |
192|         |            |
193|         |            |
194|         |            | ===== Don't forget to update the plugin version ! =====
195|         |            |
196|         |            |
197|         |            |
198|         |            |
199|         |            |
200
201
202:: TO DO
203
204:: WHAT ? WHY ?
205This plugin doesn't do anything itself. It just provide classes for others plugins.
206
207Classes version for this package
208    CommonPlugin.class.php
209    GPCAjax.class.php
210    GPCCategorySelector.class.inc.php
211    GPCCore.class.php
212    GPCPagesNavigation.class.php
213    GPCPublicIntegration.class.php
214    GPCRequestBuilder.class.php
215    GPCTables.class.php -v1.5
216    GPCTabSheet.class.inc.php
217    GPCTranslate.class.inc.php + google_translate.js
218    GPCUsersGroups.class.inc.php
219
220
221See each file to know more about them
222--------------------------------------------------------------------------------
223*/
224
225if(!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
226
227if(!defined('GPC_DIR')) define('GPC_DIR' , basename(dirname(__FILE__)));
228if(!defined('GPC_PATH')) define('GPC_PATH' , PHPWG_PLUGINS_PATH . GPC_DIR . '/');
229
230
231include_once('gpc_version.inc.php'); // => Don't forget to update this file !!
232include_once(GPC_PATH.'classes/GPCCore.class.inc.php');
233
234global $prefixeTable;
235
236
237
238$config=Array();
239GPCCore::loadConfig('gpc', $config);
240
241if(!isset($config['installed'])) $config['installed']='03.01.00';
242if($config['installed']!=GPC_VERSION2)
243{
244  /* the plugin was updated without being deactivated
245   * deactivate + activate the plugin to process the database upgrade
246   */
247  include(GPC_PATH."gpc_install.class.inc.php");
248  $gpc=new GPC_Install($prefixeTable, __FILE__);
249  $gpc->deactivate();
250  $gpc->activate();
251}
252
253if(defined('IN_ADMIN') && !defined('AJAX_CALL'))
254{
255  //GPC admin interface is loaded and active only if in admin page
256  include_once("gpc_aim.class.inc.php");
257
258  $obj = new GPC_AIM($prefixeTable, __FILE__);
259  $obj->initEvents();
260  set_plugin_data($plugin['id'], $obj);
261}
262
263?>
Note: See TracBrowser for help on using the repository browser.