source: trunk/team.php@ 258

Last change on this file since 258 was 252, checked in by maron, 16 years ago

Oprava a možnost zrušení vyhledáváného výrazuv týmech

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