source: extensions/TakeATour/main.inc.php @ 27998

Last change on this file since 27998 was 27998, checked in by flop25, 10 years ago

manamanaging the picture and album ids, etc

File size: 6.8 KB
Line 
1<?php
2/*
3Plugin Name: Take A Tour of Your Piwigo
4Version: 1.0
5Description: Plugin Personnel
6Plugin URI: http://piwigo.org
7Author:Piwigo Team
8Author URI:
9*/
10if (!defined('PHPWG_ROOT_PATH'))
11{
12  die('Hacking attempt!');
13}
14
15$avalaible_tour = array('first_contact', 'privacy', 'picture_protection');
16
17if ( isset($_POST['submited_tour']) and in_array($_POST['submited_tour'], $avalaible_tour) and defined('IN_ADMIN') and IN_ADMIN )
18{
19  pwg_set_session_var('tour_to_launch', $_POST['submited_tour']);
20  global $TAT;
21  $TAT['restart']=true;
22}
23elseif ( isset($_GET['tour_ended']) and in_array($_GET['tour_ended'], $avalaible_tour) and defined('IN_ADMIN') and IN_ADMIN )
24{
25  pwg_unset_session_var('tour_to_launch');
26  pwg_unset_session_var('TAT_image_id');
27  pwg_unset_session_var('TAT_cat_id');
28}
29
30if ( pwg_get_session_var('tour_to_launch') and defined('IN_ADMIN') and IN_ADMIN )
31{
32  add_event_handler('init', 'TAT_add_js_css');
33}
34function TAT_add_js_css()
35{
36  global $template, $TAT;
37  $tour_to_launch=pwg_get_session_var('tour_to_launch');
38  load_language('plugin.lang', PHPWG_PLUGINS_PATH .'TakeATour/');
39  $template->set_filename('TAT_js_css', PHPWG_PLUGINS_PATH.'TakeATour/tpl/js_css.tpl');
40  $template->parse('TAT_js_css');//http://piwigo.org/forum/viewtopic.php?id=23248
41  if (isset($TAT['restart']) and $TAT['restart'])
42  {
43    $TAT['restart']=false;
44    $template->assign('TAT_restart',true);
45  }
46  $tat_path=str_replace(basename($_SERVER['SCRIPT_NAME']),'', $_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME']);
47  $template->assign('TAT_path', $tat_path);
48  //picture id
49  if (isset($_GET['page']) and preg_match('/^photo-(\d+)(?:-(.*))?$/', $_GET['page'], $matches))
50  {
51    $_GET['image_id'] = $matches[1];
52  }
53  check_input_parameter('image_id', $_GET, false, PATTERN_ID);
54  if (isset($_GET['image_id']) and pwg_get_session_var('TAT_image_id')==null)
55  {
56    $template->assign('TAT_image_id', $_GET['image_id']);
57    pwg_set_session_var('TAT_image_id', $_GET['image_id']);
58  }
59  elseif (is_numeric(pwg_get_session_var('TAT_image_id')))
60  {
61    $template->assign('TAT_image_id', pwg_get_session_var('TAT_image_id'));
62  }
63  else
64  {
65    $query = '
66    SELECT id
67      FROM '.IMAGES_TABLE.'
68      ORDER BY RAND()
69      LIMIT 1 
70    ;';
71    $row = pwg_db_fetch_assoc(pwg_query($query));
72    $template->assign('TAT_image_id', $row['id']);
73  }
74  //album id
75  if (isset($_GET['page']) and preg_match('/^album-(\d+)(?:-(.*))?$/', $_GET['page'], $matches))
76  {
77    $_GET['cat_id'] = $matches[1];
78  }
79  check_input_parameter('cat_id', $_GET, false, PATTERN_ID);
80  if (isset($_GET['cat_id']) and pwg_get_session_var('TAT_cat_id')==null)
81  {
82    $template->assign('TAT_cat_id', $_GET['cat_id']);
83    pwg_set_session_var('TAT_cat_id', $_GET['cat_id']);
84  }
85  elseif (is_numeric(pwg_get_session_var('TAT_cat_id')))
86  {
87    $template->assign('TAT_cat_id', pwg_get_session_var('TAT_cat_id'));
88  }
89  else
90  {
91    $query = '
92    SELECT id
93      FROM '.CATEGORIES_TABLE.'
94      ORDER BY RAND()
95      LIMIT 1 
96    ;';
97    $row = pwg_db_fetch_assoc(pwg_query($query));
98    $template->assign('TAT_cat_id', $row['id']);
99  }
100
101  $template->set_filename('TAT_tour_tpl', PHPWG_PLUGINS_PATH.'TakeATour/tpl/'.$tour_to_launch.'.tpl');
102  $template->parse('TAT_tour_tpl');
103  unset($tour_to_launch);
104}
105
106if ( defined('IN_ADMIN') and IN_ADMIN )
107{
108/* first contact */
109add_event_handler('loc_end_element_set_global', 'TAT_FC_14');
110add_event_handler('loc_end_picture_modify', 'TAT_FC_16');
111add_event_handler('loc_end_picture_modify', 'TAT_FC_17');
112add_event_handler('loc_end_cat_modify', 'TAT_FC_23');
113add_event_handler('loc_end_themes_installed', 'TAT_FC_35');
114}
115
116function TAT_FC_14()
117{
118  global $template;
119  $template->set_prefilter('batch_manager_global', 'TAT_FC_14_prefilter');
120}
121function TAT_FC_14_prefilter ($content, &$smarty)
122{
123  $search = '<span class="wrap2';
124  $replacement = '{counter print=false assign=TAT_FC_14}<span {if $TAT_FC_14==1}id="TAT_FC_14"{/if} class="wrap2';
125  $content = str_replace($search, $replacement, $content);
126  $search = 'target="_blank">{\'Edit\'';
127  $replacement = '>{\'Edit\'';
128  return str_replace($search, $replacement, $content);
129}
130function TAT_FC_16()
131{
132  global $template;
133  $template->set_prefilter('picture_modify', 'TAT_FC_16_prefilter');
134}
135function TAT_FC_16_prefilter ($content, &$smarty)
136{
137  $search = '<strong>{\'Linked albums\'|@translate}</strong>';
138  $replacement = '<span id="TAT_FC_16"><strong>{\'Linked albums\'|@translate}</strong></span>';
139  return str_replace($search, $replacement, $content);
140}
141function TAT_FC_17()
142{
143  global $template;
144  $template->set_prefilter('picture_modify', 'TAT_FC_17_prefilter');
145}
146function TAT_FC_17_prefilter ($content, &$smarty)
147{
148  $search = '<strong>{\'Representation of albums\'|@translate}</strong>';
149  $replacement = '<span id="TAT_FC_17"><strong>{\'Representation of albums\'|@translate}</strong></span>';
150  return str_replace($search, $replacement, $content);
151}
152function TAT_FC_23()
153{
154  global $template;
155  $template->set_prefilter('album_properties', 'TAT_FC_23_prefilter');
156}
157function TAT_FC_23_prefilter ($content, &$smarty)
158{
159  $search = '<strong>{\'Lock\'|@translate}</strong>';
160  $replacement = '<span id="TAT_FC_23"><strong>{\'Lock\'|@translate}</strong></span>';
161  return str_replace($search, $replacement, $content);
162}
163function TAT_FC_35()
164{
165  global $template;
166  $template->set_prefilter('themes', 'TAT_FC_35_prefilter');
167}
168function TAT_FC_35_prefilter ($content, &$smarty)
169{
170  $search = '<a href="{$set_default_baseurl}{$theme.ID}" class="tiptip"';
171  $replacement = '{counter print=false assign=TAT_FC_35}<a href="{$set_default_baseurl}{$theme.ID}" class="tiptip" {if $TAT_FC_35==1}id="TAT_FC_35"{/if}';
172  return str_replace($search, $replacement, $content);
173}
174
175/*
176add_event_handler('init', 'TAT_add_js_css');
177function TAT_add_js_css()
178{
179  $avalaible_tour = array('first_contact', 'privacy', 'picture_protection');
180
181  if ( isset($_POST['submited_tour']) and in_array($_POST['submited_tour'], $avalaible_tour) and defined('IN_ADMIN') and IN_ADMIN )
182  {
183    $tour_to_launch = $_POST['submited_tour'];
184  }
185  global $template;
186  load_language('plugin.lang', PHPWG_PLUGINS_PATH .'TakeATour/');
187  $template->set_filename('TAT_js_css', PHPWG_PLUGINS_PATH.'TakeATour/tpl/js_css.tpl');
188  $template->parse('TAT_js_css');//http://piwigo.org/forum/viewtopic.php?id=23248
189  $template->set_filename('TAT_tour_tpl', PHPWG_PLUGINS_PATH.'TakeATour/tpl/'.$tour_to_launch.'.tpl');
190  $template->parse('TAT_tour_tpl');
191}*/
192add_event_handler('get_admin_plugin_menu_links', 'TAT_admin_menu' );
193function TAT_admin_menu($menu)
194{
195  array_push($menu, array(
196    'NAME' => 'Take a Tour',
197    'URL' => get_root_url().'admin.php?page=plugin-TakeATour'
198    )
199  );
200  return $menu;
201}
202?>
Note: See TracBrowser for help on using the repository browser.