Changeset 826 for trunk/Modules
- Timestamp:
- Mar 1, 2015, 3:38:19 PM (10 years ago)
- Location:
- trunk/Modules
- Files:
-
- 8 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/Modules/Export/ProcessTask.php
r816 r826 10 10 11 11 //LoadCommandLineParameters(); 12 $System = new System(); 13 $System->DoNotShowPage = true; 14 $System->Run(); 15 16 function SetProgress($Export,$per) { 12 $System = new System(); 13 $System->DoNotShowPage = true; 14 $System->Run(); 15 16 function SetProgress($Export, $Progress) 17 { 17 18 global $System; 18 $System->Database->query('UPDATE `ExportTask` SET `Progress`='.$per.' WHERE `Export`='.$Export->Id); 19 } 20 19 20 $System->Database->query('UPDATE `ExportTask` SET `Progress`='.$Progress.' WHERE `Export`='.$Export->Id); 21 } 21 22 22 23 function DeleteOldFiles($deldir) 23 24 { 24 25 26 27 28 29 30 31 32 33 34 } 35 36 function rcopy($src, $dst){25 if(file_exists($deldir.'/')) 26 { 27 $Dir = opendir($deldir.'/') ; 28 while(($File = readdir($Dir)) !== false) 29 { 30 if(($File != '..') and ($File != '.') and (!is_dir("$File"))) unlink($deldir.'/'.$File); 31 } 32 closedir($Dir); 33 } 34 } 35 36 function rcopy($src, $dst) 37 { 37 38 // echo $src.' '.$dst."\n"; 38 39 if (file_exists($dst)) DeleteOldFiles($dst); … … 46 47 } 47 48 48 function GetWinZPatch($patch) { 49 function GetWinZPatch($patch) 50 { 49 51 //TMP="Z:\\a\\www\\wowpreklad\\tmp\\Export\\${EXPORTID}\\" 50 52 $patch = str_replace(DIRECTORY_SEPARATOR,'\\',$patch); … … 53 55 } 54 56 55 function MPQPack($packdir) {56 57 function MPQPack($packdir) 58 { 57 59 if(file_exists($packdir.DIRECTORY_SEPARATOR)) 58 60 { -
trunk/Modules/Team/Team.php
r816 r826 30 30 } 31 31 32 include_once(dirname(__FILE__).'/../../img_level.php');33 34 32 class PageTeam extends Page 35 33 { … … 60 58 61 59 $TableColumns = array( 62 63 64 65 66 60 array('Name' => 'Name', 'Title' => T('Name')), 61 array('Name' => 'URL', 'Title' => T('Web pages')), 62 array('Name' => 'LeaderName', 'Title' => T('Leader')), 63 array('Name' => 'NumberUser', 'Title' => T('Member count')), 64 array('Name' => 'TimeCreate', 'Title' => T('Founding date')), 67 65 ); 68 66 if($this->System->User->Licence(LICENCE_USER)) $TableColumns[] = array('Name' => '', 'Title' => T('User actions')); … … 77 75 { 78 76 $Output .= '<tr>'. 79 80 81 82 83 77 '<td><a href="?action=team&id='.$Team['Id'].'">'.$Team['Name'].'</a></td>'. 78 '<td><a href="http://'.$Team['URL'].'">'.$Team['URL'].'</a></td>'. 79 '<td><a href="'.$this->System->Link('/user.php?user='.$Team['Leader']).'">'.$Team['LeaderName'].'</a></td>'. 80 '<td><a href="'.$this->System->Link('/userlist.php?team='.$Team['Id']).'" title="Zobrazit členy týmu">'.$Team['NumberUser'].'</a></td>'. 81 '<td>'.HumanDate($Team['TimeCreate']).'</td>'; 84 82 if($this->System->User->Licence(LICENCE_USER)) 85 83 { … … 92 90 } 93 91 $Output .= '</table>'. 94 92 $PageList['Output']; 95 93 96 94 return($Output); … … 132 130 { 133 131 $this->Database->query('INSERT INTO `Team` (`Name` ,`Description`, `URL`, `TimeCreate`, `Leader`)'. 134 135 132 ' VALUES ("'.trim($_POST['Name']).'", "'.trim($_POST['Description']).'", "'. 133 $_POST['URL'].'", NOW(), '.$this->System->User->Id.')'); 136 134 $this->Database->query('UPDATE `User` SET `Team` = '.$this->Database->insert_id.' WHERE `ID` = '.$this->System->User->Id); 137 135 $Output .= ShowMessage('Překladatelský tým vytvořen.'); … … 158 156 $Team = $DbResult->fetch_assoc(); 159 157 $Output = '<form action="?action=finish_modify&id='.$_GET['id'].'" method="post">'. 160 161 162 163 164 165 158 '<fieldset><legend>Nastavení týmu</legend>'. 159 '<table><tr><td>Jméno:</td><td><input type="text" name="Name" value="'.$Team['Name'].'"/></td></tr>'. 160 '<tr><td>Webové stránky:</td><td>http://<input type="text" name="URL" value="'.$Team['URL'].'"/></td></tr>'. 161 '<tr><td>Popis:</td><td><input type="text" name="Description" value="'.$Team['Description'].'"/></td></tr>'. 162 '<tr><td colspan="2"><input type="submit" value="Uložit" /></td></tr>'. 163 '</table></fieldset></form>'; 166 164 } else $Output = ShowMesage('Tým nenalezen.', MESSAGE_CRITICAL); 167 165 } else $Output = ShowMessage('Nezadáno id týmu', MESSAGE_CRITICAL); … … 202 200 { 203 201 $Output ='<form action="?action=finish_create" method="post">'. 204 205 206 207 208 209 202 '<fieldset><legend>Vytvoření nového týmu</legend>'. 203 '<table><tr><td>Jméno:</td><td><input type="text" name="Name" /></td></tr>'. 204 '<tr><td>Webové stránky:</td><td>http://<input type="text" name="URL" value=""/></td></tr>'. 205 '<tr><td>Popis:</td><td><input type="text" name="Description" /></td></tr>'. 206 '<tr><td colspan="2"><input type="submit" value="Vytvořit a vstoupit" /></td></tr>'. 207 '</table></fieldset></form>'; 210 208 } else $Output = ShowMessage(T('Access denied'), MESSAGE_CRITICAL); 211 209 return($Output); … … 217 215 if(array_key_exists('id', $_GET) and is_numeric($_GET['id'])) 218 216 { 219 ImgLevelUpdate();220 221 217 $DbResult = $this->Database->query('SELECT `Id`, `Name`, `Description`, `URL`, `Leader`, '. 222 '(SELECT COUNT(*) FROM `User` WHERE '. 223 '`Team` = `Team`.`Id`) AS `NumberUser`, (SELECT SUM(`TranslatedCount`) FROM `User` WHERE '. 224 '`Team` = `Team`.`Id`) AS `NumberTranslate` FROM '. 225 '`Team` WHERE `Id`='.($_GET['id'] * 1)); 218 '(SELECT COUNT(*) FROM `User` WHERE '. 219 '`Team` = `Team`.`Id`) AS `NumberUser`, '. 220 '(SELECT SUM(`TranslatedCount`) FROM `User` WHERE `Team` = `Team`.`Id`) AS `NumberTranslate`, '. 221 '(SELECT ROUND(AVG(`XP`)) FROM `User` WHERE `Team` = `Team`.`Id`) AS `AverageXP` FROM '. 222 '`Team` WHERE `Id`='.($_GET['id'] * 1)); 226 223 if($DbResult->num_rows > 0) 227 224 { … … 233 230 } else $Leader = array('Name' => '', 'Id' => 0); 234 231 235 $Output .='<strong>Překladatelský tým '.$Team['Name'].'</strong><br />'. 236 'Webové stránky: <a href="http://'.$Team['URL'].'">'.$Team['URL'].'</a><br/>'. 237 'Vedoucí: <a href="'.$this->System->Link('/user.php?user='.$Leader['Id']).'">'.$Leader['Name'].'</a><br/>'. 238 'Popis: '.$Team['Description'].'<br /><br />'; 232 $Output .='<h3>Překladatelský tým '.$Team['Name'].'</h3><br />'. 233 'Webové stránky: <a href="http://'.$Team['URL'].'">'.$Team['URL'].'</a><br/>'. 234 'Vedoucí: <a href="'.$this->System->Link('/user.php?user='.$Leader['Id']).'">'.$Leader['Name'].'</a><br/>'; 235 if($Team['Description'] != '') 236 $Output .= 'Popis: '.$Team['Description'].'<br />'; 237 $Output .= '<br />'; 239 238 //$Output .= '<a href="export/?team='.$Team['Id'].'">Exportovat překlad týmu</a> '; 240 239 if($this->System->User->Licence(LICENCE_USER)) 241 240 $Output .='<a href="?action=gointeam&id='.$Team['Id'].'">Vstoupit do týmu</a><br /><br />'; 241 $XP = GetLevelMinMax($Team['AverageXP']); 242 242 $Output .='<fieldset><legend>Statistika</legend>'. 243 'Počet členů týmu: <a href="'.$this->System->Link('/userlist.php?team='.$Team['Id']).'" title="Zobrazit členy týmu">'.$Team['NumberUser'].'</a><br />'. 244 'Počet přeložených textů týmu: <strong>'.$Team['NumberTranslate'].'</strong><br />'. 245 'Průměrná úroveň překladatelů v týmu: <img src="'.$this->System->Link('/tmp/team/'.$Team['Name'].'/level.png').'" /><br /><br />'. 246 '<strong>Stav dokončení týmu pro verzi '.$this->System->Config['Web']['GameVersion'].'</strong><br />'; 243 'Počet členů týmu: <a href="'.$this->System->Link('/userlist.php?team='.$Team['Id']).'" title="Zobrazit členy týmu">'.$Team['NumberUser'].'</a><br />'. 244 'Počet přeložených textů týmu: <strong>'.$Team['NumberTranslate'].'</strong><br />'. 245 'Průměrná úroveň překladatelů v týmu: <strong>'.$XP['Level'].'</strong> zkušenost: '.ProgressBar(150, round($XP['XP'] / $XP['MaxXP'] * 100, 2), $XP['XP'].' / '.$XP['MaxXP']).'<br />'. 246 '<br />'. 247 '<strong>Stav dokončení týmu pro verzi '.$this->System->Config['Web']['GameVersion'].'</strong><br />'; 247 248 248 249 $BuildNumber = GetBuildNumber($this->System->Config['Web']['GameVersion']); … … 256 257 { 257 258 $Query .= 'SELECT (SELECT COUNT(DISTINCT(`Entry`)) FROM ('. 258 259 260 261 262 263 264 265 266 267 259 'SELECT `T`.`Entry` FROM `'.$DbRow['TablePrefix'].'` AS `T` '. 260 'WHERE (`User` IN (SELECT `ID` FROM `User` WHERE `Team` = '.$Team['Id'].')) '. 261 'AND (`Complete` = 1) AND (`T`.`Language`!='.$this->System->Config['OriginalLanguage'].') '. 262 'AND (`VersionStart` <= '.$BuildNumber.') AND (`VersionEnd` >= '.$BuildNumber.')'. 263 ') AS `C1`) AS `Translated`, '. 264 '(SELECT COUNT(DISTINCT(`Entry`)) FROM ('. 265 'SELECT `T`.`Entry` FROM `'.$DbRow['TablePrefix'].'` AS `T` '. 266 'WHERE (`Language` = '.$this->System->Config['OriginalLanguage'].') '. 267 'AND (`VersionStart` <= '.$BuildNumber.') AND (`VersionEnd` >= '.$BuildNumber.')'. 268 ') AS `C2`) AS `Total`, "'.$DbRow['Name'].'" AS `Name` UNION '; 268 269 } 269 270 $Query = substr($Query, 0, - 6); … … 276 277 $Output .='<table class="BaseTable">'; 277 278 $TableColumns = array( 278 279 280 281 279 array('Name' => 'Name', 'Title' => 'Jméno'), 280 array('Name' => 'Translated', 'Title' => 'Přeložených'), 281 array('Name' => 'Total', 'Title' => 'Anglických'), 282 array('Name' => 'Percent', 'Title' => 'Procenta'), 282 283 ); 283 284 -
trunk/Modules/Translation/Form.php
r821 r826 203 203 $Output .= '</td></tr>'; 204 204 205 // todojavascript205 // TODO: javascript 206 206 207 207 $Output .= '<script src="'.$this->System->Link('/style/jquery.js').'"></script>'. … … 238 238 239 239 $Output .= '<br/><table class="BaseTable">'. 240 '<tr><th> Překladač:</th><th>Nepřeložené</th><th>Přeložené</th>';240 '<tr><th>Google překladač:</th><th>Nepřeložené</th><th>Přeložené</th>'; 241 241 foreach($TranslationTree[$GroupId]['Items'] as $Index => $TextItem) 242 242 if($TextItem['Visible'] == 1) … … 245 245 '<td>'.$LineAJ[$TextItem['Column']].'</td>'. 246 246 '<td>'.GetTranslateGoogle($LineAJ[$TextItem['Column']]).'</td></tr>'; 247 248 247 249 248 $Output .= '</table>'; -
trunk/Modules/Translation/Progress.php
r816 r826 19 19 { 20 20 $Query .= 'SELECT (SELECT COUNT(DISTINCT(`Entry`)) FROM ('. 21 22 23 24 25 26 27 28 29 21 'SELECT `T`.`Entry` FROM `'.$DbRow['TablePrefix'].'` AS `T` '. 22 'WHERE (`Complete` = 1) '.$LanguageFilter.' '. 23 'AND (`VersionStart` <= '.$BuildNumber.') AND (`VersionEnd` >= '.$BuildNumber.')'. 24 ') AS `C1`) AS `Translated`, '. 25 '(SELECT COUNT(DISTINCT(`Entry`)) FROM ('. 26 'SELECT `T`.`Entry` FROM `'.$DbRow['TablePrefix'].'` AS `T` '. 27 'WHERE (`Language` = '.$this->System->Config['OriginalLanguage'].') '. 28 'AND (`VersionStart` <= '.$BuildNumber.') AND (`VersionEnd` >= '.$BuildNumber.')'. 29 ') AS `C2`) AS `Total`, "'.$DbRow['Name'].'" AS `Name` UNION '; 30 30 } 31 31 $Query = substr($Query, 0, - 6); … … 38 38 $Output .= '<table class="BaseTable">'; 39 39 $TableColumns = array( 40 41 42 43 40 array('Name' => 'Name', 'Title' => 'Jméno'), 41 array('Name' => 'Translated', 'Title' => 'Přeložených'), 42 array('Name' => 'Total', 'Title' => 'Anglických'), 43 array('Name' => 'Percent', 'Title' => 'Procenta'), 44 44 ); 45 45 … … 67 67 { 68 68 $this->Title = T('Progress'); 69 $LanguageList = GetLanguageList();69 $LanguageList = GetLanguageList(); 70 70 71 if(array_key_exists('Version', $_GET)) $_SESSION['StatVersion'] = $_GET['Version']; 72 if(!array_key_exists('StatVersion', $_SESSION)) 73 { 74 if($this->System->User->Licence(LICENCE_USER) and ($this->System->User->PreferredVersionGame != '')) 75 { 76 $_SESSION['StatVersion'] = $this->System->User->PreferredVersionGame; 77 } else 78 $_SESSION['StatVersion'] = $this->System->Config['Web']['GameVersion']; 79 } 71 if(array_key_exists('Version', $_GET)) $_SESSION['StatVersion'] = $_GET['Version']; 72 if(!array_key_exists('StatVersion', $_SESSION)) 73 { 74 if($this->System->User->Licence(LICENCE_USER) and ($this->System->User->PreferredVersionGame != '')) 75 { 76 $_SESSION['StatVersion'] = $this->System->User->PreferredVersionGame; 77 } else { 78 $_SESSION['StatVersion'] = $this->System->Config['Web']['GameVersion']; 79 } 80 } 80 81 81 if(!isset($_SESSION['language'])) 82 { 83 if($this->System->User->Licence(LICENCE_USER)) 84 { 85 $_SESSION['language'] = $this->System->User->Language; 86 } else $_SESSION['language'] = ''; 87 } 88 if(array_key_exists('language', $_GET)) { 89 if($_GET['language'] == '') $_SESSION['language'] = ''; 90 else { 91 $_SESSION['language'] = $_GET['language'] * 1; 82 if(!isset($_SESSION['language'])) 83 { 84 if($this->System->User->Licence(LICENCE_USER)) 85 { 86 $_SESSION['language'] = $this->System->User->Language; 87 } else { 88 $_SESSION['language'] = ''; 89 } 92 90 } 93 } 94 if(!array_key_exists($_SESSION['language'], $LanguageList)) $_SESSION['language'] = ''; 91 if(array_key_exists('language', $_GET)) 92 { 93 if($_GET['language'] == '') { 94 $_SESSION['language'] = ''; 95 } else { 96 $_SESSION['language'] = $_GET['language'] * 1; 97 } 98 } 99 if(!array_key_exists($_SESSION['language'], $LanguageList)) $_SESSION['language'] = ''; 95 100 96 // Show client version selection97 $Output = 'Verze klienta: ';98 $DbResult = $this->Database->query('SELECT `Version`, `Title` FROM `ClientVersion` WHERE `Imported`=1 ORDER BY `Version`');99 while($DbRow = $DbResult->fetch_assoc())100 $Output .= '<a href="?Version='.$DbRow['Version'].'" title="'.$DbRow['Title'].'">'.$DbRow['Version'].'</a> ';101 $Output .= '<br/>';101 // Show client version selection 102 $Output = 'Verze klienta: '; 103 $DbResult = $this->Database->query('SELECT `Version`, `Title` FROM `ClientVersion` WHERE `Imported`=1 ORDER BY `Version`'); 104 while($DbRow = $DbResult->fetch_assoc()) 105 $Output .= '<a href="?Version='.$DbRow['Version'].'" title="'.$DbRow['Title'].'">'.$DbRow['Version'].'</a> '; 106 $Output .= '<br/>'; 102 107 103 // Show language selection104 $Output .= 'Jazyk: ';105 $Lang = '<a href="?language=">Všechny</a>';106 if($_SESSION['language'] == '') $Output .= '<strong>'.$Lang.'</strong> ';107 else $Output .= $Lang;108 foreach($LanguageList as $Language)109 if($Language['Enabled'] == 1)110 {111 $Lang = ' <a href="?language='.$Language['Id'].'">'.$Language['Name'].'</a>';112 if($Language['Id'] == $_SESSION['language']) $Output .= '<strong>'.$Lang.'</strong> ';113 else $Output .= $Lang;114 }108 // Show language selection 109 $Output .= 'Jazyk: '; 110 $Lang = '<a href="?language=">Všechny</a>'; 111 if($_SESSION['language'] == '') $Output .= '<strong>'.$Lang.'</strong> '; 112 else $Output .= $Lang; 113 foreach($LanguageList as $Language) 114 if($Language['Enabled'] == 1) 115 { 116 $Lang = ' <a href="?language='.$Language['Id'].'">'.$Language['Name'].'</a>'; 117 if($Language['Id'] == $_SESSION['language']) $Output .= '<strong>'.$Lang.'</strong> '; 118 else $Output .= $Lang; 119 } 115 120 116 if(is_numeric($_SESSION['language'])) $LanguageName = $LanguageList[$_SESSION['language']]['Name'];117 else $LanguageName = 'Všechny';118 $Output .= '<br/><br /><h3>Statistika dokončení překladů jazyka '.$LanguageName.' pro verzi '.$_SESSION['StatVersion'].'</h3><br/>';119 $Output .= $this->ShowStatTable();121 if(is_numeric($_SESSION['language'])) $LanguageName = $LanguageList[$_SESSION['language']]['Name']; 122 else $LanguageName = 'Všechny'; 123 $Output .= '<br/><br /><h3>Statistika dokončení překladů jazyka '.$LanguageName.' pro verzi '.$_SESSION['StatVersion'].'</h3><br/>'; 124 $Output .= $this->ShowStatTable(); 120 125 121 126 return($Output); -
trunk/Modules/Translation/Save.php
r816 r826 213 213 214 214 // Update flag for experience info load 215 $this->Database->query('UPDATE `User` SET `NeedUpdate` = 1 WHERE `ID` = '.$this->System->User->Id); 215 //$this->Database->query('UPDATE `User` SET `NeedUpdate` = 1 WHERE `ID` = '.$this->System->User->Id); 216 UserLevelUpdate($this->System->User->Id); 216 217 } else $Output .= ShowMessage('Položka nenalezena', MESSAGE_CRITICAL); 217 218 } else -
trunk/Modules/Translation/Translation.php
r816 r826 7 7 include_once(dirname(__FILE__).'/Progress.php'); 8 8 include_once(dirname(__FILE__).'/LoadNames.php'); 9 include_once(dirname(__FILE__).'/UserLevel.php'); 9 10 10 11 class ModuleTranslation extends AppModule -
trunk/Modules/Translation/UserLevel.php
r824 r826 7 7 $index_level = 100; 8 8 $from_diakrit = 3; // higher xp for word with diacritics 9 $FontFile = dirname(__FILE__).'/images/FRIZQT__.ttf';10 9 11 10 function CheckDiakrit($Word) … … 22 21 } 23 22 24 function CreateImg($prefix, $user, $xp)25 {26 global $index_level, $FontFile;27 28 if($xp > 0)29 {30 $level = sqrt($xp / $index_level);31 $level = substr($level, 0, strpos($level, '.'));32 } else $level = 0;33 $xp_min = $level * $level * $index_level;34 $xp_max = ($level + 1) * ($level + 1) * $index_level;35 $xp_max = $xp_max - $xp_min;36 $xp = $xp - $xp_min;37 38 if($xp_max > 0) $Percent = ( $xp / $xp_max) * 100;39 else $Percent = 0;40 $Percent = substr($Percent, 0, 5);41 42 $PercentBar = $Percent * 2.5;43 $Image = ImageCreateTrueColor(250, 15);44 $Color1 = imagecolorallocate($Image, 214, 214, 214);45 $Color2 = imagecolorallocate($Image, 239, 131, 166);46 $Color3 = imagecolorallocate($Image, 225, 0, 0);47 imagefilledrectangle($Image, 0, 0, 250, 15, $Color1);48 imagefilledrectangle($Image, 0, 0, $PercentBar, 59, $Color2);49 ImageTTFText($Image, 11, 0, 10, 12, $Color3, $FontFile, $level.' Level');50 ImageTTFText($Image, 8, 0, 80, 12, $Color3, $FontFile, $xp.'/'.$xp_max.' xp '.$user);51 52 if(!file_exists(dirname(__FILE__).'/tmp/'.$prefix.'/')) mkdir(dirname(__FILE__).'/tmp/'.$prefix.'/');53 if(!file_exists(dirname(__FILE__).'/tmp/'.$prefix.'/'.$user.'/')) mkdir(dirname(__FILE__).'/tmp/'.$prefix.'/'.$user.'/');54 ImagePNG($Image, dirname(__FILE__).'/tmp/'.$prefix.'/'.$user.'/level.png');55 }56 57 23 function GetXPFromTranslation($UserId) 58 24 { … … 67 33 foreach($TranslationTree[$Group['Id']]['Items'] as $Index => $TextItem) 68 34 { 69 35 $GroupBy .= '`'.$TextItem['Column'].'`, '; 70 36 } 71 37 $GroupBy = substr($GroupBy, 0, -2); 72 38 73 $IDtran = $System->Database->query('SELECT * FROM `'.$Group['TablePrefix'].'` WHERE (`User` = '.$UserId.') AND (`Complete` = 1) AND (`Take` IS NOT NULL) '.$GroupBy); 39 $IDtran = $System->Database->query('SELECT * FROM `'.$Group['TablePrefix'].'` WHERE '. 40 '(`User` = '.$UserId.') AND (`Complete` = 1) AND (`Take` IS NOT NULL) '.$GroupBy); 74 41 while($Line = $IDtran->fetch_array()) 75 42 { … … 80 47 foreach($TranslationTree[$Group['Id']]['Items'] as $Index => $TextItem) 81 48 { 82 if(($Line[$TextItem['Column']] <> $LineComparison[$TextItem['Column']]) and (strlen($Line[$TextItem['Column']]) > (strlen($LineComparison[$TextItem['Column']]) * 0.5))) 49 if(($Line[$TextItem['Column']] <> $LineComparison[$TextItem['Column']]) and 50 (strlen($Line[$TextItem['Column']]) > (strlen($LineComparison[$TextItem['Column']]) * 0.5))) 83 51 { 84 52 $TextArr = explode(' ', $Line[$TextItem['Column']]); … … 91 59 } else 92 60 { 93 if (($Line[$TextItem['Column']] == $LineComparison[$TextItem['Column']]) and ('0' == $LineComparison['Language']) and ($LineComparison[$TextItem['Column']] <> '') and ($TextItem['Column'] <> 'ShortCut')) $translated = false; 61 if (($Line[$TextItem['Column']] == $LineComparison[$TextItem['Column']]) and 62 ('0' == $LineComparison['Language']) and ($LineComparison[$TextItem['Column']] <> '') and 63 ($TextItem['Column'] <> 'ShortCut')) $translated = false; 94 64 } 95 65 } … … 101 71 } 102 72 103 function ImgLevelUpdate()73 function UserLevelUpdate($UserId) 104 74 { 105 75 global $System, $TranslationTree, $Config; 106 76 107 77 // Main code for users 108 $DbResult = $System->Database->query('SELECT `ID`, `Name` FROM `User` WHERE ` NeedUpdate` = 1');78 $DbResult = $System->Database->query('SELECT `ID`, `Name` FROM `User` WHERE `Id` = '.$UserId); 109 79 if($DbResult->num_rows > 0) 110 80 { … … 127 97 $xp = GetXPFromTranslation($LineUser['ID']); 128 98 $System->Database->query('UPDATE `User` SET `XP` = '.$xp.', `TranslatedCount` = '.$TranslatedCount.' WHERE `User`.`ID` = '.$LineUser['ID']); 129 CreateImg('user', $LineUser['Name'], $xp);130 99 } 131 132 // Main code for translation teams133 $DbResult = $System->Database->query('SELECT `ID`, `Name`, (SELECT AVG(`XP`) FROM `User` WHERE `Team` = `Team`.`Id`) AS `Average` '.134 'FROM `Team` WHERE `ID` IN (SELECT `Team` FROM `User` WHERE `NeedUpdate` = 1)');135 while($LineTeam = $DbResult->fetch_array())136 {137 CreateImg('team', $LineTeam['Name'], substr($LineTeam['Average'], 0, strpos($LineTeam['Average'],'.'))); //image creation138 }139 $System->Database->query('UPDATE `User` SET `NeedUpdate` = 0');140 100 } 141 101 } 142 143 function ImgLevelShow()144 {145 global $System;146 147 // Do update for all users148 $System->Database->query('UPDATE `User` SET `NeedUpdate` = 1');149 ImgLevelUpdate();150 151 $Output = '<strong>Uživatelé</strong><br/>';152 $ID = $System->Database->query('SELECT `ID`, `Name` FROM `User`');153 while($LineUser = $ID->fetch_array())154 {155 $Output .= '<img src="'.$System->Link('/tmp/user/'.$LineUser['Name'].'/level.png').'"/> '.$LineUser['Name'].'<br />';156 }157 158 $Output .= '<br/><strong>Týmy</strong><br/>';159 $ID = $System->Database->query('SELECT `ID`, `Name` FROM `Team`');160 while($LineTeam = $ID->fetch_array())161 {162 $Output .= '<img src="'.$System->Link('/tmp/team/'.$LineTeam['Name'].'/level.png').'"/> '.$LineTeam['Name'].'<br />';163 }164 WriteLog('Přegenerovány obrázky úrovní překladatelů a týmů', LOG_TYPE_ADMINISTRATION);165 return($Output);166 } -
trunk/Modules/User/Profile.php
r825 r826 13 13 $Subject = $_POST['subject']; 14 14 $Output = 'Email: <strong>'.$Email.'</strong><br />'. 15 'Předmět: <strong>'.$Subject.'</strong><br />'. 16 'Text: <strong>'.$Text.'</strong><br />'; 17 18 if(@mail($Email, $Subject, $Text, 'From: '.$this->System->Config['Web']['AdminEmail'].'\nReply-To: '.$this->System->Config['Web']['AdminEmail'].'\nX-Mailer: PHP/')) 15 'Předmět: <strong>'.$Subject.'</strong><br />'. 16 'Text: <strong>'.$Text.'</strong><br />'; 17 18 if(@mail($Email, $Subject, $Text, 'From: '.$this->System->Config['Web']['AdminEmail']. 19 '\nReply-To: '.$this->System->Config['Web']['AdminEmail'].'\nX-Mailer: PHP/')) 19 20 { 20 21 $Output .= ShowMessage(T('Message was sent')); … … 156 157 'Poslední připojení: <strong>'.HumanDateTime($UserLine['LastLogin']).'</strong><br />'. 157 158 'Počet přeložených: <a href="TranslationList.php?user='.$UserLine['ID'].'&state=2&group=0" title="Zobrazit Všechny jeho přeložené texty"><strong>'.$UserLine['TranslatedCount'].'</strong></a><br />'. 158 'Úroveň: <strong>'.$XP['Level'].'</strong><br/>'. 159 'Zkušenost: '.ProgressBar(150, round($XP['XP'] / $XP['MaxXP'] * 100, 2), $XP['XP'].' / '.$XP['MaxXP']).'<br/>'; 159 'Úroveň: <strong>'.$XP['Level'].'</strong> zkušenost: '.ProgressBar(150, round($XP['XP'] / $XP['MaxXP'] * 100, 2), $XP['XP'].' / '.$XP['MaxXP']).'<br/>'; 160 160 if($UserLine['TeamName'] != '') 161 161 $Output .= 'Člen týmu: <a href="team/?action=team&id='.$UserLine['Team'].'"><strong>'.$UserLine['TeamName'].'</strong></a><br />'; … … 175 175 } 176 176 177 178 177 $Output .= '<br /><fieldset><legend>Text profilu:</legend>'.str_replace("\n", '<br/>', $UserLine['Info']).'</fieldset><br/>'; 179 178 180 179 $Output .= '<table class="Home"><tr>'. 181 182 183 180 '<td>'.$this->ShowLastTranslated().'</td>'. 181 '<td>'.$this->ExportList().'</td>'. 182 '</tr></table>'; 184 183 $Output .= '<br />'.$this->ShowLastForum().'<br />'; 185 184 if($this->System->User->Licence(LICENCE_MODERATOR)) … … 224 223 'Email: <strong>'.$UserLine['Email'].'</strong><br />'; 225 224 $Output .= '<br/><form action="user.php" method="post"><div>'. 226 227 228 229 230 231 232 233 234 235 236 237 238 225 'Napsat E-mail:'. 226 '<input type="text" name="email" value="'.$UserLine['Email'].'" /><br/>'. 227 'Předmět:'. 228 '<input type="text" name="subject" value="'.$this->System->Config['Web']['Title'].'" />'. 229 '<br />'. 230 '<textarea name="text" rows="20" cols="62">'. 231 ''."\n". 232 'S pozdravem '.$this->System->User->Name."\n". 233 '--------------------------------------------------------'."\n". 234 $this->System->Config['Web']['Title'].' '.$this->System->Config['Web']['Host'].$this->System->Link('/')."\n". 235 '</textarea><br/>'. 236 '<input type="submit" value="Odeslat" />'. 237 '</div></form></fieldset>'; 239 238 } 240 239 } else $Output .= ShowMessage('Uživatel nenalezen', MESSAGE_CRITICAL); -
trunk/Modules/User/UserList.php
r825 r826 1 1 <?php 2 3 include_once(dirname(__FILE__).'/../../img_level.php');4 2 5 3 class PageUserList extends Page … … 8 6 { 9 7 $this->Title = T('Translators'); 10 ImgLevelUpdate();11 12 8 $Output = ''; 13 9 if(array_key_exists('search', $_GET)) $_SESSION['search'] = $_GET['search'];
Note:
See TracChangeset
for help on using the changeset viewer.