source: extensions/Back2Front/main.inc.php @ 23177

Last change on this file since 23177 was 23177, checked in by mistic100, 11 years ago

use serialized array for config + custom upgrade process

File size: 2.2 KB
Line 
1<?php 
2/*
3Plugin Name: Back2Front
4Version: auto
5Description: Add a link on picture's page to show a alternative version of the pic (for postcards for example)
6Plugin URI: http://piwigo.org/ext/extension_view.php?eid=533
7Author: Mistic
8Author URI: http://www.strangeplanet.fr
9*/
10
11if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
12global $prefixeTable;
13
14defined('B2F_ID') or define('B2F_ID', basename(dirname(__FILE__)));
15define('B2F_PATH', PHPWG_PLUGINS_PATH . B2F_ID . '/');
16define('B2F_TABLE', $prefixeTable . 'image_verso');
17define('B2F_ADMIN',   get_root_url() . 'admin.php?page=plugin-' . B2F_ID);
18define('B2F_VERSION', 'auto');
19
20include_once(B2F_PATH . 'include/Back2Front.php');
21
22add_event_handler('init', 'back2front_init');
23
24function back2front_init()
25{
26  global $conf, $pwg_loaded_plugins;
27 
28  if (
29    B2F_VERSION == 'auto' or
30    $pwg_loaded_plugins[B2F_ID]['version'] == 'auto' or
31    version_compare($pwg_loaded_plugins[B2F_ID]['version'], B2F_VERSION, '<')
32  )
33  {
34    include_once(B2F_PATH . 'include/install.inc.php');
35    back2front_install();
36   
37    if ( $pwg_loaded_plugins[B2F_ID]['version'] != 'auto' and B2F_VERSION != 'auto' )
38    {
39      $query = '
40UPDATE '. PLUGINS_TABLE .'
41SET version = "'. B2F_VERSION .'"
42WHERE id = "'. B2F_ID .'"';
43      pwg_query($query);
44     
45      $pwg_loaded_plugins[B2F_ID]['version'] = B2F_VERSION;
46     
47      if (defined('IN_ADMIN'))
48      {
49        $_SESSION['page_infos'][] = 'Back2Front updated to version '. B2F_VERSION;
50      }
51    }
52  }
53 
54  $conf['back2front'] = unserialize($conf['back2front']);
55  load_language('plugin.lang', B2F_PATH);
56}
57
58if (script_basename() == 'picture')
59{
60  add_event_handler('render_element_content', 'back2front_picture_content', EVENT_HANDLER_PRIORITY_NEUTRAL+20, 2);
61}
62
63if (script_basename() == 'index')
64{
65  add_event_handler('loc_end_index_thumbnails', 'back2front_thumbnails');
66}
67
68if (script_basename() == 'admin')
69{
70  add_event_handler('loc_begin_admin_page', 'back2front_picture_modify');
71 
72  add_event_handler('get_admin_plugin_menu_links', 'back2front_admin_menu');
73  function back2front_admin_menu($menu) 
74  {
75    array_push($menu, array(
76      'NAME' => 'Back2Front',
77      'URL' => B2F_ADMIN,
78    ));
79    return $menu;
80  }
81}
82
83?>
Note: See TracBrowser for help on using the repository browser.