Changeset 404 for trunk/img_level.php


Ignore:
Timestamp:
Mar 24, 2010, 8:43:02 AM (15 years ago)
Author:
george
Message:
  • Opraveno: Chybějící SQL uvozovky ve funkci výpočtu XP překladatelů.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/img_level.php

    r365 r404  
    66$xp_from_word = 1;
    77$index_level = 100;
    8 $from_diakrit = 3; //zvýšené xp za slovo s diakritikou
     8$from_diakrit = 3; // zvýšené xp za slovo s diakritikou
    99$FontFile = 'images/FRIZQT__.ttf';
    1010
    11 function CheckDiakrit($word)
     11function CheckDiakrit($Word)
    1212{
    13   $result = false;
    14   $Diakrit = Array("á","č","ď","é","ě","í","ľ","ň","ó","ř","š","ť","ú",
     13  $Result = false;
     14  $Diakrit = array("á","č","ď","é","ě","í","ľ","ň","ó","ř","š","ť","ú",
    1515  "ů","ý","ž","Á","Č","Ď","É","Ě","Í","Ľ","Ň","Ó","Ř","Š","Ť","Ú","Ů","Ý","Ž");
    1616  for($i = 0; $i < count($Diakrit); $i = $i + 1)
    1717  {
    18     if(strpos($word, $Diakrit[$i]) <> false)
    19     {
    20       $result = true;
    21     }
     18    if(strpos($Word, $Diakrit[$i]) <> false)
     19      $Result = true;
    2220  }
    23   return($result);
     21  return($Result);
    2422}
    2523
     
    5755}
    5856
    59 function GetXPFromTranslation($user_ID)
     57function GetXPFromTranslation($UserId)
    6058{
    6159  global $Database, $TranslationTree, $xp_from_word, $from_diakrit;
     60 
    6261  $xp = 0;
    63 
    6462  foreach($TranslationTree as $Group)
    65   { //překladové skupiny
     63  {
    6664    if($Group['TablePrefix'] != '')
    6765    {
    68       $groupby = 'GROUP BY';
     66      $GroupBy = 'GROUP BY ';
    6967      foreach($TranslationTree[$Group['Id']]['Items'] as $Index => $TextItem)
    7068      { 
    71         if($groupby == 'GROUP BY') $groupby .= ' '.$TextItem['Column'];
    72           else $groupby .= ', '.$TextItem['Column'];
     69         $GroupBy .= '`'.$TextItem['Column'].'`, ';
    7370      }
    74       $IDtran = $Database->SQLCommand('SELECT * FROM `'.$Group['TablePrefix'].'` WHERE `User` = '.$user_ID.' AND `Complete` = 1 '.$groupby);
     71      $GroupBy = substr($GroupBy, 0, -2);
     72     
     73      $IDtran = $Database->SQLCommand('SELECT * FROM `'.$Group['TablePrefix'].'` WHERE (`User` = '.$UserId.') AND (`Complete` = 1) '.$GroupBy);
    7574      while($Line = mysql_fetch_array($IDtran))
    76       {   //jednotlivé překlady
    77         $LineComparison = mysql_fetch_assoc($Database->SQLCommand('SELECT * FROM `'.$Group['TablePrefix'].'` WHERE ID = '.$Line['Take']));
    78         $xp_translation = 0;   //mazání posledního
     75      {   
     76        $DbResult = $Database->SQLCommand('SELECT * FROM `'.$Group['TablePrefix'].'` WHERE `ID` = '.$Line['Take']);
     77        $LineComparison = mysql_fetch_assoc($DbResult);
     78        $xp_translation = 0;   
    7979        $translated = true;
    8080        foreach($TranslationTree[$Group['Id']]['Items'] as $Index => $TextItem)
    81         {          //jednotlivé položky překladu
     81        {
    8282          if(($Line[$TextItem['Column']] <> $LineComparison[$TextItem['Column']]) and (strlen($Line[$TextItem['Column']]) > (strlen($LineComparison[$TextItem['Column']]) * 0.5)))
    83           {  //zda není stejný, zda je aspoň dlouhý jako polovina
    84             $TextArr = explode(' ',$Line[$TextItem['Column']]);
    85             for ($i = 0; $i < count($TextArr); $i = $i + 1)
    86             {  //pro každé slovo
    87               if(CheckDiakrit($TextArr[$i])) $indikator = $from_diakrit;
     83          { 
     84            $TextArr = explode(' ', $Line[$TextItem['Column']]);
     85            foreach($TextArr as $Word)
     86            { 
     87              if(CheckDiakrit($Word)) $indikator = $from_diakrit;
    8888                else $indikator = 1;
    8989              $xp_translation = $xp_translation + ($indikator * $xp_from_word);
     
    9494          }
    9595        }       
    96         if($translated) $xp = $xp + $xp_translation;   //přičítání XP za celý překlad, pokud je celý přeložený
     96        if($translated) $xp = $xp + $xp_translation;   // Přičítání XP za celý překlad, pokud je celý přeložený
    9797      }
    9898    }
    9999  }
    100   return $xp;
     100  return($xp);
    101101}
    102102
Note: See TracChangeset for help on using the changeset viewer.