source: extensions/ThumbnailTooltip/include/class.inc.php

Last change on this file was 31603, checked in by sarybe, 8 years ago

[ThumbnailTooltip] function construct() for PHP 7

File size: 5.7 KB
Line 
1<?php
2
3class Thumbnail_Tooltip_IMG {
4  var $plugin_name, $plugin_path, $plugin_url;
5  var $my_config;
6
7  function __construct($plugin_name, $plugin_path, $plugin_url) {
8    $this->plugin_name = $plugin_name;
9    $this->plugin_path = $plugin_path;
10    $this->plugin_url = $plugin_url;
11    $this->initialize_event_handler($plugin_name, $plugin_path, $plugin_url);
12  }
13
14  function initialize_event_handler() {
15    add_event_handler('loc_end_index_thumbnails', array($this, 'thumbnail_tooltip_affich'), 50, 2);
16    add_event_handler('loc_end_index_category_thumbnails', array($this, 'Author_Description_affich'), 50, 2);
17  }
18
19  function thumbnail_tooltip_affich($tpl_var) {
20    global $user;
21
22        $query = 'SELECT param, value, comment FROM ' . CONFIG_TABLE . ' WHERE param="thumbnail_tooltip"';
23        $row = pwg_db_fetch_assoc( pwg_query($query) );
24
25        $params = unserialize($row['value']);
26        $values = array(
27                  'DISPLAY_NAME'         => $params['display_name'],
28                  'value1'               => $params['value1'],
29                  'value2'               => $params['value2'],
30                  'value3'               => $params['value3'],
31                  'value4'               => $params['value4'],
32                  'value5'               => $params['value5'],
33                  'value6'               => $params['value6'],
34                  'separator'            => $params['separator']
35        );
36       
37        foreach($tpl_var as $cle=>$valeur) {
38          if ($params['display_name']==true) {
39        $query = "
40                  SELECT name, hit, comment, author, rating_score, CONCAT(width, 'x', height) AS dimensions, filesize FROM ".IMAGES_TABLE."
41                  WHERE id = ".(int)$tpl_var[$cle]['id']."
42                ;";
43            $row = pwg_db_fetch_assoc( pwg_query($query) );
44
45        $details = array();
46        $details_param = array();
47
48        $details['tn_type1'] = str_replace('"', '\"', strip_tags($row['name']));
49
50        if (!empty($row['hit'])) {
51                  $details['tn_type2'] = $row['hit'].' '.strtolower(l10n('Visits'));
52                  $details['tn_type3'] = '('.$row['hit'].' '.strtolower(l10n('Visits')).')';
53              if (!empty($row['rating_score'])) { $type8 = ', '.strtolower(l10n('Rating score')).' '.$row['rating_score']; } else { $type8 = ''; }
54                  $details['tn_type8'] = '('.$row['hit'].' '.strtolower(l10n('Visits')).$type8.')';
55        }
56
57        if (!empty($row['comment'])) {
58                  $details['tn_type4'] = str_replace('"', '\"', strip_tags($row['comment']));
59        }
60
61        if (!empty($row['author'])) {
62                  $details['tn_type5'] = $row['author'];
63        }
64
65        if (!empty($row['author'])) {
66                  $details['tn_type6'] = (preg_match('#(,|\/)#i', $row['author'])) ? str_replace(array('(',')'), '', ucfirst(l10n('author(s) : %s', $row['author']))) : l10n('Author').' : '.$row['author'];
67        }
68
69        if (!empty($row['rating_score'])) {
70                  $details['tn_type7'] = strtolower(l10n('Rating score')).' '.$row['rating_score'];
71        }
72
73        if (!empty($row['dimensions'])) {
74                  $details['tn_type9'] = l10n('Dimensions').' : '.$row['dimensions'];
75        }
76
77                if (!empty($row['filesize'])) {
78                  if (($params['separator']=='1') && (!empty($details['tn_type9']))) { $details['tn_type9'].= ' - '; } elseif (($params['separator']!='1') && (!empty($details['tn_type9']))) { $details['tn_type9'].= ' '; } else { $details['tn_type9'] = ' '; } 
79                  $details['tn_type9'].= l10n('Filesize').' : '.l10n('%d Kb', $row['filesize']); 
80                }
81
82        if ((!empty($details[$values['value1']])) && ($details[$values['value1']]!='none')) { $details_param[] = $details[$values['value1']]; }
83        if ((!empty($details[$values['value2']])) && ($details[$values['value2']]!='none')) { $details_param[] = $details[$values['value2']]; }
84        if ((!empty($details[$values['value3']])) && ($details[$values['value3']]!='none')) { $details_param[] = $details[$values['value3']]; }
85        if ((!empty($details[$values['value4']])) && ($details[$values['value4']]!='none')) { $details_param[] = $details[$values['value4']]; }
86        if ((!empty($details[$values['value5']])) && ($details[$values['value5']]!='none')) { $details_param[] = $details[$values['value5']]; }
87        if ((!empty($details[$values['value6']])) && ($details[$values['value6']]!='none')) { $details_param[] = $details[$values['value6']]; } 
88
89        if ($params['separator']=='1') { $title = implode(' - ', $details_param); } else { $title = implode(' ', $details_param); }
90
91        $tpl_var[$cle]['TN_TITLE'] = $title;
92      }
93          else {
94            $tpl_var[$cle]['TN_TITLE'] = null;
95          }
96    }
97    return $tpl_var;
98  }
99
100
101  function Author_Description_affich($tpl_var) {
102    global $user, $lang;
103
104        $query = 'SELECT param, value, comment FROM ' . CONFIG_TABLE . ' WHERE param="thumbnail_tooltip";';
105        $row = pwg_db_fetch_assoc( pwg_query($query) );
106
107    $params = unserialize($row['value']);
108        $values = array('DISPLAY_AUTHOR_CAT' => $params['display_author_cat']);
109
110        if ($params['display_author_cat']==true) {
111      foreach($tpl_var as $cle=>$valeur) {
112        $query = "SELECT author FROM ".IMAGE_CATEGORY_TABLE." INNER JOIN ".IMAGES_TABLE." ON image_id = id WHERE category_id = ".(int)$tpl_var[$cle]['id']." AND author<>'' GROUP BY author";
113            $result = pwg_query($query);
114            $row = pwg_db_fetch_assoc($result); 
115
116                $auteur = '';
117
118            if (!empty($row['author'])) {
119                  do {
120                    $auteur .= $row['author'].', ';
121                  } while ($row = pwg_db_fetch_assoc($result));
122
123                  $auteur = substr($auteur, 0, -2);
124              if (preg_match('#(,|\/)#i', $auteur )) { $auteur = str_replace(array('(',')'), '', ucfirst(sprintf($lang['author(s) : %s'], $auteur))); } else { $auteur = $lang['Author'].' : '.$auteur ; }
125              if (!empty($tpl_var[$cle]['DESCRIPTION'])) { $tpl_var[$cle]['DESCRIPTION'] = $tpl_var[$cle]['DESCRIPTION'].'<br/>'.$auteur; } else { $tpl_var[$cle]['DESCRIPTION'] = $auteur; }
126            }
127      }
128    }
129    return $tpl_var;
130  }
131}
132
133?>
Note: See TracBrowser for help on using the repository browser.