source: extensions/ContestResults/include/cr_page.php @ 6768

Last change on this file since 6768 was 6768, checked in by mistic100, 14 years ago
File size: 3.9 KB
Line 
1<?php 
2if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
3
4// +-----------------------------------------------------------------------+
5//                      Page d'un concours
6// +-----------------------------------------------------------------------+
7if(is_admin()){
8        $template->assign('U_EDIT', CR_ADMIN . '&tab=edit&contest_id=' . $page['contest']);
9        $template->assign('U_RESULTS', CR_ADMIN . '&tab=results&contest_id=' . $page['contest']);
10}
11
12// Infos du concours
13$query = "SELECT * FROM " . CR_TABLE_1 . " WHERE id=" . $page['contest'] . ";";
14$contest = pwg_db_fetch_assoc(pwg_query($query));
15
16if($contest['visible'] OR is_admin()){
17        // Paramètres généraux
18        $template->assign(array(
19                'ID' => $contest['id'],
20                'NAME' => trigger_event('render_CR_content', $contest['name']),
21                'STATUS' => $contest['status'],
22                'VISIBLE' => $contest['visible'],
23                'DATE_BEGIN' => format_date($contest['date_begin']),
24                'DATE_END' => format_date($contest['date_end']),
25                'LOGO' => $contest['logo'],
26                'BANNER' => $contest['banner'],
27                'URL' => CR_PUBLIC . $contest['id'] . '-' . str2url(trigger_event('render_CR_content', $contest['name'])),
28        ));
29       
30        // Quatre zones texte
31        foreach(array('presentation','rules','prices','final') AS $key){
32                $contest[$key.'_display'] = unserialize($contest[$key.'_display']);
33                if($contest[$key.'_display']['pending']) $template->assign(strtoupper($key).'_PENDING', true);
34                if($contest[$key.'_display']['finished']) $template->assign(strtoupper($key).'_FINISHED', true);
35                $template->assign(strtoupper($key), trigger_event('render_CR_content', $contest[$key]));
36        }
37       
38        // Affichage des résultats
39        if($contest['status'] == 'finished'){
40                // Infos des résultats
41                $query = "SELECT * FROM " . CR_TABLE_2 . " WHERE contest_id=" . $contest['id'] . " ORDER BY rank ASC;";
42                $results = pwg_query($query);
43               
44                while($result = pwg_db_fetch_assoc($results)){
45                        // Infos de l'image
46                        $query = "SELECT
47                                        i.id,
48                                        i.name,
49                                        i.file,
50                                        i.path,
51                                        i.tn_ext,
52                                        ic.category_id
53                                FROM " . IMAGES_TABLE . " AS i
54                                INNER JOIN " . IMAGE_CATEGORY_TABLE . " AS ic
55                                ON ic.image_id = i.id
56                                WHERE i.id = " . $result['image_id'] . ";";
57                        $image = pwg_db_fetch_assoc(pwg_query($query));
58                       
59                        // Nom de l'image
60                        if(empty($image['name']))
61                                $image['name'] = get_name_from_file($image['file']);
62
63                        // retrieving category informations
64                        $query = "SELECT id, name, permalink, uppercats
65                                FROM " . CATEGORIES_TABLE."
66                                WHERE id = " . $image['category_id'] . ";";
67                        $image['cat'] = pwg_db_fetch_assoc(pwg_query($query));
68       
69                        // link to the full size picture
70                        $image['url'] = make_picture_url(array(
71                                'category' => $image['cat'],
72                                'image_id' => $image['id'],
73                                'image_file' => $image['file'],
74                        ));                     
75                       
76                        // Template
77                        if(in_array($result['rank'], array(1,2,3))){
78                                $array = array(
79                                        'RANK' => $result ['rank'],
80                                        'AUTHOR' => $result['author'],
81                                        'IMAGE_SRC' => str_replace('thumbnail/'.$conf['prefix_thumbnail'], null, get_thumbnail_url($image)),
82                                        'IMAGE_URL' => $image['url'],
83                                        'IMAGE_NAME' => $image['name'],
84                                        'COMMENT' => CR_cut_string(trigger_event('render_CR_content', $result['comment']), 450),
85                                        );
86                        }else{
87                                $array = array(
88                                        'RANK' => $result ['rank'],
89                                        'AUTHOR' => $result['author'],
90                                        'TN_SRC' => get_thumbnail_url($image),
91                                        'IMAGE_URL' => $image['url'],
92                                        'IMAGE_NAME' => $image['name'],
93                                );
94                        }
95                        $template->append('RESULTS', $array);
96                }
97        }
98       
99        $template->set_filenames(array('index'=> dirname(__FILE__).'/../template/cr_page.tpl'));
100       
101}else{
102        page_not_found(l10n('CR_notavailable'));
103}
104
105
106// +-----------------------------------------------------------------------+
107//                              Template
108// +-----------------------------------------------------------------------+
109$template->assign('CR_PATH', CR_PATH);
110$template->assign('SEPARATOR', $conf['level_separator']);
111?>
Note: See TracBrowser for help on using the repository browser.