source: trunk/team.php@ 248

Last change on this file since 248 was 248, checked in by george, 16 years ago
  • Opraveno: Odkaz ke vstupu do týmu při zobrazení týmu.
  • Opraveno: Kontrola existence týmu se stejným jménem.
  • Opraveno: Nezobrazovat odkaz na vytvoření týmu neregistrovaným uživatelům.
File size: 7.6 KB
Line 
1<?php
2
3include('includes/global.php');
4
5ShowPage();
6
7function ShowTeamList()
8{
9 global $Config, $Database;
10
11 echo('<h3>Seznam překladatelských týmů</h3>');
12
13 if(array_key_exists('Page', $_GET)) $_SESSION['Page'] = $_GET['Page'];
14 else if(!array_key_exists('Page', $_SESSION)) $_SESSION['Page'] = 1;
15 if(array_key_exists('Order', $_GET)) $_SESSION['Order'] = $_GET['Order'];
16 else if(!array_key_exists('Order', $_SESSION)) $_SESSION['Order'] = 'numberuser';
17 if(array_key_exists('Desc', $_GET)) $_SESSION['Desc'] = $_GET['Desc'];
18 else if(!array_key_exists('Desc', $_SESSION)) $_SESSION['Desc'] = '';
19 ListPaging('?Page=', 'team', '', $Config['Web']['ItemsPerPage'], $_SESSION['Page']);
20 echo('<table class="BaseTable">');
21
22 if(array_key_exists('search', $_GET)) $_SESSION['Where'] = ' WHERE `name` LIKE "%'.$_GET['search'].'%" OR `description` LIKE "%'.$_GET['search'].'%"';
23
24 /*
25 if(array_key_exists('team', $_GET))
26 {
27 $_SESSION['team'] = $_GET['team'];
28 if($_GET['team'] == '') $_SESSION['team'] = '';
29 } else if(!array_key_exists('team', $_SESSION)) $_SESSION['team'] = '';
30
31 if(is_numeric($_SESSION['team'])) $Where = ' WHERE '.$_SESSION['team'];
32 else $Where = '';
33
34 if(!is_numeric($_SESSION['team'])) echo(' <a href="?Where">Zrušit filtr týmů</a><br />');
35 */
36
37 $desc = $_SESSION['Desc'];
38 if($desc == '') $desc = 'DESC'; else $desc = '';
39
40 //ochrana proti špatným údajům v session z jiných tabulek
41 if(($_SESSION['Order'] <> 'name') and ($_SESSION['Order'] <> 'numberuser') and ($_SESSION['Order'] <> 'description'))
42 $_SESSION['Order'] = 'numberuser';
43/*
44
45 <th><a href="?Order=NumberTranslate&amp;Desc='.$desc.'" title="Počet přeložených textů">Přeložených</a></th>
46 <th><a href="?Order=XP&amp;Desc='.$desc.'">Úroveň</a></th>
47*/
48 echo('<tr><th><a href="?Order=name&amp;Desc='.$desc.'">Jméno</a></th>'.
49 '<th><a href="?Order=numberuser&amp;Desc='.$desc.'">Počet členů</a></th>');
50 if(Licence(LICENCE_USER)) echo('<th>Uživatelské akce</th>');
51 echo('</tr>');
52
53 $ID = $Database->SQLCommand('SELECT *, (SELECT COUNT(*) FROM user WHERE user.team = team.ID) AS numberuser FROM team ORDER BY '.$_SESSION['Order'].' '.$_SESSION['Desc'].' LIMIT '.($_SESSION['Page'] - 1) * $Config['Web']['ItemsPerPage'].','.$Config['Web']['ItemsPerPage']);
54 while($Line = mysql_fetch_assoc($ID))
55 {
56 echo('<tr>'.
57 '<td><a href="?action=team&amp;id='.$Line['ID'].'">'.$Line['name'].'</a></td>'.
58 '<td><a href="userlist.php?team='.$Line['ID'].'" title="Zobrazit členy týmu">'.$Line['numberuser'].'</a></td>');
59 if(Licence(LICENCE_USER)) echo ('<td><a href="?action=gointeam&amp;id='.$Line['ID'].'">Vstoupit do týmu</a></td>');
60 echo('</tr>');
61 }
62 echo('</table>');
63
64 ListPaging('?Page=', 'team', '', $Config['Web']['ItemsPerPage'], $_SESSION['Page']);
65 if(Licence(LICENCE_USER)) echo('<br /><div style="text-align: center;"><a href="?action=create">Vytvořit překladatelský tým</a></div>');
66}
67
68if(array_key_exists('action', $_GET))
69{
70 if($_GET['action'] == 'gointeam')
71 {
72 if(Licence(LICENCE_USER))
73 {
74 if(array_key_exists('id', $_GET))
75 {
76 $ID = $Database->SQLCommand('UPDATE user SET team = '.$_GET['id'].' WHERE ID = '.$_SESSION['UserID']);
77 echo('<strong>Vstoupil jsi do týmu</strong><br /><br />');
78 WriteLog('Uživatel vstoupil do týmu '.$_GET['id'], 3);
79
80 // Delete all teams without users
81 $Database->SQLCommand('DELETE FROM `team` WHERE (SELECT COUNT(*) FROM user WHERE user.team = team.ID) = 0');
82
83 ShowTeamList();
84 } else echo('Nutno zadat id týmu');
85 } else echo('Nemáte oprávnění');
86 } else
87 if($_GET['action'] == 'finish_create')
88 {
89 if(Licence(LICENCE_USER))
90 {
91 if(array_key_exists('name', $_POST) and array_key_exists('description', $_POST))
92 {
93 $DbResult = $Database->SQLCommand('SELECT COUNT(*) FROM `team` WHERE `name` = "'.trim($_POST['name']).'"');
94 $DbRow = mysql_fetch_row($DbResult);
95 $Count = $DbRow[0];
96 if($Count == 0)
97 {
98 $ID = $Database->SQLCommand('INSERT INTO `team` (`name` ,`description` ) VALUES ( \''.trim($_POST['name']).'\', \''.trim($_POST['description']).'\');');
99 $Database->SQLCommand('UPDATE user SET team = '.mysql_insert_id().' WHERE ID = '.$_SESSION['UserID']);
100 echo('<strong>Překladatelský tým vytvořen</strong><br /><br />');
101 WriteLog('Překladatelský tým vytvořen '.$_POST['name'], 3);
102
103 // Delete all teams without users
104 $Database->SQLCommand('DELETE FROM `team` WHERE (SELECT COUNT(*) FROM user WHERE user.team = team.ID) = 0');
105 } else echo('Již existuje tým se stejným jménem');
106 } else echo('Chybí údaje formuláře');
107 } else echo('Nemáte oprávnění');
108 ShowTeamList();
109 } else
110 if($_GET['action'] == 'create')
111 {
112 if(Licence(LICENCE_USER))
113 {
114 echo('<form action="?action=finish_create" method="post">'.
115 '<fieldset><legend>Vytvoření nového týmu</legend>'.
116 '<table><tr><td>Jméno:</td><td><input type="text" name="name" /></td></tr>'.
117 '<tr><td>Popis:</td><td><input type="text" name="description" /></td></tr>'.
118 '<tr><td colspan="2"><input type="submit" value="Vytvořit a vstoupit" /></td></tr>'.
119 '</table></fieldset></form>');
120 } else echo('Nemáte oprávnění');
121 } else
122 if($_GET['action'] == 'team') // Zobrazení týmu
123 {
124 if(array_key_exists('id', $_GET))
125 {
126 include('img_level.php');
127 $Columns = '';
128 $Joins = '';
129 foreach($TranslationTree as $Group)
130 if($Group['TablePrefix'] != '')
131 {
132 $Columns .= 'COALESCE(T'.$Group['Id'].'.Count, 0) + ';
133 $Joins .= ' LEFT JOIN (SELECT User, COUNT(User) as Count FROM `'.$Group['TablePrefix'].'` WHERE (Complete = 1) AND (Language <> 0) GROUP BY User) as T'.$Group['Id'].' ON user.ID=T'.$Group['Id'].'.User';
134 }
135
136 $Line = mysql_fetch_assoc($Database->SQLCommand('SELECT *,(SELECT count(*) FROM user WHERE team = team.ID) as numberuser, (SELECT sum('.substr($Columns, 0, -3).') FROM user '.$Joins.' WHERE team = team.ID) as NumberTranslate FROM team WHERE ID='.$_GET['id']));
137
138 echo('<strong>Překladatelský tým '.$Line['name'].'</strong><br />'.
139 $Line['description'].'<br /><br />'.
140 '<a href="export/?team='.$_GET['id'].'">Exportovat překlad týmu</a> ');
141 if(Licence(LICENCE_USER)) echo('<a href="?action=gointeam&amp;id='.$Line['ID'].'">Vstoupit do týmu</a><br /><br />');
142 echo('<fieldset><legend>Statistika</legend>'.
143 'Počet členů týmu: <a href="userlist.php?team='.$Line['ID'].'" title="Zobrazit členy týmu">'.$Line['numberuser'].'</a><br />'.
144 'Počet přeložených textů týmu: <strong>'.$Line['NumberTranslate'].'</strong><br />'.
145 'Průměrná úroveň překladatelů v týmu: <img src="tmp/teams/'.$Line['name'].'/level.png" /><br /><br />'.
146 '<strong>Stav dokončení pro tým:</strong><br />');
147 foreach($TranslationTree as $Group)
148 if($Group['TablePrefix'] != '')
149 echo('<div class="state-image"><img alt="'.$Group['TablePrefix'].'" src="img_statistic.php?group='.$Group['Id'].'&amp;team='.$_GET['id'].'" title="statistika překladů '.$Group['Name'].'"/></div>');
150 echo('</fieldset>');
151 } else echo('Musíte zadat id týmu');
152 } else ShowTeamList();
153} else ShowTeamList();
154
155ShowFooter();
156
157?>
Note: See TracBrowser for help on using the repository browser.