Changeset 247
- Timestamp:
- Jul 15, 2009, 1:36:32 PM (15 years ago)
- Location:
- trunk
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/includes/global.php
r222 r247 96 96 $Config['Web']['BaseURL'].'banners.php' => array(LICENCE_ANONYMOUS, 'Weby odkazující na tento projekt bennerem', 'Odkazují na nás'), 97 97 $Config['Web']['BaseURL'].'statistic.php' => array(LICENCE_ANONYMOUS, 'Stav dokončení překládů', 'Stav dokončení'), 98 $Config['Web']['BaseURL'].'userlist.php ' => array(LICENCE_ANONYMOUS, 'Seznam registrovaných uživatelů', 'Překladatelé'),98 $Config['Web']['BaseURL'].'userlist.php?action=nofilter' => array(LICENCE_ANONYMOUS, 'Seznam registrovaných uživatelů', 'Překladatelé'), 99 99 $Config['Web']['BaseURL'].'team.php' => array(LICENCE_ANONYMOUS, 'Seznam překladatelských týmů', 'Týmy'), 100 100 $Config['Web']['BaseURL'].'download.php' => array(LICENCE_ANONYMOUS, 'Zde si můžete stáhnout přeložené texty', 'Stahování'), -
trunk/includes/stream.php
r120 r247 21 21 public function OpenFile($FileName) 22 22 { 23 23 $this->FileName = $FileName; 24 24 $this->CloseFile(); 25 25 $this->Handle = fopen($FileName, 'rb'); … … 29 29 public function CreateFile($FileName) 30 30 { 31 31 $this->FileName = $FileName; 32 32 $this->CloseFile(); 33 33 $this->Handle = fopen($FileName, 'wb+'); … … 81 81 public function WriteUint($Value) 82 82 { 83 83 fwrite($this->Handle, pack('V*', $Value), 4); 84 84 } 85 85 86 86 public function WriteInt($Value) 87 87 { 88 88 fwrite($this->Handle, pack('I*', $Value), 4); 89 89 } 90 90 … … 101 101 public function WriteString($Value) 102 102 { 103 104 103 fwrite($this->Handle, $Value); 104 fwrite($this->Handle, "\0", 1); 105 105 } 106 106 … … 117 117 public function GetPosition() 118 118 { 119 119 return(ftell($this->Handle)); 120 120 } 121 121 122 122 public function GetSize() 123 123 { 124 124 return(filesize($this->FileName)); 125 125 } 126 126 127 127 public function EOF() 128 128 { 129 129 return(feof($this->Handle)); 130 130 } 131 131 } -
trunk/team.php
r198 r247 5 5 ShowPage(); 6 6 7 if(array_key_exists('gointeam', $_GET)) 8 { 9 if(Licence(LICENCE_USER)) 10 { 11 $ID = $Database->SQLCommand('UPDATE user SET team = '.$_GET['gointeam'].' WHERE ID = '.$_SESSION['UserID']); 12 13 echo('<strong>Vstoupil jsi do týmu</strong><br /><br />'); 14 WriteLog('Uživatel vstoupil do týmu '.$_GET['gointeam'], 3); 15 } 16 } 7 function ShowTeamList() 8 { 9 global $Config, $Database; 10 11 echo('<h3>Seznam překladatelských týmů</h3>'); 17 12 18 if(array_key_exists('name', $_POST)) 19 { 20 $ID = $Database->SQLCommand('INSERT INTO `team` (`name` ,`description` ) VALUES ( \''.$_POST['name'].'\', \''.$_POST['description'].'\');'); 21 22 echo('<strong>Překladatelský tým vytvořen</strong><br /><br />'); 23 WriteLog('Překladatelský tým vytvořen '.$_POST['name'], 3); 24 } else 25 { 26 if(array_key_exists('create', $_GET)) 27 { 28 echo('<form action="" method="post">'. 29 'Jméno: <input type="text" name="name" /><br />'. 30 'Popis: <input type="text" name="description" />'. 31 '<input type="submit" value="Uložit" /><br /><br /></form>'); 32 } 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">'); 33 21 34 if(array_key_exists('team', $_GET)) 35 { 36 //zobrazení týmu 37 include('img_level.php'); 38 $Columns = ''; 39 $Joins = ''; 40 foreach($TranslationTree as $Group) 41 if($Group['TablePrefix'] != '') 42 { 43 $Columns .= 'COALESCE(T'.$Group['Id'].'.Count, 0) + '; 44 $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'; 45 } 46 47 $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['team'])); 48 49 echo('<strong>Překladatelský tým '.$Line['name'].'</strong><br />'. 50 $Line['description'].'<br /><br />'. 51 '<a href="export/?team='.$_GET['team'].'">Exportovat překlad týmu</a> '); 52 if(Licence(LICENCE_USER)) echo('<a href="?gointeam='.$Line['ID'].'">Vstoupit do týmu</a><br /><br />'); 53 echo('<fieldset><legend>Statistika</legend>'. 54 'Počet členů týmu: <a href="userlist.php?Where=team='.$Line['ID'].'" title="Zobrazit členy týmu">'.$Line['numberuser'].'</a><br />'. 55 'Počet přeložených textů týmu: <strong>'.$Line['NumberTranslate'].'</strong><br />'. 56 'Průměrná úroveň překladatelů v týmu: <img src="tmp/teams/'.$Line['name'].'/level.png" /><br /><br />'. 57 '<strong>Stav dokončení pro tým:</strong><br />'); 58 foreach($TranslationTree as $Group) 59 if($Group['TablePrefix'] != '') 60 echo('<div class="state-image"><img alt="'.$Group['TablePrefix'].'" src="img_statistic.php?group='.$Group['Id'].'&team='.$_GET['team'].'" title="statistika překladů '.$Group['Name'].'"/></div>'); 61 echo('</fieldset>'); 62 } else 63 { 64 echo('<h3>Seznam překladatelských týmů</h3>'); 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 = ''; 65 33 66 if(array_key_exists('Page', $_GET)) $_SESSION['Page'] = $_GET['Page']; 67 else if(!array_key_exists('Page', $_SESSION)) $_SESSION['Page'] = 1; 68 if(array_key_exists('Order', $_GET)) $_SESSION['Order'] = $_GET['Order']; 69 else if(!array_key_exists('Order', $_SESSION)) $_SESSION['Order'] = 'numberuser'; 70 if(array_key_exists('Desc', $_GET)) $_SESSION['Desc'] = $_GET['Desc']; 71 else if(!array_key_exists('Desc', $_SESSION)) $_SESSION['Desc'] = ''; 72 ListPaging('?Page=', 'team', '', $Config['Web']['ItemsPerPage'], $_SESSION['Page']); 73 echo('<table class="BaseTable">'); 74 75 if(array_key_exists('search', $_GET)) $_SESSION['Where'] = ' WHERE `name` LIKE "%'.$_GET['search'].'%" OR `description` LIKE "%'.$_GET['search'].'%"'; 76 if(array_key_exists('Where', $_GET)) 77 { 78 $_SESSION['Where'] = ' WHERE '.$_GET['Where']; 79 if($_GET['Where'] == '') $_SESSION['Where'] = ''; 80 } else if(!array_key_exists('Where', $_SESSION)) $_SESSION['Where'] = ''; 81 82 if($_SESSION['Where'] <> '') echo(' <a href="?Where">Zrušit filtr týmů</a><br />'); 34 if(!is_numeric($_SESSION['team'])) echo(' <a href="?Where">Zrušit filtr týmů</a><br />'); 35 */ 83 36 84 37 $desc = $_SESSION['Desc']; … … 94 47 */ 95 48 echo('<tr><th><a href="?Order=name&Desc='.$desc.'">Jméno</a></th>'. 96 49 '<th><a href="?Order=numberuser&Desc='.$desc.'">Počet členů</a></th>'); 97 50 if(Licence(LICENCE_USER)) echo('<th>Uživatelské akce</th>'); 98 51 echo('</tr>'); 99 52 100 $ID = $Database->SQLCommand('SELECT *, (SELECT count(*) FROM user WHERE team = team.ID) as numberuser FROM team '.$_SESSION['Where'].'ORDER BY '.$_SESSION['Order'].' '.$_SESSION['Desc'].' LIMIT '.($_SESSION['Page'] - 1) * $Config['Web']['ItemsPerPage'].','.$Config['Web']['ItemsPerPage']);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']); 101 54 while($Line = mysql_fetch_assoc($ID)) 102 55 { 103 56 echo('<tr>'. 104 '<td><a href="? team='.$Line['ID'].'">'.$Line['name'].'</a></td>'.105 '<td><a href="userlist.php? Where=team='.$Line['ID'].'" title="Zobrazit členy týmu">'.$Line['numberuser'].'</a></td>');106 if(Licence(LICENCE_USER)) echo ('<td><a href="? gointeam='.$Line['ID'].'">Vstoupit do týmu</a></td>');107 57 '<td><a href="?action=team&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&id='.$Line['ID'].'">Vstoupit do týmu</a></td>'); 60 echo('</tr>'); 108 61 } 109 62 echo('</table>'); 110 63 111 64 ListPaging('?Page=', 'team', '', $Config['Web']['ItemsPerPage'], $_SESSION['Page']); 112 echo('<br /><div style="text-align: center;"><a href="?create">Vytvořit překladatelský tým</a></div>'); 113 } 65 echo('<br /><div style="text-align: center;"><a href="?action=create">Vytvořit překladatelský tým</a></div>'); 114 66 } 67 68 if(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 $ID = $Database->SQLCommand('INSERT INTO `team` (`name` ,`description` ) VALUES ( \''.$_POST['name'].'\', \''.$_POST['description'].'\');'); 94 $Database->SQLCommand('UPDATE user SET team = '.mysql_insert_id().' WHERE ID = '.$_SESSION['UserID']); 95 echo('<strong>Překladatelský tým vytvořen</strong><br /><br />'); 96 WriteLog('Překladatelský tým vytvořen '.$_POST['name'], 3); 97 98 // Delete all teams without users 99 $Database->SQLCommand('DELETE FROM `team` WHERE (SELECT COUNT(*) FROM user WHERE user.team = team.ID) = 0'); 100 } else echo('Chybí údaje formuláře'); 101 } else echo('Nemáte oprávnění'); 102 ShowTeamList(); 103 } else 104 if($_GET['action'] == 'create') 105 { 106 if(Licence(LICENCE_USER)) 107 { 108 echo('<form action="?action=finish_create" method="post">'. 109 '<fieldset><legend>Vytvoření nového týmu</legend>'. 110 '<table><tr><td>Jméno:</td><td><input type="text" name="name" /></td></tr>'. 111 '<tr><td>Popis:</td><td><input type="text" name="description" /></td></tr>'. 112 '<tr><td colspan="2"><input type="submit" value="Vytvořit a vstoupit" /></td></tr>'. 113 '</table></fieldset></form>'); 114 } else echo('Nemáte oprávnění'); 115 } else 116 if($_GET['action'] == 'team') // Zobrazení týmu 117 { 118 if(array_key_exists('id', $_GET)) 119 { 120 include('img_level.php'); 121 $Columns = ''; 122 $Joins = ''; 123 foreach($TranslationTree as $Group) 124 if($Group['TablePrefix'] != '') 125 { 126 $Columns .= 'COALESCE(T'.$Group['Id'].'.Count, 0) + '; 127 $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'; 128 } 129 130 $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'])); 131 132 echo('<strong>Překladatelský tým '.$Line['name'].'</strong><br />'. 133 $Line['description'].'<br /><br />'. 134 '<a href="export/?team='.$_GET['id'].'">Exportovat překlad týmu</a> '); 135 if(Licence(LICENCE_USER)) echo('<a href="?gointeam='.$Line['ID'].'">Vstoupit do týmu</a><br /><br />'); 136 echo('<fieldset><legend>Statistika</legend>'. 137 'Počet členů týmu: <a href="userlist.php?team='.$Line['ID'].'" title="Zobrazit členy týmu">'.$Line['numberuser'].'</a><br />'. 138 'Počet přeložených textů týmu: <strong>'.$Line['NumberTranslate'].'</strong><br />'. 139 'Průměrná úroveň překladatelů v týmu: <img src="tmp/teams/'.$Line['name'].'/level.png" /><br /><br />'. 140 '<strong>Stav dokončení pro tým:</strong><br />'); 141 foreach($TranslationTree as $Group) 142 if($Group['TablePrefix'] != '') 143 echo('<div class="state-image"><img alt="'.$Group['TablePrefix'].'" src="img_statistic.php?group='.$Group['Id'].'&team='.$_GET['id'].'" title="statistika překladů '.$Group['Name'].'"/></div>'); 144 echo('</fieldset>'); 145 } else echo('Musíte zadat id týmu'); 146 } else ShowTeamList(); 147 } else ShowTeamList(); 148 115 149 ShowFooter(); 116 150 -
trunk/userlist.php
r199 r247 19 19 $_SESSION['Where'] = ' WHERE `user`.`user` LIKE "%'.$_GET['search'].'%"'; 20 20 } 21 if(array_key_exists(' Where', $_GET))21 if(array_key_exists('team', $_GET)) 22 22 { 23 $_SESSION['Where'] = ' WHERE '.$_GET['Where'];24 if($_GET[' Where'] == '') $_SESSION['Where'] = '';23 $_SESSION['Where'] = ' WHERE team='.$_GET['team']; 24 if($_GET['team'] == '') $_SESSION['Where'] = ''; 25 25 } 26 26 else if(!array_key_exists('Where', $_SESSION)) $_SESSION['Where'] = ''; 27 27 28 if($_SESSION['Where'] <> '') echo(' <a href="?Where">Zrušit filtr uživatelů</a><br />'); 28 if(array_key_exists('action', $_GET)) 29 { 30 if($_GET['action'] == 'nofilter') $_SESSION['Where'] = ''; 31 } 32 //if($_SESSION['Where'] <> '') echo(' <a href="?action=nofilter">Zrušit filtr uživatelů</a><br />'); 29 33 30 34 ListPaging('?Page=', 'user', $_SESSION['Where'], $Config['Web']['ItemsPerPage'], $_SESSION['Page']); … … 49 53 if($Group['TablePrefix'] != '') 50 54 { 51 55 $Columns .= 'COALESCE(T'.$Group['Id'].'.Count, 0) + '; 52 56 $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'; 53 57 }
Note:
See TracChangeset
for help on using the changeset viewer.