Changeset 825 for trunk/Modules


Ignore:
Timestamp:
Mar 1, 2015, 1:27:40 PM (10 years ago)
Author:
chronos
Message:
  • Added: Show user level and experience also on user profile page.
Location:
trunk/Modules/User
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Modules/User/Profile.php

    r816 r825  
    135135    $Output = '';
    136136    $Query = 'SELECT `User`.`Name`, `UserTrace`.`LastLogin`, `UserTrace`.`LastIP`, '.
    137         '`User`.`Email`, `UserTrace`.`UserAgent`, `User`.`PreferredVersion`, '.
    138         '`User`.`TranslatedCount`, `User`.`Team`, `User`.`ID`, `User`.`Info`, '.
    139         '`Team`.`Name` AS `TeamName`, `Language`.`Name` AS `LanguageName`, '.
    140         '`ClientVersion`.`Version` AS `Version` FROM `User` '.
    141         'LEFT JOIN `UserTrace` ON `UserTrace`.`User` = `User`.`Id` '.
    142         'LEFT JOIN `Language` ON `Language`.`Id` = `User`.`Language` '.
    143         'LEFT JOIN `Team` ON `Team`.`Id` = `User`.`Team` '.
    144         'LEFT JOIN `ClientVersion` ON `ClientVersion`.`Id` = `User`.`PreferredVersion` '.
    145         'WHERE `User`.`Id` = '.($_GET['user'] * 1);
     137      '`User`.`Email`, `UserTrace`.`UserAgent`, `User`.`PreferredVersion`, '.
     138      '`User`.`TranslatedCount`, `User`.`Team`, `User`.`ID`, `User`.`Info`, '.
     139      '`Team`.`Name` AS `TeamName`, `Language`.`Name` AS `LanguageName`, '.
     140      '`ClientVersion`.`Version` AS `Version`, `User`.`XP` FROM `User` '.
     141      'LEFT JOIN `UserTrace` ON `UserTrace`.`User` = `User`.`Id` '.
     142      'LEFT JOIN `Language` ON `Language`.`Id` = `User`.`Language` '.
     143      'LEFT JOIN `Team` ON `Team`.`Id` = `User`.`Team` '.
     144      'LEFT JOIN `ClientVersion` ON `ClientVersion`.`Id` = `User`.`PreferredVersion` '.
     145      'WHERE `User`.`Id` = '.($_GET['user'] * 1);
    146146    $DbResult = $this->Database->query($Query);
    147147    if($DbResult->num_rows > 0)
    148148    {
    149     $UserLine = $DbResult->fetch_array();
    150 
    151     $Output .=
    152     '<h3>Překladatel '.$UserLine['Name'].'</h3>'.
    153     'Výchozí jazyk: <strong>'.$UserLine['LanguageName'].'</strong><br />'.
    154     'Výchozí verze klienta: <a href="'.$this->System->Link('/client-version/?action=item&amp;id='.$UserLine['PreferredVersion']).'"><strong>'.$UserLine['Version'].'</strong></a><br />'.
    155     'Poslední připojení: <strong>'.HumanDateTime($UserLine['LastLogin']).'</strong><br />'.
    156     'Počet přeložených: <a href="TranslationList.php?user='.$UserLine['ID'].'&amp;state=2&amp;group=0" title="Zobrazit Všechny jeho přeložené texty"><strong>'.$UserLine['TranslatedCount'].'</strong></a><br />';
    157     if($UserLine['TeamName'] != '')
    158       $Output .= 'Člen týmu: <a href="team/?action=team&amp;id='.$UserLine['Team'].'"><strong>'.$UserLine['TeamName'].'</strong></a><br />';
    159     //user tags
    160     $Query = 'SELECT * FROM `UserTag` '.
    161      'LEFT JOIN `UserTagType` ON `UserTagType`.`ID` = `UserTag`.`UserTagType` '.
    162      'WHERE `User` = '.($_GET['user'] * 1);
    163     $DbResult = $this->Database->query($Query);
    164     if ($DbResult->num_rows != 0) {
    165       $Output .= 'Překladatel se řídí těmito pravidly:<br />';
    166       $Output .= '<ul>';
    167       while ($UserTag = $DbResult->fetch_array()) {
    168         $Output .= ' <li>'.$UserTag['Text'].'</li>';
    169       }
    170       $Output .= '</ul>';
    171     }
     149      $UserLine = $DbResult->fetch_array();
     150
     151      $XP = GetLevelMinMax($UserLine['XP']);
     152      $Output .=
     153        '<h3>Překladatel '.$UserLine['Name'].'</h3>'.
     154        'Výchozí jazyk: <strong>'.$UserLine['LanguageName'].'</strong><br />'.
     155        'Výchozí verze klienta: <a href="'.$this->System->Link('/client-version/?action=item&amp;id='.$UserLine['PreferredVersion']).'"><strong>'.$UserLine['Version'].'</strong></a><br />'.
     156        'Poslední připojení: <strong>'.HumanDateTime($UserLine['LastLogin']).'</strong><br />'.
     157        'Počet přeložených: <a href="TranslationList.php?user='.$UserLine['ID'].'&amp;state=2&amp;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/>';
     160      if($UserLine['TeamName'] != '')
     161        $Output .= 'Člen týmu: <a href="team/?action=team&amp;id='.$UserLine['Team'].'"><strong>'.$UserLine['TeamName'].'</strong></a><br />';
     162
     163      // User tags
     164      $Query = 'SELECT * FROM `UserTag` '.
     165        'LEFT JOIN `UserTagType` ON `UserTagType`.`ID` = `UserTag`.`UserTagType` '.
     166        'WHERE `User` = '.($_GET['user'] * 1);
     167      $DbResult = $this->Database->query($Query);
     168      if ($DbResult->num_rows != 0) {
     169        $Output .= 'Překladatel se řídí těmito pravidly:<br />';
     170        $Output .= '<ul>';
     171        while ($UserTag = $DbResult->fetch_array()) {
     172          $Output .= ' <li>'.$UserTag['Text'].'</li>';
     173        }
     174        $Output .= '</ul>';
     175      }
    172176
    173177
     
    233237          '<input type="submit" value="Odeslat" />'.
    234238          '</div></form></fieldset>';
    235     }
     239      }
    236240    } else $Output .= ShowMessage('Uživatel nenalezen', MESSAGE_CRITICAL);
    237241    return($Output);
  • trunk/Modules/User/UserList.php

    r816 r825  
    5050      array('Name' => 'XP', 'Title' => T('Level')),
    5151      array('Name' => 'XP', 'Title' => T('Experience')),
    52       //array('Name' => 'GM', 'Title' => T('GM')),
    5352      array('Name' => 'LastLogin', 'Title' => T('Last logged in')),
    5453      array('Name' => 'RegistrationTime', 'Title' => T('Registration time')),
     
    5857
    5958    $Query = 'SELECT `User`.`ID`, `User`.`Name`, `LastLogin`, `GM`, `XP`, `TranslatedCount`, `RegistrationTime` '.
    60         'FROM `User` '.
    61         'LEFT JOIN `UserTrace` ON `UserTrace`.`User` = `User`.`Id` '.
    62         'WHERE 1'.$SearchQuery.$TeamFilter.$Order['SQL'].$PageList['SQLLimit'];
     59      'FROM `User` '.
     60      'LEFT JOIN `UserTrace` ON `UserTrace`.`User` = `User`.`Id` '.
     61      'WHERE 1'.$SearchQuery.$TeamFilter.$Order['SQL'].$PageList['SQLLimit'];
    6362
    6463    $DbResult = $this->Database->query($Query);
     
    6766      $XP = GetLevelMinMax($Line['XP']);
    6867      $Output .= '<tr><td><a href="user.php?user='.$Line['ID'].'">'.$Line['Name'].'</a></td>'.
    69           '<td style="text-align: center;"><a href="TranslationList.php?user='.$Line['ID'].'&amp;group=0&amp;state=2" title="Zobrazit Všechny jeho přeložené texty">'.$Line['TranslatedCount'].'</a></td>'.
    70           '<td>'.$XP['Level'].'</td>'.
    71           '<td>'.ProgressBar(150, round($XP['XP'] / $XP['MaxXP'] * 100, 2), $XP['XP'].' / '.$XP['MaxXP']).'</td>'.
    72           //<td>'.$Moderators[$Line['GM']].'</td>
    73       '<td>'.HumanDate($Line['LastLogin']).'</td>'.
    74       '<td>'.HumanDate($Line['RegistrationTime']).'</td></tr>';
     68        '<td style="text-align: center;"><a href="TranslationList.php?user='.$Line['ID'].'&amp;group=0&amp;state=2" title="Zobrazit Všechny jeho přeložené texty">'.$Line['TranslatedCount'].'</a></td>'.
     69        '<td>'.$XP['Level'].'</td>'.
     70        '<td>'.ProgressBar(150, round($XP['XP'] / $XP['MaxXP'] * 100, 2), $XP['XP'].' / '.$XP['MaxXP']).'</td>'.
     71        '<td>'.HumanDate($Line['LastLogin']).'</td>'.
     72        '<td>'.HumanDate($Line['RegistrationTime']).'</td></tr>';
    7573    }
    7674    $Output .= '</table>'.
Note: See TracChangeset for help on using the changeset viewer.