1 | <?php |
---|
2 | if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); |
---|
3 | |
---|
4 | global $template; |
---|
5 | |
---|
6 | // Publish the result on a global page. |
---|
7 | // Mode global ==> simply display global result |
---|
8 | // Mode full ==> display global result and user notations |
---|
9 | |
---|
10 | $ap_id = explode('concours/' , $_SERVER['REQUEST_URI']); |
---|
11 | $id_concours = $ap_id[1]; |
---|
12 | |
---|
13 | $user['ipguest'] = null; |
---|
14 | if (is_a_guest()) |
---|
15 | { |
---|
16 | if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) |
---|
17 | $IP = $_SERVER['HTTP_X_FORWARDED_FOR']; |
---|
18 | elseif(isset($_SERVER['HTTP_CLIENT_IP'])) |
---|
19 | $IP = $_SERVER['HTTP_CLIENT_IP']; |
---|
20 | else |
---|
21 | $IP = $_SERVER['REMOTE_ADDR']; |
---|
22 | |
---|
23 | // store ip |
---|
24 | $user['ipguest'] = $IP; |
---|
25 | } |
---|
26 | |
---|
27 | |
---|
28 | |
---|
29 | $concours = new Concours($id_concours); |
---|
30 | |
---|
31 | $template->assign( 'CONCOURS', array( |
---|
32 | 'ID' => $concours->concours_infos['id'], |
---|
33 | 'NAME' => $concours->concours_infos['name'], |
---|
34 | 'DESCR' => $concours->concours_infos['descr'], |
---|
35 | 'BEGIN_DATE' => $concours->concours_infos['begin_date'], |
---|
36 | 'END_DATE' => $concours->concours_infos['end_date'], |
---|
37 | 'METHOD' => l10n("concours_method".$concours->concours_infos['method']), |
---|
38 | 'METHODNB' => $concours->concours_infos['method'] |
---|
39 | )); |
---|
40 | |
---|
41 | |
---|
42 | $category = $concours->concours_infos['category']; |
---|
43 | |
---|
44 | if (!(isset($concours->concours_infos['method']))) |
---|
45 | $concours->concours_infos['method'] = 1; |
---|
46 | |
---|
47 | $query = 'SELECT DISTINCT(img.id), img.name, img.file, img.path, img.author, |
---|
48 | ic.category_id, cat.name AS catname, conc.note, conc.moyenne, conc.moderation1, conc.moderation2, conc.nbvotant' |
---|
49 | .' FROM ' . IMAGES_TABLE.' AS img' |
---|
50 | .' INNER JOIN '.IMAGE_CATEGORY_TABLE.' AS ic ON img.id = ic.image_id' |
---|
51 | .' INNER JOIN '.CATEGORIES_TABLE.' AS cat ON ic.category_id = cat.id' |
---|
52 | .' INNER JOIN '.CONCOURS_RESULT_TABLE.' AS conc ON conc.img_id = img.id' |
---|
53 | .' WHERE ic.category_id = '.$concours->concours_infos['category'] |
---|
54 | .' AND conc.id_concours = '.$concours->concours_infos['id']; |
---|
55 | |
---|
56 | |
---|
57 | switch ($concours->concours_infos['method']) |
---|
58 | { |
---|
59 | case 1 :// total |
---|
60 | $query .= ' ORDER BY note DESC'; |
---|
61 | break; |
---|
62 | case 2 :// moyenne |
---|
63 | $query .= ' ORDER BY moyenne DESC'; |
---|
64 | break; |
---|
65 | case 3 :// moderation1 |
---|
66 | $query .= ' ORDER BY moderation1 DESC'; |
---|
67 | break; |
---|
68 | case 4 :// moderation2 |
---|
69 | $query .= ' ORDER BY moderation2 DESC'; |
---|
70 | break; |
---|
71 | } |
---|
72 | |
---|
73 | |
---|
74 | $query .=';'; |
---|
75 | // .' ORDER by note DESC;'; |
---|
76 | $result = pwg_query($query); |
---|
77 | $rang = 1; |
---|
78 | $previousNote = $previousMoy = 0; |
---|
79 | while ($row = pwg_db_fetch_array($result)) |
---|
80 | { |
---|
81 | // link on picture.php page |
---|
82 | set_make_full_url(); |
---|
83 | if ( isset($row['category_id']) & isset($row['catname']) ) |
---|
84 | { |
---|
85 | $url = duplicate_picture_url( |
---|
86 | array( |
---|
87 | 'image_id' => $row['id'], |
---|
88 | 'image_file' => $row['file'], |
---|
89 | 'category' => array( |
---|
90 | 'id' => $row['category_id'], |
---|
91 | 'name' => $row['catname'], |
---|
92 | 'permalink' => '' |
---|
93 | ) |
---|
94 | ), |
---|
95 | array('start') |
---|
96 | ); |
---|
97 | } |
---|
98 | else |
---|
99 | { |
---|
100 | $url = duplicate_picture_url( |
---|
101 | array( |
---|
102 | 'image_id' => $row['id'], |
---|
103 | 'image_file' => $row['file'] |
---|
104 | ), |
---|
105 | array('start') |
---|
106 | ); |
---|
107 | } |
---|
108 | unset_make_full_url(); |
---|
109 | |
---|
110 | // Check the exaequos |
---|
111 | if ($concours->my_config['check_exaequo']) |
---|
112 | { |
---|
113 | if ( ($concours->concours_infos['method'] == 1 // total |
---|
114 | AND ($row['note'] == $previousNote)) |
---|
115 | OR ($concours->concours_infos['method'] == 2 // moyenne |
---|
116 | AND ($row['moyenne'] == $previousMoy)) |
---|
117 | OR ($concours->concours_infos['method'] == 3 // moderation1 |
---|
118 | AND ($row['moderation1'] == $previousMoy)) |
---|
119 | OR ($concours->concours_infos['method'] == 4 // moderation2 |
---|
120 | AND ($row['moderation2'] == $previousMoy))) |
---|
121 | |
---|
122 | { |
---|
123 | // echo "Rang=".$rang."\n"; |
---|
124 | $rang --; |
---|
125 | |
---|
126 | } |
---|
127 | } |
---|
128 | $usernote = $concours->get_img_globalnote_user($row['id'], null, null, $user['ipguest']); |
---|
129 | $template->append( 'concours_note', array( |
---|
130 | 'img_id' => $row['id'], |
---|
131 | 'name' => $row['name'], |
---|
132 | 'file' => $row['file'], |
---|
133 | 'author' => $row['author'], |
---|
134 | 'rang' => $rang, |
---|
135 | // 'thumb' => DerivativeImage::thumb_url($row), |
---|
136 | 'thumb' => DerivativeImage::url(IMG_XXSMALL, $row), |
---|
137 | 'url' => $url, |
---|
138 | 'note' => ($row['note'] == 0 ? 'N/A' :$row['note']), |
---|
139 | 'moyenne' => ($row['moyenne'] == 0 ? 'N/A' : round($row['moyenne'] , 2)), |
---|
140 | 'moderation1' => ($row['moderation1'] == 0 ? 'N/A' : round($row['moderation1'], 2) ), |
---|
141 | 'moderation2' => ($row['moderation2'] == 0 ? 'N/A' : round($row['moderation2'], 2)), |
---|
142 | 'nbvotant' => $row['nbvotant'], |
---|
143 | 'usernote' => ($usernote < 0 ? "N/A" : $usernote) |
---|
144 | |
---|
145 | )); |
---|
146 | $rang ++; |
---|
147 | |
---|
148 | // echo "Rang=".$rang."\n"; |
---|
149 | $previousNote = $row['note']; |
---|
150 | $previousMoy = $row['moyenne']; |
---|
151 | |
---|
152 | } |
---|
153 | // Envoi de la page |
---|
154 | $template->assign(array( |
---|
155 | 'TITLE' => "Concours : ".$concours->concours_infos['name'])); |
---|
156 | |
---|
157 | $template->assign('IMG_URL', CONCOURS_IMG_PATH); |
---|
158 | |
---|
159 | $template->set_filenames(array('concours_result' => CONCOURS_ROOT.'/template/result.tpl')); |
---|
160 | $template->concat('PLUGIN_INDEX_CONTENT_BEGIN', $template->parse('concours_result', true)); |
---|
161 | |
---|
162 | |
---|
163 | $template->assign('PLUGIN_INDEX_ACTIONS' , ' |
---|
164 | <li><a href="' . make_index_url() . '" title="' . l10n('return to homepage') . '"> |
---|
165 | <img src="' . $template->get_themeconf('icon_dir') . '/home.png" class="button" alt="' . l10n('home') . '"/></a> |
---|
166 | </li>'); |
---|
167 | |
---|
168 | if (is_admin()) |
---|
169 | { |
---|
170 | $template->assign('U_EDIT', PHPWG_ROOT_PATH . 'admin.php?page=plugin&section=' . CONCOURS_DIR . '%2Fadmin%2Fadd_concours.php&concours=' . $id_concours.'&action=edit'); |
---|
171 | } |
---|
172 | |
---|
173 | $template->clear_assign(array('U_MODE_POSTED', 'U_MODE_CREATED')); |
---|
174 | |
---|
175 | ?> |
---|