Исходная тема локализации: [Русский перевод] Medals_System_MOD
Тестируем, пишем и по возможности дорабатываем.
Код: Выделить всё
if ( sizeof($user_id) > 1 )
{
foreach ($this->uid as $user_id)
{
// Change usernames to ids
$sql = "SELECT user_id
FROM " . USERS_TABLE . "
WHERE username = {$this->uid}" ;
$result = $this->db->sql_query($sql);
$row = $this->db->sql_fetchrow($result);
$this->db->sql_freeresult($result);
$username[] = $row['user_id'] ;
}
}
$user_id
в коде - всегда integer
, измерять его длину не имеет смысла.$this->uid
- это идентификатор bbcode в сообщении о присвоении медали, каким образом , где и когда он превращается в массив идентификаторов пользователей - загадка.foreach
значение $user_id
, задуманное тут как массив, переопределяется в элемент совсем другого массива (или, исходя из сказанного выше - элемента строки) и таким образом исчезает.sql
запросе осуществляется поиск по имени пользователя {$this->uid}
- т.е. это строка, но снаружи она перебирается как массив идентификаторов пользователей, одновременно являясь идентификатором bbcode сообщения о выдаче награды.Код: Выделить всё
if ( is_array($user_id) && sizeof($user_id) > 1 )
Код: Выделить всё
while (list($medal_name, $data) = @each($rowset))
Код: Выделить всё
foreach ($rowset as $medal_name => $data)
Странно) но в темах все работает) без этого) поправлю на всякие