Changeset 349 for trunk/img_level.php


Ignore:
Timestamp:
Mar 3, 2010, 10:37:40 AM (15 years ago)
Author:
george
Message:
  • Opraveno: Neprovádět prázdné SQL řádky při vykonávání exportu pro AoWoW.
  • Opraveno: Chyba použití globální proměné při generování obrázků XP překladatelů při zobzarení týmu. Nestandardně zde byl vkládán skript přes include uvnitř funkce, což zapříčinilo změnu globálních proměnných na lokální.
  • Upraveno: Doplněny SQL uvozovky v některých dotazech.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/img_level.php

    r302 r349  
    22
    33require_once('includes/global.php');
    4 
    5 if (array_key_exists('nothide', $_GET)) $nothide = true;
    6   else $nothide = false;
    7 if($nothide) ShowPage();
    8 
    9 $FontFile = 'images/FRIZQT__.ttf';
    104
    115// Nastavení
     
    137$index_level = 100;
    148$from_diakrit = 3; //zvýšené xp za slovo s diakritikou
     9$FontFile = 'images/FRIZQT__.ttf';
    1510
    1611function CheckDiakrit($word)
     
    2621    }
    2722  }
    28   return $result;
     23  return($result);
    2924}
    3025
    3126function CreateImg($prefix, $user, $xp)
    3227{
    33   global $index_level, $FontFile;
    34    
     28  global $index_level, $FontFile;   
     29 
    3530  if($xp > 0)
    3631  {
    37     $level = sqrt ($xp / $index_level);
     32    $level = sqrt($xp / $index_level);
    3833    $level = substr($level, 0, strpos($level, '.'));
    3934  } else $level = 0;
     
    106101}
    107102
    108 // Hlavní kod pro uživatele
    109 if($nothide) $ID = $Database->SQLCommand('SELECT ID,user FROM user');
    110   else $ID = $Database->SQLCommand('SELECT ID,user FROM user WHERE NeedUpdate = 1');
    111 while($LineUser = mysql_fetch_array($ID))
    112 {
    113   $xp = GetXPFromTranslation($LineUser['ID']); // Načítání XP
    114   $Database->SQLCommand('UPDATE user SET XP = '.$xp.' WHERE ID = '.$LineUser['ID']);  // Ukládání XP pro řazení
    115   CreateImg('user', $LineUser['user'], $xp);  // Vytváření obrázku
    116   if($nothide) echo('<img src="tmp/user/'.$LineUser['user'].'/level.png" /><br />');
     103function ImgLevelUpdate()
     104{
     105  global $Database;
     106
     107  // Hlavní kod pro uživatele
     108  $ID = $Database->SQLCommand('SELECT ID,user FROM user WHERE NeedUpdate = 1');
     109  while($LineUser = mysql_fetch_array($ID))
     110  {
     111    $xp = GetXPFromTranslation($LineUser['ID']); // Načítání XP
     112    $Database->SQLCommand('UPDATE user SET XP = '.$xp.' WHERE ID = '.$LineUser['ID']);  // Ukládání XP pro řazení
     113    CreateImg('user', $LineUser['user'], $xp);  // Vytváření obrázku
     114  }
     115
     116  // Hlavní kod pro překladatelské týmy
     117  $ID = $Database->SQLCommand('SELECT ID,name,(SELECT avg(XP) FROM user WHERE team = Team.Id) as average FROM Team WHERE ID IN (SELECT Team FROM user WHERE NeedUpdate = 1)');
     118  while($LineTeam = mysql_fetch_array($ID))
     119  {
     120    CreateImg('team', $LineTeam['name'], substr($LineTeam['average'], 0, strpos($LineTeam['average'],'.')));  //vytváření obrázku
     121  }
     122  $Database->SQLCommand('UPDATE user SET NeedUpdate = 0');
    117123}
    118124
    119 // Hlavní kod pro překladatelské týmy
    120 if($nothide) $ID = $Database->SQLCommand('SELECT ID,name,(SELECT avg(XP) FROM user WHERE team = Team.Id) as average FROM Team');
    121   else $ID = $Database->SQLCommand('SELECT ID,name,(SELECT avg(XP) FROM user WHERE team = Team.Id) as average FROM Team WHERE ID IN (SELECT Team FROM user WHERE NeedUpdate = 1)');
    122 while($LineTeam = mysql_fetch_array($ID))
     125function ImgLevelShow()
    123126{
    124   CreateImg('team', $LineTeam['name'], substr($LineTeam['average'], 0, strpos($LineTeam['average'],'.')));  //vytváření obrázku
    125   if($nothide) echo('<img src="tmp/team/'.$LineTeam['name'].'/level.png" /><br />');
     127  global $Database;
     128 
     129  // Hlavní kod pro uživatele
     130  $ID = $Database->SQLCommand('SELECT ID,user FROM user');
     131  while($LineUser = mysql_fetch_array($ID))
     132  {
     133    $xp = GetXPFromTranslation($LineUser['ID']); // Načítání XP
     134    $Database->SQLCommand('UPDATE user SET XP = '.$xp.' WHERE ID = '.$LineUser['ID']);  // Ukládání XP pro řazení
     135    CreateImg('user', $LineUser['user'], $xp);  // Vytváření obrázku
     136    echo('<img src="tmp/user/'.$LineUser['user'].'/level.png" /><br />');
     137  }
     138
     139  // Hlavní kod pro překladatelské týmy
     140  $ID = $Database->SQLCommand('SELECT ID,name,(SELECT avg(XP) FROM user WHERE team = Team.Id) as average FROM Team');
     141  while($LineTeam = mysql_fetch_array($ID))
     142  {
     143    CreateImg('team', $LineTeam['name'], substr($LineTeam['average'], 0, strpos($LineTeam['average'],'.')));  // Vytváření obrázku
     144    echo('<img src="tmp/team/'.$LineTeam['name'].'/level.png" /><br />');
     145  }
     146  $Database->SQLCommand('UPDATE user SET NeedUpdate = 0');
    126147}
    127 $Database->SQLCommand('UPDATE user SET NeedUpdate = 0');
    128 
    129 if($nothide) ShowFooter();     
    130148
    131149?>
Note: See TracChangeset for help on using the changeset viewer.