Ignore:
Timestamp:
Jun 18, 2013, 6:58:22 PM (11 years ago)
Author:
chronos
Message:
  • Upraveno: Uživatelská podpora přepracována na aplikační modul.
Location:
trunk/Modules/User
Files:
1 added
1 moved

Legend:

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

    r544 r547  
    11<?php
    22
    3 include('includes/global.php');
    4 
    5 $Output = '';
    6 if(array_key_exists('text', $_POST) and $User->Licence(LICENCE_ADMIN))
     3class PageUserProfile extends Page
    74{
    8   $Text = $_POST['text'];
    9   $Email = $_POST['email'];
    10   $Subject = $_POST['subject'];
    11   $Output = 'Email: <strong>'.$Email.'</strong><br />'.
    12     'Předmět: <strong>'.$Subject.'</strong><br />'.
    13     'Text: <strong>'.$Text.'</strong><br />';
    14    
    15   if(@mail($Email, $Subject, $Text, 'From: '.$Config['Web']['AdminEmail'].'\nReply-To: '.$Config['Web']['AdminEmail'].'\nX-Mailer: PHP/'))
    16   {
    17     $Output .= ShowMessage('Zpráva byla odeslána.');
    18   }
    19   else $Output .= ShowMessage('Nepodařilo se odesat E-mail.', MESSAGE_CRITICAL);
     5        function SendMail()
     6        {
     7                global $Config, $User;
     8       
     9                $Output = '';
     10                if(array_key_exists('text', $_POST))
     11                if($User->Licence(LICENCE_ADMIN))
     12                {
     13                        $Text = $_POST['text'];
     14                        $Email = $_POST['email'];
     15                        $Subject = $_POST['subject'];
     16                        $Output = 'Email: <strong>'.$Email.'</strong><br />'.
     17                                        'Předmět: <strong>'.$Subject.'</strong><br />'.
     18                                        'Text: <strong>'.$Text.'</strong><br />';
     19       
     20                        if(@mail($Email, $Subject, $Text, 'From: '.$Config['Web']['AdminEmail'].'\nReply-To: '.$Config['Web']['AdminEmail'].'\nX-Mailer: PHP/'))
     21                        {
     22                                $Output .= ShowMessage('Zpráva byla odeslána.');
     23                        }
     24                        else $Output .= ShowMessage('Nepodařilo se odesat E-mail.', MESSAGE_CRITICAL);
     25                } else $Output .= ShowMessage('Nemáte oprávnění', MESSAGE_CRITICAL);
     26                return($Output);
     27        }
     28       
     29        function ShowProfile()
     30        {
     31                global $User, $Config;
     32       
     33                $Output = '';
     34                $Query = 'SELECT `User`.`Name`, `UserTrace`.`LastLogin`, `UserTrace`.`LastIP`, '.
     35                                '`User`.`Email`, `UserTrace`.`UserAgent`, '.
     36                                '`User`.`TranslatedCount`, `User`.`Team`, `User`.`ID`, `User`.`Info`, '.
     37                                '`Team`.`Name` AS `TeamName`, `Language`.`Name` AS `LanguageName`, '.
     38                                '`ClientVersion`.`Version` AS `Version` FROM `User` '.
     39                                'LEFT JOIN `UserTrace` ON `UserTrace`.`User` = `User`.`Id` '.
     40                                'LEFT JOIN `Language` ON `Language`.`Id` = `User`.`Language` '.
     41                                'LEFT JOIN `Team` ON `Team`.`Id` = `User`.`Team` '.
     42                                'LEFT JOIN `ClientVersion` ON `ClientVersion`.`Id` = `User`.`PreferredVersion` '.
     43                                'WHERE `User`.`Id` = '.$_GET['user'];
     44                $DbResult = $this->Database->query($Query);
     45                $UserLine = $DbResult->fetch_array();
     46                 
     47                $Output .=
     48                '<h3>Překladatel '.$UserLine['Name'].'</h3>'.
     49                'Výchozí jazyk: <strong>'.$UserLine['LanguageName'].'</strong><br />'.
     50                'Výchozí verze klienta: <strong>'.$UserLine['Version'].'</strong><br />'.
     51                'Poslední připojení: <strong>'.$UserLine['LastLogin'].'</strong><br />'.
     52                'Počet přeložených: <a href="TranslationList.php?user='.$UserLine['ID'].'&amp;state=2&group=0" title="Zobrazit Všechny jeho přeložené texty"><strong>'.$UserLine['TranslatedCount'].'</strong></a><br />';
     53                if($UserLine['TeamName'] != '')
     54                        $Output .= 'Člen týmu: <a href="team.php?action=team&amp;id='.$UserLine['Team'].'"><strong>'.$UserLine['TeamName'].'</strong></a><br />';
     55                $Output .= '<fieldset><legend>Text profilu:</legend>'.str_replace("\n", '<br/>', $UserLine['Info']).'</fieldset><br/>';
     56       
     57                if($User->Licence(LICENCE_MODERATOR))
     58                {
     59                        $Output .= '<fieldset><legend>Moderování</legend>';
     60                        $Output .= 'Poslední IP: <strong>'.$UserLine['LastIP'].'</strong><br />'.
     61                                        'Prohlížeč: <strong>'.$UserLine['UserAgent'].'</strong><br />'.
     62                                        'Email: <strong>'.$UserLine['Email'].'</strong><br />';
     63                        $Output .= '<br/><form action="user.php" method="post"><div>'.
     64                                        'Napsat E-mail:'.
     65                                        '<input type="text" name="email" value="'.$UserLine['Email'].'" /><br/>'.
     66                                        'Předmět:'.
     67                                        '<input type="text" name="subject" value="'.$Config['Web']['Title'].'" />'.
     68                                        '<br />'.
     69                                        '<textarea name="text" rows="20" cols="62">'.
     70                                        ''."\n".
     71                                        'S pozdravem '.$User->Name."\n".
     72                                        '--------------------------------------------------------'."\n".
     73                                        $Config['Web']['Title'].' '.$Config['Web']['Host'].$this->System->Link('/')."\n".
     74                                        '</textarea><br/>'.
     75                                        '<input type="submit" value="Odeslat" />'.
     76                                        '</div></form></fieldset>';
     77                }
     78                return($Output);
     79        }
     80         
     81        function Show()
     82        {
     83                global $Config, $User;
     84                 
     85                $Output = $this->SendMail();
     86                if(array_key_exists('user', $_GET))
     87                {
     88                        $Output .= $this->ShowProfile();
     89                } else $Output .= ShowMessage('Nevybrán uživatel', MESSAGE_CRITICAL);
     90                return($Output);
     91        }       
    2092}
    21  
    22 function ShowProfile()
    23 {
    24         global $System, $User, $Config;
    25        
    26   $Output = '';
    27   $Query = 'SELECT `User`.`Name`, `UserTrace`.`LastLogin`, `UserTrace`.`LastIP`, '.
    28     '`User`.`Email`, `UserTrace`.`UserAgent`, '.
    29     '`User`.`TranslatedCount`, `User`.`Team`, `User`.`ID`, `User`.`Info`, '.
    30     '`Team`.`Name` AS `TeamName`, `Language`.`Name` AS `LanguageName`, '.
    31     '`ClientVersion`.`Version` AS `Version` FROM `User` '.
    32     'LEFT JOIN `UserTrace` ON `UserTrace`.`User` = `User`.`Id` '.
    33     'LEFT JOIN `Language` ON `Language`.`Id` = `User`.`Language` '.
    34     'LEFT JOIN `Team` ON `Team`.`Id` = `User`.`Team` '.
    35     'LEFT JOIN `ClientVersion` ON `ClientVersion`.`Id` = `User`.`PreferredVersion` '.
    36     'WHERE `User`.`Id` = '.$_GET['user'];
    37   $DbResult = $System->Database->query($Query);
    38   $UserLine = $DbResult->fetch_array();
    39    
    40   $Output .=
    41     '<h3>Překladatel '.$UserLine['Name'].'</h3>'.
    42     'Výchozí jazyk: <strong>'.$UserLine['LanguageName'].'</strong><br />'.
    43     'Výchozí verze klienta: <strong>'.$UserLine['Version'].'</strong><br />'.
    44     'Poslední připojení: <strong>'.$UserLine['LastLogin'].'</strong><br />'.
    45     'Počet přeložených: <a href="TranslationList.php?user='.$UserLine['ID'].'&amp;state=2&group=0" title="Zobrazit Všechny jeho přeložené texty"><strong>'.$UserLine['TranslatedCount'].'</strong></a><br />';
    46     if($UserLine['TeamName'] != '')
    47       $Output .= 'Člen týmu: <a href="team.php?action=team&amp;id='.$UserLine['Team'].'"><strong>'.$UserLine['TeamName'].'</strong></a><br />';
    48     $Output .= '<fieldset><legend>Text profilu:</legend>'.str_replace("\n", '<br/>', $UserLine['Info']).'</fieldset><br/>';
    49    
    50   if($User->Licence(LICENCE_MODERATOR))
    51   {   
    52         $Output .= '<fieldset><legend>Moderování</legend>';
    53         $Output .= 'Poslední IP: <strong>'.$UserLine['LastIP'].'</strong><br />'.
    54           'Prohlížeč: <strong>'.$UserLine['UserAgent'].'</strong><br />'.
    55         'Email: <strong>'.$UserLine['Email'].'</strong><br />';
    56         $Output .= '<br/><form action="user.php" method="post"><div>'.
    57 'Napsat E-mail:'.
    58 '<input type="text" name="email" value="'.$UserLine['Email'].'" /><br/>'.
    59 'Předmět:'.
    60 '<input type="text" name="subject" value="'.$Config['Web']['Title'].'" />'.
    61 '<br />'.
    62 '<textarea name="text" rows="20" cols="62">'.
    63 ''."\n".
    64 'S pozdravem '.$User->Name."\n".
    65 '--------------------------------------------------------'."\n".
    66 $Config['Web']['Title'].' '.$Config['Web']['Host'].$System->Link('/')."\n".
    67 '</textarea><br/>'.
    68 '<input type="submit" value="Odeslat" />'.
    69 '</div></form></fieldset>';
    70   }
    71   return($Output);
    72 }
    73        
    74 if(array_key_exists('user', $_GET))
    75 
    76         $Output .= ShowProfile();
    77 } else $Output .= ShowMessage('Nevybrán uživatel', MESSAGE_CRITICAL);
    78 
    79 ShowPage($Output);
    80 
    81 ?>
Note: See TracChangeset for help on using the changeset viewer.