public function FindNewSkins() { $skin_dir_way = MCR_ROOT . 'instruments/sp2/upload/'; if (!is_dir($skin_dir_way)) { $this->answer .= 'Папка загрузки новых скинов не существует <br />'; return false; } $skin_dir = opendir($skin_dir_way); @ini_set("max_execution_time", 0); $skin_black = 0; $skin_exist = 0; $skin_add = 0; $skin_error = 0; $start_time = microtime(true); $flush_trg = false; while ($filename = readdir($skin_dir)) { unset($new_skin); unset($result); if (microtime(true) - $start_time > 2) { if (!$flush_trg) { echo ' Loading...'; $flush_trg = true; } echo '.'; flush(); $start_time = microtime(true); } if ($filename == '.' or $filename == '..' or $filename == '.htaccess') { continue; } $new_skin = new SPItem(); $result = $new_skin->Create($skin_dir_way . $filename, 2, 5000, 24, false, 'file'); if ($result == 3) { $skin_black++; } elseif ($result < 0) { $skin_exist++; } elseif ($result == 0) { $skin_add++; } else { //$this->answer .= $result . '['.$skin_dir . $filename.']' .'<br />'; $skin_error++; } } closedir($skin_dir); $this->answer .= 'Добавление файлов завершено. <br /> Добавлены: ' . $skin_add . ' Проигнорированы: Черный список: ' . $skin_black . ' Дубликаты: ' . $skin_exist . ' Ошибки: ' . $skin_error; }
} else { aExit(4); } break; case 'add': if (!$user->getPermission('sp_upload') or !$config['sp_upload'] and !$user_admin) { exit; break; } $max_ratio = $user->getPermission('max_ratio'); $max_fsize = $user->getPermission('max_fsize'); $max_ratio_text = 64 * $max_ratio . 'x' . 32 * $max_ratio; $skin_gender = !isset($_POST['skin_gender']) ? 2 : (int) $_POST['skin_gender']; $skin_check = empty($_POST['skin_check']) ? false : true; $sp_item = new SPItem(); $result = $sp_item->Create('skin_upload', $skin_gender, $max_fsize, $max_ratio, $skin_check); $error = ''; if ($result < 0) { $error = 'Скин уже есть в базе. <a href="index.php?mode=skinposer&cid=' . $result * -1 . '">Перейти</a>'; } else { switch ($result) { case 1: $error = 'Ошибка при загрузке файла. (Допустимый формат файла - png)'; break; case 3: $error = 'Скин занесен в блек-лист.'; break; case 4: $error = 'Размер файла превышает предельно допустимый. (' . $max_fsize . 'кб)'; break; case 5: