Changeset 70 for trunk


Ignore:
Timestamp:
Feb 6, 2009, 9:20:10 AM (16 years ago)
Author:
george
Message:
  • Odstraněno: Systém pro známkování překladů se ukázal jako nefunkční při malém počtu uživatelů. Byl kompletně odebrán a hlasovací tabulky byly odstraněny. Nahrazen byl systémem výběru překladů od uživatelů a určení jejich priority pořadím.
Location:
trunk
Files:
4 added
3 deleted
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/TranslationList.php

    r67 r70  
    9494    <th><a href="?group='.$GroupId.'&amp;action='.$address.'&amp;order='.$TranslationTree[$GroupId]['Items'][0]['Column'].'&amp;desc='.$desc.'">Název</a></th>');
    9595  if ($address == 'selection') echo('<th><a href="?group='.$GroupId.'&amp;action='.$address.'&amp;order=CountQuests&amp;desc='.$desc.'">Výskyt</a></th>');
    96   else if($address <> 'notran') echo('<th><a href="?group='.$GroupId.'&amp;action='.$address.'&amp;order=user&amp;desc='.$desc.'">Uživatel</a></th>
    97     <th><a href="?group='.$GroupId.'&amp;action='.$address.'&amp;order=vote&amp;desc='.$desc.'">Známka</a></th>
    98     <th><a href="?group='.$GroupId.'&amp;action='.$address.'&amp;order=CountVote&amp;desc='.$desc.'">Počet hlasování</a></th>');
     96  else if($address <> 'notran') echo('<th><a href="?group='.$GroupId.'&amp;action='.$address.'&amp;order=user&amp;desc='.$desc.'">Uživatel</a></th>');
    9997  echo('</tr>');
    10098   
     
    108106      <td>'.htmlspecialchars($Line[$TranslationTree[$GroupId]['Items'][0]['Column']]).'</td>');
    109107    if($address == 'selection') echo('<td>'.$Line['CountQuest'].'</td>');
    110         else if($address <> 'notran') echo('<td>'.$Line['User'].'</td>
    111       <td>'.substr($Line['Vote'], 0, 4).'</td>
    112       <td>'.$Line['CountVote'].'</td>');
     108        else if($address <> 'notran') echo('<td>'.$Line['User'].'</td>');
    113109    echo('</tr>');
    114110  }
     
    175171}
    176172
    177 if($Action == 'notvote')
    178 {
    179   echo('<a title="Zobrazit texty podle vlastního filtru" href="?group='.$GroupId.'&amp;action=filter">Filtr textů</a> ->
    180     <a title="Zatím neznámkované texty" href="?group='.$GroupId.'&amp;action=notvote">Neznámkované texty</a><br /><br />');
    181 
    182   WritePages('?group='.$GroupId.'&amp;action=notvote', ' WHERE Language <> 0 AND '.$Table.'.Complete = 1 AND User <> '.$_SESSION['UserID'].' AND
    183     NOT EXISTS(SELECT 1 FROM '.$Table.'_vote WHERE IDuser = '.$_SESSION['UserID'].' AND TextId= '.$Table.'.ID)');
    184 
    185   WriteQuests('SELECT *, (SELECT user.user FROM user WHERE user.id = '.$Table.'.user) as User
    186     FROM '.$Table.'  WHERE Language <> 0 AND '.$Table.'.Complete = 1 AND User <> '.$_SESSION['UserID'].' AND
    187     NOT EXISTS(SELECT 1 FROM '.$Table.'_vote WHERE IDuser = '.$_SESSION['UserID'].' AND TextId = '.$Table.'.ID)', $_SESSION['limitx'].','.$_SESSION['limity'], 'notvote');
    188 }
    189 
    190173if($Action == 'Translate')
    191174{
     
    228211  WriteQuests('SELECT *, (SELECT user.user FROM user WHERE user.id = '.$Table.'.user) as User FROM '.$Table.' Where '.$WhereUsers, '', 'users');
    229212}
    230 
    231 if($Action == 'byvote')
    232 {
    233   echo('<a title="Zobrazit texty podle vlastního filtru" href="?group='.$GroupId.'&amp;action=filter">Filtr textů</a> ->
    234     <strong>Vypsání podle známky</strong><br /><br />');
    235        
    236   $SingVote = $_POST['SingVote'];
    237   $SingNumberVote = $_POST['SingNumberVote'];
    238   $Vote = $_POST['Vote'];
    239   $NumberVote = $_POST['NumberVote'];
    240        
    241   WriteQuests('SELECT *, (SELECT user.user FROM user WHERE user.id = '.$Table.'.user) as User
    242     FROM '.$Table.' WHERE Vote '.$SingVote.' '.$Vote.' AND CountVote '.$SingNumberVote.' '.$NumberVote, '', 'users');
    243 }
    244      
     213     
    245214if($Action == 'search')
    246215{
     
    251220    OR `entry` LIKE "%'.$Search.'%"
    252221    OR `Language` LIKE "%'.$Search.'%"
    253     OR `Vote` LIKE "%'.$Search.'%"
    254222    OR `User` LIKE "%'.$Search.'%"
    255223    OR `Complete` LIKE "%'.$Search.'%"';
     
    285253          <td>Nedokončené texty přihlášeného uživatele</td></tr>
    286254          <tr><td><a title="Přeložené texty přihlášeného uživatele" href="?group='.$GroupId.'&amp;action=my">Moje překlady</a></td>
    287           <td>Přeložené texty přihlášeného uživatele</td></tr>
    288           <tr><td><a title="Zatím neznámkované překlady" href="?group='.$GroupId.'&amp;action=notvote">Neznámkované překlady</a></td>
    289           <td>Zatím neznámkované překlady</td></tr>');
     255          <td>Přeložené texty přihlášeného uživatele</td></tr>');
    290256    echo('<tr><td><a title="Nezkontrolované překlady" href="?group='.$GroupId.'&amp;action=nocheck">Nezkontrolované překlady</a></td></tr>');
    291257    echo('<tr><td><a title="Zkontrolované překlady" href="?group='.$GroupId.'&amp;action=check">Zkontrolované překlady</a></td></tr>');
     
    306272    Vybrat více uživatelů můžete pomocí CTRL+click</td></tr>');
    307273
    308   echo('<tr><td>
    309     <form action="?group='.$GroupId.'&amp;action=byvote" method="post">
    310     Počet hlasů: <br />
    311     <input type="radio" name="SingNumberVote" value="=" checked="true" title="Rovná se &quot;=&quot;" />
    312     <input type="radio" name="SingNumberVote" value=">" checked="true" title="Je větší než &quot;>&quot;" />
    313     <input type="radio" name="SingNumberVote" value="<" checked="true" title="Je menší než &quot;<&quot;" />
    314     <input type="text" name="NumberVote" value="3" size="1" /><br />
    315     Známka: <br />
    316     <input type="radio" name="SingVote" value="=" checked="true" title="Rovná se &quot;=&quot;" /> 
    317     <input type="radio" name="SingVote" value=">" checked="true" title="Je větší než &quot;>&quot;" />
    318     <input type="radio" name="SingVote" value="<" checked="true" title="Je menší než &quot;<&quot;" />
    319     <input type="text" name="Vote" value="3" size="1" /><br />
    320     <input type="submit" value="Vypsat"></form>
    321     </td><td>Zobrazit podle známky</td></tr>');
    322        
    323274  echo('<tr><td><form action="?group='.$GroupId.'&amp;action=search" method="post">
    324275    <input type="text" name="search" size="8" />
  • trunk/action.php

    r67 r70  
    8484}
    8585
    86 if($Action == 'vote')
    87 {
    88   $TextID = $_GET['ID'];
    89   $vote = $_GET['vote'];
    90   $IDuser = $_SESSION['UserID'];
    91    
    92   if(($vote > 5) OR ($vote < 1)) die('špatná známka');
    93    
    94   $Line = mysql_fetch_row($Database->SQLCommand('SELECT * FROM '.$Table.'_vote WHERE IDuser = '.$IDuser.' AND TextId = '.$TextID));
    95   if((!$Line) and (Licence(LICENCE_USER)))
    96   { 
    97     $Line = mysql_fetch_array($Database->SQLCommand('SELECT Vote,CountVote FROM '.$Table.' WHERE ID='.$TextID));
    98     $CountVote = $Line['CountVote'] + 1;
    99     $OldVote = $Line['Vote'] * $Line['CountVote'];
    100     $NewVote = ($OldVote + $vote) / $CountVote;
    101      
    102     $Database->SQLCommand('UPDATE '.$Table.' SET Vote = '.$NewVote.', CountVote = '.$CountVote.' WHERE ID = '.$TextID);
    103    
    104     $Database->SQLCommand('INSERT INTO `'.$Table.'_vote` ( `TextId` , `IDuser` , `vote` ) VALUES ( '.$TextID.', '.$IDuser.', '.$vote.')');
    105     echo('Hlas byl uložen! Hlasoval jste: '.$vote.'<br /> Nyní je známka překladu '.$NewVote);   
    106    
    107     WriteLog('Uživatel hlasoval: '.$vote.'! Nyní je známka překladu (<a href="form.php?group='.$GroupID.'&amp;ID='.$TextID.'">'.$TextID.'</a>): '.$NewVote, 5);
    108   } else echo('Již jste hlasoval nebo nemůžete hlasovat!');
    109 }
    110 
    11186ShowFooter();     
    11287
  • trunk/form.php

    r67 r70  
    4242  }
    4343   
    44   if($Line['Language'] <> 0)
    45   {
    46     echo('Známka překladu: <b>'.$Line['Vote'].'</b><br />');
    47   }   
    48    
    49   if(Licence(LICENCE_USER) and ($LineUser['ID'] <> $_SESSION['UserID']) and ($Line['Language'] <> 0))
    50   {
    51     $LineVote = mysql_fetch_array($Database->SQLCommand('SELECT * FROM '.$Table.'_vote WHERE IDuser = '.$_SESSION['UserID'].' AND TextId = '.$TextID));
    52     if(!$LineVote)
    53         {
    54       echo(' Hodnotit text: ');
    55       for($i = 1; $i < 6; ++$i)   
    56         echo('<a href="action.php?group='.$GroupId.'&amp;vote='.$i.'&amp;ID='.$TextID.'">'.$i.'</a> ');
    57       echo(' bodů (5 nejlepší)');
    58     } else
    59         {
    60           echo(' Již jsi hlasoval: '.$LineVote['vote']);
    61         } 
    62     echo('<br />');
    63   }
    64  
    6544  // kontrolování textů 
    6645  $ID_translation = $TextID;
  • trunk/includes/global.php

    r67 r70  
    104104    {
    105105      echo('&nbsp;<a title="Nedokončené překlady" href="TranslationList.php?group='.$Group['Id'].'&amp;action=mydevelop">Rozepsané</a><br />
    106         &nbsp;<a title="Všechny překlady, které jste přeložil" href="TranslationList.php?group='.$Group['Id'].'&amp;action=my">Vlastní</a><br />
    107         &nbsp;<a title="Překlad, které bych měl oznámkovat" href="TranslationList.php?group='.$Group['Id'].'&amp;action=notvote">Neznámkované</a><br />');
     106        &nbsp;<a title="Všechny překlady, které jste přeložil" href="TranslationList.php?group='.$Group['Id'].'&amp;action=my">Vlastní</a><br />');
    108107    }
    109108    if(Licence(LICENCE_ADMIN)) 
  • trunk/save.php

    r67 r70  
    3333  if(!$Line)
    3434  {
    35         $Columns = '`entry`, `Language` , `User` , `Complete` , `Take` , `Vote` , `CountVote`';
    36         $Values = $entry.','.$Language.','.$UserID.','.$complete.','.$TextID.', 3 ,1';
     35        $Columns = '`entry`, `Language` , `User` , `Complete` , `Take`';
     36        $Values = $entry.','.$Language.','.$UserID.','.$complete.','.$TextID;
    3737        foreach($TranslationTree[$GroupId]['Items'] as $GroupItem)
    3838        {
     
    5353        foreach($TranslationTree[$GroupId]['Items'] as $GroupItem)
    5454          $sql .= ', `'.$GroupItem['Column'].'`="'.@$_POST[$GroupItem['Column']].'"';
    55         $sql .= ', `Language` = '.$Language.', `Vote` = 3, `CountVote` = 1, admin_check = 0
     55        $sql .= ', `Language` = '.$Language.', admin_check = 0
    5656        WHERE ID = '.$TextID.' AND Language <> 0';
    5757        //echo($sql);
     
    6060    echo('Změny v překladu: <a href="form.php?group='.$GroupId.'&amp;ID='.$TextID.'">'.$TextID.'</a> uloženy!<br />');
    6161    WriteLog('Změny v překladu: '.$entry.' uloženy! <a href="form.php?group='.$GroupId.'&amp;ID='.$TextID.'">'.$TextID.'</a>', 1);
    62     $Database->SQLCommand('DELETE FROM `'.$Table.'_vote` WHERE `TextId` = '.$TextID);
    6362    $type_translation = 1;
    6463    $ID_translation = $TextID;
  • trunk/sql/text_table_init_structure.sql

    r64 r70  
    1717) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
    1818
    19 CREATE TABLE IF NOT EXISTS `text_vote` (
    20   `ID` int(11) NOT NULL auto_increment,
    21   `TextId` int(11) NOT NULL,
    22   `IDuser` int(11) NOT NULL,
    23   `vote` int(11) NOT NULL,
    24   PRIMARY KEY  (`ID`),
    25   KEY `IDquest` (`TextId`),
    26   KEY `IDuser` (`IDuser`)
    27 ) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
  • trunk/user.php

    r67 r70  
    3131    if($Group['TablePrefix'] != '')
    3232          $Query .= '(SELECT count(*) FROM `'.$Group['TablePrefix'].'` WHERE User = '.$_GET['user'].' AND User <> 0 AND Complete = 1) + ';
    33   $Query .= '0) as NumberTranslate, (';
    34   foreach($TranslationTree as $Group)
    35     if($Group['TablePrefix'] != '')
    36       $Query .= 'IFNULL((SELECT sum(Vote) AS Vote FROM `'.$Group['TablePrefix'].'` WHERE User = '.$_GET['user'].' AND Complete = 1), 0) + ';
    37   $Query .= '0) / (';
    38   foreach($TranslationTree as $Group)
    39     if($Group['TablePrefix'] != '')
    40           $Query .= '(SELECT count(Vote) AS Vote FROM `'.$Group['TablePrefix'].'` WHERE User = '.$_GET['user'].' AND Complete = 1) +';
    41   $Query .= '0) AS Vote FROM `user` WHERE ID = '.$_GET['user'];
     33  $Query .= '0) as NumberTranslate, FROM `user` WHERE ID = '.$_GET['user'];
    4234  $LineUser = mysql_fetch_array($Database->SQLCommand($Query));
    4335   
     
    4840  echo('Poslední IP: <b>'.$LineUser['LastIP'].'</b><br />');
    4941  echo('Počet přeložených: <b>'.$LineUser['NumberTranslate'].'</b><br />');
    50   echo('Průměrná známka: <b>'.$LineUser['Vote'].'</b><br />');
    5142  echo('Email: <b>'.$LineUser['Email'].'</b><br />');
    5243  echo('<br />
  • trunk/userlist.php

    r67 r70  
    3030echo('<tr><th><a href="?Order=user&amp;Desc='.$desc.'">Jméno</a></th>
    3131  <th><a href="?Order=NumberTranslate&amp;Desc='.$desc.'" title="Počet přeložených textů">Přeložených</a></th>
    32   <th><a href="?Order=Vote&amp;Desc='.$desc.'" title="Průměrná známka textů">Hodnocení</a></th>
    3332  <th><a href="?Order=GM&amp;Desc='.$desc.'">Oprávnění</a></th>
    3433  <th><a href="?Order=LastLogin&amp;Desc='.$desc.'">Poslední připojení</a></th></tr>');
     
    3837  if($Group['TablePrefix'] != '')
    3938    $Query .= '(SELECT count(*) FROM `'.$Group['TablePrefix'].'` WHERE (User = user.ID) AND (Complete = 1) AND (Language <> 0)) + ';
    40 $Query .= '0) as NumberTranslate, (';
    41 foreach($TranslationTree as $Group)
    42   if($Group['TablePrefix'] != '')
    43     $Query .= 'IFNULL((SELECT sum(Vote) AS Vote FROM `'.$Group['TablePrefix'].'` WHERE (User = user.ID) AND (Complete = 1) AND (Language <> 0)), 0) + ';
    44 $Query .= '0) / (';
    45 foreach($TranslationTree as $Group)
    46   if($Group['TablePrefix'] != '')
    47     $Query .= '(SELECT count(Vote) AS Vote FROM `'.$Group['TablePrefix'].'` WHERE (User = user.ID) AND (Complete = 1) AND (Language <> 0)) + ';
    48 $Query .= '0) AS Vote FROM `user` ORDER BY '.$order.' '.$desc.' LIMIT '.($_SESSION['Page'] - 1) * $Config['Web']['ItemsPerPage'].','.$Config['Web']['ItemsPerPage'];
     39$Query .= '0) as NumberTranslate FROM `user` ORDER BY '.$order.' '.$desc.' LIMIT '.($_SESSION['Page'] - 1) * $Config['Web']['ItemsPerPage'].','.$Config['Web']['ItemsPerPage'];
    4940$ID = $Database->SQLCommand($Query);
    5041while($Line = mysql_fetch_array($ID))
     
    5647    echo('<tr><td>'.$Name.'</td>
    5748      <td style="text-align: center;">'.$Line['NumberTranslate'].'</td>
    58       <td style="text-align: center;">'.substr($Line['Vote'], 0, 4).'</td>
    5949      <td>'.$Moderators[$Line['GM']].'</td>
    6050      <td>'.$Line['LastLogin'].'</td></tr>');
Note: See TracChangeset for help on using the changeset viewer.