source: extensions/ConcoursPhoto/admin/functions.inc.php @ 3905

Last change on this file since 3905 was 3905, checked in by tiico, 15 years ago

Initial submit for plugin ConcoursPhoto (Possibility to add a competition on category with selected criterias and generation of the competition's result).
Functionnal version. Admin pages must be checked for informations/errors notifications

File size: 4.4 KB
Line 
1<?php
2
3// Get all generated csv files stored on RESULT directory
4function get_csvfile_result()
5{
6        $csvfile = array();
7    if (is_dir(CONCOURS_RESULT_FOLDER) )
8        {
9                $dir = opendir(CONCOURS_RESULT_FOLDER);
10                while ($file = readdir($dir)) 
11                {
12            // only csv file
13                        if ($file != '.' and $file != '..' and preg_match("/.csv/", $file)) 
14            {
15                                $path = CONCOURS_RESULT_FOLDER . $file;
16                                if (!is_dir($path) and !is_link($path)) 
17                                {
18                                        $concours_info = get_info_concours_from_csvfile($file);
19                                        $csvfile[$file] = array(
20                                                'name' => $file,
21                                                'link' => $path,
22                                                'conc_id' => (isset($concours_info['conc_id']) ? $concours_info['conc_id'] : "0"),
23                                                'conc_name' => (isset($concours_info['conc_name']) ? $concours_info['conc_name'] : "N/A"),
24                                                'conc_descr' => (isset($concours_info['conc_descr']) ? $concours_info['conc_descr'] : "N/A")
25                                                );
26
27        // Try to search on database if the concours is already present to recover name ans description                                 
28                                }
29                        }
30                }
31                closedir($dir);
32                uasort($csvfile, 'name_compare');
33        }
34        return $csvfile;
35}
36
37// Get name and description of a concours with resulte file name
38function get_info_concours_from_csvfile($csvfile = "")
39{
40
41        $query = 'SELECT id_concours as conc_id, CONC.name as conc_name, CONC.descr as conc_descr'
42        .' FROM ' .CONCOURS_RESULT_TABLE
43        .' INNER JOIN '.CONCOURS_TABLE.' AS CONC ON CONC.id = id_concours'
44        .' WHERE file_name = "'.$csvfile .'"'
45        .';';
46
47        $result = pwg_query($query);
48        if ($result)
49                return mysql_fetch_assoc($result);
50        else
51                return false;
52       
53}
54
55
56// check if a result is already present in the database
57function has_result($concours_id)
58{
59        // recover all img_id from the category
60        $query = 'SELECT DISTINCT(id_concours)'
61        .' FROM ' .CONCOURS_RESULT_TABLE
62        .' WHERE id_concours = '.$concours_id .';';
63       
64        $result = pwg_query($query);
65        // For each images
66        if (mysql_fetch_assoc($result))
67                return true;
68        else
69                return false;
70
71}
72// check if a file is already generated and return the link
73function has_file($concours_id)
74{
75        // recover all img_id from the category
76        $query = 'SELECT DISTINCT(file_name)'
77        .' FROM ' .CONCOURS_RESULT_TABLE
78        .' WHERE id_concours = '.$concours_id .';';
79       
80        $result = pwg_query($query);
81        // For each images
82        if ($row = mysql_fetch_assoc($result))
83                return $row['file_name'];
84        else
85                return false;
86
87}
88
89
90// Get list of inactive concours
91// return array with concours id
92function get_inactive_concours()
93{
94        $concours_list=array();
95        $query = '
96                SELECT *
97                FROM ' . CONCOURS_TABLE .'
98                WHERE time_to_sec(TIMEDIFF(begin_date, now())) > 0
99                ;';
100
101        $result = pwg_query($query);
102//echo $query;
103        while ($row = mysql_fetch_assoc($result))
104        {
105                array_push($concours_list, $row);
106        }
107        return $concours_list;
108}
109
110// Get list of active concours
111// return array with concours id
112function get_active_concours()
113{
114        $concours_list=array();
115        $query = '
116                SELECT *
117                FROM ' . CONCOURS_TABLE .'
118                WHERE time_to_sec(TIMEDIFF(begin_date, now())) < 0
119                AND time_to_sec(TIMEDIFF(now(), end_date)) < 0
120                ;';
121
122        $result = pwg_query($query);
123//echo $query;
124        while ($row = mysql_fetch_assoc($result))
125        {
126                array_push($concours_list, $row);
127        }
128        return $concours_list;
129}
130
131// Get list of closed concours
132// return array with concours id
133function get_closed_concours()
134{
135        $concours_list=array();
136        $query = '
137                SELECT *
138                FROM ' . CONCOURS_TABLE .'
139                WHERE time_to_sec(TIMEDIFF(now(), end_date)) > 0 '
140//              .'AND id != 0'
141                .';';
142
143        $result = pwg_query($query);
144//echo $query;
145        while ($row = mysql_fetch_assoc($result))
146        {
147                array_push($concours_list, $row);
148        }
149        return $concours_list;
150}
151
152
153function get_html_groups_selection(
154  $groups,
155  $fieldname,
156  $selecteds = array()
157  )
158{
159  global $conf;
160  if (count ($groups) == 0 )
161  {
162    return '';
163  }
164  $output = '<div id="'.$fieldname.'">';
165  $id = 1;
166  foreach ($groups as $group)
167  {
168    $output.=
169
170      '<input type="checkbox" name="'.$fieldname.'[]"'
171      .' id="group_'.$id++.'"'
172      .' value="'.$group['id'].'"'
173      ;
174
175    if (in_array($group['id'], $selecteds))
176    {
177      $output.= ' checked="checked"';
178    }
179
180    $output.=
181      '><label>'
182      .'&nbsp;'. $group['name']
183      .'</label>'
184      ."\n"
185      ;
186  }
187  $output.= '</div>';
188
189  return $output;
190}
191
192
193function get_all_groups()
194{
195$query = '
196SELECT id, name
197  FROM '.GROUPS_TABLE.'
198  ORDER BY name ASC
199;';
200$result = pwg_query($query);
201
202$groups = array();
203  while ($row = mysql_fetch_assoc($result))
204  {
205    array_push($groups, $row);
206  }
207
208  uasort($groups, 'name_compare');
209  return $groups;
210}
211
212?>
Note: See TracBrowser for help on using the repository browser.