source: extensions/see_photos_by_user/main.inc.php @ 27429

Revision 27429, 3.6 KB checked in by ddtddt, 6 years ago (diff)

[extensions] - see_photos_by_user -

Line 
1<?php
2/*
3Plugin Name: See photos by user
4Version: auto
5Description: See photos by user
6Plugin URI: http://piwigo.org/ext/extension_view.php?eid=723
7Author: ddtddt
8Author URI:
9*/
10
11if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
12
13define('SPBA_DIR' , basename(dirname(__FILE__)));
14define('SPBA_PATH' , PHPWG_PLUGINS_PATH . SPBA_DIR . '/');
15load_language('plugin.lang', SPBA_PATH);
16
17global $conf;
18$showSPBU = $conf['see_photos_by_user_show'];
19
20if (in_array($showSPBU, array(1,3)))
21{
22add_event_handler('blockmanager_apply' , 'add_link_SPBA');
23}
24function add_link_SPBA($menu_ref_arr)
25 {
26  global $conf, $user;
27  $menu = & $menu_ref_arr[0];
28  if (($block = $menu->get_block('mbSpecials')) != null)
29   {
30   load_language('plugin.lang', SPBA_PATH);
31   $position = (isset($conf['SPBA_position']) and is_numeric($conf['SPBA_position'])) ? $conf['SPBA_position'] : count($block->data)+1;
32   array_splice
33         ($block->data, $position-1, 0, array
34          ('user-' =>
35      array
36                         (
37                         'URL' => make_index_url(array('section' => 'user-')),
38                         'TITLE' => l10n('See photos by user'),
39                         'NAME' => l10n('See photos by user')
40       )
41    )
42   );
43   }
44 }
45
46add_event_handler('loc_end_section_init', 'section_init_SPBA');
47function section_init_SPBA()
48{
49 global $tokens;
50$testa = explode('user-', $_SERVER['REQUEST_URI']); 
51if (!empty ($testa[1]))
52{
53$testd= explode('/', $testa[1]);
54$me = 'user-'.$testd[0];
55}
56else
57{$me = 'user-';}
58
59if (in_array($me, $tokens))
60 include(SPBA_PATH . 'pagespba.php');
61}
62
63if (in_array($showSPBU, array(2,3,4)))
64{
65add_event_handler('blockmanager_register_blocks', 'register_users_menubar_blocks');
66add_event_handler('blockmanager_apply', 'users_apply');
67}
68function register_users_menubar_blocks( $menu_ref_arr )
69{
70  $menu = & $menu_ref_arr[0];
71  if ($menu->get_id() != 'menubar')
72    return;
73  $menu->register_block( new RegisteredBlock( 'mbUsers','Users',('See photos by user')));
74}
75
76function users_apply($menu_ref_arr)
77{
78global $template, $conf, $user;
79$menu = & $menu_ref_arr[0];
80load_language('plugin.lang', SPBA_PATH);
81load_language('lang', PHPWG_ROOT_PATH.'local/', array('no_fallback'=>true, 'local'=>true));
82
83$userslistemenu1 = pwg_query('
84SELECT UT.id, UT.username, COUNT(DISTINCT(IT.id)) AS PBU, IT.id
85 FROM ' . USERS_TABLE . ' as UT
86 INNER JOIN '.IMAGES_TABLE.' AS IT ON IT.added_by = UT.id
87 INNER JOIN '.IMAGE_CATEGORY_TABLE.' AS ic ON IT.id = ic.image_id
88  '.get_sql_condition_FandF
89  (
90    array
91      (
92        'forbidden_categories' => 'category_id',
93        'visible_categories' => 'category_id',
94        'visible_images' => 'id'
95      ),
96    'WHERE'
97  ).'
98 GROUP BY IT.added_by
99 HAVING PBU >'.$conf['see_photos_by_user_nbphotos'].'
100 ORDER BY '.$conf['see_photos_by_user_order'].'
101 LIMIT '.$conf['see_photos_by_user_limit'].';');
102
103if (pwg_db_num_rows($userslistemenu1)) {       
104 while ($userslistemenu = pwg_db_fetch_assoc($userslistemenu1))
105        {
106    $items = array(
107      'USERSSPBYL' => $userslistemenu['username'],
108          'USERSSPBYLC' => $userslistemenu['PBU'],
109                );
110               
111        $template->append('userslistemenu1', $items);
112        }
113}
114$linkusersliste = get_root_url().'index.php?/user-';
115$template->assign('USERSSPBY', $linkusersliste);
116   
117 if (($block = $menu->get_block( 'mbUsers' )) != null) {
118 $template->set_template_dir(SPBA_PATH);
119 $block->template = 'menubar_users.tpl';}
120}
121
122add_event_handler('get_admin_plugin_menu_links', 'SPBA_admin_menu');
123function SPBA_admin_menu($menu)
124{
125  array_push(
126    $menu,
127    array(
128      'NAME' => l10n('See photos by user'),
129      'URL' => get_admin_plugin_menu_link(SPBA_PATH . 'admin.php')
130          //'URL' => get_root_url().'admin.php?page=plugin-See_photos_by_user'
131      )
132    );
133 
134  return $menu;
135}
136
137?>
Note: See TracBrowser for help on using the repository browser.