source: extensions/Photo_add_by/initpicture.php @ 27458

Revision 27458, 2.5 KB checked in by ddtddt, 6 years ago (diff)

[extensions] - Photo_add_by - if plugin see photo by user is actif - can show link on user on picture page with parameter plugin see photo by user

Line 
1<?php
2
3//Ajout du prefiltre
4add_event_handler('loc_begin_picture', 'pabI', 55 );
5
6function pabI()
7 {
8        global $template;
9        $template->set_prefilter('picture', 'pabIT');
10 }
11
12
13function pabIT($content, &$smarty)
14 {
15 
16 global $conf;
17 
18  $search = '#<div id="'.$conf['Photo_add_by'].'" class="imageInfo">#';
19
20  $replacement = '
21  {if $PAB}
22  <div id="pab1" class="imageInfo">
23    <dt>{\'Photo added by\'|@translate}</dt>
24    <dd>{$PAB}</dd>
25  </div>
26{/if}
27<div id="'.$conf['Photo_add_by'].'" class="imageInfo">';
28
29  return preg_replace($search, $replacement, $content);
30 }
31
32add_event_handler('loc_begin_picture', 'pab');
33
34function pab()
35{
36global $conf, $page, $template;
37load_language('plugin.lang', PAB_PATH);
38load_language('lang', PHPWG_ROOT_PATH.PWG_LOCAL_DIR, array('no_fallback'=>true, 'local'=>true) );
39
40  if ( !empty($page['image_id']) )   
41  {
42 
43  $query = '
44select added_by
45  FROM ' . IMAGES_TABLE . '
46  WHERE id = \''.$page['image_id'].'\'
47  ;';
48$result = pwg_query($query);
49$row = pwg_db_fetch_assoc($result);
50$userab=$row['added_by'];
51
52  $query = '
53select '.$conf['user_fields']['username'].' AS username
54  FROM ' . USERS_TABLE . '
55  WHERE '.$conf['user_fields']['id'].' = \''.$userab.'\'
56  ;';
57$result = pwg_query($query);
58$row = pwg_db_fetch_assoc($result);
59$pab=$row['username'];
60
61$PASPBY = pwg_db_fetch_assoc(pwg_query("SELECT state FROM " . PLUGINS_TABLE . " WHERE id = 'see_photos_by_user';"));
62$showpab = $conf['Photo_add_by_show'];
63if($showpab == 1 and $PASPBY['state'] == 'active')
64{
65$query2 = '
66SELECT UT.id, UT.username, COUNT(DISTINCT(IT.id)) AS PBU, IT.id
67 FROM ' . USERS_TABLE . ' as UT
68 INNER JOIN '.IMAGES_TABLE.' AS IT ON IT.added_by = UT.id
69 INNER JOIN '.IMAGE_CATEGORY_TABLE.' AS ic ON IT.id = ic.image_id
70  '.get_sql_condition_FandF
71  (
72    array
73      (
74        'forbidden_categories' => 'category_id',
75        'visible_categories' => 'category_id',
76        'visible_images' => 'id'
77      ),
78    'WHERE'
79  ).'
80 GROUP BY IT.added_by
81 HAVING PBU >'.$conf['see_photos_by_user_nbphotos'].'
82 ORDER BY '.$conf['see_photos_by_user_order'].'
83 LIMIT '.$conf['see_photos_by_user_limit'].';';
84
85$result2 = pwg_query($query2);
86
87$userok = array();
88while ($row2 = pwg_db_fetch_assoc($result2))
89 {
90  $userok[] = $row2['username'];
91}
92if(in_array($pab, $userok) and $showpab == 1 and $PASPBY['state'] == 'active')
93{
94$urlpab = get_root_url().'index.php?/user-'.($pab);
95$pab2 ='<a href="'.$urlpab.'">'.$pab.'</a>';
96}
97else
98{
99$pab2=$pab;
100}
101}
102else
103{
104$pab2=$pab;
105}
106$template->assign(array('PAB' => $pab2,));
107
108  }
109}
110
111?>
Note: See TracBrowser for help on using the repository browser.